"TypeError: can't compare offset-naive and offset-aware datetimes" when fetching credentials via iam-role

Describe the bug
Calling aws secretsmanager get-secret-value --secret-id MySecret from an EC2 instance using instance role credentials fails with output "can't compare offset-naive and offset-aware datetimes".
Running with --debug appears to show botocore attempting to fetch credentials from the iam-role and validate the expiration date on them.
Expected Behavior
Secret value should be retrieved (or creds retrieved in the scope of botocore's responsibility)
Current Behavior
# aws secretsmanager get-secret-value --secret-id MySecret --debug

2023-11-27 20:25:41,713 - MainThread - awscli.clidriver - DEBUG - CLI version: aws-cli/2.13.7 Python/3.12.0 Linux/6.5.6-300.fc39.aarch64 source/aarch64.fedora.39
2023-11-27 20:25:41,713 - MainThread - awscli.clidriver - DEBUG - Arguments entered to CLI: ['secretsmanager', 'get-secret-value', '--secret-id', 'MySecret', '--debug']
2023-11-27 20:25:41,728 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <function add_s3 at 0xffff8ba9ccc0>
2023-11-27 20:25:41,728 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <function add_ddb at 0xffff8badcb80>
2023-11-27 20:25:41,728 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <bound method BasicCommand.add_command of <class 'awscli.customizations.configure.configure.ConfigureCommand'>>
2023-11-27 20:25:41,728 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <function change_name at 0xffff8bc5ad40>
2023-11-27 20:25:41,728 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <function change_name at 0xffff8bc744a0>
2023-11-27 20:25:41,728 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <function alias_opsworks_cm at 0xffff8ba9f420>
2023-11-27 20:25:41,729 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <function add_history_commands at 0xffff8bb1fb00>
2023-11-27 20:25:41,729 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <bound method BasicCommand.add_command of <class 'awscli.customizations.devcommands.CLIDevCommand'>>
2023-11-27 20:25:41,729 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <function add_waiters at 0xffff8ba9f2e0>
2023-11-27 20:25:41,729 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <bound method AliasSubCommandInjector.on_building_command_table of <awscli.alias.AliasSubCommandInjector object at 0xffff8be986b0>>
2023-11-27 20:25:41,729 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /usr/lib/python3.12/site-packages/awscli/data/cli.json
2023-11-27 20:25:41,731 - MainThread - botocore.hooks - DEBUG - Event top-level-args-parsed: calling handler <function resolve_types at 0xffff8b9ed6c0>
2023-11-27 20:25:41,731 - MainThread - botocore.hooks - DEBUG - Event top-level-args-parsed: calling handler <function no_sign_request at 0xffff8b9ed9e0>
2023-11-27 20:25:41,731 - MainThread - botocore.hooks - DEBUG - Event top-level-args-parsed: calling handler <function resolve_verify_ssl at 0xffff8b9ed940>
2023-11-27 20:25:41,731 - MainThread - botocore.hooks - DEBUG - Event top-level-args-parsed: calling handler <function resolve_cli_read_timeout at 0xffff8b9edb20>
2023-11-27 20:25:41,731 - MainThread - botocore.hooks - DEBUG - Event top-level-args-parsed: calling handler <function resolve_cli_connect_timeout at 0xffff8b9eda80>
2023-11-27 20:25:41,731 - MainThread - botocore.hooks - DEBUG - Event top-level-args-parsed: calling handler <built-in method update of dict object at 0xffff8b94d540>
2023-11-27 20:25:41,732 - MainThread - awscli.clidriver - DEBUG - CLI version: aws-cli/2.13.7 Python/3.12.0 Linux/6.5.6-300.fc39.aarch64 source/aarch64.fedora.39 prompt/off
2023-11-27 20:25:41,732 - MainThread - awscli.clidriver - DEBUG - Arguments entered to CLI: ['secretsmanager', 'get-secret-value', '--secret-id', 'MySecret', '--debug']
2023-11-27 20:25:41,732 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function add_timestamp_parser at 0xffff8ba9d440>
2023-11-27 20:25:41,732 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function register_uri_param_handler at 0xffff8c275c60>
2023-11-27 20:25:41,732 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function add_binary_formatter at 0xffff8b90bec0>
2023-11-27 20:25:41,732 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function no_pager_handler at 0xffff8c3485e0>
2023-11-27 20:25:41,732 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function inject_assume_role_provider_cache at 0xffff8c2898a0>
2023-11-27 20:25:41,734 - MainThread - botocore.utils - DEBUG - IMDS ENDPOINT: http://<IP_ADDRESS>/
2023-11-27 20:25:41,736 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function attach_history_handler at 0xffff8bb1c220>
2023-11-27 20:25:41,736 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function inject_json_file_cache at 0xffff8bad4fe0>
2023-11-27 20:25:41,749 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /usr/lib/python3.12/site-packages/awscli/botocore/data/secretsmanager/2017-10-17/service-2.json
2023-11-27 20:25:41,751 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /usr/lib/python3.12/site-packages/awscli/botocore/data/secretsmanager/2017-10-17/service-2.sdk-extras.json
2023-11-27 20:25:41,752 - MainThread - botocore.hooks - DEBUG - Event building-command-table.secretsmanager: calling handler <function add_waiters at 0xffff8ba9f2e0>
2023-11-27 20:25:41,765 - MainThread - botocore.hooks - DEBUG - Event building-command-table.secretsmanager: calling handler <bound method AliasSubCommandInjector.on_building_command_table of <awscli.alias.AliasSubCommandInjector object at 0xffff8be986b0>>
2023-11-27 20:25:41,766 - MainThread - awscli.clidriver - DEBUG - OrderedDict({'secret-id': <awscli.arguments.CLIArgument object at 0xffff8baaa540>, 'version-id': <awscli.arguments.CLIArgument object at 0xffff8c5cd730>, 'version-stage': <awscli.arguments.CLIArgument object at 0xffff8afe6f30>})
2023-11-27 20:25:41,766 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.secretsmanager.get-secret-value: calling handler <function add_streaming_output_arg at 0xffff8ba9d8a0>
2023-11-27 20:25:41,766 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.secretsmanager.get-secret-value: calling handler <function add_cli_input_json at 0xffff8c28a160>
2023-11-27 20:25:41,766 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.secretsmanager.get-secret-value: calling handler <function add_cli_input_yaml at 0xffff8c28af20>
2023-11-27 20:25:41,766 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.secretsmanager.get-secret-value: calling handler <function unify_paging_params at 0xffff8badd3a0>
2023-11-27 20:25:41,780 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /usr/lib/python3.12/site-packages/awscli/botocore/data/secretsmanager/2017-10-17/paginators-1.json
2023-11-27 20:25:41,780 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.secretsmanager.get-secret-value: calling handler <function add_generate_skeleton at 0xffff8b9bbec0>
2023-11-27 20:25:41,780 - MainThread - botocore.hooks - DEBUG - Event before-building-argument-table-parser.secretsmanager.get-secret-value: calling handler <bound method OverrideRequiredArgsArgument.override_required_args of <awscli.customizations.cliinput.CliInputJSONArgument object at 0xffff8afe6ed0>>
2023-11-27 20:25:41,780 - MainThread - botocore.hooks - DEBUG - Event before-building-argument-table-parser.secretsmanager.get-secret-value: calling handler <bound method OverrideRequiredArgsArgument.override_required_args of <awscli.customizations.cliinput.CliInputYAMLArgument object at 0xffff8afe6ea0>>
2023-11-27 20:25:41,780 - MainThread - botocore.hooks - DEBUG - Event before-building-argument-table-parser.secretsmanager.get-secret-value: calling handler <bound method GenerateCliSkeletonArgument.override_required_args of <awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at 0xffff8afe7290>>
2023-11-27 20:25:41,780 - MainThread - botocore.hooks - DEBUG - Event building-command-table.secretsmanager_get-secret-value: calling handler <function add_waiters at 0xffff8ba9f2e0>
2023-11-27 20:25:41,781 - MainThread - botocore.hooks - DEBUG - Event building-command-table.secretsmanager_get-secret-value: calling handler <bound method AliasSubCommandInjector.on_building_command_table of <awscli.alias.AliasSubCommandInjector object at 0xffff8be986b0>>
2023-11-27 20:25:41,781 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.secretsmanager.get-secret-value.secret-id: calling handler <awscli.paramfile.URIArgumentHandler object at 0xffff8bba02c0>
2023-11-27 20:25:41,781 - MainThread - botocore.hooks - DEBUG - Event process-cli-arg.secretsmanager.get-secret-value: calling handler <awscli.argprocess.ParamShorthandParser object at 0xffff8c57c7d0>
2023-11-27 20:25:41,782 - MainThread - awscli.arguments - DEBUG - Unpacked value of 'MySecret' for parameter "secret_id": 'MySecret'
2023-11-27 20:25:41,782 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.secretsmanager.get-secret-value.version-id: calling handler <awscli.paramfile.URIArgumentHandler object at 0xffff8bba02c0>
2023-11-27 20:25:41,782 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.secretsmanager.get-secret-value.version-stage: calling handler <awscli.paramfile.URIArgumentHandler object at 0xffff8bba02c0>
2023-11-27 20:25:41,782 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.secretsmanager.get-secret-value.cli-input-json: calling handler <awscli.paramfile.URIArgumentHandler object at 0xffff8bba02c0>
2023-11-27 20:25:41,782 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.secretsmanager.get-secret-value.cli-input-yaml: calling handler <awscli.paramfile.URIArgumentHandler object at 0xffff8bba02c0>
2023-11-27 20:25:41,782 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.secretsmanager.get-secret-value.generate-cli-skeleton: calling handler <awscli.paramfile.URIArgumentHandler object at 0xffff8bba02c0>
2023-11-27 20:25:41,782 - MainThread - botocore.hooks - DEBUG - Event calling-command.secretsmanager.get-secret-value: calling handler <bound method CliInputArgument.add_to_call_parameters of <awscli.customizations.cliinput.CliInputJSONArgument object at 0xffff8afe6ed0>>
2023-11-27 20:25:41,782 - MainThread - botocore.hooks - DEBUG - Event calling-command.secretsmanager.get-secret-value: calling handler <bound method CliInputArgument.add_to_call_parameters of <awscli.customizations.cliinput.CliInputYAMLArgument object at 0xffff8afe6ea0>>
2023-11-27 20:25:41,782 - MainThread - botocore.hooks - DEBUG - Event calling-command.secretsmanager.get-secret-value: calling handler <bound method GenerateCliSkeletonArgument.generate_skeleton of <awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at 0xffff8afe7290>>
2023-11-27 20:25:41,782 - MainThread - botocore.utils - DEBUG - IMDS ENDPOINT: http://<IP_ADDRESS>/
2023-11-27 20:25:41,784 - MainThread - urllib3.connectionpool - DEBUG - Starting new HTTP connection (1): <IP_ADDRESS>:80
2023-11-27 20:25:41,785 - MainThread - urllib3.connectionpool - DEBUG - http://<IP_ADDRESS>:80 "PUT /latest/api/token HTTP/1.1" 200 56
2023-11-27 20:25:41,786 - MainThread - urllib3.connectionpool - DEBUG - Resetting dropped connection: <IP_ADDRESS>
2023-11-27 20:25:41,787 - MainThread - urllib3.connectionpool - DEBUG - http://<IP_ADDRESS>:80 "GET /latest/meta-data/placement/availability-zone/ HTTP/1.1" 200 10
2023-11-27 20:25:41,788 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: env
2023-11-27 20:25:41,788 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: assume-role
2023-11-27 20:25:41,788 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: assume-role-with-web-identity
2023-11-27 20:25:41,788 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: sso
2023-11-27 20:25:41,788 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: shared-credentials-file
2023-11-27 20:25:41,788 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: custom-process
2023-11-27 20:25:41,788 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: config-file
2023-11-27 20:25:41,788 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: ec2-credentials-file
2023-11-27 20:25:41,788 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: boto-config
2023-11-27 20:25:41,788 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: container-role
2023-11-27 20:25:41,788 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: iam-role
2023-11-27 20:25:41,789 - MainThread - urllib3.connectionpool - DEBUG - Starting new HTTP connection (1): <IP_ADDRESS>:80
2023-11-27 20:25:41,790 - MainThread - urllib3.connectionpool - DEBUG - http://<IP_ADDRESS>:80 "PUT /latest/api/token HTTP/1.1" 200 56
2023-11-27 20:25:41,790 - MainThread - urllib3.connectionpool - DEBUG - Resetting dropped connection: <IP_ADDRESS>
2023-11-27 20:25:41,791 - MainThread - urllib3.connectionpool - DEBUG - http://<IP_ADDRESS>:80 "GET /latest/meta-data/iam/security-credentials/ HTTP/1.1" 200 11
2023-11-27 20:25:41,792 - MainThread - urllib3.connectionpool - DEBUG - Resetting dropped connection: <IP_ADDRESS>
2023-11-27 20:25:41,793 - MainThread - urllib3.connectionpool - DEBUG - http://<IP_ADDRESS>:80 "GET /latest/meta-data/iam/security-credentials/MyRole HTTP/1.1" 200 1586
2023-11-27 20:25:41,795 - MainThread - awscli.clidriver - DEBUG - Exception caught in main()
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/awscli/clidriver.py", line 460, in main
    return command_table[parsed_args.command](remaining, parsed_args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/awscli/clidriver.py", line 595, in __call__
    return command_table[parsed_args.operation](remaining, parsed_globals)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/awscli/clidriver.py", line 798, in __call__
    return self._operation_caller.invoke(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/awscli/clidriver.py", line 925, in invoke
    client = self._session.create_client(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/awscli/botocore/session.py", line 839, in create_client
    credentials = self.get_credentials()
                  ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/awscli/botocore/session.py", line 445, in get_credentials
    'credential_provider').load_credentials()
                           ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/awscli/botocore/credentials.py", line 1943, in load_credentials
    creds = provider.load()
            ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/awscli/botocore/credentials.py", line 996, in load
    metadata = fetcher.retrieve_iam_role_credentials()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/awscli/botocore/utils.py", line 500, in retrieve_iam_role_credentials
    self._evaluate_expiration(credentials)
  File "/usr/lib/python3.12/site-packages/awscli/botocore/utils.py", line 583, in _evaluate_expiration
    if current_time >= extension_time:
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: can't compare offset-naive and offset-aware datetimes

can't compare offset-naive and offset-aware datetimes

Reproduction Steps
Using Fedora 39 image (ami-0c991a7292a8fd8c4 in us-east-1 for example) on an EC2 instance configured with an instance role permitting secrets access.
dnf update -y
dnf install -y awscli2
aws secretsmanager get-secret-value --secret-id MySecret

Possible Solution
No response
Additional Information/Context
Is this perhaps a packaging issue?
SDK version used
Whichever is packaged with aws-cli/2.13.7
/usr/lib/python3.12/site-packages/awscli/botocore/init.py shows version = '2.0.0dev155' -- although the stack trace references _evaluate_expiration() which doesn't appear in the v2 branch.
Environment details (OS name and version, etc.)
Fedora 39 - Linux 6.5.6-300.fc39.aarch64 #1 SMP PREEMPT_DYNAMIC Fri Oct  6 19:36:57 UTC 2023 aarch64 GNU/Linux

Confirmed the same problem with "aws s3" on fedora cloud 39.

Thanks for reaching out. @chris-palmer99 could you share your debug logs as well (with sensitive info redacted) and steps to reproduce?
@BowlesCR did this issue start occurring after updating to a specific version? You can refer to the CHANGELOG for notes on what changes were introduced in which version. Can you reproduce the issue in environments other than that EC2 instance?
Does the error occur consistently or intermittently? And does it occur across services? If anyone can provide more detailed steps for reproducing this issue, that will help us to investigate further.

A couple of other things to investigate: This issue may be related to datetime changes in Python 3.12, so it would be good to test this in an environment with an earlier supported like Python 3.11. Also are you using anything third-party service such as aws-vault or kiam to get credentials?

After a little more investigation I also raised this as a Fedora bug against awscli2, since that is where it is manifesting itself. That has more information including the stacktrace and reproducer steps. Note that for the reproducer, the contents of the IAM policy are rather irrelevant, as the failure occurs fetching the policy rather than applying it.
https://bugzilla.redhat.com/show_bug.cgi?id=2252782

Thanks @chris-palmer99 for following up. Can you test this using Python 3.11 on FC39? That could help rule out whether this is an issue with the Fedora version or Python version (and how Python 3.12 handles datetime).

I wasn't tracking specific versions, but this started when I moved my deploy from F38 to F39 -- of course there's a whole laundry list of changes there.
No special tools managing the creds -- just using boto's ability to fetch the EC2 instance role via the instance metadata endpoint. That much seems to be working fine, its just choking on the date compare while defensively checking that the creds it got aren't already expired somehow.
I just wrote a test script on the same box that was problematic -- calling boto3 directly from a Python script instead of the awscli wrapper succeeds. F39, Python 3.12.0, boto + botocore 1.33.7 (fun version number) -- so that rules out Python 3.12 itself.
I'm leaning harder into the suspicion of a distro packaging issue -- the Fedora awscli2 package appears to be bundling botocore 2.0.0dev155 (the latest from https://github.com/boto/botocore/tree/v2) which was probably not ready for production use and hasn't been touched in 2 years. This has been the case since at least awscli2-2.11.17-1.fc38.noarch.rpm released in May -- I stopped digging at the earliest version I could find for FC38. Likely date handling has been patched in master/develop (#3003 -- and maybe another one I'm missing because #3004 reverts that) but never backported to the v2 branch.

Hi all - it looks like there have been some updates in the Fedora issue that was opened: https://bugzilla.redhat.com/show_bug.cgi?id=2252782. Can anyone confirm if this issue is resolved now?

Hi all - it looks like there have been some updates in the Fedora issue that was opened: https://bugzilla.redhat.com/show_bug.cgi?id=2252782. Can anyone confirm if this issue is resolved now?

I can confirm this was resolved in Fedora with awscli2.noarch 2.15.1-1.fc39 on 20 Dec.
It also continues to work with awscli2-2.15.2-1.fc39.noarch which has just been pushed to updates.

Working great here too.
Thanks for the triage, and tracking the issue even though it ended up being elsewhere.

Thanks for letting us know! Glad it's working now. I'll go ahead and close this issue.


Make sure LogLevelPresets are being adhered to

LogLevelPreset
Disk Level
System Level
Remote Level

firehose
verbose
verbose
none

develop
none
debug
none

release
none
none
warn

releaseAdvanced
verbose
none
warn

Go over each Destination and make sure that log levels are being adhered to.

This is obsolete and will be covered by #83


Add: pass the click event to beforeDrag handler.

Offer the ability to handle the click event outside the box which is
very important such as using for event.stopPropagation().

Any reason this was reverted?  This is useful to determine the target event and determine whether to skip dragging or not, e.g. when it's a link (the code currently skips inputs and buttons but not 'a' tags).

@mmaday May he has a better solution ?

+1

I have an ui-tree-node with the directive no-drag. I wish to allow manually with the method beforeDrag if it   can move or not the item. I allow the drag if a child element triggers the event. Currently, I can't because I don't receive the origin target.


[Java] RefCnt has gone negative error

Describe the usage question you have. Please include as many useful details as  possible.
Hello!
I have one test suite sending many SQL queries to a local flight server via flight jdbc driver to verify the backend flight producer implementation. The SQL queries are passing if I only run this individual test suite. However, if I run this suite with other various automation tests, the same test suite will fail with  RefCnt has gone negative in getStreamPreparedStatement method.
Could you please help me understand what scenario this RefCnt has gone negative error can happen?  It's weird that I don't see this error if I only run the test suite. Please let me know if you need additional details. Thanks in advance!
Component(s)
Java

It means a buffer has been released too many times.
If you pause in a debugger, you can inspect the state of the allocator/buffer to get a history of release/retain operations and try to see what happened.

Hi @lidavidm, thanks for your reply! The culprit of this issue is that we set initReservation to Long.MaxValue in one of child allocator.
rootAllocator.newChildAllocator("FileWriter", Long.MaxValue, Long.MaxValue)

If I changed the initReservation to 0. I don't see the RefCnt has gone negative error anymore.
I'm still wondering how it relates to the issue. What's the best practice to configure the initReservation parameter? Do we always set it to 0?

Hmm, I'm surprised that worked at all before, since that basically asks the child allocator to reserve Long.MaxValue bytes immediately on creation, which would then make further allocations fail (since there's nothing left to be allocated), unless you only used the child allocator for allocations after that point perhaps.
Without being able to debug the program itself, though, it's hard to say in general. Were there other exceptions? It's quite possible that an allocation failing could have led to a bug where something gets freed twice during cleanup.

I got the stacktrace:
rootAllocator.newChildAllocator(name, Long.MAX_VALUE, Long.MAX_VALUE)
=>
Accountant#parent.allocateBytes(Long.MAX_VALUE)
=>
locallyHeldMemory.addAndGet(Long.MAX_VALUE)
After this point, if we allocate an additional buffer, let's say 64.
Long.MAX_VALUE + 64 will overflow becoming a negative number.
Is it a bug?  it's not supposed to allocate more bytes if Long.MAX_VALUE is already allocated.

It seems child allocator will ask parent allocator do allocation.
I have two child allocators. The first one has Long.MAX_VALUE initReservation, second one has 0 as initReservation.
rootAllocator.newChildAllocator("A", Long.MAX_VALUE, Long.MAX_VALUE)
rootAllocator.newChildAllocator("B", 0, Long.MAX_VALUE)
    if (beyondReservation > 0 && parent != null) {
      // we need to get memory from our parent.
      final long parentRequest = Math.min(beyondReservation, size);
      parentOutcome = parent.allocate(parentRequest, updatePeak, forceAllocation, details);
    }

Yes, the allocators are nested - this is intended.
However if it's not properly accounting for overflow that is indeed a bug.

Thanks @lidavidm , I'm gonna close this thread and raise a bug issue.


2 views are showing on the same page after resuming the app from a URL

When using the back navigation (in the top navigation header) ionic displays two views in the same page. (se image). This only happend when the app get started from a custom url (I'm using the cordova-customurlschema plugin).

Greetings @cmartin81!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

Well never mind. I found a bug in my code. I had 2 resume listeners that tried to change the state.


Wrappers for connection types

Created new package for holding all connections types and wrappers for easier use.
Besides the existing postgres client, these ones were added:

graph-ql: client and wrapper for doing queries and subscriptions
pubsub-goChannel: wrapper for Watermill messaging library using goChannels as messaging engine.

Minor code reordering

Very cool PR!


NaN returned from latent if more than default n_latent used

Not certain how I should be debugging this situation, but I'm getting NaN returned for the latent dimensions I ask for more than the default. What should I be doing in this situation?
My dataset is 1999 genes by 452,991 cells.
I'd be happy to share the loom file if that helps.
 If not, I'd check to make sure the dataset was loaded properly.
How many batches do you have? I'd also try with dispersion='gene'

I've tried 20 latent dims and that worked...but 50 and 75 failed. With and without switching to dispersion to 'gene'
I have 14 batches.
I'm not certain how to check if that data was loaded correctly - I can't figure out how to check the counts data.
In [3]: loom_dataset
Out[3]:
GeneExpressionDataset object with n_cells x nb_genes = 452991 x 1999
    gene_attribute_names: 'gene_names'
    cell_attribute_names: 'organism', 'batch_indices', 'CellID', 'local_vars', 'batch', 'local_means', 'labels', 'cell_type'
    cell_categorical_attribute_names: 'labels', 'batch_indices'
In [4]: loom_dataset[1:10,1:10]
Out[4]: (slice(1, 10, None), slice(1, 10, None))

Or does this mean I've borked my loom dataset? I'm starting with a SparseMatrix in R and using the loomR package to write the loom file.
You can download the loom file yourself here: http://hpc.nih.gov/~mcgaugheyd/counts_hv_labelled.loom

You can use loom_dataset.X to inspect the counts and loom_dataset.batch_indices to make sure this is a 2-d array (column vector) of integer value.
You might also try reducing the learning rate. For example, trainer.train(n_epochs=n_epochs, lr=5e-4).
May I ask why you want to use so many latent dimensions? To some extent our hyper parameters were tuned so that things close to 10 work really well.
Finally, when you call the UnsupervisedTrainer you may want to add n_epochs_kl_warmup=None. This is a subtle point, but the default is 400 epochs meaning scVI is more like an auto encoder and not a variational auto encoder.

Weeeeeell I'm trying lots of different integration methods and that parameter can make a big difference...but if you think that's silly thing to tweak for your method, then I'll listen. You should know best!
So for a large, disparate (all retina cells, but from 14 independent studies across three species, many time points, and with different selection methods (which will generate highly different proportions of retina cell types)) with ~450,000 cells, you would suggest (roughly):

256 hidden layers
1 layer
lr 0.001 or 0.005 or so
100 epochs

Thanks for your help (and if want to take a crack at it the loom file is available with ~250,000 pre-labelled cells across 15 or so cell types).

Also to make certain I'm not begin a total idiot, the idea is that the 10 latent dims (by 450k cells) are being fed into the UMAP to turn it into a two column (UMAP1/2) by 450k cell matrix for plotting, right?

Also to make certain I'm not being a total idiot, the idea is that the 10 latent dims (by 450k cells) are being fed into the UMAP to turn it into a two column (UMAP1/2) by 450k cell matrix for plotting, right?

This is correct.
I would try:
n_hidden=256, n_layers=2, lr=1e-3, n_epochs_kl_warmup=None (option in UnsupervisedTrainer)
The warmup (lack of) and number of layers can help mix the batches better.
I've never run with that many cells before, but I imagine 10 epochs should be sufficient. You can plot the loss history (example in basic tutorial) and check for convergence. Alternatively, you could use early stopping (not sure we have an example in the tutorials but if you're interested I can post some starting point args here).
And just to make sure - dataset.X should contain non-normalized raw UMI counts.
Not sure I'll have time to look at it as I'm traveling, unfortunately.

Thanks for the tips - now it seems that if I increase the hidden layers beyond 128 I get NaN returned. I've tried removing the cells with the fewest and most counts, but that didn't change the NaN results.
Anyways, from previous testing I don't recall going from 128-256 making a substantial difference in performance.
Thanks so much for your help.
(oh and changing data_loader_kwargs={"batch_size":256} doubles the speed / epoch on my dataset)
I'll probably try tweaking the number of HVG (hyper variable genes) to see how that influences the results.

More genes is probably a good idea - and given how many cells you have you can likely use as many genes as possible.

Closing due to inactivity.

FYI, I'm also running into numerical issues as well.

```
  File "/mnt/home/jmorton/venvs/mmvec-torch/bin/mavi", line 7, in
    exec(compile(f.read(), __file__, 'exec'))
  File "/mnt/home/jmorton/software/mavi/scripts/mavi", line 74, in
    mavi()
  File "/mnt/home/jmorton/venvs/mmvec-torch/lib/python3.6/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/mnt/home/jmorton/venvs/mmvec-torch/lib/python3.6/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/mnt/home/jmorton/venvs/mmvec-torch/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/mnt/home/jmorton/venvs/mmvec-torch/lib/python3.6/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/mnt/home/jmorton/venvs/mmvec-torch/lib/python3.6/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/mnt/home/jmorton/software/mavi/scripts/mavi", line 53, in unsupervised
    trainer.train(n_epochs=n_epochs)
  File "/mnt/home/jmorton/software/scVI/scvi/inference/trainer.py", line 177, in train
    self.on_training_loop(tensors_list)
  File "/mnt/home/jmorton/software/scVI/scvi/inference/trainer.py", line 201, in on_training_loop
    self.current_loss = loss = self.loss(*tensors_list)
  File "/mnt/home/jmorton/software/scVI/scvi/inference/inference.py", line 109, in loss
    sample_batch, local_l_mean, local_l_var, batch_index, y
  File "/mnt/home/jmorton/venvs/mmvec-torch/lib/python3.6/site-packages/torch/nn/modules/module.py", line 547, in __call__
    result = self.forward(*input, **kwargs)
  File "/mnt/home/jmorton/software/scVI/scvi/models/vae.py", line 316, in forward
    reconst_loss = self.get_reconstruction_loss(x, px_rate, px_r, px_dropout)
  File "/mnt/home/jmorton/software/scVI/scvi/models/vae.py", line 219, in get_reconstruction_loss
    -NegativeBinomial(mu=px_rate, theta=px_r).log_prob(x).sum(dim=-1)
  File "/mnt/home/jmorton/software/scVI/scvi/models/distributions.py", line 95, in __init__
    super().__init__(validate_args=validate_args)
  File "/mnt/home/jmorton/venvs/mmvec-torch/lib/python3.6/site-packages/torch/distributions/distribution.py", line 36, in __init__
    raise ValueError("The parameter {} has invalid values".format(param))
ValueError: The parameter mu has invalid values
```

I'm guessing that these are numerical issues due to the exponentiation before evaluating the NegativeBinomial.
These lines are very suspicious
https://github.com/YosefLab/scVI/blob/master/scvi/models/modules.py#L270
https://github.com/YosefLab/scVI/blob/master/scvi/models/distributions.py#L46
I don't think that any exponentiation should be required in order to evaluate the log probability of NB / ZINB - it should be possible to only pass in logits to these distributions.
I'll probably tinker with this over the next few days - will submit PR if I can fix these problems.

Ok - there are actually quite a few points that have numerical stability issues.
See my working branch is here: https://github.com/YosefLab/scVI/pull/663
I've been able to run through one of my datasets without numerical issues (still haven't verified the outputs here).

I have been experiencing the same error when using autotune. Is there a recommended solution? If I understand correctly the solution PR https://github.com/YosefLab/scVI/pull/663 is not working yet, right?


Links related to File API in official documents are invalid

Links related to File API in official documents are invalid
When I wanted to view the examples of the File API in the official documentation, I found that the link was invalid.
I would like to ask if there is a new link?
Thank you!

Try these links:
https://mosn.io/layotto/#/zh/start/file/minio
https://mosn.io/layotto/#/zh/design/file/file-design
https://github.com/mosn/layotto/blob/f90a3380b63b78b20672580e201e87118c906134/spec/proto/runtime/v1/runtime.proto#L73


Implement waitid

waitid(2) would be a nice addition, mostly because it's the only way to wait on a pidfd.

Please create a PR.


Add description to gradle to fix build error

Description
Fixing failure at Task ':libs:h3:validateNebulaPom'
Signed-off-by: Vijayan Balasubramanian<EMAIL_ADDRESS>Issues Resolved
Check List

[x] Commits are signed per the DCO using --signoff

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

Codecov Report

Merging #203 (5879643) into main (65907c2) will increase coverage by 0.16%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #203      +/-   ##
============================================
+ Coverage     84.99%   85.16%   +0.16%
- Complexity      376      377       +1
============================================
  Files            52       52
  Lines          1186     1186
  Branches         98       98
============================================
+ Hits           1008     1010       +2
+ Misses          137      135       -2
  Partials         41       41

Impacted Files
Coverage Δ

...earch/geospatial/index/mapper/xypoint/XYPoint.java
74.13% <0.00%> (+3.44%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add several useful features to draw rectangle

Hi!
I'm actively using this app, and found that features I've implemented can be really useful for you:

Ability to easily find drawn rectangle -- using vertical and horizontal lines around it
Ability to insert rectangle coords from tesseract output
Ignoring rectangle (0, 0, 0, 0)

Also, I think its better to name it correctly: Qt Box Editor, but do not use acronym QT -- as it is written here:

Qt is a cross-platform application development framework, but QT (QuickTime) - is an extensible multimedia framework developed by Apple Inc.

thanks

Cool. I'm going to work on this app further. It helps me lot and I'm going to help it too :)
Also there are several bugs I faced. Probably, I'll open issues for it.


Machine gives up too soon with error  - Maximum number of retries(50) exceeded

Using openstack driver created a host. Instance got added in openstack and I was able to login to it successfully. But rancher stopped even before instance creation was complete and did not install agent. Pls. note instance creation in openstack for a image like ubuntu takes about 10 minutes.
Component 	Version
Rancher 	v0.39.0-rc1
Cattle 	v0.95.0
User Interface 	v0.52.0
Rancher Compose 	beta/latest

server log:
time="2015-09-25T22:24:04Z" level=info msg="Cmd slice: [create -d openstack -................................]"
time="2015-09-25T22:24:04Z" level=info msg="stdout: Creating CA: /var/lib/cattle/machine/6e9e9d37-59af-4ecb-b73b-2652223223cb/certs/ca.pem" resourceId: =1ph18
time="2015-09-25T22:24:05Z" level=info msg="stdout: Creating client certificate: /var/lib/cattle/machine/6e9e9d37-59af-4ecb-b73b-2652223223cb/certs/cert.pem" resourceId: =1ph18
time="2015-09-25T22:24:08Z" level=info msg="stdout: Creating machine..." resourceId: =1ph18
time="2015-09-25T22:27:43Z" level=info msg="stderr: Error creating machine: Maximum number of retries (50) exceeded" resourceId=1ph18```

I believe this is just docker-machine giving up, but want to confirm with @wlan0.

It is, and there are no options to change it.  I suppose we could tweak it in rancher/machine.
Where is this OpenStack running that spinning up ubuntu takes 10 minutes?

openstack is running on a host in DO

Just FYI - docker-machine has a new parameter for retry/timeout - https://github.com/docker/machine/issues/1632
We can add this param in UI if API supports it.

The parameter that was introduced into docker-machine is actually called --openstack-active-timeout and is available in the UI. As these options are added into docker-machine, I'll close this issue.


Fix posts.post route not redirecting to 404

closes #6385

redirect to 404 when post is not found
replace replaceRoute calls with replaceWith calls in routes (replaceRoute is only available on controllers)

@kevinkucharczyk thanks! How confident do you feel with writing some acceptance tests for these changes? It would be great to get our test suite examples growing as we want to get to the position where client-side PRs require tests in the same was as the server-side PRs.

I can write some tests for this, no problem :smile:


Unexpected unicode character class in HIR generated without unicode support

What version of regex are you using?
Using regex-syntax 0.7.5.
Describe the bug at a high level.
When generating the HIR for certain regular expressions with unicode support turned off, the resulting HIR may contain Unicode character classes. I'm not sure if this is a bug or the intended behaviour, but the documentation seems to suggest that this is not expected. Specifically, the documentation for hir::Class says:

A character class corresponds to a set of characters. A character is either defined by a Unicode scalar value or a byte. Unicode characters are used by default, while bytes are used when Unicode mode (via the u flag) is disabled.

I assumed that the HIR produced without unicode support will contain character classes of the Class::Bytes variant alone. However this is not the case.
What are the steps to reproduce the behavior?
Consider this example:
use regex_syntax; // 0.7.5

fn main() {
    let mut parser = regex_syntax::ParserBuilder::new()
        .utf8(false)
        .unicode(false)
        .build();

    let hir = parser.parse(r"(a|\xc2\xa0)");

    println!("{:?}", hir);
}

It produces the following output:
Ok(Capture(Capture { index: 1, name: None, sub: Class({'a'..='a', '\u{a0}'..='\u{a0}'}) }))

Here sub is a class of the Class::Unicode variant.
What is the expected behavior?
I was expecting that (a|\xc2\xa0) is represented as an alternation of two literals, not as a Class::Unicode

The magic happens at:
https://github.com/rust-lang/regex/blob/master/regex-syntax/src/hir/mod.rs#L586C1-L597C10
        if let Some(singletons) = singleton_chars(&new) {
            let it = singletons
                .into_iter()
                .map(|ch| ClassUnicodeRange { start: ch, end: ch });
            return Hir::class(Class::Unicode(ClassUnicode::new(it)));
        }
        if let Some(singletons) = singleton_bytes(&new) {
            let it = singletons
                .into_iter()
                .map(|b| ClassBytesRange { start: b, end: b });
            return Hir::class(Class::Bytes(ClassBytes::new(it)));
        }

The alternation is replaced with a character class when all the alternatives are a single unicode character or byte. But this code snippet doesn't take into account whether unicode mode is disabled or not. Is this intended?

Hmmmm, yes, this is quite the predicament. The idea is that there should be a bright dividing line between the HIR's smart constructors and all of the configuration that goes into the translator. I specifically tried to design the constructors to avoid needing to pass in a bunch of little configuration knobs that could easily (IMO) explode to make it more difficult to reason about. The idea is that these sorts of smart constructors would always do valid transformations.
One simplification I did in the most recent release was to change the Literal HIR kind to just be an owned slice of arbitrary bytes. Previously, it could either be a u8 or a char, and the way to construct more than a single-character literal was to combine it with a concatenation. The previous parser had the philosophy of, "always try to use Unicode representation, regardless of whether Unicode mode is enabled or not." For example, using the old regex-debug tool (which in turn uses regex-syntax 0.6):
$ regex-debug hir 'a'
Hir {
    kind: Literal(
        Unicode(
            'a',
        ),
    ),
    info: HirInfo {
        bools: 1537,
    },
}

$ regex-debug hir '(?-u)a'
Hir {
    kind: Literal(
        Unicode(
            'a',
        ),
    ),
    info: HirInfo {
        bools: 1537,
    },
}

Where as the current parser tries to be more faithful to whether Unicode mode is enabled or not.
However, if the current parser had retained the "literal is either Unicode or arbitrary bytes," then an optimization like this could inspect the literal type and not try to go from Unicode to bytes or vice versa. But that information (along with whether Unicode is enabled or not) is erased by the time you get to this point. Erasing information is the point of the HIR, but that does sometimes result in difficult scenarios like this.
There are also other manifestations of this erasure of knowledge. For example, a regex like (?-u:a|b|c) will create a Unicode class even though Unicode mode is disabled. Things can get even weirder, for example, \s|(?-u:[a-z]) gets smushed into a single Unicode class despite the fact that (?-u:[a-z]) has Unicode disabled. Now, these are also arguably bugs with respect to the documented guarantee, but it's likely that they pose less of an issue in practice.
So I guess there are three options.
The first is, as you say, API changes in order to keep this optimization some-how without breaking the documented guarantee that you get a Unicode class only when Unicode mode is enabled. I'm not exactly sure of the nature of the API changes. I'm sure we could brainstorm a simple-but-ugly change. But I think I would want to explore a change that makes Literal carry through whether Unicode mode is enabled or not. Then I think we could fix this optimization to be correct. The problem is that I don't foresee myself having the energy to do this sort of change any time soon.
The second would be to remove the optimization. It's not particularly critical and we could at least keep it for ASCII bytes... It could still flip a byte class to a Unicode class, but it would be limited to ASCII (I believe).
The third would be to keep the optimization and document this in the API docs a wontfix bug or a clarification to the existing phrasing.
I am somewhat inclined towards the third option. It feels somewhat unnecessarily restrictive to limit the smart constructors to "stay in their Unicode lane." That might be somewhat more compelling if we supported something other than UTF-8, but that's already pretty firmly baked into the entire family of regex crates. Another way of looking at this is that it was a mistake on my part to provide the guarantee that the u flag guarantees a Unicode class and the lack of the u flag guarantees a byte class. Namely, part of the knowledge being erased by HIR translation is exactly all of the flags in the regex syntax. So having this one particular flag poke through a subset of the HIR (classes but not literals) does seem a bit weird. And it would be nice to have the flexibility for the smart constructors to build whatever class is appropriate there.

How much does this bug impact you? For regex-automata, this sort of thing doesn't matter because everything just get compiled down to a byte-oriented Thompson NFA. Basically, are you reporting this because you noticed an inconsistency or are you hitting a "real" problem?

In my case it doesn't seem to be that important. It implies that I must implement support for Unicode character classes, but that's something that I had to do anyways because I want to support Unicode regexps in general. Until now I was rejecting unicode regexps, and assuming that Class::Unicode could not be found in the HIR. The assumption seemed correct in practice, until I found the only regexp in my collection that triggers this condition. One in tens of thousands!
So, I support the option of simply changing the documentation to avoid confusion about the offered guarantees.

Perfect. I'm sure you know this, but another path forward would be to compile Unicode classes as an alternation of byte literals at whatever point you convert an Hir into a state machine. (Of course, I only mean to suggest this as a stop-gap. I don't know Yara's implementation details, but it would likely be disastrous to use this strategy for a Thompson NFA.)

I just discovered another gem that could make my life easier: https://docs.rs/regex-syntax/latest/regex_syntax/utf8/index.html
TBH, it looks like half the YARA Rust implementation will be your code: aho-corasick, regex-syntax, memchr. All fundamental pieces.

Yes indeedy. That module is precisely to aide in building byte oriented UTF-8 automata from Unicode classes.
The only other missing piece of the puzzle are optimizations. The regex-automata NFA compiler streams the output of regex-syntax::utf8 into Daciuk's algorithm. The high level entry point for that in the NFA compiler is here:
https://github.com/rust-lang/regex/blob/061ee815ef2c44101dba7b0b124600fcb03c1912/regex-automata/src/nfa/thompson/compiler.rs#L1431-L1444
Are you sure you can't use the NFA compiler while you're at it? :P
I will just add one other thing: I would advise not going down the Unicode route without really good reason. It is an absolute nightmare. It tends to be an abstraction/optimization-busting feature. I realize the pull is basically irresistible, but you've been warned. :-)

I think I'll take the advice and focus on more pressuring matters before going down the Unicode rabbit hole. I have my own Unicode-inflicted scars from the past :-)

I decided on going with option 3 above and just documenting that the u flag doesn't necessarily guarantee anything about which HIR class is used. (I plan to incorporate this into a regex-syntax 0.8 release, although I'm not 100% certain when it will be out.)
There will also be some minor breaking changes to the Ast data type to resolve #1090. I'm not sure if you're using Ast or not though.

I'm not using the Ast type at the moment, I compile regexps directly to Hir.


bufio: small buffer size and Unicode character trigger flush at wrong time

What version of Go are you using (go version)?
go version go1.9.2 windows/amd64
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=D:\gopath
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
What did you do?
https://play.golang.org/p/wR1TryoaVK
Hi there
If create new buffer writer with a size of 3. then write 1byte character and then write 2byte character.
golang trigger flush only the first(1byte) character and put second character in buffer.
I expect flush all 2 characters.
What did you expect to see?
Buffered 0
Buffered 1
Buffered 3
Available 0
writer: "aب"
Buffered 1
Buffered 2
writer: "cd"
What did you see instead?
Buffered 0
Buffered 1
writer: "a"
Buffered 2
Available 1
Buffered 3
writer: "بc"
Buffered 1
writer: "d"

I admit the behavior is a little odd but so is the program. Also, there is no violation here of any contract, as the package does not specify when the writes will occur.
I see no actual problem here. It is a complaint about internal details of a package that is working according to the documented behavior.

I fix it with this change:
https://github.com/ooghry/go/commit/40c953593febd83b0f07c7ea8ae2259a03781aa4

Closing, as this is working as intended. It's a bytes.Buffer, not a runes.Buffer. It is totally unaware of the encoding of things you put inside of it, whether that's UTF-8 or anything else.

Sorry, I too quickly assumed this was about UTF-8 boundaries.

@bradfitz could I push this change https://github.com/ooghry/go/commit/40c953593febd83b0f07c7ea8ae2259a03781aa4 to repository?
(by the following rules in golang.org/doc/contribute.html)

Yes you may. No promises it'd be accepted but that'd be the next step to get a review. Be sure to include a test.

The code in CL 79920 is slightly less efficient than the existing code, and I don't see any reason that the existing code is wrong.  The package doesn't make any promise that the buffering is exact, and indeed even with CL 79920 it remains inexact in that it doesn't break multi-byte runes across buffer boundaries.
Why should we change this?

The old code was over-aggressively flushing on runes that encoded to fewer than 4 bytes. For instance, ASCII rune writes would flush 3 bytes too early.

The code seems to have a special case for ASCII rune writes.  I think the only premature flush is for 2 and 3 byte runes.

@ianlancetaylor, oh, I didn't see that. Gerrit folded that context away and I didn't expand it.
Okay, I've come around to your opinion. This isn't really worth it. Closing.


Not getting url.query in custom parametrised server route

Expected behavior
Got to detail/post-id and see rendered post detail. (server should wait until data is fetched and then return post detail)
Actual behavior
Go to detail/post-id and see spinner then see post detail. (server does not wait until data is fetched and renders spinner client then renders post detail)

Hello!, some questions:
Are you sending url in props ? (I can't see it anywhere)
Does it happens always or only on client side navigation ?

Hey,
what do you mean by Are you sending url in props ? (I can't see it anywhere)?
Client-side gets url in props by default.
Server-side does not get url in first render. It gets url in props in 2nd+ renders.
So what basically happens is:

Go to post detail
Server fails fetching post detail because it does not have the url prop
Server renders loader
Client fetches post detail
When you look at source code you see loading... (loader) not post data

Oh, I'm sorry for not being clear.
The issue is that ComposedComponent is only getting the props inside { ...composedInitialProps } and unless you have url there you're actually not sending url to the component during the execution of getDataFromTree that happens before getInitialProps ends.

Oh cool, I thought about that too but I was not sure if that is the right way to go. Could you please help me to fix the problem?
I changed my detail page component like this:
class DetailPage extends React.Component {

  static getInitialProps = (ctx) => {
    console.log('firing get initial props', ctx)
    return {}
  }

  render() {
    const { data } = this.props

    return (

        {JSON.stringify(data)}

    )
  }
}

const enhance = compose(
  withApollo,
  graphql(queryPostDetail, {
    options: ownProps => ({
      // a: console.log('own props', ownProps),
      variables: {
        id: ownProps.url.query.id,
      },
    }),
  }),
  apolloSpinner(),
  apolloError(),
)

export default enhance(DetailPage)

But when I do this:
console.log('ComposedComponent.getInitialProps ', ComposedComponent.getInitialProps)

It returns undefined.
How do I make the static getInitialProps props work with other HOC? :)

try to add url inside Apollo's getInitialProps, otherwise you'll need to clone statics all the way up to withApollo
like this:
getInitialProps({ query, pathname }) {
  const url = { query, pathname }
  // ... apollo stuff
}

Like this?
    const url = { query: ctx.query, pathName: ctx.pathName }
      let serverState = {
        apollo: {
          data: {},
        },
      }

      let composedInitialProps = {
        url,
      }
      if (ComposedComponent.getInitialProps) {
        composedInitialProps = await ComposedComponent.getInitialProps(ctx)
      }

This seems to work fine now. Thanks a lot. :)

However, do I have to use route masking for client-side router?
        <Link as={'detail/cjdg4ro6z2zfb0154l6jubt89'} href={`/detail?id=cjdg4ro6z2zfb0154l6jubt89`}>
          post
        </Link>

Otherwise it looked like nextjs fetched whole document and I did not see the loader.

the thing there is that Next only knows the page /detail, /detail?id=cjdg4ro6z2zfb0154l6jubt89 is the same page but with a query param but detail/cjdg4ro6z2zfb0154l6jubt89 is a different page for Next.
Basically, you need to send more parameters to <Link> like here or use a lib like next-routes

I have the same problem as you @developer239 but putting
const url = {
  asPath: ctx.asPath,
  pathname: ctx.pathname,
  query: ctx.query,
}
let composedInitialProps = { url }

inside the getInitialProps function in the withData lib HOC doesn't solve my problem.
I have:
export default compose(
  withData,
  withRedux(createStore, mapStateToProps),
  graphql(singleProduct, {
    options: ({ url }) => ({
      variables: {
        seoName: url.query.productSeoName,
        crossSellingLimit: 12
      }
    }),
    props: ({ data: { loading, error, product } }) => ({
      loading,
      error,
      product
    })
  }),
  [...]
)(MyComponent)

but server side I have the
error: TypeError: Cannot read property 'query' of undefined at options
error, so the query is sent by the client.
Did you do anything else to solve your problem?
Thank you,
Matteo

@f2net I believe because of withRedux(createStore, mapStateToProps), you are loosing your props you have to call WrappedComponent.getInitialProps too.

Thank you for your quick answer: sorry, where do I have to make that call?
I am using the withApollo example's withData.
Thank you very much

Can you share your withRedux HOC?

It is from here:
https://github.com/kirill-konshin/next-redux-wrapper

https://github.com/kirill-konshin/next-redux-wrapper/blob/master/src/index.js

@developer239
https://github.com/kirill-konshin/next-redux-wrapper/blob/master/src/index.js

@f2net That is weird. I thought you have your own redux wrapper. This should work as expected. I will look into it later this week. :)

@developer239 Thank you very much!

@developer239 I opened issue 4030, where I posted the results of logging around:
https://github.com/zeit/next.js/issues/4030

Thank you @developer239 !
Your solution was ok, but the url should be placed on composedInitialProps after the
if (ComposedComponent.getInitialProps) {
  composedInitialProps = await ComposedComponent.getInitialProps(ctx)
}

otherwise it would be replaced.

@f2net That is good to know. Thank you :)


README example doesn't build

Window is not in scope on line 11:
   |
11 |    let mut window = Window::new("plasmatest", width, height, WindowOptions::default()).unwrap_or_else(|e| {
   |                     ^^^^^^^^^^^ Use of undeclared type or module `Window`

To fix, just add Window to the imports from minifb:
use minifb::{Key, Scale, WindowOptions, Window};

Also, can remove Scale as well as that's no longer used in the example :)

Thanks! :)


Timeout issue in Google.Apis.Bigquery.v2

When setting a timeout bigger then 100 seconds to a QueryRequest,
If the query takes longer than 100 seconds it will throw a task canceled exception.

It looks like this is the timeout from the HttpClient (see https://github.com/dotnet/corefx/blob/master/src/System.Net.Http/src/System/Net/Http/HttpClient.cs#L17) rather than in the API itself.
You can fetch the HttpClient that the service is using, and set the timeout that way:
service.HttpClient.Timeout = TimeSpan.FromMinutes(10);

(Or set it to match the timeout sent to the API.)
For long-running queries, you might want to create a query job instead, and wait for that to complete.
(As an aside, we have a wrapper API for BigQuery that makes a lot of BigQuery operations simpler - I would recommend using that over the raw REST API where possible.)

The Timeout property of HttpClient is not public.
As far as i know the wrapper API for BigQuery is considered Beta,  so i will not want to risk my site

The Timeout property is public if you're using .NET 4.5 or higher, or a portable platform:
https://msdn.microsoft.com/en-us/library/system.net.http.httpclient.timeout(v=vs.110).aspx
Which version of .NET are you targeting?
(I understand about the prerelease aspect of the wrapper API, but it should work fine. If you try it and have any problems, definitely let me know ASAP...)

I had to add a reference to System.Net.Http, now it works, thanks.
Even though there is a simple workaround , i would still consider this a bug.

Given the way that the APIs are generated, I don't think there's really anything we could do about this. (We could potentially do something in the wrapper API, but that's a different matter.)
As I said before, I'd suggest creating a query job instead anyway, to be honest.

We won't be changing any code for this.
A couple of solutions have already been mentioned.


Can't use version: '2' in rancher-compose for catalog templates

Rancher Version: master 10/20
Steps to Reproduce:

Create a catalog template that uses v2 syntax in both the docker-compose and rancher-compose files.
(Add to top of files
version: '2'
services:)
Try to use that template version

Results: Will not show up.  If I take the v2 syntax out of rancher-compose file it shows up fine.
time="2016-10-21T00:11:31Z" level=error msg="Skipping the template version: version-test-maximumversion/0, error: yaml: unmarshal errors:\n  line 1: cannot unmarshal !!str 2 into model.RancherCompose"
Expected:  Should be able to use v2 in rancher-compose.

Version - 1.2.0-pre4-rc5
Verified fixed


Invalidates view on show() if steps are one

Fixes #194
This makes sure that points are rendered when using show() on a hidden, static torque layer.
@javisantana @iriberri

Yohoooo

Not a big fan of the solution as show is doing something play should take care of.
Please, please, please use an if so it's more clear :pray:

Since the animator doesn't have access to the torque layer --just informs it by throwing events--, putting that call in show() seems the most sensible solution.


[Tooling] CI: Build relevant docker images on a regular basis

Reproduction steps / Feature
Definitely not as part of the CI that's run on PR pushes, but if there's a daily run, we should do this there. Or weekly. Any frequency better than once-per-release would be good.
Relevant docker images:
chip-cert-bins
others?
Platform
other
Platform Version(s)
No response
Type
Manually tested with SDK
(Optional) If manually tested please explain why this is only manually tested
No response
Anything else?
No response

Ideally , if we can create this for every commit and upload it to the docker registry , it would be ideal :)


WIP add cluster backup controller chart CRDs

Signed-off-by: Valentina Birsan<EMAIL_ADDRESS>Task https://github.com/open-cluster-management/backlog/issues/15793
Add the schedulebackups and restore CRDs to this repo
The two CRDs are defined by the cluster backup operator, which is new in 2.4
https://github.com/open-cluster-management/cluster-backup-chart
https://github.com/open-cluster-management/cluster-backup-operator

I am not familiar with this repo enough to know if this is all we need to do for onboarding new CRDs to ACM.
I think we should get someone from the install team to take a look. CC @JakobGray
IE, I don't know how tightly coupled cluster-backup-operator is to the MCH operator. Is there going to be a new appsub and new helmrelease that will be responsible for the deployment of cluster-backup-operator?

thank you @mikeshng ; adding @JakobGray for review
In 2.4 we only provide a chart to install the cluster backup controller ; it is not going to be a backup operator
@jnpacker mentioned that I should open a task to include the backup resources to the hub crd repo, this PR is opened for that reason


Translation outside React Component

Is your feature request related to a problem?
I want to use translation outside React components, inside utils functions and sagas. But, it doesn't seem to work.
Describe the solution you'd like
It would be helpful if we can use "t" outisde components
Describe alternatives you've considered
I tried to use what people do with i18next, but nothing worked.
Additional context
Thank you for your support guys!

You can pass t or i18n into your function as an arg. That would be a safe and a straightforward way of solving this problem.


chore: make in-publish module as a dev. dependency module

Move in-publish node module into the dev dependency section.

@dthree @dragosh My understanding is that the prepublish hook is called when you install the module in any way and that dev deps are only installed when you run npm install vorpal and not when you install it from package.json, so I think it's necessary to have this in dependencies.
It's also an extremely small module with no dependencies of it's own so I am reluctant to move it unless someone can demonstrate it works in all cases as a dev dep. The documentation for this module shows installing it as a regular dep. There is a question about dev dep, but not answered:
https://github.com/iarna/in-publish/issues/6

@scotthovestadt what was this added for?

@dthree Bug - https://github.com/dthree/vorpal/issues/128
For further background - https://github.com/npm/npm/issues/3059
TLDR - NPM calls prepublish hook after install and before publish. Very weird behavior. Common problem that this module solves.

@scotthovestadt thanks for the info, and i agree that it is a weird npm behaviour https://github.com/npm/npm/issues/5154. Why not remove the prepublish hook and create a Makefile and trigger the publish via make publish, in the end only authorized user can publish the module not the end user. You can do a lot more instead of inline "commands in the package.json". You don't even need gulp anymore.
SHELL = bash
BIN = ./node_modules/.bin

# linting & testing
test:
    @$(BIN)/eslint .
    @$(BIN)/mocha --reporter spec
# publishing
# could be more advanced like publishing beta releases
publish: test
    @npm publish

.PHONY: test publish

Don't forget to ignore the Makefile in the .npmignore file
PS: If you want i can create a PR with the Makefile plus adding test coverage on the unit tests.

@dragosh First of all, thank you for your thoughts. I appreciate your contribution to the discussion.
The reason I prefer to use Gulp and the NPM lifecycle for the build process is so that it's easy for other contributors to get involved. Creating a makefile would be unique to this project and someone not familiar with it (or that contributes to a lot of projects, like I do) may forget it.
Using an NPM pre-publish hook it's impossible to forget the publish hook. This module is only a couple lines, I don't personally agree it's a big issue.
Additionally, is the makefile solution cross-platform? I know that @dthree develops on a Windows machine.

Additionally, is the makefile solution cross-platform? I know that @dthree develops on a Windows machine.

Sad, but true.
@dragosh very appreciated, but I have to agree with @scotthovestadt on this one.

sorry for the late reply, @scotthovestadt you're probably right. but keep in mind that this is a tool for prompt commands, adding extra 3rd party dependency to fix an npm issue is not a good idea especially if you don't lock the child dependencies with npm shrinkwrap (https://www.kb.cert.org/vuls/id/319816)
I'm saying this because i'm building a CLI tool for a banking platform application based on the "power of vorpal"  and i have to be careful with all the dependencies and their execution code, plus you don't want the in-publish module be the next left-pad :)
PS: i'm sure @dthree is using http://www.cygwin.com/ or similar, right :) ?
PPS: @dthree @scotthovestadt btw thanks for the hard work on makeing this amazing tool. i'll try to contribute as much as possible.

If it's consolation, the owner of in-publish works for NPM.
I agree the dependency tree needs to be locked down to individual versions.
On Monday, March 28, 2016, Dragos Oancea<EMAIL_ADDRESS>wrote:

sorry for the late reply, @scotthovestadt
https://github.com/scotthovestadt you're probably right. but keep in
mind that this is a tool for prompt commands, adding extra 3rd party
dependency to fix an npm issue is not a good idea especially if you don't
lock the child dependencies with npm shrinkwrap (
https://www.kb.cert.org/vuls/id/319816)
I'm saying this because i'm building a CLI tool for a banking platform
application based on the "power of vorpal" and i have to be careful with
all the dependencies and their execution code, plus you don't want the
in-publish module be the next left-pad :)
PS: i'm sure @dthree https://github.com/dthree is using
http://www.cygwin.com/ or similar, right :) ?
PPS: @dthree https://github.com/dthree @scotthovestadt
https://github.com/scotthovestadt btw thanks for the hard work on
makeing this amazing tool. i'll try to contribute as much as possible.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/dthree/vorpal/pull/139#issuecomment-202299239

Ugh. Welcome to the new norm of the Node world. I really don't want to have these conversations all of the time. One person does something, no mind the 3.8 billlion package downloads last month that weren't malicious.
Yes, we'll remove the ^s from our package.json.


add Kakadu license and usage information

@ucsdlib/developers @ucsdlib/operations  - I heard back from the Kakadu folks, and we're OK to use and test the Kakadu binaries. I've added the license and message for record.

👍

:+1:


Cypress - Support multiple files for pg command

Related to ticket #713

Create API Spec
1.1 authenticates Janis (api owner) to get the user session token
1.2 Check gwa config command to set environment
1.3 Check gwa config command to set token
1.4 creates new namespace
1.5 activates new namespace
1.6 creates a new service account
1.7 publishes a new API for Dev environment to Kong Gateway
1.8 Upload dataset and Product using GWA Apply command
1.9 Associate Namespace to the organization Unit
1.10 Verify the message when no dataset is linked to BCDC
1.11 update the Dataset in BC Data Catalogue to appear the API in the Directory
1.12 publish product to directory
1.13 Create a Test environment
1.14 applies authorization plugin to service published to Kong Gateway
1.15 activate the service for Test environment
1.16 activate the service for Dev environment
1.17 verify status of the services using "gwa status" command
1.18 Applies authorization plugin to kong using gwa pg with multiple config file

Waiting for 'apply-combine-gw' and 'multi-file-pg' branch to be merged to dev


Remove original backers from repo

Can be found at https://crystal-lang.org/sponsors/original-sponsors.html
It caused some confusion for some sponsors. The file was no touched for 4yrs.

didnt realize matz was an original supporter


Enable torch.save() + torch.load() for different map_locations

Closes #158

Thanks, @elcorto! Everything looks good. I'm fine with putting the explanation on the README---currently our docs website is admittedly not very readable.
I'm merging this --- thanks again for your contrib.


Attributes to the user-role relationship (said membership)

From chicchiricco on July 20, 2010 09:21:55
The simple ManyToMany relationship between SyncopeUser and SyncopeRole entities should be extended with the chance of associating any kind of attribute to it.
Original issue: http://code.google.com/p/syncope/issues/detail?id=25

From chicchiricco on July 20, 2010 23:27:27
Status: Started

From chicchiricco on July 21, 2010 04:05:15
This issue was closed by revision r457 .
Status: Fixed


#4 header needed

PMS logs now shows:
May 31, 2022 23:55:04.942 [21072] DEBUG - Request: [<IP_ADDRESS>:54821 (Allowed Network (Subnet))] GET /playlists/55358/items (7 live) Signed-in Token (dane22) (Chrome) / Accept => application/json / Host => <IP_ADDRESS>:32400 / X-Plex-Client-Identifier => 98EECBE2612A / X-Plex-Product => PlexTools / X-Plex-Token => xxxxxxxxxxxxxxxxxxxx

Hey, I'm still seeing the weird line ending discrepancy in there, as well as previous commits that are already in master. You may want to start with a fresh git clone and apply your change on top of that.


Updated old images in docs

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: \ Updated old docker images.
Jira/GitHub Issue numbers (if any): ______________________________
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[X] Successful preview build.
[ ] Code owner review.
[X] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66394c062788c444e91f40eb--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://663d39284db8d3568e2fef5c--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://663d3f12f2230a5dc97e2501--harness-developer.netlify.app


Update to v4

Pull request to get the latest from the upstream branch.

@alanch-ms just a formality to CR. These are changes pulled from upstream. No changes of my own.

👍


remove spurious []

You accidentally broke older template-haskell releases. This patches your patch so that Liyang Hu only has to merge one thing.


Fix issue #4704: Bumpy line on smooth data set.

Fixes #4704 - Bumpy line on smooth data set.

Thanks @jcopperfield


[W6.4f][T09-B2] Goh Zu Wei

Make Command#execute() method abstract

Accepting this PR with minimal review.


Add CI/CD pipelines for backend services

Copy code
As a DevOps engineer
I need to implement CI/CD pipelines for our backend services
So that code changes are automatically built, tested, and deployed
Details and Assumptions
* Pipelines will be set up using a tool like Jenkins or GitHub Actions.

Acceptance Criteria
Given a new code commit to the repository
When the CI/CD pipeline is triggered
Then the code is built, tests are run, and if successful, deployed to the staging environment

Done


No support for "dnom" and "numr"

I think it would make sense to add these in..

Adding these breaks the test...
 1) should not break perf budget

I'm not well versed in testing... and would love to chat about it and your approach to compiling sometime

Thanks so much for the PR!
So basically the performance budget is so I don’t go overboard with adding every OpenType feature class to this module—or, at least, it’s not in the core. In this case, the test just checks if the module is within 1.75kb gzipped so that I ensure I am writing concise CSS.
Could of concerns with this, it looks like that the .sinf class just got copied in a couple of times? I assume that was just a copy paste error.
Also, the .sinf class might not be the best one to base .dnom and .numr on, since the main stuff is actually coming from this. I added comments:
.subs,
.sinf {
   /* If it doesn’t support `font-variant` */
  @supports not (font-variant-position: sub) {
    font-feature-settings: "subs"; /* …use `font-feature-settings` */
    @supports (font-feature-settings: "subs") { /* If it does support that…*/
      font-size: 1em; /* Override the browser defaults for `<sub>` and `<sup>` */
      vertical-align: baseline;
    }
    /* Since Safari lies and says it supports `font-feature-settings`, fix fallback subscript */
    @supports (overflow: -webkit-marquee) and (justify-content: inherit) {
      vertical-align: sub; /* Restore the browser default for `<sub>` and `<sup>` */
      font-size: smaller;
    }
  }
  /* Hopefully none of that is applicable, and we just use `font-variant` */
  font-size: inherit;
  font-variant-position: sub;
}

Does that kind of make sense? I might need to write up a contributing guide that explains that more in depth.

Oops thanks for that.. missed the sinfs..
I'll make a revision... I hope it helps.

I couldn't find a font-variant for dnom or numr... so i think the new revision is the only solution.

I'm not setting
font-size: 1em; /* Override the browser defaults for `<sub>` and `<sup>`  ...etc*/

because the class doesn't have to be used with tags

Okay, thanks. If you delete the .sinf duplicates and push it to this branch, I will take a look at merging the other stuff.
Can you elabourate or open a separate issue for the 1em thing? Thanks!

right!.. working on an example and confirming faked dnom and numr.
in the case of 1em for subs and sinf:
If the intention is to override  and  then I would prefer the 1em targeting only those tags. In this case the 1em is conflicting my div that has .sinf and forcing it to be smaller than the rest. (ex. because the less specific definition is to set it at 2em)

Another thing that might be worth considering is finding a solution for removing lineheight changes for the false fallbacks.
In the meantime linehight: 0; works

I think I've set the fake heights appropriately.. but its difficult to say I have a agreed upon solution for the .numr—since I can't find a good definition online.
Type design aside—the numr is dependent on the placement of the dnom.. and the highest we can set it is v-align super... so unless we want to adding in top or some other sort of placement thats the best we can do.

https://jsfiddle.net/w9jtrvtn/1/

Hey thanks for taking time to revise that. I iterated on that and I think this should work, which should be the same result as what you had, but should compile a bit smaller:
.sinf,
.dnom,
.numr {
  @supports (font-feature-settings: "sinf"), (font-feature-settings: "dnom"), (font-feature-settings: "numr") {
    font-variant-position: normal;
    vertical-align: baseline;
  }
  /* Since Safari lies and says it supports `font-feature-settings`, fix fallback subscript */
  @supports (overflow: -webkit-marquee) and (justify-content: inherit) {
    vertical-align: sub;
    font-size: smaller;
  }
}

.sinf {
  font-feature-settings: "sinf";
}

.dnom {
  font-feature-settings: "dnom" 1;
}

.numr {
  font-feature-settings: "numr" 1;
}

…unfortunately, that is causing me problems with Sass now, because they still have a bug parsing comma-separated queries or something. I will have to take a look at that.
That said, I took a closer look at the OpenType spec and it has this part:

UI suggestion: This feature should normally be called by an application when the user applies the frac feature.

Source (I’m sure you checked that too, just trying to understand it better.)
In this library, the CSS classes are the UI / API. So I’m wondering if .frac is sufficient? I’m thinking that’s probably why there isn’t a font-variant-* property for numr or dnom. Do you have a usecase where .frac won’t work?

I think there is a use case...
Not to get too creative but showing the dnom in a type specimen is a simple enough case. Alternatively I could see people using a series of dnom or numr to style math equations.

Plus I think frac only supports a very limited amount of combinations, dnom and numr are there for when frac falls short


Circular dependency on docker-compose pull

In a fresh repo and performing:
docker-compose pull
I get:

ERROR: Circular dependency between letsencrypt and nginx and sentry-web and sentry-cron

docker-compose version 1.9.0, build 2585387
Docker version 17.05.0-ce-rc3, build 90d35ab

I wonder if it's the link between nginx -> sentry_web, if you're still experiencing this -- can you remove that dependency and see if it stops complaining?
eyeballing the dependency chain, it does seem reasonable though.


Add new version field to GitHub API requests

In a recent blog post GitHub announced a new API versioning scheme.
TL;DR - we should add: X-GitHub-Api-Version: 2022-11-28 to all REST API calls. In the future when new versions of the API are released, we can evaluate if we want to bump to that new version.

It looks like recent versions of the gh cli will automatically add this HTTP header for us. Presumably the CLI will also know which version of an API to use for a given command once GitHub supports multiple versions of the API.
Therefore I think we should strongly consider using the gh CLI (instead of e.g. curl) everywhere we make GitHub API requests.
Example CLI request:
❯ DEBUG=api gh auth status
[ ... request headers ... ]

< HTTP/2.0 200 OK
[ ... response headers ... ]
< X-Github-Api-Version-Selected: 2022-11-28
[ ... ]

As a first step, I think there is no reason we should not use gh instead of curl inside of actions. It is easier to use and is generally available in all images that actions run on.
We can push out the conversation of using gh in scripts that run on local workstations as well as in CI, as that would require users to install gh which would be a breaking change in the UX.


Add FunkinLua "removeHScript" function

following the same functionality as "removeLuaScript"
Tested using my own mod (Vs.Karie()):

Although it doesn't print the name of the script(I still haven't figured out), it works.

oh, looks like I made a duplicate of https://github.com/ShadowMario/FNF-PsychEngine/pull/13582


V12 Support

cannot currently install in Foundry V12. will this be supported on the V12 release?

Would love v12 support

+1

I found that if I edit the module (in the module list, right-click and choose "edit") and set the maximum version to 12, it seems to work fine for me.

I'd also like v12 support

I love using this module and would love for it to support v12 and DnD5e 3.3.1 as well.

Thanks a bunch for the update. :)


Kakao integration with Firebase Authentication

KakaoTalk messenger, which is serviced by Kakao Corp., is a dominant messenger platform in South Korea and also globally expanding. We not only do messenger but also provide an API platform with a variety of APIs that eases user login, management, content sharing, etc
Recently, we are receiving lots of requests for Firebase integration with our Kakao Login API. Many companies and developers, who already own applications with Kakao Login API, are considering firebase as their platform choice for its merits.
It would be wonderful if an example app for integrating Kakao Login API with FIrebase Authentication is provided here for them to refer to.
Signed-off-by: Hara Kang<EMAIL_ADDRESS>

@samtstern When can this be reviewed? :)

@CoderSpinoza sorry I totally missed this until your reminder!  Will take a look.

@nicolasgarnier can you review the JavaScript parts.
@CoderSpinoza bonus points if you make the NodeJS server into a Cloud Function!  Then this would be even easier to deploy:
https://firebase.google.com/docs/functions/

@samtstern Thanks for your detailed reviews :) I have fixed everything you mentioned. Coud you review again please?
@nicolasgarnier Could you also review the node.js part? I will also look into Cloud function!

@CoderSpinoza approved.  I will let @nicolasgarnier merge after his last comment is resolved.

@samtstern @nicolasgarnier I resolved the issue in the last comment. Could you consider merging? :)
There are several other issues I want to work on:

Cloud functions integration
iOS client
Web client

Thanks for helping :)

Done and thanks so much for this :)


Extended exceptions logic

Hello,
We have a small update regarding the Exceptions logic, which has been adjusted for various scenarios. For example, when 'origin' returns 'File not found', we now return the corresponding Exception based on the HTTP status code (404), etc.
Kind regards

Many thanks @VBrilyak for this fantastic PR! The custom exception logic is both much needed and incredibly useful.
Can you fix the failing Unit Tests and the linting errors ? if not I'll be happy to checkout your branch and fix them.
Thanks!


After importing fonts and adding them to the library, an error occurred when saving as SVG images

COM object that has been separated from its underlying RCW cannot be used.
   at System.Runtime.InteropServices.McgMarshal.GetInterface(__ComObject, RuntimeTypeHandle) + 0xfe
   at __Interop.ComCallHelpers.Call(__ComObject, RuntimeTypeHandle, Int32, Void*) + 0x3a
   at __Interop.ForwardComStubs.Stub_3[TThis, TResult](__ComObject, Int32) + 0x37
   at CharacterMap.Views.FontMapView.<FontMapView_Loaded>b__30_0(Object, AppNotificationMessage) + 0x20
   at CharacterMap!<BaseAddress>+0x436e8e
   at Microsoft.Toolkit.Mvvm.Messaging.WeakReferenceMessenger.Send[TMessage, TToken](TMessage, TToken) + 0x29d
   at Microsoft.Toolkit.Mvvm.Messaging.IMessengerExtensions.Send[TMessage](IMessenger, TMessage) + 0x3f
   at CharacterMap.ViewModels.FontMapViewModel.<SaveSvgAsync>d__169.MoveNext() + 0x29f
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x21
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task) + 0x70
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task) + 0x38
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task) + 0x17
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult() + 0xb
   at CharacterMap.ViewModels.FontMapViewModel.<<-ctor>b__148_1>d.MoveNext() + 0x8c
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x21
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__7_0(Object) + 0x1e
   at System.Action`1.Invoke(T) + 0x28
   at System.Threading.WinRTSynchronizationContext.Invoker.InvokeCore() + 0x33

OS Version: 10.0.17763.316
OS Architecture: X64
App Version: 2<IP_ADDRESS>
App Culture: zh-CN

After restarting the application, it returns to normal.


Add default values to all lastValueFrom, in case Subscription complet…

As described here https://github.com/stoqey/ib/issues/124, when a Subscription completes without emitting any value, the lastValueFrom call will throw an Error, because there is no value to resolve the Promise.
To fix this, all lastValueFrom call got a default value now, in case the underlying Subscription completes w/o emitting any value.

Gotcha, approved


CTA clean-up

Closes #138

Removed all redundant variants of the CTA atom. Now only the link one remains.
Tidied up other link-related CSS to get rid of some redundant overrides
Fixed a minor SASS formatting issue that was being flagged by the linter
Updated some patterns to include the CTA pattern so that lineage links appear under pattern info

Overall Approach

[x] The code is written with a content-first and mobile-first approach.
[x] The code has been tested across the major desktop browsers (Chrome, Firefox, Edge, Safari) and mobile browsers (Chrome, Samsung Internet, Safari) to work consistently.
[x] The code should degrade gracefully on older browsers (please provide an example on how this is the case).

Files
JSON

[x] Variables are not passed to patterns, unless the pattern requires so.
[x] All variables are used and defined in the main _data.json file.
[x] Overridden variables appear mostly in pages.

Patterns/templates

[x] The patterns are devoid of any actual copy, the copy belongs to JSON files (see above).
[x] The patterns follow the 10 principles of inclusive web design which Gravity adheres to.
[x] The patterns have been tested within their intended use and in isolation
[x] The patterns should be styled context-free (see above), e.g. no vertical margins should be set, the container should take care of that.

SASS

[x] The SASS (and related pattern files) follow the naming conventions, architecture and structure outlined in the documentation.

Other (images)

[x] The images have been added to Gravity only if specifically needed, otherwise they should belong to PatternLab itself (there are some live examples in the code base).
[x] Documentation for any new feature and functionality has been added.
[x] The CHANGELOG.md has been updated.

@danbull Muchas gracias! :-)


PolyLine Geometry Type SUpport

Hi, im using ur library, then, when Polyline geometryType is supported?

Polyline support version 2.0.1


Add callback support for knob framework

Adding functionality for application writers to add a callback when initializing the knobs.
This callback will be triggered when:

The value of the knob is changed with SetValue(), this includes when commandline flags are parsed
The knob is changed in the UI

Intended use cases for this callback are for immediate actions, for example adjusting the value of another knob (to prevent invalid state of multiple dependent knobs).

I wonder if a valueUpdated flag, and a Ack() to clear the flag is more useful than callback.
Having callbacks in the middle of the rendering loop is a bit awkward (i.e. can't re-create any resources).

I wonder if a valueUpdated flag, and a Ack() to clear the flag is more useful than callback. Having callbacks in the middle of the rendering loop is a bit awkward (i.e. can't re-create any resources).

Yes, for this reason I'd be more in favor of the GetValue() pattern. Since most of our usage will be to change resources/rendering options, hence we'd need to do that at a specific time.


Improvements for requirements.sh

Remove the bit that modifies /etc/sysconfig/docker. The ansible installer handles this automatically.

Consider installing NetworkManager after starting docker. I saw some errors when NetworkManager is installed when docker is not running. These probably are not serious, but installing NetworkManager later may be safer.

Remove the installation of Ansible and cloning the openshift-ansible repository. These are not needed for a node unless you want to run the the Ansible installer from it (e.g a master node)

Here is an example I created:
#!/bin/bash

# Exit immediately if a command exits with a non-zero status
set -e

sudo yum -y install wget git net-tools bind-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct
sudo yum -y update
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo sed -i -e "s/^enabled=1/enabled=0/" /etc/yum.repos.d/epel.repo

sudo yum -y install docker-1.12.6
sudo systemctl enable docker
sudo systemctl start docker

sudo yum -y install NetworkManager
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager

Fixed with #5
Order of NetworkManager and docker should really not matter, probably some other problem? But I changed order anyway :-)


Added some missing colors, a few other words, and abbreviations

Added green, yellow, orange, purple, cyan, fire, magma, lava, wizard, wizards, wizard's, twisted, pvp, pve, 24/7

Looks good!


Add as moderator option does not work reliably, moderator page and GUID entry in settings affected.

Operating System (OS and version): Ubuntu 14.04
OpenBazaar version (shown on About OpenBazaar page in menu): 1.1.6.deb file
Hardware: HP 4gb ram mini pc
Reproducible (Always / Almost Always / Sometimes / Rarely / Couldn't Reproduce): Sporadic, two users have reported the issue affecting a total of two moderators.
Preconditions:
Both mods online and have moderation enabled.
Steps to reproduce:
1a.
Observed Behavior:
a. Button changes color lightly as being selected and turns into the little clock and stays there. UI does not update to "following" and stays on the clock. Manual updated of page shows the option "add as moderator" but pressing the button again, which now make the button go to the selected color and stays on "add as moderator"
b. Moderator does not show in selected. page update also shows nothing else.
Expected Behavior:
a. Button changes to "Following"
b. moderator is shown in settings.

I confirm this bug, my node can not get chosen as moderator by 2 other nodes and I can not add a new moderator by clicking the button or by manually adding the GUID, but by choosing from the moderator list.

Can you paste the addresses to your nodes?
So far I have been unable to replicate this issue. It may be specific to your nodes or your server setup.

I'm seeing this as well.

API returns success:true but it is not added to the list of moderators.

I'm able to add justintime as a moderator normally.
You're sure you're on the latest master for the server and client?

I am on the latest server and client and I can't, as said, add a moderator (only by selecting from the list) or get added by others.

I can confirm that it's not possible to add c485bd9861dd2e9f896c21bae5af868abca55eff
(@tyggrr) as a moderator.
The guid is sent correctly to the API, but the server doesn't add it, and the GET call to settings doesn't have that user as a new moderator.
Other guids work normally.
This appears to be a server issue, I'm moving it to that repo.

Issue moved to OpenBazaar/OpenBazaar-Server #448 via ZenHub


Trying to download something with 0 results causes server error

Add fix for downloads with 0 hits causing a server crash.

fixed with #512


backport: backend, model: remove calls to trivial super().init() methods

These are unsafe, according to mypy:
error: Call to abstract method "__init__" of "DataSpecificationContent" with trivial body via super() is unsafe  [safe-super]

This is a backport of #261.

I'll squash these commits, if you don't mind?


⚠ BCR Bot has degraded performance

In 16f0413, BCR Bot (https://bcr.alternativasinteligentes.com/BCRApi/web/chatbot) experienced degraded performance:

HTTP code: 200
Response time: 1508 ms

Resolved: BCR Bot performance has improved in 55ec2d3.


added truncate table support

it only supports truncating a foreign table. truncate options are not supported, silently ignored.

Thank you for implementing this! We really would like to have support for TRUNCATE, because without it, we can't refresh a table without breaking grants, views and functions referring to it. I hope to see this in a release build soon!

@mtuncer The important points of my review feedback is applied. I re-tested it, and it's a :ship:
(btw, I'll open an issue on concurrent COPY & DROP & TRUNCATE scenario as we talked in person)


feat(lib): support cjson.array_mt when encoding

See: https://github.com/openresty/lua-cjson?tab=readme-ov-file#array_mt
KAG-5172

Close for no activity. Reopen if necessary.


Documentation_on_Simpson's_Rule

Description 📜
Added the documentation on Simpson's Rule with examples and code. Included graph as well
Fixes #5670

Type of change 📝

[x] Doc#umentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] DS#A

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@nimisha-yadav i have changed the directory to 2.2 Searching and Sorting Algorithms. pls review and merge.


feat(message-input): DLT-1912 add slot for split button

feat(message-input): DLT-1912 add slot for split button
Obligatory GIF (super important!)

:hammer_and_wrench: Type Of Change

These types will increment the version number on release:

[x] Feature

:book: Jira Ticket
https://dialpad.atlassian.net/browse/DLT-1912

:book: Description
Add a slot that will be used on the product side to display a split button instead of a button.

:bulb: Context
On the product side, we have a page that needs to have a split button instead of a button on the news input. To achieve this goal, we should have a slot so we can add it when needed.
Designs: https://www.figma.com/design/PZ8VMSupLJtdE9kb74K61K/[DP-86884]-Bulk-SMS%2FMMS?node-id=5945-155374&t=zvkFWohTgJ7K9yth-0

Manually re-running the preview.. getting this intermittent error again:
the offset is lower than the number of bytes written. The server has 0 bytes and while 10 bytes has been uploaded - thus 10 bytes are missing. Stopping as this could result in data loss. Initiate a new upload to continue.

Could we rename it to something more specific like sendButton?

done! thank you. Let's see if previews run now 🙏🏽


Allow Bond.Attribute on enum fields

can define something like
enum Results
{
[Bond.Attribute("pass","true")]
pass =0,
[Bond.Attribute("pass","false")]
retry =1,
}

This appears to be a duplicate of https://github.com/microsoft/bond/issues/138, "Add support for Bond attributes on enum values". If you are interested in contributing this functionality, please take a look at that issue and write up a design proposal.
Thanks.


Update fetchGit

fetchgitPrivate was deprecated in nixpkgs master.
This change drops support for sha256 integrity checking for git dependencies.
The unused sha256 is noted in the Cargo.nix generation template.  The integrity
check is only relevant to fetchCrateGit.

Template change was tested by re-generating a Cargo.nix with git deps
Overlay change was tested by patching the overlay to build a project with git deps
Changes to fetchCrateAlternativeRegistryExpensive have not been tested but are broken as is

Fixes #108

Considering that this pull request has been open for about a month and has grown out of date with master, and we need this fix to be merged in sooner rather than later, I think we should cherry pick this commit into a new pull request which includes the necessary alternative registry fixes and a notice in the README regarding the caveats of builtins.fetchGit.
Thank you so much for reporting the issue and doing the brunt of the work, @macs-overdrv! ❤

Closed in favor of #113.


Translation

Would it be possible to provide an English translation of the paper as well as the presentation? Thank you.

I have translated the slides in English.
Will do the paper later...

Translation of the paper is halfway done: I did not translate the appendices yet. Still in my TODO list...

Appendices are now translated.


There is no way of hiding an activity from players.

I wish I could create an activity and keep it hidden until it is the right time to reveal it to the players. As the module runs now, twhenever you previously prepare activities, they get spoiled to the players.

I'm intrigued as to the use case you have in mind here. Can you elaborate how an activity would be secret before hand? I'll look into implementing this in the mean time.

I can think of some examples of this need:

You might have a roll for some book or item your players haven't discovered yet and you don't want to spoil it
You might have a table that's not finished and you want it to be useable only after completion
You might have a gathering roll to simulate a Monster Hunter/Dauntless mechanic for a boss you don't want to spoil