编译错误，提示缺少文件

小白第一次使用 ,提示缺少文件
The plugins flutter_screen, image_gallery_saver, ota_update use a deprecated version of the Android embedding.
To avoid unexpected runtime failures, or future build failures, try to see if these plugins support the Android V2 embedding. Otherwise, consider removing them since a future release of Flutter will remove these deprecated APIs.
If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration.
Launching lib\main.dart on EDA51 in debug mode...
Running Gradle task 'assembleDebug'...
lib/home/home_page.dart:22:8: Error: Error when reading 'lib/util/hex_color.dart': 系统找不到指定的文件�?
import 'package:ZY_Player_flutter/util/hex_color.dart';
^
lib/home/home_page.dart:27:8: Error: Error when reading 'lib/widgets/bubble_tab_indicator.dart': 系统找不到指定的文件�?
import 'package:ZY_Player_flutter/widgets/bubble_tab_indicator.dart';
^
lib/home/home_page.dart:427:42: Error: The method 'BubbleTabIndicator' isn't defined for the class '_HomeState'.

'_HomeState' is from 'package:ZY_Player_flutter/home/home_page.dart' ('lib/home/home_page.dart').
Try correcting the name to the name of an existing method, or defining a method named 'BubbleTabIndicator'.
indicator: BubbleTabIndicator(),
^^^^^^^^^^^^^^^^^^
lib/home/home_page.dart:459:42: Error: The method 'BubbleTabIndicator' isn't defined for the class '_HomeState'.
'_HomeState' is from 'package:ZY_Player_flutter/home/home_page.dart' ('lib/home/home_page.dart').
Try correcting the name to the name of an existing method, or defining a method named 'BubbleTabIndicator'.
indicator: BubbleTabIndicator(),
^^^^^^^^^^^^^^^^^^
lib/home/home_page.dart:527:34: Error: The method 'HexColor' isn't defined for the class '_HomeState'.
'_HomeState' is from 'package:ZY_Player_flutter/home/home_page.dart' ('lib/home/home_page.dart').
Try correcting the name to the name of an existing method, or defining a method named 'HexColor'.
backgroundColor: HexColor('#FFA400'),
^^^^^^^^
lib/home/home_page.dart:586:46: Error: The method 'HexColor' isn't defined for the class '_HomeState'.
'_HomeState' is from 'package:ZY_Player_flutter/home/home_page.dart' ('lib/home/home_page.dart').
Try correcting the name to the name of an existing method, or defining a method named 'HexColor'.
final color = isActive ? HexColor('#FFA400') : Colors.white;
^^^^^^^^
lib/home/home_page.dart:603:36: Error: The method 'HexColor' isn't defined for the class '_HomeState'.
'_HomeState' is from 'package:ZY_Player_flutter/home/home_page.dart' ('lib/home/home_page.dart').
Try correcting the name to the name of an existing method, or defining a method named 'HexColor'.
backgroundColor: HexColor('#373A36'),
^^^^^^^^
lib/home/home_page.dart:605:32: Error: The method 'HexColor' isn't defined for the class '_HomeState'.
'_HomeState' is from 'package:ZY_Player_flutter/home/home_page.dart' ('lib/home/home_page.dart').
Try correcting the name to the name of an existing method, or defining a method named 'HexColor'.
splashColor: HexColor('#FFA400'),
^^^^^^^^
lib/login/page/login_page.dart:78:28: Error: Method not found: 'Utils.getUniqueId'.
var uuid = await Utils.getUniqueId();
^^^^^^^^^^^
lib/provider/app_state_provider.dart:129:46: Error: Too few positional arguments: 1 required, 0 given.
ApplicationEvent.event.fire(DeviceEvent());
^
lib/event/event_model.dart:18:3: Context: Found this candidate, but the arguments don't match.
DeviceEvent(this.device);
^^^^^^^^^^^
lib/login/page/register_page.dart:81:28: Error: Method not found: 'Utils.getUniqueId'.
var uuid = await Utils.getUniqueId();
^^^^^^^^^^^
lib/player/widget/zhibo_list_page.dart:78:62: Error: The getter 'cover' isn't defined for the class 'M3uResult'.
'M3uResult' is from 'package:ZY_Player_flutter/model/zhibo_resource.dart' ('lib/model/zhibo_resource.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'cover'.
_zhiboListProvider.list[index].cover,
^^^^^
lib/player/page/player_detail_page.dart:80:43: Error: Too few positional arguments: 2 required, 1 given.
_collectProvider.setListDetailResource("collcetPlayer");
^
lib/player/page/zhibo_detail_page.dart:61:43: Error: Too few positional arguments: 2 required, 1 given.
_collectProvider.setListDetailResource("collcetPlayer");
^
lib/tingshu/page/tingshu_detail_page.dart:59:43: Error: Too few positional arguments: 2 required, 1 given.
_collectProvider.setListDetailResource("collcetTingshu");
^
lib/tingshu/page/tingshu_detail_page.dart:164:37: Error: The getter 'list' isn't defined for the class 'CollectProvider'.
'CollectProvider' is from 'package:ZY_Player_flutter/Collect/provider/collect_provider.dart' ('lib/Collect/provider/collect_provider.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'list'.
var result = _collectProvider.list.where((element) => element.url == data.url).toList();
^^^^
lib/tingshu/page/tingshu_detail_page.dart:288:46: Error: The method 'removeTingshu' isn't defined for the class 'CollectProvider'.
'CollectProvider' is from 'package:ZY_Player_flutter/Collect/provider/collect_provider.dart' ('lib/Collect/provider/collect_provider.dart').
Try correcting the name to the name of an existing method, or defining a method named 'removeTingshu'.
_collectProvider.removeTingshu(_tingShuProvider.tingshudetail.url);
^^^^^^^^^^^^^
lib/tingshu/page/tingshu_detail_page.dart:291:46: Error: The method 'addTingshu' isn't defined for the class 'CollectProvider'.
'CollectProvider' is from 'package:ZY_Player_flutter/Collect/provider/collect_provider.dart' ('lib/Collect/provider/collect_provider.dart').
Try correcting the name to the name of an existing method, or defining a method named 'addTingshu'.
_collectProvider.addTingshu(
^^^^^^^^^^
/D:/Android/flutter/.pub-cache/hosted/pub.flutter-io.cn/wakelock_platform_interface-0.2.0/lib/messages.dart:100:17: Error: The method 'setMockMessageHandler' isn't defined for the class 'BasicMessageChannel'.
'BasicMessageChannel' is from 'package:flutter/src/services/platform_channel.dart' ('/D:/Android/flutter/packages/flutter/lib/src/services/platform_channel.dart').
Try correcting the name to the name of an existing method, or defining a method named 'setMockMessageHandler'.
channel.setMockMessageHandler(null);
^^^^^^^^^^^^^^^^^^^^^
/D:/Android/flutter/.pub-cache/hosted/pub.flutter-io.cn/wakelock_platform_interface-0.2.0/lib/messages.dart:102:17: Error: The method 'setMockMessageHandler' isn't defined for the class 'BasicMessageChannel'.
'BasicMessageChannel' is from 'package:flutter/src/services/platform_channel.dart' ('/D:/Android/flutter/packages/flutter/lib/src/services/platform_channel.dart').
Try correcting the name to the name of an existing method, or defining a method named 'setMockMessageHandler'.
channel.setMockMessageHandler((dynamic message) async {
^^^^^^^^^^^^^^^^^^^^^
/D:/Android/flutter/.pub-cache/hosted/pub.flutter-io.cn/wakelock_platform_interface-0.2.0/lib/messages.dart:114:17: Error: The method 'setMockMessageHandler' isn't defined for the class 'BasicMessageChannel'.
'BasicMessageChannel' is from 'package:flutter/src/services/platform_channel.dart' ('/D:/Android/flutter/packages/flutter/lib/src/services/platform_channel.dart').
Try correcting the name to the name of an existing method, or defining a method named 'setMockMessageHandler'.
channel.setMockMessageHandler(null);
^^^^^^^^^^^^^^^^^^^^^
/D:/Android/flutter/.pub-cache/hosted/pub.flutter-io.cn/wakelock_platform_interface-0.2.0/lib/messages.dart:116:17: Error: The method 'setMockMessageHandler' isn't defined for the class 'BasicMessageChannel'.
'BasicMessageChannel' is from 'package:flutter/src/services/platform_channel.dart' ('/D:/Android/flutter/packages/flutter/lib/src/services/platform_channel.dart').
Try correcting the name to the name of an existing method, or defining a method named 'setMockMessageHandler'.
channel.setMockMessageHandler((dynamic message) async {
^^^^^^^^^^^^^^^^^^^^^

FAILURE: Build failed with an exception.

Where:
Script 'D:\Android\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1005

What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.

Process 'command 'D:\Android\flutter\bin\flutter.bat'' finished with non-zero exit value 1

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 31s
Exception: Gradle task assembleDebug failed with exit code 1

使用最新版本看看

感谢，已经编译出来了，可能是因为新版本的sdk关系，需要注意的是 IntelliJ/Android Studio#
"Edit Configurations" (在RUN配置里) → "Additional run args" 添加
--no-sound-null-safety
要登录，是否要是后台，服务器地址在哪里？

是需要后台的，联系作者，详聊。


Remove Result class

We are using it just like String

I think we should leave it as is, it gives us some freedom for future features and other enhancements.

I don't think there will be any major changes in this matter. We are getting close to release

Result is now used for encoding color information etc.


feat: Add a Contributing.md File 💡

Contributing.md file is a very important aspect of an open source project.
Kindly comment below and I'll assign it to you.

completed in this commit 52b1d38 ✅


Missing support of create checkout with merchant_code

Hello,
According to the SDK documentation (https://developer.sumup.com/docs/php-sdk/), the checkout needs creating with :
$checkoutResponse = $checkoutService->create($amount, $currency, $checkoutRef, $payToEmail);

However, according to the rest API, using the payToEmail field is discouraged and the mandatory merchant_code field should be used instead when creating checkouts: see https://developer.sumup.com/rest-api/#tag/Checkouts/paths/~1checkouts/post
pay_to_email | string <email>  Email address of the registered user (merchant) to whom the payment is made. It is highly recommended to use merchant_code instead of pay_to_email.

Looking at the SDK source code, there's no way to use merchant_code. See https://github.com/sumup/sumup-ecom-php-sdk/blob/master/src/SumUp/Services/Checkouts.php
public function create($amount, $currency, $checkoutRef, $payToEmail, $description = '', $payFromEmail = null, $returnURL = null)
    {

How bad is it to use payToEmail? Shouldn't the sdk evolve to take into account the API specifications?
Thanks!

You can use $customService->request($method, $relativePath, $payload); instead of $checkoutService->create($amount, $currency, $checkoutRef, $payToEmail);

Same question 3 years later 🧠


window does not like non-integer pos, floor it

To reproduce this issue (on OSX at least)
var menubar = require('menubar')
var mb = menubar()

mb.on('ready', function ready () {
  console.log('app is ready')
  mb.tray.setTitle('1234567')
})

@freewil thanks for this. 3 questions:

how does trayPos get set to a non-integer in the first place?
if its a non-integer, how does Math.floor fix it (e.g. won't that just make it NaN)?
why do you do mb.tray.setTitle('1234567') in your test case?

how does trayPos get set to a non-integer in the first place?

I believe it is from me setting a title of a certain length (7 characters seems to trigger it)

if its a non-integer, how does Math.floor fix it (e.g. won't that just make it NaN)?

With my test case, I'm getting a float (x.5) which is causing an error when creating or positioning the window so I'm rounding down to x

why do you do mb.tray.setTitle('1234567') in your test case?

Titles of certain length appear to trigger the issue, 7-characters appears to be 1 of many that will trigger it

@freewil ahhh okay. maybe the title has some influence on the icon position when the menubar layout is done by the OS.

published as 2.0.15


Move package building logic into separate tool

The build logic should not live in tools/gulp anymore. It could be exposed as a separate tool that will be shared between the different libraries.

As a reference: #4719


az storage fs file list --recursive false error

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug
I am trying to get a list of files in my blob storage with az storage fs file list command, and i dont want to list files from subdirectories, so i am using --recursive false flag and saving it to a file. When it is executing command on azure pipline with azure CLI (version 1, inline script) it says:
2021-03-04T12:14:12.5157760Z ERROR: The command failed with an unexpected error. Here is the traceback:
2021-03-04T12:14:12.5158869Z ERROR: strptime() argument 1 must be str, not None
2021-03-04T12:14:12.5159589Z Traceback (most recent call last):
2021-03-04T12:14:12.5161370Z   File "/opt/az/lib/python3.6/site-packages/knack/cli.py", line 233, in invoke
2021-03-04T12:14:12.5162619Z     cmd_result = self.invocation.execute(args)
2021-03-04T12:14:12.5163989Z   File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 660, in execute
2021-03-04T12:14:12.5164836Z     raise ex
2021-03-04T12:14:12.5166102Z   File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 723, in _run_jobs_serially
2021-03-04T12:14:12.5167316Z     results.append(self._run_job(expanded_arg, cmd_copy))
2021-03-04T12:14:12.5168689Z   File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 715, in _run_job
2021-03-04T12:14:12.5169567Z     return cmd_copy.exception_handler(ex)
2021-03-04T12:14:12.5170886Z   File "/opt/az/lib/python3.6/site-packages/azure/cli/command_modules/storage/__init__.py", line 352, in new_handler
2021-03-04T12:14:12.5171701Z     raise ex
2021-03-04T12:14:12.5172906Z   File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 694, in _run_job
2021-03-04T12:14:12.5173728Z     result = cmd_copy(params)
2021-03-04T12:14:12.5174992Z   File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 331, in __call__
2021-03-04T12:14:12.5176036Z     return self.handler(*args, **kwargs)
2021-03-04T12:14:12.5177364Z   File "/opt/az/lib/python3.6/site-packages/azure/cli/core/__init__.py", line 808, in default_command_handler
2021-03-04T12:14:12.5178239Z     return op(**command_args)
2021-03-04T12:14:12.5179629Z   File "/opt/az/lib/python3.6/site-packages/azure/cli/command_modules/storage/operations/fs_file.py", line 76, in list_fs_files
2021-03-04T12:14:12.5180502Z     result = next(pages)
2021-03-04T12:14:12.5181661Z   File "/opt/az/lib/python3.6/site-packages/azure/core/paging.py", line 84, in __next__
2021-03-04T12:14:12.5182605Z     self.continuation_token, self._current_page = self._extract_data(self._response)
2021-03-04T12:14:12.5184148Z   File "/opt/az/lib/python3.6/site-packages/azure/multiapi/storagev2/filedatalake/v2020_02_10/_list_paths_helper.py", line 61, in _extract_data_cb
2021-03-04T12:14:12.5185205Z     self.current_page = [self._build_item(item) for item in self.path_list]
2021-03-04T12:14:12.5186801Z   File "/opt/az/lib/python3.6/site-packages/azure/multiapi/storagev2/filedatalake/v2020_02_10/_list_paths_helper.py", line 61, in <listcomp>
2021-03-04T12:14:12.5187881Z     self.current_page = [self._build_item(item) for item in self.path_list]
2021-03-04T12:14:12.5189488Z   File "/opt/az/lib/python3.6/site-packages/azure/multiapi/storagev2/filedatalake/v2020_02_10/_list_paths_helper.py", line 70, in _build_item
2021-03-04T12:14:12.5191017Z     path = PathProperties._from_generated(item)  # pylint: disable=protected-access
2021-03-04T12:14:12.5192587Z   File "/opt/az/lib/python3.6/site-packages/azure/multiapi/storagev2/filedatalake/v2020_02_10/_models.py", line 215, in _from_generated
2021-03-04T12:14:12.5193853Z     path_prop.last_modified = datetime.strptime(generated.last_modified, "%a, %d %b %Y %H:%M:%S %Z")
2021-03-04T12:14:12.5194849Z TypeError: strptime() argument 1 must be str, not None

it was working until 10am (gmt+1) 4th march.
To Reproduce
create blob storage, create directory and subdirectory inside with some files, go to azure pipline create azure CLI task verion 1.0, inline script run command az storage fs file list --account-name xxx --account-key yyy -f dir  --recursive false>list.txt
az storage blob upload --account-name xxx --account-key yyy -f list.txt -c dir -n list.txt
Expected behavior
It should save a list of files and directories inside dir directory in a file called list.txt
Environment summary
Azure pipline release,
agent job: ubuntu 16.04
task: azure CLI veriosn 1.0 inline script
Additional context
it was working until 10am (gmt+1) 4th march

storage

Hi @Filip232, any update for debug info?

I am hitting this as well with azure-cli version 2.21.0.
az storage fs file list --account-name <> --file-system <> --query '[].{datetime:lastModified, size:contentLength, file:name}' --recursive false

urllib3.connectionpool: https://management.azure.com:443 "POST /subscriptions/<>/resourceGroups/<>/providers/Microsoft.Storage/storageAccounts/<>/listKeys?api-version=2021-01-01&$expand=kerb HTTP/1.1" 200 None
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies: Request URL: 'https://<>.dfs.core.windows.net/<>?resource=filesystem&recursive=false&maxResults=5000'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies: Request method: 'GET'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies: Request headers:
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'x-ms-version': '2020-02-10'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'Accept': 'application/json'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'User-Agent': 'AZURECLI/2.21.0 (HOMEBREW) azsdk-python-storage-dfs/12.2.2 Python/3.8.8 (macOS-10.15.7-x86_64-i386-64bit)'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'x-ms-client-request-id': '<<>>'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'CommandName': 'storage fs file list'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'ParameterSetName': '--account-name --file-system --query --recursive --debug'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'x-ms-date': 'Tue, 06 Apr 2021 20:57:15 GMT'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'Authorization': '<>'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies: Request body:
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies: None
urllib3.connectionpool: Starting new HTTPS connection (1): <>.dfs.core.windows.net:443
urllib3.connectionpool: https://<>.dfs.core.windows.net:443 "GET /<>?resource=filesystem&recursive=false&maxResults=5000 HTTP/1.1" 200 None
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies: Response status: 200
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies: Response headers:
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'Transfer-Encoding': 'chunked'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'Content-Type': 'application/json;charset=utf-8'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'Server': 'Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'x-ms-request-id': '<<>>'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'x-ms-version': '2020-02-10'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'x-ms-client-request-id': '<<>>'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies:     'Date': 'Tue, 06 Apr 2021 20:57:14 GMT'
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies: Response content:
azure.multiapi.storagev2.filedatalake.v2020_02_10._shared.policies: {"paths":[{"isDirectory":"true","name":"<<>>"},{"isDirectory":"true","name":"<<>>"},{"isDirectory":"true","name":"<<>>"}]}

cli.azure.cli.core.util: azure.cli.core.util.handle_exception is called with an exception:
cli.azure.cli.core.util: Traceback (most recent call last):
  File "/usr/local/Cellar/azure-cli/2.21.0/libexec/lib/python3.8/site-packages/knack/cli.py", line 233, in invoke
    cmd_result = self.invocation.execute(args)
  File "/usr/local/Cellar/azure-cli/2.21.0/libexec/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 660, in execute
    raise ex
  File "/usr/local/Cellar/azure-cli/2.21.0/libexec/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 723, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/usr/local/Cellar/azure-cli/2.21.0/libexec/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 715, in _run_job
    return cmd_copy.exception_handler(ex)
  File "/usr/local/Cellar/azure-cli/2.21.0/libexec/lib/python3.8/site-packages/azure/cli/command_modules/storage/__init__.py", line 352, in new_handler
    raise ex
  File "/usr/local/Cellar/azure-cli/2.21.0/libexec/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 694, in _run_job
    result = cmd_copy(params)
  File "/usr/local/Cellar/azure-cli/2.21.0/libexec/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 331, in __call__
    return self.handler(*args, **kwargs)
  File "/usr/local/Cellar/azure-cli/2.21.0/libexec/lib/python3.8/site-packages/azure/cli/core/__init__.py", line 811, in default_command_handler
    return op(**command_args)
  File "/usr/local/Cellar/azure-cli/2.21.0/libexec/lib/python3.8/site-packages/azure/cli/command_modules/storage/operations/fs_file.py", line 76, in list_fs_files
    result = next(pages)
  File "/usr/local/Cellar/azure-cli/2.21.0/libexec/lib/python3.8/site-packages/azure/core/paging.py", line 84, in __next__
    self.continuation_token, self._current_page = self._extract_data(self._response)
  File "/usr/local/Cellar/azure-cli/2.21.0/libexec/lib/python3.8/site-packages/azure/multiapi/storagev2/filedatalake/v2020_02_10/_list_paths_helper.py", line 61, in _extract_data_cb
    self.current_page = [self._build_item(item) for item in self.path_list]
  File "/usr/local/Cellar/azure-cli/2.21.0/libexec/lib/python3.8/site-packages/azure/multiapi/storagev2/filedatalake/v2020_02_10/_list_paths_helper.py", line 61, in <listcomp>
    self.current_page = [self._build_item(item) for item in self.path_list]
  File "/usr/local/Cellar/azure-cli/2.21.0/libexec/lib/python3.8/site-packages/azure/multiapi/storagev2/filedatalake/v2020_02_10/_list_paths_helper.py", line 70, in _build_item
    path = PathProperties._from_generated(item)  # pylint: disable=protected-access
  File "/usr/local/Cellar/azure-cli/2.21.0/libexec/lib/python3.8/site-packages/azure/multiapi/storagev2/filedatalake/v2020_02_10/_models.py", line 215, in _from_generated
    path_prop.last_modified = datetime.strptime(generated.last_modified, "%a, %d %b %Y %H:%M:%S %Z")
TypeError: strptime() argument 1 must be str, not None

@alextmeyer, are you using az storage fs file list to list on blob storage account?
az storage fs related commands are for ADLS Gen2 storage account, which has hierarchical namespace enabled. In such storage account, the response content do have lastModified filed and in python SDK it could use this property. But you get the error, which is raised in python SDK because of None value for lastModified, so I am guessing you are not using ADLS Gen2 storage account.
In your response, it only has "paths":[{"isDirectory":"true","name":"<<>>"},{"isDirectory":"true","name":"<<>>"},{"isDirectory":"true","name":"<<>>"}]}, which means you are listing directories with --recursive false and your account should not be ADLS Gen2 storage account because the response content is different from ADLS Gen2.
Anyway, if you are normal storage account and want to list blob container. If yes, you should use az storage blob list not az storage fs file list.

@alextmeyer, any feedback or update?

Sorry thanks for following up @Juliehzl and @yonzhan.
You are correct that we're not using ADLS Gen2 across the board, encountered the suggestion to use the az storage fs file commands when working with az storage blob directory commands and found them to largely work with some limitations, but just moved everything back to az storage blob commands and handled the specific cases we required.

I see. Thanks for your feedback.


Add validator to StringCategories requiring each string appear in only one category

There should never be a case in which the same freeform string is mapped to more than one category, since in that case the mapping would not be deterministic, and the outcome of the string categorization would depend on what order the categorizations happen in.
This should be a simple @validator to add to the StringCategories model.

Haha, this already exists as categories_are_disjoint and that's how @cmgosnell found the duplicated strings.


Add Denotation.isJavaDefined, fixes #1042.

The failure on 2.12.2 with JS=true is caused by the low memory constraints on Travis and unrelated to this PR.


Broken recipes

There seems to be some human modifications or the AI training has changed to the point that some recipes are no longer working. I don't want to say exactly what as it likely would get me and potentially the project flagged. I'll just say it is the label for the culprits related to bush, towers, and jets.  I tried about 20 before stopping. The target word may have been removed as a possible output entirely, or I was just unlucky in my attempts. The primary culprit's full name also seems to be inaccessible at least via the recipes not involving the earlier target which I can't use. The first name is still accessible.

According to another repository of recipes, there has been a censor added by the game creator. I did run into another two words that are unavailable and there are more out there. From what I've read, the censored words can be added manually to an import and work with subsequent recipes that use the censored word and I'll be testing this over the next day. I'll report back my findings.

Some recipes were fixed in https://github.com/expitau/InfiniteCraftWiki/pull/20, does this solve your issue?

Stale. Please reopen if needed


how to equilibrate before NCMC computation?

Hi there,
How can I properly equilibrate a system prior to an NCMC computation?
Trying to make this work for a simple test system (annihilating a proton in a water box), I came across some odd results in the computed NCMC potential energy differences (see test.py.txt and test.log.txt, I can send you more input files if necessary):
When performing a "delete" NCMC computation after equilibration (via openmm.LangevinIntegrator), I obtain much larger potential energy differences (187kT in  test.log) compared to the same "delete" NCMC computation without any prior openmm-equilibration (-22kT in test.log).
The potential energy right after the equilibration and right before the NCMC computation are identical, and I have tried different equilibrated starting structures (in.pdb), and different equilibration/NCMC times.
Is there, e.g., a specific NCMC equilibration integrator I should be using instead of openmm.LangevinIntegrator?
Thank you for your help, Best,
Sebastian

Go ahead and post those input files and I'll try to hook you up with a working example!

Hi,
OK, the solution for the above problem is to simply equilibrate my H-system for simulation times much longer than the inverse of my heat bath friction coefficient (1/ps) - I am able to do this now having access to cuda7.5.
Here is my updated test.py script including the input files:
test.zip
The reason I still post these files (and kindly ask you for help) is the following:
In test.py, you will see that I am running one equilibration and two non-equilibrium stages (alchemical transformations for NCMC) - "equ", "nonequ1", "nonequ2", each 1000 integration steps long. On average over 100 runs, each of these stages has the following runtime (with standard deviations):
dt_equ: 0.07+-0.03 min.
dt_nonequ1: 13.5+-4.2 min.
dt_nonequ2: 13.8+-5.4 min.
So for some reason, I can get the non-equilibrium transformations not even comparably as fast as the corresponding equilibration stage.
Can you qualitatively reproduce the above runtimes (differences)? Is there a tweak I can use to speed up the non-equilibrium transformations, or is this an hardware issue?
For what it's worth, I am using
Debian 3.16.7
perses-0.1-py2.7
openmm                    6.3.1
openmmtools               0.7.5
python 2.7.1
and a "GeForce GTX 980" GPU card
Thanks a lot,
Sebastian

Thanks!  Benchmarking this now to see if I can reproduce your timings.
I would expect the NCMC should be slower since it has to (1) recode most of the NonbondedForces as CustomNonbondedForces, slowing things down, and (2) use a CustomIntegrator.  We unroll the NCMC steps in the CustomIntegrator kernel, which may be inefficient---I'm exploring some ways to speed this up.  I think we can probably optimize this considerably.

On a GTX-680, I get
[chodera@gpu-1-7 test]$ python test.py
#"Time (ps)" "Temperature (K)"
2.0<PHONE_NUMBER>64
total potential energy after equilibration: -16739.4710206 kJ/mol

doing NCMC with    prior equilibration
deleting H...

doing NCMC without prior equilibration
deleting H...
runtimes (equ,nonequ1,nonequ2) in min.: 0.794938 38.472065 0.455481

This is pretty confusing to me, since the only difference in the last two should be the choice of starting positions!  I'm trying to figure out what is causing this...

For what it's worth, I can confirm this odd behavior (not as drastic though) for runs on both GeForce GTX 780 and 980 cards:
dtequ dtnonequ1 dtnonequ2
0.107036  4.616891  0.934710
0.119366  4.148975  1.068160
0.126915  4.127439  1.068445
0.106440  3.828613  1.052439
0.084712  3.923797  1.108901
0.064234  3.746215  1.073810
0.100949  3.698790  1.050620
0.127872  3.551751  0.952409
0.127397  3.529105  1.020273
0.085606  3.516918  1.079289
0.116085  3.398323  0.995480
0.082598  3.290072  0.981817
0.096335  3.413157  1.101247
0.067541  3.292237  1.005146
0.083328  3.175025  1.048694

The first time you run a new CUDA kernel, it has to compile it. I wonder if we're seeing the overhead from that, though it's usually just a few seconds...

This seems to be the case. If you change ncmc_nsteps to 100 and then repeat both calls to doNCMC, you'll see that the first one has the huge kernel compilation overhead while the subsequent calls avoid this:
[chodera@gpu-2-16 test]$ python test.py
#"Time (ps)" "Temperature (K)"
2.0<PHONE_NUMBER>73
total potential energy after equilibration: -16716.6672555 kJ/mol

doing NCMC with    prior equilibration
deleting H...
148.892848969

doing NCMC without prior equilibration
deleting H...
3.51380300522

doing NCMC with    prior equilibration
deleting H...
3.57928395271

doing NCMC without prior equilibration
deleting H...
3.55953884125
runtimes (equ,nonequ1,nonequ2) in min.: 0.017088 0.059655 0.059326

I think manually unrolling the loop in the CustomIntegrator might be causing the long kernel compilation times.  I'll see if there is a way to speed this up.

I think manually unrolling the loop in the CustomIntegrator might be causing the long kernel compilation times. I'll see if there is a way to speed this up.

I'm pretty much positive this is the case. I had experimented with up to 4000 ncmc_steps, and the compilation of that CustomIntegrator took a very long time. Now that loops are available in the CustomIntegrator syntax, we should be able to speed this up by not unrolling, no? Basically, we can:
self.beginWhileBlock('i<n_steps')
#do VV step
self.addComputeGlobal('lambda','lambda+1/n_steps')
#do VV step
self.addComputeGlobal('i','i+1')
self.endBlock()

That snippet is a bit rough since I just wrote it from memory of the docs, but maybe something like that would work?

Thanks! I'll fix this tonight unless you get to it first.

Thanks a lot!

wait, is this simple to implement?
Maybe as an exercise, I can try to implement this myself, so you can check whether I was doing it right?

I've just updated perses-dev with the loop scheme suggested by @pgrinaway.  Tests still pass, so I hope I haven't broken anything.
Things are much faster now.  I had already run the test with 1000 NCMC steps once, where there was some kernel compilation overhead (~30 sec) the first time, but subsequent runs seem to use the cached kernel:
[chodera@gpu-2-8 test]$ python test.py
#"Time (ps)" "Temperature (K)"
2.0<PHONE_NUMBER>63
total potential energy after equilibration: -16859.4563622 kJ/mol

doing NCMC with    prior equilibration
deleting H...
9.55056190491

doing NCMC without prior equilibration
deleting H...
9.59217095375

doing NCMC with    prior equilibration
deleting H...
9.56448888779

doing NCMC without prior equilibration
deleting H...
9.57315087318
runtimes (equ,nonequ1,nonequ2) in min.: 0.020515 0.159408 0.159553

We'll continue to make speed improvements, but go ahead and close this isssue @sstolzenberg if this resolves your problem.  If you still have an issue with equilibration, let me know!

Hi there,
Thanks a lot for the update!
Unfortunately, my checks with the "H-in-water" system (see the two files in Archiv.zip to be included in the test folder posted above) show me that even the new NCMC-code in perses is about five times slower than our simple (python-level, based on force field parameter scaling) NCMC implementation:

runtimes (equ,nonequ1,nonequ2,nonequ1a,nonequ2a,dtime_simplenonequ) in min.: 0.071 0.212 0.197 1.283 1.382 0.267

I understand that contrary to our code, perses-NCMC includes soft-core potentials, and I wonder whether its current implementation via Custom(Non)BondedForces is the reason for its suboptimal runtimes - could you please check whether I am mistaken?
Thanks again,
Sebastian

I'll check the runtimes shortly, but it is very possible that the softcore implementation and the CustomIntegrator slows things down considerably. However, if you are inserting Lennard-Jones particles in water for nontrivial systems, I imagine the 5x slowdown will still be much better than the terrible statistics from growing molecules in water without softcore.

Here are the timings I get from just running the code twice on a GTX-680:
runtimes (equ,nonequ1,nonequ2,nonequ1a,nonequ2a,dtime_simplenonequ) in min.: 0.358 0.729 0.162 1.249 1.251 0.401
...
runtimes (equ,nonequ1,nonequ2,nonequ1a,nonequ2a,dtime_simplenonequ) in min.: 0.020 0.158 0.158 1.210 1.212 0.265

However, I notice two things about your code:

Your simple NCMC doesn't actually compute the NCMC acceptance probability, which requires computing initial and final total energy. Adding this computation doesn't seem to slow things down much though:

runtimes (equ,nonequ1,nonequ2,nonequ1a,nonequ2a,dtime_simplenonequ) in min.: 0.020 0.157 0.158 1.213 1.211 0.264

Your simple code is actually swapping NonbondedForce parameters for two sets of particles, which may actually work OK.  I was worried you were creating/destroying particles without softcore, which would have been problematic.  So this approach may be fine---we are testing this too in another codebase involving converting waters into ions.
Your NCMC is not symmetric---you always change the lambda value before taking a step.  You either need to use a symmetric protocol (where you take a step or change lambda at both the beginning and the end) or you need to randomize the order in which propagation/perturbation happens for the NCMC switching scheme.  When you go down to very short NCMC switching times, the error can get very large.

OK, thanks a lot for now!


Documentation Clarification: Do all file-loader options apply?

I've noticed that, for example, the name option seems to be valid, but it's not noted in the url-loader documentation. I guess it's covered under the line The url-loader works like the file-loader, but would it be worth having at least the options documentation included here as well? Rather than just the differences?

@komali2 PR welcome

I'm happy to do a PR, but can you please help me confirm that indeed, all file-loader options are valid in url-loader? It looks to me like yes but I am not the smartest man ;)

/cc @d3viant0ne

Great question @komali2!
url-loader currently (1.0.1) works like this:
If there is no limit option specified, the file is encoded into a data URI.
If a limit option is specified but the size of the file is smaller than the limit, the file is encoded into a data URI as well.
Otherwise, url-loader uses a fallback loader to do the actual work. If no fallback option is specified, file-loader is used.
The fallback loader inherits all of the original options. (This behaviour is under debate: #118 #123.)
So… yes: all file-loader options are valid for url-loader, assuming you are not using a different fallback loader.


any plans to release to maven?

that could really spur usage among java devs . . . the binary download is not so easy to add to a standard java project . . .

Releasing to maven is crucial.
The worst part about the daal.jar that is bundled now is that it doesn't have javadoc. This necessitates workarounds.
Please also include libJavaApi.so in the jar. You can look at JCuda, com.github.fommil.netlib, or JavaCPP for examples how this can be done.
At the least, add a pom.xml to the source code so that it is easy to build and install locally.

Hello almson!

Please also include libJavaApi.so in the jar. You can look at JCuda, com.github.fommil.netlib, or JavaCPP for examples how this can be done.
we cant simple include libJavaApi.so into jar because: this isnt single so which daal jar depend of; daal support 6 platforms (lnx/mac/win + 32bit/64bit), so all binaries somehow needs to be included into jar to continue support of these platforms.
instead of including all kind of binaries into jar, we plan to have 5 separate zip packages. daal users will be needed to download-unpack binaries thru maven-dependency-plugin. exact zip file may be choosed via profiles.

At the least, add a pom.xml to the source code so that it is easy to build and install locally.
I have attached pom.xml to this post. Could you look at it and tell us your opinion
about chosen scheme of daal at maven publishing?

pom.zip
Andrey

Did you look at JCuda or Netlib before coming up with your own method of handling the native libraries?

Hello almson!
thank you for pointing us to jcuda. I have looked at at their implementation and  it looks really better than my proposal (from customers point of view). I need to finish some experiments, but looks like we will use the same approach in DAAL.
Andrey
PS: I considered packaging DAAL binaries into jar (instead of zip), but missed some key details.

Hello almson!
We have published DAAL at maven central today. Repository address is  http://central.maven.org/maven2/com/intel/daal.
To use DAAL in maven projects just add following dependency into .pom file:

com.intel.daal
daal
2019.0.001

Andrey


Update main.tf

Without this Terraform Plan and Apply keeps on failing and execution does not proceed.
Purpose
It create dependency for Terraform Plan and Apply to proceed.
Does this introduce a breaking change?

[ ] Yes
[ x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[x ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test
terraform plan
terraform apply

What to Check
Verify that the following are valid
Yes checked. Without this, code was not getting executed

Thanks @spotakash


Compiler warnings

When including the files into my project, these error messages appear:
Overriding instance method parameter of type 'NSCoder' with implicitly unwrapped optional type 'NSCoder!'
Overriding instance method optional result type 'AnyObject?' with implicitly unwrapped optional type 'AnyObject!'
It was fixed by changing the awakeAfterUserCoder methods signature to:
    public override func awakeAfterUsingCoder(aDecoder: NSCoder) -> AnyObject? {

Can you create a pull request? I'll merge it so you get the contribution.


Substitution of patterns should take into account the length of the target sequence

This is something that I mentioned in the comments in the code, but not sure if it was clearly formulated. Let's imagine we want to find the marker NatMx6, that can appear in different ways: NatMx, NatR or simply Nat.
Clearly, when we substitute we should try the different strings from the longest one (NatMx6) to the shortest one (Nat). The problem comes when we use regular expressions. The regex may be long, but the pattern matched by it shorter, so a simple sorting of the list of terms by length would not work. I guess there is a way to store all possible matches, and keep always the matches that match the longest part of the string? Something to keep in mind
This does not apply to the example from the word document of nat where we want to say we only want to replace nat when it is surrounded by non-letter non-number characters, because it would not match on the longest strings here.

https://github.com/manulera/genestorian_data_refinement/blob/a49a83b320f49ffb6bc1b0d2eaa4224cfa229af5/genestorian_module/genestorian_module/replace_feature.py#L50
This is a clever way of doing it (sort the matches instead of the patterns), like this it will work with regex as well!


Intro to JDO Queries 3/3

@shaimaa-hshalaby we have now two JDO PRs, which one is valid?

the valid one is https://github.com/eugenp/tutorials/pull/2705


Can't get componentInstance property of vnode when using the v-slot directive on a

Version
2.6.11
Reproduction link
https://github.com/Xie-Jay/slot-issue
Steps to reproduce
I show issue by console.
What is expected?
All vnode can get componentInstance property.
What is actually happening?
ComponentInstance property is undefined when using the v-slot directive, but others not.
<slot-test>
  <component-test slot="default" name="slot1"></component-test>
</slot-test>
<slot-test>
  <template slot="default">
    <component-test name="slot2"></component-test>
  </template>
</slot-test>
<slot-test>
  <template v-slot:default>
    <component-test name="slot3"></component-test>
  </template>
</slot-test>

When I use v-slot to replace slot, I get this diffrence which really confuse me.

I'm not sure you are supposed to use componentInstance from the returned vnode. You can still get the component instance through $children[0]

I'm not sure you are supposed to use componentInstance from the returned vnode. You can still get the component instance through $children[0]

It's useful for me to build component that need control components in slot by using componentInstance.
I tried to use $children, it's ok when just one slot.
But more than one, it will be difficult to separate these components in slot by using $children.
In fact, I have no idea except that provide extra prop to distinguish them, because there’s no order guarantee for $children.

@rubys @rubys @rubys @rubys 666


Possible NullReferenceException

https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/Utilities/JavaScriptUtils.cs#L258-L266

It will never be null because of this - https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/Utilities/JavaScriptUtils.cs#L228-L236
I've added an assert to make it clearer - https://github.com/JamesNK/Newtonsoft.Json/commit/f1d721d86920fb1502dd75de9df4fb717f4f1a57


Auto sizing debug hover - hopping vertically if big data

VSCode Version: 1.50.0
OS Version:
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.7.1908 (Core)
Release:        7.7.1908
Codename:       Core

Steps to Reproduce:
When using Auto sizing debug hover newly added in 1.50.0

Open small subsection - OK
When opening big subsection, it will "hop" to top or bottom

Recorded GIF (around 20s time): https://i.imgur.com/46fLsSl.gif

Does this issue occur when all extensions are disabled?: Can't run DotnetCore without extension so I'm not sure

/duplicate #108333


add unwrap_used and expect_used lints

Generally, I like how it looks.
But, probably a proper source branch name would be chore/lint-unwrap-expect-used?

these policies will be discussed in detail tomorrow!


BackupStorageLocation prefix confusion

We recently had a user on Slack who created a backup, had it uploaded to object storage, was able to see it in ark backup get, but the next time ark synced backups from the backup storage location, it deleted the just-created backup so it was no longer visible in ark backup get. The backup continued to exist in object storage.
We discovered that the backup storage location had a configuration like this:
spec:
  objectStorage:
    bucket: <my-bucket-name>/ark-backups/
    prefix: ""
  provider: aws

The user wanted to put the backups in a folder in object storage. Apparently ark was able to create the files in the ark-backups folder, but when it tried to list backups, it didn't find any (and it deleted the backups in the cluster that were not in the bucket). This is because prefix was empty, and ark was looking for backups in the root of the bucket.
We have 2 options I think we can consider:

Validate spec.objectStorage.bucket and disallow any / characters. Continue to require folder specification in spec.objectStorage.prefix
Deprecate and eventually remove spec.objectStorage.prefix and instead only use spec.objectStorage.bucket. If the value contains a /, anything after that is the folder.

Is there a specific use case to have bucket and prefix separately?

We've added more validation and changed the code to be more forgiving with leading/trailing slashes. Closing this issue out. We can always consider combining bucket and prefix down the road if the need resurfaces.


Print colourized, human-readable output from 'analyse'

We have to run analyse in JSON mode to collect the data. But we can also run it in regular mode for some nice output.

https://github.com/redhat-actions/crda/commit/9643b83e6a5b5ad3a2b87b2e774c16d4368f5a13


Vulnerability Disclosure Program?

Customers Version: N/A
What were you trying to do?
I'm trying to determine where your vulnerability disclosure program is for your open-sourced projects on Github.
What did you expect to see?
It would be nice if you had a security.txt file in your repo for white-hat security researchers to know where to submit security bugs.
What did you see?
N/A
How can we reproduce the problem?
N/A

Can you reach out to<EMAIL_ADDRESS>We'll get the OSS projects to clarify the problem. Thanks!

I've reached out to them. Hopefully they can provide more info. Thanks for the help!

Thanks for making a white-hat report! There doesn't seem to be anything here related to the issue I'm going to reply with what I found.
This article talks about how forks can PR and get the generated GITHUB_TOKEN, which isn't great.
https://sites.google.com/securifyinc.com/secblogs/hacking-github-actions
However, this token only has read access during forked PR builds. There's a risk of extra data being leaked, but there doesn't seem to be a full take over possibility. This would be a huge problem for GitHub as thousands of repositories use GITHUB_TOKEN in their Actions jobs.
https://docs.github.com/en/free-pro-team@latest/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token
For PR's from forks no other secrets are presented to that instance.
https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets#using-encrypted-secrets-in-a-workflow

With the exception of GITHUB_TOKEN, secrets are not passed to the runner when a workflow is triggered from a forked repository.

We've verified this with the following PR as well.
See: https://github.com/moov-io/customers/pull/232

Thanks again for the responsible disclosure!


Icon contribution: gift & shopping-bag

Add “gift” icon in core category

Add "shopping-ba" icon in core category.

I'd really like to see a "shopping bag" icon as well!

@daviedR There is already a gift icon, can you remove it from the PR.

With regards to the shopping bag, can you rename the file to shopping-bag-2?

Thanks, @daviedR! But I'm going to close this because we already have a gift and shopping-bag icon


Data gap 2.4.1

Data to fill gap in gcdocs folder

[x] Add data to GIF hub
[x] Document metadata and contacts
[x] Document in change tracker

Minor edit needed: y-axis in bar chart should show Percentage instead of the name of the sub-indicator

Done in https://github.com/sdg-data-canada-odd-donnees/sdg-data-donnees-odd/commit/dab77d0c801f9933b6dba2d21de6b0ad64dace1f


New rule proposal: UseTargetTypedNewExpression

Use C# 9 target-typed new expressions.
Bad
List<int> l = new List<int>();
List<int> l = new List<int> { 1 };
var l = new List<int>();

Good
List<int> l = new();
List<int> l = new() { 1 };

This seems like an unnecessary duplicate of IDE0090 (Simplify new expression), which ships in the .NET SDK and can already be used both in the IDE and from the command line.

Indeed. For some reason this doesn't show up in Rider.


Warning of using PermSize and MaxPermSize when running on Java 8 or above

In dubbo-spring-boot-parent/pom.xml
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
OpenJDK 64-Bit Server VM warning: Ignoring option PermSize; support was removed in 8.0
OpenJDK 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0

<argline>-server -Xms256m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=128m -Dfile.encoding=UTF-8-Djava.net.preferIPv4Stack=true
</argline>

When running on 1.8 or above, we should use Metaspace and MaxMetaspace instead.
A maven profile may be used to implement this.

These arguments will be removed in next release


[Feature Request]: how to label markdown notes or bookmarks

I am wondering Is there any way to label each paragraph/lines of markdown notes or bookmarks?

Hi @vasnt -- would you mind sharing an example markdown note that you're trying to label with some guidelines on the exact output you're looking for?

 This is typical example from notes.
I hope it's clear, if not i can elaborate.
at the end of each URL/Bookmark, i have manually assigned tags/labels/links currently. If AI can do that, then it would be great relief.


'X-B3-TraceId' header value is duplicated in the access log

Hi,
I am using spring-cloud to setup a microservice architecture where http calls are routed through api-gateway to experience API microservices (xp-api) and to capability API microservice (c-api):
api-gatway -> xp-api -> c-api
Netflix Zuul is used for routing & filtering and sleuth is enabled for tracing.
I want to print 'X-B3-TraceId' in the access log for which I am using following properties in application.yml file.
server:
  maxHttpHeaderSize: 65536
  tomcat:
    basedir:
    accesslog:
      enabled: true
      prefix: access
      pattern: '%h %t "%r" %s %b %D "%{Referer}i" "%{User-agent}i" "%{X-B3-TraceId}i"'

In the xp-api access logs, the value of 'X-B3-TraceId' header is duplicated. For e.g. "0ff6b1beb3245e03,0ff6b1beb3245e03". While in c-api, the value appear only once. For e.g. "0ff6b1beb3245e03".
How can we avoid having duplicate values for 'X-B3-TraceId' header in xp-api?

"0ff6b1beb3245e03,0ff6b1beb3245e03"

this means that this is the root span. That's perfectly normal. I would however assume that this entry is present in the api-gateway
BTW which version of Sleuth are you using?

I am expecting only one value in this case. Let 'X-B3-TraceId' and 'X-B3-SpanId' have the same value, but 'X-B3-TraceId' value should not be duplicated. I think this is the best approach.
I am using Sleuth version 1.2.4

I am expecting only one value in this case. Let 'X-B3-TraceId' and 'X-B3-SpanId' have the same value, but 'X-B3-TraceId' value should not be duplicated. I think this is the best approach.

can you type exactly where a concrete value of which traceid /spanid is set? Also can you check if the problem is there with 1.2.5.RELEASE ?

I am not setting TraceId/SpanId explicitly. Sleuth package is automatically giving me the values.
I will test my application with Sleuth version 1.2.5.RELEASE

I am not setting TraceId/SpanId explicitly. Sleuth package is automatically giving me the values.

I wrote :

can you type exactly where a concrete value of which traceid /spanid is set? Also can you check if the problem is there with 1.2.5.RELEASE ?

so I assumed that Sleuth sets it. I'm not asking about the values you set, but the values Sleuth has set

I tried my application with version 1.2.5.RELEASE and 1.3.0.RELEASE. Result is the same.

so I assumed that Sleuth sets it. I'm not asking about the values you set, but the values Sleuth has set

Yes, you are write. The value set by Sleuth vary from request to request (i.e. it's random). I can give you some sample values from the logs. Will that help?

Yes, you are right. Value set by Sleuth vary from request to request (i.e. it's random). I can give you some sample values from the logs. Will that help?

Yes, that will help.

Sample values

"2aa14fcd431138ee,2aa14fcd431138ee"
"ed0d572e03999270,ed0d572e03999270"

Please paste the whole logs. What can i do with these values?

I doubted the same. That's why I explicitly asked about it. But no worries. Please find the logs below:
api-gateway > application logs
xp-api > access log "%{X-B3-TraceId}i" values

"bd810d9443f7bedb,bd810d9443f7bedb"

xp-api > application log
c-api > access log "%{X-B3-TraceId}i" values

"bd810d9443f7bedb"

I remember recently there were issues with having multiple headers added to the outgoing gateway/Zuul request.
See following issues reported:
https://github.com/spring-cloud/spring-cloud-sleuth/issues/755
https://github.com/spring-cloud/spring-cloud-sleuth/issues/586

@shaunthomas999 can you try the latest Edgware release?

BTW I don't understand these logs. ARe you saying that the same value of TraceID got applied to a new request? THat's most likely related to a bug where we didn't reuse a random bean but created a new Random object each time. It got fixed in Edgware for sure (not sure if we've done a Dalston release in the meantime)

@tmack8001 - I will check and see whether Zuul is actually adding the header 2 times. Thanks for your suggestion
@marcingrzejszczak - The issue I raised is for TraceId having double (duplicate) value, not for re-usage of same TraceId.
I will test with Edgware to check whether the issue still exists. If yes, I will create a small application where you can run and see the issue yourself.

@marcingrzejszczak - The issue I raised is for TraceId having double (duplicate) value, not for re-usage of same TraceId.

I think I've already explained it to you that it means that this is a root span. That's a perfectly valid situation


37 CFR 1 - FR correction notice interpreted as modifying non-existent appendix

Dev environment: current master [ b2a4c07 ] + PR #378
To reproduce the warning:
eregs clear
eregs preprocess_notice E7-19326
eregs write_to output

This results in the output:
... regparser.notice.amendments.appendix     Could not find Appendix E7 to part 1
... regparser.notice.xml                     Unable to fetch amendments for docket E7-19326

This warning occurs when processing 72 FR 55055 amendment 1 at regparser/notice/amendments/appendix.py:31.  From what I can tell, the notice is interpreted as amending a non-existent E7 appendix in 37 CFR 1.  The parser appears to be deriving the appendix identifier from the FR document ID (E7-19326).  Can you confirm and recommend an approach here?

Hey @gregoryfoster, looks like this is being triggered by the first AMDPAR in that notice (which isn't rendering properly on the federalregister's site). If you look at the XML, you'll see
<AMDPAR>
In rule FR Doc. E7-16574, August 22, 2007 (72 FR 46899), make the following corrections:
</AMDPAR>

We can pop that into the amdparser to see how it's read:
In [1]: from lxml import etree

In [2]: from regparser.notice.amdparser import parse_amdpar

In [3]: parse_amdpar(etree.fromstring('<AMDPAR>In rule FR Doc. E7-16574, August 22, 2007 (72 FR 46899), make the following corrections:</AMDPAR>'), [])
Out[3]:
(<Element EREGS_INSTRUCTIONS at 0x7fc67d62af88>,
 [None, 'Appendix:E7', '16574'])

You'll notice that the second value (the resulting "context") points to section 16574 of appendix E7 (clearly not correct). If we dig into the amdparser (specifically regparser.grammar.amdpar:appendix_section ->  regparser.grammar.unified:appendix_with_section -> regparser.grammar.atomic.appendix_digit) we can see why. E7 could be an appendix, and 16574 could be a section within an appendix (according to the current rules).
I think the section number is the bit that makes the most sense to twiddle here; let's modify appendix_digit to only accept 1-4 character sections. While I've seen 2-digit appendix sections and can imagine 4-digit ones, 5 seems excessive. We can probably get away with a Regex parser that respects word-boundaries but only allows 1-4 characters. Let us know if that's not enough to get you started!


May be add another context field and use immutable dictionary within.

Some parsers have to have complex context.
For example, C language could not be properly parsed without remembering which types were defined.
It is intriguing to use immutable copy-on-write structure for this context, like immutable dictionary implemented using HAMT .
While concrete data-structure is a choice of end user, support for such immutable state had to be added to Peco type as an additional tuple field, which could be modified with user callback.
Perhaps something like (I use code from #5):
Peco = namedtuple('Peco', 'text pos ok stack state glob')

def to(f):
    n = f.__code__.co_argcount
    kw = f.__code__.co_kwonlyargcount

    if kv == 1:
        def parse(s):
            args, stack = _split(s.stack, n)
            val, state = f(*args, state=s.state)
            return s._replace(stack=Stack(val, stack), state=state)
    else:
        def parse(s):
            args, stack = _split(s.stack, n)
            return s._replace(stack=Stack(f(*args), stack))
    return parse

def when(f):
    n = f.__code__.co_argcount
    kw = f.__code__.co_kwonlyargcount

    if kv == 1:
        def parse(s):
            args, _ = _split(s.stack, n)
            return s._replace(ok=f(*args, state=s.state))
    else:
        def parse(s):
            args, _ = _split(s.stack, n)
            return s._replace(ok=f(*args))
    return parse

Hope frozenmap will be added to language.

In peco there is already a glob dict which can be extended by the user. But I agree that this might not be very easy to do, so I've added keyword arguments to the parse function.

glob dict doesn't preserve Copy-On-Write semantic, it will be tricky to use it to save "context information for already successfully parsed part".


Dropdown is not shown, when allowAdditions is true

This is my code:

            <input class="search" autocomplete="off" tabindex="0">

prompt

                 {return this._onShow(); },
            onAdd: addedKey => this._onAdd(addedKey),
            onRemove: removedKey => this._onRemove(removedKey)
        });

If I remove allowAdditions or set it to false, it will work fine.
If I add allowAdditions : true,   the dropdown will not show by clicking it. But if I enter something with keyboard, the dropdown will be fine. It will show, and if I click it after I typed something, it is also fine.
But if I just click it without typing anyting, nothing will happen.
So how can I fix it?

I found the reason, but still don't know how to fix it.
Actually, the is no item in the dropdown in the begining. The items are added in the onShow callback, and they may come from remote server or from the cache in the browser or from cookies. So I can not use the ability semantic provided.
There is a check, module.can.show(), before showing the dropdown.
module.can.show is like:
    return !module.is.disabled() && (module.has.items() || module.has.message());

When allowAdditions is false, there will be a message:  No results found.

No results found.

So module.has.message() will be true, and the dropdown can be shown.
But when allowAdditions is true, there will be no message.
So module.has.message() is false, and the dropdown will not show.

You can add the results using apiSettings, which allows for custom request fulfillment with responseAsync setting.


Use vgopath for code-generator

What this PR does / why we need it:
Use vgopath to trick code-generator into thinking it was inside a GOPATH file tree.
This allows running make generate when cloning the repository outside of GOPATH, e.g., in GitHub actions.
Also, set GO111MODULE=off to significantly speed up code-generator.

nice :)


Folder naming organization control

Given documented/required folder structure for terraform modules, I would like to make sure that it's fulfilled
We have defined following folder structure for our terraform modules (later deployed by terragrunt jobs):
module_root
│   ├── modules             # (Optional) Local (sub)modules. These modules cannot be referenced by terragrunt.hcl files
│   │   ├── local-module(s) # File structure of the local module is identical to global ones, except that README.md is optional and terraform.yml is not required
│   │   ├── ...
│   ├── CHANGELOG.md        # (Optional, Recommended) Human digestible info on the version change
│   ├── main.tf             # (Mandatory) Main code for the module
│   ├── variables.tf        # (Mandatory) Define all variables in this file. Keep blank in case of no variables are required
│   ├── provider.tf         # (Mandatory) Declare (and configure) all providers, including versioning
│   ├── variables.tf        # (Mandatory) Define all variables in this file. Keep blank in case of no variables are required
│   ├── outputs.tf          # (Mandatory) Define all outputs from the module. Keep blank in case of no variables are required
│   ├── README.md           # (Mandatory) Description of what the module is doing
│   ├── terraform.yaml      # (Mandatory) Helper yaml file, with 3 mandatory fields: description, name and version. This file is used by automated repository tagging job
--
How can I make compliance rules that would check that developer did adhere to the folder structure ?

Hello @miroag,
terraform-compliance supports running specific tests against a terraform plan output. It does neither read/parse any code, nor the directory structure.
Unfortunately, with the current state and the roadmap of the tool, it doesn't look possible with terraform-compliance. I am sorry.

OK, Thanks. Understood


Good First Issue: Radar Chart Customization and Design Tweaks

Good First Issue: Radar Chart Customization and Design Tweaks
Description:
We need help with customizing and improving the design of the radar chart in the Pokedex-v2 project. This is a great opportunity for newcomers to get familiar with our charting library and contribute to enhancing the visual appeal and functionality of the radar chart.
Task Details:

Objective: Customize and refine the radar chart to ensure it has an optimal display and design.
Steps to Complete:

Locate the Radar Chart Component: Find the radar chart implementation in the project. It’s likely in the src/app/components/pokemon-list/pokemon-popup directory.
Review Current Design: Examine the current radar chart to understand its existing design and functionality.
Apply Customizations: Implement design tweaks and customization to improve the radar chart. This may include adjusting colors, labels, scales, or other visual elements.
Test Your Changes: Ensure the radar chart displays correctly and looks good across different screen sizes and devices.

Expected Outcome: The radar chart should have an enhanced visual design and improved customization for better display and usability.

Requirements:

Skills Needed: Basic understanding of JavaScript and CSS. Familiarity with charting libraries (like Chart.js, D3.js, etc.) is a plus.
Tools: Knowledge of Git and GitHub.

Resources:

Radar Chart Component for reference.
Charting Library Documentation if applicable.

How to Get Started:

Fork the Repository: Click the "Fork" button at the top right of the repository page.

Create a Branch: Create a new branch for your changes. For example: git checkout -b radar-chart-customization.
Make Your Changes: Apply the necessary design tweaks and customizations to the radar chart.
Submit a Pull Request: Push your changes and submit a pull request to the main repository.

Additional Notes:

Feel free to ask for help if you have questions or need clarification on the task.
Check out our contributing guidelines for more information on how to contribute.

Labels:

Good First Issue

Hi, was this issue already fixed? I would like to start contributing with open source, and I found out the popup doesn't renders properly in my notebook(1366 x 720px screen). Since the overview-card has a height of 700px, I think it is rendering above my browser window. Below is the representation showing the popup in my screen:

Hi, was this issue already fixed? I would like to start contributing with open source, and I found out the popup doesn't renders properly in my notebook(1366 x 720px screen). Since the overview-card has a height of 700px, I think it is rendering above my browser window. Below is the representation showing the popup in my screen:

Hey,
this issue with the chart isnt fixed.
THe issue what you are facing is a different one. The overall height from the popupcard is fixed to 700px on the desktop view. I didnt testet it on this resolution that you have =) so the css need some refactoring

Great :)
I am going to fork in order to refactor the css(opening a new issue in order to keep this older one), and so will pull request as soon as possible, thanks!
Since I am learning the code, it may take some time, but I intend to add a portuguese translation in the Pokedex as well in the future.


feat: passing tight integration env vars to mapdl

Description
Copy of #3466 so I can merge this into main.
Presumably most of the feedback I'm going to get from #3466 is doc review. So technically speaking, this is fine to merge, and I need it for #3497
Issue linked
Related to #3466
Checklist

[x] I have visited and read Develop PyMAPDL.
[x] I have tested my changes locally
[x] I have added necessary documentation or updated existing documentation.
[x] I have followed the PyMAPDL coding style guidelines.
[x] I have added appropriate unit tests that also ensure the minimal coverage criteria.
[x] I have reviewed my changes before submitting this pull request.
[x] I have linked the issue or issues that are solved to the PR if any.
[x] I have assigned this PR to myself.
[x] I have marked this PR as draft if it is not ready to be reviewed yet.
[x] I have made sure that the title of my PR follows Commit naming conventions (e.g. feat: adding new MAPDL command)

Since we got green light by @koubaa in #3466 ... let's approve this @pyansys-ci-bot LGTM.


LCFS - Add additional choices to the Feedstock and finished fuel Transport mode fuel code option

Describe the task
Edit "Marine" option to "Marine-domestic" and add "Marine-international" as selectable options in the Feedstock Transport Mode column and the finished fuel transport mode of the Fuel Code Input on the IDIR side.
Purpose
To expand the Feedstock Transport Mode and finished fuel transport mode options in the Fuel Code Input section to accommodate additional transport methods for feedstock, ensuring accurate data entry and alignment with real-world scenarios.
Acceptance Criteria

[ ] Edit "Marine" to "Marine-domestic" as an option in the Feedstock Transport Mode column.
[ ] Edit "Marine" to "Marine-domestic" as an option in the Finished Fuel Transport Mode column.
[ ]  Add "Marine-international" as an option in the Feedstock Transport Mode column.
[ ]  Ensure both options are displayed in the dropdown list for the Feedstock Transport Mode column in the Fuel Code Input section on the IDIR side.
[ ]  Test to confirm the new options can be selected and saved correctly.
[ ]  Verify that the changes do not impact other functionality or existing options in the Feedstock Transport Mode column.

Additional context

Hi @areyeslo. Was this issue resolved? I still can't see the domestic/international changes unfortunately:

Let me check, the migration was applied successfully but the changes are not in database. Something weird over there.

For some reason the migration did apply, I had to run again:


MIOpenGEMM changes to support multiple ROCM installation

Versioning is added to the lib so file.
ld.conf entry is updated to a fixed location.

Signed-off-by: Pruthvi Madugundu<EMAIL_ADDRESS>

Please review the updated commit.
Let me know your opinion.


Update JDK Versions for CVE-2022-21449

Do you plan to release updates for the jdk images to include the upstream patches for CVE-2022-21449?
This is would regard all jdk versions greater and equal to 15.
Upstream Advisory: https://openjdk.java.net/groups/vulnerability/advisories/2022-04-19

Yes, see the banner of the website: https://adoptium.net/ Once builds are done, containers will get updated with them.

Awesome, thanks! :)

I can see that you have merged the 17.0.3+7 here, however the images have not shown up in at docker hub here. Either your pipeline needs to push the images to docker hub or you have to manually do it. Do you have any estimation on when this will be done?

@vahidshirvani Not that I know of any ETAs, but you can track the progress here:
https://github.com/adoptium/adoptium/issues/140


incorrect processing of where clause with subqueries

Bug report
System info:
Debian 9 x86_64
InfluxDB 1.3.6-1 from repos.influxdata.com
Steps to reproduce:
Background:
I've time series data from Icinga2 and I want to identify stalled machines, e.g. machines with no updated series since the last 30 days. To achieve this, I select the LAST value for each series, and I wrap this in a subquery. Now, the outer query uses a WHERE clause, but this is somehow "magically" applied to the subquery - which is logically wrong.

Sub Query: select time, hostname, last(value) from ping4 group by hostname

Full Query:
select * from (select time, hostname, last(value) from ping4 group by hostname ) where time < now()-30d

Expected behavior:
The Full Query should reduce the result set from the Sub Query using the WHERE clause, so only outdated series are eturned.
Actual behavior:
Instread, the WHERE clause is applied to the Sub Query, and the result includes all up-to-date series and the LAST value is 30 days old.
In fact, this is the same result as when I move the WHERE clause to the Sub Query:
select * from (select time, hostname, last(value) from ping4 where time < now()-30d group by hostname)

Just wanted to confirm that I'm experiencing the exact same issue, when running a very similar use case. Was surprised to see that the WHERE clause in the main query is actually applied to the subquery. I'm assuming this isn't intentional (or at least does not appear to be documented).
Happy to provide more supporting info if potentially helpful.


KOGITO-1176 DMN kie extended Built-in functions not available by default

Caused by: org.jenkinsci.plugins.workflow.steps.MissingContextVariableException: Required context class hudson.FilePath is missing

Perhaps you forgot to surround the code with a step that provides this, such as: node

	at org.jenkinsci.plugins.workflow.steps.StepDescriptor.checkContextAvailability(StepDescriptor.java:266)

	at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:261)

	... 51 more

Jenkins test again

Caused by: org.jenkinsci.plugins.workflow.steps.MissingContextVariableException: Required context class hudson.FilePath is missing

Perhaps you forgot to surround the code with a step that provides this, such as: node

	at org.jenkinsci.plugins.workflow.steps.StepDescriptor.checkContextAvailability(StepDescriptor.java:266)

	at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:261)

	... 51 more

Jenkins test again


chore: Change notification icon

Fixes #1919

https://github.com/fossasia/open-event-frontend/issues/2475
@ShridharGoel It should close now.


Docs: Bad (404) URLs

When I click on this link:
https://github.com/dwmkerr/sharpshell/blob/master/docs/extensions/propertysheetextension/docs/installing/installing.md
from the the following page:
https://github.com/dwmkerr/sharpshell/blob/master/docs/extensions/propertysheetextension/propertysheetextension.md
(it's down the bottom and labelled as Installing)
I get a 404.

Hey @RichardSharpe, thanks for letting us know.
I noticed, that not only this one, but also other links on this site are dead (404), too.
It's a small fix, as we just need to remove the the "." at the beginning, then they work.
Here's the actual working URL:
https://github.com/dwmkerr/sharpshell/blob/master/docs/installing/installing.md
I'll see if other parts of the docs are having the same problem and will fix them all together.

Also on the Property Sheet Extension page:
https://github.com/dwmkerr/sharpshell/blob/master/docs/extensions/propertysheetextension/propertysheetextension.md
You see the following links under the picture of the properties dialog box:
Creating the Project
Create the DeskBand Interface
Create the DeskBand Server
Install the DeskBand Server
See Also
Of these, the middle three have the wrong names (they seem to have been copy pasted from somewhere else) and they go nowhere.

Hey @RichardSharpe, thanks again for the help. I've made a new branch and added a pull request to work on the docs to fix these urls, see #299.
If you want to help, you can fix them yourself and commit to that same branch/pull-request.
Usually the problem is that the docs were moved and the links have not been edited.
But to fix them, usually it's just deleting the . at the beginning, to make it /docs/whatever (absolute) instead of ./docs/whatever (relative)
Feel free to do that :) Or - like you've done before - list here all places you find so I can fix them later.

Fixed https://github.com/dwmkerr/sharpshell/issues/298#issuecomment-526431561 in #299


About Reverse proxy url

i have my own Reverse proxy,I want to be able to Reverse proxy url to modify,So can I trouble you to support the opening of custom input?thanks

Hi, I'll try to add the support in the upcoming days.
FYI: The reverse proxy was replaced with the working one in version 1.4.3

@fatebugs I'm considering removing the support for unofficial reverse proxy, is there any reason why you'd want to use your own reverse proxy?
Thank you

Because my region is in China, I can only access Chat gpt through an unofficial reverse proxy for my locked zone,Therefore, reverse proxies are very important to me, especially custom reverse proxiesSo please be sure to leave this function behind and add customizable options
---Original---
From: @.>
Date: Sun, Mar 19, 2023 01:58 AM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [carlrobertoh/CodeGPT] About Reverse proxy url (Issue #37)
@fatebugs I'm considering removing the support for unofficial reverse proxy, is there any reason why you'd want to use your own reverse proxy?
Thank you
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Using the official API via proxy isn't an option?
The thing with custom reverse proxies is that there's no easy way for me to track nor debug the issues because each person might have different setup.

Indeed, when you say this, I realized that,it seems that I can access the API through proxy,Thank you for your reply，Sorry for the inconvenience.My English level may not be so good, so there are some words that don't convey my meaning
---Original---
From: @.>
Date: Sun, Mar 19, 2023 17:54 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [carlrobertoh/CodeGPT] About Reverse proxy url (Issue #37)
Using the official API via proxy isn't an option?
The thing with custom reverse proxies is that there's no easy way for me to track nor debug the issues because each person might have different setup.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Happy to help!
If everything seems to be working correctly then please close the ticket, thank you!


Genotype snapshot feature

Cell attaches a data structure called Genotype to each node to allow each node to manage its own state in a decentralized manner.
So if you take any node created by Cell, and query its Genotype you'll get the "blueprint" of the node. For example you create a node like this:
c = {
  $cell: true,
  id: "item",
  $text: "Hello world",
  _update(message) {
    this.$text = message;
  }
}

and query it like this:
console.log(document.querySelector("#item").Genotype)

This is pretty useful for debugging since the Genotype object updates in realtime to keep the state of each node.
However, there's a limitation to the current implementation. Currently Cell wraps all the functions with Nucleus.bind() to make sure each time a function is called it gets added to the Nucleus._queue and the diff logic is triggered when the call stack becomes empty.
This means when I do something like
console.log(document.querySelector("#item").Genotype._update)

it will print the wrapper function that's returned by Nucleus.bind(), not the original function.
Need to find a way to retrieve each function's original form instead of the bound function so it's completely stateless and reusable.

So far have gotten this far https://github.com/intercellular/cell/pull/145
It works, but gonna try to sleep on this and see if it feels right in terms of naming, API, and the overall way it works.


NPM install is missing index.js

When installing via NPM the index.js is missing. #41
And something else:
(I'm rather new with webpack so maybe this is just a mistake on my end.)
Shouldn't the index.js file require the css file? like  so:
require("./dist/angular-bootstrap-lightbox.css");
require('./dist/angular-bootstrap-lightbox');
module.exports = 'angular-bootstrap-lightbox';

Because without this the css doesn't emerge.

@compact Is it possible to bump the version from 0.10.0 to 0.10.1 to fix this issue?

Bumped to 0.11.0, sorry for the wait.
I don't know if the stylesheet should be required, because it'd break if someone isn't using a css loader. Should that be assumed?


v0.0.2 causing jerky gameplay

Just tested this out. It runs the map fine, but the gameplay is very jerky when this plugin is running. As soon as i close it the game starts to run smoothly again.

while i don't have this behavior myself, other people ran into this jerky gameplay with any addon that uses simconnect api to connect to msfs2020. asobo as acknowledged this issue and there is a good chance, for those affected, that a new msfs2020 update will just fix it. without any changes to the addons or in my case vfrmap.
https://www.reddit.com/r/MicrosoftFlightSim/comments/ic6pc0/asobo_has_acknowledged_simconnect_fps_issues/

since v0.0.3, instead of every 100ms, it now fetches data every 200ms (5fps). for those running into the jerky gameplay behavior, this could already help. but its also good to expect this issue being solved for a MSFS2020 update soon.


Feedback Nhu

Hi @adamwang15 ,
This is my initial feedback after reading your research. I have carefully gone through the derivations to the best of my understanding and everything looks great.
Some sample changes I made:

Delete the extra bracket in the matrix form
Added some space in the matrix notation so that it's clarified that it's not multiplication
Added comments in the code that is visible in the report, I was a bit confused about what they do as someone unfamiliar with the model

As for any bugs, I have trouble installing kableExtra and bsvarSIGNs so I couldn't run all the codes but I have looked through all and there seem to be no problems.
Overall, you have written great details about your model. Good luck with the last few sections.

Hi @NhuPham254
Thanks a lot for the feedback and changes!
I believe you can use the following code to install the two packages (and dependency):
install.packages("kableExtra")
install.packages("devtools")
devtools::install_github("bsvars/bsvarSIGNs")

Good luck with your last few sections as well!
Best,
Adam


Add switch / new action in Redux for returning log scale values for confirmed + deaths

This will have implications on the frontend UI code and also the domain itself to return values that are logarithmic in scale.
Every value in a series should be recalculated to use Math.log(1+n) per @jaryaman

Mockup

Fixed.


Security Error - The Specified Package is Invalid

Describe the bug
Please check the error screenshot, i am getting this issue in both power app and flow.
Screenshots
Sharing Error screenshot

Flow Used
Sharing the Flow -
ADORequest_20230724053513.zip

The problem lies with the Admin Privilege. closing this case.


Demo page yields "404" error

via: https://www.agiliq.com/demo/graphos/

could someone else upload a Demo?

@agiliq 👋

It would be really good idea to include screenshots of demos rather than hosting them on an external website. How are things coming on this front @shabda?


Add support for adding wildcards to clause term

Adds an option when creating a query for specifying wildcard matching. Previously there was no provided support for this, which meant that if creating queries programatically the wildcards would have to be manually added, e.g.
var someQueryTerm = "whatever"

idx.query(function (q) {
  q.term(someQueryTerm + "*")
})

Instead this could now be achieved with the following:
var someQueryTerm = "whatever"

idx.query(function (q) {
  q.term(someQueryTerm, { wildcard: lunr.Query.wildcard.TRAILING })
})

This is a bit cleaner as well as handling cases where there is already a trailing wildcard.
Wildcards are controlled by flags which can be combined to add leading and trailing wildcards, e.g.
q.term(someQueryTerm, { wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING })

Questions:

Does this interface provide enough support for adding wildcards when programatically building a query?
Are there any other ways of inserting wildcards that should be support?
Does the interface prevent any extensions in the future (it shouldn't)?

Ugh build failed, tests pass locally, probably an issue with how the test target is executed (there is certainly room for improvement here!)

Part of 2.1.0


R.equals()'s treatment of -0 creates unpleasant corner cases

It seems intentional that R.equals(0, -0) evaluates to false, given that it calls off to a function specifically designed to treat 0, and -0 as unequal:
if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {

I can appreciate that 0 and -0 are not the "same" in the strictest sense of the word, but this can have undesirable consequences in situations where one (doesn't/shouldn't have to) care about the distinction between 0 and -0 and the equality comparison is several layers removed from what one is actually doing.
For (a slightly contrived) example:
const mirrorX = R.evolve({ x: R.negate });

const containsXMirror = (p, ps) => R.contains(mirrorX(p), ps);

const points = [
    { x: -2, y: 3 },
    { x:  5, y: 9 },
    { x:  0, y: 2 }
];

containsXMirror({ x:  2, y: 3 }, points);  // true
containsXMirror({ x: -5, y: 9 }, points);  // true
containsXMirror({ x:  0, y: 2 }, points);  // false

Is there any straightforward way to guard against this, or something that can be done about it?
If R.equals(0, -0) === false really is desired behavior, perhaps R.negate, R.multiply, and R.divide could be made to return 0 when the underlying math operation evaluates to -0? At least that way we could guard against these edge cases by ensuring that we use R.negate, R.multiply, and R.divide instead of the built-in operators.

That, I'm afraid, was done very intentionally.  We try to take serious the idea that
`x` ≍ `y` should imply `f(x)` ≍ `f(y)`

for any f, which would fail (albeit in fairly limited sets of circumstances) if equals conflated these distinguishable numbers.  For instance if f = (x) => 1 / x, and equals(-0, 0), then this would imply equals(Infinity, -Infinty).   We couldn't have that.
So we follow the SameValue algorithm of Object.is rather than the SameValueZero used in many other places.  (See the MDN article for more information.)
Obviously there are work-arounds for this, but they are definitely less convenient.  For instance, in the example above:
const mirrorX = R.evolve({ x: R.negate });
const pointEquals = R.curry((p1, p2) => p1.x === p2.x && p1.y === p2.y);
const containsXMirror = (p, ps) => R.any(pointEquals(mirrorX(p)), ps);

This is the first time in the more than two years since we got rid of containsWith that it seems to have come back to bite us.

In that case, do we want to introduce an operator named differently (perhaps R.valueEquals?) which does not separate 0 and -0? It seems that this may be useful. For example, we ran into this problem when creating a vector library, whose vector equality operator we implemented as such:
    return R.zipWith(R.equals, this.data, other.data).reduce(R.and)

Then we created a unit test that checked if the negation of the zero vector is equal to itself, which makes intuitive sense.

@dionyziz:
Feel free to create a PR for such a function if you find it important.  My feelings are mixed.  This has very rarely come up as an issue.  Is this something that you expect to bite you in production code?  Is your unit test realistic?
And how would you document that function?  Would you say anything more than the equivalent of "like equals except that 0 and -0 compare as equal"?  Would you point out that 1 / n would generate different results?

I would just say that it behaves like the === operator in the
documentation.
On Mon, Jul 22, 2019, 17:57 Scott Sauyet<EMAIL_ADDRESS>wrote:

@dionyziz https://github.com/dionyziz:
Feel free to create a PR for such a function if you find it important. My
feelings are mixed. This has very rarely come up as an issue. Is this
something that you expect to bite you in production code? Is your unit test
realistic?
And how would you document that function? Would you say anything more than
the equivalent of "like equals except that 0 and -0 compare as equal"?
Would you point out that 1 / n would generate different results?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ramda/ramda/issues/2415?email_source=notifications&email_token=AAEE6PAW2JJNW5EAMUTYUKLQAXDGTA5CNFSM4EI2HG62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2QGIKY#issuecomment-513827883,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEE6PCVFR5EENLTI4TCTXLQAXDGTANCNFSM4EI2HG6Q
.

It most definitely does not behave like the === operator though. We have a separate function, R.identical that is much closer than equals is.

@Bradcomp I think you misunderstood. Scott asked "How would you document [the new function that you are proposing]?" And Dionysis replied with "Document it as behaving exactly like ===.
1.5 years after filing this case, I understand the reasoning behind equals behaving the way it does, but I still find it bizarre that Ramda wouldn't include something that performs normal mathematical equality. I would wager that most people performing mathematical operations don't really care what the value of n/m is when m is zero, but they do expect 0 / n and 0 * n to equal the same value for all finite n. These are fundamental principles of mathematics and Ramda seems to place a huge emphasis on an artificial characteristic of floating point representation.

@JLRishe:
What I said earlier is still a very important principle here.  Although we don't achieve it 100% yet, I really don't want to make changes that moves us away from
`x ≍ y` should imply `f(x) ≍ f(y)`

I see this behavior of JS numbers as unfortunate, but as one of the important tradeoffs when trying to represent mathematical objects in code.  We've dealt with this before.  #186 and #672 talked about adding a mathematical modulus operation, different from the remainder one that matches %.  I wouldn't mind doing the same thing here, with something like eqNumber (0, -0) //=>  true or some such, although I still would hate any behavior we could define for eqNumber (NaN, NaN).
Maybe because this has never bitten me, I don't find it a high priority.  If I'm expecting numbers, these days I would probably use the obvious  lambda expression in place of equals, but even if I didn't, I have few experiences with code generating -0, and so I haven't run into any problems with equals.

@CrossEye I just unsuspectedly ran into this and wanted to report this as a bug, only to find that this is by design. Seriously uncool. The problem is not so much with the behavior as such, it is that you don't suspect it.
In any algebraic sense 0 and -0 are the same, no? So the fact that it leads to problems with
`x ≍ y` should imply `f(x) ≍ f(y)`

is unfortunate, but IMO is heavily outweighed by the intuitiveness of equals(0, -0).
I also feel that prioritizing the principle over the practicality violates what Ramda wants to be:

Using Ramda should feel much like just using JavaScript. [...]
We aim for an implementation both clean and elegant, but the API is king. We sacrifice a great deal of implementation elegance for even a slightly cleaner API.

`x ≍ y` should imply `f(x) ≍ f(y)`

is elegant, yes. But API (which I understand to include behavior) is king.

@alexbepple:

The problem is not so much with the behavior as such, it is that you don't suspect it.

Is this something that you think better documentation would help?  If so, do you  have a suggestion?

In any algebraic sense 0 and -0 are the same, no?

I guess it depends on what you mean by "algebraic"  In the general sense, the fact that they have clearly distinguishable reciprocals means that they are different.  If you mean something more like arithmetic, then there are not two distinct values 0 and -0, only a single 0, so the question might not be coherent.

Our decision was not made in a vacuum.  It was heavily influenced by Object.is.  That was added precisely because of the issues in handling 0 and -0 and NaN.
I would not object to a PR that added a mathematical version of equals, although I can't imagine what it would do with NaN.

@CrossEye Please do not muddy the waters here.

In any algebraic sense 0 and -0 are the same, no?

I guess it depends on what you mean by "algebraic"

No, I don't think "it depends". It's a plain mathematical fact that the whole numbers are a ring and form the groups (R, ·) and (R, +) with the binary multiplication and addition operators. 0 is the neutral element of (R, +), and 1 is the neutral element of (R, ·). There is no place in (R, +) for -0. -0 cannot be the result of any addition. It's just a JavaScript quirk without any benefit. I am not a mathematician, please correct me if I am wrong.
As a side note, I find it surprising that in Ramda large parts like Functor, Foldable, Applicative, Traversable, ... are motivated and by category theory and only make sense if one understands category theory (Which itself generalises algebras). On the other hand however, Ramda takes algebraic nonsense like -0 seriously.
What is the target group of Ramda then? 🤔

Adding a note to the documentation of equals or adding a mathematical version of equals wouldn't really solve the problem I raised in my original issue, as the issue I encountered was with contains (which indirectly relies on equals).
The potential solution I suggested back then was to have some of the mathematical functions (multiply, negate, divide) behave more "mathematically" by coercing a -0 result to 0. Other than it being a change from current functionality, is there any reason that would be inconsistent with Ramda's philosophy?

@JLRishe

The potential solution I suggested back then was to have some of the mathematical functions (multiply, negate, divide) behave more "mathematically" by coercing a -0 result to 0.

I doubt anybody expresses their math in code using these functions. -x seems to me clearer than negate(x).
I think equals needs to be patched.

@semmel:

In any algebraic sense 0 and -0 are the same, no?

I guess it depends on what you mean by "algebraic"

No, I don't think "it depends". It's a plain mathematical fact that the whole numbers are a ring and form the groups (R, ·) and (R, +) with the binary multiplication and addition operators. 0 is the neutral element of (R, +), and 1 is the neutral element of (R, ·). There is no place in (R, +) for -0. -0 cannot be the result of any addition. It's just a JavaScript quirk without any benefit. I am not a mathematician, please correct me if I am wrong.

I'm not a mathematician either, although my degrees are in mathematics.  You're absolutely right that it is a quirk with little or no benefit; it's not specific to JS, as the same underlying floating point number system is used in a great number of programming languages.
The problem is that JS numbers do not form a ring (and therefore not a field either), even if we exclude NaN.  They are close, if that even means anything.  But problems with overflow and with 0/-0 mean that they cannot be treated as algebraic structures.  One thing that might make them closer (to a ring at least, although possibly not a field) could be to include +Infinity and -Infinity.
But the JS definition, for some good reasons, make 0 * Infinity return NaN, which means that unless we try to include NaN in our ring/field, we have an issue... and many more issues if we do.
But, if we were to be able to define a field on the JS numbers (or really on IEEE-754 numbers), then it could not conflate 0 and -0 unless it also conflated -Infinity and Infinity.  And that is an extremely weird concept.
@JLRishe:

The potential solution I suggested back then was to have some of the mathematical functions (multiply, negate, divide) behave more "mathematically" by coercing a -0 result to 0.

I can't see this adding much.  First of all, it's likely just papering over the problem.  It doesn't change what happens when you use the native operators.  So
const x = 1 * 0
const y = -1 * 0
Object.is(x, y) //=> false

and suddenly we'd have complaints that Ramda's functions weren't properly doing JS math.
But more importantly, Ramda is meant to work with anybody's functions.  We don't expect you to pass only prop('foo') or path(['foo', 'bar']) or some other application of a Ramda function to groupBy; you can pass anything you want.  If Ramda functions are somehow privileged when used with other functions, the library becomes much less useful.  I would not want to have to say, "oh, your contains will work fine if you change x * y to R.multiply(x, y)!

I'm not dead-set against changing this.  This is a very important principle for Ramda:
x ≍ y should imply f(x) ≍ f(y)
But we will never be able to achieve it entirely.  (Think f = (z) => z === x; then f(x) and f(clone(x)) will be different, even though clone(x) and x are the same.)
Perhaps this should be one of those places where we let it go.  It might match some other parts of the language that we now miss.  (new Map([[-0, 'a'], [0, 'b']]) .size  //=> 1)
But we need to think through the implications very carefully.  This is a fairly subtle change, and might make for subtle bugs.

@CrossEye Thanks for the clarification!

But, if we were to be able to define a field on the JS numbers (or really on IEEE-754 numbers), then it could not conflate 0 and -0 unless it also conflated -Infinity and Infinity. And that is an extremely weird concept.

I am curious; Did you ever use +/-Number.Infinity in a meaningful way? I mean isn’t it better to work with MAX/MIN_SAFE_INTEGER and Number.MAX/MIN_VALUE instead of Number.Infinity?
Should JS not rather throw exceptions instead of returning the errors NaN and Infinity disguised as numbers?
If performing calculations with Number.Infinity makes sense, I stand corrected. Otherwise I‘d favour conflating 0 and -0, if not because of the algebra argument, then because it "feels right".

I am curious; Did you ever use +/-Number.Infinity in a meaningful way? I mean isn’t it better to work with MAX/MIN_SAFE_INTEGER and Number.MAX/MIN_VALUE instead of Number.Infinity?

I only use them the same way that I think might be the only way JS itself really uses them, as the defaults for min or max functions.  They seem much cleaner for that purpose, as a returned ±Infinity has useful information that wouldn't necessarily be included with MAX/MIN_VALUE: namely that the list had no values in it.
This is useful, but it's not enough of a rationale to inform our call on equals.  equals was patterned after Object.is, and maybe that needs to change.  But it makes me quite nervous.  Part of it, I suspect, is that it took a lot of very smart people a lot of patient hours of explanation to make me understand why we couldn't write a conforming Maybe that used null or undefined as a signal for the empty style.  Now that I've internalized that notion (parametricity), it has started to feel like a natural law that must be applied everywhere.  When you start trying to apply laws to your data, you don't want to start adding exceptions to them.  Although it's not one of the Setoid laws, the phrase I keep returning to, x ≍ y should imply f(x) ≍ f(y), feels closely related, and it worries me to intentionally add an exception to it.

With real numbers 0 ≠ -0 even produces values which make sense:
const
cotangent = a => Math.atan(1 / a);
cotangent(-0) / Math.PI // -0.5
cotangent(0) / Math.PI // 0.5

So if cotangent is a pure function,

A pure function is a function that, given the same input, will always return the same output and does not have any observable side effect.

then what does the word same mean in that definition? If same means R.equals(a, b) is true, then R.equals(0, -0) must be false, or cotangent is not pure.
In conclusion I think that w.r.t. -0 and 0, R.equals should remain as it is.
@CrossEye

... we couldn't write a conforming Maybe that used null or undefined as a signal for the empty style.

Indeed, the functor composition: F.map(x => f(g(x)), a) ≡ F.map(f, F.map(g, a)) is broken e.g. with g(x): x => null!
After reading good pieces of Prof. Frisby's Mostly Adequate Guide and recently James Sinclair's (@jrsinclair) nice Introduction to Static Land I was just about to fall into that trap!
Incredible that still today so many tutorials on that topic present hand-waving implementations of algebraic data types. I still think ramda-fantasy did the best job in being lawful, but also approachable for beginners.
Thank you for your (again) very enlightening comments! :gift_heart:

@semmel: That's a great example.  I'm going to have to remember it next time this comes up!