Add msbuild to NativeCommandProcessor (s_legacyCommands) in PWSH 7.3

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
After the breaking change in native command execution in pwsh 7.3 our scripts stopped working with msbuild. This happens when setting a property-value of an msbuild script containing a semicolon or comma. For this the raw part of the property assignment must contain quotes: /pCategory="CI,Nightly"
Without the quotes /pCategory=CI,Nightly the result is: MSBUILD : error MSB1006: Property is not valid. Switch: Nightly
Thats because you can set multiple properties like so: /p:Category=CI,OtherProperty=OtherValue
This command now produces different results (old pwsh without quotes in value of msbuild script, pwsh 7.3 with quotes):
& 'MSBuild.exe' @( 'D:\test.xml', "/p:Category="CI,Nightly"")
MSBuild-Script:
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
	<PropertyGroup>
		<Category>Default</Category>
	</PropertyGroup>

	<Target Name="Build">
		<Message Importance="High" Text="Category: $(Category)" />
		<Message Importance="High" Text="Finished" />
	</Target>
</Project>

With the new quoting rules it is impossible to satisfy the msbuild commandline without using Start-Process. Which has other problems which needs workarounds: https://github.com/dotnet/msbuild/issues/2269
Please add msbuild to the list of legacy commands.
Expected behavior
PS> & 'MSBuild.exe' @( 'D:\test.xml', "/p:Category=`"CI,Nightly`"")
Microsoft (R) Build Engine version 17.2.1+52cd2da31 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Build started 25.11.2022 07:37:43.
Project "D:\test.xml" on node 1 (default targets).
Build:
  Category: CI,Nightly <-- no quotes here
  Finished
Done Building Project "D:\test.xml" (default targets).

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:00.02

Actual behavior
PS> & 'MSBuild.exe' @( 'D:\test.xml', "/p:Category=`"CI,Nightly`"")
Microsoft (R) Build Engine version 17.2.1+52cd2da31 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Build started 25.11.2022 07:39:19.
Project "D:\test.xml" on node 1 (default targets).
Build:
  Category: "CI,Nightly" <-- see the quotes here?
  Finished
Done Building Project "D:\test.xml" (default targets).

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:00.02

Error details
No response
Environment data
PS> $PSVersionTable
Name                           Value
----                           -----
PSVersion                      7.3.0
PSEdition                      Core
GitCommitId                    7.3.0
OS                             Microsoft Windows 10.0.22621
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals

To add some context, based on your own feedback (elsewhere):
Like sqlcmd, msbuild has (extra-)special quoting requirements that are at odds with the (effective) Standard  mode of $PSNativeCommandArgumentPassing, which is designed to work with executables that use the Microsoft C/C++/.NET rules of command-line parsing (the most widely observed convention on Windows).
/p:Category="CI,Nightly" must be placed exactly like that on the process command line, which Standard mode cannot do, because it - properly - translates PowerShell's "/p:Category=`"CI,Nightly`"" argument (which to PowerShell is verbatim /p:Category="CI,Nightly") to the convention-compliant "/p:Category=\"CI,Nightly\"" on the process command line.
Note that a convention-compliant executable does parse this as verbatim /p:Category="CI,Nightly", but msbuild does its own parsing of the raw argument.
While an argument that contains no spaces normally needs no quoting at all - e.g., verbatim /p:Category=CI,Nightly - in this case  the partial double-quoting - around CI,Nightly - is required, because , is a metacharacter to msbuild, separating multiple properties (e.g., /p:Category=Foo,Other=Bar), so that a value containing , itself (CI,Nightly) requires enclosing in - unescaped! - "...".

This anarchy - every executable on Windows being able to make up its own command-line parsing rules - is what makes a (capable) shell's life difficult; while mostly executable-agnostic general accommodations could be made that would make things work automatically in most cases, the case at hand is an example of a remaining edge case where explicit control over the process command line is required.

As noted before playing an eternal game of catch-up via piecemeal additions to an exception list is one way to solve the problem, but it is a terrible one:

Rogue executables will continue to be discovered and added over time, ensuring confusion over which PowerShell version has which executables on the exceptions list.

What's worse, the way to control the process command line for the executables on this exception list relies on workarounds for old, broken behavior. Future generations of PowerShell users should not be saddled with this obscurity.

There are existing, $PSNativeCommandArgumentPassing-independent  workarounds - spelled out in the next section for the case at hand - that do not require this exception list, and therefore should equally work across versions (before and after the breaking v7.3.0 change) as well as across editions (Windows PowerShell and PowerShell (Core).

Both workarounds are suboptimal, but at least avoid conceptual confusion and ever-changing exception lists:

The cmd /c workaround relies on the fact that cmd.exe does allow explicit control over the process command line, because it is little more than a thin layer on top of the process command lines; while that is handy in scenarios like this, it generally limits this shell's abilities, and its use a workaround comes with pitfalls:

You need to be mindful of cmd.exe's syntax; e.g. cmd /c 'echo value="3\" of snow & ver"' and cmd /c 'echo a&ver' do not work as expected and require ^-escaping the & char.
Character-encoding issues may come into play, because not all executables honor the encoding reflected in [Console]::OutputEncoding, which PowerShell uses to decode output from external executables.

--%, the stop-parsing token, avoids involvement of cmd.exe and copies what follows --% verbatim to the process command line, which comes with its own challenges, however:

Caveat: --%  is broken as of 7.3.0 - see #18664
You cannot (directly) reference variables and expressions (only cmd.exe-style environment variables, e.g. %OS%).
You cannot use redirections (e.g. > out.txt, 2> err.txt)
See this Stack Overflow answer for a full discussion.
However, if you combine --% with splatting, you can mostly avoid these limitations - see next section.

A better, yet-to-be-implemented workaround is called for, namely one that allows you to use a new special token ,
--"", that allows you to copy argument(s) via a  single single- or double-quoted string to the process command line verbatim:

While only future PowerShell versions would benefit from it, it is a conceptually clear solution that is easy to communicate and doesn't rely on (ever-changing) exception lists and broken legacy syntax.

In combination with #15143, $PSNativeCommandArgumentPassing could then default to 'Standard', and we could (blissfuly) forget that 'Windows' ever existed.
Unmodified old code must use $PSNativeCommandArgumentPassing = 'Legacy', as is already the case.
(Modified old or new) code that must maintain cross-version, cross-edition compatibility must make do with the existing workarounds (or use $PSNativeCommandArgumentPassing = 'Legacy' with the broken legacy syntax, but managing preference-variable changes is easy to get wrong).

In its all-arguments-as-a-single-string form, this workaround would be the equivalent of what Start-Process already supports when you pass a single string to -ArgumentList: the latter's verbatim value is copied as-is to the process command line, and therefore allows full control over it (to be clear: Start-Process is not a substitute for direct invocation of an executable - see https://github.com/MicrosoftDocs/PowerShell-Docs/issues/6239).

This approach offers crucial advantages over the existing ($PSNativeCommandArgumentPassing-independent) workarounds:

Unlike with the cmd /c workaround, there's no need for an extra cmd.exe process and its attendant challenges.
Unlike with --%,

PowerShell variable values and expressions can be embedded, via expandable strings.
the syntax doesn't interfere with PowerShell's regular syntax, allowing use of > redirections and line-continuations, for instance.
there's no longer a need to support cmd.exe-style environment variable references such as %OS% (which also fixes the problem of not being able to escape % chars. with --%).

# WISHFUL THINKING as of v7.3.0
# Note that --"", unlike --%, would only ever act on the *next* argument, though you're free
# to encode *multiple* arguments in one string.

# Argument-specific use, single-quoted:
# Copies the verbatim value of the string - /p:Category="CI,Nightly" - as-is to the process command line.
msbuild.exe D:\test.xml --"" '/p:Category="CI,Nightly"'

# Argument-specific use, double-quoted:
$cat = 'CI,Nightly'
msbuild.exe D:\test.xml --"" "/p:Category=`"$cat`""

# All-arguments use:
# The direct-invocation equivalent of: Start-Process msbuild.exe "D:\test.xml /p:Category=`"$cat`""
$cat = 'CI,Nightly'
msbuild.exe --"" "D:\test.xml /p:Category=`"$cat`""

# Splatting use:
$cat = 'CI,Nightly'
$argsArray = 'D:\test.xml', '--""', "/p:Category=`"$cat`""
msbuild.exe @argsArray

The existing, $PSNativeCommandArgumentPassing-independent workarounds spelled out for your case:

cmd /c workaround:

# Via an array (implied splatting)
cmd /c msbuild.exe @( 'D:\test.xml', "/p:Category=`"CI,Nightly`"" )

# Literal equivalent
cmd /c msbuild.exe D:\Test.xml /p:Category=`"CI,Nightly`"

--% workaround:

# Via an array - *explicit* splatting is needed for --% to be recognized.
# Note that --% applies to *all* subsequent elements in the array, not just the next one.
# (with --", it would only apply to the next one).
# !! BROKEN AS OF 7.3.0 - see https://github.com/PowerShell/PowerShell/issues/18664
# !! Use $PSNativeCommandArgumentPassing = 'Legacy' for now to see that it works.
$argsArray = @( 'D:\test.xml', '--%', "/p:Category=`"CI,Nightly`"")
msbuild.exe @argsArray

# Literal equivalent
# Note that the " now do not need escaping, but you get all the other --% downsides
# (all subsequent arguments affected, no support for PowerShell variables / expressions, no > redirections, ...)
cmd /c msbuild.exe D:\Test.xml --% /p:Category="CI,Nightly"

If this is really fixed in 7.3.1 - Ths would be a very good solution to support backward compatibility scenarios:
$categories = "CI,Nightly"

$parameters = @(
    '--%'
    "D:\test.xml",
    "/p:Category=`"$categories`""
)

$msbuild = 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64\MSBuild.exe'

& $msbuild @parameters

Hopefully this gets fixed in  https://github.com/PowerShell/PowerShell/issues/18664

@mklement0 would it be your opinion then that we should really just have Legacy and Standard and abandon Windows mode as it's potentially perpetually always playing catchup?

@SteveL-MSFT, indeed - to me, Windows mode was a mistake to begin with, and if the old, broken behavior becomes the default again, there's no benefit to it whatsoever.
Here's what I think is needed to get out of this mess (and it will remain a mess, just one that is predictable and manageable):

Provide a new operator that always exhibits the new, correct behavior (that is, it should exhibit Standard behavior irrespective of the value of PSNativeCommandArgumentPassing)

@yecril71pl proposes &* (perhaps reminiscent of **argv in C, the vector (array) of arguments).

To minimize the need to work around edge cases (see next point), this operator - and Standard mode - should incorporate the accommodations proposed in #15143. Note that, unlike with Windows mode, there would be no eternal play of catch-up to play; these accommodations are static and needn't change.

As the recent sqlcmd and msbuild examples have shown, even the proposed accommodations cannot cover all edge cases, so it's important to provide a way to control the process command line explicitly, but in a way that isn't burdened by the obscure, broken Legacy behavior:

As proposed here, a new, string-based token, --" would fit the bill.

While eliminating $PSNativeCommandArgumentPassing is presumably not an option anymore, the above enables the following:

Use of constructs that do not depend on the state of a preference variable.
&* would therefore work (virtually) the same on all platforms.
On Windows, --"" would be a conceptually clean workaround for edge cases in that it doesn't fight PowerShell's syntax the way that --% and Legacy mode do.

@SteveL-MSFT, with the above in place, the following clear guidance could be provided to end users:

For old code and new code that must work on older versions / also on Windows PowerShell (I'll call it cross-edition code below)

Old code can continue to use the old workarounds that rely on the broken behavior.
For new cross-edition code, it may be preferable to use cleaner workarounds:

Use --% with splatting
Call via cmd /c

For new code that is free to target v7.3.x+ only:

Always use &* to invoke native programs, on all platforms, to get the new, correct behavior.

For edge cases on Windows, use --"" to control the process command line.

Diagnosing edge cases / the resulting raw process command line needs proper documentation - and should be part of the upcoming docs you mention.
Additionally, consider shipping with testecho.exe (on Windows only), to make it easier for users to see the raw command line, especially in Standard mode / with &*, where Trace-Command -PSHost -Name ParameterBinding does not reveal the raw, single-string argument list (it only does so in Legacy mode).

&* is actually a homage to %* used in COMMAND.COM batch files.

I see, @yecril71pl, though note that %* in command.com / cmd.exe is a single string (the raw part of the command line after the executable, i.e. the single-string representation that encodes all arguments), not an array of arguments; by contrast, in POSIX-compatible shells, $* is an array of arguments (though subject to word-splitting; the robust way to refer to the array of verbatim arguments is "$@").

&@ is syntactically confusing because @ can begin an expression.  And it is also visually heavy, detracting from the main function in fonts where @ is heavier than &.

@PowerShell/powershell-committee discussed this and don't have a proposed solution yet, however, we considered the following:

keep with the current plan to have 7.3.x revert to Legacy as the default on Windows
add msbuild to the legacy list for Windows mode (which will be default for Previews)
add capability for user to add to the legacy list so they don't have to wait for new version of PS7
document cmd /c workaround for now cc @sdwheeler
add telemetry to see how often people are adding to the legacy list even if we don't send the actual command being added (for privacy reasons, although we can consider a one way hash so we know uniqueness of commands being added)
see if we can add a Feedback Provider to help users if we detect the situation where the last command was native, non-zero exit code, and parameters include quotes

@SteveL-MSFT,  these options only perpetuate the current confusion and lack of predictable behavior, indefinitely.

@PowerShell/powershell-committee revisited this, we're proceeding with the plan above

I am saddened to hear that, @SteveL-MSFT.
Given that your previous comment already indicated this - regrettable - course of action, there was no need to repeat it, except if you wanted to shed light on why revisiting the decision caused you to stick with it.

@mklement0 we want to get more feedback and not make a rash decision here.  Since we are making a change to 7.3.x to default to Legacy, users should not be impacted and we can take time to decide later if we want to continue to pursue Windows mode or not.  I think a part of it is also looking forward to more broader cmdline tools coming or used on Windows (particularly ones that are cross-platform).  Adding the telemetry will help us make a more data driven decision than anecdotal based on probably a loud minority.

Good politicians take decisions based on reason and logic; successful politicians take decisions based on the opinion of the majority.

See also:

#18991

Are there any outlooks on the whole problem? We are stuck on version 7.2.11 because of the quoting problems. Whats the plan for this. Which next powershell release will be compatible to old scripts?

Take a look at https://github.com/PowerShell/PowerShell/pull/18706. It's supposed to resolve the issue on Windows. We will consider whether it should be backported to PS v7.3.

@mklement0 Can you please provide a solution to this, wehn the path to msbuild contains a space?

For example like this: "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64\MSBuild.exe"
I fail at it :-(

@Scordo, in this case you (unfortunately) have to pass a single /c argument enclosed in "..." overall.
cmd /c "`"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64\MSBuild.exe`" $('D:\test.xml', '/p:Category="CI,Nightly"')"

That is, bizarrely, cmd.exe happily accepts a "..." string with embedded " that aren't escaped (and that's where the broken worlds meet: PowerShell's lack of escaping of embedded " chars. meshes with cmd /c not requiring such escaping).
If you don't use overall "..." enclosure, cmd.exe fails to parse the command if (a) the first argument is double-quoted and its directory path contains spaces and (b) subsequent arguments contain double quotes. There are variations of this scenario that break too.
Therefore, to be safe:

If the executable name or path needs quoting (of necessity double-quoting), pass the entire command line enclosed in "..." to cmd /c instead of using individual arguments  - no extra escaping needed.

Hi @mklement0 ,
and thanks for the info. I've created 2 functions to ease the dealing with msbuid. This now compatible with new and old powershell versions:
function Invoke-ThroughCmd {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory=$true)]
        [string] $Executable,

        [AllowNull()]
        [AllowEmptyCollection()]
        [Parameter(Mandatory=$false)]
        [string[]] $Args,

        [Parameter(Mandatory=$false)]
        [int[]] $SuccessExitCode = @(0),

        [switch]
        $IgnoreExitCode
    )

    $cmdArgs = @('/c')

    if ($Args) {
        $cmdArgs += "`"$Executable`" $($Args -join ' ')"
    }

    & cmd.exe $cmdArgs

    if ($IgnoreExitCode) {
        return
    }

    if (-not $SuccessExitCode -contains $LASTEXITCODE) {
        throw "Running 'cmd.exe $($cmdArgs -join ' ')' failed with exit code $LASTEXITCODE."
    }
}

function Invoke-MSBuild {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory)]
        [string[]] $MSBuildArgs,

        [Parameter(Mandatory=$false)]
        [string] $MSBuildExe = 'msbuild.exe',

        [switch]
        $IgnoreExitCode
    )

    Invoke-ThroughCmd -Executable $MSBuildExe -Args $MSBuildArgs -IgnoreExitCode:$IgnoreExitCode
}

Invoke-MSBuild -MSBuildArgs @('D:\test.xml', '/p:Category="CI,Nightly"') -MSBuildExe 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64\MSBuild.exe'

It is sad to have to deal with this problem at all, but at least we now have a clean solution.
Best regards,
Jens

Glad to hear it, @Scordo, but note that your functions will only work as intended if none of the $Args elements contain spaces or other PowerShell metacharacters. (On a side note, it's best to avoid using the automatic $args variable for custom purposes).

We know, that we have to escape args containing spaces with escaped quotes. But thanks for the info.
And yes, we already renamed the parameter "Args" :-)


Using moment to find the next time / event

Does moment.js have a function to determine the next time / date out of an array of times.
Example:
Current Time: 10/07/2016 15:19
Array: {
1: "10/07/2016 10:20",
2: "10/07/2016 15:21",
3: "10/07/2016 15:40",
4: "11/07/2016 11:40",
}
Output:
The next time is 10/07/2016 15:21 and begins in x (120) seconds.
I am willing to write a plugin to do this if there is no way of achieving this in moment.

There's no built-in way, no. It should be relatively easy to do in userspace though. This seems to work:
var next = [
  "05/07/2016 10:20",
  "10/07/2016 10:20",
  "10/07/2016 15:21",
  "10/07/2016 15:40"
].map(function(s){
  return moment(s, "MM/DD/YYYY HH:mm");
})
.sort(function(m){
  return m.valueOf();
})
.find(function(m){return m.isAfter();});

if (next) {
  console.log("Next time is", next.format("MM/DD/YYYY HH:mm"), "which is", next.fromNow());
}
else {
  console.log("No next event");
}

Plugins always welcome for the plugin list.

Thanks. That's a beautiful solution.

I parsed the dates with moment and converted to timestamp in the end. Split the events with > < before before and after and selected the closest ones to represent next and previous. Thanks.

There's no built-in way, no. It should be relatively easy to do in userspace though. This seems to work:
var next = [
  "05/07/2016 10:20",
  "10/07/2016 10:20",
  "10/07/2016 15:21",
  "10/07/2016 15:40"
].map(function(s){
  return moment(s, "MM/DD/YYYY HH:mm");
})
.sort(function(m){
  return m.valueOf();
})
.find(function(m){return m.isAfter();});

if (next) {
  console.log("Next time is", next.format("MM/DD/YYYY HH:mm"), "which is", next.fromNow());
}
else {
  console.log("No next event");
}

Plugins always welcome for the plugin list.

Thanx for this one you saved my day 👍

.sort(function(m,n){
  return m.valueOf() - n.valueOf();
})


Text not showing under erase button in qr-code activity

Erase button in the input area is hiding some text under it.

@llaske I have fixed this issue In #701 please check it and tell me if any change is required

@llaske I have added the features as you have suggested, please review #701 .

@llaske I have fixed the issues as you have suggested please merge this.

Fixed in https://github.com/llaske/sugarizer/pull/701


Update Manta staking APY formula

Version test: http://<IP_ADDRESS>:8900/s/9qpBKnJj8LNwtB6
Validation passed


Feature: Use ruby version specified in Gemfile

Since heroku looks in the Gemfile for a ruby version, it would be convenient if chruby did the same

This is a bundler feature. Also, no easy way to extract the ruby version, since the Gemfile is Ruby code itself.

That's a bummer. I'm surprised more people haven't mentioned this more here.
Using the Gemfile to declare the Ruby version seems more DRY than creating a .ruby-version file just to set the Ruby version.

While I see the value in using the Gemfile to assert a required ruby versions/engine, .ruby-version is more intended to select the desired ruby version or engine, mainly for development. Heroku appears to be the only one who uses the Gemfile to activate the desired version/engine. The only time I've specified a ruby version/engine, was for jruby/rbx specific dependencies.

@postmodern: "Heroku appears to be the only one who uses the Gemfile to activate the desired version/engine." False. RVM does this too, and it's very convenient. Right now it's the big thing I'm missing in chruby as compared to RVM.

@marnen ah apparently RVM1 greps the Gemfile.

Makes sense. So does the equivalent rbenv plugin, I believe.

Yes @postmodern, RVM does.
This is a print out from terminal when I cd into a directory with a Gemfile and RVM.
adamstacoviak@AS-rMBP [10:51] [~]
-> % cd changelog/nightly
RVM used your Gemfile for selecting Ruby, it is all fine - Heroku does that too,
you can ignore these warnings with 'rvm rvmrc warning ignore /Users/adamstacoviak/Code/changelog/nightly/Gemfile'.
To ignore the warning for all files run 'rvm rvmrc warning ignore allGemfiles'.

Is this a final decision? It's hard to choose between heroku and chruby.

@deivid-rodriguez you could pull .ruby-version into the Gemfile (ruby File.read('.ruby-version').chomp). Ideally, I wish heroku or bundler would support loading .ruby-version for us.
At work, we just use the default ruby and also set the X.Y version in .ruby-version.

@postmodern Thanks.

@postmodern IMHO Gemfile.lock locked Ruby auto-switch will make sense today. Would be PR welcomed?

@postmodern IMHO Gemfile.lock locked Ruby auto-switch will make sense today. Would be PR welcomed?

It appears that Bundler has added support for specifying a version constraint in the Gemfile (ex: ruby '>= 3.0.0'), but it still generates a Gemfile.lock containing the current ruby version if the current ruby version satisfies the Gemfile ruby version requirement.
Gemfile
source 'https://rubygems.org/'

ruby '> 3.0'

Gemfile.lock
...

RUBY VERSION
   ruby 3.1.2p20

BUNDLED WITH
   2.3.17

While we could in theory extract the ruby version from Gemfile.lock (and remove the pXYZ suffix), I still feel like .ruby-version is a better place to specify which ruby, version, or version-family (ex: ruby-3.0) one would like chruby to auto-switch to for that project. Also, there's the edge-case where a project contains both a .ruby-version file and a Gemfile.lock with a RUBY VERSION value defined; which should take precedence?
Maybe in the future when I add support for registering multiple chruby auto-functions this could be supported?

It appears that Bundler has added support for specifying a version constraint in the Gemfile (ex: ruby '>= 3.0.0'), but it still generates a Gemfile.lock containing the current ruby version if the current ruby version satisfies the Gemfile ruby version requirement.

AFAIK that's on purpose, there should be only 1 unique way to evaluate Gemfile.lock. Locking to open constraint would break this requirement. It seems to me this feature is actually misused. For "project" like Gemfile you should specify full Ruby version and for "library" like Gemfile you should use gemspec and required_ruby_version.
We can remove patch part of the version, that's good idea. I think it was officially abandoned.
My motivation in here is to prevent multiple files to describe your bundle and also to prevent need for "programming" in Gemfile (like reading file https://github.com/rails/rails/pull/46528/files) at all. Since that way you have .ruby-version most likely specifying full Ruby version which is on the fly evaluated in Gemfile using File.read to just lock it into Gemfile.lock again. That way info about Ruby version is actually stored twice in two files. Why to not store it only int he Gemfile.lock and rely on that?


Add Enctype to RestPost function to solve: ZF-6306

Add Enctype to function RestPost to solve problem with related issue: https://framework.zend.com/issues/browse/ZF-6306
Because the enctype is deleted in _prepareRest -> self::getHttpClient()->resetParameters() function , and you don't have chance to set enctype if not called before setNoReset, is annoying

Closed this PR for Inactivity


ENH Also check BASE_URL in host

Issue https://github.com/silverstripe/silverstripe-framework/issues/10156
Recipe test

https://github.com/emteknetnz/recipe-kitchen-sink/pull/1

I'm not 100% sure about the change.
On a correctly configured site (having the BASE_URL configured), with this change, it would always trump any Host header or HTTP_HOST server variable. That basically removes the functionality where a site can respond to multiple domains and let PHP decide what to do with it because it will always behave as on the single domain coming from BASE_URL.

That's a good point, probably makes sense to move the call to baseURL() to lower down in the host() method

On further inspection this is a pretty pointless PR.
$default_base_url comes from SS_BASE_URL https://github.com/silverstripe/silverstripe-framework/blob/4/src/Control/Director.php#L95
Which is also what feeds BASE_URL https://github.com/silverstripe/silverstripe-framework/blob/4/src/includes/constants.php#L111

The change now corresponds with what was already expected based on the method's docblock, and I think we should merge this, however, I'm not sure it solves the problem we discussed privately which might be coming from the place where it uses the current request to get the Host header.


Rename KreMLin into KaRaMeL in book/

This PR propagates the project renaming to book/ and hence to the Low* tutorial.
Minor: It also relaxes the upper bound on OCaml, which does not seem required anymore according to opam.
Note: The everest script and ecosystem currently still uses variables KREMLIN_HOME as well as the kremlin target, hence I did not modify those (yet)

Thanks Aymeric for your help!


docs(install) add GKE deployment templates

@ahmadnassri should we merge and push live?

@ahmadnassri would need your help make markdown look well on the page. Same markdown looks ok here on github

@theetrain can you plz take a look and help here.

I've added my suggestions.

@ahmadnassri I have updated the doc, please review.

What should be happening to this?

we can close this.


Error after update using by custom component updator

I have some errors after update using by custom component updator, today.
0.0.1 -> 1.0.0b2
After update all, it was chaged like that

url: /local/custom-lovelace/compact-custom-header/compact-custom-header.js?v=1.0.0b2

so I changed as below, and fixed.

url: /local/custom-lovelace/compact-custom-header/compact-custom-header.js?v=0.0.1

Sounds like you where having a caching issue. Please, use the bug report template. It's there to help me get all the info I need to troubleshoot your issues.


QRNG table needs adjustments

/reference/qrng/chains.html

NOWRAP column one
Check header on the right, the tag for the grouping is obstructed

Adjustments made to ANU header in PR #687


spx

[Enter feedback here]

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

ID: e4b55e56-55a1-d635-6bea-271dc361d676
Version Independent ID: 8e9cb28f-c133-f310-3c7d-3a3b7e85f69d
Content: Speech-to-text quickstart - Speech service - Azure Cognitive Services
Content Source: articles/cognitive-services/Speech-Service/get-started-speech-to-text.md
Service: cognitive-services
Sub-service: speech-service
GitHub Login: @trevorbye
Microsoft Alias: trbye

Can you please elaborate on your ask on this GitHub issue. Do you have any suggestion for the doc update? Let me know. Thanks.

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


can we use "External Data" and "Custom Row Format" together

Hi,
i trying to use "External Data" and "Custom Row Format"  together but with no success yet.
so i m trying to "Custom Row Format"  only and use state to update results from external source.
any thoughts on this.
Thanks.

Sorry that's not working out for you! Could you please post how you're defining your Griddle component? Thanks!

Hi,
for those who are trying to do this like me, i got it working by below defination.
<Griddle results={this.state.results} useExternal={true} externalSetPage={this.setPage} enableSort={false}
        externalSetPageSize={this.setPageSize} externalMaxPage={this.state.maxPages}
        externalChangeSort={function(){}} externalSetFilter={this.setFilter}
        externalCurrentPage={this.state.page - 1 } useCustomRowComponent={true} customRowComponent={OtherComponent} customRowComponentClassName={"custom-row"}   showFilter={true} showSettings={true}/>

still i have one problem left about Settings where page size is changeable. it is breaking somewhere, i am looking into it.

Hi,
finally resolved  the  "Settings" page size break issue.
Examples for externalData (http://griddlegriddle.github.io/Griddle/externalData.html)
uses Math.round everywhere to calculate maxPages  e.g.  maxPages: Math.round(data.count/10) .
it should be Math.ceil (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil)
e.g. maxPages: Math.round(11/10)   will always return 1 which is wrong. should return 2.
let me know if above point is right then i will close the issue.

You are right -- it should use math.ceil everywhere. If possible, would you like to make that change and submit a PR? :)
If not we'll keep this issue open and try to address it. It should be using ceil everywhere in 1.0.

This should be fixed in the recently release 1.0. Thanks and please feel free to open a new issue if any problems are encountered. 👍


pull request for e2e test at 11/17/2016 14:26:03

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

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


Remove realpath on NativeFunctionDynamicFunctionReturnTypeExtension

Revert https://github.com/symplify/phpstan-extensions/commit/b2b82e1130964c35c1e6c521cb9229be1ffd8163
realpath can return false, see  https://github.com/rectorphp/rector-src/actions/runs/6216373626/job/16870166794#step:5:11

@TomasVotruba ready to merge to fix Rector reported issue https://github.com/rectorphp/rector-src/actions/runs/6216373626/job/16870166794#step:5:11

closing in favor of @TomasVotruba recommendation at https://github.com/symplify/phpstan-extensions/commit/b2b82e1130964c35c1e6c521cb9229be1ffd8163#r127599628


Check that most fragmented output is correct

While indexing, I found that the most fragmented output had 112437 ordinal ranges in it. This is entirely possible, but I'd like to double check that it's the case.

I'm no longer calculating this, so it doesn't matter.


Change commit message and PR title to imperative mood

Because I'm a pedant.
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Is it "Increment" or "Increments"?

Is it "Increment" or "Increments"?

"Increment", per the guidance here: https://cbea.ms/git-commit/
The way I remember this is by referring to how git itself formulates messages for things like git revert:
Revert "Andrew's idea that seemed great at the time"

This reverts commit abcd1234

@andrross I think I am thrown off by dependapot which keeps saying "bumps". We should fix it probably.

@dblock https://github.com/dangoslen/dependabot-changelog-helper/pull/131


fix for Issue/104

This fixes #104 and improves our duplicate detection logic to be more sustainable by only looking at files that are of interest to the target files.

I assume this is superseded by https://github.com/OpenCyphal/pydsdl/pull/107; please reopen if I got it wrong


pretrained model with video augmentation data?

Hello! Thank you for nice work!!
I have some question about pretrained model you provide (cityscapes_best.pth)
in your paper, the model weight that get 81.5 miou (val) is trained by video augmentation data, sdc
but in here, github, training IOU of DeepWV3Plus get 81.4 IOU but tagged with "no sdc-aug"
my question is, which one is true? and is the provided pretrained model trained /wo sdc-aug? or /w sdc-aug?
Thank you in advance!

In our paper, the 81.5 score is obtained on cv0 split and use ResNeXt50 model. In the table here, the score 81.4 is obtained on cv2 split and use WideResNet38 model. Both the validation set and the model are not the same, so the scores are not directly comparable. Sorry for the confusion, we will provide a more comprehensive table for clear comparison.
In general, with sdc-aug will give you better performance and better generalization capability than without sdc-aug.
Right now, the provided cityscapes_best.pth model is trained with sdc-aug using WideResNet38 backbone. And it is trained on cv2 split to obtain best performance on the test leaderboard. Hope my explanation is clear, please let me know if you have more questions.

Thank you for your answer, and it was clear to me
any way, can you provide wideresnet38 weight only /w mapillary pretrained and not cityscape?
I just want to train from that point (train cityscape data)

Hi @karansapra, Is there a possibility that we release those Mapillary pretrained weights? Thank you.

Let me look into it. We can definitely look at release the Wideresnet38 weights to train mapillary.

Hi @JongMokKim  and @bryanyzhu  I have made a new commit that adds imagenet weights for WR38.
https://github.com/NVIDIA/semantic-segmentation/commit/85203a701ec8ee88d0fc1595a65c56b72fb3c36c

Hi, @bryanyzhu and @karansapra , thanks for your great work!
Within the "cityscapes_best.pth" model, I find a command line.
> print( torch.load('pretrained_models/cityscapes_best.pth')['command'] )

--dataset cityscapes --cv 2 --arch network.deepv3.DeepWV3Plus --sgd --lr 0.002 --scale_min 0.5 --scale_max 2.0 --gblur --color_aug 0.25 --class_uniform_pct 0.5 --class_uniform_tile 1024 --bs_mult 2 --lr_schedule scl-poly --poly_exp 1.0 --max_epoch 180 --crop_size 800 --syncbn --coarse_boost_classes 14,6,15,16,3,12,17,4 --max_cu_epoch 120 --maxSkip 3 --jointwtborder --wt_bound 1.0 --rlx_off_epoch 120 --repoly 1.5 --rescale 1.0 --strict_bdr_cls 5,6,7,11,12,17,18 --snapshot /home/dcg-adlr-yizhu-data.cosmos216/yizhu/pretrained/ImageSeg/best_mapillary_DeepWV3PlusS3_50.03.pth --ckpt /home/dcg-adlr-yizhu-output.cosmos229/run_logs_git_release --tb_path /home/dcg-adlr-yizhu-output.cosmos229/run_logs_git_release --exp cv2_skip3_wt1_relax_epoch180_run3

I assume this is the training script used to obtain cityscapes_best.pth model.
The starting point for this script is best_mapillary_DeepWV3PlusS3_50.03.pth.
Is it possible to release this model as well? Or, is it unavailable due to privacy concerns?

@karansapra @yangwangx @JongMokKim  Due to license issue, we may not be able to release the Mapillary pre-trained models at this moment. You can follow our readme to train your own model. It should reproduce, although I realize that training on Mapillary takes quite some time. Sorry for the inconvenience.

Thank you for your kind reply :)


Support the use of a notebook as a README on GitHub

I've started to use Interactive Notebooks for documenting APIs, frameworks and libraries. It would be incredibly useful to be able to use a notebook as a README on GitHub.
They seem perfectly suited as often on a project home page you want to give the reader a simple code sample alongside some summary text. For example, I'd tweak it a bit for a README, but my documentation for Pholly would be great to use as a README: https://github.com/JamesRandall/Pholly/blob/main/notebooks/PhollyIntroduction.ipynb
Ideally you'd simply have a README.ipynb file in the project root and GitHub would do the rest in the same way it does with Markdown files.
(per our conversation on Twitter - https://twitter.com/jamesdrandall/status/1353725958541500416 )

This sounds like an idea for GitHub, not for interactive. I'd try creating a topic on github.community about this


error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">=14.19.1 <=16.x.x". Got "18.18.0"

Describe the bug
A clear and concise description of what the bug is.
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">=14.19.1 <=16.x.x". Got "18.18.0"
error Found incompatible module.
To Reproduce
Steps to reproduce the behavior:

Delete from packages or update with relevent on

Expected behavior
A clear and concise description of what you expected to happen.
yarn install work fine
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Hi
You can use yarn install --ignore-engines.. it's a temporary work around
until I find a more up to date plugin to replace it with
Best Regards
Govind Diwakar
On Mon, 2 Oct, 2023, 00:17 github-actions[bot], @.***>
wrote:

Hi Thank you for highlighting this issue.
—
Reply to this email directly, view it on GitHub
https://github.com/SGFGOV/medusa-strapi-repo/issues/62#issuecomment-1742165863,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXEQJHHFK6FAGEEKSKQP6D3X5G3DVANCNFSM6AAAAAA5OQJXPI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
This message (including any attachments) may contain confidential,
proprietary, privileged and/or private
information. The information is
intended to be for the use of the individual or entity designated above. If
you are not the intended recipient of this message, please notify the
sender immediately, and delete the
message and any attachments. Any
disclosure, reproduction, distribution or other use of this message or
any
attachments by an individual or entity other than the intended recipient is
prohibited.


Sky flickers in mojo shell on certain devices

From @tonygentilcore on July 7, 2015 17:59
I have a private sky demo (can give repro instructions offline) that has severe UI flicker on a 2013 Nexus 7, moderate UI flicker on a OnePlus One, but is rock solid on an Android One (sprout).
Sometimes the flicker just flashes by itself and sometimes various components or pieces of components snap in or out of view upon touch input. I suspect we need to reduce a test case, but I'm not sure the best way to go about that. I also have no idea whether this repros in sky shell.
/cc @abarth
Copied from original issue: domokit/mojo#298

From @tonygentilcore on July 8, 2015 14:16
Repros on @jimbeveridge 's Nexus 5 too. He's getting some GL OOM messages in the log that might be a clue.

From @jimbeveridge on July 8, 2015 14:33
Here's a snip from the list of errors. Note the Out of Memory error buried in the list.
[ERROR:gles2_cmd_decoder.cc(3432)] [GroupMarkerNotSet(crbug.com/242999)!:54BCCAA1]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[ERROR:gles2_cmd_decoder.cc(3432)] [GroupMarkerNotSet(crbug.com/242999)!:54BCCAA1]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[ERROR:gles2_cmd_decoder.cc(3432)] [GroupMarkerNotSet(crbug.com/242999)!:54BCCAA1]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[ERROR:gles2_cmd_decoder.cc(3432)] [GroupMarkerNotSet(crbug.com/242999)!:54BCCAA1]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[ERROR:gles2_cmd_decoder.cc(3432)] [GroupMarkerNotSet(crbug.com/242999)!:54BCCAA1]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[ERROR:gles2_cmd_decoder.cc(3432)] [GroupMarkerNotSet(crbug.com/242999)!:54BCCAA1]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[ERROR:gles2_cmd_decoder.cc(3432)] [GroupMarkerNotSet(crbug.com/242999)!:54BCCAA1]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[ERROR:gles2_cmd_decoder.cc(3432)] [GroupMarkerNotSet(crbug.com/242999)!:54BCCAA1]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[ERROR:gles2_cmd_decoder.cc(3432)] [GroupMarkerNotSet(crbug.com/242999)!:54BCCAA1]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[ERROR:gles2_cmd_decoder.cc(3432)] [GroupMarkerNotSet(crbug.com/242999)!:54BCCAA1]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[ERROR:gles2_cmd_decoder.cc(3432)] [GroupMarkerNotSet(crbug.com/242999)!:54BCCAA1]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[ERROR:texture_manager.cc(1708)] [GroupMarkerNotSet(crbug.com/242999)!:54BCCAA1]GL ERROR :GL_OUT_OF_MEMORY : glTexImage2D:
[ERROR:gles2_cmd_decoder.cc(3432)] [GroupMarkerNotSet(crbug.com/242999)!:54BCCAA1]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glClear: framebuffer incomplete

From @tonygentilcore on July 8, 2015 14:41
By the way, this does seem like a recent regression (~1 week ago). I never noticed it on the FN based version of that UI (although so much has been changing that I definitely can't say this was introduced by our conversion to Widgets).

From @abarth on July 7, 2015 20:56
The next step here is to build a reduced test case of the flicker.

From @tonygentilcore on July 8, 2015 23:34
@abarth and I confirmed this is specific to mojo shell (sky shell is fine) and readily reproduces via:
./mojo/tools/mojo_shell.py --sky sky/sdk/example/stocks/lib/main.dart --android

/cc @viettrungluu-cr @MitchRudominer

From @tonygentilcore on July 9, 2015 2:47
Sounds hairy. No one seems to have touched that code in many months. Is there anyone outside of @jamesr and @sky2 that stand a chance at debugging this? If not, should we consider coercing mojo to go down the same path as sky (at least temporarily until someone owns the surfaces service)?
/cc @qsr @chrismckillop

From @MitchRudominer on July 8, 2015 23:42
Since @abarth is probably the person who best understands the relevant differences between Sky Shell and Mojo Shell, could he hazard a guess as to the layer of technology that might be a likely culprit?

From @abarth on July 9, 2015 2:16
The difference is that Sky Shell has Skia talking directly to Android GL driver whereas Mojo Shell has Skia talking to a command buffer and the Surfaces service.  My guess is that there's some bad interaction between Skia and the command buffer, potentially something that causes a GPU resource leak.

From @iansf on July 9, 2015 18:14
Cool -- I have the repro on my HTC 1+.  Sadly, the driver doesn't log any opengl errors for me, so I will try to get my hands on a Nexus 5.

From @tonygentilcore on July 9, 2015 17:18
Thanks! No need to set that up. See repro instructions in https://github.com/domokit/mojo/issues/298#issuecomment-119759384 .

From @chrismckillop on July 9, 2015 3:4
@iansf has been digging into the re-architecting of this part of the system.  Perhaps he can debug it a little in the short term to see if can't plaster over the issue until the bigger work is done?

From @iansf on July 9, 2015 16:43
I agree this seems like something I might be able to figure out.  Tony, do
you want to get me set up on your app sometime today so that I can dive
into it?
On Wed, Jul 8, 2015 at 8:04 PM, Chris McKillop<EMAIL_ADDRESS>wrote:

@iansf https://github.com/iansf has been digging into the
re-architecting of this part of the system. Perhaps he can debug it a
little in the short term to see if can't plaster over the issue until the
bigger work is done?
—
Reply to this email directly or view it on GitHub
https://github.com/domokit/mojo/issues/298#issuecomment-119800552.

From @iansf on July 14, 2015 0:25
Blocked by #318

From @iansf on July 15, 2015 23:46

I am able to reproduce the graphical errors on a Nexus 5, but I do not get any OpenGL errors being logged on that device.
I figured out how to get the Android Monitor GLTracer to work with mojo apps approximately, but for some reason it only records the egl commands, and not the opengl commands (two eglMakeCurrent calls and an eglSwapBuffers call), even though it successfully records the framebuffer contents when they get into a broken state.
I turned on SK_DEBUG, GR_GL_CHECK_ERROR, and GR_GL_LOG_CALLS in Skia to see what would happen (one at a time and together).  In all three cases, there are no errors reported, and the graphical corruption stops happening.  This makes me think there is a timing problem with talking to the graphics driver, since the app runs so slowly in those modes that inkwells usually don't even show up.
I have not found a working way to attach gdb to a sky app launched with mojo_shell -- even manually calling the adb shell commands gives me problematic errors that I haven't yet found a way around.  At this point, though, I'm not sure that gdb would help me diagnose this problem.

TL;DR: I am blocked on this bug.  We need better tools for dealing with graphical corruption issues on Android (or if we have them already, I would love to know about them).
If someone knows how to get a proper GLTrace out of Monitor for mojo apps, that would be a huge help.  @cdotstout -- any experience with this?

From @abarth on July 16, 2015 3:49
@iansf There's a way to make the command buffer log all the GL commands it touches.  I'd look around in //gpu/command_buffer for something that looks like logging.

From @cdotstout on July 16, 2015 4:57
I don't have experience getting gl traces from mojo apps.
Have you tried the qualcomm gpu profiler?
https://developer.qualcomm.com/software/adreno-gpu-profiler

@gabeschine found that removing the floating action button fixes the flicker. It has a clip and a drop shadow. Not sure if that provides any clues.
Also, you mentioned it may not help, but gdb support should be working in mojo devtools now.

Just did some digging with Ian - we found this only happens if the floatingActionButton is a circle.
Commenting out sky_sdk/sky/lib/painting/box_painter.dart:270:
270           canvas.drawCircle(center, radius, _backgroundPaint);
causes the problem to go away.

Could be completely unrelated but your mention of a circle reminds me of
https://github.com/domokit/mojo/issues/135.
There we suspected that the difference between a circle and a square had to do with the use of anti-aliasing in skia.

An update on the status of this.  I have found a work-around which fixes the issue and indicates what the root cause of the problem is.
The Workaround:
In ui/gl/gl_context_egl.cc, add the following line inside of GLContextEGL::MakeCurrent, around line 114:
if (eglGetCurrentContext() != EGL_NO_CONTEXT) glFinish();

What This Means:
We appear to have a synchronization problem in our command buffer implementation that is causing commands go to the incorrect EGL context.  Calling glFinish() right before changing contexts forces the driver to wait for queued commands to complete.
I'm digging into this in gpu/command_buffer/client/gles2_implementation.cc right now.  Hopefully the next update will be an actual fix, but feel free to use the workaround locally in the mean time.

Verified the workaround does indeed address the flicker. Looking forward to the fix :)

For what it's worth, I can trigger a couple different crashes via spamming scrolls that flicker.
One is just an OOM fatal in Dart here.
The other is a SIGILL on an address like 0x975a8e84, though I haven't managed to get any more context than that yet.

Which app and device can you do that on?  Does it still happen if you put the glFinish() line in?  I'm happy to check the work-around if you want.

The same demo Tony was working on, on a OnePlus One.
I can reproduce for you tomorrow. I don't think I had the glFinish() line in.

@jamesr or @viettrungluu-cr might also have ideas on the findings in https://github.com/domokit/sky_engine/issues/36#issuecomment-122970122

@iansf are you still actively working on this or would it be good to hand off?

Thanks for pinging this.  @jamesr and I were planning on meeting up last week to look at this, but that didn't happen.  I'll meet with him this week to push this forward.

After a while of flicker, I got a new error. Not sure if it helps.
[ERROR:gles2_cmd_decoder.cc(10351)] Context lost because SwapBuffers failed.
[ERROR:gles2_cmd_decoder.cc(4158)] Error: 5 for Command kSwapBuffers

I also tried to reduce the repro a bit (from the current state of it repros when you add a FloatingActionButton). Turns out that removing either the drop shadow or the circle clip fixes it. It's the presence of both that is needed to trigger the flicker.
Is there much more I could do to help out? Perhaps diffing up some code/changes vs chromium? Or maybe someone can teach me how to see the difference in skpictures for the various cases?

Also tried rolling skia to the chrome m45 branch, but no dice.

Hmm, given that enabling context virtualization which would have serialized all command onto one egl context didn't resolve the flicker I'm a little dubious that the flush is really the right answer. Please let me know if you still see badness.
@iansf maybe the next thing to do is to try to capture a bad frame sequence with context virtualization enabled in monitor and try to reproduce in a standalone app that talks to egl directly. Alternately, compare the gl stream to what sky shell emits.

Thanks James! That patch improved things a great deal. Several UIs used to flicker and they're all solved except that action button example. That should still be fixed, but things are usable now.

That's good to hear.  I don't think the bug is really completely fixed, but if you and yours are able to make progress without getting headaches that's definitely an improvement.  This has a very minor perf impact as well (1 possibly unnecessarily glFlush per frame).

What is the current status of this issue? Is anyone working on it? I'm asking, because it still severely affects any code that uses FloatingActionButtons extensively. I would prefer to avoid having to design around this bug.

I would recommend that we commit the workaround that I originally found if this is blocking you.  It seems to completely fix the issue, at the expense of two glFinishes per frame.  That being said, I would defer to @jamesr's opinion on this, since he's much more deeply involved with the graphics stack than I am.

IMHO we shouldn't check in workarounds. We can't afford the technical debt. It just ends up costing us more later.

I'll try investigating further. I haven't been working with sky though so can someone post up-to-date repro steps?

Hopefully @ppiet or @qsr can fill in repro steps. I tried for a while but wasn't able to come up with a way to run a sky app in mojo in such a way that I could describe in a handful of repro steps. I could point you at a one-liner to repro this in a private repo if that's any help.

A one-liner sounds just fine to me :)

@cdotstout @qsr @iansf
In case anyone prefers a self-contained repro, here it is:
import 'package:sky/theme/colors.dart';
import 'package:sky/widgets/basic.dart';
import 'package:sky/widgets.dart';

class FlickerApp extends App {
  @override
  Widget build() {
    return new Container(
        decoration: new BoxDecoration(backgroundColor: RedAccent[700]),
        child: new FloatingActionButton(
            child: new Icon(type: "action/account_circle", size: 24)));
  }
}

Just click on the big button to see the failure mode (**Seizure Warning!** :wink: ).

Flicker should be resolved:
https://codereview.chromium.org/1348283004/
The glFlush that was added can likely now be removed.

\o/

The flicker seems fixed for me. Is anyone else still experiencing it?

I'll take that as this issue being fixed.


django_app/default: Migration 0003_alter_email_max_length wrong for Django 1.7

Hi,
Django 1.8 changed the default max_length for EmailField to 254. In response, python-social-auth added migration 0003_alter_email_max_length, which sets its own email field's length to 254. However, the email field itself does not have an explicit max_length specified, so on Django 1.7 (where the default max_length is still 75) Django issues this message (when running migrate and there are no other migrations to run):
  Your models have changes that are not yet reflected in a migration, and so won't be applied.
  Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.

Of course, if you follow that advice, you get an automatic migration.
Proper fix, probably, is setting the Code.email's length to 75 explicitly as long as Django 1.7 is supported (254 is also an option, but may be a problem if the value is then copied into other, default-lengthed, email fields).

FYI, this was solved in 663a174db194b1cc46effcaa4a2dc45d41d0d8e3

No, this was introduced in 663a174. Before that commit, migrations create a field that doesn't work well with Django 1.8. With it, migrations create a field which works well with Django 1.8, but not Django 1.7.

Ouch. Misread that. You're right. Hmm.....

Specify the length on the EmailField manually to fix this.

@omab could you maybe release this fix to PyPI?  This is currently breaking my builds, so I've had to downgrade python-social-auth.

@hwkns, v0.2.13 released to pypi.


[Improvement] The spark version is associated with the spark command

Purpose of the pull request
The spark version is associated with the spark command.

Codecov Report

Merging #7544 (906bd0e) into dev (946a0c7) will increase coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                dev    #7544   +/-   ##
=========================================
  Coverage     41.26%   41.27%
- Complexity     3671     3672    +1
=========================================
  Files           641      641
  Lines         26467    26467
  Branches       2961     2961
=========================================
+ Hits          10922    10924    +2
+ Misses        14522    14517    -5
- Partials       1023     1026    +3

Impacted Files
Coverage Δ

...er/master/dispatch/host/assign/RandomSelector.java
77.77% <0.00%> (-5.56%)
:arrow_down:

...e/dolphinscheduler/remote/NettyRemotingClient.java
53.52% <0.00%> (+1.40%)
:arrow_up:

...org/apache/dolphinscheduler/remote/utils/Host.java
40.00% <0.00%> (+2.22%)
:arrow_up:

Continue to review full report at Codecov.

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


Feature Request - Jackett

How about adding Jackett?
And would be nice to add one of the forks that use Public Indexers like TPB.

Jackett public crashes to much and with almost no updates is not worth it. Adding  cardigann might be the way to go https://github.com/cardigann/cardigann
It does not require mono has simple binary to install and has definitions system where even if a tracker is not built in you could add the trackers if you know a little bit of scripting. Plus its footprint is very small compared to jackett so could be easily installed and run on nas.

Would like to ask for jackett support with definition support jackett alone is enough no need for jackett public

This has now been added :-)
Please can you give it a try and report back with the outcome?
Thanks Tom

I've not heard any bad feeback on this so will assume its ok. Please log an issue if anyone finds a problem.
Thanks

I had installed Jackett manually already used atomic toolkit to backup and then reinstalled it using atomic toolkit. Btw my mono install was updated when I used atomic toolkit to install Jackett didn't when I installed sonaar or radaar using toolkit sometime ago.
Maybe you should look into updating mono when installing sonarr and radarr as well.

Thanks for coming back to me and for pointing this out, its just the sort of feedback I need. Your right they should be updating mono as well so I'll update then shortly shortly.


ERROR: There are no scenarios; must have at least one.

[x] I am on the latest Cerebro.app version
[x] I have searched the issues of this repo and believe that this is not a duplicate.
-->
pop os
20.4 LTS
issue -
ERROR: There are no scenarios; must have at least one.

I'm trying to install it

If you're trying to install this using the command line and you installed the "cmdtest" because Linux prompted you, then you've got the wrong yarn install.
Remove it by doing sudo apt remove cmdtest and then sudo apt autoremove
Then you'll need to install the correct yarn:
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn

Then try the install command again cd cerebro && yarn && cd ./app && yarn && cd ../


feat(pubsublite): service composite implementation

This change is

google/cloud/pubsublite/internal/service_composite.h, line 83 at r2 (raw file):
Previously, coryan (Carlos O'Ryan) wrote…
Why serialize all the Shutdown() calls?  I think you want something like:
https://github.com/GoogleCloudPlatform/cpp-samples/blob/f9e1a7038909ab5d83f639a4931d13792e90c487/getting-started/gke/index_gcs.cc#L211-L243
And then do:
std::vector<future<void>> shutdown;
std::transform(dependencies_.begin(), dependencies_.end(), std::back_inserter(shutdown), [](auto s) { return s->Shutdown(); });
return when_all(std::move(shutdown));

That's exactly what this is doing. It's only serializing the calls to make the futures- note that ChainFuture takes a future (i.e. already started) and adds it to the then callback.
Is there a "when_all" future helper? If so, we can use that instead.

google/cloud/pubsublite/internal/service_composite.h, line 61 at r6 (raw file):

   * This will add a `Service` dependency for the current object to manage. It
   * is only added if the current object hasn't been `Shutdown` yet.
   * @param dependency

add a note that Start() must have already been called?
Code quote:
* @param dependency

google/cloud/pubsublite/internal/service_composite_test.cc, line 34 at r6 (raw file):

using ::google::cloud::pubsublite_testing::MockService;

TEST(ServiceTest, SingleDependencyGood) {

can you add a create destroy test for this as well?
Code quote:
TEST(ServiceTest, SingleDependencyGood) {


Fix race in BaseNodeRoleWatcher tests

Follow up PR to #15726
Addresses the comments:

https://github.com/apache/druid/pull/15726#discussion_r1514832437
https://github.com/apache/druid/pull/15726#discussion_r1514853293

This PR has:

[ ] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

thank you @AmatyaAvadhanula !


Instead of opening renpy and passing environment variables, connect to a running renpy

A bigger limitation of the current implementation of vscode-renpy-warp  is that it ends up monopolizing renpy (or, at least) require being the one starting renpy, otherwise, it won't run or work at all, even if just because the client doesn't know how to connect to the server.
I have some ideas how it might be done differently but I'll need to test them first.
Note: This issue is being made because some initial commenting on that was made here: https://github.com/furudean/vscode-renpy-warp/issues/24#issuecomment-2253510864
As stated, I will be doing multiple PoC myself to understand options and flaws. I'll report back with options when I have them.

Hey. I have an initial working proposal for how it might work.
There's a file with the port available just outside the game directory (code for that is in _websocket_addon.py:36). Clients are supposed to read that file to get the port to connect to.
Every new instance of the game will open a different port.
The file contains the port of the latest opened instance of the game.
The last instance of the game deletes the file (ofc, if it crashes, segfault style or the process is killed by the OS, the file will stay).
Because this needs to work in windows, I had to make design decisions to accommodate its imposed limitations. I hope I didn't forget any.
I purposely didn't try to avoid race conditions with the file which stores the port number to keep the code more simple.
I included an example.py which tries to exemplify how to use the API. Hopefully it's clear enough and the API is simple enough.
The POC:
00_devwebsocket.rpe.zip

I've started work on this on the branch https://github.com/furudean/vscode-renpy-warp/tree/pick-up-connection


unhandledRejection: Error [GoogleGenerativeAIError]: [VertexAI.GoogleGenerativeAIError]: exception appending chat history

I got an error detail like this:

error unhandledRejection: Error [GoogleGenerativeAIError]: [VertexAI.GoogleGenerativeAIError]: exception appending chat history
at /Users/{user}/node/{projectfile}/{project-repo}/node_modules/@google-cloud/vertexai/build/src/index.js:219:19
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
digest: undefined

Does anyone have a solution to the problem?

Having the same problem.
    const chat = generativeModel.startChat({
        history: [
            {
                role: "user",
                parts: [
                    {
                        text: "How are you doing today?",
                    },
                ],
            },
        ],
    });

I've been solved this problem with running this "gcloud auth application-default login", and downgrade from 0.2.1 to 0.1.3

Error Response:
{
  "error": {
    "code": 400,
    "message": "Please ensure that multiturn requests alternate between user and model.",
    "status": "INVALID_ARGUMENT"
  }
}

The error response from the initial request to the API indicates an issue with the sequence of messages in the payload. The API expects a strict alternation between 'user' and 'model' roles within the conversation history.

The issue stems from the message history containing back-to-back 'user' role messages, especially when the last message in the history is also attributed to the 'user'. This conflicts with the API's expectations since it anticipates the next turn to be from the 'model'.

To correct this problem, we need to adjust the way we assemble the message history for the request:

1. Confirm the alternation of 'user' and 'model' messages throughout the history.
2. Ensure the last message in the history is from the 'model'.

Proposed improvement:
1. Implement a check to verify proper alternation of message roles before dispatching the request.
2. If the validation detects consecutive 'user' messages or that the last message is from the 'user', it should not make the request and it should return a custom error message that clearly identifies the issue with the message sequence to the user.

Hi all,
Thank you for the feedback, while I am prioritizing this issue in planning, a quick way to get diagnosis like https://github.com/googleapis/nodejs-vertexai/issues/139#issuecomment-1923312087 is to use a curl command and see the raw response from endpoint.

thanks @yyyu-google!

Hi all, Thank you for the feedback, while I am prioritizing this issue in planning, a quick way to get diagnosis like #139 (comment) is to use a curl command and see the raw response from endpoint.

Well problem is if it's not happening locally but only when deployed ...

Hi all,
I have release 0.4.0. It should bubble up the complete error message now.

Facing the same error in version 1.1.0 @yyyu-google

Same here with version 1.1.0.  The error is very opaque, only "exception posting request to model":
GoogleGenerativeAIError: [VertexAI.GoogleGenerativeAIError]: exception posting request to model
    at /my-dir/node_modules/@google-cloud/vertexai/src/functions/generate_content.ts:87:11

I found that the lack of descriptive error for me was due to an older version of Node (v10) running in the deployed environment.  When I updated to Node v20 I was able to debug the error (which happened in my case to be the wrong model name).

Hey Chris, have you solved it?


Move contextproviders from impl to their related contextlogger artifacts

At the moment all contextproviders reside in the impl project. Therefore all related frameworks are bound as provided dependencies.
We will be able to remove those dependencies, if we move the contextprovider classes to their related binding artifacts
All contextproviders are initialized via reflection. Therefore we still need to keep all context provider types inside the
io.tracee.contextlogger.internal.wrappercontextproviders
io.tracee.contextlogger.internal.implicitcontextproviders
files.
We need to check the stability of the framework in case of an context provider type cannot be found.
We should add an itest to check the correctness of those full qualified class names.

Refactoring is done!
ITests are still pending.
Configuration of profiles may be refactored too. (use small profile configuration files in related artifact - filenames could be based on full qualified class name + profile level)


GEODE-5751: Move 2 userguide source directories up one level in the directory tree.

Move 2 userguide source directories up one level in the directory tree.
../docs/geode-native-docs becomes ../geode-native-docs
../docs/geode-native-book becomes ../geode-native-book
../docs directory remains with other content (../docs/api and ../docs/docker)

The restructuring looks good, though I would ask that you rename the PR to match current convention.

I agree with reviewer @mmartell - this directory change is really a workaround for an issue with bookbinder. As such, it's an imperfect and temporary solution.
I will withdraw this PR in favor of a more lasting fix to the tool itself.


Eventhub blocking graph change notifications confirmation of Graph API IP Address Range

Turning the Allow access from Selected Networks on is causing the eventhub to reject Microsoft Graph Change Notifications. We have specified the addresses in 23 on https://docs.microsoft.com/en-us/microsoft-365/enterprise/additional-office365-ip-addresses-and-urls?view=o365-worldwide.
Does anyone know if the address range is the most up to date or if there is any other ip addresses needed?

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

ID: 5de1e69c-aee8-2cd4-3f69-5288253d9b2a
Version Independent ID: 3bcee52a-c7be-6ce3-05a9-2409ec30661c
Content: Additional endpoints not included in the Office 365 IP Address and URL Web service - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/additional-office365-ip-addresses-and-urls.md
Service: o365-administration
GitHub Login: @kelleyvice-msft
Microsoft Alias: kvice

@LauraWi Please help us in resolving this issue. Thanks

@LauraWi Gentle reminder

Thanks for reaching out. Is this still happening, or has it been resolved?

Closing this issue, as my understanding is that the problem has been corrected in later endpoints web service updates.


Error 500 if I change Mappings

What happened?
If I change some settings on the Mappings Page, the Addon tried to update by using Ajax Request. This results in an Error 500.
After that, I downgraded to v2024.7.2. Here I can set all Mappings. After that I upgraded back to the latest Version :-)
I this a known Bug?
config_entry-smart_irrigation-01J8349TQPRXWD8WPK0Z5MTD4P.json
How to reproduce
Version v2024.7.3 and higher
Relevant log output
No response
Which version are you running?
v2024.8.2
Diagnostics file

[X] I have attached a diagnostics file

Additional information
No response

500 errors mean you are working with an older version of the frontend after you upgrade... Do this after you upgrade https://refreshyourcache.com/en/cache/


Initialize videojs-contrib-ads sooner to avoid redispatch issues

I'm referring to this part:
videojs('example_video_1', {}, function(){
  var player = this;
  player.preroll({
    src:"advertisement.mp4"
  });
});

This initializes the preroll plugin on player ready, which in turn initializes videojs-contrib-ads.
We have had a lot of bugs where people initialized this way because contrib-ads' redispatch feature is not initialized until player ready, which means a lot of events don't get redispatched up until when then. We've seen people rely on those events for analytics, for example.
Other work may need to be done to support this, but you'll want config to look something like this:
var player = videojs('example_video_1');
player.preroll({
  src:"advertisement.mp4"
});

More information in the videojs-contrib-ads readme

Additionally, videojs-contrib-ads 5.x logs a warning and fails to play ads if it is initialized late, so this is needed for 5.x support.


Test

Motivation

Proposal

Test Plan

Release Plan

Need to bump the major/minor version number in the next release of the crates.
Need to update the developer manual.
This PR is adding or removing Cargo features.
Release is blocked and/or tracked by other issues (see links below)

Links

reviewer checklist

Current dependencies on/for this PR:

main

PR #1231

PR #1255

PR #1265   👈

This stack of pull requests is managed by Graphite.


Initial pass for 5.0 DRG

Still got few TODOs, mainly updating the rotation watchdog module and fixing the whole Raiden Thrust thing (how do combos), so those'll be coming along in the next few days.

The deed is done.


Unable to locate package msodbcsql18

Installing the msodbsql package can't be done in ubuntu 21.10:
"E: Unable to locate package msodbcsql18"

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

ID: 0fc3da20-7ab2-d20f-4d29-4664d3183b57
Version Independent ID: 986d25d9-5d2e-5154-39ea-3b683faf2264
Content: Install the Microsoft ODBC driver for SQL Server (Linux) - ODBC Driver for SQL Server
Content Source: docs/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server.md
Product: sql
Technology: connectivity
GitHub Login: @David-Engel
Microsoft Alias: v-davidengel

The package appears to be there:
https://packages.microsoft.com/ubuntu/21.10/prod/pool/main/m/msodbcsql18/
Did you follow the installation steps to add the Microsoft packages repo as a source for your system?
https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15#ubuntu18
Regards,
David

Followed the installation steps. It's Ubuntu Server by the way. I've solved my problem in a different way. Strange the package can't be reached.


Scroll event keeps firing

Does not seem to respect infiniteScrollDistance setting.
Is infiniteScrollDistance implented?
i have
<div #itemListViewWrapper infinite-scroll [infiniteScrollDistance]="1" (scrolled)="onScroll()">
    <item-component *ngFor="#item of itemListView" [item]="item"></item-component>
</div>

onScroll fires basically whenever i scroll regardless of distance bottom of the div to bottom of window
changing it to 0 or 2 doesn't matter

what i have done so far to get it working, this does not jive with how the angular1 version worked
    onScroll () {
        console.log('scrolled!!');
        var items=this.articles.nativeElement.getElementsByTagName('item');
        var lastEl=items[items.length-1];
        if(lastEl && this.isScrolledIntoView(lastEl)){ //if last article in view then load next article
            if(this.itemList.length>=arts.length) {
                this.itemList.push(this.itemList[items.length]);
                console.log('adding item')
            }
        }
    }

    isScrolledIntoView(el) {
        return (window.scrollY+window.innerHeight)>el.offsetTop;
    }

hi @chrishawn
if you can integrate that as a pr, i'de be happy to merge it.

I had the same issue and, at least in my case, it was due elem.document.documentElement.clientHeight not returning the viewport height but the document height in the Scroller.height() function, which led to every scroll event triggering the callback. After replacing it with elem.document.body.clientHeight it works for me in Chrome 50.

It turns out that in my case the issue was actually caused by a missing DOCTYPE declaration which leads to the output of documentElement.clientHeightand body.clientHeight being switched for compatibility with older websites as described here.

this should be fixed in the next release soon.

this issue has been addressed with this release - f5534b5ec09f0517725b4a63bfd55fb80bcc41ca

@zoehneto  amazing catch regarding missing DOCTYPE - I experienced the same issue!
@orizens , I suggest this one being updated and reflected in the README.


Custom Theme

I am following the tutorial to create a custom theme: https://wowchemy.com/docs/customization/#custom-theme
My root folder is academic-kickstart-benson/ -- I created a /data/themes/ folder there, pasted in minimalist.toml, renamed it as minimalist_dark.toml, and updated params.toml to reflect the new theme minimalist_dark. This works as long as I do not change minimalist.toml in any way.
What I'm looking to do is change the default from 'light' to 'dark'. I have tried changing 'light = true' to 'light = false' and I've also tried changing the line to 'dark = true.' In either of these cases the deploy through netlify breaks. Any thoughts on what might be happening here?
Thanks in advance for any help on this. I should also say a similar thing happens when I try to modify li_citation.html.
Here is the deploy log from netlify:
hugo --gc --minify -b $URL
3:29:12 PM: Building sites … ERROR 2020/08/31 19:29:12 render of "page" failed: execute of template failed: template: publication/single.html:5:3: executing "publication/single.html" at <partial "site_head" .>: error calling partial: execute of template failed: template: partials/site_head.html:46:5: executing "partials/site_head.html" at <partial "functions/parse_theme" .>: error calling partial: "/opt/build/repo/themes/academic/layouts/partials/functions/parse_theme.html:41:35": execute of template failed: template: partials/functions/parse_theme.html:41:35: executing "partials/functions/parse_theme.html" at <$theme.light.background>: can't evaluate field background in type interface {}
ERROR 2020/08/31 19:29:12 render of "page" failed: execute of template failed: template: publication/single.html:5:3: executing "publication/single.html" at <partial "site_head" .>: error calling partial: execute of template failed: template: partials/site_head.html:46:5: executing "partials/site_head.html" at <partial "functions/parse_theme" .>: error calling partial: "/opt/build/repo/themes/academic/layouts/partials/functions/parse_theme.html:41:35": execute of template failed: template: partials/functions/parse_theme.html:41:35: executing "partials/functions/parse_theme.html" at <$theme.light.background>: can't evaluate field background in type interface {}
ERROR 2020/08/31 19:29:12 render of "page" failed: execute of template failed: template: publication/single.html:5:3: executing "publication/single.html" at <partial "site_head" .>: error calling partial: execute of template failed: template: partials/site_head.html:46:5: executing "partials/site_head.html" at <partial "functions/parse_theme" .>: error calling partial: "/opt/build/repo/themes/academic/layouts/partials/functions/parse_theme.html:41:35": execute of template failed: template: partials/functions/parse_theme.html:41:35: executing "partials/functions/parse_theme.html" at <$theme.light.background>: can't evaluate field background in type interface {}
ERROR 2020/08/31 19:29:12 render of "page" failed: execute of template failed: template: publication/single.html:5:3: executing "publication/single.html" at <partial "site_head" .>: error calling partial: execute of template failed: template: partials/site_head.html:46:5: executing "partials/site_head.html" at <partial "functions/parse_theme" .>: error calling partial: "/opt/build/repo/themes/academic/layouts/partials/functions/parse_theme.html:41:35": execute of template failed: template: partials/functions/parse_theme.html:41:35: executing "partials/functions/parse_theme.html" at <$theme.light.background>: can't evaluate field background in type interface {}
Total in 276 ms
3:29:12 PM: Error: Error building site: failed to render pages: render of "page" failed: execute of template failed: template: publication/single.html:5:3: executing "publication/single.html" at <partial "site_head" .>: error calling partial: execute of template failed: template: partials/site_head.html:46:5: executing "partials/site_head.html" at <partial "functions/parse_theme" .>: error calling partial: "/opt/build/repo/themes/academic/layouts/partials/functions/parse_theme.html:41:35": execute of template failed: template: partials/functions/parse_theme.html:41:35: executing "partials/functions/parse_theme.html" at <$theme.light.background>: can't evaluate field background in type interface {}

<$theme.light.background>: can't evaluate field background in type interface {}

This was fixed. Updating to the latest master version (see docs) should resolve the issue.

Hi,
I was already on 4.8.0. There's not a newer version, is there?
Thanks,
Greg
On Mon, Aug 31, 2020 at 7:28 PM Geo<EMAIL_ADDRESS>wrote:

<$theme.light.background>: can't evaluate field background in type
interface {}
This was fixed. Updating to the latest master version (see docs) should
resolve the issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/gcushen/hugo-academic/issues/1832#issuecomment-684100558,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA6W4EOVYCS2IQEOOO6J7TSDQW3RANCNFSM4QQ4FE6A
.


Activity has leaked window...?

Hi,
I would like to thank you first for the good library,
and I am wondering if you can provide a function to cancel or hide he dialog if it's been shown!
becuse I am getting "Activity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView..." if I wanted to launch another activity and the dialog is being shown.
Thanks in advance.

The latest update allows to dismiss snackbars and dialogs: https://github.com/javiersantos/AppUpdater/commit/337f7d73e184ecfcbf9db33e15740ab37e732d69. Thank you for letting me know!
dependencies {
    compile 'com.github.javiersantos:AppUpdater:2.2'
}

Thanks a lot for the great work..


API to push markdown documentation to NuGet.org

Related SO post. I wonder if API to edit existing package and upload .md file exists. It would be nice if we can automate it, for example as after push step.

Referencing the discussion issue: https://github.com/NuGet/NuGetGallery/issues/2280

Update on this topic:
We are starting work on allowing to upload markdown documentation as part of the package: https://github.com/NuGet/Home/wiki/Packaging-Documentation-within-the-nupkg
The discussion issue for this feature is here: NuGet/Home#6873
Closing this one as duplicate.

And how can I specify this documentation via a CsProj file in a similar manner to how other properties can be specified there?


feat: add goreleaser action

This adds goreleaser for each release
Fixes #3

The workflow is failing just due to the project not having a stable release yet
I'm going to add Release-Please and that should fix the workflow error whenever a release gets made


[AVM Module Issue]: Storage Account Table Service Cors

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Issue Type?
Feature Request
Module Name
avm/res/storage/storage-account
(Optional) Module Version
0.13.1
Description
Currently, thetableServices don't allow CORS options, but they can be set up via the underlying Bicep module see here.
table-service/main.bicep:
metadata name = 'Storage Account Table Services'
metadata description = 'This module deploys a Storage Account Table Service.'
metadata owner = 'Azure/module-maintainers'

@maxLength(24)
@description('Conditional. The name of the parent Storage Account. Required if the template is used in a standalone deployment.')
param storageAccountName string

@description('Optional. tables to create.')
param tables array = []

@description('Optional. Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service.')
param corsRules array = []

@description('Optional. The diagnostic settings of the service.')
param diagnosticSettings diagnosticSettingType

// The name of the table service
var name = 'default'

resource storageAccount 'Microsoft.Storage/storageAccounts@2023-04-01' existing = {
  name: storageAccountName
}

resource tableServices 'Microsoft.Storage/storageAccounts/tableServices@2023-04-01' = {
  name: name
  parent: storageAccount
  properties: {
    cors: {
      corsRules: corsRules
    }
  }
}

resource tableServices_diagnosticSettings 'Microsoft.Insights/diagnosticSettings@2021-05-01-preview' = [
  for (diagnosticSetting, index) in (diagnosticSettings ?? []): {
    name: diagnosticSetting.?name ?? '${name}-diagnosticSettings'
    properties: {
      storageAccountId: diagnosticSetting.?storageAccountResourceId
      workspaceId: diagnosticSetting.?workspaceResourceId
      eventHubAuthorizationRuleId: diagnosticSetting.?eventHubAuthorizationRuleResourceId
      eventHubName: diagnosticSetting.?eventHubName
      metrics: [
        for group in (diagnosticSetting.?metricCategories ?? [{ category: 'AllMetrics' }]): {
          category: group.category
          enabled: group.?enabled ?? true
          timeGrain: null
        }
      ]
      logs: [
        for group in (diagnosticSetting.?logCategoriesAndGroups ?? [{ categoryGroup: 'allLogs' }]): {
          categoryGroup: group.?categoryGroup
          category: group.?category
          enabled: group.?enabled ?? true
        }
      ]
      marketplacePartnerId: diagnosticSetting.?marketplacePartnerResourceId
      logAnalyticsDestinationType: diagnosticSetting.?logAnalyticsDestinationType
    }
    scope: tableServices
  }
]

module tableServices_tables 'table/main.bicep' = [
  for (table, index) in tables: {
    name: '${deployment().name}-Table-${index}'
    params: {
      name: table.name
      storageAccountName: storageAccount.name
      roleAssignments: table.?roleAssignments
    }
  }
]

@description('The name of the deployed table service.')
output name string = tableServices.name

@description('The resource ID of the deployed table service.')
output resourceId string = tableServices.id

@description('The resource group of the deployed table service.')
output resourceGroupName string = resourceGroup().name

// =============== //
//   Definitions   //
// =============== //

type diagnosticSettingType = {
  @description('Optional. The name of diagnostic setting.')
  name: string?

  @description('Optional. The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to `[]` to disable log collection.')
  logCategoriesAndGroups: {
    @description('Optional. Name of a Diagnostic Log category for a resource type this setting is applied to. Set the specific logs to collect here.')
    category: string?

    @description('Optional. Name of a Diagnostic Log category group for a resource type this setting is applied to. Set to `allLogs` to collect all logs.')
    categoryGroup: string?

    @description('Optional. Enable or disable the category explicitly. Default is `true`.')
    enabled: bool?
  }[]?

  @description('Optional. The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to `[]` to disable log collection.')
  metricCategories: {
    @description('Required. Name of a Diagnostic Metric category for a resource type this setting is applied to. Set to `AllMetrics` to collect all metrics.')
    category: string

    @description('Optional. Enable or disable the category explicitly. Default is `true`.')
    enabled: bool?
  }[]?

  @description('Optional. A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type.')
  logAnalyticsDestinationType: ('Dedicated' | 'AzureDiagnostics')?

  @description('Optional. Resource ID of the diagnostic log analytics workspace. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.')
  workspaceResourceId: string?

  @description('Optional. Resource ID of the diagnostic storage account. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.')
  storageAccountResourceId: string?

  @description('Optional. Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.')
  eventHubAuthorizationRuleResourceId: string?

  @description('Optional. Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.')
  eventHubName: string?

  @description('Optional. The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs.')
  marketplacePartnerResourceId: string?
}[]?

main.bicep:
....

// Table
module storageAccount_tableServices 'table-service/main.bicep' = if (!empty(tableServices)) {
  name: '${uniqueString(deployment().name, location)}-Storage-TableServices'
  params: {
    storageAccountName: storageAccount.name
    diagnosticSettings: tableServices.?diagnosticSettings
    tables: tableServices.?tables
    corsRules: tableServices.?corsRules
  }
}

......

(Optional) Correlation Id
No response

Hey @ktremain,
Please triage this issue when you get the chance 💪


Move finding the package for a filepath

Closes #1640
Currently, hie-wrapper uses the cradle type to find the ghc version to
use on the project. Cabal-Helper does not only return the cradle type
but also initialises the packages of the project, which may take a long
time since it starts building dependencies. Moreover, it causes
hie-wrapper to take way longer than necessary to find the project type,
and thus, the ghc version to use on the project.
This violates the isolation of the cradle, some work happens before
loading the options for a filepath, some during it.
This commit unifies the behaviour with hie-bios:

All the work happens during loading the options for the given
filepath.

It speeds up the initial start-up of hie if users use the implicit
cradle discovery mechanism.
It makes the implementation a bit less hacky.
While there are behavioural changes, nothing should change for everyday
users.

@jneira This change is also relevant for haskell/haskell-language-server

Cabal unix jobs are failing due to disk space, so i think the pr is good

Small revision of the explanation, it only configures the projects. However, it crashes in hie-wrapper, if configuration fails, e.g. dependencies have conflicting version constraints.
Now we can correctly catch these exceptions and display them to the user, similar to how we catch exceptions during building units.


Is there a way to execute multiple hardcoded statements?

I tried session.operator<<, seems that doesn't support multiple statements query.
In my case, I want to be able to run content of a sql file which contains several statements in order to upgrade SQLite database.
Does it support? What should I do?
If it doesn't support, may I propose a new method like 'session::exec', so it can support raw sql. This is particularly valuable for DB migration.
I notice there is a 'execude_hardcoded' function defined in sqlite3/session.cpp, I tried to declare it in my cpp file, but got 'unresolved externals' error. I end up with copying it to my own cpp file.

You may try your scenario with core interface http://soci.sourceforge.net/doc/3.2/interfaces.html
but AFAIR, it is largely dependant on DBMS.

Yes, I checked the source code of sqlite backend, seems that only execude_hardcoded is calling 'sqlite3_exec' which is for executing raw sql (with multiple statements).
SQLite API says:

sqlite3_exec() → A wrapper function that does sqlite3_prepare(), sqlite3_step(), sqlite3_column(), and sqlite3_finalize() for a string of one or more SQL statements.

Yes, I meant not only SOCI backend but also capabilities of client libraries of individual databases and APIs SOCI use. I'm afraid you'll have to check/debug yourself if/where SOCI interferes. I don't quite remember, sorry.

Thanks for your reply. I checked the source code, there's no way to call existing methods to do that except downcast the session to sqlite specified session, get the connect and call sqlite API directly.
So, I propose a new method for session to provide such flexibility. For those backends who doesn't support this, throw 'UnSupporttedException'. I'm not quite familiar with other DB APIs, I guess they should have such common interface.

What exactly is the advantage of a new method executing all of the statements at once compared to just executing the statements one by one?

That's for convenient.
There's a DB migration tool called Flyway, it supports SQL based migration (https://flywaydb.org/documentation/migration/sql), I'm trying to use SOCI to do similar task.
A upgrade sql file could contain multiple statements. So there are several way to do it:

Break down the sql file into small sql files, one sql per statements - that will be hard to mange
Parse the sql and execute statements one by one - that will need more efforts
Depends on flyway - that means the application package needs to bundle Flyway with JRE inside

related: #674

Hi, I'm a new user of soci library. I'm using it to access a mysql database.
I also see the similar issue. My usage of the multiple statements is that I can load a .sql from the file, and run that .sql file in a batch. I mean such code:
        std::ifstream file("create_db_table.sql", std::ios::binary);
        std::string sqlScript((std::istreambuf_iterator<char>(file)), std::istreambuf_iterator<char>());
        sql << sqlScript;

The .sql file is a exported from a database/table dump. So, I can reconstruct the whole table again.

That's for convenient.
There's a DB migration tool called Flyway, it supports SQL based migration (https://flywaydb.org/documentation/migration/sql), I'm trying to use SOCI to do similar task. A upgrade sql file could contain multiple statements. So there are several ways to do it:
1. Break down the sql file into small sql files, one sql per statements - that will be hard to mange

2. Parse the sql and execute statements one by one - that will need more efforts

3. Depends on flyway - that means the application package needs to bundle Flyway with JRE inside

I think the method 2 is the way I'm going to try. But is is hard, because command normally end with semicolon ;, but there are some other places where semicolon exits.

The problem is that doing this in SOCI is not trivial neither. Most DB APIs don't seem to have any equivalent to PostgreSQL PQexec() or SQLite3 sqlite3_exec() or sqlite3_prepare_v2() which allows to parse multiple semi-colon separated statements easily (sqlite3_exec() is just a trivial wrapper around it), so if we want to expose this functionality in SOCI API we need to provide some fallback for it for the other ones -- but how? Embedding a full SQL parser doesn't seem like a great idea.

Embedding a full SQL parser doesn't seem like a great idea.

Hi, VZ, thanks for the reply and explanation.
Yes, I agree with this. So currently let the user does what they want(design a parser to split the SQL statements). Not the SOCI library itself.


”Stoenești”, ”Florești”, ”Palanca” are listed in the drop-down menu

Description:
When user writes ”Stoenești”, ”Florești”, ”Palanca” the locations appear in the drop-down menu next to the comune and the county witch is a part according to the law.
Precondition:
The website is up an running.

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Stoenești"

Expected results
The location appears in the drop-down menu as "Sat Stoenești, GIURGIU (Florești-Stoenești)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Palanca"

Expected results
The location appears in the drop-down menu as "Sat Palanca, GIURGIU (Florești-Stoenești)".


Query result type is not recognized if create the query builder on a trait

this commit https://github.com/phpstan/phpstan-doctrine/commit/149cf71c3b470f815ad8ad658606e9217db22d9f makes the correct getResult return type if the method within the class, but it does not work if the query builder comes from a trait
trait MyTrait
{
	protected function getCustomQueryBuilder() {
		return $this->createQueryBuilder('t')
			->andWhere('t.enabled = true');
	}
}

class MyRepository
{
	use MyTrait;

	public function findBySomething(): array
	{
		$qb = $this->getCustomQueryBuilder()
			->andWhere('t.someInt = 1');
		return $qb->getQuery()->getResult();
	}

getting this error
 Method App\Repository\MyRepository::findBySomething() should return
         array<App\Entity\MyEntity> but returns mixed.

I don't know why it doesn't find that. Probably something related to traits :)

Here is why:

Declaring class is the trait user (class), not the trait

Thus, it parses the file where the method is not present
But we cannot parse trait file as those make sense only when analysed within a class.

Failing test: https://github.com/phpstan/phpstan-doctrine/pull/627