Steamvr Compositor Issue/s

SteamVR Compositor Is Not Available (400)
After receiving a HDK 1.4 kit on Thursday it took me till late on Friday to get drivers installed with no problem devices showing in device manager.  It took another twelve hours + of applying workarounds, reinstalling drivers and searching the interweb to work out i had to try rolling back from 1197 to 1194 core and steamvr-osvr drivers to improve chances of a steamvr title to launch.  My HDK display appeared to die on Saturday evening and spent most of Sunday to work out my hdk was stuck in direct mode and not dead.
The furthest in set up process i have been is launching steamvr and being asked to switch to direct mode but steamvr compositor can not start when steamvr restarts in direct mode.   Using 1197 runtime and steamvr-osvr drivers i managed to go through room setup before being asked to switch to direct mode.
Describe the issue you've encountered. What is the exepected and actual behavior? What steps have you tried to fix the problem?
osvr audio device showing as problem device i.e. unusable, not started in device manager.   windows devices and devices and printers showing no ssues with displays but nvidia control panel sees hdk display as using portrait.  selecting landscape helps with steamvr issues/errors (400 and 109).  To help with steamvr setup and osvr complaining about no beacon configuration done i used https://www.youtube.com/watch?v=MObPn_U4IYg but allthough the file appeared to save osvr could never use it.   The other bugs still needing workarounds applied are described well in this video.  https://www.youtube.com/watch?v=1ZaboSUUpcI I do not expect drivers to be an issue on modern operating systems.   Killing hardware makes the drivers not fit for purpose.
Steps to reproduce the problem
How can the problem be reproduced?
Plug in and power up HDK
Launch OSVR client
Start Steam
Start SteamVR
Switch to direct mode using steamvr ui
Can not get passed "compositor is not running (400)" dialogue.  Clicking the "launch compositor" button does nothing.  If i start steamvr with hdk in extended mode after deleting steamvr.vrsettings the compositor (white meshed environment) is visible in hdk display.    The compositor never loads after switching to direct mode.
The enable/disable direct mode switches that come with osvr runtime work as expected the majority of the time.  Roughly 3 out of 10 times get unexpected behaviour ranging from appearing to do nothing and nothing.  i.e. gets stuck in direct mode after steamvr switched from extended to direct mode.
Getting osvr audio device not be shown as trouble device in device manager is an issue in its own right but steamvr not starting compositor is what is stopping any app to launch as expected in vr mode imo.
System configuration
Please specify any relevant system configuration information.

Graphics card(s): Main display: 4K TV 3840x2160   Intel 530 igpu
HDK Display: 1920x1080 Asus Matrix Nvidia GTX 980TI discrete gpu
Operating system: windows 10 x64
Version of SteamVR:  Current stable
Version of SteamVR-OSVR: 1194 and 1197 tested.   Both failed to allow launching of any steamvr title.

After finding 1.2.6 and 1.2.7 drivers installed at same time i suspect what caused this to happen is same thing that has caused hdk display to die.   I double checked my downloads folder and am 100 per cent positive i did not install 1.2.6 drivers.  The only currently available drivers from https://github.com/OSVR/OSVR-HDK-Windows-Drivers/releases are 1.2.7
OSVR audio device has issues with driver management.  It is a problem device.  I need to disconnect usb from i/o on pc and use device manger to show hidden devices.  Only after deleting all disconnected devices and drivers allows the reinstall of driver for osvr audio device with no issue or problems.
Attached files
Please attach the following files:

The osvr_server configuration file. { "description": "This configuration supports video (so-called 'positional') and IMU fusion tracking, in addition to orientation-only tracking, with the OSVR HDK. It is configured for RenderManager applications in non-direct extended-display landscape mode on HDK 1.3 optics.", "display": "displays/OSVR_HDK_1_3.json", "renderManagerConfig": "sample-configs/renderManager.extended.landscape.json", "drivers": [{     "plugin": "com_osvr_VideoBasedHMDTracker",     "driver": "VideoBasedHMDTracker",     "params": {         "showDebug": false,         "includeRearPanel": true,         "headCircumference": 55.75,         "calibrationFile": "videotrackerCombinedCalibrationFile13.json"     } }, {     "plugin": "org_osvr_filter_videoimufusion",     "driver": "VideoIMUFusion",     "params": {         "name": "HeadFusion",         "input": {             "imu": "/com_osvr_Multiserver/OSVRHackerDevKitPrediction0/semantic/hmd",             "faceplate": "/com_osvr_VideoBasedHMDTracker/TrackedCamera0_0/semantic/hmd/front"         },         "eyeHeight": 0,         "cameraIsForward": true     } }], "aliases": {     "/headSpace": {         "translate": [0.0, 0.0, 0.04141],         "child": "/org_osvr_filter_videoimufusion/HeadFusion/semantic/fused"     },     "/me/head": "/headSpace" } }
The vr*.txt files from the Steam logs directory.
which ones?.  there are a lot.
vrclient_BrookhavenExperiment.txt
vrclient_DCS.txt
vrclient_hellovr_sdl.txt
vrclient_hl2.txt
vrclient_pCARS64.txt
vrclient_ShowdownVRDemo.txt
vrclient_Steam.txt
vrclient_steamvr_desktop_game_theater.txt
vrclient_steamvr_room_setup.txt
vrclient_vrcompositor.previous.txt
vrclient_vrcompositor.txt
vrclient_vrdashboard.txt
vrclient_vrmonitor.previous.txt
vrclient_vrmonitor.txt
vrcompositor.previous.txt
vrcompositor.txt
vrdashboard.txt
vrmonitor.previous.txt
vrmonitor.txt
vrserver.previous.txt
vrserver.txt

Notes
N.B. Two HDK's and 100 + hours down and still not one steamvr app launched successfuly.   :-(
Now that i have faceplate removed am currently working my way through https://www.youtube.com/watch?v=GLgxJxbsalM to try and get going again
Why isn't there a screwdriver for removing faceplate included with hdk?  I used a 00 phillips screwdriver with care and still rounded off a screwhead probably due to the screws being overtightened on assembly imho.
HDK was stuck in direct mode but still can not get passed "compositor not available (400)".

HDK
What is the HDK?
The HDK or Hacker Development Kit is a virtual reality HMD designed to bring the benefits of the OSVR ecosystem to fans of VR out of the box. Not only does it allow you to experience VR, its support for the OSVR ecosystem means access to the growing range of VR controllers and technologies that support the ecosystem.

There are two HDKs currently available:

HDK 1 – Designed to provide all the essential technology you need to experience VR.
HDK 2 – Designed to deliver mind bending visual experiences with more advanced technology.
Why is it called a Hacker Development Kit? Is it for developers or consumers?
The HDK is for both.
The HDK was designed to embody the vision of the software platform – to allow for unrestricted innovation for developers and to deliver innovation to consumers.
It was created to address the needs of the emerging VR industry that requires flexibility and technology that is open to evolution. This to help power innovation and allow owners of the hardware to access the latest technologies as soon as they are supported by the ecosystem.
While this is something we will continue if a consumer focused iteration is released, the Hacker Development Kit exists to be that perfect fit between industry innovation and the evolution of a consumer’s needs and true to the OSVR software – it is open source.

Why have i had two hdk's and never experienced vr?

Do you have the HDK plugged into the Intel card or the nVidia card? It may be that SteamVR has trouble with direct mode on dual-card machines. Do things work as expected in extended mode?

The latest nVidia drivers prevent DirectMode from operating on dual-GPU machines with non-HDCP-compliant displays.  You should be able to run in extended mode, where the laptop is on the Windows display.  You can put the display into that state using the DisableDirectMode program that should ship with the SDK.

Please specify any relevant system configuration information.

Graphics card(s): Main display: 4K TV 3840x2160 Intel 530 igpu HDK Display: 1920x1080 Asus Matrix Nvidia GTX 980TI discrete gpu
The hdk needs to be plugged into discrete card as the igpu (onboard) is not supported (intel 530) by vr   The two gpus are being used as there is only one hdmi port on nvidia discrete card.

Can now confirm more unexpected behaviour.   Since receiving hdk 1.4 have very rarely put the hmd display on head due to nothing launching as expected.   When trying OSVR content from http://www.osvr.org/featured.html#page-1 not one launches as expected.
DreadEye VR demo, Showdown (direct mode), Cityscape Repairman, SightLine The Chair and The Palace Demo mentioned in documentation is not even listed as official osvr content does not laumnch as expected.
Even extended mode is not working as expected as after viewing the extended desktop in hdk display it is upside down.
After setting landscape in nvidia control panel settings the extended desktop in hdk is upside down.  If i try to launch anything (steamvr or osvr content) in hdk and i go back to nvidia control panel the orientation has changed to portrait.
When any osvr content is launched a stereoscopic window opens on main display.  The hdk display just stays blank due to being in direct mode.
So i got drivers that windows hates and are actualy causing wdf_violation bluescreen of death,
no VR content showing in hdk display other than a borked unusable extended desktop.
Where do i start debugging this shit?

@godbyk  With refernce too https://www.reddit.com/r/OSVR/comments/4qrin6/news_osvr_runtime_more_update/d4vy4x3  please put the orientation issue higher on your priority list.

How does latest nvidia drivers break osvr direct mode?
I just updated to 368.69 purely because of https://youtu.be/6jJr-DMLka8 and still hope to use hdk to enjoy     such content.

Everything works as expected with 209 build steamvr-osvr drivers and current stable steamvr with 368.69 drivers up untill trying to launch an app.  The orientation issue and direct/extended mode switching isues are no longer reproducible for me.  Still can not get any steamvr app to show in hmd as expected though.
Getting wdf_violation bsod when powering down or restarting pc with hdk connected and powered up is still reproducable.
Rolling back to 365.19 drivers with current steamvr stable is a no go.

Should not need a beta of steamvr. If the hdk was "killed" that's a known hardware issue, contact support for RMA.
You might consider unplugging the USB when booting for now.

If you still have GPUs from two vendors, then rolling back to a pre 367 driver is the only solution that will help getting direct mode apps to work: you can even see the NVIDIA driver release notes at least for the first 368 release driver, they mention intentionally breaking HDK support on multi GPU systems.

From the release notes for nVidia driver version 368.69:

With R367 and future NVIDIA drivers, Crescent Bay and Open Source Virtual Reality development kit headsets will not work with VRWorks Direct Mode in systems that contain GPUs from multiple vendors (e.g. NVIDIA and Intel). For such systems, please disable the Intel integrated graphics (from the system BIOS) in order to use Direct Mode.

When i started this thread i did believe my hdk was dead.  After removing faceplate to access reset switches i noticed the tracking leds were not flashing but were on.  I then realised i should try disconnecting hdk rebooting system and reconnecting hdk.  The switches that install with runtime for enabling and disabling direct mode were functional once again.
I have since had the hdk get stuck in direct mode but simply disconnected hdk and used device manager to show hidden devices to uninstall the display adapter and then reboot and try reconnecting hdk again.  Seems to be a reliable reproducable workaround for getting unstuck from direct mode.
And again tio clarify latest gpu drivers (368.69) with 1194 and 1197 osvr runtime and steamvr-osvr drivers have no issue of switching to and from direct mode (most of the time).   It is getting apps to launch and show up in hmd that is the issue here.

So this is how i read:

With R367 and future NVIDIA drivers, Crescent Bay and Open Source Virtual Reality development kit headsets will not work with VRWorks Direct Mode in systems that contain GPUs from multiple vendors (e.g. NVIDIA and Intel). For such systems, please disable the Intel integrated graphics (from the system BIOS) in order to use Direct Mode.

what i see is > Direct Mode in systems that contain GPUs from multiple vendors
as meaning a gtx 950 with one hdmi port could be used to run primary display ( 4K TV in my case) paired with a gtx 980 ti for running hmd.
If my tv and hmd are hdmi only choice of connection to pc that means there has to be two available hdmi ports on pc.
Using nvidia gtx 950 for primary display along with nvidia gtx 980 ti appears to be fine in device manager.  In nvidia control panel all the display layout, configuration and settings appear to be configured correctly.    There is no touble swtching from and to direct mode using 1197 runtime and steamvr osvr drivers with nvidia 368.69 drivers.  I now no longer even get the 400 and 109 errors as s steamvr simply does not detect hmd giving error 108.   why?   because steamvr is looking for primary and hmd connected to same gpu.   ref:  Error 208 section of https://support.steampowered.com/kb_article.php?ref=8566-SDZC-9326#headset reads: > Make sure that your Vive’s link box and the monitor or TV you use as a primary display are plugged into the same graphics card. If you are connected to your onboard display adapter, you will see an Intel HD Graphics device listed in your SteamVR system report. Onboard cards, such as those connected to a PC’s motherboard, will not be powerful enough to use the Vive. Reconnect your Vive to your PC’s dedicated graphics card.
With a dual nvidia set up with gtx 950 as primary display and gtx 980 ti as hmd due to both having only one hdmi port each does not even get close to what nvidia describes what should happen with a dual nvidia setup is not the behaviour i see with 368.69 drivers; nor with a nvidia and integrated intel gpu combination..  Direct mode switching seems to be more reliable with the intel/nvidia combo.
Windows is having issues with tracking camera now too;  which is definitely an osvr software/driver issue.  I have no usb 2.0 ports which is what windows is saying i need to try and do for tracking camera to work as expected.
So  i opened up geforce experience and discover it is saying my pc is now not VR capable.   Why?  because my primary display and hmd are not connected to same nvidia gpu.

So still trying to get hdk to behave as expected and/or as described in official documentation.  Not even trying to get steamvr apps running but just trying to get a working osvr server config working.    After recovering hdk from being stuck in direct mode once more, making sure all my mobo device drivers are up to date, making sure there are no firmware updates for any hardware on this machine available and spending 40+ hours trying to research, troubleshoot and remedy all the issues i am having with osvr hdk and osvr software.
My main focus has shifted from trying to get by steamvr errors and is now trying to work out why osvr server has stopped giving positional tracking, tracker viewer broke and can not calibrate leds by using videotrackercalibibration utility.    https://github.com/OSVR/OSVR-Docs/issues/63
Very little of the official information in osvr docs seems to be relevant to or even refer to recent builds of osvr hdk, osvr runtime and steamvr-osvr drivers .

Can anybody confirm the latest runtime (1204) and the latest steamvr-osvr drivers (209--1197) works as expected with steam vr apps?

I do my testing with the latest runtime and the latest (non-beta) version of SteamVR.

Have found connecting a 24" 1080p monitor to same GPU as hdk hmd has indeed allowed osvr demos/apps to load in hmd but I need to switch or move primary display for different osvr demos.   The demos are not using ir positional tracking so were not very enjoyable or impressive.
Ir positional tracking is using saved beacon colibration from videotracking configuration utility.
Too many of my questions and issues and being left unanswered and unresolved here.    Though have proven it is not my osvr hardware that is at fault.    All the issues listed are known and documented osvr software issues.
I opened another osvr support ticket so will stop asking questions and trying to communicate what issues I am having and what I am trying to do to get by them here.

A support ticket is a better channel for issues unrelated to the SteamVR-OSVR software itself. This issue tracker is only for the latter.

Could a support ticket help in getting the steamvr-osvr team to drop a couple of gears?

From reading what you've been reporting here, I thought you'd already determined that yourself.
I'll be honest, though, this issue report has meandered quite a bit and I've lost track of what the current problem is that you're experiencing.

;-)
I can not prove or confirm the multi GPU configuration, the primary display management, the orientation or broken ir tracking are osvr hardware, osvr software, steam, steamvr or operating system issue/s.

While we generally try to build a new SteamVR-OSVR plugin when we rebuild OSVR-Core specifically to avoid this confusion, it's not actually necessary. The interface to the Core libraries rarely changes and the SteamVR-OSVR driver will work with almost any OSVR server version you can get your hands on. (The latest SteamVR-OSVR plugin does require a fairly modern OSVR-RenderManager, though.)

ahh k thanks for cl;arifying that.
I use runtime installer which installs render manager components but not the full set of rendermanager tools.    Is it safe to assume the latest versiion of osvr runtime uses the latest version render manager components?
Can you confirm the example game of TF2 on steamvr-osvr readme.md is even relevant now adays?
All i get is a dialogue box saying something like "TF2 is not a vr game.  Trying to run it in vr mode will drastically reduce performance."   that is with and without -vr launch parameter for that game.

Is it safe to assume the latest version of osvr runtime uses the latest version render manager components?

Yes.

As an nvidia shield (tablet and adroid tv) device user the android support of hdk has me intrigued

Android support is still a work-in-progress. You can follow its development by monitoring the OSVR-Android-Build repository.

Can you confirm the example game of TF2 on steamvr-osvr readme.md is even relevant nowadays?

I haven't tried it personally, so I can't say. You could ask on Reddit or in the Gitter chat rooms, though.

I dare even say the readme.mds for steamosvr-osvr drivers and render manager are useless. They seem to convey mainly outdated and irrelevant information.

That could very well be. I do intend to update the SteamVR-OSVR README for the next release.
If you've found specific problems in either of the READMEs, please file individual issue reports citing the erroneous or outdated information and we'll get it updated. Or even better, you can edit the file directly and submit the changes for review.

How do i delete the saved beacon configs?

The filename is set in the OSVR server config file (under the calibrationFile key). By default it's a file named videotrackerCombinedCalibrationFile13.json or similar based on the HDK version. For more information on the calibration utility, you'll need to either contact OSVR support or read through the relevant code and docs in the OSVR-Core repository. I don't know much about it myself.

[...] the green light on camera has never litten up when osvr server is started

I believe the camera light turns green once the video-based tracker plugin is loaded.  Are you seeing any error messages when you start up the OSVR server? Does it say anything about the plugin?

Why doesn't uninstalling and reinstalling osvr runtime reset video tracking calibration saved configs?

I don't know the answer to that either. I'd suggest contacting<EMAIL_ADDRESS>and they can direct your request to someone who knows more about it than I do.

Thanks for the feedback @godbyk it is appreciated.    I really appreciate developers simply do not have the time for hand holding every osvr user step by step with an issue.  I am sure the readme.md's would benefit greatly of being updated.   I should have more free time once i get osvr hdk working so will try to help in contributing to that or at least making suggestions as issues!.
I did make a post listing what i can see when launching osvr server; somewhere here on github recently, and will try to find it ....
I'll add the specific tracking issue in my already opened osvr.org support ticket.

This is what i can see when launching osvr server https://github.com/OSVR/OSVR-Docs/issues/63

Regardless of what config i choose using osvr Config osvr server starts with same .json giving exact same read out in terminal as listed in osvr/osvr-docs issue #63
Regardless of what config i choose use to assign from command prompt osvr server starts with same .json giving exact same read out in terminal as listed in osvr/osvr-docs issue #63
Regardless of what sample.json or any other .json is saved as "osvr_server_config.json" in main dir  osvr server starts with same .json giving exact same read out in terminal as listed in osvr/osvr-docs issue #63
Uninstalling and reinstalling different runtimes, deleting the main osvr dir in prgram files folder, running registry cleaner are some of the things i have been trying but the usb issues (audio device) seem to be causing other usb device errors.   A ms usb tranciever wireless kb + m has needed to be reinstalled sevral times now too.
No usb 2.0 ports are available on this machine.  All the onboard usb ports and front panel usb ports are all 3.0 or higher.   Checking the mobo users manual it highlights that any usb 2.0 (legacy) device that does not work as expected on a usb 3.0 port needs a firmware update and is a well documented issue with intel z170 chipset.

There are too many issues filed that I'm losing track of what the current problem is.
If you're having a problem starting the OSVR server, I'd suggest filing an issue in the OSVR-Core repository and closing the other issues. Be sure to include the relevant information (system configuration, HDK version, configuration files used, server output, etc.) in the new issue. You can reference these other issue reports you've created, but please provide all the useful information in the new issue so that those of us trying to provide support don't have to jump around and read long threads of (possibly now-irrelevant) information to try to determine what the problem is.

https://github.com/OSVR/SteamVR-OSVR/issues/71

Are the known usb device firmware issues being hugely underestimated?

one of the links i shared was not going to where it was intended to issue #63 should have been https://github.com/OSVR/OSVR-Docs/issues/63

The output in https://github.com/OSVR/OSVR-Docs/issues/63 says, in part:
[OSVR Server] Using default config file - pass a filename on the command line to use a different one.
[OSVR Server] Using config file 'osvr_server_config.json'

This means that osvr_server isn't recognizing that you're passing a different configuration file to it and it's using the default as per usual.
How are you running osvr_server?  If you're running it from the command line, you'd type:
> osvr_server.exe path/to/my/osvr_server_config.json

If you try this, what does the server output say (in its entirety)?

how many times do i need to tell you.?
I have tried command line using all available .jsons, manualy saving sample configs as osvr_server_config.json etc etc with three osvr runtime builds two steamvr-osvr driver versions, four different gpu drivers etc etc
When i said all available jsons i meant from all command line options to launch osvr server, all sample and other configs in osvr config, all the sample and other .jsonss in osvr main dir all give the same server output regardless of how it is launched or which .json is used

I understand you're frustrated. But I can troubleshoot this without your help. I need to know exactly what you're typing to start the server and exactly what the server it outputting.
I've looked at the code and the only time the server will print Using default config file is when osvr_server.exe is run without passing in a configuration file on the command line. So I'm trying to reconcile what the code is doing with what you're seeing.
Can you run osvr_server.exe path/to/osvr_server_config.json from a Command Prompt and paste everything from the Command Prompt window here? That will show me what directory you're in, what you typed to run the server, and what the server is printing. (When you paste it here, put three backticks on a line by itself before and after the stuff you're pasting [see below]. That'll format it nicely.)
```
paste contents of Command Prompt window
```

Thanks!

C:\Program Files\OSVR\Runtime\bin>osvr_server.exe sample-configs/osvr_server_config.HDK13ExtendedPortrait.sample
[OSVR Server] Using config file 'sample-configs/osvr_server_config.HDK13ExtendedPortrait.sample'
[OSVR Server]
Could not open config file!
[OSVR Server] Searched in the current directory; file may be misspelled, missing, or in a different directory.

C:\Program Files\OSVR\Runtime\bin>osvr_server.exe sample-configs/osvr_server_config.HDK13ExtendedPortrait.sample.json
[OSVR Server] Using config file 'sample-configs/osvr_server_config.HDK13ExtendedPortrait.sample.json'
[OSVR Server] Constructing server as configured...
[OSVR Server] Loading auto-loadable plugins...
[OSVR Server] Loading plugins...
[OSVR Server]
[OSVR Server] Instantiating configured drivers...
[OSVR] Added device: org_osvr_filter_videoimufusion/HeadFusion
[OSVR] Client context initialized for org.osvr.analysisplugin
[OSVR] Interface initialized for /com_osvr_Multiserver/OSVRHackerDevKitPrediction0/semantic/hmd
[OSVR] Interface initialized for /com_osvr_VideoBasedHMDTracker/TrackedCamera0_0/semantic/hmd/front
[OSVR Server] Successes:
[OSVR Server]  - com_osvr_VideoBasedHMDTracker/VideoBasedHMDTracker
[OSVR Server]  - org_osvr_filter_videoimufusion/VideoIMUFusion
[OSVR Server]
[OSVR Server]
[OSVR Server] Aliases found and parsed from config file.
[OSVR Server] Display descriptor found and parsed from config file.
[OSVR Server] RenderManager config found and parsed from the config file.
[OSVR Server] Triggering automatic hardware detection...
[OSVR Server] Registering shutdown handler...
[OSVR Server] Starting server mainloop: OSVR Server is ready to go!
[OSVR] Performing hardware auto-detection.
[OSVR] Added device: com_osvr_Multiserver/OSVRHackerDevKit0
[OSVR] Added device: com_osvr_Multiserver/OSVRHackerDevKitPrediction0

Okay, now we're starting to get somewhere. This is different output than you had posted previous. Notice the line that says:
[OSVR Server] Using config file 'sample-configs/osvr_server_config.HDK13ExtendedPortrait.sample.json'

I don't see any errors there. Does the HDK's IR camera light turn green?  If not, do you have any other webcams or imaging devices plugged in to your computer? If you do, then try unplugging those, leaving just the IR camera connected, and then starting the server again. The IR camera light should turn green then.

There is no green light and osvr ir camera is only camera connected.

C:\Program Files\OSVR\Runtime\bin>osvr_server.exe
[OSVR Server] Using default config file - pass a filename on the command line to use a different one.
[OSVR Server] Using config file 'osvr_server_config.json'
[OSVR Server] Constructing server as configured...
[OSVR Server] Loading auto-loadable plugins...
[OSVR Server] Loading plugins...
[OSVR Server]
[OSVR Server] Instantiating configured drivers...
[OSVR] Added device: org_osvr_filter_videoimufusion/HeadFusion
[OSVR] Client context initialized for org.osvr.analysisplugin
[OSVR] Interface initialized for /com_osvr_Multiserver/OSVRHackerDevKitPrediction0/semantic/hmd
[OSVR] Interface initialized for /com_osvr_VideoBasedHMDTracker/TrackedCamera0_0/semantic/hmd/front
[OSVR Server] Successes:
[OSVR Server]  - com_osvr_VideoBasedHMDTracker/VideoBasedHMDTracker
[OSVR Server]  - org_osvr_filter_videoimufusion/VideoIMUFusion
[OSVR Server]
[OSVR Server]
[OSVR Server] Aliases found and parsed from config file.
[OSVR Server] Display descriptor found and parsed from config file.
[OSVR Server] RenderManager config found and parsed from the config file.
[OSVR Server] Triggering automatic hardware detection...
[OSVR Server] Registering shutdown handler...
[OSVR Server] Starting server mainloop: OSVR Server is ready to go!
[OSVR] Performing hardware auto-detection.
[OSVR] Added device: com_osvr_Multiserver/OSVRHackerDevKit0
[OSVR] Added device: com_osvr_Multiserver/OSVRHackerDevKitPrediction0

Just to try and add some info that might be relevant and expand on the answers to the most recent questions from @godbyk have just noticed there is driver issues related to OSVR High-Speed Infrared Tracking Camera in Device Manager.
Allthough there are no warning s or indication there are driver issues in devices app, control panel devices and printers or device manager; having two audio belt box devices is a new one to me.
Settings > Devices > Connected Devices sees OSVR HDK hardware as

with Device Manager seeing things like

and digging into Image devices properties shows

So after two hours to get osvr windows drivers installed for unknown device after a power cycle has now caused some more unexpected behaviour.
Using the latest 2.7 windows drivers pack without hdk connected installs drivers but in add/remove programs three osvr drivers are being used once the hdk is connected and powered up.
Using the latest 2.7 windows driver pack with hdk connected installs five osvr drivers visible in add/emove programs.
Both methods give unknown device/s (sometimes two unknown devices)
Uninstalling osvr drivers using add/remove programs and then rebooting (with hdk disconnected) and then connecting hdk and let windows installs the drivers it wants gets four devices (expected behaviour) showing in control panel and system settings devices with no problem or unknown devices being shown in device manager.
Windows now sees imaging device as a usb camera and yet osvr ir tracking camera is named in devices.

Still having issues with device drivers but would like to confirm firmware version 1.96 has helped a lot with camera issue/s.

Upgrading firmware to 1.96 from windows 1607 fixed the camera.
Still hitting 108, 400 and other steamvr errors.   Have tried recent builds of osvr runtime and steamvr-osvr drivers and the AIO.   All give similar results.

@Balderick Can you upload a system report from SteamVR using the latest build of SteamVR-OSVR?
When I've seen error 108 (HMD not found), it's been because the SteamVR-OSVR driver failed to connect to the OSVR server or if there's been some hardware or driver issue.
Usually error 400 (failed to start compositor) is just a result of error 108.

Depends what caused the 108 ...

Will do

The extended-mode and direct-mode configuration files are only used by RenderManager. Since SteamVR uses its own direct-mode code, it doesn't make use of those files. (The SteamVR-OSVR driver does still make use of those files in part when operating in direct mode, though, since we can't autodetect all the parameters we need in direct mode yet.)
The steamvr.txt log looks like it found the HDK in extended mode okay but then had some difficulty when trying to switch to direct mode. (At least that's my guess.)
The steamvr2.txt log looks like it's in direct mode and that you ran into the bug I just (hopefully) fixed. (Notice the crazy rotation, position, and vsync values in the vrserver.txt file? Those should be fixed in the latest build.)
Let's look at the vrserver.txt log from the latest build and see where that gets us. It seems like it's pretty close to working.

System report from latest build runtime and steamvr osvr drivers, enabling direct mode and then launching server with default .json -
steamvr3.txt

Just an observation but must say the 1.96 firmware and 1607 build windows seems to have made great advances regarding all the usb device issues i was having.

Yes, @rpavlik has been making great strides in the firmware updates!
I just pushed yet another build (255) that should fix a couple more bugs when the HDK is in direct mode. Can you test that build for me? Before you do, delete the vr*.txt log files so we can start fresh. (Easier for me to see which logs are new that way.)

Made sure steamvr.vrsettings and system reports are deleted.
System report from latest build runtime and 255 build steamvr osvr drivers, enabling direct mode and then launching server with default .json -
vrserver.txt
vr monitor showed in top left corner of main display with the 108 error. No compositor in hmd.

This log says, osvr: OSVRTrackedDevice::Activate(): Display startup timed out!  Check to make sure you have the OSVR server running before you start SteamVR. (If it's been running for a bit, you might shut it down and restart it.)

vrserver.txt

Hmm.. we're still getting that message.

When the OSVR server running, also run osvr_print_tree and paste the results here.
Does the OSVR Tracker Viewer show the axes moving and rotating when you move and rotate the HDK?
Do you have any firewalls or antivirus running that might block communications with the server?
Do any 'native' (non-SteamVR) OSVR applications work?

Using osvr central to print tree another command prompt window shows but disappears before i can read or copy text.

tbc

The firmware upgrade only impacts the HDK. It's not a camera firmware upgrade.
Try running the osvr_print_tree program from a command prompt:

Hold down the Windows key and press R. Type cmd and press Enter.
At the command prompt, change to the location where you installed OSVR. For example: cd "C:\Program Files\OSVR\Runtime\bin" or cd "C:\Program Files\OSVR\SDK\bin". Don't forget the quotation marks.
Type osvr_print_tree.exe and press Enter.
If you can see output from the program, you can save it to a file: osvr_print_tree.exe > osvr_print_tree.log. Then you can upload the osvr_print_tree.log file.

osvr_print_tree.txt

Here is another system report after unblocking the downloaded zip.   Still have hard to decribe stuff goiing on but basically vr monitor gui

is fubar.
vrserver.txt
I'll be back

Oh, weird! I've never seen the SteamVR monitor do that. You might right-click on SteamVR in the library and run an integrity check. Or just uninstall/delete it entirely and reinstall a fresh copy.
Also, let's delete the entries from steamvr.vrsettings that have to do with direct mode. Let's see if we can get it running in extended mode first.

Found windows was using work group so set up home network.    After installing the latest runtime i tried tracker viewer and video calibration utility.
Tracker viewer does not detect rotational or positional tracking.   Camera does not get switched on.  Command prompt output gives `C:\Program Files\OSVR\Runtime\bin>OSVRTrackerView.exe
Aug 24 19:49:16.656 notice [OSVR]: Log file created in C:\Users\Tron\AppData\Local\OSVR\Logs
Aug 24 19:49:16.656 notice [OSVR]: Log file name starts with "OSVRTrackerView"
Aug 24 19:49:16.672 notice [OSVR]: Logging for C:\Program Files\OSVR\Runtime\bin\OSVRTrackerView.exe
Aug 24 19:49:16.765 info [OSVR: org.osvr.trackerview]: OSVR client context initialized for org.osvr.trackerview
[TrackerViewer] No arguments passed: default is as if you passed the following:
--pose /me/hands/left --pose /me/hands/right --pose /me/head
You can specify --pose or --orientation then a path, as many times as you want.
Pass the argument --help for more info.
Aug 24 19:49:18.028 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\64\TRACING\OFF\VS\12\host\windows\src\osvr\Common\ClientInterface.cpp:38: Interface initialized for /me/hands/left
Aug 24 19:49:18.028 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\64\TRACING\OFF\VS\12\host\windows\src\osvr\Common\ClientInterface.cpp:38: Interface initialized for /me/hands/right
Aug 24 19:49:18.028 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\64\TRACING\OFF\VS\12\host\windows\src\osvr\Common\ClientInterface.cpp:38: Interface initialized for /me/head
Aug 24 19:49:17.982 notice [OSVR: org.osvr.trackerview]: Could not connect to OSVR server in the timeout period allotted of 200ms
Aug 24 19:49:18.028 info [OSVR: org.osvr.trackerview]: Could not resolve source for /me/hands/left
Aug 24 19:49:18.028 info [OSVR: org.osvr.trackerview]: Could not resolve source for /me/hands/right
Aug 24 19:49:18.028 info [OSVR: org.osvr.trackerview]: Could not resolve source for /me/head
vrpn_Endpoint::send_pending_reports(): No TCP connection
vrpn_Connection_IP::send_pending_reports:  Closing failed endpoint.
C:\Program Files\OSVR\Runtime\bin>`
Video tracking calibration utility does switch on camera and can see the leds on hdk hmd faceplate; again now.  Tracking is very jittery though and then camera/video sync freezes .     On initial locking of leds the numbers for beacons all appear where they are expected to (where the leds are) but then it is like they all get "sucked" into a small area and the camera can never tell them all apart again.

This message from Tracker Viewer:
Aug 24 19:49:17.982 notice [OSVR: org.osvr.trackerview]: Could not connect to OSVR server in the timeout period allotted of 200ms

sounds like it can't connect to the OSVR server, which is the same sort of error we're seeing in the SteamVR-OSVR log files.
Either the server isn't running (which I don't think is the case, since we've double-checked that in the past), or there's some problem communicating with it. If we can't communicate with the server, it's because either the server isn't listening for incoming communication requests or because there's something preventing those requests from getting to the server (or responses from the server getting to the client).
When you ran Tracker Viewer, did the OSVR server log show a message about a new client being connected?
While the server is running, please run netstat -a at a command prompt and paste the output here. That will show us what services are listening on which ports. We'll see if the OSVR server is in that list.

yes a new client is started if osvr server is running when tracker viewer is run.
`Aug 24 22:12:16.123 notice [OSVR]: Log file created in C:\Users\Tron\AppData\Local\OSVR\Logs
Aug 24 22:12:16.123 notice [OSVR]: Log file name starts with "osvr_server"
Aug 24 22:12:16.123 notice [OSVR]: Logging for C:\Program Files\OSVR\Runtime\bin\osvr_server.exe
Aug 24 22:12:16.159 info [OSVR Server]: Using default config file - pass a filename on the command line to use a different one.
Aug 24 22:12:16.159 info [OSVR Server]: Using config file 'osvr_server_config.json'.
Aug 24 22:12:16.159 info [OSVR Server]: Constructing server as configured...
Aug 24 22:12:16.199 info [OSVR Server]: Loading auto-loadable plugins...
Aug 24 22:12:16.409 info [OSVR Server]: Loading plugins...
Aug 24 22:12:16.409 info [OSVR Server]: Instantiating configured drivers...
Aug 24 22:12:16.409 notice [OSVR Server]: Added device: org_osvr_filter_videoimufusion/HeadFusion
Aug 24 22:12:16.487 info [OSVR: org.osvr.analysisplugin]: OSVR client context initialized for org.osvr.analysisplugin
Aug 24 22:12:16.518 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\64\TRACING\OFF\VS\12\host\windows\src\osvr\Common\ClientInterface.cpp:38: Interface initialized for /com_osvr_Multiserver/OSVRHackerDevKitPrediction0/semantic/hmd
Aug 24 22:12:16.518 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\64\TRACING\OFF\VS\12\host\windows\src\osvr\Common\ClientInterface.cpp:38: Interface initialized for /com_osvr_VideoBasedHMDTracker/TrackedCamera0_0/semantic/hmd/front
Aug 24 22:12:16.518 info [OSVR Server]: Successes:
Aug 24 22:12:16.518 info [OSVR Server]:  - com_osvr_VideoBasedHMDTracker/VideoBasedHMDTracker
Aug 24 22:12:16.518 info [OSVR Server]:  - org_osvr_filter_videoimufusion/VideoIMUFusion
Aug 24 22:12:16.518 info [OSVR Server]: Aliases found and parsed from config file.
Aug 24 22:12:16.518 info [OSVR Server]: Display descriptor found and parsed from config file.
Aug 24 22:12:16.518 info [OSVR Server]: RenderManager config found and parsed from the config file.
Aug 24 22:12:16.518 info [OSVR Server]: Triggering automatic hardware detection...
Aug 24 22:12:16.518 info [OSVR Server]: Registering shutdown handler...
Aug 24 22:12:16.518 info [OSVR Server]: Starting server mainloop: OSVR Server is ready to go!
Aug 24 22:12:16.518 info [OSVR Server]: Performing hardware auto-detection.
directx_camera_server: Using capture device 'USB Video Device' at path '\?\usb#vid_0bda&pid_57e8&mi_00#9&314fc184&4&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global'
Aug 24 22:12:16.659 notice [OSVR Server]: Added device: com_osvr_Multiserver/OSVRHackerDevKit0
Aug 24 22:12:16.659 notice [OSVR Server]: Added device: com_osvr_Multiserver/OSVRHackerDevKitPrediction0
Video-based tracker: Camera turned on!
Opening camera 0
Video-based tracker: NOTE: Beacon calibration filename videotrackerCombinedCalibrationFile13.json was specified, but not found or could not be loaded. This is not an error: This may just mean you have not yet run the optional beacon pre-calibration step.
Aug 24 22:12:17.066 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\64\TRACING\OFF\VS\12\host\windows\src\osvr\Client\AnalysisClientContext.cpp:76: Got updated path tree, processing
Aug 24 22:12:17.062 notice [OSVR Server]: Added device: com_osvr_VideoBasedHMDTracker/TrackedCamera0_0
vrpn: Connection request received from <IP_ADDRESS>: <IP_ADDRESS> 51847
Aug 24 22:12:18.068 info [OSVR Server]: Sent path tree to clients.
Aug 24 22:12:18.068 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\64\TRACING\OFF\VS\12\host\windows\src\osvr\Client\TrackerRemoteFactory.cpp:93: Constructed a TrackerHandler for com_osvr_Multiserver/OSVRHackerDevKitPrediction0@localhost:3883 sensor 0
Aug 24 22:12:18.071 info [OSVR Server]: Performing hardware auto-detection.
Aug 24 22:12:18.068 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\64\TRACING\OFF\VS\12\host\windows\src\osvr\Client\TrackerRemoteFactory.cpp:93: Constructed a TrackerHandler for com_osvr_VideoBasedHMDTracker/TrackedCamera0_0@localhost:3883 sensor 0
Aug 24 22:12:18.068 info [OSVR: org.osvr.analysisplugin]: Successfully produced handler for /com_osvr_Multiserver/OSVRHackerDevKitPrediction0/semantic/hmd
Aug 24 22:12:18.068 info [OSVR: org.osvr.analysisplugin]: Successfully produced handler for /com_osvr_VideoBasedHMDTracker/TrackedCamera0_0/semantic/hmd/front
Aug 24 22:12:18.068 info [OSVR: org.osvr.analysisplugin]: Connected 2 of 2 unconnected paths successfully
Aug 24 22:12:18.142 info [OSVR Server]: Sent path tree to clients.
vrpn: Connection request received from <IP_ADDRESS>: <IP_ADDRESS> 51846
Aug 24 22:12:20.271 info [OSVR Server]: Performing hardware auto-detection.
Aug 24 22:12:20.342 info [OSVR Server]: Sent path tree to clients.
vrpn: Connection request received from <IP_ADDRESS>: <IP_ADDRESS> 51850
Aug 24 22:12:29.098 info [OSVR Server]: Performing hardware auto-detection.
Aug 24 22:12:29.168 info [OSVR Server]: Sent path tree to clients.
vrpn: Connection request received from <IP_ADDRESS>: <IP_ADDRESS> 51852
Video-IMU fusion: Hold still, measuring camera pose.
NOTE: For best results, during tracker/server startup, hold your head/HMD still closer than 0.3 meters from the tracking camera for a few seconds, then rotate slowly in all directions.`
Which gets rotational postitioning working.
And
netstat.txt

Proto  Local Address          Foreign Address        State
TCP    <IP_ADDRESS>:3883         DESKTOP-JV35IAK:0      LISTENING
UDP    <IP_ADDRESS>:3883         *:*

shows OSVR is listening on the usual ports.
These messages:
Video-based tracker: Camera turned on!
Opening camera 0
Aug 24 22:12:18.068 info [OSVR: org.osvr.analysisplugin]: Successfully produced handler for /com_osvr_Multiserver/OSVRHackerDevKitPrediction0/semantic/hmd
Aug 24 22:12:18.068 info [OSVR: org.osvr.analysisplugin]: Successfully produced handler for /com_osvr_VideoBasedHMDTracker/TrackedCamera0_0/semantic/hmd/front
Aug 24 22:12:18.068 info [OSVR: org.osvr.analysisplugin]: Connected 2 of 2 unconnected paths successfully
Video-IMU fusion: Hold still, measuring camera pose.
NOTE: For best results, during tracker/server startup, hold your head/HMD still closer than 0.3 meters from the tracking camera for a few seconds, then rotate slowly in all directions.

make it sound like the camera-based tracker is starting up properly. Does the light on the camera turn green now? If you hold the HDK up to the camera for a minute, it should establish a position and start tracking the position of the HDK using the camera.

The camera light comes on when starting server.  The camera detects hmd but can not establish position.
Looks good there.  Hold it there ...

Getting closer then. When it says that, hold it still for a minute. If it doesn't work, move the HMD around slightly to try to get it to lock on better. It can be a bit finicky sometimes.
It should establish the position and tell you what it is once it's locked on.

It did used to work on 1.3 hdk !.    Just seems to be getting intermittent info.   The axis on tracker viewer display moves smooth and as expected considering positional tracking is not working.
Aug 24 23:15:31.057 info [OSVR Server]: Sent path tree to clients.
vrpn: Connection request received from <IP_ADDRESS>: <IP_ADDRESS> 52166
Video-IMU fusion: Hold still, measuring camera pose...

NOTE: For best results, during tracker/server startup, hold your head/HMD still closer than 0.3 meters from the tracking camera for a few seconds, then rotate slowly in all directions.

That distance looks good, hold it right there.

Do the axes in Tracker Viewer change position or do they stay at the origin and just rotate?
The server should continue to print some more info after hold it right there. It'll show you the (x, y, z) coordinates of the HMD.

It should.   What i see is the hmd spinning on the z axis (green)   with blue and red offset about 45* clockwise to true and the positions are not found even after persevering for five mins.

I haven't tested it yet, but you're welcome to give ti a shot. Can't really hurt anything and it's easy to undo (just set it to 1 instead of 0).

It works for me!.
Video-IMU fusion: Hold still, measuring camera pose..........

Video-IMU fusion: Camera pose acquired, entering normal run mode!
Camera is located in the room at roughly  0.0469146 -0.0189539   0.421734

Positional and rotational tracking working in tracker viewer now.  :-)
Will go back to trying videotarackingcalibration utility and then steamvr

Awesome!
If the tracking it working well enough as is, you don't need to run the calibration utility.  I'd just give SteamVR a shot and see how it fares.

Okay, i started osvr server using extended landscape json.  Got green lights for camera and hmd so ran room setup in steamvr.
vrserver.txt
I know steamvr needs this to get the info from hdk that it needs.
direct mode testing ...

Have been using this video tutorial for guidance/sanity check.  https://www.youtube.com/watch?v=TCA0CBXmS2Q&feature=youtu.be
Which explains the 308 error being associated with vr server not dieing when quiting steamvr and/or steam.
Tried testing Elite Dangerous but could not find the launch in vr mode option.
My hdk is behaving the best (most predictable) it ever has for sure.  Windows 1607, ver 7 camera firmware, 1.96 oled hdk firmware.  Running latest runtime and steamvr-osvr drivers.
It would appear all the issues have been resolved and/or the recommended workarounds are applying/working.    Happy days.   :-)

Excellent! I'm glad to hear it's (finally) working for you.

Big thank you to you.
And apologies to you and everybody else.

Been having a ball testing and just noticed theres is 258 steamvr drivers and 1328-264 runtime to check out.   Github seems to be out of sync, somehow.
So have had elite dangerous launch in both direct and extended modes. Still working on getting input for game and trying to use steam controller.      So with 255 steamvr drivers and  1320-263 runtime here is
directmode.txt and i can see
 and

if i select YES steam or steamvr crash and or hmd blackscrteens or display gets switched off.   OSVR Control reports display switched off if left running and connected when running steamvr and osvr server.
If CANCEL is selected or if that warning is simply ignored elite dangerous launches as expected.
In extended mode steamvr compositor crashes but game still launches if all steamvr errors are ignored.
extndmode.txt
Still get the steamvr disabled warning too.
In general the hdk is a behaving astronomicaly better.   Seems far more solid and predictable.   Tracking poses are being detected when hmd is 1.5 meters away from camera!.    Tracking is spot on and slick with rotational vector enabled for elite dangerous using directmesh json.
Both osvr and steamvr seem to removing there install root directories at uninstall time which is a great timesaver.
Steamvr power saving for hmd is working as well as tutorial and room setup and other steamvr stuff but still not got dashboard working yet.
With each steamvr driver and runtime update my hdk is getting slicker and slicker.   Awesome stuff guys.  Thank you.
That vr server process issue is going to get reported to steamvr devs today.

Just a quick update to confirm what has made my hdk into a vr content munching monster.  https://www.reddit.com/r/OSVR/comments/4zrha0/osvr_screen_black/


SS 817 setup django logging

Description
I've added django structlog to Serve with a simple example setup. Lets discuss how to proceed.
Note that this is a PR to a larger logging-branch.
Thoughts
First we must decide on a format. What information are we including in each log. See example below.
I'm thinking that these kinds of logs should be logged to a file, and we log "normal" console messages that you can easily read when printing pod/container logs in Rancher or similar.  If we all agree, then how should we structure these files. Create one new each day or just one big? Lots of questions.
Example of a json log
"{request": "GET /", "user_agent": "Wget", "event": "request_started", "ip": "<IP_ADDRESS>", "request_id": "f318458a-647d-452a-9997-b9e56aabcd6c", "user_id": null, "timestamp": "2024-02-02T12:43:44.189486Z", "logger": "django_structlog.middlewares.request", "level": "info"}
{"code": 200, "request": "GET /", "event": "request_finished", "ip": "<IP_ADDRESS>", "request_id": "f318458a-647d-452a-9997-b9e56aabcd6c", "user_id": null, "timestamp": "2024-02-02T12:43:44.214142Z", "logger": "django_structlog.middlewares.request", "level": "info"}

We should also consider how we log traceback in case of exceptions, it should be just one line, so that loki would parse it correctly


Update Network GetDefaultDataFolder to fallback to OS Temp folder when HOME and APPDATA not available

Fallback to the operating system's TEMP folder when both HOME and APPDATA are not available, as a workaround.
A better approach for a future improvement would be to remove any filesystem dependencies when accessing networks.

Repro steps: https://github.com/augustoproiete-repros/nbitcoin-issue-1050-ubuntu-exception
Network.GetDefaultDataFolder expects either HOME or APPDATA environment variables to be available, which might not be the case in some scenarios as described in https://github.com/MetacoSA/NBitcoin/issues/1050 in which case it returns null.
CreateSignet relies on Network.GetDefaultDataFolder to set the path of the signet cookie and currently throws an exception when the value is null.

Closes https://github.com/MetacoSA/NBitcoin/issues/1050

But reverting to the tmp folder might let the user think that their data is safe while it's not.
IMHO the better way to solve this is an optional DirectoryInfo parameter in InitSignet() maybe?

that their data is safe while it's not.

Mmm or maybe signet related data is no big deal to lose because it's not big anyway?

an optional DirectoryInfo parameter in InitSignet() maybe?

The issue is that the code runs in a static context during initialization, before the user had the opportunity to send any parameters (it's a private constructor).
Perhaps a better approach would be to introduce an "Options" class with some defaults, which the user can override?
Something along those lines:
var myBitcoinOptions = new BitcoinOptions
{
    DataFolderPath = "./myapp/bitcoin-data",
};

Bitcoin.DefaultOptions = () => myBitcoinOptions;

// Static context relies on Bitcoin.DefaultOptions().DataFolderPath
Network network = Network.Main;

// ---

public class BitcoinOptions
{
    public string DataFolderPath { get; set; }
}

public class Bitcoin
{
    public static Func<BitcoinOptions> DefaultOptions { get; set; } = () => new BitcoinOptions();
}

We could then update the code to rely on the DataFolderPath of these options, and throw an exception if we couldn't detect the HOME/APPDATA path, so that the user knows they have to set it.

As I was checking how GetDefaultDataFolder is currently used, I noticed other clients of this method, handle the case when it's null. So I followed this.


Use correct httpRequest key in all integrations

The original PR that adjusted the Ops Agent to use this feature was made before these integrations were available, so I overlooked them when I went to finally merge it. This PR adjusts the http request key for the new integrations I had forgotten.

The related IIS and CouchDB tests passed. Merging this first to reduce the number of failed tests in master HEAD. Will rebase https://github.com/GoogleCloudPlatform/ops-agent/pull/660 to add test coverage for CouchDB.


Q: How can I modify the package?

Hello, I would like to modify the gotrue package. The suppbase_flutter can be modified well, but I'm not sure what to do with the rest of the project. Can you explain how I can modify it?

This repo is a monorepo powered by Melos containing supabase_flutter and its sub-libraries. All packages are located in the /packages directory.
All instructions are described in the README.
You can modify the files and submit a pull-request!


need to be able to delete from joined tables

split from #37
All major dialects provide some way to delete from a joined table but the table to be deleted from needs to be explicitly provided. We could specify a "zio-sql" way of doing this (with dialect specific implementations) e.g. I'd suggest
delete(orders).from((orders join users).on(fkUserId === userId)).where(fName === "Fred")

or we could just disallow this and let the dialect specific modules introduce the concept of deleting from a join in a manner similar to the dialect of choice (e.g. using for postgres)

I like the proposed syntax. We should support this and translate to dialect-specific variants in the rendering.


fixed ms.author

Docs Build status updates of commit 63670d2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/Configure-Unity-Project.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add header with valid types

I catch error when add header with timestamp:
$request->setHeaders(array_filter([
	'apns-topic'      => $topic,
	'apns-expiration' => time() + $ttl,
]));

It's very stupid to make sure that all data types match the string.

You're already casting to a string https://github.com/amphp/http/blob/98735395846c26b60a880815f65103621f85b534/src/HttpMessage.php#L148, so both strings and numbers must be available as input.

HTTP headers are meant to be strings.
If you'd like to make the argument that integers and floats should also be allowed, I'm willing to entertain that idea. Note that they must be converted to strings before being added to the array of headers.
This PR is incomplete without modifying the signatures of other methods and value handling within the method. The one you did modify, addHeader, doesn't address the issue you provided.

Please update the docblock types too. I'm surprised Psalm isn't failing due to the mis-match.

i understand what is a docblock

Docblock refers to the comments which start with /**. These are used to provide type annotations that we cannot expression in PHP code directly, for example array<string>, typing the array should only contain strings.

I think, need slit validation with array and string https://github.com/amphp/http/blob/2.x/src/HttpMessage.php#L171.
This optimizes validation without iterating through the array https://github.com/amphp/http/blob/2.x/src/HttpMessage.php#L224-L228

Close enough, I'll clean it up in another commit. Thanks!

@trowski why you revert support int|float???
$headers['Content-Length'] = 123 - always set in int number. All libs! My code is die with v2.0.0-beta.1.

Because the signature should really be array|string, because that's the correct type for headers. There's still some support built-in for casting ints and floats to strings.

I opened issue https://github.com/amphp/http/issues/22 for this question


Not FUD 24/69 Detections

Hi dear, it is python FUD i never talked about exe FUD, I'm working on a way to get 3/69

I see, but having a FUD python file and Fully Detectable exe seems useless

I've updated it now there is an alternative way that give 5/69 detections (all of them are all false positive)

false positive ?


User Login

The Clever Cash app needs a way for users to login and create an account

Completed Previously


Issue connecting to WebDriver

I'm using the default selenoid installation (just changed the default browser) by https://aerokube.com/cm/latest/
./cm selenoid start --vnc --port 80 --args "-limit=5 -session-attempt-timeout 2m -service-startup-timeout 2m"
curl -s http://localhost/status
{"total":5,"used":0,"queued":0,"pending":0,"browsers":{"chrome":{"79.0":{}}}}
and when trying to actually use it I'm getting the following error :
Using selenoid
WebDriverError: wait: http://<IP_ADDRESS>:80/ does not respond in 2m0s
I can't provide much additional information since it's the default installation
Any clues on what to look at?

@LordPato take a look at Selenoid logs as well as started browser container logs using docker logs command.

In Selenoid Logs I have the following (I'll use just one container as example)
2020/02/03 14:10:16 [79] [CONTAINER_STARTED] [selenoid/vnc_chrome:79.0] [3444061ef3276322983fb8db75cf1e733c5200b65cbb3f6651e10191f226aa2a] [1.07s]
In that container logs:
Starting ChromeDriver 79.0.3945.36 (3582db32b33893869b8c1339e8f4d9ed1816f143-refs/branch-heads/3945@{#614}) on port 4444
All remote connections are allowed. Use a whitelist instead!
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
And then in Selenoid logs (after 2 min)
2020/02/03 14:12:17 [79] [CONTAINER_REMOVED] [3444061ef3276322983fb8db75cf1e733c5200b65cbb3f6651e10191f226aa2a]
2020/02/03 14:12:17 [79] [SERVICE_STARTUP_FAILED] [wait: http://<IP_ADDRESS>:80/ does not respond in 2m0s]
For some reason Selenoid doesn't connect to the browser container after starting it.

@LordPato in browsers.json you should have port equal to 4444 as this port is hard-coded to browser containers. You have port 80 so far as I can see.


Firebase Database on Android queries with listener does not appear to behave as in iOS

Steps to Reproduce

Use Android, use firebase-database 0.0.9
Try a query and listener like this

// Listen for children added AFTER right now
Query newItemsAddedQuery = itemsReference
              .orderByChild("published-date")
              .startAt(nowInUTCMillis, key: mostRecentItem.pushKey);
          print(mostRecentItem.subtext);
          newItemsAddedQuery.onChildAdded.listen(...

On iOS, it will listen for new items added after the specified published date, and the event only fires in that case, which is the behavior I expect.  On Android, the onChildAdded event gets hit for every item it has, and it does not fire when a new item is added.
Flutter Doctor
[✓] Flutter (on Mac OS X 10.12.4 16E195, locale en-US, channel master)
• Flutter at /Users/KG/Developer/Flutter/flutter
• Framework revision 2052741ab3 (29 hours ago), 2017-06-20 11:32:40 -0700
• Engine revision fffe502d43
• Tools Dart version 1.24.0-dev.6.7
[✓] Android toolchain - develop for Android devices (Android SDK 26.0.0)
• Android SDK at /Users/KG/Library/Android/sdk
• Platform android-26, build-tools 26.0.0
• ANDROID_HOME = /Users/KG/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
[✓] iOS toolchain - develop for iOS devices (Xcode 8.3.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 8.3.3, Build version 8E3004b
• ios-deploy 1.9.1
• CocoaPods version 1.2.1
[✓] Android Studio (version 2.3)
• Android Studio at /Applications/Android Studio.app/Contents
• Gradle version 3.2
• Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
[✓] IntelliJ IDEA Community Edition (version 2017.1.4)
• Flutter plugin version 14.0
• Dart plugin version 171.4694.29

@collinjackson is likely the right person to see this (and likely already has).

I noticed that the handler for startAt in FirebaseDatabasePlugin.java is checking for Integer or Double objects, but not Long or BigInteger types.  nowInUTCMillis probably exceeds the bounds of a Java int, so the StandardMessageCodec would marshal it as one of the larger integer types.
If FirebaseDatabasePlugin doesn't recognize the startAt type, then it will not apply the startAt filter to the query.
Incidentally, the startAt handler is also calling query.endAt instead of query.startAt for Double values.  So changing nowInUTCMillis to a double currently won't work either.

Thanks for looking into this @jason-simmons. I posted a PR for your review at flutter/plugins#149

Fixed in 0.0.10

@KevinTheGray
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/989. Any further collaboration will be done there.


Any support for quality option in .py way?

Directly run PQHDRtoGMHDR with quality arguments can not be used in large file numbers cases，could you add ways to adjust quality for .py? thx🙏

Asking ChatGPT will solve this problem fastest. I will modify .py later.

Updated


Fix mPowerSDK following breaking changes in RK/master

Requires: https://github.com/Sage-Bionetworks/BridgeAppSDK/pull/77

Closing until #78 is addressed.

Reopening now that RK/master changes have been addressed in BridgeAppSDK

looks good


Allow input of image properties

Features
Allow image input as a dict[str, str] or a list of dict[str, str] so that image properties, such as detail (https://platform.openai.com/docs/guides/vision/low-or-high-fidelity-image-understanding), can be passed through. The images argument in llm.aask() can now be any of these:

None
str of image url or path (original feature)
list of str above (original feature)
dict as {'url': str of image url or path, 'detail': 'high' | 'low' | 'auto'}  (new feature)
list of dict above (new feature)

Influence
The original usage is not affected. The new usage of passing image details is supported.
Result
import asyncio

from metagpt.llm import LLM
from metagpt.logs import logger

async def ask_w_image(
    question,
    images,
    llm,
    system_prompt,
) -> str:
    logger.info(f"Q: {question}")
    logger.info(f"image: {images}")
    rsp = await llm.aask(
        question,
        system_msgs=[system_prompt],
        images=images,
    )
    logger.info(f"A: {rsp}")
    return rsp

async def main():
    llm = LLM()
    await ask_w_image(
        question="Describe this image",
        images="https://raw.githubusercontent.com/geekan/MetaGPT/main/docs/resources/MetaGPT-new-log.png",
        llm=llm,
        system_prompt="You are a helpful AI assistant.",
    )
    await ask_w_image(
        question="Describe this image",
        images={
            "url": "https://raw.githubusercontent.com/geekan/MetaGPT/main/docs/resources/MetaGPT-new-log.png"
        },
        llm=llm,
        system_prompt="You are a helpful AI assistant.",
    )
    await ask_w_image(
        question="Describe this image",
        images={
            "url": "https://raw.githubusercontent.com/geekan/MetaGPT/main/docs/resources/MetaGPT-new-log.png",
            "detail": "low",
        },
        llm=llm,
        system_prompt="You are a helpful AI assistant.",
    )
    await ask_w_image(
        question="Describe this image",
        images={
            "url": "https://raw.githubusercontent.com/geekan/MetaGPT/main/docs/resources/MetaGPT-new-log.png",
            "detail": "high",
        },
        llm=llm,
        system_prompt="You are a helpful AI assistant.",
    )

if __name__ == "__main__":
    asyncio.run(main())

# output

2024-06-11 20:34:26.244 | INFO     | __main__:ask_w_image:20 - Q: Describe this image
2024-06-11 20:34:26.245 | INFO     | __main__:ask_w_image:21 - image: https://raw.githubusercontent.com/geekan/MetaGPT/main/docs/resources/MetaGPT-new-log.png
The image depicts a black and white abstract logo consisting of four interconnected shapes that resemble stylized, curved arrows or loops. These shapes form a symmetrical pattern, creating a sense of movement and flow. The design is bold and modern, with clean lines and a balanced composition. The overall effect is dynamic and visually engaging.
2024-06-11 20:34:29.599 | INFO     | metagpt.utils.cost_manager:update_cost:57 - Total running cost: $0.001 | Max budget: $10.000 | Current cost: $0.001, prompt_tokens: 21, completion_tokens: 63
2024-06-11 20:34:29.599 | INFO     | __main__:ask_w_image:27 - A: The image depicts a black and white abstract logo consisting of four interconnected shapes that resemble stylized, curved arrows or loops. These shapes form a symmetrical pattern, creating a sense of movement and flow. The design is bold and modern, with clean lines and a balanced composition. The overall effect is dynamic and visually engaging.
2024-06-11 20:34:29.599 | INFO     | __main__:ask_w_image:20 - Q: Describe this image
2024-06-11 20:34:29.599 | INFO     | __main__:ask_w_image:21 - image: {'url': 'https://raw.githubusercontent.com/geekan/MetaGPT/main/docs/resources/MetaGPT-new-log.png'}
The image depicts a black and white abstract logo or symbol. It consists of four identical, curved shapes that are arranged in a circular pattern, creating a sense of motion and symmetry. Each shape has a pointed end and a rounded end, and they are interconnected in a way that forms a continuous loop. The overall design is dynamic and balanced, with a modern and sleek appearance. The use of black and white adds to the simplicity and elegance of the symbol.
2024-06-11 20:34:34.029 | INFO     | metagpt.utils.cost_manager:update_cost:57 - Total running cost: $0.003 | Max budget: $10.000 | Current cost: $0.001, prompt_tokens: 21, completion_tokens: 91
2024-06-11 20:34:34.030 | INFO     | __main__:ask_w_image:27 - A: The image depicts a black and white abstract logo or symbol. It consists of four identical, curved shapes that are arranged in a circular pattern, creating a sense of motion and symmetry. Each shape has a pointed end and a rounded end, and they are interconnected in a way that forms a continuous loop. The overall design is dynamic and balanced, with a modern and sleek appearance. The use of black and white adds to the simplicity and elegance of the symbol.
2024-06-11 20:34:34.030 | INFO     | __main__:ask_w_image:20 - Q: Describe this image
2024-06-11 20:34:34.030 | INFO     | __main__:ask_w_image:21 - image: {'url': 'https://raw.githubusercontent.com/geekan/MetaGPT/main/docs/resources/MetaGPT-new-log.png', 'detail': 'low'}
The image features a black and white abstract design composed of four interlocking shapes. Each shape resembles a curved, elongated teardrop or a stylized leaf, and they are arranged in a circular pattern, creating a symmetrical and balanced appearance. The shapes are connected at their tips, forming a continuous loop that gives the design a sense of unity and flow. The overall effect is visually striking and harmonious.
2024-06-11 20:34:37.175 | INFO     | metagpt.utils.cost_manager:update_cost:57 - Total running cost: $0.004 | Max budget: $10.000 | Current cost: $0.001, prompt_tokens: 21, completion_tokens: 80
2024-06-11 20:34:37.175 | INFO     | __main__:ask_w_image:27 - A: The image features a black and white abstract design composed of four interlocking shapes. Each shape resembles a curved, elongated teardrop or a stylized leaf, and they are arranged in a circular pattern, creating a symmetrical and balanced appearance. The shapes are connected at their tips, forming a continuous loop that gives the design a sense of unity and flow. The overall effect is visually striking and harmonious.
2024-06-11 20:34:37.175 | INFO     | __main__:ask_w_image:20 - Q: Describe this image
2024-06-11 20:34:37.175 | INFO     | __main__:ask_w_image:21 - image: {'url': 'https://raw.githubusercontent.com/geekan/MetaGPT/main/docs/resources/MetaGPT-new-log.png', 'detail': 'high'}
The image depicts a black and white abstract logo or symbol. It consists of four identical, curved shapes that are arranged in a circular pattern, creating a sense of motion and symmetry. Each shape has a pointed end and a rounded end, and they are interconnected in a way that forms a continuous loop. The overall design is dynamic and balanced, with a modern and sleek appearance. The use of black and white adds to the simplicity and elegance of the symbol.
2024-06-11 20:34:40.956 | INFO     | metagpt.utils.cost_manager:update_cost:57 - Total running cost: $0.005 | Max budget: $10.000 | Current cost: $0.001, prompt_tokens: 21, completion_tokens: 91
2024-06-11 20:34:40.957 | INFO     | __main__:ask_w_image:27 - A: The image depicts a black and white abstract logo or symbol. It consists of four identical, curved shapes that are arranged in a circular pattern, creating a sense of motion and symmetry. Each shape has a pointed end and a rounded end, and they are interconnected in a way that forms a continuous loop. The overall design is dynamic and balanced, with a modern and sleek appearance. The use of black and white adds to the simplicity and elegance of the symbol.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 18.18182% with 9 lines in your changes missing coverage. Please review.

Project coverage is 62.56%. Comparing base (ab846f6) to head (11221e9).

Files with missing lines
Patch %
Lines

metagpt/provider/base_llm.py
18.18%
9 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1337      +/-   ##
==========================================
- Coverage   62.59%   62.56%   -0.03%
==========================================
  Files         287      287
  Lines       17589    17595       +6
==========================================
  Hits        11009    11009
- Misses       6580     6586       +6

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Can you take another look at the comments?


Automation invalid WHERE value

Even if the allowed values for the Automation point WHERE field should be restricted from 11-99 as explained in the official documentation, a user raised an issue that in his configurations he has some automations with value 07 for example.
So the WHERE field should allow values from 00 to 99

Another user reported that in is environment he is able to command the automations using for example *2*0*1005## where A=10 and PL=5, which is something that is not actually documented and shouldn be allowed.
The latest version prevent the user to properly command the automations.


Code and Image Changes

Closes #ISSUE_NUMBER

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: Shobh:x: azon2111Shobh seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Skip Writing Equivalent attachedPictures

I noticed that whenever calling audioFile.writeMetadata() with non empty attachedPictures in the metadata, the saving time is about 30 seconds each, which is much longer than writing with empty attachedPictures (about 0.1 seconds each).
I know it's unavoidable because some pictures are large in data size, but as I'm making a metadata editor, I cannot expect users to edit these pictures arbitrarily, which means in most cases the pictures remain the same during writeMetadata() calls. However, the pictures will always be fully rewritten referring to the source code of audio files. So, it will be much better if equivalent pictures don't get rewritten every time.
Is it possible to skip writing equivalent pictures while saving? I think it can be done by comparing and extracting a set of changed pictures, instead of simply writing the given set of pictures.

The metadata functions in SFBAudioEngine are thin wrappers around TagLib. I'll need to delve into taglib's source because I'm not sure if taglib behaves as you suggest or if it always rewrites everything. For certain formats it also probably depends if there is padding available for use. In any case, 30 seconds seems to be a long time for a file to save, but for a large file that has to be completely rewritten it's possible. Does it seem that certain formats are slower than others? How large are the attached pictures?

The metadata functions in SFBAudioEngine are thin wrappers around TagLib. I'll need to delve into taglib's source because I'm not sure if taglib behaves as you suggest or if it always rewrites everything. For certain formats it also probably depends if there is padding available for use. In any case, 30 seconds seems to be a long time for a file to save, but for a large file that has to be completely rewritten it's possible. Does it seem that certain formats are slower than others? How large are the attached pictures?

I've only tested pngs for now, and indeed, it's truly a large file. Its data representation is 7-8 digits in length. I may test more files later.
But besides the file size, I still believe it's very practical to compare the changes before writing these data, as image files are really not in the same scale as other strings and integers. So, I suppose comparing images before writing and omit useless overwrites can make a huge difference on the performance.

Currently looking, AudioFile called taglib’s setItem to set cover tags, take mp4 for example:
https://github.com/sbooth/SFBAudioEngine/blob/main/Sources/CSFBAudioEngine/Metadata/SFBAudioMetadata+TagLibMP4Tag.mm#L271
As I’ve tested writing metadata with the SAME images and without any images, it apparently shows that taglib won’t handle item comparisons before writing tags. Writing with images of the same data consumes much more time than writing without any images.
So, I suppose it will be helpful to make special judgements when writing images, or even make a custom wrapper of setItem which automatically compares item changes and omit useless overwrites.
Hope it helps.

I agree with your comments in principle . However, depending on the type of tag being written, the file format, and whether padding is available, avoiding overwrites isn't necessarily possible. I also think in general taglib always renders and writes the entire tag to the file regardless of changes (i.e. there is no change tracking).
This discussion might be better held on the taglib repo since it really is about taglib, but for MP4 specifically, TagLib::MP4::File::save calls TagLib::MP4::Tag::save which in turn renders the tag data to a byte vector which is then written to the file, taking advantage of any free atoms to avoid unnecessarily rewriting the entire file. There are no checks for duplicate data, but it's unclear to me whether that would actually make a difference because the addition of any atoms (such as a new comment \251cmt) could force the rewriting of the entire file if there is no available or insufficient padding.
This isn't to say that there aren't opportunities for optimization. If you want to share one of the large files I'll be happy to run a test with taglib alone to ensure that it isn't AudioFile causing the issue, or you could open an issue on the taglib repo to bring in the real taglib experts like @ufleisch.

Interesting...
I tested some more files and found that it depends. 😕 When writing with literally nothing modified, it takes time (indicating the pictures are indeed overwritten, maybe), but not that much for every picture. The original picture is only ~86KB in size, but it takes up 3 or 5 seconds to save than a ~8MB picture, so very weird. In the end, the average writing speed is acceptable, ranging from 4 to 6 seconds each. I don't know why I got 30 seconds of waiting that day, and I cannot replicate a saving time beyond 10 seconds now. I have to admit that I was annoyed by that incidental outcome.

Thanks for your patience and useful comments! I don't think this issue is anymore urgent now, and I may later file an issue to taglib to propose this feature.
Should this issue be closed though?

I'll close this now since I think it's really a taglib issue but feel free to reopen the issue in the future if needed.


Decompiling just function

Hi.
How can I decompile only function by ranges?

try
./retdec-decompiler.sh --help

--select-ranges list        Specify a comma separated list of ranges to decompile (example: 0x100-0x200,0x300-0x400,0x500-0x600).

After decompiling I can not compile it! source code looks unrecognized, do you have any help with that??

@imatary You need to post your binary to decompile, the version of retdec you use, your exact commandline, and the output you get. And post in a new issue if it's not directly related to the initial problem, choosing ranges. (Note that retdec output isn't guaranteed to be directly C-compilable, it's just nice when it is.)

You cannot expect the output to be compilable, even if decompilation went ok. It is meant for human analysis, often along with disassembly. There are still many output quality issues, but as @silverbacknet said, if we are to solve them, we need to see the binary and decompilation parameters in question.


Boxes around text for annotation labels only appear after the chart is clicked

Description
The colored boxes used as a backdrop for annotations do not show up at all. There is a specific setup where you can get them to show up after clicking the chart once
Steps to Reproduce

Create a basic chart with this setup:

var options = {
    chart: {
        type: 'line',
        height: 600,
        width: 900
    },
    series: [{
        name: 'sales',
        data: [30, 40, 35, 50, 49, 60, 70, 91, 125]
    }],
    xaxis: {
        categories: [1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999]
    },
    annotations: {
        xaxis: [
            {
                x: 1994,
                strokeDashArray: 0, borderColor: "#775DD0",
                label: {
                    borderColor: "#775DD0",
                    position: "bottom",
                    style: { color: "#fff", background: "#775DD0", },
                    text: "Anno",
                }
            }
        ],
    }
}

var chart = new ApexCharts(document.querySelector("#chart"), options);

chart.render();

Look at it and notice the missing annotation text box (if you look closely, you will see that the text renders - it's just the backgroudn box that is missing)
Add toolbar: { autoSelected: "pan" } to options.chart
Look at the chart again. The textbox will still be missing.
Click the chart once. The missing text box will appear

Expected Behavior
The box behind the text should render in all circumstances initially and not be hidden or spawnable via clicking
Actual Behavior
The box is not showing up at all and there is a specific setup to get it to appear.
Screenshots
The annotation with the missing text box

Reproduction Link
https://codepen.io/moux369/pen/KKLXLrx

i am using firefox 126.0.1 on macOS 13.6.3

i didnt even think that it could be an issue with the browser, but now that you suggested it, i tried it out in safari, chrome and opera and it works fine there. firefox still no luck.

It's looking like it's a Firefox issue:
Firefox 127 on Windows 10

Firefox 110 on Windows 10


Initialize can be run many times

as shown here: https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/index.html#//apple_ref/occ/clm/NSObject/initialize.
To avoid this a condition has been added.

Coverage increased (+0.02%) to 94.94% when pulling 6e908842341c08f33990967e0fa713cd687cd265 on ws233:master into ed0a966effc2739739ed6a3dcfa42f5c251bbdcd on gali8:master.

Travis failed again :(

I re-ran the build and it passed. If it happens again I'll hop on the Travis Slack channel and see if someone can help us understand what's happening.
Nice catch, and thanks for fixing this. Merging and closing.


[website] Refine home, pricing and about pages (2)

Suggestion from @oliviertassinari, We are getting closer to the release 🥁. I have noticed the following issues that we might want to fix:

[x] https://deploy-preview-28039--material-ui.netlify.app/, the thumb goes too far on the right side

[x] https://deploy-preview-28039--material-ui.netlify.app/pricing/ there might be a column span issue

[x] GitHub stars are already out of date 😁

[x] Not sure about the color contrast of the selected plan in https://deploy-preview-28039--material-ui.netlify.app/pricing/

beforeafter

[ ] ~The social sharing image is broken, and we likely don't have the visual yet.~ it is because the new image is not release yet, I think let's review the image instead. @mbrookes suggest that the tagline should change so this image should change too. @danilo-leal what do you think about adding "building" from matt's suggestion?

https://cards-dev.twitter.com/validator

[ ] React nor Material are inside the first 100 characters of the home description. Isn't it key? Same illustration as above ⬆.
[x] ~Something in https://github.com/mui-org/material-ui/pull/27927#issuecomment-907466019 that I don't understand. @mbrookes please update my comment to clarify the problem and the change needed.~ @danilo-leal fixed it in that PR but it must have lost in code conflict in some PR. Anyway, fixed using danilo's code.
[x] I assume we need @mui/material in https://deploy-preview-28039--material-ui.netlify.app/?

and

[x] ~The structure here is a bit counter-intuitive, it's a button > div > a. It's not meant to be valid.~ may be later because it needs design change.

[x] This link is a 404, I propose we link https://medium.com/material-ui for the time being.

Suggestion from @mbrookes

[x] ~homepage title~ from the discussion, go with "framework".

-title="MUI: A popular React UI framework"
+title="MUI: A popular React UI component library"

[ ] homepage description

-description="The ultimate solution for your UI. MUI provides a robust, customizible and accessible library of foundational and advanced components, enabling you to build your own design system and develop React applications faster."
+description="The ultimate solution for building your UI. MUI provides a robust, customizible and accessible library of foundational and advanced components, enabling you to build your own design system and develop React applications faster."

There's something missing to balance with "solution". Solution to what problem? "building your UI" seems to be the problem statement. The alternative is to replace "solution" (or the whole phrase!) with something else...

[x] I have followed (at least) the PR section of the contributing guide.

The structure here is a bit counter-intuitive, it's a button > div > a. It's not meant to be valid.

@oliviertassinari to fix this, I think it needs design change. I don't think it is worth the afford at this point.

-title="MUI: A popular React UI framework"
+title="MUI: A popular React UI component library"

@mbrookes are you sure? I have seen multiple places are using "framework". I don't have strong opinion, either word works for me. @oliviertassinari what's your thought?

@oliviertassinari It seems that your argument is in favour of "library", but your conclusion favours "framework" because "reasons" 🤷🏼♂ . Most users won't see it, so not going to push it, but it seemed like a good opportunity to make it consistent with the content of the page.

@danilo-leal It seems that the (misaligned) sponsor header "radio buttons"s are back? (or never went away? I might have misremembered that you had removed them...):

@mbrookes I have no objections to use "component library". The conclusion was mostly suggesting that we sticking to something close to

When we introduced this headline, we were a bit ahead in the future, In v5 it feels like we worked on matching it much better.
"The ultimate solution for your UI" I personally feel that it's too ahead in the future, compared to what we provide today. As a new developers, I think that I would be a bit lost.

When we introduced this headline, we were a bit ahead in the future

Meanwhile Retool are pretending to be a component library 😆  (admittedly this is an ad targeting that specific search)

I'm fine with framework if you think it resonates. Perhaps we need to A/B test? Let's leave it for now - it hasn't hurt us so far (that we know about).

"The ultimate solution for your UI" I personally feel that it's too ahead in the future, compared to what we provide today.
As a new developers, I think that I would be a bit lost reading it.

I don't disagree. We've been struggling to make it work grammatically, but the problem goes a bit deeper than that – what does it even mean? I would have no objection to changing it (I did hint at that previously...)

I would propose we come up with different proposals, and have the team vote on the one that resonates the most.

🚀 Option a, current

SEO title: "MUI: A popular React UI framework"
SEO description: "The ultimate solution for your UI. MUI provides a robust, customizable, and accessible library of foundational and advanced components, enabling you to build your own design system and develop React applications faster."
Page h1: "The ultimate solution for your UI"
Page description: "MUI provides a robust, customizable, and accessible library of foundational and advanced components, enabling you to build your own design system and develop React applications faster."

⚠ too long, ellipse, we might want to shorten it.

🎉 Option b, it's skewed toward the core product, as a frequent entry point for using the library.

SEO title: "MUI - A popular React UI component library"
SEO description: "MUI provides a simple, customizable, and accessible library of React components. Follow your own design system, or start with Material Design. You will develop React applications faster."
Page h1: "Quickly build beautiful React UIs"
Page description: "MUI provides a simple, customizable, and accessible library of React components. Follow your own design system, or start with Material Design. You will develop React applications faster."

 With this option, I think that the release of the unstyled and joy components will warrant updating the headers. I also think that the release of a Studio would require to update the headers too.
👍 Option c, [please add]

I focused on the home, for the other product pages, assuming that the home would rank for existing queries of the homepage (MUI Core), The copywriting on these pages looks great to me

@danilo-leal It seems that the (misaligned) sponsor header "radio buttons"s are back? (or never went away? I might have misremembered that you had removed them...):

Forgot to do it. Done at [32c6c6](https://github.com/mui-org/material-ui/pull/28081/commits/32c6c66f514e8b0935da0bcff828482fcaa8d4e7)

Not related directly to this PR, but let's keep in mind to also update the readme when we decide on the marketing texts. The logo needs to be updated there as well.

The row editing feature in the pricing page is already available for all plans: https://material-ui.com/components/data-grid/editing/#row-editing

@siriwatknp @hbjORbj Olivier has left this comment on the already closed PR about the Careers page. I figure it's a good thing to tackle it here! Can some of you help out? Just hide this comment once resolved :)

There is a 404 reported by Moz's crawler:

Open https://next--material-ui.netlify.app/branding/careers/
Notice how https://next--material-ui.netlify.app/company/technical-product-manager/ is a 404

Could we fix it? :)

I have pushed a few small fixes, in case our audience of developers comes to check the implementation quality and use it to judge the rest. It's slick.
One thing that I can't figure out is why the page indicator triggers when we first load the pages (any). It's distracting. In #25889 we work on a public API.
Looking at the release history, It started with v5.0.0-alpha.33, deployed May 10th. Could it be a regression of behavior after #26233?

I've just noticed the section headers in the main navigation (like Layout, Inputs, etc. under Components) are buttons (even though they are not interactive). Was it done on purpose?


feat: add sorted set support in redis reload

Tested with sorted set data and was successful.

You can run dotnet test locally. You'll see this test case fails because I used sorted set as a case where the type was unsupported. You can update that to something else:
Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
[xUnit.net 00:00:00.73]     Momento.Etl.Cli.Tests.RdbJsonReaderTest.ParseJson_DataTypeNotSupported_Error(json: "{ \"key\": \"hello\", \"value\": \"world\", \"type"...) [FAIL]

  Failed Momento.Etl.Cli.Tests.RdbJsonReaderTest.ParseJson_DataTypeNotSupported_Error(json: "{ \"key\": \"hello\", \"value\": \"world\", \"type"...) [8 ms]
  Error Message:
   Assert.Equal() Failure
          ↓ (pos 0)
Expected: data_type_not_supported
Actual:   invalid_json
          ↑ (pos 0)
  Stack Trace:
     at Momento.Etl.Cli.Tests.RdbJsonReaderTest.ParseJson_DataTypeNotSupported_Error(String json) in /home/runner/work/momento-bulk-writer/momento-bulk-writer/tests/Momento.Etl/Cli.Tests/RdbJsonReaderTest.cs:line 46


Invoke-RestMethod inconsistent behavior of redirects

Steps to reproduce
Test using public service MockBin.
function invoke-restmethodtest($url ) {
  Write-Host "Invoke-RestMethod Url: $url"
  try {
    $res = Invoke-RestMethod -Uri $url -MaximumRedirection 0 -Method "GET"
    Write-Host "Request was successful"
    Write-Host $res
  }
  catch {
    Write-Host "Invoke-RestMethod threw exception"
    Write-Host $_
  }
}

invoke-restmethodtest -url "http://mockbin.org/redirect/303?to=http://mockbin.org/status/401/Unauthorized"

Expected behavior
Invoke-RestMethod Url: http://mockbin.org/redirect/303?to=http://mockbin.org/status/401/Unauthorized
Request was successful
See Other. Redirecting to http://mockbin.org/status/401/Unauthorized

Actual behavior
Invoke-RestMethod Url: http://mockbin.org/redirect/303?to=http://mockbin.org/status/401/Unauthorized
Invoke-RestMethod threw exception
See Other. Redirecting to http://mockbin.org/status/401/Unauthorized

Environment data

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.0.4
PSEdition                      Core
GitCommitId                    v6.0.4
OS                             Darwin 17.7.0 Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT 2018; root:xnu-4570.71.2~1/RELEASE_X86_64
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

This is based on my findings noted here: https://github.com/PowerShell/PowerShell/issues/2896#issuecomment-413299919
However, when I try to get a reproducible error using public HTTP services I can only reproduce some of the inconsistent behaviors.
In this ticket I only include what I could reproduce using a HTTP GET using MockBin.
The biggest issue for me in pwsh is that it didn't respect -MaximumRedirection 0 at all when used in my real case (which I could not reproduce using MockBin).

/cc @markekraus Could you please comment?

@anderssonjohan Can you get a repro for the auth issue you previously discussed?
The change in behavior here between 5.1 and 6+ is intentional. Saying you wish to redirect 0 times and being redirected is an error condition. This issue as stated here is a duplicate of #4534.


Add short living cache for get requests

via redis when we don't have etag / last_modified, e.g. 10 min

https://github.com/investigativedata/investigraph-etl/pull/71


Prevent user from adding duplicate relations

Perhaps prevent the user from accidentally adding duplicate relations.

At least during the Save Edit processing.

In fact after we add the first, it should be removed from the hints offered when making the second.

Here if I type an "A" the same item as just entered above is suggested.

(I don't know what the rest of the list was as it was off the screen due to other bug.)

@jidanni Some types of relations can have the same feature as a member multiple times, such as a road that a bus route traverses twice. Boundaries don't work like that, but I'm not sure if this is a big enough problem to spend time addressing.

Here's some more that I'm not sure how I made.

Clicking the "工" also showed the same two at top.
Only upon saving did they finally become resolved into one.

@jidanni Your screenshot shows duplicate tags, not duplicate relations. Let us know if you can reproduce that problem.

(OK trying again today with the tags part, I found it very hard to get a duplicate tag tip. So the tags part is working OK.)

Closing in favor of #7648.


In ClaimEndpoints and ClaimData get database name from config or connection string

Better yet, simply remove the database name check in the exception message.