Use ModernHttpClient Instead of DefaultHttpClientFactory

Is there an easy way to replace the HttpClientFactory on the client so it uses ModernHttpClient's NativeMessageHandler? Could it be this easy?
public class ModernHttpClientFactory : DefaultHttpClientFactory
{
	/// <summary>
	/// Create the message handler
	/// </summary>
	/// <param name="client">The REST client that wants to create the HTTP client</param>
	/// <param name="request">The REST request for which the HTTP client is created</param>
	/// <returns>
	/// A new HttpMessageHandler object
	/// </returns>
	protected override HttpMessageHandler CreateMessageHandler(IRestClient client, IRestRequest request)
	{
		return new NativeMessageHandler();
	}
}

Yes, that's essentially it. Please don't forget to set the cookies, proxy, and credentials for the message handler.

You can get the proxy using:
var proxy = GetProxy(client);

Cookies:
var cookieContainer = GetCookies(client, request);

Credentials:
var credentials = GetCredentials(request);

Sorry I revised my original answer with the new implementation. The only thing I couldn't figure out when comparing it to the overriden code in DefaultHttpClientFactory was whether I handled the proxy correctly. Does it look correct to you?

Looks good to me.

Thank you so much! Now I just invoke it in my client using:
client.HttpClientFactory = new ModernHttpClientFactory();

I'm finally getting back to this and I have come across a couple of issues:

Cannot implicitly convert type 'RestSharp.Portable.IRequestProxy' to 'System.Net.IWebProxy'.
Cannot implicitly convert type 'RestSharp.Portable.IRestRequest' to 'System.Net.ICredentials'.

Could you please provide some insight into converting the proxy and credentials into the format expected by the httpClientHandler?


Update 'Building and testing Python' for Python 3.13

Why:

Python 3.9 thru 3.13 are the currently supported versions of CPython and they are now all available on GitHub Actions.

https://devguide.python.org/versions/#supported-versions

PyPy 3.9 is no longer downloadable from the PyPy Downloads site.

https://pypy.org/download.html

Upgrade from flake8 to ruff for code linting and formatting because ruff is far faster and more capable.  Flake8 is not compatible with Python modernization via pyproject.toml.

Closes:

What's being changed (if available, include any code snippets, screenshots, or gifs):

Check off the following:

[ ] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline (this link will be available after opening the PR).

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[x] For content changes, I have completed the self-review checklist.

@cclauss Thanks so much for opening a PR! I'll get this triaged for review ✨

@cclauss Thanks so much for opening a PR with this fix! I'll update the branch and get this merged once tests are passing 🍏


README: Vim (8.2.0929+) includes Elm Syntax Highlighting

Hint regarding the included syntax files in Vim

Unfortunately I've left Zaptic and so don't have access to merge this. Perhaps @melvisntnormal or @jgresty wouldn't mind merging?
Thanks for the effort to keep the info up to date @andys8.

Unfortunately I've left Zaptic and so don't have access to merge this. Perhaps @MelvIsntNormal or @jgresty wouldn't mind merging?

I can definitely take a look at this :+1:

Sorry about this guys, I have asked Ben for write access to this repository but haven't heard anything about it yet. I probably should have told him I wanted to merge this in. @benbabic ?

Done, and you shoud have access. @michaeljones you too, in case you want to change something

Thanks guys :) I'll try to handle stuff in the future. Shouldn't be too busy :)


Transfer CiviForm best practice badge

Hi, please transfer ownership of https://www.bestpractices.dev/en/projects/6008 from me to @nb1701

I've sent a confirmation email.

Done. Thank you!


webhook-service unallowed urls too strict

The webhook service invalid urls checking is currently too strict. The code currently checks the entire curl string.
This makes testing the webhook-service impossible to use when developing and testing integration on a local keptn instance.
Given the following curl, the webhook-service deems this as invalid whereas this should be valid IMO.
curl -X POST https://mysite.com \
--body {
  "foo": "http://<IP_ADDRESS>/someEndpoint"
}

Just because <IP_ADDRESS> is found in the curl body doesn't mean this should be an invalid request.

Hey @agardnerIT, thank you for the report. We are aware of this limitation and it is planned to be solved with Keptn 0.15. You can follow the relative ticket here: https://github.com/keptn/keptn/issues/7239
The idea is to provide the users with a more fine-grained configuration of which URLs are forbidden.


Bug in Frends.FTP.DownloadFiles PutDestinationFile

The _destinationFileDuringTransfer is not set correctly. For some reason the task uses some random local path with the filename: for example: C:\windows\system32\test_2022-08-25-15-19-36.txt. Even if the destination directory is set as: C:/SimpleFileTransfers/BugTestingFTPDownloadFiles.

This issue is resolved in PR #17


Fixes for Patronus integration

Changes

Updated custom to judge
Updated profile to criteria
Update the evaluator names and criteria

Testing

Ran testing script
Does not have full coverage but all files should work

Hey! Thanks for this update. It will be a part of the next release.


Onchange function getting triggered on each and every component render

Hey,
I am using react excalidraw package.  I am trying to do collaboration feature for 2 people. Both the people will share the below component. Let's say person A and person B. If person A changes anything in the whiteboard, it will inturn trigger onChange function, which will send data over socket and will be recieved by person B in the useEffect where I am calling updateScene API.
The only problem is I am running into infinite loop because onChange function is getting triggered by itself on each and every component render. Am I missing something?
This is what my component returns :
  return (
<Excalidraw
          ref={props.innerChildRef}
          width={width}
          height={height}
          initialData={InitialData}
          onChange={onChange}
        />
)

This is the onChange function :
const onChange = (elements, state) => {
    console.log("onChange:::::::::::::::::::::::::::::::::::: :", props.role, elements, "State : ", state);
    props.sendWhiteboardSocket(elements)
  };

This is my useEffect for updating elements upon receiving elements prop :
useEffect(() => {
  if (props.elements && props.innerChildRef && props.innerChildRef.current) {
    let newElements = reconcileElements(props.elements)
    let sceneData = {"elements" : newElements}
    props.innerChildRef.current.updateScene(sceneData);
  }
}, [props.elements, props.innerChildRef]);

@ad1992 @dwelle  Could you please help me here?

Even if I directly use the react excalidraw package, on the page load itself it called onChange function twice, without doing anything in the whiteboard. Is it really the desired behaviour?

@CV1928 yes currently onChange gets triggered everytime comp updates but this shouldn't happen. Will make the change so that it gets called only on elements or appState change.
As a workaround, you can cache the version you get using getSceneVersion and check if the version has changed and perform the actions accordingly

Will make the change so that it gets called only on elements or appState change.

I don't think we should be doing that just yet. It'll slow down the update loop, especially when we rewrite the getSceneVersion to account for appState, and change the algo to be more resilient (not simply summing up element versions).

@dwelle didn't get you. For host triggering onChange callback would make sense only when elements/appstate changes right ?  when do you think onChange will be needed to be called apart from these cases?

Of course it shouldn't. What I'm pointing out that it'll impact perf of:

excalidraw.com (unless we do it inside the package).
Potentially even the host app, because the host apps may want to do their own diffing. For example, if they debounce whatever they're doing with the changes, there's no point in resolving the changes until needed. Or they may not care about some changes: in excalidraw.com, the getVersion() is super simple right now, but soon we'll  want to migrate to a more involved algo (resolve appState...). Host apps may not need that granularity.

If the change resolving was free, then I'd say let's do it. That said, my intuition may be off, so we should measure it — but we should measure the soon-to-be resolver, not what we do right now (sum up element verisons).

AFAIU onChange should not affect the perf of the host and since we are passing appState and elements so unless any of those change the callback is not useful and gets triggered unnecessarily so we can try optimizing that.
Even if we include appState in versioning still we would expect a change in Appstate/elements so it can be helpful.

@ad1992 Any tentative time by when you can do this change. Caching also is a problem. I am having n instances of excalidraw on my webpage. Maintaining cached state for all of them is actually a headache. Is there anything else I can do here?

Completely optimizing onChange would take some time as we need to figure out what all cases we need not call onChange callback. But we will roll out the optimization in patches very soon. Since you are maintaining multiple instances of Excal so you would be having some kind of mapping among the instances right so you can use that to maintain version cache mapping in memory ?

@ad1992 @dwelle  Suppose I am saving excalidraw 'elements and appState' in Database and on page refresh, I am fetching that state to updateScene in useEffect. How do I make sure that the 'Excali instance is loaded' and saved in 'excalidrawRef' before I invoke updateScene Api of Excali?
I mean useEffect can't listen to 'excalidrawRef' being updated, right?
useEffect(()=>{
    console.log(excalidrawRef.current) //null when useEffect runs due to 'value' change on page refresh
    if(excalidrawRef.current){
      let objectValue = JSON.parse(value) //parsed stringified value saved to db : {elements:[], appState:{}}
      excalidrawRef.current.updateScene(objectValue);
    }
  }, [value, excalidrawRe.current])

By the time excalidrawRef is updated, useEffect due to value has already been executed. And Since excalidrawRef.current is null at that time, It wouldn't update the scene. Now even if excalidrawRef.current is updated after the component returns JSX, it wouldn't again go to useEffect again. So scene couldn't be updated at all.

You can do two things:

subscribe to excalidrawRef.current.readyPromise(callback)
use a callbackRef instead: it's what we're doing for excalidraw.com (with a bit of sugar), see https://github.com/excalidraw/excalidraw/blob/9dd2257932f458cc5a873138e51f0c745a79f187/src/excalidraw-app/index.tsx#L168-L171

I'm having trouble with this as well, especially if the elements get set back to []. Is there a more robust way to expose versioning information?

I found a hacky way to only retrieve changes from the elements by using use-debounce. If you want to save the elements to the backend, this will help reduce number of changes and the request to the backend using ws/http req.
import { Excalidraw } from "@excalidraw/excalidraw";
import { ExcalidrawElement } from "@excalidraw/excalidraw/types/element/types";
import { useEffect, useState } from "react";
import { useDebounce } from 'use-debounce';

const Canvas = () => {
  const [elements, setElements] = useState<readonly ExcalidrawElement[]>([])
  const [value] = useDebounce(elements, 1000);

  useEffect(() => {
    console.log(value.filter(e => e.isDeleted === false));
  }, [value])

  return (
    <div className="excalidraw-customs" style={{ height: '100vh' }}>
      <Excalidraw theme="dark" onChange={(elementsList) => setElements(elementsList)} />
    </div >
  )
}

export default Canvas

i do have the same problem
i had a useEffect function that run each time onChange run but the problem is I do change a state in the useEffect so each time chnage the onChange rerun so the useEffect rerun so I get a infinty loop that make my app crash , so i fix it this way .
the useEffect run undependant on the onChange and run each 50 ms so I thing that sole the probelm
`
useEffect(() => {
const intervalId = setInterval(() => {
setAppState()
setElements()
setSelectedElements()
setSelectedTypes()
}, 50);
    return () => clearInterval(intervalId)
}, [])

`

Do we have any updates on this issue?


Batuhan

#2 comment

Can you please leave an explanation of changes in the pull description title?

Can you please leave an explanation of changes in the pull description title?

Of course. This changes are about the my software skills. My purpose is only to develop my skills. These are only little issues.


Remove composer deprecated option --dev

No need for --dev option since it's deprecated and used by default.

thanks a lot! :)

any idea why "This branch has conflicts that must be resolved" ?

Yes, I forgot update the branch with the latest changes from master. No shouldn't cause any conflicts anymore.

thx


Snapshot/Archive fails

In FirebaseStorageEngine.ts, the _directoryExists method always return false in some studies.

Couple notes on this:

If the _sequenceArray file is missing, the snapshot will fail. This is by design since, it shouldn't have any data if there is no sequenceArray. I'm opening a separate issue to check for errors when trying to create snapshots
@hilsonshrestha experienced an issue with snapshots deleting the _sequenceArray, but we cannot recreate the bug. Everything is now working as expected with no change.

I'm closing this for now until we notice this issue again where we can further debug.


Limit the emoji displayed on a project summary to 8

Long running projects tend to accumulate lots and lots of emoji; when really we only care about the last few months.

So  the limit should be 3-4 right?

I'm not sure, I don't remember how we group the emoji; I thought they were
by month, so if we want 2montha then we'd want 8 emojis
On Sunday, January 31, 2016, Krystyna Ewing<EMAIL_ADDRESS>wrote:

So the limit should be 3-4 right?
—
Reply to this email directly or view it on GitHub
https://github.com/zincmade/capacitor/issues/133#issuecomment-177599775.

--
Typed with thubdgjs


Consolidate  and updatedocumentation with https://github.com/picoctf/start-problem-dev/

Consolidate the start-problem-dev with this repo, which has more examples and diagnostics like https://github.com/picoCTF/start-problem-dev/tree/master/common-errors

Include more information on the "why" for design here, and what is the minimum required.  A few examples:

Most users shouldn't need to set Challenge Options, and the fact it's in all examples is confusing. People ask "how do I know what values to set here" when they typically shouldn't have to worry about it.
# PUBLISH 5555 AS socat is the most confusing.  If we explain to people why that is there -- to hook up the problem creation template engine to the specific exposed port in a network setup -- it would help alot.  (Indeed, this could be better designed all around, but the point is we tell people the spec but not why it's that way, leading to confusion)

Another example is the "seed" parameter. Unclear how it's used, and users just default to something like [1].


Debug sessions that read user input hang when running consecutive sessions

I've reproduced this behaviour with both debugpy and lldb-vscode.
Reproduction using debugpy: create a sample file that reads input, eg
someData = input()
print(someData)

set a breakpoint in the second line (as to not quit the session after reading the input) and start to debug. The first session should work as expected. Start a new session and send input to the console. It will close automatically, and the session will hang. Subsequent sessions will loop between working and hanging. The issue does not happen with bare nvim-dap (ie, without dap-ui).

DAP config for Python
dap.configurations.python = {
    {
        -- The first three options are required by nvim-dap
        type = "python", -- the type here established the link to the adapter definition: `dap.adapters.python`
        request = "launch",
        name = "Launch file",

        -- Options below are for debugpy, see https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings for supported options
        console = "integratedTerminal",
        program = "${file}", -- This configuration will launch the current file if used.
        pythonPath = "/usr/bin/python"
    },
}

It is essential to have console set to integratedTerminal to allow the redirection of input.
Here's the dap.log.

This is a nvim-dap issue, not sure why you're not seeing it without nvim-dap-ui (you might be deleting the buffer between runs?). Anyway I've opened a PR to fix the issue

you might be deleting the buffer between runs?

That was it! Sorry to bother 😅


CMake support for Win32 desktop apps

Will it be possible to use CMake to generate a Visual Studio solution for using C++/WinRT XAML UI's for Win32 desktop applications with 3.0?

Since WinUI is a Windows only concept, what's the benefit of supporting CMake?
The different between CMake and MSBuild is much more significant than .NET side. I think it's much harder than supporting .NET Core SDK.

CMake simplifies generating a Visual Studio solution for a 3rd-party C++ SDK I use.  Being able to use WinUI 3.0 with that work flow would be beneficial.

CMake simplifies generating a Visual Studio solution for a 3rd-party C++ SDK I use.  Being able to use WinUI 3.0 with that work flow would be beneficial.

@huoyaoyuan CMake is a very popular C++ build tool and MSBuild for C++ is horrific to deal with.

@huoyaoyuan CMake is a very popular C++ build tool and MSBuild for C++ is horrific to deal with.

Following on from #4127

it is possible to create a basic window with WinUI3 controls in cmake, without using the Xaml compiler
the standalone Xaml compiler executable no longer exists, and is only available via msbuild
while it's possible to create the window, many functions are coupled to xaml; for example, Frame.Navigate() takes a xaml_typename.

while it's possible to declare a winrt type and get a winrt::xaml_typename for it, Frame.Navigate() eventually wants an IXamlType. This is impractical without a xaml compiler
this could be fixed by adding additional overrides - for example, add Frame.Navigate(Page), allowing me to pass in an instance instead of a type

I'm looking at making cmake invoke msbuild just for xaml generation

--
As for 'why cmake?':

I have an existing cmake project I'm considering migrating
I don't want to learn a new build system just to use a different UI library
More generally: while for a windows-specific project I'm happy to learn a windows UI library, the bulk of my work is macos+linux or windows+macos+linux; I want to minimize the amount of windows-specific tools I have to learn
the vast majority of cross-platform libraries are easy to integrate with CMake, but very few have nuget/msbuild support.

I'm looking at making cmake invoke msbuild just for xaml generation

It looks like MarkupCompilePass2 depends on a ClCompile task being used for the app, so this doesn't seem workable. Could just be I don't understand how it's meant to work - it doesn't appear that the related targets fully describe their dependencies. For example, if I delete all generated files/build artifacts (e.g. git clean -ffdx), msbuild App1.vcxproj -target:MarkupCompilePass2 fails with XamlCompiler error WMC1007: Cannot resolve metadata for WinUI types. Please ensure that Nuget Restore was successful. - but the step completes fine if I skip the -target argument.

Are you able to make cmake use the msbuild/Visual Studio generators? Would make things a lot easier, most likely.
I believe msbuild App1.vcxproj -target:MarkupCompilePass2 would work if you run a nuget restore or msbuild App1.vcxproj -target:Restore beforehand (since git clean removes the installed nuget packages, just like how e.g. you'd have to run npm i after a git clean to restore NPM packages)

Are you able to make cmake use the msbuild/Visual Studio generators? Would make things a lot easier, most likely.

In general, this still needs the targets to be defined in cmake, it just uses msbuild as an execution engine - or do you have something else in mind?

I believe msbuild App1.vcxproj -target:MarkupCompilePass2 would work if you run a nuget restore or msbuild App1.vcxproj -target:Restore beforehand

Even with the packages installed, it still fails - and the Restore target also fails, even though they're present:

msbuild App1.vcxproj -target:Clean;Restore;MarkupCompilePass2

  Determining projects to restore...
Restore:
 Nothing to do. None of the projects specified contain packages to restore.

... and then it fails the same way. I'm using the winui3 app template, and it seems the packages are installed a level higher than the vcxproj, but are referenced by it.

I resurrected my attempt at building only the xaml + idl stuff with msbuild, and have made some progress; I'll try to update my demo project later this week. Still a WIP, but just for  reference in case my drive dies or something, this seems to be the magic set of targets needed to make this work:
-target:ResolveReferences;_Midl;BuildGenerateSources;MarkupCompilePass1;CppWinRTMakeProjections;ComputeReferenceCLInput;MarkupCompilePass2
This at least gives me all the .g.h, .g.cpp, and .xbf files I expect.
Right now this gets me a partial build in my real app; next up:

fix that full build
update my demo app to try

As an aside, cmake has some xaml and IDL support - but for modern stuff, it's limited to c++/cx, not C++/winrt; there's some legacy IDL support for standard C++.

As an aside, cmake has some xaml and IDL support - but for modern stuff, it's limited to c++/cx, not C++/winrt; there's some legacy IDL support for standard C++.

@fredemmott - If you have a well-defined list of asks for CMake support, I can contribute this to upstream CMake. No promises though :) And, feel free to message me internally. Thanks!

VS_PACKAGE_REFERENCES

Microsoft's docs say "C++ and JavaScript project types are unsupported."; I thought I read recently that this had changed, but I'm unable to find a source or test right now.

https://github.com/microsoft/react-native-windows/issues/8171 indicates it's supported now

@bhardwajs ignore me for now; some of these may have been fixed with CMake 3.23 which came out in April; I was still on 3.22. Will experiment and report back :)

@bhardwajs ignore me for now; some of these may have been fixed with CMake 3.23 which came out in April; I was still on 3.22. Will experiment and report back :)

Sounds good. Thanks!

Is there a dependency on Directory.Build.Props somewhere and are you doing out-of-source build (recommended) in CMake? If so, there is the issue of CMake not working very well with Directory.Build.Props.

yep, I'm doing an out-of-source build; project is in c:\users\fred\code\cmake-cpp-winrt-winui, the build is in the build subfolder of that
there is no mention of Directory.Build.Props in the generated vcxproj, or in my cmake code
there is _DirectoryBuildPropsFile = Directory.Build.props in the binlog
wsl find . -iname directory.build.props finds nothing

Compared to a working project started from the winui template, saw that <Midl><OutputDirectory> is not specified; if I remove       <OutputDirectory>$(ProjectDir)/$(IntDir)</OutputDirectory> manually from the vcxproj, I can proceed past this step.
Next up:
"c:\Users\Fred\code\cmake-cpp-winrt-winui3\build\src\DemoApp.vcxproj" (default target) (1) ->
(CppWinRTMakePlatformProjection target) ->
  C:\Users\Fred\.nuget\packages\microsoft.windows.cppwinrt\2.0.220608.4\build\native\Microsoft.Windows.CppWinRT.targets
(661,9): error MSB3073: The command ""C:\Users\Fred\.nuget\packages\microsoft.windows.cppwinrt\2.0.220608.4\build\nativ
e\"cppwinrt @"DemoApp.dir\Debug\DemoApp.vcxproj.cppwinrt_plat.rsp"" exited with code 9009. [c:\Users\Fred\code\cmake-cp
p-winrt-winui3\build\src\DemoApp.vcxproj]

not seeing an obvious cause for that yet, suspect it might be related to   VS_GLOBAL_ResolveNuGetPackages false

Okay, got that one:
  VS_GLOBAL_CppWinRTEnabled true

I need to remove this from CMake: it is mutually exclusive with CppWinRTPackaged, which I want instead, and is automatically set if !CppWinRTEnabled.
<Midl>
  <OutputDirectory>

This needs removing and I think it needs changes to CMake - https://gitlab.kitware.com/cmake/cmake/-/issues/21668 might be one approach (an additional target property) might be one approach
Next problems appear to be "my C++ code is invalid" rather than build system so I'll poke some more and hopefully it's just the midl/outputdirectory change that's needed

[build] C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(502,5): warning MSB8021: The value 'MultiByte' of the variable 'CharacterSet' is incompatible with the value 'true' of the variable 'WindowsAppContainer'.

Doesn't block the build, but it's not overridable and I'm guessing it's incompatible because it may cause issues. The generator sets it depending on the target type.

Here we go: https://github.com/fredemmott/cmake-cpp-winrt-winui3
It's undocumented, but basically just needs... a lot of digging through msbuild and cmake stuff to figure out what properties etc are needed.
Requires CMake 3.23 (April 2022) and Windows App SDK 1.1 (June 2022) - i.e. this has only became possible in the last ~ 2 weeks.

Key components

CMake file for executable: https://github.com/fredemmott/cmake-cpp-winrt-winui3/blob/c96bb7a4d71738b817a623a90fa93e6b93fafedc/src/CMakeLists.txt
https://github.com/fredemmott/cmake-cpp-winrt-winui3/blob/c96bb7a4d71738b817a623a90fa93e6b93fafedc/src/Directory.Build.targets fixing up stuff
Hybrid CRT (optional): https://github.com/fredemmott/cmake-cpp-winrt-winui3/blob/c96bb7a4d71738b817a623a90fa93e6b93fafedc/HybridCRT.cmake

Issues/requests for improvement in cmake handling

[ ] Remove the need for Directory.Build.targets

[ ] Fix or remove Midl.OutputDirectory setting from cmake generator, or fix its' handling in the relevant MS-provided msbuild files (not sure if they're from c++/winrt, this project, or VS)
[ ] Automatically include module.g.cpp when any xaml files are being generated with C++/WinRT

[ ] make pch.h unneeded - currently the generated files require it, and these contents: https://github.com/fredemmott/cmake-cpp-winrt-winui3/blob/master/src/pch.h
[ ] figure out or fix actually precompiling pch.h in this set up - target_precompile_headers()  gets me the error in the next section
[ ] Support install() for self-contained deployment neatly (i.e. not DIRECTORY/CODE/SCRIPT)
[ ] Support modes other than self-contained unpackaged

I'm not planning on looking at these; I think I'm done on cmake/msbuild yak shaving for now, and this unblocks me cleaning up my real app (which currently has cmake shell out to msbuild)
PCH error
[build] Generated Files\XamlTypeInfo.Impl.g.cpp(631,1): fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "C:/Users/Fred/code/cmake-cpp-winrt-winui3/build/src/CMakeFiles/DemoApp.dir/Debug/cmake_pch.hxx"' to your source? [C:\Users\Fred\code\cmake-cpp-winrt-winui3\build\src\DemoApp.vcxproj]

ResolveNuGetPackages

I also have this problem with pure msbuild in the unpackaged app template if I replace packages.config and the target import with:
  <ItemGroup>
    <PackageReference Include="Microsoft.Windows.CppWinRT" Version="2.0.220608.4" />
    <PackageReference Include="Microsoft.WindowsAppSDK" Version="1.1.1" />
    <PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.1" />
    <PackageReference Include="Microsoft.Windows.ImplementationLibrary" Version="1.0.220201.1" />
  </ItemGroup>

cppwinrt has had work to enable being used with a PackageReference, but I'm not sure abuot the other NuGet packages here.
However, WIL can be brought in using vcpkg instead of NuGet, and the SDK build tools NuGet can be entirely ignored as long as the Windows SDK build 22621 is installed locally.

Yeah, a few issues to work around; sadly several of the core “
modern Microsoft projects - including the windows app sdk -  are only supported via nuget; externalprojevt_add and directory props/targets may be a more reliable to deal with them.
vcpkg can be handy, but AIUI it’s primarily intended for each system to have a active version of a dependency for all projects they want to build, instead of projects being able to specify version constraints that the package manager satisfies just for that project?
it feels like there’s really two C++ package management camps at microsoft: nuget is the future, and vcpkg is the future. Neither had complete support across tooling.
https://developercommunity.visualstudio.com/t/use-packagereference-in-vcxproj/351636 Seems the most detailed resource about vcxproj project references - it’s definitely not “supported now” as I thought :(

it feels like there’s really two C++ package management camps at microsoft: nuget is the future, and vcpkg is the future. Neither had complete support across tooling.

What I'm seeing is WinDiv prefers NuGet, while DevDiv prefers vcpkg. But since DevDiv owns NuGet, and for them the future of C++ package management is vcpkg, they do not seem to be making efforts towards making NuGet better to publish for and consume from C++

My real app now seems to basically be working with this :)
Extra things:

non-XAML IDL files must have DependentUpon set correctly via the VS_SETTINGS source property. If you consistently name your files and stick to one idl/xaml/h file, https://github.com/fredemmott/OpenKneeboard/blob/0acc0568973194eeb206ec22bfab11bcf4c5d885/src/app/app-winui3/winui3-boilerplate.cmake#L38-L72 does the trick but is a bit painful
cmake change request: I have other targets (mostly static libraries) that use c++/winrt but don't use WinUI. Ideally, if I set VS_PACKAGE_REFERENCES on an INTERFACE library, these would propagate to dependencies, but they don't. Without that, I'm using a package reference for the winui executable, but https://github.com/fredemmott/OpenKneeboard/blob/0acc0568973194eeb206ec22bfab11bcf4c5d885/third-party/cppwinrt.cmake for the other stuff. To avoid issues,versions must exactly match, and must specify -in ${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION} instead of -in sdk or -in local

Combined with https://github.com/microsoft/microsoft-ui-xaml/issues/3863 there's lots of small improvements that could be made to CMake to make things a little better, but making winui3 with c++/winrt actually 'good' would require big changes across multiple MS projects - either:

fully support C++/winrt, WIL, Windows App SDK, windows SDK tools without msbuild at all.

NuGet packages are fine (as they're just a zip), as long as their msbuild rules/files are not the only supported way to do things
The XAML compiler is the biggest issue; IIRC an executable is planned for v1.2 of the windows app sdk, but it's unclear how practical generating its' json input will be without msbuild
Self-contained deployment of the windows app sdk also requires msbuild; even an xcopy batch file in the nuget package would be fine for this with cmake :)

fully support <PackageReference> in MSBuild for C++ projects.

Fully remove the need for custom Directory.Build.props and .targets file; no nuget asset reference errors
Would also want to modify cmake to support VS_PACKAGE_REFERENCES for INTERFACE libraries for this one

@bhardwajs one more thing: None-self-contained mode depends on msbuild rules adding the bootstrapping libraries to <Link><AdditionalDependencies>, and this doesn't work in cmake (I've stopped using self-contained mode because of #7281)
CMake's MSBuild generator completely overrides AdditionalDependencies, removing these; the normal thing in msbuild outside of cmake seems to be to set it to <AdditionalDependencies>foo.lib;%(AdditionalDependencies)</AdditionalDependencies> instead of just <AdditionalDependencies>foo.lib</AdditionalDependencies>
For now, I'm working around this by adding %(AdditionalDependencies) to CMAKE_CXX_STANDARD_LIBRARIES. This feels brittle, and interferes with standard toolchain configuration. I also tried an IMPORTED INTERFACE library, however the msbuild generators appear to ignore SUFFIX and IMPORTED_SUFFIX, and always append ".lib" - it would also feel pretty brittle that %(AdditionalDependencies) works as an IMPORTED_LIBNAME
I suggest modifying cmake to do one out of:

always put %(AdditionalDependencies) into the dependencies of msbuild projects
as above, but only if there's a VS_PACKAGE_REFERENCE (i.e. when it's likely that there's a nuget package that's trying to add library dependencies)
adding a target property to control whether %(AdditionalDependencies) is included; possibly default to on, or on if VS_PACKAGE_REFERENCE is present

Of course, it would be better if WinUI3 and the Windows App SDK supported and documented systems other than msbuild :p


Add support for icon-fonts for custom emojis

Currently, custom emojis are limited to single image files. It would be great though if one can use custom non-image "emojis". This is especially useful if you want to support icons from icon-fonts such as FontAwesome or material-icons.
My idea how to realize this looks as following:

Custom emojis get a new optional property html
If the html-property is not set, the emoji will be rendered as an image with the defined source (url)
If the html-property is set, the url-property will be ignored and instead the html code will be rendered instead of the image

This allows setting e.g.  as html.
If such an approach sounds reasonable, I'd like to help implement it.

The background for this issue: I'm one of the devs of @codimd. We're currently re-building our app and want to include your emoji-picker as it performs quite well. As we allow users to insert ForkAwesome icons, we wanted to integrate that into the picker without the need for single image files.

Thanks for opening the issue. I think it's an interesting idea to allow for generic custom HTML elements, but I have some concerns:

In general, I see icon fonts as a legacy format for a time when browsers didn't handle SVG very well. Even in the case of FontAwesome/ForkAwesome, there are SVG versions that can be used. This has several benefits, such as not using fonts for something other than their intended purpose, being able to have separate SVG files or simply setting the url to /bundle.svg#icon-name to do selective bundling with <symbol>s, being able to animate the SVG icons, etc.
Allowing people to insert arbitrary HTML here opens us up to security vulnerabilities in the case of unsafe user-supplied HTML (e.g. XSS attacks inserting a


how to let me drop object to the not predecided control

This Dragdrop is awesome.
In my case , i want to drop one usercontrol to other control , now i can drog and move one control , but the target object can't not be decided , i may drop to A  or B  or C , can you give some hint how to do ? thank you very much !

You can implement the DragEnter and DragDrop events in your target controls events like shown in TestForm.cs
See tab "compatibility"

Thanks for your reply.
now i just make a list<> , add controls to the list, then pass the list as target.  and also i can get the drop event of  target controls,  but i want pass some argument to target , i dont know how todo .
My code like this:
source event:
       private void Wave_MouseDown(object sender, MouseEventArgs e)         {             var moveVave = (WaveCtrl)sender;             var waveList = new List<WaveCtrl>();             waveList.Addd(allWaves[0]);// allwaves is also a list which has many wave elements             waveList.Add(allWaves[1]);             waveList.Add(allWaves[2]);             moveVave.InitializeDragAndDrop()                 .Move()                 .Immediately()                 .WithData(moveVave.ClientID)                 .WithPreview().RelativeToCursor()                 .To(waveList, (target,ClientID) => target.ClientID = ClientID); //  i want to pass value "ClientID"  of Wave  to target wave, i don't know it si oK or not. }
with target contorl :
   `  wave.DragDrop += Wave_DragDrop;

  private void Wave_DragDrop(object sender, DragEventArgs e)
    {
        MessageBox.Show(((WaveCtrl)sender).SectionID.ToString() + e.Data);
    }

`


Cloudflare.cloudflared version 2024.3.0

Checklist for Pull Requests

[ ] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@wingetbot run

Hi @vedantmgoyal9,
The package didn't pass a Defender or similar security scan. This might be a false positive and we can rescan tomorrow.
(Automated response - build 871.)

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-03-21 20:35:17.103 [FAIL] Installer failed security check. Url: https://github.com/cloudflare/cloudflared/releases/download/2024.3.0/cloudflared-windows-386.msi Result: 0x80004005

(Automated response - build 871.)

@wingetbot run


Percent-Encoding Normalization

does this package offer IRI normalization? For example turning this:
https://en.wiktionary.org/wiki/Ῥόδος
into this:
https://en.wiktionary.org/wiki/Ῥόδος
refs:
https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier
https://www.ietf.org/rfc/rfc3987.html#section-<IP_ADDRESS>

The library had support for percent encoding for encoding to URL (see curie.URL) but it did not have a support for decoding from URL (see curie.FromURL). Now, it has for both encoding/decoding.
Thank you for hint.


LCIA scores: change column ordering

Should be:

Name
Unit
Ratio
Original
Relinked

Do you mean to add order (sort) mode selector?

Do you mean to add control to allow to choose sort method?
Do we need ascending/descending modifier?

Should 'name' sort mode make sort by 'catagory' field?


[MM-38845] Convert: Playbooks -> Playbook-Edit-Templates #18535

Summary
Convert: Playbooks -> Playbook-Edit-Templates
Ticket Link
Fixes: https://github.com/mattermost/mattermost-server/issues/18535
Checklist

[ ] Telemetry updated
[ ] Gated by experimental feature flag
[ ] Unit tests updated

Thanks for your feedback @calebroseland , just push new commit, please check :) Thanks!

Thanks for participating in Hacktoberfest! You can claim your sticker set here: https://get.printfection.com/hacktober21/4144583267 @chrysillala

@emilyacook Thank you!

@emilyacook Thank you!


Refresh the OkHttp cipher suite process

A quick attempt at https://github.com/square/okhttp/issues/4655
Starting from raw source files as much as possible.
SSL_ and TLS seems like an issue.  Plus TLS1.3 ciphers are not enabled...

TODO
Remove these entries and source from a clean record and checkin.
    addRecord(RECORDS, "0x1301  TLS_AES_128_GCM_SHA256", "", "")
    addRecord(RECORDS, "0x1302  TLS_AES_256_GCM_SHA384", "", "")
    addRecord(RECORDS, "0x1303  TLS_CHACHA20_POLY1305_SHA256", "", "")
    addRecord(RECORDS, "0x1304  TLS_AES_128_CCM_SHA256", "", "")
    addRecord(RECORDS, "0x1305  TLS_AES_128_CCM_8_SHA256", "", "")
    addRecord(RECORDS, "0xc02b TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "1", "0")
    addRecord(RECORDS, "0xc02f TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "8", "3")

Results are here https://docs.google.com/spreadsheets/d/15IMJSVHjFQxuy1_trOGRz4FS9MCFquKzrfu_4pI84kU/edit#gid=0

@swankjesse anywhere good to land?

Likely no cipher changes for now.

Some interesting additional sources
https://ciphersuite.info/api/

@swankjesse It's noticeable given https://github.com/square/okhttp/issues/6390 and https://github.com/square/okhttp/pull/7452
That the intent of this process was not being honoured.

Landing as sample code only

What does the serial number 0 in the record mean?

Where are you referring to?

Where are you referring to?

I'm very sorry, I sent it to the wrong place and caused trouble to you.


Units 02 and 03 added

Solutions of Units 02 and 03 added.  =)
Luiz

@luuizpaulo Added hacktoberfest label in case you want to participate in it. More info about it here.

Looks so cool @ummahusla. Thanks I didnt know about that and for sure i will submit 4 pull requests.

Thanks for the suggestion. I am quite newbie still in these developer world and did not know this plugin prettier (using VIM here for everything). But now everything should be prettier.

@luuizpaulo Thank you very much for your effort! 🍻 👍

Im learning some new stuff, so I have to appreciate you patience. Let me do a quick question: To participate in this hacktoberfest, its just required that we do 4 PR. right? That was what I understood, but seemed too good to be true.

@luuizpaulo Yep, 4 PRs with label hacktoberfest

So can I add a label hacktoberfest in my future PR ? Or the ADM (you, in this case here) has to add the label?

Yeah, I will add it for you
On 10 October 2017 at 11:27, luuizpaulo<EMAIL_ADDRESS>wrote:

So can I add a label hacktoberfest in my future PR ? Or the ADM (you, in
this case here) has to add the label?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/ummahusla/Codecademy-Exercise-Answers/pull/109#issuecomment-335429971,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACayoOFdYaDsiToKpahpeBx9MpzpjFoMks5sq0aLgaJpZM4PtoEj
.


fopen() Exception when exporting to pdf document

Describe the bug
After upgrading V21.04.4 I can't export to PDF:
Steps To Reproduce
Steps to reproduce the behavior:

Go to a page or chapter

Click on export, than on PDF file

See error

Your Configuration (please complete the following information):

Exact BookStack Version (Found in settings): V21.04.4
PHP Version: 7.4.16
Hosting Method (Nginx/Apache/Docker): Windows 10 / IIS

Additional context
The referenced directory does not exists. I believe c:\BookStack\app\vendor\.... should be c:\BookStack\vendor\.... (without \app).
Just for testing, after manually creating the directory, the export does work.

Thanks for reporting @rednaxLamington. I've just released v21.04.5 with an included patch to use an existing path instead of the incorrectly shown one in your bug report. I was not able to replicate your original error but hopefully you'll no longer get this occurrence.

Thanks Dan,
I can confirm that the problem is solved.

@rednaxLamington Awesome, Thanks for confirming!


After upgrading to version 11 FontFamily="Consolas" will change vertical text alignment

When using Avalonia 11 the vertical position of the text in a TextBox will change when a monospace font (like "Consolas" on Windows) is used.

I would expect that the text remains centered (like it does when using another non monospace font).
Avalonia version: 11.0
OS : Windows 11

Duplicate of https://github.com/AvaloniaUI/Avalonia/issues/10658. Consolas is discussed directly here: https://github.com/AvaloniaUI/Avalonia/issues/10658#issuecomment-1638828041


Add Lune Support

Thank you for contributing! Using Lune will be a much smoother development experience than run-in-roblox. I have run this myself and verified it works. I will do some cleanup and documentation changes after merging.


Improve table merging

@K-Meech Please have a look and merge it yourself, unless you see a show stopper.


First element positioning is wrong

It sets the first element margin-left:0 while the others have 0.3em margin.

The left margin for the first share is set to zero on purpose (just like right margin for last share). For horizontal layout it acts correctly since there is no unnecessary space before the first share. For the vertical layout (it is unsupported out-of-box now, but is an upcoming feature) left and right margins for all shares .jssocials-share should be set to zero to avoid the issue.

Oh, got it.


Sending static file without blocking the worker

Hi,
Is it possible to send a static file without blocking the worker? Response::withFile seems to block the worker until the file has been fully sent to the client. Or should I use something like X-HTTP-AccelRedirect with nginx?

Response::withFile will not block worker.

Thanks.


copy assets folder ?

hi, i have an images folder organized inside theme scss folders, which does not get copied (to the destination folders, as specified in the < resource > directories). i have the following organization:

theme-1/
  - style.scss
  - logo/
    - theme-1-img

theme-2/
  - style.scss
  - logo/
    - theme-2-img

is this possible ? what is the practice recommended or alternative solution if not?

I don't thing the sass compiler does this, you could use the ant-run-plugin to copy these files to the correct locations, something along the lines of:
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-antrun-plugin</artifactId>
	<version>1.8</version>
	<executions>
		<execution>
			<id>copyAssets</id>
			<phase>generate-sources</phase>
			<goals>
				<goal>run</goal>
			</goals>
			<configuration>
				<target>
					<!-- create the directory -->
					<mkdir dir="${project.build.directory}/assets" />
					<!-- copy assets -->
					<copy file="${basedir}/src.../theme1/..."
						  tofile="${project.build.directory}/assets/theme1"
						  overwrite="true" />
				</target>
			</configuration>
		</execution>
	</executions>
</plugin>

you'll need to check up on the exact copy target syntax: https://ant.apache.org/manual/Tasks/copy.html

closing due to lack of activity


0.79.1 release with updated gix dependency

(Continued from https://github.com/rust-lang/cargo/pull/13950#issuecomment-2132165835)
Would it be possible to get a 0.79.1 release with gix updated to version 0.63, as in these two PRs?

https://github.com/rust-lang/cargo/pull/13948
https://github.com/rust-lang/cargo/pull/13950

Currently, software that relies on cargo as a dependency triggers this warning: https://github.com/advisories/GHSA-7w47-3wg8-547c
Please forgive me as I don't know how labor intensive what I am asking for is.

That requires some amount of cross-team collaboration.  I don't have the permission to make a release. It also requires an extra stable backport, with an major update from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>Due to some odd CI settings in this repo, a stable backport might require more efforts to figure out which set of changes need to be included (see https://github.com/rust-lang/cargo/pull/13925 as an example).
I am assuming that packages don't really use gitoxide feature when depending on cargo as a library. The actual risk should be quite low. And also cloning arbitrary repositories is always under risks and users need to scrutinize by themselves, as malicious build scripts could exist.
Does any package stop from compiling due to this, and have no way out? If not, I would recommend waiting for the 1.79.0 release on 2024-06-13.

@weihanglo Thanks very much for your reply. I had a hunch what I was asking for would be difficult.

Does any package stop from compiling due to this, and have no way out? If not, I would recommend waiting for the 1.79.0 release on 2024-06-13.

Not that I am aware of. I think your proposal makes sense. Thanks again.


Hiding fields is broken

As Cremol pointed out, hiding fields seems to be broken. I have verified the issue with the current Symphony integration branch.

fixed


fix(Lucene.Core): upgrade to new version of Kentico, update web page unpublish events

Motivation
Fixes issue #66 .
Kentico api has been changed and Archive event is now deprecated. That is why we need to update this library to listen to Unpublish event instead.

What about client packages? It seems they haven't been updated in a while. https://github.com/Kentico/xperience-by-kentico-lucene/blob/main/src/Kentico.Xperience.Lucene.Admin/Client/package.json#L16-L17

@michalJakubis thanks for catch that. The client npm Xperience packages should always match the NuGet package versions.


Annotated + strawberry.lazy + deferred annotations results in UnresolvedFieldTypeError: Could not resolve the type of ... errors

Describe the Bug
When using Annotated[..., strawberry.lazy(...)], one seems to get spurious errors in a file with from __future__ import annotations:
from __future__ import annotations
import strawberry
from typing import Annotated

@strawberry.type
class Query:
    a: Annotated["datetime", strawberry.lazy("datetime")]

schema = strawberry.Schema(Query)

Running that like python example.py with strawberry 0.277.3 gives errors like:
Traceback (most recent call last):
  File "/tmp/tmp.VSRhsBYbmq/example.py", line 9, in <module>
    schema = strawberry.Schema(Query)
  File "/tmp/tmp.VSRhsBYbmq/.venv/lib/python3.10/site-packages/strawberry/schema/schema.py", line 162, in __init__
    raise error.__cause__ from None
  File "/tmp/tmp.VSRhsBYbmq/.venv/lib/python3.10/site-packages/graphql/type/definition.py", line 808, in fields
    fields = resolve_thunk(self._fields)
  File "/tmp/tmp.VSRhsBYbmq/.venv/lib/python3.10/site-packages/graphql/type/definition.py", line 300, in resolve_thunk
    return thunk() if callable(thunk) else thunk
  File "/tmp/tmp.VSRhsBYbmq/.venv/lib/python3.10/site-packages/strawberry/schema/schema_converter.py", line 525, in <lambda>
    fields=lambda: self.get_graphql_fields(object_type),
  File "/tmp/tmp.VSRhsBYbmq/.venv/lib/python3.10/site-packages/strawberry/schema/schema_converter.py", line 382, in get_graphql_fields
    return _get_thunk_mapping(
  File "/tmp/tmp.VSRhsBYbmq/.venv/lib/python3.10/site-packages/strawberry/schema/schema_converter.py", line 132, in _get_thunk_mapping
    raise UnresolvedFieldTypeError(type_definition, field)
strawberry.exceptions.unresolved_field_type.UnresolvedFieldTypeError: Could not resolve the type of 'a'. Check that the class is accessible from the global module scope.

Standalone reproducer (run like bash ./script.sh):
# Setup:
cd $(mktemp -d)

python -m venv .venv

.venv/bin/python -m pip install graphql-core==3.2.3 python-dateutil==2.9.0.post0 six==1.16.0 typing_extensions==4.11.0 strawberry-graphql==0.227.3

cat > example.py <<EOF
from __future__ import annotations
import strawberry
from typing import Annotated

@strawberry.type
class Query:
    a: Annotated["datetime", strawberry.lazy("datetime")]

schema = strawberry.Schema(Query)
EOF

# BUG: strawberry.exceptions.unresolved_field_type.UnresolvedFieldTypeError: Could not resolve the type of 'a'. Check that the class is accessible from the global module scope.
.venv/bin/python example.py

System Information

Operating system: macOS
Strawberry version (if applicable): 0.227.3

Additional Context
Thank you for strawberry! 🍓
This seems a bit similar to:

https://github.com/strawberry-graphql/strawberry/issues/2607
https://github.com/strawberry-graphql/strawberry/issues/2855

Upvote & Fund

We're using Polar.sh so you can upvote and help fund this issue.
We receive the funding once the issue is completed & confirmed by you.
Thank you in advance for helping prioritize & fund our backlog.

Ah, the same applies to "manually" deferred annotations (i.e. an explicit string):
import strawberry
from typing import Annotated

@strawberry.type
class Query:
    a: """Annotated["datetime", strawberry.lazy("datetime")]"""

schema = strawberry.Schema(Query)

I think we'll fix this next week with @bellini666 😊


Restructure contents page

The structure of the contents page is a bit lame.
Restructure it have two columns, for each link to be a button labelled with the document name, and for the buttons to be presented like the ones on the SignatureWarning page.

Done.


Catch an error in ParseCIDR and simply circle back.

Instead of proceeding and panic'ing on String(), return to the main
page.

@gidoBOSSftw5731 you need to review / accept this, or say why not to accept it ;)

Would be nice to do something with the error, but I'll accept it since panicking is worse than returning nil


Possible to expand "What's happening"?

I know the more popular choice would be to hide it entirely, and there's an option for that already, but is there any kind of css/js trickery which might make it show more than the 4 or 5 items that it does now (I mean on the home page, without clicking "Show more"). There's a lot of space in that column, after all. I'm thinking more of the way Tweetdeck used to do it.
Thanks

Sorry, there's no built-in Twitter functionality we can trigger to do this


nextcloud: 23.0.5 -> 23.0.6, 24.0.1 -> 24.0.2

Description of changes
Bump nextcloud: https://nextcloud.com/changelog/
I tested the core functionality in a VM

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)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

nextcloud23
nextcloud24


readme: document v0.9.0 and the ceph versions it supports

Update readme post - v0.9.0

@nixpanic @agarwal-mudit - since this is a small change I will wait a couple of days before merging with a single review.


Caliper will permit the use of gateway with SDKs that do not contain code

When using the caliper launch master command with the caliper-fabric-gateway-usegateway option and an SDK version without gateway code, we expect the command to not run and fail straight away as the code path doesn't exist in the SDK.
Instead the command is still able to be run and errors with Unexpected error during benchmark execution: TypeError: Cannot read property 'MSPID_SCOPE_SINGLE' of undefined

The fix for this one is to perform more rigorous checking at the point where the adaptor is selected in fabric.js


Use booster-parent

booster-parent was released and should be used in our quickstarts from now on.

https://github.com/snowdrop/rest_springboot-tomcat/commit/6799df0687f49c0f3c7b0855caf00c3ea3d7d69d


VIRUS SCANNER TASK: bugfixes and testing

Bug:
after_save :virus_scan unless ENV["DISABLE_VIRUS_SCANNER"] == "true"
so, for local / dev / demo servers - which we are not setting up with Virus Scanner Connection

scans woudn't be created
It should create Scan model with "clean" state in case if ENV["DISABLE_VIRUS_SCANNER"] == "true"

Also, I think would be worth to double check / test:

Upload of Form attachment's
Upload of Support Letters for Enterprise Promotion Form
Uploads of audit certificate on localhost:3000/users/form_answers//audit_certificate
And then make sure that Scan models are created if ENV["DISABLE_VIRUS_SCANNER"] == "true"
and that scan.clean condition works properly on admin side admin/form_answers/

@RuslanHamidullin could you please check manually if this works on your side?

@meal nope, I have quate lot todos

@RuslanHamidullin I'll take a look


Feature: Allow devs to make story table take screenshots for each page, including the last one

Anyone can feel free to take it up until I formally assign myself to it, but check out https://github.com/SuffolkLITLab/ALKiln/tree/story_screenshots first where I started it. [IMPORTANT: Maybe put the screenshot before any button press, not just in the setFields() continue loops as it is now. Otherwise, the user may press a button to set a variable and it'll look like a page has been skipped.]
Need help with name of screenshots that will be in the scenario folder. Maybe story-${Date.now()}?
Reason: We were running into a really weird error with the story table - all the rows were completing, but the I should see the phrase "whatever" wasn't working on GitHub even though we could see it when we did it live. We wanted to be able to see pics of the screens on each step so we could understand what happened.
The current version (which just always takes the screenshots) is release on npm at "4.10.3-feat-story-pics" (with the "dev" tag).

How can we add to this sentence to allow taking screenshots?
I get to the question id "foo" with this data:

Actually, should there just be a Step to take screenshots before every press of 'continue'? If it's for every story table, then we need to have a folder for each story table's screenshots, which will make filenames longer (yes, it's a problem). Also, probably if they're trying to take story table screenshots, they probably won't mind having a few extra screenshots along the way if that happens.

If Story Tables are ever able to use secret variables, we'll have to also figure out how to avoid taking screenshots of those pages.


Add stubs

TODO:

[x] figure out how to automatically generate the stubs when building

Eventually we should also get https://github.com/Jij-Inc/pyo3-stub-gen/pull/102 merged and released, but that’s not important, as we will publish to PyPI and not to crates.io

The generated file looks like this:
# This file is automatically generated by pyo3_stub_gen
# ruff: noqa: E501, F401

import numpy
import numpy.typing
import typing

class CodecPipelineImpl:
    def __new__(cls,metadata,validate_checksums = ...,store_empty_chunks = ...,concurrent_target = ...): ...
    def retrieve_chunks_and_apply_index(self, chunk_descriptions:typing.Sequence[tuple[tuple[str, typing.Sequence[int], str, typing.Sequence[int]], typing.Sequence[slice], typing.Sequence[slice]]], value:numpy.NDArray[typing.Any], chunk_concurrent_limit:int) -> None:
        ...

    def retrieve_chunks(self, chunk_descriptions:typing.Sequence[tuple[str, typing.Sequence[int], str, typing.Sequence[int]]], chunk_concurrent_limit:int) -> list[numpy.typing.NDArray[numpy.uint8]]:
        ...

    def store_chunks_with_indices(self, chunk_descriptions:typing.Sequence[tuple[tuple[str, typing.Sequence[int], str, typing.Sequence[int]], typing.Sequence[slice], typing.Sequence[slice]]], value:numpy.NDArray[typing.Any], chunk_concurrent_limit:int) -> None:
        ...

I assume that the type inference for __new__ doesn‘t work because we use #[pyo3(signature=...)].


wormhole leaks information about failed transfers

If a transfer fails on the receiver side, the sender currently sees an exception explaining what happened on the receiver side.  For instance, if the transfer failed because the receiver already had a file with the same name, the sender sees an exception (with traceback) and a message that states the receiver already had a file by that name:
servo:~/tmp/cdtemp.RGVnNd 0$ wormhole send foo
Sending 0 byte file named 'foo'
On the other computer, please run: wormhole receive
Wormhole code is: 3-cherokee-stormy

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/wormhole/cli/cli.py", line 99, in _dispatch_command
    yield maybeDeferred(command)
  File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1126, in _inlineCallbacks
    result = result.throwExceptionIntoGenerator(g)
 File "/usr/lib/python3/dist-packages/twisted/python/failure.py", line 389, in throwExceptionIntoGenerator
    return g.throw(self.type, self.value, self.tb)
  File "/usr/lib/python3/dist-packages/wormhole/cli/cmd_send.py", line 53, in go
    yield d
  File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1128, in _inlineCallbacks
    result = g.send(result)
  File "/usr/lib/python3/dist-packages/wormhole/cli/cmd_send.py", line 140, in _go
    % them_d["error"])
wormhole.errors.TransferError: remote error, transfer abandoned: file already exists
ERROR: remote error, transfer abandoned: file already exists`

Beyond the fact that it would be good if this exception was caught and presented to the user in a straightforward way, the actual exception message is an unnecessary leak of information about the state of the receiver to the sender.  Clearly the protocol has some way of reporting errors from receiver to sender.  However, I'm not sure that there is really any reason that the sender needs to know why the transfer failed, other than there was some problem on the receiver side.  As receiver, I don't necessarily want the sender to know anything about the state of my machine, such as knowing the names of files in my receiving directory.
I guess the point is that I don't think the receiver should send any information back to the sender giving any information about the state of the receivers system.  It should be sufficient just to say that the transfer failed on the receiver side, with no other context.  Sender and receiver can then communicate out-of-band about the failure if they wish.
Also, users should not ever see exception tracebacks for "normal" failure modes.  This type of failure should just print a message to the console ("transfer failed due to receiver error") and wormhole should exit with non-zero return code.

I totally agree about hiding the traceback. We should change src/wormhole/cli/cli.py send() to catch TransferError and only display the stringified exception object.
For reference, the traceback (and the TransferError exception object itself) are entirely local: the only part that comes from the remote system is the "file already exists" string that is passed as an argument into the TransferError constructor. So the remote system is in control of how much information it reveals.
I guess I'm on the fence about whether the receiver should reveal this or not. I think it's handy, sometimes. If you search for RespondError in src/wormhole/cli/cmd_receive.py, that gives a list of all the strings that the recipient might send back in their error message:

unknown offer type: probably only if the sender has a newer version, and they're sending something other than a file or directory.. this might happen some day if we handle #58 by offering a different protocol for streaming transfers
unknown mode: we send a directory, and compress it with an unrecognized "zip" mode (something other than "DEFLATE").. unlikely to ever happen
FILENAME already exists
transfer rejected (when the receiving user says "no" to the "accept file?" prompt)

The first two are internal errors that indicate a version mismatch, and the last is clearly user-provoked.
I guess I'll agree that file-already-exists could be reported as "transfer rejected" without losing too much.. the sender's behavior is the same (re-send the file, give the recipient a new code). And really, maybe we should change the receiver code to give the recipient a chance to pick an alternative file name if the target is already present (also see #73), in which case the recipient's choice to not allow an alternative name would be morally equivalent to rejecting the transfer, making it more correct to report the same transfer rejected code for both cases.
Ok, so the action items are:

catch TransferError, show it's str() and sys.exit(1) instead of allowing the exception to rise. (note: the function uses a Deferred, so it needs d.addErrback() and f.trap(TransferError) instead of the usual try/except)
replace RespondError("%s already exists") with RespondError("transfer rejected") in cmd_receive.py


Swap speaker names based on registration

From @tasmie:
Thursday:

[x] Thomas Hoovan with Ansaf Salleb-Aouissi

Friday

[ ] Shaun Gupta with Patrick Long
[x] Eric Lee with Byron Wallace or Joyce Ho
[ ] Luke Oakden with Jared Dunnmon
[ ] Luke Oakden with Joyce Ho or Ioakeim Perros

Thomas Hoovan with Ansaf Salleb-Aouissi - not needed, Thomas registered.
Shaun Gupta with Patrick Long
Eric Lee with Byron Wallace or Joyce Ho - not needed, Eric is registered
Luke Oakden with Jared Dunnmon
Luke Oakden with Joyce Ho or Ioakeim Perros

Thanks, @tasmie. I'll make the remaining changes now.

Actually, sorry. @tasmie can you clarify what papers these are for? Several of these names don't show up in the https://github.com/acm-chil/acm-chil-website/blob/master/sitedata/daytoview.yml where they would be changed.

@tnaumann these are supposed to be Research Talks. Also just realized an error. See below for most updated:
FRIDAY
Using SNOMED to automate... - done. Shaun was already replaced with Patrick
Hidden Stratification... replace Luke with Jared Dunnmon
TASTE: Temporal and static... replace Ardavan with Ioakeim Perros

@tasmie verify and close if correctly fixed.

Sorry, @tasmie! I think this is a permissions thing, but I don't have the permissions to expand your access :)


Closing curly brace and the closing parenthesis issue

Describe the Issue
The solution requires closing curly brace and closing parenthesis to be on the same same line and I do not understand why. Please help in clarifying why.
Affected Page
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures-v8/learn-basic-string-and-array-methods-by-building-a-music-player/step-18
Your code
const renderSongs = (array) => {
const songsHTML = array
.map((song)=> {
…
}
).join(“”)
};

Expected behavior
This solution should pass but it is not
Screenshots
No response
System

Device: [e.g. iPhone 6, Laptop]
OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04]
Browser: [e.g. Chrome, Safari]
Version: [e.g. 22]
Laptop
Windows 10
Firefox
122

Additional context
The solution requires closing curly brace and closing parenthesis to be on the same same line and I do not understand why.

It's just test being strict. This will be fixed in #53480.


Countdown via tab title

I've seen this on other extensions when I found yours, but a 20s (or configurable) countdown showing in the beginning of each tab title would be nice

Thanks for the idea! Would the countdown make you click to that tab? What would you want to do if you saw the countdown appear on one of the tabs?

Perhaps click on it reminding you to keep it open because you forgot to mark it as never to close or something.

Changing at tab's title would require injecting a content script into the page in order to set document.title. Tab Wrangler does not ask for access to page content, and I don't think it ever should. That is too invasive the the purpose of this extension.
This feature is out of scope of the extension because it would require a permission that I would prefer the extension did not require.


Enhancement of some game pages

I want to add navbar and footer to some games pages , where the navbar and footer is added as it is not looking good as the other pages of games contains that and i will also enhance that pages and customised scroll bar that other pages contains. As new addition of some games that pages doesn't contains . Please assign me this  issue under JWOC'24

Which pages are you mentioning?

There are some games pages like block buster , ping pong

Okay.


Add support for locale info in component

Hi @radek-altof, thanks for this very well-featured plugin! One thing of Vue I18n I'm missing though is the ability to add locale info to components, so that you can add translations in the component in stead of a dedicated json-file. Like so:
<i18n>
    {
        "en": {
            "heading": "About us"
        },
        "nl": {
            "heading": "Over ons"
        }
    }
</i18n>

https://kazupon.github.io/vue-i18n/guide/component.html#shared-locale-messages-for-components

Hey @ajilderda , I'll take a look at it and see if it's possible to implement into the plugin. Thanks for the feedback :)

Hey @ajilderda, I tried to reproduce your issue, but everything seems to work fine. Are you sure you configured everything properly?
I created the following component and the messages load correctly.
<template>

{{ $t('hello') }}

{{ $t('msg') }}

</template>

If you want to use <i18n> tag inside SFCs, please take a look at the documentation here. You need to install vue-i18n-loader and then modify webpack configuration, in order to load those messages.
After doing so, the following SFC should work properly, i18n will refer to the globally set locale.
<i18n>
{
  "en": {
    "hello": "Hello!"
  },
  "cs": {
    "hello": "Ahoj!"
  }
}
</i18n>

<template>

{{ $t('hello') }}

</template>

If you don't want to have any global messages whatsoever, you can modify the load function inside your translations config to return an empty promise. This will setup the languages, but won't load any global messages. You'll then need to specify your messages inside your components, of course.
/* router/index.js */

Vue.use(LangRouter, {
  defaultLanguage: 'en',
  translations: {
    en: {
      name: 'English',
      load: () => { return Promise.resolve({}); },
    },
    cs: {
      name: 'Česky',
      load: () => { return Promise.resolve({}); },
    },
  },
  localizedURLs,
});

Let me know if this helps. In case there's still an issue, please post some example code.

My bad, I skipped the vue-i18n-loader-part. It works like a charm. ✨ Thanks!


SWA CLI stopping without error msg when using Blazor WASM dev server over https

Are you accessing the CLI from the default port :4280 ?

[ ] No, I am using a different port number (--port) and accessing the CLI from that port
[X] Yes, I am accessing the CLI from port :4280

Describe the bug
When trying to use the SWA CLI with a dotnet Blazor application running on https the SWA CLI quits when the index page is accessed (see below for traces from various node versions)
When accessing the http endpoint of the Blazor development server it works as expected
I've tried this on both Windows and macOS with the same result
To Reproduce
Steps to reproduce the behavior:

Clone the https://github.com/Apress/beginning-azure-static-web-apps repo
Open the chapter-5 folder
Run swa start https://localhost:5000 --api-location ./Api --run "dotnet watch run --project ./Client"
Open http://localhost:4280/
SWA CLI quits without error (in the most recent versions of Node)

Expected behavior
The application should load in the browser as it does with the http endpoint
Desktop (please complete the following information):

OS: Windows 11, macOS Ventura 13.0
SWA CLI Version: 1.0.3

Additional context
When downgrading the SWA CLI to 1.0.2 the application works as expected
I tried downgrading Node to see if that had an impact. It did - but only in that running Node 14.x there is an error message displayed. If I build and run the SWA CLI on my machine removing the code that gracefully shuts down the SWA CLI then I can also get this error message on Node 16 (I didn't try on 18.x)
Downgrading Node to 14.21.1 I get the following:
(node:12156) UnhandledPromiseRejectionWarning: TypeError [ERR_INVALID_PROTOCOL]: Protocol "https:" not supported. Expected "http:"
[swa]     at new NodeError (internal/errors.js:322:7)
[swa]     at new ClientRequest (_http_client.js:159:11)
[swa]     at Object.request (https.js:370:10)
[swa]     at Array.stream (C:\code\github\static-web-apps-cli\node_modules\http-proxy\lib\http-proxy\passes\web-incoming.js:126:74)
[swa]     at ProxyServer.<anonymous> (C:\code\github\static-web-apps-cli\node_modules\http-proxy\lib\http-proxy\index.js:81:21)
[swa]     at serveStaticOrProxyResponse (C:\code\github\static-web-apps-cli\dist\msha\middlewares\request.middleware.js:97:18)
[swa]     at requestMiddleware (C:\code\github\static-web-apps-cli\dist\msha\middlewares\request.middleware.js:246:9)
[swa]     at Server.<anonymous> (C:\code\github\static-web-apps-cli\dist\msha\server.js:42:58)
[swa]     at Server.emit (events.js:400:28)
[swa]     at parserOnIncoming (_http_server.js:900:12)
[swa]     at HTTPParser.parserOnHeadersComplete (_http_common.js:127:17)

On Node 16.18.1 and 18.12.1 I get the following
[swa] remote dev server detected.
[swa]  - url: /
[swa]  - target: https://localhost:5000
[swa] customUrl: false
[swa] is4xx: false
[swa] remote dev server detected. Proxying request
[swa]  - url: /
[swa]  - code: 200
[swa] GET https://localhost:5000/ (proxy)
[swa] killing SWA CLI
[swa] node<EMAIL_ADDRESS>exited with code 0

That's due to explicitly using the HTTP agent here, it doesn't work for HTTPS: https://github.com/Azure/static-web-apps-cli/blob/2cd0e980ea4bf604df10fd5d63149b20b292e916/src/msha/server.ts#L20-L23
Not sure if there's a way to provide separate agents for HTTP and HTTPS.

Link to Twitter discussion of bug
https://twitter.com/Stacy_Cash/status/1595445964751372294?s=20&t=vWEfOcD-NB8VWPucXjT7MA

I managed to reproduce this issue!
Actually, there are multiple issues related issues here:

As @StacyCash mentioned in this issue, this happens when a user starts the SWA CLI in HTTP, but tries to proxy to a devserver in HTTPS --> In this situation, I'd recommend we simply print a warning asking the user to start the SWA CLI using --ssl config and quit. The reason for this is that I'd concerned the user ends up in a situation of Mixed Active Content (MAC) and the browser will eventually block some resources.
Disclaimer: I haven't tested this use case. MAC happens when the user visiting a page over HTTPS tries to load content over HTTP. I'm not 100% sure this is related here and needs to be proved that MAC can happen here.
The other issue related to what @anthonychu pointed out is that we are always using http.Agent() to proxy requests. This is an issue and we need to make sure https.Agent() if the user started SWA CLI using --ssl.

Aside from the worry of the MAC issue, doi you have anything against the idea of @anthonychu to use the dev server URL to decide whether to use https or not?

I am not against it. If MAC is not an issue here, then @anthonychu's suggestion is part of the fix.

As a quick test, I've just implemented the solution proposed by @anthonychu and built it locally and it does seem to restore the same functionality that was available in 1.0.2 I can use both http and https dev servers as I could before.
I will try to do some more extensive testing tomorrow (though it will be limited to Blazor WASM)

Awesome! Could you also try with examples from https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content#loading_locally_delivered_mixed-resources?

Sorry, life got in the way on Friday...
I've tested the proposed solution using:

DotNet calling a DotNet function returning fixed code
DotNet calling a DotNet function returning external data
Published DotNet static files calling a DotNet function returning external code
Angular calling a TypeScript function returning external data

I've tried this on both a MacBook Pro M1 on the latest macOS and Windows 11 22H2
I didn't get any errors, and looking at the console got not MAC errors in the console. It treats the connection as insecure no matter what dev server I'm using

@manekinekko nice to hear that this issue is going to be solved in a near future.
There is many usage where we need https (or bypass security with obscure flags)

We released a new SWA_CLI version(1.0.6) last week with the fix for this, feel free to re-open this if you're still facing this issue.

Hi, the linked solution doesn't solve this problem. I'm not trying (nor do I want) to run using SSL. I am just trying to connect to a development server that uses HTTPS. The fix suggested by @anthonychu solves the problem correctly. (I made the test to see if the solution worked, but as it wasn't my solution I didn't make a PR for it - I can do if needed)
Can we reopen this issue please?

As a quick test, I've just implemented the solution proposed by @anthonychu and built it locally and it does seem to restore the same functionality that was available in 1.0.2 I can use both http and https dev servers as I could before.
I will try to do some more extensive testing tomorrow (though it will be limited to Blazor WASM)

What is the solution?

@pmarangoni I haven't looked into the code in a while so I am not sure if this would still be the real fix, but this comment by @anthonychu showed a fix.
https://github.com/Azure/static-web-apps-cli/issues/610#issuecomment-1325596711
The work around is to use the .NET gttp dev server endpoint, rather than the https.
I've I've misunderstood what you are asking, feel free to correct me 😊


Chromium fix related to audio types

Chromium was not allowing to play audio files; this PR fixes #1520, #1670, #1831 and #1816

i make a test : http://dev-prod.multimedia.editions-mediaclap.fr/html/prod-test/js/johndyer-mediaelement-3e9d1ee/test/test.html
its not good.

I'll check this since I don't have an instance of Linux to test Chromium

@mediaclap I got access to an Ubuntu machine and I checked on Chromium and I can hear the audio. What is what you are experiencing?

My Chromium version is
Version 51.0.2704.106 Built on Ubuntu, running on Ubuntu 16.04 (64-bit)

mine is Version 52.0.2723.2 (64-bit) on windows

@mediaclap I see the controls now. I just updated Ubuntu and now my Chromium version is 53.0.2785.89. I checked the main site (http://mediaelementjs.com) and controls are not there. But in the one you just shared I can see controls. Am I missing something, or there's another issue?

did you test with windows version ?

link to download : https://sourceforge.net/projects/crportable/files/

in http://dev-prod.multimedia.editions-mediaclap.fr/html/prod-test/js/johndyer-mediaelement-3e9d1ee/test/test.html i've change the source with the PR fix ! but in my windows version its not ok !

I just have a Unix and Mac machines with me. I don't have a Windows machine with me. Can you send me a screenshot of what you are seeing, or even what you are getting from Console or Network tabs to try to determine what's going on please? Thanks for your patience and help with this

Which version of Windows do you have?

@ron666 @mediaclap I tested on Windows 7 32 Bits - Chromium 54. Doesn't play And console shows that info

Resource interpreted as Document but transferred with MIME type video/mp4: "http://dev-prod.multimedia.editions-mediaclap.fr/html/prod-test/js/johndyer-mediaelement-3e9d1ee/media/echo-hereweare.mp4".

Resource interpreted as Document but transferred with MIME type audio/mpeg: "http://dev-prod.multimedia.editions-mediaclap.fr/html/prod-test/js/johndyer-mediaelement-3e9d1ee/media/test.mp3".

That is because Chromium doesn't have support for privative formats
https://www.chromium.org/audio-video
And is supported when is build as Chrome, not Chromium

@mediaclap As @isantolin said, this is a known bug from Chromium on Windows. On Ubuntu this can be fixed by running http://thanhsiang.org/faqing/node/195.
As an alternative solution for this, try the steps listed on http://www.chromestory.com/2010/11/how-to-make-chromium-os-play-mp3-files-on-windows-linux-and-mac/.
This is not related to this plugin anymore. And as it is concerned to this PR, it solved the issue related to not being able to display the audio controls in Chromium.

@mediaclap and @isantolin I changed the PR slightly; please test and let me know. Thanks for your help on this one

@ron666 That PR Works well in IE, FF, Chrome. I think you can merge

Did you give it a try on Chromium as well?

@ron666 Chromium has the current bug "privative formats" and cannot play. Beyond that, PR don't create any other error. Merge

Thanks @isantolli I'll merge as soon as I'm front of my computer. Thanks again for your help

Closing this issue since PR was merged and per comments above

Sorry to bump this closed issue, but it is not fixed on my side. I am using Chromium, but I have also installed the required dependencies to be able to read mp3 files. It works well with a classical audio tag, but fails if I include mediaelement version 2.23.
Simple <audio> tag

<audio> tag and mediaelementjs v2.23

I'm loading 2.23 from jsdelivr, and for what it's worth, the following code returns true on my configuration (taken from here):
var a = document.createElement('audio');
return !!(a.canPlayType && a.canPlayType('audio/mpeg;').replace(/no/, ''));

I'm happy to provide any more information or testing time as you might need.

Thanks for pointing this. I'll take a look and if needed I'll ask you for more testing

If you can also provide a URL to test it I'll appreciate it

And also the OS you tested this

Here is the url used as a test: http://roleplay.pixelastic.com/underground/murailles.html
Note that I have removed mediaelement from the page for now.
OS is Ubuntu 16.04, with Chromium Version 52.0.2743.116 Built on Ubuntu , running on Ubuntu 16.04 (64-bit)

Chromium under Linux still fails. I downloaded latest mejs build from here.
Example with ogg only supplied: no playback (screenshot)
Example with ogg and mp3 supplied: chromium plays mp3 via flash plugin instead of html5 ogg (in the screenshot you can see that swf file was downloaded).
By the way, in this example without mejs my Chromium also plays mp3 without flash via native html5 player (screenshot).
But no problem Firefox.

@rekcuFniarB The build files have not the fix available; please test this using only the src files, given that this hasn't been released yet

@pixelastic Enable mediaelement again but use the /src/ files, since the /build/ folder doesn't account for the fix yet, until the next release is created

@pixelastic i ve same probleme with my chromium version mp3 play but no control display with mejs !

@pixelastic Can you send me the URL where you used the mejs src files so I can see the issue, please?

@rekcuFniarB The build files have not the fix available; please test this using only the src files, given that this hasn't been released yet. For reference, check /test/test.html to load all the needed elements

This way it works, thanks for fixing.

I just tried with the src/ folder files and it's working. Silly me, I saw a 2.23 on jsdelivr and a 2.22 on the website and thought you released a new version with the fix.
All is working, thanks for investigating :)


fix to validate when $requiredValue is null and validation is strict

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
yes

Fixed issues
When RequiredValidator::requiredValue is null and RequiredValidator::strict is true and the value in $value is null then the validation failed.

strict: whether to check data types when validating a value. Defaults to false. When requiredValue is not set, if this property is true, the validator will check if the input value is not strictly null
Looks like it was expected behavior, or am I wrong?

I see this in the docblock over the $strict property.

Note that when [[requiredValue]] is null, if this property is true, the validator will check
if the attribute value is null;

Yeah, definitely misunderstanding between docs and phpdoc, and the question is which case is more logical. My point of view that docs case if more correct, because changing behavior so extreme by side parameter... A little weird for me.

I have a record with attribute parent_id with null value. This record is in a release, so the values of the record's attributes cannot be change.
I think this is the correct rule to validate this case on update:
[['parent_id], 'required', 'requiredValue' => $this->parent_id, 'strict' => true, 'when' => function () {
    return $this->isReleased();
}]

But if you have a better validator for this scenario, I can accept it :)

strict: [...] When requiredValue is not set, if this property is true, the validator will check if the input value is not strictly null; [...]. When requiredValue is set, the comparison between the input and requiredValue will also check data types if this property is true.

@MysteryDragon You are right with this in the docs. But there is a forgotten case when I set the requiredValue to null :)

@albertborsos how about compare validator in this case?

@MysteryDragon then, I think I have found an another bug.
in the docs of CompareValidator it said:

compareValue: a constant value that the input value should be compared with. When both of this property and compareAttribute are specified, this property will take precedence.

And for this validator:
[['parent_id'], 'compare', 'compareValue' => $this->_model->parent_id, 'when' => function () {
        return $this->_model-> isReleased();
}],

I get his error message:

[yii\base\UnknownPropertyException] Getting unknown property: app\forms\UpdatePageForm::parent_id_repeat

But it should not assert with the parent_id_repeat attribute, because compareValue is set.

@albertborsos and this is strange. Because I took a look of source code of this validator, and it looks fine.
And also try this simple test:
<?php

namespace app\models;

class TestModel extends \yii\base\Model
{
    public $targetAttribute;

    public $relatedModel;

    public function init()
    {
        $this->relatedModel = new \yii\base\DynamicModel(['relatedAttribute' => 15, 'isReleased' => true]);
        parent::init();
    }

    public function rules()
    {
        return [
            [['targetAttribute'], 'compare', 'compareValue' => $this->relatedModel->relatedAttribute, 'when' => function () {
                return $this->relatedModel->isReleased;
            }],
        ];
    }
}

<?php

namespace app\controllers;

class TestController extends \yii\web\Controller
{
    public function actionIndex()
    {
        $model = new \app\models\TestModel(['targetAttribute' => 15]);
        echo $model->validate() ? 1 : 0, "
";
        $model->targetAttribute = 14;
        echo $model->validate() ? 1 : 0, "
";
    }
}

And no problem. Actual Yii 2.0.13 version, but it seems like it doesn't matter so much 'cause this code was untouched since 2014.

@MysteryDragon set relatedAttribute to null

@albertborsos yeah, you right, I forgot about your null already :D
So, logical consequence...
But my point of view that if this situation must be covered by some validator, then compare validator is matching more for your case. This attributes of require validator already have some evil-magic logic, it's not good. And you actually comparing values.
And I think that it mustn't 'cause null is meaning "nothing", and many validators repel on that. It looks right for me. And this situation may be covered by custom validator, for example.

You are right, compare validator is more relevant in this case thn the required validator. But I think the compare validator should cover the null case too. Maybe with a strict property.

It's really controversial issue as for me.
If maintainers also counts that it's wrong, maybe it's better to mark somehow that user attribute values is different thing. As for me it may cause BC break and needs to be applied for all validators. Just my point of view.

@albertborsos It's really controversial issue as for me.
If maintainers also counts that it's wrong, maybe it's better to mark somehow that user attribute values is different thing. As for me it may cause BC break and needs to be applied for all validators. Just my point of view.

Note that when [[requiredValue]] is null, if this property is true, the validator will check
if the attribute value is null;

I think you're misunderstanding the documentation (it is worded poorly). If strict is false, the attribute will be considered empty (i.e. it will fail the validation) if isEmpty() returns true. If strict is true, the attribute will be considered empty (fail the validation) if it is === null.

@nkovacs would you help improving wording?

I have a record with attribute parent_id with null value. This record is in a release, so the values of the record's attributes cannot be change.

if the value can not be changed, it should not be active in the current scenario...


Depend on uuid-types instead of uuid for lighter footprint

This would be very helpful @lpeterse could you take a look, please?

Any chance to get a release for this?

Ping @lpeterse, think you could push this to hackage?
I'd offer to help maintain this to get it out, but perhaps it's just less work for you to do the hackage upload?
Cheers


[opentelemetry-demo] Refactor component env vars to better handle service names

Also, I think we should refactor something to make setting env var easier. Adding env vars for specific services that rely on other services (and therefore the Release name) doesn't feel graceful.
I can open an issue for this later.
Originally posted by @TylerHelmuth in https://github.com/open-telemetry/opentelemetry-helm-charts/pull/337#discussion_r953223476

/cc @wph95

Currently demo application isn't working.  See #358 . When i manually fixed that in my environment , am seeing that checkout service is unable to connect to email service
{"message":"failed to send order confirmation to<EMAIL_ADDRESS>failed POST to email service: Post \"demo-email-service:8080/send_order_confirmation\": unsupported protocol scheme \"demo-email-service\"","severity":"warning","timestamp":"2022-09-09T01:22:19.778637815Z"}

@2start would you like to take point on this issue?

#363 describes the issue in more detail.


Update radio.scss

Fix .mat-radio-inner-circle placeholder showing.

Closing due to inactivity and the fact that this fix is for the legacy radio only


Not able to get root folder from one drive

I am trying to get access to root folder of one drive account using code
folder = await this.m_graphClient.Drives[p_strUserID.Trim()].Root.Request().GetAsync();
and
folder = await this.m_graphClient.Drives[p_strUserID.Trim()].Root.Request().Expand(expandValue).GetAsync();
and i have also done all the impersonation settings like assign admin as owner describe in below link
https://campus.barracuda.com/product/backup/article/BBS/OneDriveAdminPermissions/
still we are getting service exception
Message: The provided drive id appears to be malformed, or does not represent a valid drive.
can anyone help me with that.

What is value of p_strUserID.Trim()?

Hello p_strUserID.Trim() this is the user id like<EMAIL_ADDRESS>

Hi @rv77sh, can you provide the request id and timestamp from the response?

We found the solution issue is we are using Alise name of one drive in p_strUserID instead we use primary ID. now its working fine.

Thanks for letting us know!


Support activeBasePath and activeBaseRegex for Navbar dropdowns

🚀 Feature
Allow setting of activeBasePath and activeBaseRegex on dropdown items for the navbar so the dropdown becomes highlighted when the user is in that particular section of the docs.
Motivation
activeBasePath and activeBaseRegex are very useful for signalling to the user what section of the docs they are on.
However, this doesn't work for dropdowns. This reduces the immediate helpfulness when moving from a flat navbar structure to a slightly more nested one. See example:
Before:

After:

Have you read the Contributing Guidelines on issues?
Yes
Pitch
If we implemented this feature, then the user will have a clear signal as to what section of the docs they are on, regardless of whether or not they were hovering over a specific dropdown. Of course, you can simply opt-out of this feature by not using activeBasePath and activeBaseRegex in the dropdown.
Example usage:
{
  label: "The Protocol",
  position: "left",
  activeBaseRegex: "(synthetic-tokens|oracle/|governance/)",
  items: [
    {
      to: "synthetic-tokens/explainer",
      label: "Synthetic Tokens",
      activeBasePath: "synthetic-tokens",
    },
    {
      to: "oracle/tech-architecture",
      label: "Oracle (DVM)",
      activeBaseRegex: "(oracle/|governance/)",
    },
  ],
},

Hi,
Afaik this is already working and documented:
https://v2.docusaurus.io/docs/theme-classic/#navbar-links
Look at Docusaurus v2 website, and its config:
        {
          label: 'Docs',
          to: 'docs', // "fake" link
          position: 'left',
          activeBaseRegex: `docs/(?!next/(support|team|resources))`,
          items: [
            {
              label: versions[0],
              to: 'docs/',
              activeBaseRegex: `docs/(?!${versions.join('|')}|next)`,
            },
            ...versions.slice(1).map((version) => ({
              label: version,
              to: `docs/${version}/`,
            })),
            {
              label: 'Master/Unreleased',
              to: 'docs/next/',
              activeBaseRegex: `docs/next/(?!support|team|resources)`,
            },
          ],
        },

@slorber good to know that this is supported. Can you help me figure out why this doesn't work?
I need some help w/ my activeBaseRegex regex for my dropdown. The dropdown is not getting highlighted, but the child items are. I've trimmed out some irrelevant properties but this is what I have in my config:
{
  activeBaseRegex: "(synthetic-tokens|oracle|governance)",
  items: [
    { activeBasePath: "synthetic-tokens" },
    { activeBasePath: "oracle" },
    { activeBasePath: "governance" },
    },
  ],
},

My doc files have the ID of synthetic-tokens/doc1, oracle/doc2, and governance/doc3 for example.

@adrianmcli without a repro it's hard to tell, but as I said you, without the "to" attribute it's unlikely to work as of current code

@slorber
Sorry, this is the actual code in the repo: https://github.com/UMAprotocol/docs/blob/master/config/navbar.js#L20-L41

@adrianmcli as I said, you absolutely need a to element on the parent item here

even if it's useless and is like link to: '/' it will make the code use the ReactRouter NavLink. That's bad but it should work temporarily.

no to means activeBaseRegex gets ignored

@slorber thanks so much for the clarification! perhaps it should be documented better, but I really appreciate you taking the time 😊

np 👍
i'd like to improve all that as it's not idiomatic at all
keeping this undocumented also helps to see how many users are struggling with this kind of issues :)


DllNotFoundException: enet

Hi, thanks for this library it is just what I needed :).
I am using it in the unity editor right now and it is giving DllNotFoundException: enet
What I have done:

I downloaded the zip and copied the source folder into my project
After I got this error I tried putting the dll's in the Assets/Plugins folder
that didn't work either so I tried putting it in the root project folder

Now I am stumped so I you guys can help me out.
Thanks!

You just downloaded the whole master branch and put it your project? It will not work this way. You should download the package for Unity from the release section or compile the native library by yourself.
I think I should mention that in the readme.

Wow thanks for the quick reply!
I hope you don't mind if I ask here:
What is the purpose of while (!Console.KeyAvailable) { ? And what can I use instead (for some reason even with System included it says The type name 'KeyAvailable' does not exist in the type 'Console')
I am a big noob and I was going through the code and couldn't find what to do instead. I am guessing it is a loop that just updates the status of the client?
Sorry if this is dumb question.

Ahh nevermind I think I got it.

No problem, I'll explain.
You shouldn't use the console API in Unity. Instead, you can put the service function into the game loop Update() { }, and call it in a non-blocking mode without any timeout server.Service(0, out Event netEvent);. Also, instead of Console.WriteLine you should use Debug.Log.
ENet can be used in a independent thread or long running task, but since you are beginner, just stick with the game loop.


Python None should be converted to 'NULL' instead of 'null'

Very low priority ticket for neatness, it would be nice if Python None converted to 'NULL' instead of 'null'
str(Query.from_('testtable').select(None))
'SELECT null FROM "testtable"'

Currently is there a way to build a .where clause that checks if a column is null? i.e. something that turns into the following SQL clause:
WHERE my_column IS NULL

No worries - I found it. It's the isnull method. Doing table.my_column.isnull() works.

This appears to be already resolved

Strangely, it is in some places, but the update test still shows it as lower case: https://github.com/kayak/pypika/blob/f03e0cd5113182a1952bad4356858b249ff69285/pypika/tests/test_updates.py#L35

How do you deal with missing columns for UNION ALL in Pypika?
In standard SQL, you just supply a NULL column (example).
Field("NULL") seems to do the trick in pypika, but Field(None) throws an error.


FastAPI integration with OIDC  and SSO

Hello I'm trying to implement a way to Verify and decrypt OIDC tokens.
I've reviewed Authlib documentation and seems google authentication is pretty easy but what if I have a different provider?
I saw this pice of code
@app.get("/login") def login_via_google(request: Request):     redirect_uri = 'https://example.com/auth'     return await oauth.google.authorize_redirect(request, redirect_uri)
and also for twitter but if in my case is a SSO provider how can I configured it or how will be the oauth.somehting.authorize_redirect?
Or do you know a better approach to implement OIDC with FastAPI? I'm using a SSO provider
Thanks Guys

If you have your own SSO which supports OIDC and expose a well-known URL, then you can juste copy/paste this example and update the variable CONF_URL
https://github.com/authlib/demo-oauth-client/blob/master/fastapi-google-login/app.py

Fwiw I implemented a solution here.