Missing input/output parameter edition panel

Describe the Bug
If template that is used contains configuration like:
    "entriesVisible": {
      "_all": false,
      "inputs": true,
      "outputs": true
    }

then after selecting input or output parameter additional panel containing its name, type and value is not visible:

If _all flag is set to true then panel is visible:

Maybe some flag is missing in template visibility configuration, but unfortunately I did not found anything in Camunda Modeler documentation.
Steps to Reproduce

Create template containing visibility configuration like:

    "entriesVisible": {
      "_all": false,
      "inputs": true,
      "outputs": true
    }

Open Camunda Modeler.
Apply newly created template on any task.
Select mentioned task.
Go to input/output parameter tab.
If any parameter already exists (applied from template) then select it. If not then create new parameter using "+" button and select it.
Parameter properties panel is not visible. It is not possible to set parameter properties.

Expected Behavior
Parameter properties panel is visible and enabled after selecting any input or output parameter.
Environment

OS: Windows 10
Camunda Modeler Version: 4.2.0

We've got two issues here.

The Input/Output tab will not be rendered if an element template was applied due to this change: https://github.com/bpmn-io/bpmn-js-properties-panel/pull/372/commits/c1b965b20d2dc1b554e7d9ca086a9da850913219 As a result of this change the tab will not contain any entries and therefore cannot be made visible through entriesVisible.

The IDs of the IO entries have changed so appliesTo: { inputs: true; outputs: true; } doesn't work anymore. In fact, there are now multiple entries for both inputs and outputs with some of the IDs being generated dynamically which breaks the entire concept of entriesVisible.

@camunda/modeling-dev What are we going to do about this?

As a sidenote a list of possible entries would be nice too.

As a sidenote a list of possible entries would be nice too.

We intentionally do not maintain such list. We won't do that in the future, too. Using entriesVisible is an expert feature and hooks into certain internals of how the properties panel works (i.e. IDs of sections that may change over time). Be aware of that risk, as you use this feature.

Fair enough, now I don't even see it referenced in the documentation. Might have been there before, though, otherwise I think I wouldn't have known about that too :)

As discussed internally we'll move this issue to our backlog. We need to gather further feedback before we decide what an appropriate solution can look like.


ShopSense Soultion - Power Platform AI Hack

ShopSense app helps blind people shop independently. We made this app because we want to help blind people and make their lives easier. It works well with accessibility features on mobile phones and also add a competitive edge to shopping stores to have this kind of application.
ShopSense has built using Microsoft Power Platform and Microsoft AI models. These models can identify items on store shelves, recognize different types of money, read receipts, and translate text into different languages.
ShopSense used an AI model called "Object Detection" to recognize items on shelves and different currencies. also used a prebuilt AI model to extract information from receipts.
Application has been developed by Sahaba Club team - https://sahabaclub.com/

Hello @mostafakotb-sahaba ,
Thank you for your submission!
To move forward with the review and merging of your pull request, we kindly request that you update your PR in accordance with the Contribution Guidelines. Please ensure that you added the README file following the provided template, and added the source code as instructed.
Thank you!
Regards,
Katerina Chernevskaya


LDAP not send

docker is run on macOS.  and  run poc on kali/VMware.  java version is 8u202

Can you check if it works with the java version we suggested in the README?


Make color of striped transaction rows customizable

Trello Link (if applicable): https://trello.com/c/Nph7EEX1/222-striped-transaction-row-improvements
Explanation of Bugfix/Feature/Modification:
The linked Trello issue requests the ability to specify the color used for striped transaction rows.
To achieve this, I've added a new "color" settings category (previously, only "select" and "checkbox") were allowed.
To provide a consistent cross-browser experience, I've used the bootstrap-colorpicker library for the setting input - I've only checked in the assets from the library distribution that are actually used in this scenario.
These color settings are persisted to storage as 7-character strings and consumed by the striped rows feature to apply the requested colors.

If it's preferable to not pick up a new dependency on bootstrap-colorpicker, I think it should be possible to use the <input type=color> HTML element with some more work.
The Trello link also requests that rows in the same split transaction have the same color. FWIW, I think that actually defeats the purpose of the feature, but at least should be tracked separately.

@uniqueiniquity I plan on looking at this more closely this weekend. I knew there were some changes to striped rows coming because of the new themes. I think we're done with those changes so I think this is ready for a look!

@joshmadewell Awesome, thanks for the update!

Sorry for taking so long on this. I finally have some free time this holiday weekend. Going to get this in our next release.

@joshmadewell no worries - thanks so much!


[User Reported Issue] Stuck Generating PeerID

Some users are reporting getting stuck at “Generating PeerID” stage of App/Blox setup process. There are two scenarios that this occurs:

1st is no information is shown of the Blox data and it stays trying to generate Peer ID

2nd is information shows, but unable to get past the generating peer ID screen still.

Moved to https://github.com/functionland/fx-components/issues/388


UglifyJSPlugin adding an extra source map for the entire file?

Do you want to request a feature or report a bug?
Bug

What is the current behavior?
When using the built-in UglifyJSPlugin and source maps, a strange extra source map entry is added with the contents of the whole file. This extra source map is not added when not using UglifyJSPlugin, and is not added when created by the uglifyjs command line utility.
If the current behavior is a bug, please provide the steps to reproduce.

Download Github Gist or create these files:

package.json:
{
  "name": "webpack-sourcemap-extra",
  "version": "1.0.0",
  "description": "example",
  "scripts": {
    "make": "npm run webpack && npm run uglify",
    "webpack": "webpack",
    "uglify": "uglifyjs -c -m --in-source-map dist/example.js.map dist/example.js --source-map dist/example.ugly.js.map -o dist/example.ugly.js"
  },
  "author": "example",
  "license": "example",
  "devDependencies": {
    "uglify-js": "^2.8.20",
    "uglifyjs-webpack-plugin": "^0.4.0",
    "webpack": "^2.3.2"
  }
}

webpack.config.js:
const UglifyJSPlugin = require('webpack').optimize.UglifyJsPlugin;

module.exports = [
	{
		entry: './example',
		output: {
			filename: 'example.js',
			path: __dirname + '/dist'
		},
		devtool: 'source-map'
	},
	{
		entry: './example',
		output: {
			filename: 'example.min.js',
			path: __dirname + '/dist'
		},
		devtool: 'source-map',
		plugins: [
			new UglifyJSPlugin({
				sourceMap: true
			})
		]
	}
];

example.js:
console.log('testing123');

Run:

npm install
npm run make

Compare the 3 dist/*.map files. The one created by webpack with UglifyJSPlugin, example.min.js.map, will have an extra "source" entry for "webpack:///example.min.js" which actually contains a non-minified copy of the entire bundle under "sourcesContent".

What is the expected behavior?
Expected not to have this extra source map, as there is already individual source maps for the parts of the bundle, so having one for the whole file seems redundant and may confuse software trying to use the map. Using the uglifyjs command line utility does not add this extra map, so I suspect this is caused by this plugin somehow.
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
Node: v7.7.2
Webpack: 2.3.2 (also tried beta, same result)
Uglifyjs: 2.8.21
OS: macOS Sierra 10.12.4

I think that extra source map actually helps to debug issues with it.
There are actually 2 sourcemaps:

ES6 code -> ES5 code (babel transformation)
ES5 code -> uglified ES5 code


PHPORM-221 Convert $near into $geoWithin for count used by pagination

Fix PHPORM-221
Fix #3063
The sorting provided by $near is not important for counting, but is useful when getting paginated results. So we can convert the operation to $geoWithin when in an aggregation.
If can try to add other unsupported operators ($geoNear and $nearSphere).
Checklist

[x] Add tests and ensure they pass
[x] Add an entry to the CHANGELOG.md file
[ ] Update documentation for new features

Closing as not planned for now. There behavior difference between operators that makes this change risked.


Extension API TextEditorEdit.replace only works on primary selection?

VSCode Version:1.0.0
OS Version:Win7x64

I'm trying to make an extension for vscode.
A function like this:
public insertNumbers() : void
    {
        let selections : vscode.Selection[] = this._textEditor.selections;

        for (var i = 0; i < selections.length; i++)
        {
            let curSelection : vscode.Selection = selections[i];

            this._textEditor.edit
            (
                function (builder)
                {
                    builder.replace(curSelection, "test");
                }
            )
        }
    }

will only replace the text within the first selection:

Even if I convert the 'Selection' to 'Range':
let curRange = new vscode.Range(curSelection.start, curSelection.end);
then use
builder.replace(curRange, "test");
the same thing will happen.
TextEditorEdit.insert doesn't work as expected either.
It seems that the official sample: MDTools has the same problem: #4 with similar code
From the Extension API reference, it says that the primary selection is always at index 0. So the replace api will only work with the  primary selection? Then how to make a selection a primary one?
Or this is a bug of vscode extension module?

I'm not sure if this is the reason why it fails, but you should not call edit for every selection. I suggest to do the looping inside the edit callback.
public insertNumbers(): void {
	const selections: vscode.Selection[] = this._textEditor.selections;

	this._textEditor.edit(builder => {
		for (const selection of selections) {
			builder.replace(selection, 'test');
		}
	});
}

@alexandrudima can you chime in?

@SamVerschueren Wenderful! It is the reason! Thank you very much!
I think the official sample MDTools should also fix this bug. ha ha ha.

@Inori - good catch - I fixed up the MDtools example sorry about that.
@SamVerschueren  - you were right on the money - embarrassing I remembered to do that in the general method but not in toUpper and toLower :)


linux: add rtnetlink mcast group definitions

These come in two flavors:

RTNLGRP_* are bit indexes (arguments to setsockopt(2)) as used
in the kernel with test_bit() but also userspace (see libnl
examples).

RTMGRP_* are bitmasks not used in the kernel; their use
seems to be deprecated, at least according to comments in
libnl, but documentation still references them.

The rationale for adding these definitions is that they're needed
to subscribe to kernel events via Netlink multicast groups.

r? @Amanieu
(rust-highfive has picked a reviewer for you, use r? to override)

:umbrella: The latest upstream changes (presumably #2876) made this pull request unmergeable. Please resolve the merge conflicts.

Thanks! @bors r+

:pushpin: Commit c74a65c42731764db63c0a116f47712b49da49bf has been approved by JohnTitor
It is now in the queue for this repository.

:hourglass: Testing commit c74a65c42731764db63c0a116f47712b49da49bf with merge 94e60ce135e6c08a247b9067e3f99d1efec9c068...

:broken_heart: Test failed - checks-actions

@bors r+

:pushpin: Commit d2e04b99dbc63208ad2dc2b2d880d351793e8eed has been approved by JohnTitor
It is now in the queue for this repository.

:hourglass: Testing commit d2e04b99dbc63208ad2dc2b2d880d351793e8eed with merge 795adbede4570c87775a47b57fe4bda87d630139...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13, checks-cirrus-freebsd-14
Approved by: JohnTitor
Pushing 795adbede4570c87775a47b57fe4bda87d630139 to master...

Thanks @JohnTitor @Amanieu !


work in Headless JS

In HeadlessJS  mode, does not work. With this change, it starts working.

Merging to develop, I'll polish it out and ship in the next major release

When can I expect a release?


[11.x] Add case sensitive replacements in validation messages

premise
Until now, when a validation message is generated after a validation failure, just the :attribute replacement is case-sensitive:
// lang/en/validation.php
<?php
return [
    //..
    'required_with' => 'The :Attribute field is required when :value is present.', // or :ATTRIBUTE for uppercase
    //..
];

results in: The Email field is required when foo is present. (or EMAIL, if :ATTRIBUTE was used)
description
this pull request implements the same behavior also for other replacements in messages for:

present_if
present_unless
present_with (along with present_with_all)
required_with (along with required_with_all, required_without and required_without_all)
required_if
required_if_accepted
required_if_declined
required_unless
prohibited_if
prohibited_unless
prohibits

this will allow case-sensitive replacements like this one:
// lang/en/validation.php
<?php
return [
    //..
    'required_with' => 'The :Attribute field is required when :Value is present.', // or :ATTRIBUTE for uppercase
    //..
];

will now result in: The Email field is required when Foo is present. (or EMAIL/FOO, if :ATTRIBUTE/:VALUE was used)

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If applicable, please consider releasing your code as a package so that the community can still take advantage of your contributions!


Allow the user to toggle between dark and light mode

The app has a light and dark mode but it runs on the system theme. We need a toggle in the settings screen where user can select the current theme of the app.

I would like to work on this issue @Spyy004, assign it to me.

Sure I will assign it to you.

Any updates @gantanikhilraj

Any updates @gantanikhilraj

Working on it @Spyy004, will soon open a PR.

Make sure you take pull of the latest code before doing that cause a lot of changes has been made since then

Hey, are you still working on this ?


refactor(dbm-services): 代码优化公共函数

关联研发信息
dev_branch: refactor/optimization_common_func/#3318
target_branch: v1.3.0


git ignores .packit or spec

Failure: paths are ignored by one of your .gitignore files
Packages:

c8s: haproxy, libbpf, libpfm, mdevctl, pmdk
c8: iptraf-ng, libbpf, libpfm, libpmemobj-cpp, nvml, pmdk, haproxy

glibc had a similar issue, if I recall correctly, but is not listed here. Is this because we have a manual conversion?
The probable fix for this issue is to use git add -f in place of git add.

Does this issue block the automatic importing of glibc's c8s branch? If it does then that would be a shame. We want to start experimenting with this and keeping c8s updated is relevant and important.

@codonell @fweimer thanks for the feedback!
should be fixed by #90

@dhodovsk should we reopen? do we have repos for all of these?

All repositories for packages mentioned in the error description now exist :)


Is this crash somehow binded with CE?

Hello!
I'm using newest CrazyEnchantments + PaperSpigot 1.8.8. My server has crashed many times in recent 24 hours, now I saw CrazyEnchantments in that "crash" (server stops responding, there are no crash report generated). Could you look into it? https://pastebin.com/59zWd2xj
Thanks.

Weird, how many players are on the server?

About 100 on average, i think at that crash moment there were a bit less

Strange, there doesn't seem to be much wrong but it probably is from my plugin. Ill look into it more.

In the end of the error log I saw something about "out of memory" - maybe that is the case?

Hmmm, seems it is from a lot of data CE is trying to run through at the same time. I'll look into trying to make it not do as much but I am not sure how much I can do. I know I have seen servers bigger then your using mine and they run fine so I am not sure why you're crashing. Could you run a timing and after a few hours or so send me the report so I can look at it.


PR to make hyper optional

I was rolling my own Authorization solution when I found yours by pasting one of the RFC expected hashes into github.
I don't need hyper however, neither percent encoding, etc. Would you mind if I made a PR to make these optional? Also, what about using https://github.com/RustCrypto/hashes? Or maybe let them optional too?

Just noticed that the hash library is yours. No offense I just wanted a pure Rust library because I want to compile to Android, iOS, possibly Fuchsia and Chromebook in the future. We can make the 2 work.


gpm install admin not work in windows7

-------------------------commond--------------------
D:\phpStudy\WWW\OpenSource\CMS\grav>php bin/gpm install admin
-------------------------result--------------------

GPM Releases Configuration: Testing
Preparing to install Admin Panel [v1.3.0-rc.1]
|- Downloading package...   100%
PHP Warning:  file_put_contents(D:/phpStudy/WWW/OpenSource/CMS/grav/tmp/Grav-58c
a75a31ab04/admin1.3.0-rc.1?testing): failed to open stream: No such file or dire
ctory in D:\phpStudy\WWW\OpenSource\CMS\grav\system\src\Grav\Console\Gpm\Install
Command.php on line 599
Warning: file_put_contents(D:/phpStudy/WWW/OpenSource/CMS/grav/tmp/Grav-58ca75a3
1ab04/admin1.3.0-rc.1?testing): failed to open stream: No such file or directory
in D:\phpStudy\WWW\OpenSource\CMS\grav\system\src\Grav\Console\Gpm\InstallComma
nd.php on line 599
|- Checking destination...  ok
|- Installing package...    error
|  '- An error occurred while extracting the package
'- Installation failed or aborted.
Clearing cache

This appears to be a problem with PHP not being able to write the file. Is D:/phpStudy/WWW/OpenSource/CMS/grav under any restrictions by Windows in terms of permissions? Generally speaking, the SYSTEM and Administrators group should have Full Control, as should the primary user.

Actually, this is likely not an error unique to your system, but stems from how Grav handles pre-releases. I can replicate it on my otherwise fully functional Grav system, using v1.2.0-rc.2 and Admin v1.3.0-rc.2 (installed from downloaded package), where php bin/gpm install adminstyles will throw essentially the same error:
PHP Warning:
file_put_contents(C:/Caddy/temp/tmp/Grav-58ce6cec0a160/adminstyles1.0.1?testing):
failed to open stream: No such file or directory in
C:\Caddy\temp\system\src\Grav\Console\Gpm\InstallCommand.php on line 599

This is seemingly because you were trying to install the latest Admin-plugin, and I the AdminStyles-plugin, both of which are currently in pre-release on GitHub. The error is not explicitly Windows permissions for the /tmp folder, as even with Full Access given to Authenticated Users, SYSTEM, Administrators and Users it persists. Rather, it looks like PHP will not actually create the folders then the files, thus failing the process.
I'm going to tag @rhukster and @w00fz, as they might have come over similar reports and can tag this issue as a "bug" or "investigating".

This is ostensibly because Windows does not take kindly to ? in filenames. Verified by the following:
touch adminstyles-1.0.1?testing creates a adminstyles-1.0.1testing.
file_put_contents('adminstyles-1.0.1?testing.zip', file_get_contents('https://getgrav.org/download/plugins/adminstyles/1.0.1?testing')); will fail with a PHP Warning: file_put_contents....
file_put_contents('adminstyles-1.0.1-testing.zip', file_get_contents('https://getgrav.org/download/plugins/adminstyles/1.0.1?testing')); will work.
Thus the retrieved Download: https://getgrav.org/download/plugins/adminstyles/1.0.1?testing from GPM must either be rewritten to exclude ?, or use a more common path that Windows will not reject.

Solved with next release, see #1361.


Reset Settings to default not working

Name of Defective Feature
Reset Settings to default not working
System Settings (Required)
ToolKit Version: 2.0.2
Operating System: Mac
Browser: Chrome
Browser Version: 63.0.3239.132
Other Extensions: 1Password, Speed Dial 2, AdBlock, AngularJS Batarang
Export of Toolkit Settings (Bottom Left of Settings Page)

Settings Export
```
[{"key":"AccountsDisplayDensity","value":"0"},{"key":"AccountsEmphasizedOutflows","value":true},{"key":"AccountsStripedRows","value":true},{"key":"AdditionalColumns","value":"true"},{"key":"AdjustableColumnWidths","value":true},{"key":"AutoDistributeSplits","value":true},{"key":"BetterScrollbars","value":"0"},{"key":"BudgetProgressBars","value":"0"},{"key":"BudgetQuickSwitch","value":true},{"key":"CalendarFirstDay","value":"0"},{"key":"CategoryActivityCopy","value":true},{"key":"CategoryActivityPopupWidth","value":"0"},{"key":"ChangeEnterBehavior","value":true},{"key":"CheckCreditBalances","value":true},{"key":"CheckNumbers","value":false},{"key":"ClearSelection","value":true},{"key":"CollapseSideMenu","value":true},{"key":"ColourBlindMode","value":true},{"key":"CompactIncomeVsExpense","value":false},{"key":"CurrentMonthIndicator","value":true},{"key":"CustomFlagNames","value":true},{"key":"DaysOfBuffering","value":true},{"key":"DaysOfBufferingHistoryLookup","value":"0"},{"key":"DisableToolkit","value":false},{"key":"DisplayTargetGoalAmount","value":"0"},{"key":"EasyTransactionApproval","value":false},{"key":"EditAccountButton","value":"0"},{"key":"EnableRetroCalculator","value":true},{"key":"EnlargeCategoriesDropdown","value":true},{"key":"EnterToMove","value":true},{"key":"GoalWarningColor","value":true},{"key":"GoogleFontsSelector","value":"0"},{"key":"HideAccountBalancesType","value":"0"},{"key":"HideAgeOfMoney","value":true},{"key":"HideHelp","value":true},{"key":"HideReferralBanner","value":true},{"key":"ImportNotification","value":"0"},{"key":"IncomeFromLastMonth","value":"0"},{"key":"LargerClickableIcons","value":true},{"key":"MonthlyNotesPopupWidth","value":"0"},{"key":"NavDisplayDensity","value":"0"},{"key":"PrintingImprovements","value":true},{"key":"PrivacyMode","value":"0"},{"key":"QuickBudgetWarning","value":true},{"key":"ReconciledTextColor","value":"0"},{"key":"RemovePositiveHighlight","value":true},{"key":"RemoveZeroCategories","value":false},{"key":"ResizeInspector","value":true},{"key":"RightClickToEdit","value":true},{"key":"RowHeight","value":"0"},{"key":"RowsHeight","value":"0"},{"key":"RunningBalance","value":"0"},{"key":"SeamlessBudgetHeader","value":true},{"key":"ShowCategoryBalance","value":true},{"key":"ShowIntercom","value":true},{"key":"SpareChange","value":false},{"key":"SplitKeyboardShortcut","value":true},{"key":"SplitTransactionAutoAdjust","value":false},{"key":"SquareNegativeMode","value":true},{"key":"StealingFromFuture","value":true},{"key":"SwapClearedFlagged","value":false},{"key":"TargetBalanceWarning","value":true},{"key":"ToBeBudgetedWarning","value":true},{"key":"ToggleMasterCategories","value":true},{"key":"ToggleSplits","value":true},{"key":"ToggleTransactionFilters","value":"0"},{"key":"goalIndicator","value":true},{"key":"highlightNegativesNegative","value":true},{"key":"l10n","value":"0"},{"key":"pacing","value":"0"},{"key":"popupCalculator","value":true},{"key":"reports","value":true}]
```

Steps to Reproduce the Behavior

Go to settings -> Advanced Settings
Click on Reset Settings
Click 'Yes' on popup. Nothing will happened.

Expected Behavior
Clicking on YES should reset settings and pop up will disappear.
Actual Behavior
Clicking on YES causes nothing to happen. Looking into the chrome's console, seems like reset method is missing i.e. deleteAllToolkitSettings():
Uncaught ReferenceError: deleteAllToolkitSettings is not defined
    at HTMLButtonElement.resetSettings (options.js:309)
    at HTMLButtonElement.dispatch (jquery-3.2.1.min.js:3)
    at HTMLButtonElement.q.handle (jquery-3.2.1.min.js:3)

Hey @nabilzhafri the fix for this should be in our current release. If you notice the issue still exists and you're definitely running the newest version of the toolkit, please reopen! Thanks!

@joshmadewell just tested it with the latest version and it works perfectly. awesome job! 👍


fix: Azure DevOps PR status waiting for author

fixes #1

Thanks for your PR, and sorry for the delay. It's been a while since I used these scripts and I've just made some other updates as well.


No Windows Explorer icons/associations for F# files

After clean install of Windows 10 FCU:
Installed Visual Studio Community 15.4.4, with F# support selected, plus nightly Visual F# Tools.
Installed Visual Studio Community 15.5.0 Preview 4, with F# support selected, plus nightly preview Visual F# Tools.
Afterward, no custom icons or file associations for F# files in Windows Explorer:

This is not consistent with other file types such as C#, or with VS2015 which I'm pretty sure did set up Windows F# file associations.
I didn't do much between the 15.4 and 15.5 VS installs, so I don't know if they were possibly there in 15.4 and wiped out by 15.5.

Huh, I've never seen this happen before.  I don't have this on my machine.

Closing this out - @chadunit I still haven't seen this occur. Please do let me know if you see it again.

@cartermp Here is a repro.

Download Windows 10 development VM (Hyper-V): https://developer.microsoft.com/en-us/windows/downloads/virtual-machines

Run the VM which has VS 2017 15.5.0 preinstalled.

Run VS, sign in, create F# project. (Or just create .fs files in file explorer.)

Observe in file explorer there are no associations for F# files. Updating to 15.5.6 has no effect. (Also browse C:\samples and note almost every VS-related file type other than F# has association.)

Same here.
Win 10 [Versión 10.0.17763.55]
Visual Studio 2017 15.8.8
F# 4.5

@cartermp, it seems there's now a repro and it still happens. Maybe specific to VMs? I haven't seen this either, and perhaps it's just that the windows explorer's icon cache needs to be reset.
I suggest we reopen this?

I'll re-open it, though I cannot reproduce it on a VM.

I found that this issue was also logged under another project:
https://github.com/dotnet/project-system/issues/3351
https://github.com/dotnet/project-system/issues/3352

Given that this is for .NET Core SDK projects, my guess is the project system bugs are the correct ones to track this. Thanks @chadunit!

I had the same issue on a fresh win10 machine, no VM.
I managed to make it work by exporting the reg keys and FSharp folder from a working machine where VS2015 where installed.
Also I create a repository where the .reg keys and folders can be downloaded, in case it helps.
https://github.com/dotnet/project-system/issues/3351

Re-opening this, as it's an issue in our setup and not on the .NET project system
Associated .NET project system bug: https://github.com/dotnet/project-system/issues/3351

Confirm
For example, for C# there are such Registry records
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\VisualStudio.csproj.c7f4b4fa]
@="Visual C# Project File"
"AlwaysShowExt"="1"

[HKEY_CLASSES_ROOT\VisualStudio.csproj.c7f4b4fa\DefaultIcon]
@="\"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC#\\VCSPackages\\csproj.dll\",0"

[HKEY_CLASSES_ROOT\VisualStudio.csproj.c7f4b4fa\shell]

[HKEY_CLASSES_ROOT\VisualStudio.csproj.c7f4b4fa\shell\Open]

[HKEY_CLASSES_ROOT\VisualStudio.csproj.c7f4b4fa\shell\Open\Command]
@="\"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\Common7\\IDE\\devenv.exe\" \"%1\""

But where the F# icon is located I don't know.

@xperiandri  I created a repository with the registry entries:
https://github.com/blfuentes/Fsharp_File_extensions

@blfuentes, cool! Thanks!


mapFeatures.data.*.values should be removed as this should be explicit in the data field for each mapFeature.

Fixed by 4adda0d


How does the test world work?

I tried replicating the signs by doing a setblock sign which has a translation string, but I am unable to edit that side of the sign on both creative and survival. So what did you change to make it editable?

Hm that is weird. I remember having had the same issue when I experimented around with signs for the first time, but now I am unable to recreate that. Do you have another mod installed, that might mess with signs?

No.

Create a vanilla 1.20.4 instance
Create a new world
Run /setblock ~ ~ ~ oak_sign{front_text:{messages:['{"translate":"gui.cancel"}','{"text":""}','{"text":""}','{"text":""}']}} replace
Try editing that side of the sign in survival or creative.

Maybe your test world is older than 1.20, where this bug was supposed to be fixed?

Signs with non-text chat components can no longer be edited

Oh, turns out you need to have a static text component on the same line as the keybind, or translatable as well. So your command would look like
/setblock ~ ~ ~ oak_sign{front_text:{messages:['[{"text":" "},{"translate":"gui.cancel"}]','{"text":""}','{"text":""}','{"text":""}']}} replace
(In this example I added an empty space before the translation component)

Right, now I can confirm it.


Prints error message when not in git repository

What does this PR do?
Prints the default git message when not in a git repository:
fatal: not a git repository (or any of the parent directories): .git
Why are we doing this?
To solve issue #79 and to make it more user-friendly.
Testing performed

Ran the toxcommand and also the pre-commit tests. All passed ✅
Ran the git plan --version command which is now printing the default git error.
Ran the gp --version which was already printing the default message.

Known issues

Had to add sys.exit() because the git plan --version command was still printing the version even if not inside a git repository.
I couldn't figure it out why the gp --version was not raising the RuntimeError exeception.

Hey, thanks for the PR!
Maybe it would be easier to catch the NotAGitRepository exception here. You'd have to move the Settings.load() (and probably the other lines too) into the try block, and then you can add a new except underneath.

Had to add sys.exit() because the git plan --version command was still printing the version even if not inside a git repository.

I think we do want to allow --version to run outside of git repositories. But that will be difficult to achieve, because this exception is raised before launch_cli() is called.
It's fine if this PR doesn't fix that, since it's kind of an architectural problem, but if you do have any ideas then it would be a welcome addition!

You'd have to move the Settings.load() (and probably the other lines too) into the try block, and then you can add a new except underneath.

I tried that (maybe I'm missing somethings), but if I don't raise the exception from the git_plan/conf.py then I can't return the Settings class.
Example:
@staticmethod
def load() -> "Settings":
    """Load the settings"""
    settings = Settings._default()
    local_settings = Settings._from_local()
    project_settings = Settings._from_project()

    local_settings.update(project_settings)  # Roll project into local settings
    settings.update(local_settings)  # Roll both into the default settings

    cwd = Path.cwd()
    settings["project_root"] = get_repository_root(cwd)

    return Settings(settings)

Will raise NotAGitRepository and settings from __cli__.py will be None and we can't make the app. And if we catch the exception from  git_plan/conf.py then we can't catch from __cli__.py

I think we do want to allow --version to run outside of git repositories.

Yeah it makes senses, I didn't think that.

But that will be difficult to achieve, because this exception is raised before launch_cli() is called here.
It's fine if this PR doesn't fix that, since it's kind of an architectural problem, but if you do have any ideas then it would be a welcome addition!

I thought of some things but I think it would be just spaghetti code. And some big change like that would be out of the scope of this PR I think.

I think we can let get_repository_root() raise its exception, and then catch it in __cli__.py. Working from your example above, this is what I had in mind:
def main():
    """Entrypoint"""
    try:
        settings = Settings.load()  # <----- inside the try block

        app = Application()
        app.config.from_dict(settings)
        app.wire(modules=[sys.modules[__name__]])

        args = sys.argv[1:]  # Might be []
        launch_cli(args)
    except ProjectNotInitialized:
        print("Git plan is not initialized.\n\tPlease run `git plan init`")
    except NotAGitRepository:  # <----- new except block
        print("Git plan can only be used in a git repository.")
    except GitPlanException as exc:
        print("git plan encountered an error.")
        print("Please open an issue at https://github.com/synek/git-plan and let us know.\n")
        print(f"The error message was '{str(exc)}'")

This means that the app won't launch at all if you are outside a git repository, but that is already what happens anyway. What do you think?

This means that the app won't launch at all if you are outside a git repository, but that is already what happens anyway.

I think it makes sense, since it won't launch anyway at least we get a more user-friendly error message. And then at a later point we'll have to deal with the version not being printed when using this solution.
At the time I think this is the best solution.

Awesome, I can get this merged immediately if this approach works.
By the way I made an issue for the follow-on fix - https://github.com/synek/git-plan/issues/81

One small thing before I can merge this: can you improve the error message? It's a little unfriendly (e.g. "fatal: " sounds technical).
My suggestion: "You are not in a git repository (no .git/ directory found)."

Yeah no problem. I thought since its a git tool to improve workflow the user would be familiar with the message, but I think you're right fatal seems a little too strong for something that is fixed just by running git init

As a principle I'd like this tool to be user friendly, with a thoughtful UX for the user. However, "hiding" git from the user completely is probably a bad idea. Maybe we can support a -v/-vv/-vvv type syntax for verbose output that includes more technical messages. Poetry does that, for example.
Anyway, thanks for fixing this! I'm going to merge it in now. Welcome aboard!


Required not working

Hey,
Great plugin! I have just started using your plugin direct from this repo as the wordpress SVN hasn't been updated in a while.
I am trying to use the required option to conditionally load fields based on a type=switch however, I cannot get it to work at all.
           // Disable blog title
	Kirki::add_field( 'basejump_kiri_config', array(
	    'settings' => 'enable_archive_title',
	    'label'    => __( 'Enable Blog Archive Title', 'translation_domain' ),
	    'section'  => 'basejump_blog_section',
	    'type'     => 'switch',
	    'default'  => true,
	    'choices'     => array(
	        'on'  => __( 'On', 'kirki' ),
	        'off' => __( 'Off', 'kirki' ),
	    ),
	) );

	Kirki::add_field( 'basejump_kiri_config', array(
	    'settings' => 'blog_archive_title',
	    'label'    => __( 'Blog Archive Title', 'translation_domain' ),
	    'section'  => 'basejump_blog_section',
	    'type'     => 'text',
	    'required'    => array(
			array(
				'setting'  => 'enable_archive_title',
				'operator' => '==',
				'value'    => true,
			),
		),
	) );

Still cant fix this and get it working.

I have done some searching and it wont work with option arrays.
The moment I set an array name, it stops working :)

Just confirmed this using the nested array and without it.  I'm using a select field and it's not working either.
Just curious if its also best when using this for visibility of customizer fields only (just field organization) and no need to store an actual value in the database to set transport to postMessage to kill the unnecessary refresh.

i could see that being problematic. All use cases for my customizer would still require a UI refresh..an example would be switching header templates... Sometimes there is just a navbar, others a header and a navbar so need to conditionally show styling options however the UI still needs a refresh to show the template change.
@author - I changed from theme options and gave it an option name (to use an options array) and the required field instantly stops working.
For us using it for theme development using single options for 100 odd settings will get clunky and slow fast... It would be great if you can make this top priority, it's a great toolkit.

@peazz  do you have any UI problems with your toolkit? I mean like toggle has been rendered to checkbox etc?

@reshogun Hey, no not having any problems like that but let me test.. I have been used the slider toggle and it shows fine.

I just tested active callback as well and can't get that work either, even if I manually call my options array and compare.
Here is a snippet of my customizer code..
/**
*	BaseConfig - Inherited
**/
Kirki::add_config( 'basejump_kiri_config', array(
    'option_name'   => 'basejump_settings',
    'capability'    => 'edit_theme_options'
) );

/**
*	Add Panel
**/
Kirki::add_panel( 'bj_design_panel', array(
    'priority'      => 21,
    'title'         => __( 'Design', 'BaseJump' ),
    'description'   => __( 'This panel contains settings that affect the sites layout.', 'HN' ),
) );

/**
*	Add Header Section
**/
Kirki::add_section( 'bj_panel_layout_section_header' , array(
    'title'      => __( 'Header', 'BaseJump' ),
    'description'    => __( '' ),
    'panel'   => 'bj_design_panel',
) );

/**
*	Add Option Toggle
**/
Kirki::add_field( 'basejump_kiri_config', array(
    'type'        => 'radio',
    'settings'    => 'header_layout_style',
    'label'       => __( 'Header Layout Style', 'kirki' ),
    'section'     => 'bj_panel_layout_section_header',
    'choices'     => array(
        'left'   => 'Left',
        'top-large'  => 'Top Large',
        'top-small' => 'Top Small',
        'off-canvas' => 'Off Canvas',

    ),
) );

/**
*	Add Fields
**/

Kirki::add_field( 'basejump_kiri_config', array(
    'settings' => 'header_bkg_color',
    'label'    => __( 'Header Background Color', 'section'),
    'section'  => 'bj_panel_layout_section_header',
    'type'     => 'color',
    'default'  => '#ffffff',
    'output'   => array(
    	array(
	        'element'  => 'header',
	        'property' => 'background',
        )
    ),
) );

// h border color
Kirki::add_field( 'basejump_kiri_config', array(
    'settings' => 'header_border_color',
    'label'    => __( 'Header Border Color', 'section'),
    'section'  => 'bj_panel_layout_section_header',
    'type'     => 'color',
    'default'  => '#f1f1f3',
    'output'   => array(
    	array(
	        'element'  => 'header',
	        'property' => 'border-color',
        )
    ),
) );

Kirki::add_field( 'basejump_kiri_config', array(
    'type'        => 'slider',
    'settings'    => 'header_border_width',
    'label'       => __( 'Header Border Width', 'kirki' ),
    'section'     => 'bj_panel_layout_section_header',
    'default'     => 1,
    'choices'     => array(
        'min'  => 0,
        'max'  => 100,
        'step' => 1
    ),
    'output'   => array(
    	array(
	        'element'  => 'header',
	        'property' => 'border-width',
	        'units'    => 'px',
        )
    ),
    'required'    => array(
        array(
            'setting'  => 'header_layout_style',
            'value'    => 'top-large',
            'operator' => '==',
        ),
    ),
) );

I have color and alpha js_vars callbacks working but instead of 'output' use 'js_vars' and set 'transport' to 'postMessage'.  Your color options don't require the full refresh, let the built in js handle that.  Finally, add 'function' => 'css', to your 'js_vars' array as well so it knows to add inline styles vs html.  This is working for me as I also was not getting the wprefresh to work.  The huge limitation right now is it only adds the inline styles, so in the case of your headers, which is most likely different bits of html and php, I'm afraid those fields might be best keeping 'transport' default unless we had a true 'callback' option that was working (I think its also being looked at to be added to core), we could then update the html via js and our own admin_ajax pull.

Hey guys!
Just a note...
I haven't been able to work on the plugin a lot these past few days 'cause I have to stay focused on my day job a bit... As soon as I have a few free hours I'll look into this.
It looks like using serialized options has a couple of outstanding issues that need to be resolved urgently.
In the meantime, if you're building a new theme I would advise you to use theme_mods instead of serialized options. They are a lot better performance-wise, they are autoloaded and have lots of benefits (settings are saved on a per-theme basis). More on theme_mods vs options vs serialized options here: https://github.com/aristath/kirki/wiki/theme_mods-vs-options

Hey,
If you point me in the right direction file wise maybe I can help to solve this issue :)

@peazz I suspect it's in this file: https://github.com/aristath/kirki/blob/master/includes/class-kirki-active-callback.php and you'll probably have to use this method in it so that it takes into account serialized settings: https://github.com/aristath/kirki/blob/master/includes/class-kirki-field-sanitize.php#L298-L324

Ok looks like my problem is slightly different but may imply it has nothing to do with serialized arrays.  I used the example here: https://github.com/aristath/kirki/wiki/Controls-visibility
Basically I set a 'dummy' config with no options array like the example. I then built out a select drop-down field using the 'dummy' config and set a default option, "General Colors" along with several other "color" related menu choices such as "Header Colors", "Menu Colors"...
I then created color and color-alpha fields tying them to a different config because obviously I do want those values stored in the db.  I also had to change from using 'output' to 'js_vars' and also change to 'postMessage' because the refresh wasn't providing the live css even though when saving, the values were indeed being stored in my theme's options serialized array.
Lastly, for each of the color fields I defined the 'required' array to the specific value of my select fiels values such as "general_colors", "header_colors"...
However when I open the customizer and view the Theme Colors panel, I was expecting to see only the General Colors as that is the default value for the drop down field and all other colors should be hidden from view until the drop down changes.  Not the case, all colors are visible and the drop down does nothing when changed except trigger the customizer refresh.  No errors in the console.  Hopefully this longer report helps as I would think this needs to work before we take it a step further to check against an actual db dip on whether to display another field that requires a match to that value.

Ok, I figured out my problem but not sure if this is going to work for me.
I noticed in the "controls visibility" demo that all 3 fields had the same config, the dummy config of which stores nothing to the db.  I changed one of my color fields to use the dummy config and now the select box controls whether it is visible or not.
However, this presents the problem in which I cannot store that color's value to the database unless I change the dummy config to an actual option or theme_mod, but then presents a new problem because I don't want to store the select box value to the database as its only present to provide the convenience of field visibility.
I must be missing something somewhere right?

@pingram3541 You have to store it in the db.
Each control in the customizer is tied to a setting and each setting can either be a theme_mod or an option.
In order to show a control, you mush save its value in the db. That's the way the customizer works in WP-Core...
You could just add a setting like "color_controls_visibility" or something like that...

Ok, I can live with that...initially was trying to avoid polluting the db with unnecessary values.
However back to square one.  When using a Kirki::add_config without an options array (like in the documentation example) the required select box does indeed control visibility as long as the fields share the same config but of course there would be no way to save any of those fields because the config doesn't define anything.  As soon as you give the config an options/theme_mods array, the required functionality is lost which I presume is what you were referring to in which the serialized arrays are breaking the functionality.  Sorry for the long round trip to get back where we already were.

Hey Bud,
Not had a chance to look at this yet, been hectic with client work and crashed my car last week xD
Andy

This has been fixed in a previous release.


Harmonise variable naming across LFRic and UM

What problem does your feature request solve?
Currently different variable names are set by user depending on whether the model to be evaluated is UM or LFRic (in general STASH vs standard_names). It would be simpler to default to a common list of variables.
Describe the solution you'd like
Add a new callback routine to read.py that points to a dictionary translating from UM stash to LFRic standard names (i.e, harmonise to LFRic as the standard rather than UM).
Describe alternatives you've considered
Alternative could include keeping with status quo - but gets in way of easy difference plotting, and adds complexity to GUI etc.
Alternative could include harmonising to UM stash as the standard, but this is not future-proofed, not human readable, and maintains long-term dependency on stashcode.

While not all variables will have this, where possible should we be harmonising on CF compliant standard names?
List of CF standard names.

While not all variables will have this, where possible should we be harmonising on CF compliant standard names?
List of CF standard names.

Considered this - i.e. harrmonising all variables to  standard names, but would introduce some ambiguities for users (e.g. to distinguish between "air_temperature" and T1.5m as temperature_at_screen_level). Can be done, but a more involved change than this issue.


Going to /people/group-name/edit takes you to a profile edit page

While doing some testing I forgot to change part of my url and I ended up at http://localhost:3001/people/designerscorner/edit while logged in as an admin. What I found was it took me to an edit profile page instead of being redirected to getting a 404 error.

This is fixed in PR #127


Update Runtime API Catalog

Description:
Update Runtime API Catalog after changes are done in the product side.
Related issues
https://github.com/wso2/apk/issues/814

This has been done in https://github.com/wso2/docs-apk/pull/103
Live URL https://apk.docs.wso2.com/en/latest/catalogs/api-reference-runtime/


[Question] - Zero downtime deployment support in az cli (no yaml)

I'm trying to implement zero downtime deployment but I'm having a bit of an hard time, so I decided to open an issue here since I can't find what I'm looking for in the documentation.
I'm deploying a simple two container sample, the full source code is here but I'm just focusing on the asp.net core part (Sample.Producer) for now.
My expectations are that in a single revision mode, before switching the ingress to the new revision, the health probes are exercised (at least Readiness and Startup).
According to my experiments this doesn't seems to be the case, the previous active revision is deactivated while the new one is still provisioning, not waiting for it to be up & running. The portal also exposes it in the revision management pane as shown below:

My next attempt was to use multiple active revisions as the same time, so essentially after pushing a new image to acr, I'm executing:
az containerapp update -n {name} -g {rg} -i {new-image-just-pushed-to-acr}
This is again switching the ingress to the provisioning revision, unless the active revision is not the latest revision, in this case the traffic is not switched to the newly created revision while it's provisioning, if before deployment the active revision is the latest, then deploying a new revision will switch the traffic to it while it's still in provisioning state.
I find this a bit strange, that's why I decided to open the following issue to ask for clarification.
Searching around the internet I've found that @denniszielke implemented zero downtime (or blue/green) with a yaml templates and some bash gymnastics (kudos to you Dennis), but it requires ~500 lines of code (see it here), seems a bit complicated and would love to have support in the az cli.
Am I missing something or the azure cli extension doesn't allow us to have zero downtime deployments without resorting to yaml files?

@ilmax You're right. Automatic switching doesn't wait for probes to pass, it'll immediately switch traffic and then the traffic will queue until the probes succeed or timeout. The only way to do zero-downtime/zero-coldstart deployment today is to use multiple revision mode with manual traffic shifting as you've described.

Thank you for the answer @ahmelsayed. Is there any plan to improve it? I was expecting, given that the platform is built on top of k8s, that this functionality was built-in.
Implementing our own swap mechanism is doable but less than ideal, not to mention that the app environment may be internal so not even be exposed to the public internet.
If it's not on the backlog already, can we consider this as a feature request?

I think it would be useful, either with built-in functionality or by documenting some easy to use copy-and-paste for custom scripts.
We have the same problem with appservice, that there is no auto-swap in linux apps - for this function we built a custom github action, that contains a short script to wait for a healthy slot and then swaps. (so not every project needs to built this for themselfs).
(blue-green deployment with auto-switching if health succeeds is one of the first questions I get from developers, following the max. instance limits for RAM/CPU)

Is there an update on this. We have talked to multiple customers that would expect seamless, reliable and automatic upgrades to happen in single revision mode.

Same here - my customer is running into the same issue, also having the expectation that probes are being honored before switching revisions. It would be great if this would come as an improvement. I also think this is what everyone is just expecting as a default behaviour.

This is on our backlog but no ETA at this time.

This is on our backlog but no ETA at this time.

Hi @BigMorty , thanks! Could you maybe keep this thread updated in chase you have an ETA?

Yes, I will do my best.

Is there an update on this. We have talked to multiple customers that would expect seamless, reliable and automatic upgrades to happen in single revision mode.

Same here indeed, we also expected that and we really want to have zero-downtime deployments, just like you can 'easily' do with AKS (k8s).

Any update on this? Seems like it's blocking a lot of folks.

The second one can be removed by a simple ticket.
However I totally get your issue with the first one. Afaik it is work in progress.

@denniszielke easier said than done. I've had a ticket open since Friday and have had 0 movement other than some emails back and fourth.

I am happy to be able to say this is ON our Roadmap!

Here's a script I put together a few days ago to deploy a revision to ACA without taking down the current instance; it just juggles the traffic around, waits for healthcheck to succeed, then changes the traffic around again.
https://gist.github.com/onionhammer/df3f4af9d0e615b11ce062020508b15b

@onionhammer Did you try to run some load testing while deploying? I find that a similar approach, was still causing downtime. My educated guess was that during the execution of az containerapp ingress traffic set there's a chance of causing downtime.

@ilmax Not load testing per se, just continually spamming chrome refresh on a page (with network logging persistent) I can see basically no difference when the page responds with a different revision name.
The trick for me was to have the application's startup probe do a lot of  the initialization work that subsequent requests may be slow to activate; for instance connecting to cosmos is very slow so the startup probe should be sure to hit cosmos so subsequent requests will have that cached.

@onionhammer @ilmax I also polled the response-code from the new revision (via curl in a loop), so that I do only switch to this new rev. when the status code is 200. For me, it was not enough to just wait for the deployment-cli to complete. It is also important to first activate the new revision (100% traffic) and only after that worked (with code 200) deactivate the previously active revision.

@ilmax The first step is important; finding which revision currently has 100% traffic and locking the traffic weighting rules to be revision based on that name before creating any new revisions.

That should cause no downtime, then copying the revision should not affect the traffic, ping that new revision's specific URL until it's ready and then switch traffic again.

Sure, you could do that if you want some users to randomly sometimes get really long wait times.

Why is that. I am saying put say 5% to the new revision to make sure it is FULLY warmed up before moving everyone there.

@BigMorty The problem is not that the application requires some requests to warmup, it is that the application has not been able to start at all, as the traffic switches over to the new revision even before the startup or readiness probes have successfully returned a response.
If the application uses 10 seconds to start before it can handle any requests (including startup / readiness probes), putting 5% of traffic to your new revision would cause 5% of your users to get a 10 seconds wait time.
Actually, the wait time would be even longer, as traffic is shifted as soon as the container is provisioned, meaning that not even the OS have had time to start.

I am happy to be able to say this is ON our Roadmap!

Great, I would be great, if you could also keep the terraform use case in mind, so that I just can deploy another image version (an updated app deployment yaml) and the API juggles the zero-downtime update automatically, by respecting the health probes.

Thanks @santi, I understand the issue the platform is not solving, I was just adding on to how you could use @onionhammer's solution above.

@BigMorty great! 😄 Currently working around this issue with some custom az CLI scripts in addition to bicep templates and a Python script, but looking forward to the feature release ⭐

@onionhammer I'm using a similar solution as you do, but my observation is that
az containerapp ingress traffic set --name <container-app-name> --resource-group <resource-group-name> --revision-weight <old_revision_name>=0 <new_revision_name>=100 takes some time to take effect and results in delayed responses from the container app (around 3-5 seconds), although I'm waiting for the new revision to become healthy and fully responsive before I switch the traffic to it.
I was trying both to curl application URL and monitor new revision's healthState before switching traffic to it, but both result in the same observation.

@trzepak1916 Interesting. I have not observed this, and I've tested it quite a bit (as I'm sure you have).
Maybe a MSFTer can confirm whether when az containerapp ingress traffic set there is some delay before it becomes effective?
I don't know how precisely your script works, but during mine the chrome log looks like this; the highlighted row is where the new revision is being hit; I'm just hitting refreshing once a second - sorry it's not more sophisticated

@onionhammer did you tried load testing? Because what @trzepak1916 says is exactly what I was experiencing

@ilmax I will try it if you recommend a tool to use. Are you using AB or wrk or something?

I was using wrk https://github.com/wg/wrk you can also use one of the many alternatives e.g. bombardier https://github.com/codesenberg/bombardier.
I was doing some experiment to see if ACA was a suitable alternative to AKS and one of the things I wanted was zero downtime deployment, that's were I found the issue.
I was simply returning ah hard-coded value from my endpoint and initializing the revision before setting it to activate.
Despite that I was still getting non 200 responses.

This is only my QA, which is scaled to a single 0.25 CPU instance, so not high performance for running a benchmark against.
10 seconds, without any deployments going on
  1 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    22.17ms   22.87ms 285.35ms   82.56%
    Req/Sec   610.06    230.43     1.16k    70.00%
  Latency Distribution
     50%    9.92ms
     75%   32.42ms
     90%   57.81ms
     99%   79.75ms
  3036 requests in 5.00s, 1.24MB read
Requests/sec:    606.75
Transfer/sec:    253.35KB

This is 90 seconds while a deployment is going on (i.e. running my powershell script above) - I ran this twice
  1 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    22.47ms   30.85ms 492.26ms   87.45%
    Req/Sec   734.68    352.06     1.28k    59.56%
  Latency Distribution
     50%    8.73ms
     75%   23.62ms
     90%   62.45ms
     99%  163.32ms
  65850 requests in 1.50m, 26.30MB read
Requests/sec:    731.21
Transfer/sec:    299.10KB

The default behavior now should be that latestRevision: true weight should be going to the latestReadyRevision, rather than latestRevision. So you shouldn't need any custom scripts to get zero downtime deployment working with both single and multiple revision modes.
The api version 2022-10-01 (still pending release) will add a readonly property latestReadyRevision to indicate which revision the system considers to be the latest ready (vs latest created). A revision becomes ready once it passes its probes at least once.

Hi @ahmelsayed that sounds exciting - can you break that down a bit more, in practical terms, what that means for us?
Like for bicep files, would we use latestReadyRevision now? What does this mean for the CLI? When can we utilize these changes?

There is a property on the container app called latestRevisionName. The value in that property is the name of latest created revision. It was also the same revision referred to in the ingress section when you use latestRevision: true. e.g: the default
{
  "latestRevision": true,
  "weight": 100
}

latestRevisionName still is the latest created revision name. There will be a new property latestReadyRevisionName (once 2022-10-01 is available). latestRevision: true in traffic now refers to the latestReadyRevisionName instead of latestRevisionName (aka: latest created revision)
The latest created revision becomes the latest ready revision once it passes its probes at least once.
For example, if you have an app foo with a first revision being created on app creation foo--rev1:

latestRevisionName == foo--rev1 and latestReadyRevisionName == foo--rev1 Since rev1 this is the first/only revision created.

Create foo--rev2:
latestRevisionName == foo--rev2, but latestReadyRevisionName == foo--rev1. While waiting for --rev2 to pass its probes.

if:

rev2 never passes its probes, it never becomes latestReadyRevisionName and never gets traffic.
rev2 passes its probes 2 minutes later, it becomes latestReadyRevisionName 2 minutes later and traffic goes to it.

TL;DR:
When you assign traffic to latestRevision: true (which is the default of 100% to latestRevision: true), you're assigning traffic to the latest created revision that has passed its probes at least once. As opposed to just the latest created revision (as it used to be).
In bicep: latestRevisionName still has the same semantics it always had (i.e: the name of the latest created revision) with 2022-10-01, there will be the new latestReadyRevisionName. Depending on what you're doing in bicep, you can use either.

Here is an example where I create an app with an initial revision --rev1, then start a load test and create another 4 revisions. The result are similar to yours without the need for a custom script to orchestrate traffic updates.

Thank you for the explanation, @ahmelsayed
It sounds like the default behavior (once 2022-10-01 comes out) of setting traffic to latestRevision: true will be zero-downtime deployments.

It sounds like the default behavior of setting traffic to latestRevision: true will be zero-downtime deployments - still unclear if that has already taken effect or not

Yes, this has taken effect as of last week of October/first week of November (depending on the region and the rollout of the update).

Is this true for single revision mode as well as multi-revision mode?

Yes, this works for both single and multi-revision.

I'll close this issue too as complete, and track CLI updates to allow waiting for the traffic to have shifted in https://github.com/microsoft/azure-container-apps/issues/487

@ahmelsayed Thanks for adding that feature, but I have to add, that it is now not possible, to check if the deployment was successful or not. So my pipeline will always deploy successful, although the app maybe did not start healthy. Is it planned, to realize that it is possbile to know, if the deployment was successful?

Hey @ahmelsayed, I still experience this issue in a single-revision container app with just one container, even after setting up the probes.
My app doesn't have separate endpoints for startup/readiness/liveness, so I use a single /version endpoint for all of them:
STARTUP
  path: /version
  timeoutSeconds: 15
  periodSeconds: 10
  successThreshold: 1
  failureThreshold: 3

READINESS
  path: /version
  timeoutSeconds: 10
  periodSeconds: 5
  successThreshold: 1
  failureThreshold: 3

LIVENESS
  path: /version
  timeoutSeconds: 5
  periodSeconds: 3
  successThreshold: 1
  failureThreshold: 3

The endpoint is very light and just returns assembly version, commit info, but more importantly: the value of CONTAINER_APP_REVISION environment variable.
If I use Azure Portal to create a new revision, this is the outcome:

I have tried selecting/unselecting checkbox no. 2, no difference.

I also use Azure CLI in the pipeline where I update just the image:
latest_revision_name=$(az containerapp update --resource-group <resource-group> --name <container-app-name> --image <image-from-azure-container-registry> --query 'properties.latestRevisionName' --output tsv)

az containerapp revision show --resource-group <resource-group> --name <container-app-name> --revision $latest_revision_name --query '{ active: properties.active, healthState: properties.healthState, provisioningState: properties.provisioningState, trafficWeight: properties.trafficWeight }'

This is the output:
{
  "active": true, // [x] unexpected when healthState=None and provisioningState=Provisioning
  "healthState": "None",
  "provisioningState": "Provisioning",
  "trafficWeight": 100 // [x] unexpected when healthState=None and provisioningState=Provisioning
}

During this period (Provisioning), the /version endpoint stops returning a response and the spinner in the browser keeps spinning.
Once the new revision becomes Provisioned, the /version endpoint returns the new revision name, but it experienced 5 seconds of no response - not sure if that's considered as downtime or cold start.

Relates to a new issue I have created: https://github.com/microsoft/azure-container-apps/issues/598


Cypress/E2E: Add release date to appropriate report

Summary

Added optional release date to Release/Cloud reports

Here's the associated PR for adding environment variable in our ci config: https://github.com/saturninoabril/mattermost-cypress-docker/pull/22
Ticket Link
NA

/update-branch

/update-branch

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.

Trying to auto merge this PR.

Pull Request successfully merged
SHA: bee8909439e4b3a5643d16e7c2e0dd12b9fe40e9


How to convert KerasTensor to numpy array or TensorFlow EagerTensor?

Click to expand!
Issue Type
Others
Have you reproduced the bug with TF nightly?
Yes
Source
source
Tensorflow Version
2.9.2
Custom Code
Yes
OS Platform and Distribution
No response
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
I have a KerasTensor object with shape (None, 128, 128, 1) that I need to pass to an OpenCV function. However, I'm having trouble converting the KerasTensor to either a numpy array or a TensorFlow EagerTensor that can be accepted by the function. Specifically, I want to convert the KerasTensor to a format that is compatible with OpenCV's input requirements. Any suggestions on how to achieve this conversion?
I tried using tensor.numpy() to convert the KerasTensor to a numpy array, but I got an AttributeError: 'KerasTensor' object has no attribute 'numpy'.
Standalone code to reproduce the issue
import tensorflow as tf
from tensorflow import keras

# Define the shape of the input tensor
input_shape = (128, 128, 1)

# Create an input tensor with the specified shape
input_tensor = keras.layers.Input(shape=input_shape)

# Create a model that uses the input tensor
x = keras.layers.Conv2D(32, 3, activation='relu', padding='same')(input_tensor)
x = keras.layers.Conv2D(64, 3, activation='relu', padding='same')(x)
output_tensor = keras.layers.Conv2D(1, 3, activation='sigmoid', padding='same')(x)

print(type(output_tensor)) # <class 'keras.engine.keras_tensor.KerasTensor'>

# Convert the output tensor to a numpy array
print(type(output_tensor.numpy())) # AttributeError: 'KerasTensor' object has no attribute 'numpy'
print(type(tf.keras.backend.eval(output_tensor))) #AttributeError: 'KerasTensor' object has no attribute 'numpy'`

Relevant log output
No response

@kiratben,
The Keras Tensor cannot be converted to Numpy array directly, You can please try to convert the  Keras tensor to Tensor and from the Tensor you can convert to the numpy.
Also please have a look at this comment from the form discussion and the SO link for the reference.
https://discuss.tensorflow.org/t/get-values-of-kerastensor/2423
Thank you!


ID Input Coertion

My application is using uuids everywhere. So far I've been using the ID type for them which is okay according to GraphQL spec.
The issue is that when the client gives me an invalid UUID (such as an empty string), my application fails with error 500 - without clear indication what went wrong.
According to specification:

When expected as an input type, any string (such as "4") or integer (such as 4) input value should be coerced to ID as appropriate for the ID formats a given GraphQL server expects. Any other input value, including float input values (such as 4.0), must raise a query error indicating an incorrect type.

How can I validate the input and raise an appropriate query error?

Use a custom scalar type.

No. I want to stick with the ID type since the documentation states it's possible.

any string ... should be coerced ...

'' is also a string. graphql-php is correct here, so i don't think this is an issue with the library.
My suggestion still holds, though. You should be able to overwrite the built-in type if you really want too.

I didn't say it was an issue with the library. I just don't know how to achieve what the documentation suggests so I'm asking for an advice.
Using a custom type is a different approach to solving the goal but not an answer to my question and therefore off topic here.

Oh... you meant to overwrite the default type. Hmm... not sure if that's possible 🤔

This is possible (exactly because of requests like this). Check this out for details: #401 (also related: #555). We'll need a better way eventually but existing workaround should unblock you for now.


Include taskid when materialising Todoist tasks in Obsidian

Describe the solution you'd like
I see this as a quick, interim solution while #117 (editing tasks in Obsidian) is developed
e.g. https://todoist.com/showTask?id=1234567890
Additional context
Having two-way links between a task in Todoist and in Obsidian would be very useful.
We can already include the Obsidian page link in Todoist, including the Todoist link in Obsidian enables the round-trip.

Why was this feature request closed? I would find this very useful!

Can we get this re-opened or at least linked to what the resolution plan is?


Dynamic Desktop Overlay

In order to access dynamic desktop, the user has to minimize everything.
A button/hotkey to show it would help to avoid this problem.
It is the contrary of #46.
@nickisghosty Could you please confirm your idea or explain further? It is you who asked for this in #33.

For UI implementation I have added a toggle button to the left side of the taskbar.

This is now available in the latest build.


Service Worker not working with CLI 1.5.0

Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request

Versions.
Angular CLI: 1.5.0
Node: 8.6.0
OS: darwin x64
Angular: 5.0.0
Repro steps.
Created a new project, added @angular/service-worker, and set the serviceWorker flag, and ran ng build --prod, and got this error
ng build --prod
The installed version of @angular/service-worker is 5.0.0. This version of the CLI
requires the @angular/service-worker version to satisfy >= 1.0.0-beta.5 < 2.0.0. Please upgrade
your service worker version.
Error: The installed version of @angular/service-worker is 5.0.0. This version of the CLI
requires the @angular/service-worker version to satisfy >= 1.0.0-beta.5 < 2.0.0. Please upgrade
your service worker version.

Seems tracked in #8080 for 1.6.0 already.


Authenticating with Azure Identity AzureCliCredential to interact with MS Graph (msgraph-sdk-python-core) does not work

Is your feature request related to a problem? Please describe.
I want to authenticate via CLI credentials and invoke MS Graph calls via the library msgraph-sdk-python-core.
So far I am using Azure AD Graph Management client as follows:
from azure.common.credentials import get_azure_cli_credentials
from azure.graphrbac import GraphRbacManagementClient

cred, _, tenant_id = get_azure_cli_credentials(
    resource='https://graph.windows.net',
    with_tenant=True)
client = GraphRbacManagementClient(cred, tenant_id)

This works reasonably well, but AAD graph will be deprecated and the get_azure_cli_credentials already is deprecated.
So I went for the following approach:
from msgraph.core import GraphClient
from azure.identity import AzureCliCredential

azure_cli = AzureCliCredential()

client = GraphClient(credential=azure_cli)
result = client.get('/me')
print(result.json())

When trying to execute this, the following error message is shown:
AzureCliCredential.get_token failed: Please run 'az login' to set up an account
Traceback (most recent call last):
  File "/home/blub/cloud/environ/lib/python3.9/site-packages/azure/identity/_credentials/azure_cli.py", line 122, in _run_command
    return subprocess.check_output(args, **kwargs)
  File "/usr/lib/python3.9/subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/bin/sh', '-c', 'az account get-access-token --output json --resource .default']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/sf_share/scripts/azure_cli_creds_ms_graph.py", line 8, in <module>
    result = client.get('/me')
  File "/home/blub/cloud/environ/lib/python3.9/site-packages/msgraph/core/_graph_client.py", line 46, in wrapper
    return func(*args, **kwargs)
  File "/home/blub/cloud/environ/lib/python3.9/site-packages/msgraph/core/_graph_client.py", line 93, in get
    return self.graph_session.get(self._graph_url(url), **kwargs)
  File "/home/blub/cloud/environ/lib/python3.9/site-packages/requests/sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "/home/blub/cloud/environ/lib/python3.9/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/blub/cloud/environ/lib/python3.9/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/home/blub/cloud/environ/lib/python3.9/site-packages/msgraph/core/middleware/middleware.py", line 44, in send
    return self._first_middleware.send(request, **kwargs)
  File "/home/blub/cloud/environ/lib/python3.9/site-packages/msgraph/core/middleware/authorization.py", line 20, in send
    {'Authorization': 'Bearer {}'.format(self._get_access_token(context))}
  File "/home/blub/cloud/environ/lib/python3.9/site-packages/msgraph/core/middleware/authorization.py", line 32, in _get_access_token
    return self.credential.get_token(*self.get_scopes(context))[0]
  File "/home/blub/cloud/environ/lib/python3.9/site-packages/azure/identity/_internal/decorators.py", line 27, in wrapper
    token = fn(*args, **kwargs)
  File "/home/blub/cloud/environ/lib/python3.9/site-packages/azure/identity/_credentials/azure_cli.py", line 57, in get_token
    output = _run_command(COMMAND_LINE.format(resource))
  File "/home/blub/cloud/environ/lib/python3.9/site-packages/azure/identity/_credentials/azure_cli.py", line 128, in _run_command
    raise CredentialUnavailableError(message=NOT_LOGGED_IN)
azure.identity._exceptions.CredentialUnavailableError: Please run 'az login' to set up an account

Although the CLI is authenticated and I get a valid access token when executing:
az account get-access-token --output json
It seems the resource .default is causing problems here.
Describe the solution you'd like
Make the AzureCliCredential class of the azure-identity library compatible with msgraph-sdk-python-core.
Describe alternatives you've considered
I am using Device Code credentials, which works fine but requires me to authenticate always anew, so it is not a solution.
Additional context
I posted the issue already to the maintainers of msgraph-sdk-python-core (https://github.com/samwelkanda), which said that:
Indeed this problem seems to be caused by the underlying call made to the Azure Cli. The desired call to get an access token for use with MS Graph API should be az account get-access-token --resource-type ms-graph. This requires an update to the implementation of the AzureCliCredential class of the azure-identity library, which is outside the scope of this project.
https://github.com/microsoftgraph/msgraph-sdk-python-core/issues/106

Thanks for the feedback, we’ll investigate asap.

FWIW I have a need for this as well.

@soffensive have you tried https://github.com/microsoftgraph/msgraph-sdk-python-core
/cc: @jeking3

Also see #14022

@soffensive have you tried https://github.com/microsoftgraph/msgraph-sdk-python-core
/cc: @jeking3

Thanks for your answer. Yes I have tried this library as well, please look at the source code in the issue which is using this library.
The following snippet using msgraph-sdk-python-core will result in the error shown above:
from msgraph.core import GraphClient
from azure.identity import AzureCliCredential

azure_cli = AzureCliCredential()

client = GraphClient(credential=azure_cli)
result = client.get('/me')
print(result.json())

@soffensive Unfortunately, we didn't upgrade azure-graphrbac to the new azure-identity system yet. You can get more information in #14022 (comment).
@jeking3 do you have more information to share?
Thanks.

The problem is not the Azure Graph RBAC library, I want to authenticate via CLI credentials to send MS Graph calls, using the library msgraph-sdk-python-core.

@soffensive Unfortunately, we didn't upgrade azure-graphrbac to the new azure-identity system yet. You can get more information in #14022 (comment).
@jeking3 do you have more information to share?
Thanks.

Is there a timeline for graphrbac to use new azure-identity yet? Getting this error with azure-graphrbac==0.61.1: AttributeError: 'AzureCliCredential' object has no attribute 'signed_session'


Update governance with voting/proxy/non-voting maintainers

As discussed, I have updated our governance with the notion of proxy. I have also added Marcel to the list of "voting maintainer" and Matt - for who I am missing a GitHub account - to the list of "non-voting maintainer".

I have just added the GitHub account of Matt to the MAINTAINERS.md file. This PR is ready.

ok


support .vvm variants for slide1up/slide1down

This variant is a simple, low cost and extension consistent to the merge instructions:
Description:
This .vvm variant uses the vs1 vector register group as the source for the non-masked elements, replacing rd for this purpose.  All tail elements are copied over from vs1.
As with .vx variants destination cannot overlap either source.
The ,vv non-masked variant should be reserved as it is equivalent to the .vx non-masked.
It is a natural extension to the instruction and it parallels the .vvm variant of merge.

It's cost then is comparable to other variants to base instructions.
To be consistent with the slideup/slidedown instructions, when that mask bit is set, binary zero is the  replacement value of the "shifted out element". (v0[0] for slide1up and v0[vl-1] for slide1down).
Equivalences:
vslide1up.vvm vd, vs2, vs1, v0 replaces the two instruction sequence:

    vmv vd,vs1

    slide1up.vvm vd, vs2, x0, v0

Similarly for vslide1down.vvm it is equivalent to the corresponding two instruction sequence.
Addresses design restriction:
To allow slide1up/slide1down to be restartable, the destination cannot overlap source vector group registers..
As a result without the .vvm variant, a vmv or equivalent is required to address this restriction when it arises.
Known application:
The DUPH operation in the FFTW3 library can be implemented in a single instruction with a mask of (0,1,0,1,....)
    vslide1up.vvm  vd, vs1, vs1, v0

Similarly the DUPL operation in a single operation (with a complement mask in v0)
Alternatives:
The two instruction equivalence above could be optimized via fusion or chaining. The RISCV synchronous interrupt requirement imposes considerable constraints on designs in vector implementation. In particular register renaming, re-buffering or deferring interrupts is required.
If the V synchronous processing were relaxed, numerous chaining, and especially fusing opportunities would be available to in-order non-speculative implementations. It would be my preference to prescribe  such relaxation when only visible from interrupt context.
However, this slide1 .vvm case would still weigh toward its inclusion due to the minimal additional gates and thus being available to even the simplest implementations.

An alternative formulation of the .vv variant is to have a default value be used for the "shifted out element" , or perhaps it is better termed the "to be shifted in " element..
If this is the preferred approach then binary zero would be consistent with the clearing that is done with the trailing elements.
This alternative would be equivalent with the stated 2 instruction code regardless of mask value.
Perhaps this simplification and equivalence is preferred.
However, I do not see any other alternative defaults that make sense for most cases.
vs1[0] element for slide1down is a possibility that allows a rotation of elements when vs1 = vs2 and mask is all ones, but it is not as easily implemented for slide1up; picking the vs1[vl-1] element.
Similarly rotate down is  easy to achieve with the current .vx with a simple sequence
vmv.x,s rd, rs1
slide1down vd, rs1, rd
with the scalar instruction being operationally quite inexpensive so no large incentive here.,
I suspect algorithms that require rotation will be reworked to rotate down and thus not provide much opportunity for the slide1up.vv instruction to facilitate this "rotation" operation.
I still think the best is as I proposed.

This does not need to be decided before V1.0.
Deferring also defers the consideration of reserving the non-mask variant as a duplicate of another instruction.


Add North Italy region

Hi,
I am trying to troubleshoot some issues with North Italy DC that's in Milan but have noticed that it's missing on the site.
It would be really helpful if you could add it.
Thanks

Per Azure's official site, https://azure.microsoft.com/en-us/global-infrastructure/geographies/#geographies North Italy region status is coming soon. I can add it when this region become general available later.

Hello. I think that now North Italy its UP&Running. Could you add it? Thanks

Since North Italy is up&running please add it on the application, we have a lot local italian customers plan to use it. Thx

North Italy has now been added. Please let us know if you experience any issues.


Create MSVC build that uses the newest that we support

The Windows+MSVC builds are using MSVC 19.21 the newer compiler seems to be more strict, we should test with it so our users don't get into trouble.

Discussed. Keeping open.

This is now fixed.


Updated the Meshery Docs readme

Signed-off-by: Jerrid Schilling<EMAIL_ADDRESS>
Updated the Meshery Docs readme.
Added Meshery Docs screenshot.
Added Jekyll documentation links.
Added basic steps for contributing along with links to reference information.

Addresses #409

No worries! Thanks for reviewing. Let me know if there is anything with the wording that you think needs changed. I tried making it a little beginner friendly.


⚠ Bofrost.es has degraded performance

In 41c06d4, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1511 ms

Resolved: Bofrost.es performance has improved in 1df0cb9 after 6 minutes.


Highlight pre-rendering fails for escaped-HTML code

This is  slightly tricky. HTML code in
... block should be escaped, so in the docs we show a way to do that,  using Markdown.htmlesc. If applying the pre-rendering step afterwards however, we literally get a gibberish code block full of HTML entities.
One thing to try is to see whether the pre-rendering step works with un-escaped HTML and if so, to detect the language and un-escape the content.
It also shows that it'd be good to allow picking what gets pre-rendered (mostly: (1) everything or (2) just katex)

Ok so it's due to double escaping:
First one is ok, second one is doubly escaped

<div class="hello">example</div>

&lt;div class&#61;&quot;hello&quot;&gt;example&lt;/div&gt;


Accessible keyboard navigation

Using the ARIA Authoring Practices as a guide, this branch introduces a combo box relationship between the auto-complete input field and the result list. Testing with VoiceOver, the screen reader now announces each result item while navigating with up and down arrow keys.
This should hopefully be a nice upgrade for our auto-complete behavior, which is currently not announced while navigating list items.

Let's revisit the aria-live behavior in another branch so we can figure out internationalization and pluralization of the message.


Don't print query params if they are empty

I found this while investigating this issue on Lucky:
https://github.com/luckyframework/lucky/issues/214
It turns out that because I parsed the query params in the handler mentioned in the above link, it
set the URI#query to "". This caused HTTP::Request#resource to add
an extra ? to the end of the path, even though the query params were
empty.
This PR fixes the issue by also checking for an empty string before
printing ?

I switched it to what @straight-shoota suggested: https://github.com/crystal-lang/crystal/pull/5340#discussion_r154495211

Thanks @paulcsmith !


Build Pipeline's Agent Specification Ignored

Description
The agent specification in one of our build pipeline seems to be ignored every time we attempt to create a run, forcibly replaced by the deprecated 'vs2017-win2016' agent. We've tried editing our pipeline configuration to set the agent specification to 'windows-2019', 'windows-2022' and 'windows-latest' as well as manually running the pipeline with each of those agents, but the issue persists.
Virtual environments affected

[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[ ] macOS 10.15
[ ] macOS 11
[ ] Windows Server 2016
[X] Windows Server 2019
[X] Windows Server 2022

Image version and build link
Versions: 'windows-2019', 'windows-2022' and 'windows-latest'
https://microsoftit.visualstudio.com/OneITVSO/_build/results?buildId=7729420&view=results
Is it regression?
https://microsoftit.visualstudio.com/OneITVSO/_build/results?buildId=7670813&view=results
Expected behavior
We expect our build run to be linked to the specified agent.
Actual behavior
New build runs are linked to 'vs2017-win2016' agent, regardless of the agent specification.
Repro steps

Go to Build Pipeline view
Create a new run, selecting a valid windows agent
Run will be created with 'vs2017-win2016' agent, regardless of the agent selected in the previous step, and fail

HI @osdagoso!
There are two places where you can set up an agent spec. First one is here:

But then you override it with the vs2017-win2016 here

You can choose to inherit the agent spec like this and the issue will be resolved

I'm going to close the issue. Feel free to contact us if you need any help.
Thank you!


Dropping frames.

This plugin is causing dropped frames since game update on 4/3/2024.

Framerate issues should be resolved in https://github.com/runelite/plugin-hub/pull/5624/commits/857603da3b9e5d34d91ba4b85151499fa9231d7b
Please let me know if you continue to have problems. :)


Shape menu flashes when text is highlighted

Hopefully this video is self-explanatory:
https://user-images.githubusercontent.com/9866928/218448786-a4386799-a983-43b8-9362-1fa8f9fa570e.mov
Browser is FireFox 109.0.1!

Hey I believe this should be fixed now!


Should private DU constructors be private to the type or the type's parent scope?

The following code compiles:
type A = private A of string

let x = A ""

let f (A x) = x

The following does not:
module M =
  type A = private A of string

let x = A ""

let f (A x) = x

Is this intended? I was sure a DU's private constructors were private to the type, not to the type's parent scope, but apparently I remember incorrectly. Is it possible to have a DU constructor that is private to the type?

Secton 10.5 of the spec, Accessibility Annotations, calls this a "type representation" and states the following:

private on a type, module, or type representation in a module means “private to the module.”

Yes, but it's an accessibility modifier on a DU case (i.e. constructor), not the DU itself.

No, it's an accessibility modifier for the type's representation, i.e., all cases, not just the case immediately following the modifier.

Ah, I see. Thanks!

Thanks @FunctionalFirst, this is indeed by design.


Removed api-int from the required list of dns records.

@novacain1 pointed this out when creating dns reqords for the pinto test lab. It can be seen in the assisted installer documentation.
https://access.redhat.com/documentation/en-us/assisted_installer_for_openshift_container_platform/2022/html/assisted_installer_for_openshift_container_platform/preparing-to-install-with-ai#networking
I've gone back and audited previous versions of OCP to find which versions had this requirement and I can't find one that ever did.

OCP
api
*.apps
api-int

4.14
YES
YES
NO

4.13
YES
YES
NO

4.12
YES
YES
NO

4.11
YES
YES
NO

4.10
YES
YES
NO

4.9
YES
YES
NO

4.8
YES
YES
NO

4.7
NA
NA
NA

@nocturnalastro This change looks pretty safe to remove.

Closing pull request as project is being archived.


How can I clear memoizeWith items?

How can I clear memoizeWith items?

I'm afraid you can't.  I doubt Ramda will ever be interested in supporting that.  Functional programming is about pure functions.  If you supply the same arguments, you get the same value, and there are no side effects.  The only reason for memoizeWith is to allow you to avoid repeating expensive calculations.  The values stored are not the sort of things that should be invalidated.
Of course it's quite easy to write a simple memoize decorator of your own, especially if you know the types of parameters involved.

There are only two hard things in Computer Science: cache invalidation and naming things. -- Phil Karlton

@kudorori I agree with @CrossEye - cache invalidation is a complex business. You have popular solutions like memoize-one, but even these can be are not suitable sometimes.
I've been working on this project that had a function called getAbsoluteBoundingRect which was really expensive to work out; memoizeWith would do the trick for static data (say with mouse-detection), but soon as the data change memoizeWith was out of the question. I ended up with bespoke cache invalidation.
There are just too many specific scenarios to support - I'd also encourage you to write one that best suits your needs.

... or my favorite variant:

There are only two hard things in Computer Science: cache invalidation, naming things, and off-by-one errors.  -- Some Wag

My quick and dirty solution is to create a factory for the memoized function and call it every time you need a fresh, clean instance of memoization:
const fnFactory = () => {
  return memoizeWith(toString, (arg1, arg2) => {
    // ... some expensive thing to be called/calculated
  })
}

// since the function reference will change over time
// it's needed to be referenced via on object or some other wrapper
const state = {
  fn: fnFactory()
}

// something happened, need to clear cache
document.getElementById('clear-cache').addEventListener('click', () => {
  state.fn = fnFactory()
})

document.body.addEventListener('click', () => {
  console.log(state.fn('arg1', 'arg2'))
})

Can we add a new LRU Cache memorize function for ramda ? it will be helpful for high-frequence calc situation.

@Qquanwei: If you want to write one, feel free to create a PR.  While I can promise a fair hearing, my initial thought is negative.  It doesn't really seem a good fit with Ramda.  Perhaps, even if it's not accepted here, ramda-adjunct might be interested in it.

Thanks , seems should do a real performance test before write this.


Add Vagrant VM to use program in a sandbox

with wsl quite not needed anymore 😁

I can only agree with @obar1! It seems to be working fine on windows even without WSL anyway...

I prefer to keep certain application on a sandbox for security reasons. Anyway thanks for your work guys.


preventing validation from firing

It seems that in a template driven form, such as the following...
<input type="text" class="form-control input-lg" id="firstName" required minlength="2" maxlength="50" [(ngModel)]="model.firstName" name="firstName" #firstName="ngModel" aria-required="true" [attr.aria-invalid]="!!firstName.errors" trim>

Cannot be less than 2 characters.

Please enter your first name.

The "touched" validation does not trigger but when removing the directive, it does work as intended. Oddly enough, switching it to dirty acts as touched at that point. @anein

Thank you for your commit. The solution was really simple. 🙂👍


krun is not quoting filenames correctly

krun is not quoting filenames correctly:
$ krun test.toksem
[Error] Critical: Warning: <standard input>, line 2: unable to locate file:
/Users/user/k/a
Warning: <standard input>, line 2 (mod KRUNNER): module TOKSEM does not exist.
Warning: <standard input>, line 3 (mod KRUNNER): bad token #TCPPORT.
Warning: <standard input>, line 3 (mod KRUNNER): no parse for statement
eq #TCPPORT = 49266 .
Warning: <standard input>, line 6: unable to locate file:
/Users/user/k/a

Full path to working directory is /Users/user/k/a b c, so krun should be looking for /Users/user/k/a b c/test.toksem and /Users/user/k/a b c/toksem-kompiled.
kompile works happily in the same directory.
K Version 3.5.1 on Mac OS X 10.9.5

This is fixed in K v3.5.2 which I have just released. It is also, hopefully, working already in the master branch, which contains the snapshot of the upcoming K 3.6. Please let me know if this works for you.

Thanks, I will test 3.5.2 tomorrow.

Actually, I got a moment to check it just now.  Fix confirmed.


Why was python 3.5 support removed?

Looks like a commit on Jan 13 removed support for python 3.5. I am trying to understand why this is no longer supported.
I was able to find below reason for python 3.4.
A segfault was found when running redis-pyin python3.4.0that was introduced into the codebase in python itself in the version3.4.0.
Also, the redis-py library still supports python 3.5 and python 3.5 has not reached EOL yet.
Thanks for any additional information on this issue.

My philosophy for supported python version in the 3.x version series is to support the latest + the 2 versions behind it. I think this is a way that most packages that is built for python3 versions should be supported and done in general. I will give it some thought tho to possible revert that as i have stated before that i want to follow the supported matrix that redis-py uses to preserv compatibility. Thanks for brining it up.

Thanks for the quick response and thanks again for looking if we can bring back support. I am currently upgrading from 1.3.x to master for latest redis-py support. It will be great if we can keep it same as redis-py since I am using that separately as well.

Why did you open one, close it, and open the same one anew?

Oh, Initially I wasn't sure if I made changes on master or one of the previous commits where the python 3.5 support was removed. Also, my email in git-commit was not associated to my github.
Just corrected git config on my end.
Anyway, If you plan to bring back support, please review this PR #358 https://github.com/Grokzen/redis-py-cluster/pull/358

MR #358 merged, closing issue


Review the handling of Fixed Width fields

Want to verify how SQLite, Postgres, MySQL and SQL Server all handle fixed width strings.
Only have Postgres for now.
Don't pad to full length (at least not in Postgres).
Want to check:

Length
Concatenation (e.g. '"'||Field||'"')
Equality
Check the raw value coming out of JDBC.

We need to be able to round trip from the database to memory and back writing consistent.

SQL Server
length is set to fixed and automatically pads to full length.
Concatenation will attempt to concatenate at the end of the padded value by default
Equality ignores trailing spaces, so 'MYTEXT     ' is the same as 'MYTEXT' or 'MYTEXT '

Postgres
Postgres Length is set to fixed but does not pad
Postgres Concatenation does not automatically pad values by default in fixed width
Postgres Equality ignores trailing spaces

MySQL
MySQL will pad trailing whitespace on load, but on retrieval will remove that whitespace unless PAD_CHAR_TO_FULL_LENGTH mode is set.
This also impacts concatenation, by default the concatenation will not pad values in fixed width concatenation unless this mode is set.
MySQL Equality ignores trailing spaces


Fix Board Games

For New Contributors
How to contribute
Description

Add robustness for forfeiting when other player crashes.
Create some logging for packet sending and receiving (maybe in a file).
If needed @garrettluskey can add server logging.
It seems that message sending or receiving is now broken.
Intended Design

N/A
Location

N/A
Related Issues

N/A
Requirements

N/A
Additional information

N/A
Definition of Done

[ ] Class level comments exist for all new classes.
[ ] XUnit tests exist for every method that does not require the game to be ran.

Mostly fixed, will add logging as per needed later.


[Python install] can't install grpcio-tools in Alpine, Python 3.5

# cat /proc/version
Linux version 4.4.20-moby (root@3934ed318998) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.2) ) #1 SMP Thu Sep 15 12:10:20 UTC 2016
# python --version
Python 3.5.2

Using this Dockerfile
I've installed
python3-dev
linux-headers

which I had to do to even get as far as I have.  Please file an issue at http://www.github.com/grpc/grpc with `[Python install]` in the title.

    Traceback (most recent call last):
      File "/usr/local/lib/python3.5/distutils/unixccompiler.py", line 196, in link
        self.spawn(linker + ld_args)
      File "/tmp/pip-build-83rho7k2/grpcio/src/python/grpcio/_spawn_patch.py", line 67, in _commandfile_spawn
        _classic_spawn(self, command)
      File "/usr/local/lib/python3.5/distutils/ccompiler.py", line 909, in spawn
        spawn(cmd, dry_run=self.dry_run)
      File "/usr/local/lib/python3.5/distutils/spawn.py", line 36, in spawn
        _spawn_posix(cmd, search_path, dry_run=dry_run)
      File "/usr/local/lib/python3.5/distutils/spawn.py", line 159, in _spawn_posix
        % (cmd, exit_status))
    distutils.errors.DistutilsExecError: command 'gcc' failed with exit status 1

I've attached the entire error output:
PythonBuildErrorLog.txt

The failure has to do with trying to install grpcio, which makes this a duplicate of #8658. Thanks for the report!


Omit the unnecessary fields in toggle block

The ToggleBlock specifies RichText and Text fields which are not documented in the Notion API. I suppose these were left from earlier versions.
Practically, these fields should not be causing any errors as they're serialised only when they're present (i.e. omitempty). However, the RichText field misses the omitempty, causing error responses form Notion.
Would be great if the unnecessary fields can be cleaned up - if that's too much work just adding an omitempty tag to  ToggleBlock.RichText would do the job too.
Ref. https://github.com/jomei/notionapi/blob/main/block.go#L352.
PS, not sure how you manage contributions here, but given the right permissions I can open up a PR as well.
Many thanks.

Fixed in #102