[BUG] Window Reservation Limited to Standard Positions

Checklist before submitting an issue

[X] I have searched through the existing closed and open issues for eww and made sure this is not a duplicate
[X] I have specifically verified that this bug is not a common user error
[X] I am providing as much relevant information as I am able to in this bug report (Minimal config to reproduce the issue for example, if applicable)

Description of the bug
There appears to be no way to reserve space that is not relative to the following positions: bottom, center, left, right, or top.
Reproducing the issue
Add the following example window to the $HOME/.config/eww/eww.yuck configuration file:
(defwindow example
 :geometry (geometry :height "100%" :width "60px" :x "0" :y "0")
 :monitor 0
 :reserve (struts :distance "60px" :side "left")
 :stacking "fg"
 :windowtype "dock"
 "text")

Execute the following three commands:
eww open --restart example
eww open --restart --pos 200x100 example
eww open --restart --size 200x100 example

Expected behaviour
The first eww open --restart example command opens the window and properly reserves space for it. However, the reserved space of the other two commands does not move with the windows.
Additional context
Motivation
This issue is especially important for leftwm users, where physical monitors can be split into any number of workspaces. Attempting to reposition eww windows to a custom location currently seems impossible.
Related discussion and issues

https://github.com/elkowar/eww/discussions/592
https://github.com/elkowar/eww/issues/519
https://github.com/elkowar/eww/issues/582
https://github.com/elkowar/eww/issues/820

Related eww open options
$ eww open --help
OPTIONS:
    -p, --pos <POS>          The position of the window, where it should open. (i.e.: 200x100)
        --restart            Restart the daemon completely before running the command
    -s, --size <SIZE>        The size of the window to open (i.e.: 200x100)
        --screen <SCREEN>    The identifier of the monitor the window should open on

leftwm users can use its Gutters functionality as a workaround:

Gutters allow you to set a dedicated area for your dock if LeftWM cannot set this up automatically.

Yea, the EWMH struts I think have to be on a screen edge, thus this limitation is sadly just inherent to X (or rather, the EWMH spec). If leftwm has a specific workaround for this, then I'd recommend just going with that


Configure mount dir and windows drive letter

First, thanks for your great work, last release with separate distro and iptables is awesome 🎉 !
At work, some PC have Windows system in an other drive than C:, exemple D:.
You can also configure directory where drives are mounted, in /etc/wsl.conf, see https://docs.microsoft.com/en-us/windows/wsl/wsl-config:

Section: [automount]
root (default: /mnt/): Sets the directory where fixed drives will be automatically mounted.
For example, if you have a directory in WSL at /windir/ and you specify that as the root, you would expect to see your fixed drives mounted at /windir/c

I think you use these code to find real values:
https://github.com/wslutilities/wslu/blob/173da54ec9b138c1c5d13dd24398ed1d114024f8/src/wslu-header#L111-L146
function interop_prefix {

	win_location="/mnt/"
	if [ -f /etc/wsl.conf ]; then
		tmp="$(awk -F '=' '/root/ {print $2}' /etc/wsl.conf | awk '{$1=$1;print}')"
		[ "$tmp" == "" ] || win_location="$tmp"
		[[ "$win_location" =~ ^.*/$ ]] || win_location="$win_location/" # make sure it always end with slash
		unset tmp
	fi
	echo "$win_location"

	unset win_location
}

function sysdrive_prefix {
	win_location="$(interop_prefix)"
	hard_reset=0
	for pt in $(ls "$win_location"); do
		if [ $(echo "$pt" | wc -l) -eq 1 ]; then
			if [ -d "$win_location$pt/Windows/System32" ]; then
				hard_reset=1
				win_location="$pt"
				break
			fi
		fi
	done

	if [ $hard_reset -eq 0 ]; then
		win_location="c"
	fi

	echo "$win_location"

	unset win_location
	unset hard_reset
}

@philippe-granet Can you try it with the changes in #40? You can get the updated distro from the build artifact here.

@sakai135 I have tested with this  build artifact and all is OK for me, it works as expected.
Thanks! 😃


Path of the Spirits, Barbarian. There's a Bug with the 3rd Level Feature, Wolf Spirit Condition, and "Power".

So, I'd found an issue, but this time it's with the Path of the Spirits, Barbarian.
The Wolf Spirit Animal Pact thing or whatever it was called, lol, that you could choose as your 3rd Level Feature, the Condition only applies for 1 round/turn only, and not 10 rounds/turns, and it disabled itself once it became my Barbarian's turn again. A little birdie told me something, (AKA, Zappa, but we don't talk about that, 😉) but pretty much, it just ended the Wolf Spirit Condition on my Barbarian's next turn, when it's the "Power" that's supposed to end on my next turn, not the Condition, since the Condition should last 10 turns, (AKA, 1 Minute.) but based off of what Zappa said, the "Power" should only last until your next turn. (The "Power" that grants the Wolf Spirit Condition to your allies.) So, I'm assuming that once the Wolf Spirit "Power" ends on your next turn, it ends up disabling the Condition that applies to your allies, too. Kind of like how if you break or cancel a Concentration Spell, it ends the effects of it, too. I have a picture, but no clue if it explains/shows much of the issue.

It also seems like @anergyboy, from Discord, is having a similar issue? Image is down below.

Here's another Image below, if this explains the issue more in-depth.

fixed on DEV branch and also changed behavior a bit:
The spirit of the wolf makes you a leader of hunters. Any friend within 15 feet that can see you raging at the end of your turn will have advantage on melee attack rolls during their turn.

.


Update sshBrute.js and common.js

Just little correction, if you prefer to use ' then you need + operator, but if you use backtick then you can use ${variable}. I think you should use !passedValue && !expectedOpt.defaultValue than passedValue && !expectedOpt.defaultValue to check value, because it will give this output when i fill it with an integer value.
ERROR: run(): {"message":"Parsing the options","error":{"message":"Required option: delay","error":null}}
CMIIW

Sure!, my friend @sergiogr is in his first days with ES6 😄 , so thank you!
About the second one yes, you're right.
As you can see we're restarting the development, so you're going to see more broken things. But I'm starting to implement the unit test to avoid this kind of problems.
Thank you! :)

One thing more before the merge. Could you please add your name in the copyright section of the files you has touched? :).
ie: https://github.com/jesusprubio/bluebox-ng/blob/master/examples/contPentestSbD.js#L3

Oh ok i will put my name if you granted me to do that. Thanks :)


DisplayMonitor.FromIdAsync() always throws exception on 17134.48

Verified on two systems and both c# and c++/winrt that usual pattern of

getting device selector with DisplayMonitor::GetDeviceSelector();
getting device id using DeviceInformation::FindAllAsync(monitorSelector);
instantiating monitor instance with DisplayMonitor::FromIdAsync(id);
does not work as last step always throws ERROR_FILE_NOT_FOUND exception.

See recreation scenario here:
https://gist.github.com/jonitis/c4d35dd3a7ce8cf47d1f4cd5bf665f01
On the other hand DisplayMonitor::FromInterfaceIdAsync(interfaceId); works fine, but then you have to use win32 Win32EnumDisplayDevices() function to obtain device interface name for each monitor.

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

ID: 22e25d65-ef82-1126-215b-1f3823cd5b31
Version Independent ID: 627d452f-6d8b-9bd5-dab8-d709edc1c770
Content: DisplayMonitor.FromIdAsync(String) Method (Windows.Devices.Display) - UWP app developer
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.devices.display.displaymonitor.yml&version=GBlive&_a=contents
Service: unspecified
Product: windows
GitHub Login: @wdg-dev-content
Microsoft Alias: wdg-dev-content

Just noticed that if you pass DeviceInformation.Id() to DisplayMonitor::FromInterfaceIdAsync() then it works, as expected. So Id property of DeviceInformation actually matched the interfaceId obtained by Win32 EnumDisplayDevices() with EDD_GET_DEVICE_INTERFACE_NAME flag.
But then question arises that kind of input we are supposed to pass to DisplayMonitor::FromIdAsync() ???

Current documentation clearly states that FromIdAsync() deviceId argument is "The identity of the device (see DeviceInformation.Id)". Is DeviceInformation.Id field then filled with wrong value? Otherwise it would not make sense for existence of DisplayMonitor::FromInterfaceIdAsync() that is documented as used for interop with Win32 APIs.

Sorry about this, @jonitis. I'm looking into the issue, and I'll update the docs and get back to you when I have a definitive answer. Meanwhile, for what it's worth, I have found that if you pass that Id to FromInterfaceIdAsync instead of to FromIdAsync, then that works. You don't need to use a Win32 API. Here's my listing, in case it helps.
winrt::Windows::Foundation::IAsyncAction DisplayMonitorAsync()
{
const DeviceInformationCollection deviceInformations = co_await DeviceInformation::FindAllAsync(DisplayMonitor::GetDeviceSelector());
for (DeviceInformation const& deviceInformation : deviceInformations)
{
    try
    {
        DisplayMonitor displayMonitor1 = co_await DisplayMonitor::FromInterfaceIdAsync(deviceInformation.Id());
        DisplayMonitor displayMonitor2 = co_await DisplayMonitor::FromIdAsync(deviceInformation.Id()); // throws (see below).
    }
    catch (winrt::hresult_error const& ex)
    {
        HRESULT hr = ex.to_abi(); // ERROR_FILE_NOT_FOUND.
        winrt::hstring message = ex.message(); // The system cannot find the file specified.
    }
}

}

This code pass a reference across async steps. Remove this and I suspect the bug is fixed.
From: Steven White<EMAIL_ADDRESS>Sent: Tuesday, May 22, 2018 1:49 PM
To: MicrosoftDocs/winrt-api<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/winrt-api] DisplayMonitor.FromIdAsync() always throws exception on 17134.48 (#378)
Sorry about this, @jonitishttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fjonitis&data=02|01|chrisg%40microsoft.com|db131fd9c2d7462d78dd08d5c0257060|72f988bf86f141af91ab2d7cd011db47|1|0|636626189397253553&sdata=%2Fdst0tZmJspUDCan%2F0mgJNQj0oEDNnvnCNOlGdTO50w%3D&reserved=0. I'm looking into the issue, and I'll update the docs and get back to you when I have a definitive answer. Meanwhile, for what it's worth, I have found that if you pass that Id to FromInterfaceIdAsync instead of to FromIdAsync, then that works. You don't need to use a Win32 API. Here's my listing, in case it helps.
winrt::Windows::Foundation::IAsyncAction DisplayMonitorAsync()
{
const DeviceInformationCollection deviceInformations = co_await DeviceInformation::FindAllAsync(DisplayMonitor::GetDeviceSelector());
for (DeviceInformation const& deviceInformation : deviceInformations)
{
try

{

    DisplayMonitor displayMonitor1 = co_await DisplayMonitor::FromInterfaceIdAsync(deviceInformation.Id());

    DisplayMonitor displayMonitor2 = co_await DisplayMonitor::FromIdAsync(deviceInformation.Id()); // throws (see below).

}

catch (winrt::hresult_error const& ex)

{

    HRESULT hr = ex.to_abi(); // ERROR_FILE_NOT_FOUND.

    winrt::hstring message = ex.message(); // The system cannot find the file specified.

}

}
}
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fwinrt-api%2Fissues%2F378%23issuecomment-391135685&data=02|01|chrisg%40microsoft.com|db131fd9c2d7462d78dd08d5c0257060|72f988bf86f141af91ab2d7cd011db47|1|0|636626189397253553&sdata=1bONdVChP5fppns%2Fp8QSQPm5b3%2BgGSXSEIyMyAH5FpI%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACZCEIaxFzTJ60ta_6VsxGCoCg82sgCVks5t1Hm3gaJpZM4UIIEu&data=02|01|chrisg%40microsoft.com|db131fd9c2d7462d78dd08d5c0257060|72f988bf86f141af91ab2d7cd011db47|1|0|636626189397263562&sdata=cO0DDWRXnLRIVOfIOMCU62xE7I%2BU8Rc87DJCgcJwCC0%3D&reserved=0.

The bug is to do with passing an interface id where a device id is expected (I'm still investigating offline). Can you tell me more about the reference-passing question in this particular case? Do you mean that the variable named deviceInformation is a reference, and it's being passed into an Async method? I'm not clear on how the guidance here (https://docs.microsoft.com/en-us/windows/uwp/cpp-and-winrt-apis/concurrency#parameter-passing) is being contravened here. Am I wrong in believing that since the variable named deviceInformation is a reference to an element of the variable named deviceInformations, and deviceInformations will stay in scope for the duration of the coroutine, then the code above is sound? If not, I'd love to know exactly why and what the fix is. Thanks!

I might have this wrong but try removing the ref and see if it produces a different result.

Removing the ref produces the same result (but I believe that's b/c I'm passing the wrong type of Id to that function; and the other function took the same ref, and is also async, but that worked). However, I'm thinking that just because removing the ref doesn't fix the issue, that alone doesn't mean that the ref is ok. :) Nor that it's a solid approach in general. I'll take this up on the internal cppwinrt dl and see whether I can get super-crisp on the details there (e.g. I know I have to copy or move a std::vector into an async callee but I don't know whether that's what I have to do generally). While it's something I'd like to know, I do believe that this is an orthogonal question from the original issue, so I'm still investigating how to get the actual device Id for a DisplayMonitor (rather than the interface id).

Yep, I followed up off line and learned that I had this wrong. ref params to a function do suffer from the case I was thinking about.

@ChrisGuzak: right, it was good to bring that up, I'm now clearer on the best practices there.
@jonitis: I've pushed fixes to these topics to master; I expect those to get to live (that is, published) in the next 24 hours. Essentially the answer is that going back to your steps 1-3 in your original post at the start of this thread, that's all fine except you should call FromInterfaceIdAsync and not FromIdAsync. Steps 1 and 2 give you an interface id. So that's the recommended set of steps, and the topic for FromIdAsync was misleading. I've now fixed up all the affected topics, and added more links so that you'll be directed to the right API and get the right info.

Hi guys. Thanks for feedback.
But I forgot to emphasize that my concern is that it was not problem with wrong documentation, but actually with implementation of Windows::Devices::Display::DisplayMonitor class that is new in Windows 1803. I just have no better place to report platform bug. I've opened ticket at wpdev.uservoice, but not sure whether someone monitors it.
https://wpdev.uservoice.com/forums/110705-universal-windows-platform/suggestions/34291015-windows-devices-display-displaymonitor-fromidasync
My logic is that UWP has at least 50 concrete classes that implement GetDeviceSelector() method that returns AQS string, then it is passed to DeviceInformation::FindAllAsync() to get collection of DeviceInformation that each has ID property and finally specific classes implement FromIdAsync(id) to instantiate the object. It works this way for SerialDevice, SmartCardReader etc., but not for DisplayMonitor. The fact that there is distinct FromInterfaceIdAsync() method with specific purpose to work with APIs that are returned by e.g. Win32 EnumDisplayDevices() means that it should have different purpose than FromIdAsync(). So I want feedback from developers of that component (Windows.Graphics.dll) what kind of input FromIdAsync() is expecting. And, possibly, FromIdAsync() itself is actually correct, but the DeviceInformation instance for monitors is getting wrong Id() property value. Since id property is working fine when it is passed to FromInterfaceIdAsync() it hints that it is really interface id - not device id. So how do we obtain valid device id that can be used with FromIdAsync()?
Think about that all those 50 places in UWP API must be consistent. So it does sound good to "Always pass id to FromIdAsync(), but in this (broken) case use it FromInterfaceIdAsync()".
Windows SDK does not yet have samples for this new Windows::Devices::Display::DisplayMonitor API family. Searching the web also does not return any information. The only code in Microsoft codebase might be [Settings]-[Display]-[Advanced display settings] that shows the list of monitors. But most likely they do not use FromIdAsync(), but some other means to enumerate monitors.
Please pass this info to developers, not just fix documentation for possibly broken implementation.
P.S.
And there is no problem with passing args by reference - they outlive the function call since I explicitly block with .get() on async results. I've also tested it with C# with same exception.

Of course, I meant "it does NOT sound good to" (hide problem) :)

Here is the output from Win32 EnumDisplayDevices() calls:
Display adapter 0:
DeviceName = \.\DISPLAY1
DeviceString = Intel(R) HD Graphics
StateFlags = 0x00000005
ATTACHED_TO_DESKTOP
PRIMARY_DEVICE
DeviceId =
DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Video{0C0D3190-4DE2-11E8-9D24-00249B13949F}\0000
Display monitor 0:
DeviceName = \.\DISPLAY1\Monitor0
DeviceString = Generic PnP Monitor
StateFlags = 0x00000003
ATTACHED_TO_DESKTOP
MULTI_DRIVER
DeviceId = MONITOR\DELA0A3{4d36e96e-e325-11ce-bfc1-08002be10318}\0001
DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class{4d36e96e-e325-11ce-bfc1-08002be10318}\0001
DeviceId[DEVICE_INTERFACE_NAME] = \?\DISPLAY#DELA0A3#4&27e3cd2c&0&UID51249920#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
Display adapter 1:
DeviceName = \.\DISPLAY2
DeviceString = Intel(R) HD Graphics
StateFlags = 0x00000001
ATTACHED_TO_DESKTOP
DeviceId =
DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Video{0C0D3190-4DE2-11E8-9D24-00249B13949F}\0001
Display monitor 0:
DeviceName = \.\DISPLAY2\Monitor0
DeviceString = Generic PnP Monitor
StateFlags = 0x00000003
ATTACHED_TO_DESKTOP
MULTI_DRIVER
DeviceId = MONITOR\DELA0A3{4d36e96e-e325-11ce-bfc1-08002be10318}\0002
DeviceKey = \Registry\Machine\System\CurrentControlSet\Control\Class{4d36e96e-e325-11ce-bfc1-08002be10318}\0002
DeviceId[DEVICE_INTERFACE_NAME] = \?\DISPLAY#DELA0A3#4&27e3cd2c&0&UID53349120#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}

For some reason attaching output distorted double slashes with single ones. I will attach sample code snippet for EnumDisplayDevices() in a minute

https://gist.github.com/jonitis/c12ec3bc8a21b62241e17dd7586c0b85

@jonitis, yes, the Windows developer feedback site (https://wpdev.uservoice.com/) is the right place to file a product bug. There's also Microsoft Support (https://support.microsoft.com/contactus/). The comment section here is for feedback about the actual documentation.
However, I've been in touch with the product group for these APIs, and they concur with your analysis. “Thanks for the feedback. We acknowledge that this naming is inconsistent with the other Windows.Devices.* APIs. The reason is that DisplayMonitor.FromIdAsync actually takes PnP device instance paths, whereas DisplayMonitor.FromInterfaceIdAsync takes PnP device interface paths. DisplayMonitor.GetDeviceSelector returns a selector string to retrieve device interfaces and the default overload of DeviceInformation.FindAllAsync uses this to return interface paths from the resulting DeviceInformation.Id properties as well. We wanted to allow you to create a DisplayMonitor from either one in case you discover the device instance path (you can get to it in various ways using DeviceInformation or PnpObject APIs), but we should have made the “default” FromIdAsync method take interfaces since that’s the more common case and introduced a differently named method to take instance paths.”
I've captured the above info in the topics, now. Please let me know if there's anything else I can do to improve the documentation here. And thanks again for the feedback and your diligence in reporting these issues. We do regret the inconvenience.
-Steve

Thank you very much for prompt and detailed reply!
I've verified that indeed if I ask for additional property "System.Devices.DeviceInstanceId" in DeviceInformation::FindAllAsync() I can pass it to DisplayMonitor::FromIdAsync() and it works as expected.
So both API methods work as expected, although slightly confusing for users to figure out right arguments.
Please, please, please add those details about device instance paths vs. interface paths to method description. Mentioning ways how to obtain right ids would also help.

You're welcome, and yes I have added the details that you mention. There is now a code example for both FromIdAsync and FromInterfaceIdAsync showing how to call FindAllAsync and then construct a DisplayMonitor from a device instance id (using additional properties) and a device interface id, respectively. I've checked in that fix, and I expect it to appear on the live site within 24 hours. Please close this issue whenever you feel it's resolved. Many thanks for pointing this out!  ~Steve

FYI: currently there's a delay with my change in the publishing system: I'm working with an engineer to see what we can do to get it going. :)

Thanks!
Sample is very helpful. I've learned preferred way to use winrt::unbox_value to access properties :)
Closing as fixed

Thanks, @jonitis! :)


Best way to add sys dependencies of Python libraries?

I'm making a devenv setup to provide python and spaCy (which depends on zlib and libstdc++). I ended up with:
# devenv.nix
{ pkgs, ... }:
{
  packages = [ pkgs.zlib pkgs.stdenv ];

  languages.python.enable = true;
  languages.python.version = "3.11";
  languages.python.venv.enable = true;
  languages.python.venv.requirements = ./requirements.txt;

  enterShell = "export LD_LIBRARY_PATH=${pkgs.zlib}/lib:${pkgs.stdenv.cc.cc.lib}/lib:$LD_LIBRARY_PATH";
}

# requirements.txt
spacy==3.7

Is that the recommended way to do so? (Ideally I'd like nix itself to provide spaCy, so it and its dependencies are locked along with the rest of the config, but adding it to packages resulted in build errors)

Aha, I found https://github.com/cachix/devenv/blob/python-rewrite/tests/python-native-libs/devenv.nix Ok, nevermind. Though could the docs be updated to specify that case? A lot of python libs need that kind of setup, if that's the recommended way to go it should probably be made explicit.

@YPares, are you on the python-rewrite branch of devenv? If you upgrade to main, then you won't have to do the LD_LIBRARY_PATHshenanigans. See https://github.com/cachix/devenv/blob/main/tests/python-native-libs/devenv.nix.

@sandydoo I'm using devenv 1.0.5 (installed from nixpkgs).

@sandydoo Ok, I think I get the problem. I was using:
inputs:
  nixpkgs:
    url: github:cachix/devenv-nixpkgs/rolling

as my nixpkgs source. With it the env.LD_LIBRARY_PATH is still needed. Using cachix/devenv-nixpkgs/rolling it's no longer necessary indeed, and your setup above works.


Request For Clarification

I hope you're doing well! I recently came across your project titled "Checkbox-ReactNative" on your profile, and I noticed that it lacks detailed information about the project. As a potential collaborator or someone interested in the project, it would be helpful to have a clearer understanding of the following aspects:
-Project Overview.
-Technologies/Tools Used.
-Target Audience.
-Project Status.
-Challenges & Solutions.

Hi! Thank you for taking the time to check out my project, I appreciate your interest and your feedback about the need for more detailed information. I'll be sure to update the repository soon to provide a comprehensive view of the project.


Set CMake Standard Required

No complaints from cmake configure, cmake generate, or when compiling the generated VS2017 project.
-Brett


nixos/privacyidea: use sudo(8) that's configured via the module

Motivation for this change
I have a sudo built with --enable-static-sudoers to keep sudo working in a user-namespaced nspawn container. With privacyidea using the "default" sudo, it didn't start properly, so I figured it makes sense to use the system's "actual" sudo.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

tree wide?

@aanderse WDYM? :)

We reference pkgs.sudo in a number of modules. I think this change makes sense to apply tree wide, to all modules referencing sudo.

Fair, but I don't have the capacity to go through all affected modules and check them, so I guess it's fine to merge it now as it still contains a valid fix.

Can't blame a guy got trying! 😄 Thanks for this fix, though. It serves as a good example which someone else can pickup at some point.


Errors when running queueTrigger function from the portal

Investigative information
Please provide the following:

Timestamp: 06/13/2019 1:15 PM
Function App name: kiril-func
Function name(s) (as appropriate): QueueTrigger
Core Tools version: 2.7.1373

Repro steps
Provide the steps required to reproduce the problem:

Create new Function App project in VSTS
Create new QueueTrigger function
Deploy function
Go to the portal and click 'Run'

Expected behavior
Show error 'Unable to run queueTrigger function' or block Run button or allow some easy way to edit test data via portal.
Actual behavior
Function crashes with the callstack:
2019-06-13T20:16:11.641 [Information] Executing 'Functions.QueueTrigger' (Reason='This function was programmatically called via the host APIs.', Id=ed38142a-3c9e-47cc-be86-cb7e4c2affa5)
2019-06-13T20:16:11.780 [Error] Executed 'Functions.QueueTrigger' (Failed, Id=ed38142a-3c9e-47cc-be86-cb7e4c2affa5)
Result: Failure
Exception: ValueError: time data '9999-12-31T23:59:59.9999999+00:00' does not match format '%Y-%m-%dT%H:%M:%S.%fZ'
Stack:   File "/usr/local/lib/python3.6/site-packages/azure/functions_worker/dispatcher.py", line 285, in _handle__invocation_request
    pytype=pb_type_info.pytype)
  File "/usr/local/lib/python3.6/site-packages/azure/functions_worker/bindings/meta.py", line 298, in from_incoming_proto
    trigger_metadata=trigger_metadata)
  File "/usr/local/lib/python3.6/site-packages/azure/functions_worker/bindings/queue.py", line 93, in from_proto
    trigger_metadata, 'ExpirationTime'),
  File "/usr/local/lib/python3.6/site-packages/azure/functions_worker/bindings/meta.py", line 149, in _parse_datetime_metadata
    return cls._parse_datetime(datetime_str)
  File "/usr/local/lib/python3.6/site-packages/azure/functions_worker/bindings/meta.py", line 192, in _parse_datetime
    raise last_error
  File "/usr/local/lib/python3.6/site-packages/azure/functions_worker/bindings/meta.py", line 187, in _parse_datetime
    dt = datetime.datetime.strptime(datetime_str, fmt)
  File "/usr/local/lib/python3.6/_strptime.py", line 565, in _strptime_datetime
    tt, fraction = _strptime(data_string, format)
  File "/usr/local/lib/python3.6/_strptime.py", line 362, in _strptime
    (data_string, format))

Known workarounds
None
Related information
Provide any related information

Links to source
Contents of the requirements.txt file
Bindings used

<!-- Uncomment this if you want to include your source (wrap it in details to make browsing easier)
<details>
Source

```python
import logging

import azure.functions as func

def main(msg: func.QueueMessage) -> None:
    logging.info('Python queue trigger function processed a queue item: %s',
                 msg.get_body().decode('utf-8'))
```

Is the datetime that the worker trying to parse ( and fail ) coming from your test data?
Also looks like the issue is not that parsing is failing, but that portal doesn't disable the run button?

I didn't change anything, so there is no test data.
Yeah, I'm not worried about the failure since for the queue trigger you have to have actual queue event to work. The problem is that there is no way (at least I can't find one) to provide test queue message.

Sorry, not sure i understand the ask.
Are you looking for a way to test your queue trigger without using a queue?

I am seeing the same error. I contacted support and waiting to her back. Also found this: https://github.com/Azure/azure-functions-python-worker/pull/399

Support says they are unable to reproduce the error. I have reproduced 3 times already!!

You can test the queue trigger by download Microsoft Azure Storage Explorer -> Find the queue in the navigation -> click add message

I also encounted the same problem.
Exception: ValueError: time data '9999-12-31T23:59:59.9999999+00:00' does not match format '%Y-%m-%dT%H:%M:%S.%fZ'
Do you know has this issue been fixed? Or any workround that can skip the problem?  Thanks!!

@ShihMeng-Hsu, you should be able to use Storage Explorer to write to a test queue or you can also you use an Azure Function with a queue output binding for testing.

I have getting the same issue
Exception: ValueError: time data '9999-12-31T23:59:59.9999999+00:00' does not match format '%Y-%m-%dT%H:%M:%S.%fZ' even after using Storage Explorer.

+1 on this. Also getting that error when manually triggering a timer function with a queue binding output from the portal.

+1 on this. we are facing the same issue too

+1 We face with the same issue still.

Reopening the issue. Doesnt look like the original issue of this not working in the portal was ever solved.

The issue is due to Python's datetime datatype inability to support anything finer-grained than microseconds.
https://stackoverflow.com/a/10612166/862941

Fixed by https://github.com/Azure/azure-functions-python-library/pull/95.


Add filter delegation

A problem we've had with writing interactors is that filters do not compose in any meaningful way. Often we want to have a filter depend on another interactor to create better encapsulation. With filter delegation, building on filter methods introduced in #89, we can elegantly compose interactor filters.
An example:
const Calendar = HTML.extend<HTMLElement>("calendar")
  .selector("div.calendar")

const Datepicker = HTML.extend<HTMLDivElement>("datepicker")
  .selector("div.datepicker")
  .filters({
    open: Calendar().exists(),
    month: Calendar().find(Header()).text(),
  })
  .actions({
    toggle: async interactor => {
      await interactor.find(TextField({ placeholder: "YYYY-MM-DD" })).click();
    }
  });

In the future we may want to add support for delegated locators as well, but this is not included as part of this PR.
Depends on #89

How do we handle "portals" "wormholes" or other techniques to render "pseudo-children" where visually and in the component tree, the child is associated with the parent, but in the DOM, it is in a completely separate tree?
In these cases, we want to break context and escape to the top of the page.

You can use the Page interactor for this, since it provides a wormhole:
  .filters({
     contextMenu: Page.find(ContextMenu())
  })


Support for Chrome Webstore API

scopes = ['https://www.googleapis.com/auth/chromewebstore.admin']
credentials = ServiceAccountCredentials.from_json_keyfile_name('keyfile.json', scopes=scopes)

oauth2client.client.HttpAccessTokenRefreshError: invalid_scope: https://www.googleapis.com/auth/chromewebstore.admin is not a valid audience string.

The scope is https://www.googleapis.com/auth/chromewebstore.

That looks better, thanks. But is chromewebstore actually supported? I can't find it here.
Got my script working to this point:
googleapiclient.errors.UnknownApiNameOrVersion: name: chromewebstore  version: v1.1
Script:
from httplib2 import Http
from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials

SCOPES = ['https://www.googleapis.com/auth/chromewebstore']

credentials = ServiceAccountCredentials.from_json_keyfile_name('keyfile.json', SCOPES)
http_auth = credentials.authorize(Http())
chromewebstore = build('chromewebstore', 'v1.1', http=http_auth)

Hmm, I don't see to be getting that error:
>>> from googleapiclient import discovery
>>> discovery.build('chromewebstore', 'v1.1')
<googleapiclient.discovery.Resource object at 0x10d53c190>

Can you verify which version of the library you're using?
(Also, as an aside, you no longer need to construct your own http object, you can just pass credentials=credentials into build).

Installed with pip, should be latest.
pip freeze | grep google
google-api-python-client==1.5.1

I'm unsure why mine would work and yours wouldn't, we're on the same version.

I've tried again on two different machines, same result.
Installation
[ec2-user@ip-172-31-1-4 ~]$ virtualenv env
New python executable in env/bin/python2.7
Also creating executable in env/bin/python
Installing setuptools, pip...done.
[ec2-user@ip-172-31-1-4 ~]$ source env/bin/activate
(env)[ec2-user@ip-172-31-1-4 ~]$ pip install --upgrade google-api-python-client
Collecting google-api-python-client
  Downloading google_api_python_client-1.5.1-py2.py3-none-any.whl (50kB)
    100% |################################| 53kB 5.9MB/s
Collecting six<2,>=1.6.1 (from google-api-python-client)
  Downloading six-1.10.0-py2.py3-none-any.whl
Collecting uritemplate<1,>=0.6 (from google-api-python-client)
  Downloading uritemplate-0.6.tar.gz
Collecting httplib2<1,>=0.8 (from google-api-python-client)
  Downloading httplib2-0.9.2.zip (210kB)
    100% |################################| 212kB 2.2MB/s
Collecting oauth2client (from google-api-python-client)
  Downloading oauth2client-2.2.0.tar.gz (70kB)
    100% |################################| 73kB 5.9MB/s
Collecting simplejson>=2.5.0 (from uritemplate<1,>=0.6->google-api-python-client)
  Downloading simplejson-3.8.2.tar.gz (76kB)
    100% |################################| 77kB 5.4MB/s
Collecting pyasn1>=0.1.7 (from oauth2client->google-api-python-client)
  Downloading pyasn1-0.1.9-py2.py3-none-any.whl
Collecting pyasn1-modules>=0.0.5 (from oauth2client->google-api-python-client)
  Downloading pyasn1_modules-0.0.8-py2.py3-none-any.whl
Collecting rsa>=3.1.4 (from oauth2client->google-api-python-client)
  Downloading rsa-3.4.2-py2.py3-none-any.whl (46kB)
    100% |################################| 49kB 8.5MB/s
Installing collected packages: rsa, pyasn1-modules, pyasn1, simplejson, oauth2client, httplib2, uritemplate, six, google-api-python-client

  Running setup.py install for simplejson
    building 'simplejson._speedups' extension
    gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python2.7 -c simplejson/_speedups.c -o build/temp.linux-x86_64-2.7/simplejson/_speedups.o
    gcc -pthread -shared build/temp.linux-x86_64-2.7/simplejson/_speedups.o -L/usr/lib64 -lpython2.7 -o build/lib.linux-x86_64-2.7/simplejson/_speedups.so
  Running setup.py install for oauth2client
  Running setup.py install for httplib2
  Running setup.py install for uritemplate

Successfully installed google-api-python-client-1.5.1 httplib2-0.9.2 oauth2client-2.2.0 pyasn1-0.1.9 pyasn1-modules-0.0.8 rsa-3.4.2 simplejson-3.8.2 six-1.10.0 uritemplate-0.6

Script
(env)[ec2-user@ip-172-31-1-4 ~]$ cat python-client.py
# from googleapiclient import discovery  # I tried both
from apiclient import discovery
discovery.build('chromewebstore', 'v1.1')

Result
(env)[ec2-user@ip-172-31-1-4 ~]$ python python-client.py
Traceback (most recent call last):
  File "python-client.py", line 3, in <module>
    discovery.build('chromewebstore', 'v1.1')
  File "/home/ec2-user/env/local/lib/python2.7/site-packages/oauth2client/util.py", line 135, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/home/ec2-user/env/local/lib/python2.7/site-packages/googleapiclient/discovery.py", line 218, in build
    "name: %s  version: %s" % (serviceName, version))
googleapiclient.errors.UnknownApiNameOrVersion: name: chromewebstore  version: v1.1

Very weird, can you confirm that you can access it via the API Explorer?

That page is empty (see screenshot). It's not listed under Services either.

It seems that despite their being public documentation on the webstore API, it doesn't seem to be publicly available. I'll try to investigate and see why that is.

Thanks! Keen to get this working.

Any news?

Took me a while to find the right group of people. Reaching out now. Will update when I hear back.

Did you hear anything?

Unfortunately it seems like my research didn't bear any fruit. It does not appear this API has an owner.

Do people push updates indeed manually to the chrome webstore?? That's hard to believe.

@kevart I don't use or maintain the API so I can't really say what the usage looks like. I'm sorry we couldn't help you. :(

Sorry to comment on such an old issue, but has any headway been made on this in the past three years? I am running into the same issue as @kevart.

@Jamesargy6 I'll try looking around again.
Could you go to https://www.googleapis.com/discovery/v1/apis and tell me if you are able to find 'chromewebstore'?

Thanks @busunkim96.
Unfortunately no, I do not see chromewebstore on that page, nor do I see it here.

Thanks! Could you also tell me if this page goes anywhere for you? It looks like the API isn't listed on the list, but it's possible it's still public:
https://www.googleapis.com/discovery/v1/apis/chromewebstore/v1.1/rest

It seems that it is not. Here's the response I get from that link:
//<PHONE_NUMBER>5303
// https://www.googleapis.com/discovery/v1/apis/chromewebstore/v1.1/rest

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "notFound",
        "message": "Not Found"
      }
    ],
    "code": 404,
    "message": "Not Found"
  }
}

I've pinged someone on the Chrome Webstore Team to ask which parts of the API are meant to be public. Will update once I've gotten a response.

Opened internal issue 143879215

Thanks @busunkim96, I appreciate your following up on this.

@busunkim96
Any update on this?

I pinged an engineer on the team and it looks like they are actively investigating how to make this API public. Thank you all for your patience.

Googlers see 143879215

Hi, I am also very interested in this bug fix.
Any update @busunkim96 ?

@tcoatale I don't see any updates, but I've pinged the engineer working on the internal issue. I'll let you know when I get a response.

Update: this is still being actively worked on. Thank you all for your patience and apologies for the inconvenience!

I've requested an update. Googlers see b/160355251.

Is there any update on this?

@busunkim96 any luck on this issue ?


Tablet + WinForms non-touch-enabled controls sucks

It's pretty hard to use a tablet with winforms' controls that don't respect touch events whatsoever. For example, using simulated mouse clicks to try to open a dropdown will, as soon as the opening animation completes, collapse on its own.
This is a wide and difficult to handle issue for tablets and the solution in winforms might just be to simulate mouse clicks better. The only real alternative is switching to a more modern GUI like WPF.

"just simulate mouse clicks better" turns out to be the solution fortunately. Because the tablet service reads packets async, Dynamic Draw was reading the same one multiple times and firing many times because of it.

Closing as solution is merged


[DPP] Update licensing and legal documentation

Closing -> Duplicated as https://github.com/eclipse-tractusx/digital-product-pass/issues/330


Color for mesh primitive is not implemented correctly

The color attribute should be COLOR_0 as opposed to COLOR, and the color accessor should support VEC3 and VEC4 as opposed to just VEC3

PR created #123

Merged.


[#3431] Remove dotnet core 2.1 templates from vsix - Delete 2.1 bot projects

Addresses # 3431
Description
This PR deletes .NET Core 2.1 bot templates from VSIX.
Detailed Changes

Deleted the following bot projects:

CoreBot-Core21
CoreBotWithTests-Core21
EchoBot-Core21
EmptyBot-Core21

Testing
These images show the before and after of the extension. After applying the changes, only .NET Core 3.1 projects are shown.

💀 RIP DotNet 2.1 bots

Promoted to MS in PR# 3618


Starter Generator using CellMap-Models

Proposed scenario
starter_config = dacapo.starter.load("cosem.setup04")
@rhoadesScholar

OR How about instead:
from dacapo.experiments.pretrained import CellMapPretrained
architecture_config, starter_config = CellMapPretrained("coset/setup04/1820500")

solved now ! we have CosemStart


ns-status js format

changed splice/pop to array element
cleaned up ns-status

And thanks for simplifying the slice() stuff.  Assuming that works identically, your syntax is much easier to work with.

I haven't done any testing

It's unlikely that I'll be able to test these. I haven't run the app myself and possibly don't have the hardware for it. Was just looking through out of interest for some family members and ended up doing this out of boredom
I can close the PR or wait for someone else to test. Just let me know. Sorry about that

Ok, no problem at all.  These look like good changes: let's keep it open and we'll test it before merging.  Thanks!

Tested successfully.  Thanks for the contribution!


Increase max firewall log entries

Description
Simple change that performs the following:

Fixes a minor typo in the module's name
Increase the max 'number of entries' in firewall logs widget from 20 to 50 (those of us with larger screens appreciate seeing more data)

This PR is a minor change to expand the number of visible log entries.

[ ] Redmine Issue:
[X] Ready for review

You can set the number of entries to whatever you like in the widget settings, there is no compelling reason to change the default for everyone on every installation to suit the scenario you describe.

You can set the number of entries to whatever you like in the widget settings, there is no compelling reason to change the default for everyone on every installation to suit the scenario you describe.

Hi @jim-p,
I think you missed the point here. That's absolutely not what this does. The default can be set to whatever, but there is a hard limit of 20 imposed by the UI ( in the code that was changed, max="20" ). This PR only changes that hard limit to match the other spot in the code that pulls no more than 50 here.
Hope that clears things up.

You are right I misread where the change was. Sorry about that.


Improve vertical spacing (CSS)

There are a number of places in the UI where the vertical spacing could be improved:
form-group__text

In alerts
The last item of the alert has bottom padding, so is pushing the border down:

Internal pages
The spacing at the top and bottom of the page should be consistent / checked.

Screenshot Required: This issue will require an update to the visual design of the site. To help our team give you faster feedback, include a screenshot in your Pull Request.

/me thinks this is a good first issue, especially for someone familiar with CSS.

Does "internal pages" mean the Admin UI here, or just the logged-in UI? If it's the former, I think we can probably remove that as a requirement to close this issue.


[Tutorial] Add Paymaster + Wagmi tutorial and remove large .gif for OCK theme tutorial

What changed? Why?

Add new tutorial for Paymaster integration for Wagmi apps
Update links in OCK Fund tutorial
Remove large .gif file from OCK Theme tutorial

Notes to reviewers
How has it been tested?
yes

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1

Review Error for ericbrown99 @ 2024-11-04 18:37:55 UTC
User failed mfa authentication, see go/mfa-help


yarn.lock: run yarn upgrade

Description
Run yarn upgrade to force yarn to re-evaluate semver pins in package.json. This reveals some breaking changes in our dependencies, for example one new lint error due to a much newer typescript-eslint/eslint-plugin version (7.7.0 → 7.18.0).
Instructions for Reviewers
Please add a more detailed description of the changes made by your PR. At a minimum, providing a bulleted list of changes in your PR is helpful to reviewers.
List of changes in this PR:

Run yarn upgrade which makes many changes in yarn.lock
Fix new lint error

Include guidance for how to test or review your PR.
Try to run yarn install, yarn lint, and build the site in dev and prod modes.
Checklist
This checklist provides a reminder of what we are going to look for when reviewing your PR. You do not need to complete this checklist prior creating your PR (draft PRs are always welcome).
However, reviewers may request that you complete any actions in this list if you have not done so. If you are unsure about an item in the checklist, don't hesitate to ask. We're here to help!

[x] My PR is created against the main branch of code (unless it is a backport or is fixing an issue specific to an older branch).
[x] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & specs/tests), or I have provided reasons as to why that's not possible.
[x] My PR passes ESLint validation using npm run lint
[x] My PR doesn't introduce circular dependencies (verified via npm run check-circ-deps)
[x] My PR includes TypeDoc comments for all new (or modified) public methods and classes. It also includes TypeDoc for large or complex private methods.
[x] My PR passes all specs/tests and includes new/updated specs or tests based on the Code Testing Guide.
[x] My PR aligns with Accessibility guidelines if it makes changes to the user interface.
[x] My PR uses i18n (internationalization) keys instead of hardcoded English text, to allow for translations.
[x] My PR includes details on how to test it. I've provided clear instructions to reviewers on how to successfully test this fix or feature.
[x] If my PR includes new libraries/dependencies (in package.json), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
[x] If my PR includes new features or configurations, I've provided basic technical documentation in the PR itself.
[x] If my PR fixes an issue ticket, I've linked them together.

@alanorth : It's worth noting that I've found that yarn upgrade is not always great at finding versions of dependencies that actually will work well together.   Ideally, it should work, but every NPM dependency unfortunately is different...and some will add breaking changes in releases that are supposed to be minor.
It sounds like that's what you discovered here with eslint...even though (based on semver) version 7.18.0 should be compatible with version 7.7.0, it obviously is not.

@tdonohue yarn's dependency solver is only evaluating version metadata from our dependencies using the version strings we specified. So the problem is "ours" in that we may have semver strings that aren't correct, for example because we forgot to upgrade one dependency when upgrading Angular, or because an upstream introduced breaking changes in a minor release (the case of @typescript-eslint/eslint-plugin). The NPM ecosystem is better at this than Java, for example, but still not perfect.
Since 8.0 was recently released I wonder if it's worth doing a yarn upgrade and dealing with the consequences early in 8.1-next. The problems I highlighted here will come to the fore eventually...

@alanorth : I'd welcome cleanup of our package.json.  But, I was pointing out the @typescript-eslint/eslint-plugin version of ^7.2.0 seems like it would be correct if eslint-plugin was following semver, which says MINOR version when you add functionality in a backward compatible manner.
So, you are correct that we could improve the package.json.  I'd welcome that, but I suspect it won't be easy.  Currently, as you've seen, we have had a tendency to default to installing dependencies using Caret (^).  It sounds like you're recommending we do a more thorough analysis of our dependencies to determine which should switch to using Tilde (~) instead of always using that Caret approach.  (E.g. eslint-plugin may need to move to using Tilde, or we have to be ready to fix potential breakages whenever we upgrade.)
It's basically this sort of discussion: https://www.reddit.com/r/npm/comments/17boc2e/to_caret_or_not_to_caret/
Nonetheless, if we can get this cleaned up, I do agree it has the potential to make quick upgrades easier.

Yeah it's a bit of a slog. Well the issues will come out eventually.
The big question is when do we as a project run yarn upgrade? The ecosystem—ie, our dependencies and their dependencies and onward—is moving, and keeping our lockfile static for months at a time is kicking the proverbial can down the road. I would argue that we need a better dependency bot (like Renovate) to be aggressively proposing upgrades in the lockfile and letting our tests in CI unearth issues.

@alanorth : I'd welcome digging into a better bot option.  Currently, we are not running "yarn upgrade" frequently...and we tend to only upgrade dependencies when GitHub's dependabot notifies us of a security issue & sends a fix.
But, I'd welcome looking into whether we can have a bot automatically send us bug fix updates as well.

@alanorth : Regarding the lint error in this PR, we might need to upgrade eslint-plugin-unused-imports to 3.2.0 as noted here: https://github.com/vercel/style-guide/issues/107#issuecomment-2298914071


Is Attribute Routing Supported

@Sebazzz first thank you for creating this package it is exactly what I was looking for.
Currently I am using the following route:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/v{version}/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
My controllers are in the following directory structure:
Controllers
-Version1
--AccountController.cs
-Version2
--AccountController.cs (Inherits from Version1 controller)
Everything works perfectly but I wanted to see if your package supports attribute routing and if it does will it work when the Version2 controller is inheriting from the Version1 controller? I did attempt this but I got some key error which I have seen posted in the issues list before.
I am currently using version 2.8.0 of the package.
Thank you,
Ken

If you're using attribute routing I suggest you inherit both controllers from a base class, and putting a routeprefix in the version implementation. Otherwise, check out the newer beta version.

@Sebazzz I upgraded to the 3.0 beta as you stated.
Here is my configuration code which uses Autofac for by dependency injector:
`// Create our autofac dependency container.
ContainerBuilder builder = new ContainerBuilder();
        // Add controller to our dependency container.
        builder.RegisterApiControllers(Assembly.GetExecutingAssembly());

        // Add items to our dependency container needed for our api versioning.
        builder.Register(c => new DefaultControllerIdentificationDetector(config));
        builder.Register(c => new DefaultRequestControllerIdentificationDetector(config));

        // Build our dependency container and set as our dependency resolver.
        IContainer container = builder.Build();
        config.DependencyResolver = new AutofacWebApiDependencyResolver(container);

        // Setup our routes.
        config.MapHttpAttributeRoutes();

        // Set our url based api versioning.
        ApiVersioning.Configure(config)
            .ConfigureRequestVersionDetector<DefaultRouteKeyVersionDetector>();`

Again my controller configuration is as follows:
Controllers
-Version1
--AccountController.cs
-Version2
--AccountController.cs (Inherits from Version1 controller)
An example of a route attribute I placed on the version 1 controller:
[Route("v{version}/account/login")]
When I request this route using Postman I get a 404 error.
Can you confirm this setup should be supported using the beta version and if so what configuration changes do you recommend to pull it off?
Also what lifetime scope should be applied to the two items added to the dependency injector:
DefaultControllerIdentificationDetector
DefaultRequestControllerIdentificationDetector
Thank you in advance for any help you can provide.
Take care,
Ken


[DOCS] Replace linkshub.vercel.app with linkshub.dev in SECURITY.md file

Issue Description
I just noticed that secutity.md  have https://linkshub.vercel.app instead of https://linkshub.dev.
Additional Context
No response
Screenshots or Examples (if applicable)
No response
Proposed Solution (optional)
No response
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)

Hi @rupali-codes. Someone went ahead and made a PR for this issue. It looks pretty good, but I want to make sure we want to assign this person and accept it since you wanted to do it.


Minor changes to cython for roof duality

The exception changes from #516

Codecov Report

Merging #518 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #518   +/-   ##
======================================
  Coverage    93.6%   93.6%
======================================
  Files          49      49
  Lines        3442    3442
======================================
  Hits         3222    3222
  Misses        220     220

Continue to review full report at Codecov.

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

There’s also an option of subclassing std exceptions...

Indeed, which I would do for the other file compressed_matrix.hpp in this case I couldn't see any reason to have custom exceptions.


Separate graph drawing functionality from BT structure

As far as I understand, the graph field in BT struct is only utilized when and if someone wants to create a visual graph from the behavior tree. This means that everytime a behavior tree is constructed, the data related to drawing graphs gets constructed as well even though it may be useless. Would it not make sense to separate the graphing data away from the behavior tree's struct and perhaps construct the needed graph data on the fly when someone  wishes to make use of the graph?
Although it would probably be advised to cache your behavior trees in advance and clone them later during a life time of an application, if someone wishes to build behavior trees dynamically many times during a single frame of a game for example, getting rid of the graph stuff makes even more sense since it seems to be the "heaviest part" in behavior tree constructor.

Yes, good point. Currently graph build is only used for visualisation purpose which is useful when debugging your behavior tree. I think it the graph construction can be moved from the BT constructor function new to e.g the get_graphviz function


[BUG] deepstack process error: Cannot read properties of undefined (reading 'flatMap')

21-11-15 19:02:36 info: Double Take v1.7.0-e1c4174
21-11-15 19:02:37 info: MQTT: connected
21-11-15 19:02:37 info: MQTT: subscribed to frigate/events, frigate/+/person/snapshot
21-11-15 19:02:50 info: processing rlc-520: 73e7187b-3784-46ae-a3cd-c39bc169d416
21-11-15 19:02:50 info: processing RLC-520:<PHONE_NUMBER>.607379-994z9u
21-11-15 19:02:50 error: TypeError: deepstack process error: Cannot read properties of undefined (reading 'flatMap')
at Object.module.exports.normalize (/double-take/api/src/util/detectors/deepstack.js:68:39)
at module.exports.normalize (/double-take/api/src/util/detectors/actions/index.js:7:25)
at Object.module.exports.process (/double-take/api/src/util/process.util.js:142:33)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Promise.all (index 0)
at async Object.module.exports.start (/double-take/api/src/util/process.util.js:120:17)
at async module.exports.polling (/double-take/api/src/util/process.util.js:53:25)
at async Promise.all (index 0)
at async module.exports.start (/double-take/api/src/controllers/recognize.controller.js:148:7)
21-11-15 19:02:50 info: done processing rlc-520: 73e7187b-3784-46ae-a3cd-c39bc169d416 in 0.06 sec
21-11-15 19:02:50 info: {
id: '73e7187b-3784-46ae-a3cd-c39bc169d416',
duration: 0.06,
timestamp: '2021-11-15T18:02:50.782Z',
attempts: 1,
camera: 'rlc-520',
zones: [],
matches: [],
misses: []
}
21-11-15 19:02:51 error: url validation failed for latest: http://<IP_ADDRESS>/api/RLC-520/latest.jpg?h=500 - text/html; charset=utf-8 not valid
21-11-15 19:02:51 error: url validation failed for snapshot: http://<IP_ADDRESS>/api/events/1636999369.607379-994z9u/snapshot.jpg?h=500&crop=1 - text/html; charset=utf-8 not valid
21-11-15 19:02:51 info: done processing RLC-520:<PHONE_NUMBER>.607379-994z9u in 0.43 sec
21-11-15 19:02:51 info: {
id: '1636999369.607379-994z9u',
duration: 0.43,
timestamp: '2021-11-15T18:02:51.147Z',
attempts: 0,
camera: 'RLC-520',
zones: [],
matches: [],
misses: []
}

Hi,
what Im doing wrong? :)

Hello! Have you verified that http://<IP_ADDRESS>/api/RLC-520/latest.jpg?h=500 returns an image? Can you also post the relevant parts of your config so I can see how you have it setup?

http://<IP_ADDRESS>/api/RLC-520/latest.jpg?h=500

That returns 404 page from Nginx. :)

Please verify your URLs are correct. Frigate and DeepStack for example should never be on the same URL unless they are on different ports.

Hi.
I have changed config by adding port to frigate url:

frigate:
url: http://<IP_ADDRESS>:5000

and now Im getting only that error:

21-11-16 13:17:35 error: TypeError: deepstack process error: Cannot read properties of undefined (reading 'flatMap')
at Object.module.exports.normalize (/double-take/api/src/util/detectors/deepstack.js:68:39)
at module.exports.normalize (/double-take/api/src/util/detectors/actions/index.js:7:25)
at Object.module.exports.process (/double-take/api/src/util/process.util.js:142:33)
at runMicrotasks ()
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Promise.all (index 0)
at async Object.module.exports.start (/double-take/api/src/util/process.util.js:120:17)
at async module.exports.polling (/double-take/api/src/util/process.util.js:53:25)
at async Promise.all (index 0)
at async module.exports.start (/double-take/api/src/controllers/recognize.controller.js:148:7)

I cannot connect to Deepstack installed on Hass. Even if I put Deepstack in Docker on the other machine I see that "blue/red" icon is still red.
And here logs from Deepstack on the other machine:

[GIN] 2021/11/16 - 15:58:35 | 500 |          1m0s |       <IP_ADDRESS> | POST     "/v1/vision/face/recognize"
[GIN] 2021/11/16 - 15:59:05 | 500 |          1m0s |       <IP_ADDRESS> | POST     "/v1/vision/face/recognize"
[GIN] 2021/11/16 - 16:00:00 | 500 |          1m0s |       <IP_ADDRESS> | POST     "/v1/vision/face/recognize"
[GIN] 2021/11/16 - 16:00:19 | 500 |          1m0s |       <IP_ADDRESS> | POST     "/v1/vision/face/recognize"

Actual config of double-take hass addon:

mqtt:
host: <IP_ADDRESS>:1883
username: xxxx
password: xxxx
frigate:
url: http://ccab4aaf-frigate:5000
detectors:
deepstack:
url: http://<IP_ADDRESS>
key:
# number of seconds before the request times out and is aborted
timeout: 15


getTabs error in Arc Browser

When I tried to perform getTabs on the Arc browser I received this error:
[08:40:42.859] [info]
at async file:///Users/user/.kenv/scripts/save-tabs.js:5:12
at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
at global.getTabs (file:///Users/user/.kit/lib/browser.js:62:17)
at JSON.parse ()
[08:40:42.850] [warn] SyntaxError: Unexpected end of JSON input
[08:40:42.850] [warn] ☠ ERROR PROMPT SHOULD SHOW ☠

Did you see my comment here?
https://github.com/johnlindquist/kit/discussions/418#discussioncomment-4946368


Do a full test run of the signing stuff before releasing it as a new version.

I merged the changes, now it's time to test them and do anything else that might be required. Like adding Readme explanation on usage. But it's late and I'm tired, so gonna do this tomorrow. :P

Done!


New Task - Asserted distribution change

As a user, I need an interface to select all assorted distributions linked to a particular geographic area and reassign them (all or some) to another geographic area.
As a bonus: if OTU/geographic area combinations already exist, move the citations, and destroy the original asserted distribution records.

This is a good straightforward idea-  "Manage asserted distributions".  The model methods needed are very straightforward.  The form is as simple as previewing records from one, then another, then agreeing to merge.
Let's think about whether we need somethign more sophisiticated in terms of detection (what records could possibly be merged), reporting (how do I see outliers), etc.?

For me, I just occasionally run into something like Java. Which is an island of Indonesia. But Java also a province of Geogria, I think. We do not have a record for the Island, since it is subdivided into several provinces of Indonesia, which we do have. But not the Island. So I need to move about 100 records from Java (Georgia) to Indonesia.

fixed


[Change]: Define spec in a machine readable format (e.g. YAML, or other), and generate text from that

Summary
Define specification in a machine readable format
Source
Previous discussions in various meetings
Detail
Currently the spec is written in markdown text and markdown tables. This is a relatively accessible way to contribute to the spec, but it has the big disadvantage that it's difficult to generate downstream outputs. For example, the evaluation spreadsheet involves parsing the Markdown (using Sphinx libraries) which means it is liable to break in future.
Other disadvantages include needing to manually number everything, and being unable to have a user-modifiable view of the spec. Ideally the website would present a dynamic view of the spec, including allowing viewers to sort or filter by importance.
Ideally the spec would be written in a machine readable format, with all outputs (website, spreadsheet, anything else) generated automatically. The format could be something we define ourselves (e.g. YAML with our own schema), or we could see if there are exiting tools/format we can reuse.
Where
This would affect all files, but the content of the specificaiton wouldn't change
Proposal
See detail
Who can help
Everyone.

@manics , this would be a very useful feature to have especially as TREs starting evaluating our own environments against this.  I did put together a not-entirely-useless script that creates GitHub issues out of each specification. Hopefully, this allows us to assign people to these, discuss each one separately, and document them with a history of these discussions.
import time

import pandas as pd
from github import Auth, Github

user = "github_username"
pat = "personal-access-token-load-from-env-dont-store-in-code"
repo_name = "nwsde/nwsde-satre" # or similar

auth = Auth.Login(user, pat)
gh = Github(auth=auth)
repo = gh.get_repo(repo_name)

urls = {
    "Information Governance": "https://satre-specification.readthedocs.io/en/stable/pillars/information_governance.html",
    "Computing Technology": "https://satre-specification.readthedocs.io/en/stable/pillars/computing_technology.html",
    "Data Management": "https://satre-specification.readthedocs.io/en/stable/pillars/data_management.html",
    "Supporting Capability": "https://satre-specification.readthedocs.io/en/stable/pillars/supporting.html",
}

arr = []
for domain, url in urls.items():
    tables = pd.read_html(url)
    df_temp = pd.concat(tables)
    df_temp["Domain"] = domain
    arr.append(df_temp)

df = pd.concat(arr).reset_index(drop=True)
df = df.rename(columns={"Unnamed: 0": "Item"})
df = df.fillna("")

issues = []
for row in df.itertuples():
    i = repo.create_issue(
        title=f"{row.Item}: {row.Statement}",
        body=row.Guidance,
        labels=[row.Domain, row.Importance],
    )
    issues.append(i)

    time.sleep(10)

df.Item = df.Item.str.strip('.')

Nice idea, I didn't know Pandas could pull out HTML tables!
FYI we've got an automatically generated Excel spreadsheet https://satre-specification.readthedocs.io/en/stable/evaluation.html#evaluation-spreadsheet
that's built with a custom Sphinx plugin https://github.com/sa-tre/satre-specification/blob/8784f3ab8416da9fa98d07d5954ead82905c60ad/docs/extensions/satrecsv.py


swarm create fails with "remaining connection slots are reserved..."

Following the beginner's docs for OSX:
# Terminal started via Docker Quickstart Terminal app.
$ docker-machine create -d virtualbox local
$ eval "$(docker-machine env local)"
$ docker run swarm create

Results in pq: remaining connection slots are reserved for non-replication superuser connections.
$ docker --version
# Docker version 1.9.1, build a34a1d5
$ docker run swarm --version
# swarm version 1.0.0 (087e245)

# Virtualbox version 5.0.10 r104061
# OSX 10.11.1 (15B42)

Any ideas what I'm doing wrong or how the docs need to be updated?

Same issue here with Ubuntu 14.04 LTS. This was totally working for me the night before last. Using whatever version of docker is available in the Ubuntu's default repos. Can provide more detail if need be.

I also had "pq: sorry, too many clients already" error. After restarting docker, now I have the same error, "pq: remaining connection slots are reserved for non-replication superuser connections"

I'm having this error, too. I think node discovery with a token ID can be faulty in cases like this. Having a private discovery system should be strongly recommended. i.e. consul, etc. My nodes are all missing now and I have no means to access containers at the moment other than accessing each docker swarm host.

If you're using Docker Swarm Discovery, it's down since Friday check http://status.docker.com
also check issue https://github.com/docker/swarm/issues/1482 it's recommended to use a private discovery tool.

Please try with either a static node list or with a supporter k/v store (etcd, zk, consul).

I created a PR to add a documentation note with this advice. Thanks all for chiming in. I haven't yet tried setting up an alternate backend. I'll try to confirm that this works.

Thanks @ahaurw01 - closing this question


Replaced scp2-2022 library with ssh2-sftp-client

Task name: Ansible
Description:

Migrated from scp2-2022 library to ssh2-sftp-client
Downgraded ssh2 to 1.4.0

Documentation changes required: (Y/N) N
Added unit tests: (Y/N) N
Attached related issue: (Y/N)
Checklist:

[x] Task version was bumped - please check instruction how to do it
[x] Checked that applied changes work as expected

@v-gayatrij @LeftTwixWand @v-nagarajku this change broke the extension for us - we no longer able to copy files to remote VM.
Are there any changes required to Ansible playbooks and relative paths to make it work?

@PavelPikat the issue will be resolved by version 0.228.1 which is out now. Please check and confirm back.

Hi @PavelPikat, can you please mail us the logs of failure run (ie 0.228.0)


Bug: says insufficient funds when trying to stream G$

fixed here: https://github.com/GoodDollar/GoodCollective/commit/5e36c7d99567823e89b6d29dbb551c7a6d33c2d9

verified on prod


Web app showing blank chart

Web app showing blank chart after following everything as per the tutorial.

Connection string set correctly.
deployment successful.
sample monitoring is showing messages sent to Azure IoT Hub.

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

ID: 681e10a1-05d3-5761-2afd-42602a7efecf
Version Independent ID: f72e21b1-3530-8554-f1f1-fc66b222a485
Content: Real-time data visualization of sensor data from your Azure IoT hub – Web Apps
Content Source: articles/iot-hub/iot-hub-live-data-visualization-in-web-apps.md
Service: iot-hub
GitHub Login: @rangv
Microsoft Alias: rangv

My bad, I made a mistake in connection string. Working fine now.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

@sergaz-msft  @srinath9394  It seems problem in reading Data from IoT Hub .


Dev skip minification

Added an option to skip minification by adding <!— skip.minification —>

Looks good to me. Please add a test, then I'll merge. 👍

@GrahamCampbell i've added a test, I've never created tests before. Hopefully its up to your satisfaction.
I normally just code for myself and I just test while I code. This is all new to me. Hope this helps.

@GrahamCampbell let me know if you want additional tests

Updates?

@m1guelpf Graham doesn't want to approve this as the method is not for everyone. You can fork my branch if you want.
https://github.com/bramburn/Laravel-HTMLMin
It works for general HTML use.
Graham did mention it could be faster to just generate the HTML min on the fly.

Nearly good to merge. :)

Actually, will just merge as is, those other things are so minor. Thanks for the PR. :)


Mamba compilation error

Hello,
I followed the steps in the main Readme to setup the environment, but now I am stuck with the compilation of Mamba. Every time I try to run "python setup.py develop" in the mamba folder, I get a ton of issues, related to variables being undefined, for example "error: identifier "M_LOG2E" is undefined" in line 221 of mamba\csrc\selective_scan\selective_scan_bwd_kernel.cuh . Does anyone know what causes this behavior? The final error message can be seen in the screenshot:

I notice you compiled mamba on Windows. However, we've never tried with Windows. Maybe you could check out this disscussion


Add prescribed aerosols

This PR leverages the infrastructure for data handling I built for ClimaLand to read aerosol data from file.
I moved the code to ClimaUtilities. I didn't port over the tests yet because they are tied to ClimaLand. Also, we don't want ClimaUtilities to depend on TempestRemap/NCDatasets/Interpolations/XXX, so everything there should be moved to extensions.
Here's what happens:
High level:
New Fields are added to the cache. Every time the radiation callback is called, the values of the Fields is updated using data read from file. All the complexity is hidden away in ClimaUtilities. Users can choose what aerosols to add by specifying their names in the yml file (e.g, ["CB1", "CB2"]). These aerosols have to exist in a predefined and suitably preprocessed file.
The input file
The original input file with the aerosol concentrations is defined in lon, lat, lvl, time. First I converted this to pressure coordinates using the formula described in the CF conventions. Then, I assumed a simple hydristatic balance and converted to z with $P = P_0 exp(-z/H)$, where I hardcoded $P_0 = 1e5$ and $H = 7000$. Next, I resampled the entire file to be defined on the same $z$s (defined equispaced in hydrostatic pressure levels from 10 m to 50 km). This interpolation is linear and for those points for which data is not available (e.g., because they are below mountains), I used "copy" boundary conditions. I repeat this for every time in the original file. At the end, this procudes a new NetCDF file with the aerosol concentration as a function of lon, lat, z, time.
All of this is described in the artifacts/aerosol folder, where I provide a sketch of readme and the code.
(as discussed with @szy21)
Regridder
I perform linear interpolation separately across the different dimensions (lon, lat, z). I do this greedly: ie, every MPI process read the entire file to CPU and prepares an interpolation object for all the points (even those that do not belong to that process). This is memory intensive, but it won't be a problem for the aerosols (I think). Then, I move the object to the GPU, and I evaluate it for the points owned by the process, yielding a Field defined on the computational grid. I validated this regridder against TempestRemap and found that differences can be significant (20% relative error for the variable I was looking at). Interpolation is time is a linear interpolation across two snapshots (nearest neighbor interpolation is already implemented too).
Extrapolation conditions for interpotions in lon is periodic, in lat is "copy", in z and in time is "throw an error" (ie, no extrapolation is allowed).
Everything runs and is GPU and MPI compatible.
cc: @tapios @szy21 (@trontrytel too)
Steps to be completed:

[x] At the moment, I only processed one file and one aerosol, CB1. Repeat for what is needed, complete the artifact README.
[x] Write/ports tests in ClimaUtilities
[x] Move everything into extensions in ClimaUtilities
[x] Write documentation in ClimaUtilities
[ ] Release ClimaUtilities and merge this PR
[ ] Use aerosols :)

Thanks Gabriele! Just two quick comments from reading the description. I don't have a strong preference for any of them though, and we can discuss.

Would it be better to use copy for z and time too?
Would it be better to make the name of aerosols in the cache independent from the name in the input file?

Fantastic to see this land!
I'll have a closer look later. Just one detail now: We'll probably need extrapolation in z at the top and bottom in some cases, so this should be allowed. Linear extrapolation should be relatively safe.

Code (+ documentation) to create the artifact: https://github.com/CliMA/ClimaArtifacts/tree/main/aerosol2005


Add option to support illegal keys

@pvillard31 thanks for that. Will try to release sometimes later today

Wow, awesome :) thanks @trixpan !

Hey @trixpan - absolutely no rush here but let me know if you need something from me for a release. Have a very good WE!


Upgrade Espnet to latest community and use main repo

This change fixes espnet inference since it was using an experimental fork before.

The slowness issue is now fixed! Will merge this tomorrow. I did a copy of the GA workflow but it will be merged with the AllenNLP one in a follow-up

Nice, where is the slowness fix, can't find it here ?

We now specify beam_size=1 in ASR which makes inference considerably faster


Linked account addition cancel

Azure Data Studio Version:
Version 1.5.0-insider (also checked current stable version: 1.4.5)
Commit d4ffe53dbd46829c77243e52cf06a9d6bc782f43
Date 2019-02-18T03:33:14.025Z
VS Code 1.26.1
Shell 2.0.9
Renderer 61.0.3163.100
Node 8.9.3
V8: 6.1.534.41
Architecture x64
Steps to Reproduce:

Open "Manage linked accounts"
Click "Add an Account"
Click "Cancel"
Result:
Error message about adding account.

Expected behavior:
Operation is cancelled. No error message.

I was able to repro this behavior, there should not be an error message when cancelling.

Same issue: Entry not found in cache.
Version: 1.5.2 (user setup)
Commit: f74080c96310354bc92211f1826c0fdce78ca2f6
Date: 2019-03-22T06:25:26.627Z
VS Code 1.30.1

Electron: 2.0.12
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
OS: Windows_NT x64 10.0.17134


A SOLUTION is also a valid argument

Just like in the build command the main argument can be either a project file or a solution (sln) file.

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

ID: 211afdc7-c796-202d-239d-823f2a499dff
Version Independent ID: 9439897e-dcb3-bc2e-5cae-35c1ca2e0681
Content: dotnet publish command - .NET Core CLI
Content Source: docs/core/tools/dotnet-publish.md
Product: dotnet-core
GitHub Login: @mairaw
Microsoft Alias: mairaw

...and it would be good to explain the behaviour of publish with a solution file

yes, especially with the -output parameter

Fixed by #17196


HAPI FHIR public test server down

It seems the server is down again, getting a 502 gateway error when I try to go to:
http://hapi.fhir.org/baseDstu3
http://fhirtest.uhn.ca/baseDstu3
http://hapi.fhir.org/baseDstu2

Hello,
It seems FHIR Test server is down again. I am getting following error - "504 Gateway Time-out" since last couple of days.

Hey, guess it's down again, I get runtime error.

Please see the announcement here: https://groups.google.com/u/1/g/hapi-fhir/c/jMY934Fgf8w
The server has temporarily moved to http://test.hapifhir.io

https://hapi.fhir.org/baseR4/swagger-ui/
Server is down  again https://prnt.sc/IAoEXryPbHXI

Hi Team,
https://hapi.fhir.org/baseR4/swagger-ui/
Server is down again.


Getting "No client id supplied" exception

Hello,
I am trying to get the oauth flow working in my android app.
I followed the code snippet that is provided in this demo app, but i am getting an exception
{"error":"invalid_client","error_description":"No client id supplied"}
Here are the steps to recreate:

I get the login screen when i launch the app
i registered for an account, and then i login.
in the onloadresource method in "OauthWebViewClient" class,

first iteration: url = authapp://Default/Authcallback, but its not authorized, so it goes into the first if loop,
if (null == Uri.parse(url).getQueryParameter("code")) {
// We just being the oauth2 authorization loop. So we redirect the client to
// Sequencing website and ask the user to allow our app to use his data.
view.loadUrl(getOauth().getLoginRedirectUrl());
System.out.println(getOauth().getLoginRedirectUrl());
      }

;
-second iteration : url = https://sequencing.com/oauth2/authorize?[scope=demo, state=99cefce0cac5d2235fe9a6a4cf9d2e36, response_type=code, client_id=something, redirect_uri=authapp://Default/Authcallback]

third iteration : https://sequencing.com/favicon.ico [This is when i get the exception saying no client id.]

I even tried to add the client id , but it doesn't work. Do i need to make any more changes to the code than what is present in this demo code?
Please help.

Hi @nandinicbit1981,
Thank you for reporting this issue. Our API team is currently reviewing and will provide a response asap.
Thank you,
Brandon
Sequencing.com

In addition to above error, I was also getting an exception saying javascript was not enabled on my android browser, eventhough i had the setting enabled.
I had to add the following line of code  to the oncreate method in LoginSequenceActivity class.
myWebView.getSettings().setJavaScriptEnabled(true);

@BrandonColbyMD any updates on this issue?
I will be participating in the HackGenome on april 6th. This codebase is listed as a source for the OAuth for the same. Please let us know when this issue can be resolved.

Hi @nandinicbit1981 - the API team has identified the issues and will be updating the repo today with the fixes.
Fix that will be deployed today: update oauth2-core library to version 1.7

will resolve all issues you identified
previous version has corrupted redirect url, new version will resolve the javascript exception

Thank you for alerting us to these issues. I will ping you once this repo has been updated today.
Thank you,
Brandon
Sequencing.com

Hi @nandinicbit1981
Please see, project's sources have been updated.
Just notice, that you can also use sequencing android-oauth library instead of project source code, by adding dependency in your project: compile 'com.sequencing:android-oauth:1.0.22'.
See also example in Android-Master-Plugin-Plug-N-Play-Sample. [https://github.com/SequencingDOTcom/Android-Master-Plugin-Plug-N-Play-Sample]

Hi @nandinicbit1981 - please review the update provided above and let us know if you have any further questions. We're here to help so please reach out to us at any time. We also look forward to meeting you at the Microsoft-Sequencing.com Hackathon in a few days!
If we don't hear back from you by tomorrow (April 4) at 5p PT then we'll consider this issue resolved.
Thank you,
Brandon
Sequencing.com

@BrandonColbyMD @ksyuOk Thankyou both for a timely response.The issue is now resolved.
Really appreciate your help.


fix(si): support self update through symbolic links on macOS

When the launcher (i.e. the si program) is installed from a non-root user and when they don't have either $HOME/.local/bin or $HOME/bin currently in their $PATH, the launcher is installed to $HOME/.si/bin/si and a symlink is created at /usr/local/bin/si with a sudo call (that is, the root user owns the symlink as it is a system directory).
Prior to this change, when a self update was attempted (via calling si update --self) under the scenario above, the new binary would attempt to write itself to a temp file under the *symlink*'s  parent directory of /usr/local/bin`. This would cause an permissions error that looks like:
Downloading new binary
Replacing '/usr/local/bin/si' with new binary
Error:
   0: io: Permission denied (os error 13) at path "/usr/local/bin/.si.__temp__6DqCUt"
   1: Permission denied (os error 13) at path "/usr/local/bin/.si.__temp__6DqCUt"

Location:
   <unknown>

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

Additionally, if the non-root user happened to have write permission on /usr/local/bin, then the new binary would overwrite the symlink and install itself to /usr/local/bin/si, thus eliminating the symlink.
The detection of a symlink and its resolution by calling std::fs::read_link is provided via a fix in the upstream self-replace crate.
References: mitsuhiko/self-replace#18

I made sure to test this out on macOS by building the binary and getting the path to it with buck2 build bin/si --show-output, then making a symlink to it owned by root (i.e. chown 0:0) in a directory owned by root (so my user wouldn't be able to write the tempfile in the symlink's parent directory). That's how I was able to reproduce the error message in the commit before making the code change.

bors merge

I'll add that for anyone affected by this issue, you'll want to re-run the shell download script with:
curl -sSfL https://auth.systeminit.com/install.sh | sh

Or re-downloading a new release from the download page.


Bump babel dependency to latest 5.8.x

The latest Babel is 5.8.23

Go ahead and bump the package version too. Thanks!

Bumped a patch version, thanks!

@rtsao I just published as 0.3.19. Thanks again!


Clean up argo-lite readme and fix helm command

I was going through the exercise of spinning up argo-lite and noticed the helm install commands were missing.

Thank you for catching missing helm command, @jondlm!
README.md file had been reformatted by  @nkhare  recently and now helm install argo/argo-lite is included into README.


Fix docker credentials

I might extract the prettier part

@anbraten Do you still want to merge this (WRT to the cleanups) or close?


Is it possible to integrate Copilot, because it have free GPT-4 model?

Is it possible to integrate Copilot, because it have free GPT-4 model?
https://copilot.microsoft.com/
Microsoft’s Copilot is very similar to ChatGPT, with access to chatbot capabilities, image generation through DALL-E 3, and the ability to draft text for emails and documents. It also includes free access to OpenAI’s latest GPT-4 model, something you have to pay for if you’re using ChatGPT.

Oh this is good. Let me check on the link and see if we can do the integration.

Hi.
Maybe if you also can add https://bard.google.com/?
So people can try and see who give better answers.
BTW, great project.
Thanks.

I am pretty curious about this too. If you could make it compatible with the new Google Gemini (eventually Advanced, that would be great!) I personally like Gemini a lot when it comes to performance.

I am pretty curious about this too. If you could make it compatible with the new Google Gemini (eventually Advanced, that would be great!) I personally like Gemini a lot when it comes to performance.

Gemini is highly censored I don't think it's possible


Facade or multi-operation/ responsibility, non SOLID implementation for command handler?

In a 2020 Microsoft Architecture Article, is the promotion of a multi-responsibility class and Facade, particularly where each responsibility may have different dependencies, really the best way to demonstrate a command handler in practice?
Would CommandHandler<TCommand, TResult>, or simpler (e.g. standard result), with a concrete implementation for each, possibly displayed as a simple list in the article, be a better approach?
ICommandHandler --> TCommandConcreteHandler : ICommandHandler
Pseudo
ICommandHandler defines  Execute(TCommand command) returns GenericCommandResult

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

ID: 0c0ec92e-c237-f3a6-1835-f2078486dcb3
Version Independent ID: f597c9a2-f18f-3722-57f9-acd535472b0b
Content: CQRS pattern - Azure Architecture Center
Content Source: docs/patterns/cqrs.md
Service: architecture-center
Sub-service: cloud-fundamentals
GitHub Login: @dragon119
Microsoft Alias: pnp

Thanks for reporting - this issue is under review.  This is a Microsoft Internal DevOps Bug ID AB#271029

Hi @martinokeefe,
I would consider that neither approach is wrong. I believe the intent of the author was to meticulously walk through each step and describe the process in detail.


"Welcome users" sample is overly complex

Is your feature request related to a problem? Please describe.
The JS sample 03.welcome-users is confusing because it welcomes the user twice: once on a ConversationUpdate activity, and once when the user sends the first message. The code uses variables like didBotWelcomedUser and welcomedUserProperty, so it isn't clear which instance of welcoming they're tracking.
The sample also uses more concepts than necessary:

State (only required for the confusing 2nd welcome message)
Adaptive cards (not required, introduced in a future sample)

Describe the solution you'd like
This sample would be more clear and concise if it just introduced the ConversationUpdate activity, the only necessary concept to welcome a user.
[enhancement]

We have a DCR in-flight that will simplify this.  Please refer to the following and comment there.
C# can be found here:
https://github.com/Microsoft/BotBuilder/issues/5285
JS coming within a day or so


Confused about playing WebRTC video in Chrome with HEVC (H.265).

I have a confusion that I haven't been able to figure out, and I hope to get some guidance from experts.
Here's the scenario:

I have an RTSP stream that contains only video, but it's encoded in HEVC (H.265) without audio, so audio doesn't need to be considered.
When I use go2rtc to convert it to a playable WebRTC format, Chrome cannot play the stream.
I discovered that WebRTC doesn't support H.265, although my Chrome can play H.265 videos.

Considering this situation, do you have any suggestions? I'm feeling frustrated and hoping someone can help.

I have already tried converting the RTSP stream to H.264 using FFmpeg, and everything is working fine.


Workflow not working for globals

Not getting submit/commit option for changes to globals, can only edit Draft.

Are you referring to the lack of a dropdown menu for workflow in the dialog box for global settings? That's true and we should fix it. You can do it via the on-page "commit" button if there are areas in the global doc that get used on all of your pages, which is usually true, but it shouldn't be a requirement.

Yes, I don't see dropdown menu on global settings dialog but I also don't see commit option on page when I change a global.

You most likely would if you were using apos.area(data.global, ...) or
apos.singleton(data.global, ...) on the page, but you're right, it should
be available in the dialog box.
On Mon, Oct 30, 2017 at 2:00 PM, waqarini<EMAIL_ADDRESS>wrote:

Yes, I don't see dropdown menu on global settings dialog but I also don't
see commit option on page when I change a global.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/punkave/apostrophe-workflow/issues/115#issuecomment-340531630,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB9fdvWTa_WCETX5mJlXEyvMTzi6XEMks5sxg6rgaJpZM4QHvOm
.

--
*THOMAS BOUTELL, *SUPPORT LEAD
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

would like to store string in global, what widget should I use?

Well you shouldn't have to, we should fix this; or you could submit a PR if
you're in a hurry. The problem is that the edit template for
apostrophe-global is an override of the standard one and it doesn't include
the code you'll find in the apostrophe-pieces edit modal template for
rendering extra buttons.
On Mon, Oct 30, 2017 at 5:09 PM, waqarini<EMAIL_ADDRESS>wrote:

would like to store string in global, what widget should I use?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/punkave/apostrophe-workflow/issues/115#issuecomment-340585121,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB9fXyKc90sxdOUxHvVpt8eFjRcMckLks5sxjrtgaJpZM4QHvOm
.

--
*THOMAS BOUTELL, *SUPPORT LEAD
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

We fixed this a while back.

Hi @boutell , are you sure this is fixed? I'm trying to update my global page menu.
I'm using:
{{ apos.area(data.global, 'navigation', {
          widgets: {
            'navigation-link': {}
          }
        }) }}

I only get the submit & commit buttons when I add new elements to the area. Whenever I try to delete one or update one I have no chance of saving/committing the changes.
I'm running the latest version of ApostropheCMS and tried different browsers, including Chrome.

Hmm. Do you find that deleting or updating a widget works properly for the
page but not the global doc? If it works at all for the global doc, I would
not expect any difference in responsiveness between the global doc and
other docs.
However this ticket was about adding the "workflow" dropdown to the dialog
box that appears when you click the "global" admin bar item, which is an
alternate way to access the commit functionality.
On Sun, Mar 17, 2019 at 8:38 PM Funkhaus Creative<EMAIL_ADDRESS>wrote:

Hi @boutell https://github.com/boutell , are you sure this is fixed?
I'm trying to update my global page menu.
I'm using:
{{ apos.area(data.global, 'navigation', {
widgets: {
'navigation-link': {}
}
}) }}
I only get the submit & commit buttons when I add new elements to the
area. Whenever I try to delete one or update one I have no chance of
saving/committing the changes.
I'm running the latest version of ApostropheCMS and tried different
browsers, including Chrome.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apostrophecms/apostrophe-workflow/issues/115#issuecomment-473732629,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB9faAw4EJG2pTOMevhxppr9V32znXiks5vXt_8gaJpZM4QHvOm
.

--
Thomas Boutell, Chief Software Architect
P'unk Avenue |<PHONE_NUMBER>  |  punkave.com

Hi Tom,
yes it works fine for everything else, just not for the global doc. The widget content also doesn't appear in the "Global" menu tab. That one is completely empty.

Mmm, yes, because it is only edited in context.
I haven't been able to reproduce this so far.
On Fri, Mar 22, 2019 at 11:27 PM Funkhaus Creative<EMAIL_ADDRESS>wrote:

Hi Tom,
yes it works fine for everything else, just not for the global doc. The
widget content also doesn't appear in the "Global" menu tab. That one is
completely empty.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apostrophecms/apostrophe-workflow/issues/115#issuecomment-475835298,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB9fUpU0TQPALXodFoETipGUZ_oXIP3ks5vZZ80gaJpZM4QHvOm
.

--
Thomas Boutell, Chief Software Architect
P'unk Avenue |<PHONE_NUMBER>  |  punkave.com

Hi Tom,
I have sent you an email so that you can get access to the project. Maybe you have time to have a quick look if we do anything wrong.

If you'd like me to look at your internal project code we'll need to get an enterprise support arrangement in place. If you can reproduce this in a simple open source test project though I can look at that as soon as time permits.

If you'd like to discuss enterprise support be sure to reach out to<EMAIL_ADDRESS>