Building Qaterial on Mac for IOS

I have a question regarding building the library for Qt 5.15.12 (builds fine for android and windows within QtCreator)
CMake Error at /Applications/Qt/5.15.12/ios/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:91 (message):
Library not found: MobileCoreServices
Call Stack (most recent call first):
/Applications/Qt/5.15.12/ios/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:263 (_qt5_Core_process_prl_file)
/Applications/Qt/5.15.12/ios/lib/cmake/Qt5/Qt5Config.cmake:28 (find_package)
CMakeLists.txt:96 (find_package)
Can you please give advice? The Components I've created for my App look so great and this would be really amazing to have the planned UI update.

Hello again,
After digging deeper I've found your ios.platform.cmake and included it in my local repository. With this changes and setting the correct cmake options the project configures.
When I now want to build I run into following error:
WriteAuxiliaryFile /Users/TedvG/Documents/Qt/Qaterial/build/Qt_5_15_12_for_iOS/qml/Qaterial/Qaterial.build/Release-iphoneos/QaterialComponents.build/Script-B99CB982058E168055D83A7E.sh (in target 'QaterialComponents' from project 'Qaterial')
    cd /Users/TedvG/Documents/Qt/Qaterial
    write-file /Users/TedvG/Documents/Qt/Qaterial/build/Qt_5_15_12_for_iOS/qml/Qaterial/Qaterial.build/Release-iphoneos/QaterialComponents.build/Script-B99CB982058E168055D83A7E.sh

PhaseScriptExecution Generate\ qml/Qaterial/qrc_Qaterial.o /Users/TedvG/Documents/Qt/Qaterial/build/Qt_5_15_12_for_iOS/qml/Qaterial/Qaterial.build/Release-iphoneos/QaterialComponents.build/Script-B99CB982058E168055D83A7E.sh (in target 'QaterialComponents' from project 'Qaterial')
    cd /Users/TedvG/Documents/Qt/Qaterial
    /bin/sh -c /Users/TedvG/Documents/Qt/Qaterial/build/Qt_5_15_12_for_iOS/qml/Qaterial/Qaterial.build/Release-iphoneos/QaterialComponents.build/Script-B99CB982058E168055D83A7E.sh
Unable to open temporary file /Users/TedvG/Documents/Qt/Qaterial/build/Qt_5_15_12_for_iOS/qml/Qaterial/qrc_Qaterial.o for reading: Unknown error
Command PhaseScriptExecution failed with a nonzero exit code

The file qrc_Qaterial.o is generated but it has a size of 0 bytes. I tried to execute the shell script on my own also with a failure. Please help me :)

You should have a look at https://github.com/OlivierLDff/QaterialGallery as a starting point

When I set the options for cmake exactly as described i get same result. Why rcc generates a 0 byte file? Is there any kind of typo? Should it be qrc_Qaterialtemp.o? This file is generated with 112kb also the Qaterial.qrc is existing.

I have an idea:
In the shell script rcc is called to work with /Users/TedvG/Documents/Qt/Qaterial/build/qml/Qaterial/Qaterial.build/Release/rcc_object_Qaterial.build/Objects-normal/arm64/qrc_Qaterialtmp.o
But this file is not existing in the ../Release/.. folder. It is exisiting in ../Release-iphoneos/.. folder. Where can I change this path to only Release?

You can have a look at https://cmake.org/cmake/help/latest/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY.html but i doubt it's the issue. Have you tried using legacy build system? Using -DCMAKE_XCODE_BUILD_SYSTEM=1?

Renaming the folder containing the files needed by the shell script to '.../Release-iphoneos/..." solved the issue for me. I will try your answer. Seems to be a problem with https://man.archlinux.org/man/cmake-policies.7.en.
I've updated cmake to v3.25.2 but this did not solve the issue. I will try your suggestion.
My current cmake call for configuration is:
 cmake -DCMAKE_PREFIX_PATH=$QT_IOS_DIR -DDEPLOYMENT_TARGET=12.0 -DCMAKE_TOOLCHAIN_FILE=../cmake/ios.toolchain.cmake -DPLATFORM=OS64 -DENABLE_BITCODE=FALSE -G "Xcode" .

Setting the flag did not help. Renaming the folder again helped. The combination of $(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) is not properly recognized for Qaterial components qrc handling.
For info:
cmake -DCMAKE_PREFIX_PATH=$QT_IOS_DIR -DDEPLOYMENT_TARGET=12.0 -DCMAKE_TOOLCHAIN_FILE=../cmake/ios.toolchain.cmake -DPLATFORM=OS64 -DENABLE_BITCODE=FALSE -DCMAKE_XCODE_BUILD_SYSTEM=1 -G "Xcode" ..
-- Enabling ARC support by default. ENABLE_ARC not provided!
-- Hiding symbols visibility by default. ENABLE_VISIBILITY not provided!
-- Using NON-strict compiler checks by default. ENABLE_STRICT_TRY_COMPILE not provided!
-- Using C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
-- Using CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
-- Using libtool: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool
-- Not setting any manual command-line buildflags, since Xcode is selected as generator.
-- Configuring iphoneos build for platform: OS64, architecture(s): arm64
-- Using SDK: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.2.sdk
-- Autoconf target triple: aarch64-apple-ios
-- Using minimum deployment version: 12.0 (SDK version: 16.2)
-- Merging integrated CMake 3.14+ iOS,tvOS,watchOS,macOS toolchain(s) with this toolchain!
-- Using Xcode version: 14.2
-- Using a data_ptr size of: 8
-- Using install_name_tool: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool
-- Disabling bitcode support.
-- Enabling ARC support.
-- Hiding symbols (-fvisibility=hidden).
-- Using libtool: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool
-- The CXX compiler identification is AppleClang <IP_ADDRESS>00029
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- ------ Qaterial Configuration ------
-- QATERIAL_PROJECT                : Qaterial
-- QATERIAL_TARGET                 : Qaterial
-- QATERIAL_VERSION                : 1.4.6
-- QATERIAL_VERSION_TAG_HEX        : 0x82dbbc6
-- QATERIAL_BUILD_SHARED           : OFF
-- QATERIAL_FOLDER_PREFIX          : Qaterial
-- QATERIAL_ENABLE_PCH             : ON
-- QATERIAL_ENABLE_UNITY_BUILD     : ON
-- QATERIAL_ENABLE_HIGHDPIFIX      : ON
-- QATERIAL_ENABLE_ICONS           : ON
-- QATERIAL_ICONS                  : *.svg
-- QATERIAL_ENABLE_ROBOTO          : ON
-- QATERIAL_ENABLE_ROBOTOMONO      : ON
-- QATERIAL_ENABLE_LATO            : ON
-- QATERIAL_ENABLE_TESTS           : OFF
-- QATERIAL_ENABLE_INSTALL         : ON
-- ------ Qaterial End Configuration ------
-- Fetch Roboto Medium/Regular
-- Download Roboto-Medium.ttf from https://github.com/OlivierLDff/fonts/raw/0cdadf80ac5f29f10a73c29ce1f4f1ca75ffb392/apache/roboto/static/Roboto-Medium.ttf
-- Roboto-Medium.ttf size is 149380 bytes
-- Download Roboto-Regular.ttf from https://github.com/OlivierLDff/fonts/raw/0cdadf80ac5f29f10a73c29ce1f4f1ca75ffb392/apache/roboto/static/Roboto-Regular.ttf
-- Roboto-Regular.ttf size is 149272 bytes
-- Fetch RobotoMono Regular
-- Download RobotoMono-Regular.ttf from https://github.com/OlivierLDff/fonts/raw/0cdadf80ac5f29f10a73c29ce1f4f1ca75ffb392/apache/robotomono/static/RobotoMono-Regular.ttf
-- RobotoMono-Regular.ttf size is 125588 bytes
-- Fetch Lato Regular
-- Download Lato-Regular.ttf from https://github.com/OlivierLDff/fonts/raw/0cdadf80ac5f29f10a73c29ce1f4f1ca75ffb392/ofl/lato//Lato-Regular.ttf
-- Lato-Regular.ttf size is 75136 bytes
-- Generate QaterialFonts.qrc
-- Download MaterialDesignIcons from https://github.com/OlivierLDff/MaterialDesignSvgo
-- Generate QaterialIcons.qrc
-- Generate Qaterial.qrc
-- Download MaterialDesignIcons from https://github.com/OlivierLDff/MaterialDesignSvgo
-- Generate Qaterial/Icons.hpp
--
-- Versions:
--   Qaterial       : 1.4.6
--   QOlm           : 3.2.0
--   Qt             : 5.15.12
--
-- Targets:
--   QaterialComponents : cmake --build . --target QaterialComponents --config Release -j8
--   QaterialIcons      : cmake --build . --target QaterialIcons --config Release -j8
--   QaterialFonts      : cmake --build . --target QaterialFonts --config Release -j8
--   Qaterial           : cmake --build . --target Qaterial --config Release -j8
--
-- Install to "/users/TedvG/Documents/Qt/Qaterial/install/ios/Release":
--   Install            : cmake --install . [--prefix <install-dir>]
--
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/TedvG/Documents/Qt/Qaterial/build


Image build errors are not reported

Currently errors in image building are not reported which may result in using the old image without anyone noticing.
I set up a broken Dockerfile which results in:
Notice: /Stage[main]/Do_sleep/Docker::Image[do_sleep]/Exec[docker build -t do_sleep - < /opt/do_sleep/Dockerfile]/returns: executed successfully
but when I call it manually:
$ docker build -t do_sleep - < /opt/do_sleep/Dockerfile ; echo $?
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM unknownImage
Error parsing reference: "unknownImage" is not a valid repository/tag
1

This is obviously because of the returns value in
exec { $image_install:
      unless      => $image_find,
      environment => 'HOME=/root',
      path        => ['/bin', '/usr/bin'],
      timeout     => 0,
      returns     => ['0', '1'],
      require     => File['/usr/local/bin/update_docker_image.sh'],
    }

But I don't know why the return value 1 is tolerated here. Seems to have a reason.

This docker::image test demonstrates the problem:
      it 'should abort on build errors' do
        pp=<<-EOS
          class { 'docker':}

          docker::image { 'ubuntu_with_file':
            docker_file => "/root/Dockerfile",
            require     => Class['docker'],
          }

          file { '/root/Dockerfile':
            ensure  => present,
            content => "FROM something_not_existing",
            before  => Docker::Image['ubuntu_with_file'],
          }
        EOS

        apply_manifest(pp, :expect_failures => true)

      end

Removing the returns value makes this test work

@danielpanteleit This looks like it was addressed in https://github.com/garethr/garethr-docker/commit/4b88998a4b2ea5adec1a2a0243ea47a35a4accb3 but hasn't yet been released.


Adds in-browser demo of Ion parsing using ion-js

Note that ion-bundle.js was simply copied from amzn/ion-js for the time being.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Would you want to use ion-bundle.min.js instead of ion-bundle.js? It is approximately half the size.

Is there a reason why you're not using an ion-js text writer to write the output?

Why yes, several reasons:  ;)

didn't realize there was one
the stale ion-bundle.js I was working with didn't have the code
I can't get clobs to work with it (a relatively minor issue at this time)
most relevant:  using the pretty text writer limits future use cases for the widget (e.g., correlating text and binary representations via dynamic highlighting)

I propose sticking with the current approach.

What's the ideal longer-term strategy for consuming ion-bundle.js? Submodule, or something else?

At some point, I'd suggest we update the ion-docs build to pull it from the JS public package manager.

Would you want to use ion-bundle.min.js instead of ion-bundle.js? It is approximately half the size.

Yes, good idea.  Figured out how to build ion-js, and have switched to the latest ion-bundle.min.js.


Remove quarkus-artemis-bom from bom-test

Describe the feature here
Quarlus-artemis-bom is part of the quarkus-bom, therefore:

Imported quarkus-artemis-bom (https://github.com/apache/camel-quarkus/blob/main/poms/bom-test/pom.xml#L58-L64) should be removed from the ``bom-test.
Should be replaced with quarkus-artemis-core where version is synced to artemis-bom (becaose of https://github.com/jboss-fuse/camel-quarkus/commit/d6df1c8ea396906935fdcc16d3fae3fd80bd6bc5#diff-e90395d00913473ae3d46edf4bed7169b7f74eef6057d8658e3b59c1278058f3R51)

Well, I think we need to keep it in the upstream since quarkus-artemis is only used in the integration-tests.

I agree closing the issue


Generate sitemap.xml for crawlers

Can be done via https://sphinx-sitemap.readthedocs.io/en/latest/index.html for sphinx with translations.

Please refer #223 .


Fix sending a message without all receiver public keys

I had to change all the return types to enable telling the client which proxy he can't send stuff to.
The Response code I used is not really intended for such a case but it seemed resonable.
The description says:
The HTTP 424 Failed Dependency client error response code indicates that the method could not be performed on the resource because the requested action depended on another action, and that action failed.

Beam is not only used for federated queries via Lens. I would argue for strong guarantees within Beam itself. So if Beam.Proxy knows it cannot deliver to at least one recipient, it should say so and issue a corresponding response. @TKussel , your stance?


makefile needs working on

devkitpro seems to think that it needs a .elf file right here Scratch3ds-master/releases/scratch3ds.elf
it may just be on my end tho i added a post in testers for somebody to make it
(realized the reason i couldnt make anything before was i put the directories wrong :) lol)

fixed it


zig: commonify & bootstrap

Description of changes
This is the first step towards my goal of being able to bootstrap LLVM in Nix with Zig. A couple things this PR does is commonify Zig to make handling future updates simpler, I've been meaning to do this for a while. This PR also implements the bootstrap derivations for Zig.

Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

The CI is considered not correct on unused arguments in this case, as noted in https://github.com/NixOS/nixpkgs/issues/331085.

zig.passthru.stdenv works better now.

The terminology you are searching for "commonify" is, more precisely, factor out common terms.

Adds a new CODEOWNER, blocked on review by current owner. @figsoda , got a chance to block, unblock, or recommend alternative?

The PR to upstream the Meson changes needed needs some attention: https://github.com/mesonbuild/meson/pull/13515

needs some attention

Done

Upstream PR to meson was merged.

No further objections from me, but should probably be reviewed by somebody who knows about zig too.

@infinisil Can the nix-owners action request the team and not the individuals? That would make the context for why I'm getting requested much clearer.

@mweinelt Not easily: https://github.com/NixOS/nixpkgs/blob/25e734dcbe90ede3d2212a410283439462b0ee64/ci/request-reviews/get-reviewers.sh#L70-L75

The security team is now getting requested for all code-owner changes. That is much too noisy.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 331011

x86_64-linux

:x: 15 packages failed to build:

backlight-auto
blackshades
colorstorm
cyber
dt
findup
linuxwave
pkgsZig.stdenv
zig_0_10
zig_0_10.doc
zig_0_11
zig_0_11.doc
zig_0_9
zig_0_9.doc
zon2nix

:white_check_mark: 28 packages built:

arocc (aroccPackages.latest)
aroccPackages.latest-unwrapped
aroccStdenv
cargo-lambda
cargo-zigbuild
clipbuzz
emacsPackages.zig-mode
glsl_analyzer
ly
mepo
minizign
ncdu
pkgsArocc.stdenv
poop
river
river.man
rivercarro
superhtml
waylock
wayprompt
zf
zig (zig_0_13)
zig.doc (zig_0_13.doc)
zigStdenv
zig_0_12
zig_0_12.doc
zls
ztags

I've figured out that Zig 0.9 and 0.10 have the postBuild hook wrong. Will fix tonight and move from staging to master.

we can soon remove 0.9 https://github.com/benbusby/colorstorm/pull/15

zig 0.10 is also unused after https://github.com/NixOS/nixpkgs/pull/365116


getting INVALID_DATA response onCreateInteractionChoiceSetResponse

Bug Report
Failing to create a custom menu as it is giving INVALID_DATA response.
To create a custom menu, i followed the guide given here: https://smartdevicelink.com/en/guides/android/displaying-information/menus/
OS & Version Information

Android Version: 7.1.2
SDL Android Version: 4.3
Testing Against: ford's sync3 emulator

Test Case, Sample Code, and / or Example App
https://github.com/rahulk11/hello_sdl_android

@rahulk11 I took a look at the forked code and I don't see that you are creating a PerformInteraction after creating the choice set. (the code below the choice set stuff on that guide page). Please read through the entire document and in the future paste the exact code or a gist of the code that is failing. I am closing as this is not an issue with the library. For help, take a look at our slack channel: http://slack.smartdevicelink.com

@brettywhite yes i didn't create a PerformInteraction because that is needed only if CreateInteractionChoiceSet executes successfully. BTW, i also have tried it with PerformInteraction with no success

@brettywhite i would request you to please open this issue again

@rahulk11 this is not an issue in the library. There is an issue with your code. You do not set the VR commands for each of the Choice objects which is a required parameter for the message. The guide is missing this information, but the details can be found in the RPC spec.
    Choice choice1 = new Choice();
    choice1.setChoiceID(uniqueChoiceID++);
    choice1.setMenuName("chapter 1");

    //Add this line
    choice1.setVrCommands(Arrays.asList("chapter 1" ));

To explain the bug: This is my method to create custom menu
private void sendInteractionChoiceSet() {

        CreateInteractionChoiceSet choiceSet = new CreateInteractionChoiceSet();

        Choice choice1 = new Choice();
        choice1.setChoiceID(uniqueChoiceID++);
        choice1.setMenuName("chapter 1");

        Choice choice2 = new Choice();
        choice2.setChoiceID(uniqueChoiceID++);
        choice2.setMenuName("chapter 2");

        List<Choice> choiceList = new ArrayList<>();
        choiceList.add(choice1);
        choiceList.add(choice2);

        choiceSet.setChoiceSet(choiceList);
        choiceSet.setInteractionChoiceSetID(uniqueIntChoiceSetID);
        choiceSet.setCorrelationID(CorrelationIdGenerator.generateId());
        choiceSet.setOnRPCResponseListener(new OnRPCResponseListener() {
            @Override
            public void onResponse(int correlationId, RPCResponse response) {
                if (((CreateInteractionChoiceSetResponse) response).getSuccess()) {
                    Log.i("SdlService", "The request was successful, now send the SDLPerformInteraction RPC");
                } else {
                    Log.i("SdlService", "The request was unsuccessful");
                }
            }
        });

        try {
            proxy.sendRPCRequest(choiceSet);
        } catch (SdlException e) {
            e.printStackTrace();
        }
    }

Now i will PerformInteraction only if it gives response as SUCCESS but it is giving INVALID_DATA response in onCreateInteractionChoiceSetResponse and it never goes to OnRPCResponseListener that i've set on choiceSet above.
@Override
public void onCreateInteractionChoiceSetResponse(CreateInteractionChoiceSetResponse response) {
	Log.e(TAG, "CreateInteractionChoiceSet response from SDL: "
        + response.getResultCode().name()
        + ", Success: "+ response.getSuccess()
        + ", Info: " + response.getInfo());
}

@joeygrover Ok, i'll try that and will update here if it works or not. Thanks

@joeygrover It worked. Thanks a lot.

Thanks again

No problem. I have created an issue on the guides. Next time try the Slack team first and you will get answers from other people in the community before raising an issue on the library. Locking this issue from here.


Prepare for Spring Cloud Azure 5.18.0 release

Description
Prepare for Spring Cloud Azure 5.18.0 release
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


[1714] Provider led snags

Context

https://trello.com/b/BBEuhbHM/publish-register-sprint-board

Changes proposed in this pull request

Remove cancel links from form sections in draft mode (apply draft too)
Degrees confirm page heading needs to match prototype
Remove flash message when adding a degree
Summary card labels on training details confirm page need to match prototype
Full stop needed in route type inset message on review-draft and check-details
Summary components in check-details should match order in prototype

Guidance to review

Review and test the scenarios above

 [M] Provider led snags


UnmarshalTypeError on CodePipelineEventBridgeEvent

Is your feature request related to a problem? Please describe.
Triggering a lambda with EventBridge CodePipeline events, i.e.:
{
  "detail-type": [
    "CodePipeline Pipeline Execution State Change",
    "CodePipeline Stage Execution State Change",
    "CodePipeline Action Execution State Change"
  ],
  "source": [
    "aws.codepipeline"
  ]
}

The Lambda in question has this structure:
func handler(_ context.Context, event *events.CodePipelineEventBridgeEvent) error {}

Upon execution, it almost immediately fails and outputs one of two errors (so far):
json: cannot unmarshal number 2.0 into Go struct field CodePipelineEventDetail.detail.version of type int64

json: cannot unmarshal string into Go struct field CodePipelineEventDetailType.detail.type.version of type int64

Describe the solution you'd like
I'm fairly certain I'm using the correct event type here, but I could be wrong. However, I'd like a solution to the lambda not failing immediately and the type being correct for what EventBridge is passing into the lambda.

I haven't been using this particular event with Go, so I can't really comment on how recent the change has been, however, after some experimenting, I've seen it reliably work with some alterations to the type declared:
https://github.com/aws/aws-lambda-go/blob/de51f6811a68226f2238b77fd74b84df29c446f4/events/codepipeline_cloudwatch.go#L79C1-L83C32
L83's Version type as json.Number - Though, I'm 99% sure float64 would work here as well looking at the error.
https://github.com/aws/aws-lambda-go/blob/de51f6811a68226f2238b77fd74b84df29c446f4/events/codepipeline_cloudwatch.go#L100C1-L109C2
L108's Version type as string
I don't personally reference this value in any of my code, the change was purely to get unmarshalling to not panic, so I'm not sure if there's going to be any breaking changes for users to utilise the value.

I don't personally reference this value in any of my code, the change was purely to get unmarshalling to not panic,

If you haven't already, you can unblock yourself by copying the structs into your project, and deleting the fields in your copy.
I'm still following up with the service team to try and figure out what happened here.

The service team identified errors in the sample event documentation which I believe lead to the type mismatches in the original PR that introduced this struct. Documentation should be fixed by now, and guidance from the service team confirmed that correct typing would be:
    .version -> string
    .detail.version -> numeric
    .detail.type.version -> string


Type annotate qcodes.config.* and fix docstrings

I think we should finish #1682 first to fix all the typing issues around the config instance and the config module

This has been cherry-picked into #1682


adapt template to service GDEV-314

Title for squash and merge:
adapt template to service GDEV-314

Codecov Report

Merging #1 (a68cd67) into dev (d27dd3e) will decrease coverage by 61.79%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##              dev      #1       +/-   ##
==========================================
- Coverage   61.79%   0.00%   -61.80%
==========================================
  Files          13      10        -3
  Lines          89      45       -44
==========================================
- Hits           55       0       -55
- Misses         34      45       +11

Impacted Files
Coverage Δ

internal_file_registry_service/__init__.py
0.00% <0.00%> (ø)

internal_file_registry_service/__main__.py
0.00% <0.00%> (ø)

internal_file_registry_service/config.py
0.00% <0.00%> (ø)

internal_file_registry_service/core/__init__.py
0.00% <ø> (ø)

internal_file_registry_service/dao/__init__.py
0.00% <ø> (ø)

internal_file_registry_service/dao/db.py
0.00% <ø> (ø)

internal_file_registry_service/dao/db_models.py
0.00% <ø> (ø)

internal_file_registry_service/models.py
0.00% <0.00%> (ø)

internal_file_registry_service/pubsub/__init__.py
0.00% <ø> (ø)

internal_file_registry_service/pubsub/main.py
0.00% <ø> (ø)

... and 2 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #1 (a68cd67) into dev (d27dd3e) will decrease coverage by 61.79%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##              dev      #1       +/-   ##
==========================================
- Coverage   61.79%   0.00%   -61.80%
==========================================
  Files          13      10        -3
  Lines          89      45       -44
==========================================
- Hits           55       0       -55
- Misses         34      45       +11

Impacted Files
Coverage Δ

internal_file_registry_service/__init__.py
0.00% <0.00%> (ø)

internal_file_registry_service/__main__.py
0.00% <0.00%> (ø)

internal_file_registry_service/config.py
0.00% <0.00%> (ø)

internal_file_registry_service/core/__init__.py
0.00% <ø> (ø)

internal_file_registry_service/dao/__init__.py
0.00% <ø> (ø)

internal_file_registry_service/dao/db.py
0.00% <ø> (ø)

internal_file_registry_service/dao/db_models.py
0.00% <ø> (ø)

internal_file_registry_service/models.py
0.00% <0.00%> (ø)

internal_file_registry_service/pubsub/__init__.py
0.00% <ø> (ø)

internal_file_registry_service/pubsub/main.py
0.00% <ø> (ø)

... and 2 more

Continue to review full report at Codecov.

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


canvas: revamp

clean up canvas

[x] remove mozGetAsFile
[x] remove getContext: 2d supported/not-supported
[x] remove winding, fillText, strokeText supported/not-supported
[x] catch 0, null, undefined, false, [], and "" (and of course errors)

record + display blocked, record specific block type in methods

[x] spoofing: record untrustworthy + lie, display real result, record spoof type in methods
[x] don't forget bypass possible with toDataURL vs toBlob
[x] add Object.keys(CanvasRenderingContext2D.prototype)
[x] what to do with winding - A: we don't need it, entropy manifests in other ways
[x] remove keys: doesn't add to entropy: we already have isVer
[ ] harden RFP random notation: see RFP characteristics (length, strings)
[ ] add toDataURL spoof fingerprint, also to be used in RFP random notation hardening
[ ] add convertToBlob ?
[ ] add offScreen canvas?
make canvas more sophisticated NOT DOING, see make canvas smaller/faster

don't increase size of canvas but increase size of objects as this defines pixels more precisely
use color gradients
mathematical curves and shadows
multiple text snippets, each rotated, twisted, curved etc
example:
see https://plaperdr.github.io/morellian-canvas/Preliminary analysis/webpage/canvas.html

[x] make canvas tests smaller and faster

as long as their is some entropy, that's fine
the real test is checking the metric is protected and the fingerprinting characteristics

original post
when I clean up canvas section to color up lies, bypasses, methods, and add a toDataURL FP (in methods) etc
I noticed with cydec the other day, on the noise test the toDataURL image is broken

So I added the full data for toBlob and toDataURL on the spoof test

with cydec (this is the known test used in TZP), it is always 2be88c...

on the TZP test (in both FF chrome, at least on windows) it is always 984e23748f49e7aff3f1dab5....

cydec is returning null

Anyway: cydec is not "noise" being added, it's returning null

no error caught
2 passes: they match, so not a lie yet
known test does not match result, therefore it's a lie, so we assume noise added

This is what confuses me
	// temp debug
	let testdata = getFilledContext().canvas.toDataURL()
	if (testdata == "") {console.debug(runNo, "empty string")}
	if (testdata === null) {console.debug(runNo, "null")}
	if (testdata === undefined) {console.debug(runNo, "undefined")}

	// temp debug
	let testdata = getKnown().canvas.toDataURL()
	if (testdata == "") {console.debug("k, empty string")}
	if (testdata === null) {console.debug("k, null")}
	if (testdata === undefined) {console.debug("k, undefined")}

Why is the hash different

2be88ca4242c76e8253ac62474851065032d6833 for known
984e23748f49e7aff3f1dab58ad7c26a649433cc.... for toDataURL
they're both null
???

nvm, I just need to catch null and return an error
				{
					name: "toDataURL",
					value: function(){
						let t1 = performance.now()
						let data = hashDataURL(getFilledContext().canvas.toDataURL())
						log_perf("toDataURL ["+ runNo +"] [canvas]",t1)
						return data
					}
				},

https://github.com/arkenfox/TZP/commit/84b1448ccd62887cd5c5c0ab19cc6333c6ff543b

will expand to cover them all when I cleanup the rest
still intrigued as to why the hashes differed
do we need to handle undefined and empty strings ? <- @abrahamjuliot

do we need to handle undefined and empty strings

That could be useful to highlight in the output, but the hash will be unique in any case. For example, 0, null, undefined, false, [], and "" should not return the same hash.

I still don't see why the hashes differed between toDataURL known and toDataURL test. Anyhow, the hashes collected for known only tell me that the canvas is being tampered with, not how: and returning a consistent error even across browser sessions is not "noise added", but rather more entropy to be added under methods

0, null, undefined, false, [], and ""

oooh, a list 👍

currently
     getContext | 2d: supported
      toDataURL | hash or blocked (nulls, errors, timeouts etc)
         toBlob | hash/blocked
   mozGetAsFile | not supported or hash/blocked
   getImageData | hash/blocked
        winding | supported
  isPointInPath | hash/blocked
isPointInStroke | hash/blocked
       fillText | supported
     strokeText | supported

I'm going to strip out the mozGetAsFile (makes things simpler for bypasses etc), and I don't need the getContext 2d (which used to combine with webgl support): if it's not supported that will show in the hash results - right?
So my question would be do I need the winding, fillText, strokeText in my results? CB has options for the two Text and an extension could block those inputs - but that still results in the canvas results showing that up
CB set to block only inputs fillText and strokeText, but you also have to tick getContext for anything to apply

If you do the same but untick getContext but tick say toDataURL, then everything is "supported" but toDataURL returns undefined
So my gut reaction is that winding, fillText, strokeText are not required for any entropy? @abrahamjuliot would you agree? Then I can just focus on five results, not ten .. does this sound like the right plan?

pretty sure I don't lose any possible entropy by reducing to five results

getContext 2d: if it's not supported that will show in the hash results - right?

Right, the hash result can detect support.

winding, fillText, strokeText

It appears these have long-standing support. Unless there is a preference that alters these, checking support might be unnecessary. If there is a preference that alters supported features, we could alternatively fingerprint functions and properties on CanvasRenderingContext2D.
Object.keys(CanvasRenderingContext2D.prototype)

^^ That sounds better .. have some 🍰

if canvas keys are blocked, it would still affect the FP of the image (if image didn't error)

Technically, Object.keys can be altered so that it blocks the argument CanvasRenderingContext2D.prototype, and this would not affect the image or cause errors. Instead, we can use a for...in loop to get the keys:
keys = []; for (const key in CanvasRenderingContext2D.prototype) { keys.push(key) }

If CanvasRenderingContext2D.prototype is blocked, that would affect the image and cause errors.

So are we trying to bypass the keys tampering, or get it's entropy .. or both? Will come back to it, after I tidy up the current five items with logic for blocks (including nulls, errors etc), bypass (toDataURL vs toBlob), lies, methods (for spoofing and "blocks") .. and coloring stuff up

Some observations (super unlikely settings, but then who knows)
CB settings: one way to trigger the effect (basically blocking some inputs)

General: block everything (or block input)
APIS: uncheck getContext, toDataURL, toBlob, getImageURL

My real canvas values are
      toDataURL 1684d35fa0fe81e6f4091bcf624742e99fe01e2e6841d7c7ec98534a47d1402a
         toBlob 1684d35fa0fe81e6f4091bcf624742e99fe01e2e6841d7c7ec98534a47d1402a
   getImageData 8ef46cfc0049d834564c9d21b8d6c60e3c9733458404de50524710253e75962d
  isPointInPath be524a87ffe08cdaa4512fef9e3595783f568823225593b406c9b3c62f81807c
isPointInStroke 942591bcf2f6bd7c4c49a061a3f1ad5c5d7de9c6ee2a9fc86f79a1b665a0acf7

here's what happens

The known tests pass, and we do not pick up the lies for toBlob, toDataURL or getImageData. Those values are consistent on my PC. So lets look at CB tests

So the fillText is being blocked from being input (note my canvas test does not use strokeText). The known tests do not use text, and in fact do not do much at all, whereas the actual canvas test does a bunch of colors and shapes (with math: not sure if that math is FF entropy-worthy), and text, and winding. I assume the winding is not being applied either.
So is this a LIE or not? Initially I was like, WTF, why am I not picking this up. But now I realize it's not a lie. It's not being spoofed (it's consistent across reloads, sessions etc) and is actually revealing the correct values: it's just that some things are blocked (text, winding).
Now we might be able to pick up on the winding (not supported), but not sure on the fillTest, strokeText (they are supported), but to be fair, the image already holds entropy. Will be interested to see what the canvas keys adds when I'm ready.
@abrahamjuliot .. would you agree with my assessment?

^ of course what I can't detect is if someone blocks fileText but then randomizes with persistent noise (not sure I can get CB to behave like that): the problem is the known test .. I guess that's just super unlikely edge cases?

keys: added (unsorted for now) looking at FF nightly vs chrome stable
FF has (and chrome doesn't)

createConicGradient, mozCurrentTransform, mozCurrentTransformInverse, mozImageSmoothingEnabled, mozTextStyle

FYI: createConicGradient is not in stable
chrome has (and Ff doesn't)

direction, getContextAttributes, imageSmoothingQuality

Other than that, they are the same, but the order is different
thoughts

diffs between FF releases doesn't really matter (we have get version), but some might be behind a pref
voila ... see canvas.createConicGradient.enabled .. but no-one would really flip these
so I think this really only enforces browser version per engine
since it has almost zero perf, might as well keep it

I'm going to check older versions of FF to see how much volatility it had. And it'll be interesting to see of it changes with various extension spoofing configs (or RFP, Brave shields)

Also: winding was in the old test, and it does become unavailable in some configs: but I don't know how important that is to collect, or what blocks winding. A spoofed canvas won't reflect lack of winding, but a non-spoofed one would.

test away bro

FYI: tested vanilla FF's (windows)
FF60-69
e61df00e8aa70a5cbb5533dee374b5aff116cfc5 [62 keys]

FF70-89
b7d5621a3a1a1b9e6fe366187e562426bea769f4 [63 keys]
added: getTransform

FF90+
d516bde278df1947c1d099d77b3d8ca8bbb4a4a3 [64 keys]
added: createConicGradient

@abrahamjuliot (and @kkapsner : you still there buddy? is everything OK?)
In order to be more consistent with layout and alignment of columns, I changed the few items that were using SHA-256, to SHA-1: namely audio and canvas
like here in audio
https://github.com/arkenfox/TZP/blob/09fdc4cb467cee746dc14af34cd112e4eeea9f2b/js/audio.js#L259-L265
I'm concerned about using SHA-1 with crypto.subtle.digest as it may get deprecated, or indeed not even work in some browsers (IDK about safari: but Edge doesn't seem to: that would be the edgeHTML engine I assume, not the one based on blink)
So I have two options AFAICT

just use my own sha1() and rehash the sha-256 value
work out how to convert the arrayBuffer into an array before hashing

I'm sure it's something simple

@abrahamjuliot don't you do something like my first option, by minifying the hash?

you still there buddy? is everything OK?

Yes - I'm still here. But the last months were tough. Was not ill but the whole situation was very taxing.

Yes - I'm still here

Hang in there buddy. I'm rooting for ya ❤ . Meanwhile, have some 🍰 and 🍻

convert the arrayBuffer into an array

Array.from(buffer)
// or
[...buffer]

minifying the hash

For section hashes and heavy arrays, I use sha-256 and slice the first 8 characters for the html output. I've seen some sites shorten sha-256 strings with an ellipsis seperator.
const sha256hash = '89455ebb9765644fb98068ec68fbad7fcaaf2768b2cb6e1bd062eee5790c00e8'
const getDisplayHash = (sha256hash, limiter = 8, seperator = '...') => {
  return sha256hash.slice(0, limiter)+seperator+sha256hash.slice(-limiter)
}
getDisplayHash(sha256hash) // "89455ebb...790c00e8"

For sub item display hashes and a few light size metrics, I use a mini hash function.
// https://stackoverflow.com/a/22429679
const hashMini = str => {
	const json = `${JSON.stringify(str)}`
	let i, len, hash = 0x811c9dc5
	for (i = 0, len = json.length; i < len; i++) {
		hash = Math.imul(31, hash) + json.charCodeAt(i) | 0
	}
	return ('0000000' + (hash >>> 0).toString(16)).substr(-8)
}

hmmm, getDisplayHash .. I used to do that on canvas

e.g. [1] 829a659daf5413... [2] 29fa351ec8e334a......
e.g. noise detected [both] 4829fa829a659daf541351ec8...
^^ both totalling 64 chars to match a sha-256 length

After doing that I wasn't a fan of hiding the full hash, although the hash is meaningless in these cases
I guess my two issues are SHA-1 doesn't work on all browsers and can get dropped at any time, and SHA-1 can have collisions

not that I care about edgeHTML, but breakage is not professional
so therefore, I must use SHA-256 and display a short form
or use my internal sha1() function

Canvas and webgl should really use sha-256 given they have high entropy
Hmmm ... decisions .. decisions ... ¯\_(ツ)_/¯ I need to drink on it for a while :beers:

Hmmm .. RFP random characteristics

@abrahamjuliot I godamn F^%KIN NAILED IT bro!

OK, almost totally (pun intended) convinced that my rules have it covered:

we don't need that many specific rules, that's for the PoC
rule1: length must be 162, 166, 170, or 174
rule2: slice(69,80) must be a AxxlEQVQ4jW
rule3: the last 10 chars must be 5ErkJggg==, VORK5CYII= or lFTkSuQmCC

I have yet to see any false positives: rgb possible combos are approx 1680 million, not sure exactly how alpha affects that. If it's also 256 possible values then the combos are 4,294,967,296 - feel free to test them all for me

@abrahamjuliot thanks for that mini function 👍
I've been on a little bit of a perf mission. Things like using map. I should use sets more too. using else if where I can. Adding break in for loops. using inline instead of calling a global function. one thing I'm not sure on with perf is how async can speed things up
Got any tips?

FYI
I think I need to be careful on what chars can be in the string passed to mini - because it uses charCodeAt?
I was calling sha1() 122  times (or 123 if not nightly for component shims) taking 95ms

the fastest code is when no code at all runs: so I eliminated calculating a hash

e.g. a bypass one vs the fake one unless needed
not hashing empty empty arrays or arrays with 'undefined'

e.g. when a textmetric wasn't supported

I switched canvas to SHA-1 instead of rehashing it

the entropy is not that important, it's to detect protection, so if I get a collision so be it
if SHA-1 is ever dropped from crypto, I can switch it back via the var isSHA
I also switched canvas known tests to mini (except nonFF toDataURL, toBlob still uses sha1 because I can't test for all mini values)

i added the mini() which I use for simple compares (if needed)
I moved some functions to post FP: i.e items not in the fingerprint

all the iframe UA tests (a hash for each pus the summary)
worker and iframe tests are going to be treated as a different FP to top level doc

currently down to 92 (8 mini, 84 sha1) taking ~80ms, but I can do more

the sixteen domrects can be switched to minis, and only a single sha1 generated if no lies (or 4 in non-FF)
the three computed styles suck a lot of ms - we can do the same as domrect: if no lies we only need a single sha1
math will be replaced with the monsta test PoC: all set to go: two minis for 2-pass compares, and a single sha1 for display

out of interest, I ran the entire thing with mini and it topped out at 14ms :)
click me for details
HASH STATS: [92 times | 78 ms]
 -   1 : mini : _global isError
 -   1 : sha1 : _global isEngine
 -   0 : mini : _prereq navA
 -   0 : mini : _prereq navB
 -   1 : sha1 : feature errors
 -   1 : sha1 : feature widgets
 -   0 : sha1 : feature math m1hash
 -   0 : sha1 : feature math m6hash
 -   0 : sha1 : feature math mchash
 -   0 : sha1 : feature math m1hash
 -   0 : sha1 : feature math m6hash
 -   0 : sha1 : feature math mchash
 -   0 : sha1 : feature section result
 -   0 : sha1 : ua
 -   0 : sha1 : ua section result
 -   0 : sha1 : screen section result
 -   1 : sha1 : devices speech engines
 -   1 : sha1 : headers section result
 -   0 : sha1 : storage section result
 -   1 : sha1 : domrect
 -   2 : sha1 : domrect
 -   1 : sha1 : domrect
 -   0 : sha1 : domrect
 -   1 : sha1 : domrect
 -   1 : sha1 : domrect
 -   0 : sha1 : domrect
 -   0 : sha1 : domrect
 -   1 : sha1 : domrect
 -   0 : sha1 : domrect
 -   1 : sha1 : domrect
 -   0 : sha1 : domrect
 -   1 : sha1 : domrect
 -   0 : sha1 : domrect
 -   0 : sha1 : domrect
 -   0 : sha1 : domrect
 -   0 : sha1 : domrect section result
 -   0 : sha1 : media canplay
 -   0 : sha1 : media istype
 -   1 : sha1 : media canplay
 -   0 : sha1 : media istype
 -   0 : sha1 : media section result
 -   0 : sha1 : languages collation
 -   0 : sha1 : languages timezone offsets
 -   0 : sha1 : languages language & locale
 -   0 : sha1 : languages timezone
 -   2 : sha1 : languages date/time & format
 -   0 : sha1 : languages geo
 -   0 : sha1 : language section result
 -   1 : sha1 : css colors
 -   1 : sha1 : css colors
 -   0 : sha1 : css colors
 -   1 : sha1 : css colors
 -   0 : sha1 : css system fonts
 -  16 : sha1 : css computed style 0
 -   7 : sha1 : css computed style 1
 -   6 : sha1 : css computed style 2
 -   1 : sha1 : css section result
 -   0 : sha1 : misc component shims
 -   9 : sha1 : misc iframe props
 -   0 : sha1 : misc nav keys
 -   0 : sha1 : misc section result
 -   1 : sha1 : elements keys
 -   0 : sha1 : elements mathml
 -   0 : sha1 : elements lineheight
 -   0 : sha1 : elements section result
 -   0 : sha1 : devices media devices
 -   0 : sha1 : devices section result
 -   2 : sha1 : fonts textmetrics width
 -   1 : sha1 : fonts textmetrics actualBoundingBoxAscent
 -   0 : sha1 : fonts textmetrics actualBoundingBoxDescent
 -   1 : sha1 : fonts textmetrics actualBoundingBoxLeft
 -   1 : sha1 : fonts textmetrics actualBoundingBoxRight
 -   2 : sha1 : fonts gylphs offset
 -   2 : sha1 : fonts gylphs bounding
 -   2 : sha1 : fonts gylphs client
 -   1 : sha1 : fonts fontsScroll
 -   1 : sha1 : fonts fontsOffset
 -   0 : sha1 : fonts fontsClient
 -   0 : sha1 : fonts fontsPixel
 -   1 : sha1 : fonts fontsPixelSize
 -   1 : sha1 : fonts fontsPerspective
 -   0 : sha1 : fonts fontsTransform
 -   0 : sha1 : fonts section result
 -   0 : mini : canvas [k] todataurl
 -   1 : mini : canvas [k] getimagedata
 -   0 : mini : canvas [k] ispointinpath
 -   0 : mini : canvas [k] ispointinstroke
 -   0 : mini : canvas [k] toblob
 -   0 : sha1 : canvas section result
 -   0 : sha1 : audio get
 -   1 : sha1 : audio copy
 -   0 : sha1 : audio section result

async

There's performance gains if the functions contain asynchronous operations like setTimeout, promise based APIs, fetch requests, etc. The async syntax is mostly a cleaner way of writing promises.

tips

I think you're ahead of this tip by moving non fingerprinting functions to post FP.
I run the SubtleCrypto.digest() hashing functions in one Promise.all, separate from the fingerprint functions, and then I perform all HTML template modifications in a final patch operation to reduce blocking code during other operations.
In short, there are 5 operations I run with their own performance time.
0. Get iframe and prototype lies, then pass iframe contentWindow and lie results to fingerprinting functions

Fingerprint (includes async operations like worker, webrtc, and voices)
Continue final fingerprinting (compare navigator with worker results)
Then, perform hashing
Finally, patch the HTML template with the results. I mostly use the mini hash function here to compress sub results.

Thanks
I'm down to 72 calls and ~50ms (can still remove 5 math and 11 domrect which might shave off 5+ ms - new math coming soon) - as long as you're not lying or blocking some multiple methods (7 x fonts, 3 x css styles - in which case I have to compute each lie and maybe a bypass)

I'm toying with the idea of using minihashes for some sections, but it just looks weird - but it can make sense - I need to drink on it

by moving non fingerprinting functions to post FP

Yup, that made some perf more consistent as well - it's really just the perf.now test (11 x 13ms) and the iframe + workers

I replaced the woff function and it's now in the FP - check it out, speed AF - bonus, it picks up on a pref change when you rerun

If I was designing this from scratch again, it would be a bit different - removing the iframes and workers to run post doc makes sense when I expand them - i.e treat top level doc separate

timing

The only one that bugs me is device speech engines gets held up somewhere

RFP off - run outputDevices last, the perf is like 8m / run outputDevices first and it ends up down the stack at 100ms (rerun is 8ms)
if RFP is - run outputDevices last and the entire TZP perf goes out the window, double/triple

Useless app

updated: https://arkenfox.github.io/TZP/tests/canvasrfp.html - much faster and you can now set a size via console (see details at the top where it says click me)
You can also bypass the run buttons by using run_checks(number). If there's no known matching patterns for a size (I've only bothered with 16x8 and 16x8), the summary will basically provide you with the guts of the RFP rules for that size (if you use a large enough number)
for example, before I added the rules for 16x8 - I ran run_check(1000000) - 1 million, and got back all 12 possible combos from the 4 toDataURL lengths sizes and last 10 chars (the middle slice was stable) - ... BUT ... some of those were as little as 1 result from a million. Also, don't do that unless you have grunty machine. On this 11 yrs old, it took about a minute to run, but then basically made FF unusable for about 4 minutes.
So basically, all combos are possible: lengths x middlechars x last 10chars

anyway, to cap a few things off. Canvas (TZP refactor) is now no longer checking for entropy - we already know entropy exists and we already protect against it. So this is pointless to try and exploit in TB or RFP - so TZp only checks for protection - and records the unprotected (known) hash or untrustworthy. If untrustworthy it also records if RFP and it also records if persistent vs not persistent.
I might add some degree of randomization: such as channels and % of pixels changed: low, high, medium - but this is nasty when trying to draw lines if you want consistency
FWIW: I think subpixel collection is far more dangerous: font, glyph, mathml, lineheight and other objects - transformed etc, is about the worst we can get (maybe outside webgl)


make integration tests against metal

Change CI job to run against metal instead of minikube

(example see https://github.com/mwennrich/csi-lvm/runs/541765256?check_suite_focus=true)
needs a KUBECONFIG secret (currently for demonstration purpose the cluster mwen in fel-wps is used). Should be a dedicated integration cluster
creates pr-named namespaces, serviceaccounts, storageclasses, etc ... to not interfere with the already deployed csi-lvm
con: does not test the reviver (reboot or reboot simulation would too harmful). This still can be tested locally against minikube.
con: does not work for PR from a fork.

ok 1 prepare test files
ok 2 create namespace pr-metalci
ok 3 deploy csi-lvm-controller
ok 4 csi-lvm-controller running
ok 5 create pvc
ok 6 deploy linear pod
ok 7 deploy block pod
ok 8 linear pvc bound
ok 9 linear pod running
ok 10 block pvc bound
ok 11 block pod running
ok 12 delete linear pod
ok 13 delete block pod
ok 14 deploy linear pod again
ok 15 deploy block pod again
ok 16 linear pod running again
ok 17 block pod running again
ok 18 final delete linear pod
ok 19 final delete block pod
ok 20 delete pvc
ok 21 clean up

That this is not working across forks is a big caveat I wasn't aware of before.
Not sure if we should go forward with this or invest more time getting this somehow done reliably with minikube or kind on github-ubuntu ...

Ready to merge ?

For now, yes. We should still look later for a solution that works across forks.


Add OAuth providers

I did the research. By default, Pocketbase allows you to login via oauth if the email is the same. But it does not allow registration with creditnails if email is used in oauth.
If its sutable for the project (probably yes) I can start working on UI once we've defined the list of providers.
I think must have is google and github.
Also I need to know is 'main' pb instance is updated to use 'one call OAuth'.
Also in UI we can call for list-providers and mark buttons disabled when providers not enabled server side.

Hey @cuire , I think you might be in the wrong repo. PocketHost is a hosting platform for PocketBase. If you want to ask any questions about OAuth, open a discussion item here: https://github.com/pocketbase/pocketbase
For your question about the "main" pb instance, for PocketHost, just make sure whatever instance you are running is up to date. That way you get all the latest PocketBase features.
For the List Providers system, the link you posted answers your question:
const result = await pb.collection('users').listAuthMethods();

This issue about adding oauth to poskethost. I apologize if I expressed myself incorrectly. https://github.com/pockethost/pockethost/discussions/316#discussioncomment-7217798

Oh I see, you're interested in adding OAuth login to PocketHost then? Github and Google?

These are must have, but I want to hear preferences for other providers.
I want to do UI things and then someone from mainteners will setup OAuth apps in google cloud and github etc.

Lets move this over to our Discussion session. I updated the title of your original Discussion to "Adding in OAuth Support to PocketHost".
https://github.com/pockethost/pockethost/discussions/316


fix app builder owner name field assignment

Changes Unknown when pulling ccf9ef3acc5dee63a820c454d6504b9a303166ba on nobodyiam:fix-app-builder into ** on ctripcorp:master**.

Codecov Report

Merging #884 into master will not change coverage.
The diff coverage is 0%.

@@            Coverage Diff            @@
##             master     #884   +/-   ##
=========================================
  Coverage     46.81%   46.81%
  Complexity     1542     1542
=========================================
  Files           352      352
  Lines          9717     9717
  Branches        963      963
=========================================
  Hits           4549     4549
  Misses         4826     4826
  Partials        342      342

Impacted Files
Coverage Δ
Complexity Δ

.../com/ctrip/framework/apollo/common/entity/App.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Outdated menu

Sometimes happens that it api doesn't load new menu and leaves old one there. Usually happens with U Pětníka. Like today.

It may happen. Menu is loaded once a day with the first request. Loaded menu is stored in cache (till 01:00 AM next day). You are able to reload menu now. Also date an time is shown under each menu so you know when the menu was loaded.
The issue refers partially to the same problem as #46.


Make watch threshold 0% to 100%, 5% for every increment

Make it go from 100% down to 0% in the drop down. Default to 100%.


feat: create reservation from existing VM sample

Description
Sample for demonstrating this part of documentation https://cloud.google.com/compute/docs/instances/reservations-single-project#specify-existing-vm
As a base was taken Python PR https://github.com/GoogleCloudPlatform/python-docs-samples/pull/12668
Checklist

[ ] I have followed Contributing Guidelines from CONTRIBUTING.MD
[ ] Tests pass:   go test -v ./.. (see Testing)
[ ] Code formatted:   gofmt (see Formatting)
[ ] Vetting pass:   go vet (see Formatting)
[ ] These samples need a new API enabled in testing projects to pass (let us know which ones)
[ ] These samples need a new/updated env vars in testing projects set to pass (let us know which ones)
[ ] This sample adds a new sample directory, and I updated the CODEOWNERS file with the codeowners for this sample
[ ] This sample adds a new Product API, and I updated the Blunderbuss issue/PR auto-assigner with the codeowners for this sample
[ ] Please merge this PR for me once it is approved

Yay! We're able to merge it! Thank you for your patience, @BigBlackWolf

Thanks for taking a look @telpirion , I appreciate that! 🙌


Is there a playbook to add/delete pd/tidb/tikv node online?

This guide shows how to add/delete node online. Is there any playbook to do such thing?

SeeScale the TiDB cluster, delete node  is manual.


please delet all of this

Please note: This repository is being rebuilt to accept the new volume of token additions and modifications. PR merges will be delayed.

I agree to not ping anybody on Discord/Twitter/email about this pull request. Instead I will inquire by posting a new comment in the pull request if needed.

PRs are reviewed in bulk and and can take up to two weeks to be merged.
This repository is managed using an auto merge action. Please ensure your PR has no deleted lines, and it will be merged.
Please provide the following information for your token.
Please include change to the src/tokens/solana.tokenlist.json file in the PR.
DON'T modify any other token on the list.
At minimum each entry should have

Token Address:
Token Name:
Token Symbol:
Logo: (logo should be uploaded under assets/mainnet//*.<png/svg>)
Link to the official homepage of token:
Coingecko ID if available (https://www.coingecko.com/api/documentations/v3#/coins/get_coins__id_):

Auto merge requirements
Your pull request will be automatically merged if the following conditions are met:

Your pull request only adds new tokens to the list. Any modification to existing
tokens will require manual review to prevent unwanted modifications.

Your pull request does not touch unrelated code. In particular, reformatting changes to unrelated
code will cause the auto merge to reject your PR.

Any asset files added correspond to the token address you are adding. Asset files
must be PNG, JPG or SVG files.

Your change is valid JSON and conforms to the schema. If your change failed validation,
read the error message carefully and update your PR accordingly.

No other tokens shares the same name, symbol or address.

For example, this change would be rejected due to unrelated changes:

The bot runs every 60 minutes and bulk-merges all open pull requests to prevent conflicts.
This means that you need to wait up to 60 minutes for your pull request to be merged or reprocessed.

excuse me but i don't know how to delete everithing except the "Absolute Burning Token". can you help me ?

help me please i'm trying to delete the token i made earlyer

hello, i had find the problem and i had fix it, can you merge the token please ?


Inconsistency in polymorphic 'this' typing

class A {
    p: A;
    c = this.p;
}

class B extends A {
    p: B;
}

var s: B;
var k = s.c; // 'k' is 'A'

class A {
    c = this;
}

class B extends A {
}

var s: B;
var k = s.c; // 'k' is 'B'

After some experiments, a simple question: is 'this' polymorphic only for simple expression "this", and not when it's used as a qualifier in some reference expression, e.g. "this.foo"?

One thing to note, there are two uses of the keyword this. your example above uses an initializer. this will be evaluated once, in the context of the base class A; the type of the expression this.p here is A, and there is no polymorphism here. if you however, gave c the type this, this will be instantiated in the context of the derived class, and you would get the desired polymorphism.

Thanks, now it's more clear how it behaves.


Handle session expiration and prevent timeouts

After idling for about five minutes, an account will be prompted to stay logged in.
Pressing OK sends a GET request:

In case a specific user must be logged in for an extended amount of time, a request must be sent periodically.
In the case that the user logs in whilst the scraper is still scraping, the session expires and an unhandled exception is thrown.

unnecessary, as of #15


install error on macOS

I tried to install GiNZA with this command.
$ pip install "https://github.com/megagonlabs/ginza/releases/download/latest/ginza-latest.tar.gz"

But I got the following error:
Building wheels for collected packages: ginza, SudachiDict-core, ja-ginza, dartsclone
  Building wheel for ginza (setup.py) ... done
  Stored in directory: /Users/hirotaro/Library/Caches/pip/wheels/6f/97/43/f9c8c315bcd598f595e96aae207b120a3b84564f03ddd8d6a7
  Building wheel for SudachiDict-core (setup.py) ... done
  Stored in directory: /Users/hirotaro/Library/Caches/pip/wheels/54/e7/08/e3b4af4f347f89cafc1ea2788f53b15747b6ef8e3aa176e786
  Building wheel for ja-ginza (setup.py) ... done
  Stored in directory: /Users/hirotaro/Library/Caches/pip/wheels/2d/1e/54/93c9cbc2b2c6ae66a3157afa88f812064ee648581737d36c45
  Building wheel for dartsclone (setup.py) ... error
  ERROR: Complete output from command /anaconda3/envs/ginza/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/private/var/folders/dk/tm7h9d1s5k71ws5m75zmcb7w0000gn/T/pip-install-6aonk8a_/dartsclone/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/dk/tm7h9d1s5k71ws5m75zmcb7w0000gn/T/pip-wheel-4s7tot18 --python-tag cp37:
  ERROR: running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.7-x86_64-3.7
  creating build/lib.macosx-10.7-x86_64-3.7/dartsclone
  copying dartsclone/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/dartsclone
  running build_ext
  cythoning dartsclone/_dartsclone.pyx to dartsclone/_dartsclone.cpp
  /anaconda3/envs/ginza/lib/python3.7/site-packages/Cython/Compiler/Main.py:369: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /private/var/folders/dk/tm7h9d1s5k71ws5m75zmcb7w0000gn/T/pip-install-6aonk8a_/dartsclone/dartsclone/_dartsclone.pxd
    tree = Parsing.p_module(s, pxd, full_module_name)
  warning: dartsclone/_dartsclone.pyx:119:49: local variable 'result' referenced before assignment
  warning: dartsclone/_dartsclone.pyx:120:15: local variable 'result' referenced before assignment
  building 'dartsclone._dartsclone' extension
  creating build/temp.macosx-10.7-x86_64-3.7
  creating build/temp.macosx-10.7-x86_64-3.7/dartsclone
  creating build/temp.macosx-10.7-x86_64-3.7/csrc
  creating build/temp.macosx-10.7-x86_64-3.7/csrc/src
  gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/anaconda3/envs/ginza/include -arch x86_64 -I/anaconda3/envs/ginza/include -arch x86_64 -I./csrc/include -I/anaconda3/envs/ginza/include/python3.7m -c dartsclone/_dartsclone.cpp -o build/temp.macosx-10.7-x86_64-3.7/dartsclone/_dartsclone.o
  warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
  dartsclone/_dartsclone.cpp:610:10: fatal error: 'ios' file not found
  #include "ios"
           ^~~~~
  1 warning and 1 error generated.
  error: command 'gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for dartsclone
  Running setup.py clean for dartsclone
Successfully built ginza SudachiDict-core ja-ginza
Failed to build dartsclone
Installing collected packages: wasabi, cymem, preshed, murmurhash, plac, srsly, blis, thinc, spacy, dartsclone, SudachiPy, SudachiDict-core, ja-ginza, ginza
  Running setup.py install for dartsclone ... error
    ERROR: Complete output from command /anaconda3/envs/ginza/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/private/var/folders/dk/tm7h9d1s5k71ws5m75zmcb7w0000gn/T/pip-install-6aonk8a_/dartsclone/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/dk/tm7h9d1s5k71ws5m75zmcb7w0000gn/T/pip-record-mudk6_bi/install-record.txt --single-version-externally-managed --compile:
    ERROR: running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.7-x86_64-3.7
    creating build/lib.macosx-10.7-x86_64-3.7/dartsclone
    copying dartsclone/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/dartsclone
    running build_ext
    cythoning dartsclone/_dartsclone.pyx to dartsclone/_dartsclone.cpp
    /anaconda3/envs/ginza/lib/python3.7/site-packages/Cython/Compiler/Main.py:369: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /private/var/folders/dk/tm7h9d1s5k71ws5m75zmcb7w0000gn/T/pip-install-6aonk8a_/dartsclone/dartsclone/_dartsclone.pxd
      tree = Parsing.p_module(s, pxd, full_module_name)
    warning: dartsclone/_dartsclone.pyx:119:49: local variable 'result' referenced before assignment
    warning: dartsclone/_dartsclone.pyx:120:15: local variable 'result' referenced before assignment
    building 'dartsclone._dartsclone' extension
    creating build/temp.macosx-10.7-x86_64-3.7
    creating build/temp.macosx-10.7-x86_64-3.7/dartsclone
    creating build/temp.macosx-10.7-x86_64-3.7/csrc
    creating build/temp.macosx-10.7-x86_64-3.7/csrc/src
    gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/anaconda3/envs/ginza/include -arch x86_64 -I/anaconda3/envs/ginza/include -arch x86_64 -I./csrc/include -I/anaconda3/envs/ginza/include/python3.7m -c dartsclone/_dartsclone.cpp -o build/temp.macosx-10.7-x86_64-3.7/dartsclone/_dartsclone.o
    warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
    dartsclone/_dartsclone.cpp:610:10: fatal error: 'ios' file not found
    #include "ios"
             ^~~~~
    1 warning and 1 error generated.
    error: command 'gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command "/anaconda3/envs/ginza/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/private/var/folders/dk/tm7h9d1s5k71ws5m75zmcb7w0000gn/T/pip-install-6aonk8a_/dartsclone/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/dk/tm7h9d1s5k71ws5m75zmcb7w0000gn/T/pip-record-mudk6_bi/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/dk/tm7h9d1s5k71ws5m75zmcb7w0000gn/T/pip-install-6aonk8a_/dartsclone/

It seemed that my Xcode version is 10.2.1 or macOS is Mojave 10.14.5.
So, I was able to install by giving environment variables with reference to https://github.com/cython/cython/issues/2694#issuecomment-491888725
$ CFLAGS='-stdlib=libc++' pip install  "https://github.com/megagonlabs/ginza/releases/download/latest/ginza-latest.tar.gz"

I don't know the underlying solution for the cause of the error.
However, there are many people who encounter the same error depending on the environment, so it would be better to describe how to avoid this error in the README.

@shirotaro-jp Thank you for sending detailed report to solve the install problem on Mojave.
I could install GiNZA v2.0.0 with the normal pip install step written in github on High Sierra.
This might be a spaCy's problem and have been solved in the latest spaCy version.
I'd like to upgrade spaCy version to 2.1.8 and try to install new GiNZA to Mojave.

I succeeded to install GiNZA-2.0.0 in the standard pip install procedure on Mac OS 10.14.6 with the Xcode versions both 9.4.1 and 11.0 along with python 3.7.4, pip 19.0.3, Cython-0.29.13, spaCy-2.1.8, SudachiPy-0.4.0.
I'd like to add some comments for the install error situation caused by cython and its solution using CFLAGS environment variable.
Thanks a lot! @shirotaro-jp


39793: Look & feel configure responsive logo

Rationale
During the UI improvements a few years ago we introduced the concept of a "mobile" logo which we use as the header logo in medium or smaller responsive layouts. Issue 39793 points out how this was never made configurable by the user and thus all sites experience our default LabKey logo when the page width is less than 768px.
With this PR users can now configure a "Responsive Logo" that will be used in these layouts.

This is configured via Look & Feel Settings under the resources tab.
Changes

Add option to Look & Feel Settings to set a responsive logo.
Factor out persistence logic common to both logo variants.

I can approve this as is, but man, it really feels like it's time to introduce an enum to represent the (now four) resource types and eliminate all the duplicated code blocks, switching and branching on strings, etc. (Maybe I should have felt that way with three types, but this thing has evolved...) Idea is to push all the labels, descriptions, and behaviors into the enum and coalesce to shared actions and methods that take a ResourceType.

I can approve this as is, but man, it really feels like it's time to introduce an enum to represent the (now four) resource types and eliminate all the duplicated code blocks, switching and branching on strings, etc. (Maybe I should have felt that way with three types, but this thing has evolved...) Idea is to push all the labels, descriptions, and behaviors into the enum and coalesce to shared actions and methods that take a ResourceType.

Reasonable. I can take another look at this and implement via an enumeration of some kind. I'll switch this to a draft PR in the meantime.

Since I'm probably guilty of implementing the current approach, I could help with (or do) the refactor. LMK what you'd like me to do.

Nick: I think this is ready to go. I can't assign you as a reviewer, but please review my changes, then comment or commit as appropriate.

Nick: I think this is ready to go. I can't assign you as a reviewer, but please review my changes, then comment or commit as appropriate.

Thanks Adam, looks good! I manually tested your changes locally and everything appears to be working as intended.


.img-thumbnail inside .media-left renders differently in Chrome than in Firefox

When applying .img-responsive or .img-thumbnail (possibly others) to a .media-object inside .media-left, the media object gets "crushed" horizontally by the .media-body even with an explicit width (and height) set, but just in Chrome - the expected rendering occurs in Firefox. I haven't tested extensively with other browsers.
Firefox: 36.0.1
Chrome: 41.0.2272.76
I've got a minimal example of the behavior:
http://jsbin.com/lunohawexo/2
In the example, the first div.media exhibits the problem in Chrome, and the second div.media does not. Both appear as I expect in Firefox.
At this point I'm not sure if I'm doing something wrong, if this is an issue with Bootstrap's CSS, or a browser bug. I'm hoping somebody more knowledgeable can point me in the right direction.
Thanks!

Hi @gws!
You appear to have posted a live example (http://jsbin.com/nicehopoje/5/edit), which is always a good first step. However, according to Bootlint, your example has some Bootstrap usage errors, which might potentially be causing your issue:

W002: <head> is missing X-UA-Compatible <meta> tag that disables old IE compatibility modes
W003: <head> is missing viewport <meta> tag that enables responsiveness

You'll need to fix these errors and post a revised example before we can proceed further.
Thanks!
(Please note that this is a fully automated comment.)

Updated the link in the original post to appease the bot: http://jsbin.com/lunohawexo/2

Desktop Safari 8.0.4 matches Chrome's rendering.
IE9-11 match Firefox's rendering.

CC: @mdo

Chrome doesn't like max-width in table-cell.
Working on something along the lines of
.img-thumbnail {
  &.media-object {
    max-width: none;
  }
}

in scaffolding.less


Problems with underscore.js

Previously reported in ethereum/web3.js#2282, but it looks like this is an issue with AEgir.

Issue
I have code that uses web3. It should work in Node.js and browser so I use AEgir to build it for the browser (with Webpack).
It works normally in Node.js but there are problems in the browser.
When I include my built JS file, I get the error TypeError: root is undefined and none of my code works.
That error comes from underscore.js:
(function() {

  // Baseline setup
  // --------------

  // Establish the root object, `window` in the browser, or `exports` on the server.
  var root = this; // <= !!! this is undefined !!!

  // Save the previous value of the `_` variable.
  var previousUnderscore = root._; // <==  !!! here is error !!!

  // Save bytes in the minified (but not gzipped) version:
  var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;

The issue was already reported to jashkenas/underscore#2680, but they said that this is not a problem with underscore.js:

If you're transpiring with babel, or using "use strict", the value of this will always be set to undefined, which is why root is undefined. You need to do this differently. This is not a problem with the underscore.

~I don't know if this is an issue with Web3 or AEgir, so I first opened an issue here. Please let me know if this is an issue with AEgir so I will open an issue there.~ (it looks like this is problem with AEgir)
Steps to reproduce

Create project and install web3 and aegir.

Create file src/index.js which uses web3:

'use strict'
const Web3 = require('web3')

Build with aegir build.

Create HTML file and include built script index.js.

Open HTML file in browser and open developer console. You will see error.

Logs
Firefox:
TypeError: root is undefined[Več o tem] underscore.js:15
    Underscore 2
        <anonimno>
        <anonimno>
    Webpack 18
        __webpack_require__
        <anonimno>
        __webpack_require__
        <anonimno>
        __webpack_require__
        <anonimno>
        __webpack_require__
        <anonimno>
        <anonimno>
        __webpack_require__
        <anonimno>
        __webpack_require__
        <anonimno>
        __webpack_require__
        <anonimno>
        <anonimno>
        webpackUniversalModuleDefinition
        <anonimno>

Chrome:
Uncaught TypeError: Cannot read property '_' of undefined
    at underscore.js:15
    at Object.<anonymous> (underscore.js:1691)
    at __webpack_require__ (bootstrap:19)
    at Object.<anonymous> (index.js:27)
    at __webpack_require__ (bootstrap:19)
    at Object.<anonymous> (index.js:25)
    at __webpack_require__ (bootstrap:19)
    at Object.<anonymous> (index.js:32)
    at __webpack_require__ (bootstrap:19)
    at Object.<anonymous> (client.js:6)

Environment

Browser: Firefox and Chrome
Web3: beta 37
AEgir: 18.0.3

This is not an aegir problem you should not use underscore just upgrade web3 and you will be fine.

@hugomrdias I can't upgrade Web3 because of trufflesuite/truffle#1690. Also, I'm currently using old AEgir version which works.


Custom base url for open Ai in config.toml

Since you can provide open ai custom url only in browser, that also means that you must re specify it in each browser you use perplexica from.
Unfortunately that also means that it is impossible to use perplexica from a phone since the config button doesn't exist on phone if like me you use custom openAi provider...
Can you implement custom openAi provider url in config.toml please, it would Greatly help

Please refer to https://github.com/ItzCrazyKns/Perplexica/issues/162


Parcel Bundler configuration

I am trying to use react-toolbox with parcel bundler and it looks like I'm missing something.  I was hoping someone had some insights.
I put together a codesandbox of a simple react app using css modules here:
https://codesandbox.io/s/31qko09356
Below is a screenshot, you can see that the Button does have a data-react-toolbox attribute, but it isn't styled.
Any ideas?

I think you should check out react-toolbox-themr https://github.com/react-toolbox/react-toolbox-themr. They have an example for create-react-app which is similar to what you would need to do with parcel


To fix: The players are ranked in order (in Score and Leaderboard) && as a result of a tie the corresponding players are on the same rank.

0d0689bf8262774e9e2194e38b74028507528a1a


CCTRI-1982: implemented verdicts logic

Please, remove validation of the supported types of observables (as we discussed at grooming).
Note that validation is still present here:
get_observables = partial(get_json, schema=ObservableSchema(many=True))

Please, remove validation of the supported types of observables (as we discussed at grooming).
Note that validation is still present here, but we don't need it anymore:
get_observables = partial(get_json, schema=ObservableSchema(many=True))

Please, remove validation of the supported types of observables (as we discussed at grooming).
Note that validation is still present here, but we don't need it anymore:
get_observables = partial(get_json, schema=ObservableSchema(many=True))

O! I decided remove validation in next commit. With branch, binded to another task.


mfc5890cncupswrapper: fix a typo

Description of changes
Typo fix to fix eval
Must be 0-rebuild
Will self-merge
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Duplicate of #223250

Oops, I left into the original PR and so no comment, so added a comment and tried to write a fix… Thanks!


Add first_achieved_passing_at

The projects field has "achieved_passing_at", but this is not necessarily the first time a project achieved passing.  Also record when it first achieved passing.  Null this value when an admin who does not already own the project causes this to disappear (so that projects that incorrectly get a badge won't have that value used).
If we can, fill in past values.
Then we can do statistics on "how long it takes to get a badge".

Currently we can run queries like this on "achieved_passing_at":
    select id,left(name,25) as name,
               achieved_passing_at-created_at as achievement_time from projects
               where badge_percentage_0 >= 100 order by achievement_time;

However, it's very misleading because a number of projects have self-reported problems that caused them to lose the badge, and then obtained it again.


[Suggestion] Remove width size lock

it was fine before but with the new additions of 0.3.2 it causes for things to not be visible at all times, it also affects maximizing (on kde)

as you can see, having both the previews and file size visible at the same time is difficult, at least on my theme/font size

it's not a big issue for me personally but it could cause more issues if someone has things bigger

Sure, will do in next release


Add support in GUI for moving and saving IO placement

Description
Add support in GUI to manually move and to save the IO placement.
Initially, a constraint file might be written, but in later stages, manually moving pins can be quite useful.
Suggested Solution

Add possibly to move pin, snapping to grids such that detailed placement and other stages do not run into trouble.
add write_io_placement foo.tcl command.

Additional Context
No response

@eder-matheus can PPL be adjusted to make write_pin_placement a separate command?

@eder-matheus can PPL be adjusted to make write_pin_placement a separate command?

Done

Turn OR into an interactive layout editing system is an endless task that we have avoided.  This and #4068 are just the start once we open this door.  Is it possible to define improvements that would obviate the need to this manually?

@maliberty I just spoke with @louiic: he spoke of constraints to place macros. I think that coming up with some additional constraints is more idiomatic for OpenROAD's approach than to start down the path of GUI editing features...
That said, I think a write_io_placement and write_macro_placement Tcl commands is a good idea. For macros and io placement, this can be used to do some tinkering in text editors and also to speed up the flow by skipping macro and io placement...

Eder already did write_pin_placement in #4073 so I'll close this.  write_macro_placement wouldn't be hard and I'll revise #4068 to be just that.
mpl2 has some support for constraints that we could build on.


Process CSV import one row at a time to permit back-references

Closes: #4998
What's Changed
Instead of processing all rows of a CSV in a single ListSerializer instance, process each row sequentially. This may (may) result in a performance hit, but it permits self-referential models such as TreeModels to be defined in a CSV where later rows reference back to objects defined/created in earlier rows, which was previously not possible in a single CSV import, e.g. for LocationTypes:
name,nestable,parent__name
Region,TRUE,NoObject
Site,FALSE,Region
Building,FALSE,Site

TODO

[x] Explanation of Change(s)
[x] Added change log fragment(s) (for more information see the documentation)
[ ] Attached Screenshots, Payload Example
[x] Unit, Integration Tests
n/a Documentation Updates (when adding/changing features)
n/a Example Plugin Updates (when adding/changing features)
[x] Outline Remaining Work, Constraints from Design

Is there any performance impact for this change?

Almost certainly. I'll see if I can gather some data to quantify it.

Importing 71 IPAddress records via CSV took approximately 15 seconds in develop and approximately 19 seconds in this branch, both with DEBUG = False to turn off DjDT. So it's slower, but not excessively so IMHO.
We definitely should plan to move CSV import to a background task / system job, in any case.


Add Buffer.prototype.getDeferredOperationCount

This pull request introduces a new method on Buffer that allows to retrieve how many operations haven't been applied yet due to a deferral, in an effort to start adding observability into memo's internal state.
We have pretty good confidence that, so long as all messages are delivered, the system will converge. However, higher layers in the stack (e.g., networking, storage, etc.) may cause memo not to see every operation, and so this new simple function will help take operation delivery out of the equation (if the deferred count is zero).
/cc: @joshaber

I won't pretend to review the Rust, but the expectations and API look right! 👍 💯


add code coverage

We this PR we will be sure our JS is covered at 80% but we are free to grow this pourcentage 😉
BTW it should throw an error if we move under 80% of covered code
Fixes : #25748
/CC @XhmikosR, @bardiharborow

/CC @XhmikosR, @bardiharborow

it's give us something like this in js/coverage/lcov-report/index.html

Shouldn't we have a service like Travis so that we can check quickly things? I'm pretty sure there are various services we could integrate.

Travis execute it for us see : https://travis-ci.org/twbs/bootstrap/jobs/348736259#L704

OK, I'm just used to coverage as a repo hook. But this works too.

I thinks it's a good first step and it's pretty convenient to be able to run the coverage locally , but I'm not against a hook in an other PR

Would you like that PR @XhmikosR ? Or do you have any concerns ? If not maybe can you approve my PR 😄

@Johann-S; just make sure you resolve the conflicts right :)


Add nx, xx, gt and lt to .expire

Is your feature request related to a problem?
Right now redis.asyncio.Redis and aioredis have different signatures for .expire.
When wirtting code that support both versions, one has to do something like this: https://github.com/wemake-services/asyncio-redis-rate-limit/blob/6079ee499e6e8f57719519806b1d6514e121ab5a/asyncio_redis_rate_limit/compat.py#L43-L58
Describe the solution you'd like
I propose to add nx, xx, gt, lt boolean options to def expire, like it is in redis.py: https://github.com/redis/redis-py/blob/d3a7a75c7b106e0864b3927c0904058e25c99958/redis/commands/core.py#L1620-L1623
This will make signatures compatible.
This will also make .set and .expire very similar.
Describe alternatives you've considered
Using .set(..., nx=True). It is not the same thing.
Especially with pipelines.
Additional context
No response
Code of Conduct

[X] I agree to follow the aio-libs Code of Conduct

If maintainers are fine with this feature, I can send a PR :)


gaussian_nll takes negative number

Conditions
I tried using gaussian_nll for variational autoencoder.
but I found that this function returns negative number.
this contradicts to likelihood function returns negative number.
what does it mean? is it a bug?

Code to reproduce

from chainer.functions.loss.vae import gaussian_nll
import numpy as np

x = np.array([[ 0.7447, -0.2472, -0.1422,  1.4283, -0.5493],
              [-1.0729,  1.7256, -0.4255, -0.2032,  0.1770],
              [ 1.0486, -0.0203, -0.6579,  1.0881,  0.5992]],dtype='float32')
mean = np.array([[ 0.7442, -0.2477, -0.1422,  1.4270, -0.5493],
                 [-1.0564,  1.6968, -0.4255, -0.2022,  0.1770],
                 [ 1.0484, -0.0214, -0.6579,  1.0880,  0.5992]],dtype='float32')
ln_var = np.array([[-2.9883, -1.4716, -1.8097, -1.5125, -3.2140],
                   [-0.1693, -1.2989, -0.4811, -1.9045,  0.3202],
                   [-3.4957, -2.5788, -3.4621, -2.3956, -3.1281]],dtype='float32')

print(gaussian_nll(x, mean, ln_var))

** Output
variable(-1.009222)

nll is an abbreviation of Negative Log-Likelihood.

Thanks for replying.
I fixed miswriting of issue.
Negative Log-Likelihood function should take positive number.

It's a continuous probability distribution.
So probability density can go above 1, which makes -log(P) < 0.
This is just OK, no bugs here.

Thanks for answer．
I was misunderstanding.


problem with command

when I use the selector @a command, I get the message to run the ingame command!

Hello, I'm the author of PlayerSelectors (the plugin which allows you to use selectors). The issue you're stating here does not come either from this plugin nor PlayerSelectors.
The issue likely comes from the plugin which the command you're trying to execute comes from, which requires the command to be sent as a player. You should try to use this command with a command such as "/as" from the Essentials plugin.
For this part, you should contact the author of this other plugin, as this issue is neither related to PlayerSelectors nor TimeCommander.


Refractor functions746

 Refactor sendUserData and addPersonToEvent together into one function. #746

 Refactor sendUserData and addPersonToEvent together into one function. #746


Add shortcuts to zoom images [feature Request]

it would be nice to add shortcuts to zoom image, using ctrl+mousewheel or
<+> or  <->

Added in caed3e1. Use + and - to zoom in and out.


LiteIcon Has Two Different Downloads

If you look on the LiteIcon website, you see that there is a download for High Sierra and a download for Sierra. Is there a way for brew cask install liteicon to see what macOS version you are using, and download the correct version?

Yes, with a simple conditional.
Care to try a PR?

https://github.com/caskroom/homebrew-cask/pull/42147


Implement Latest Swaps component

Upgrade Swaps component as per design:
https://www.figma.com/design/9wV7YYWN8DI2eJ29kOuZgi/DEX-Phase-1?node-id=0-1&t=AmbSEDrB4aWCpfU9-1

Closing this, let's make these directly in v2.


_retry_on_conflict is unallowed in bulk update requests

AFAICS from docs, for bulk update API we can pass underscore-prefixed 'retry_on_conflict' param, just like for single update request. But in Search::Elasticsearch::Client::5_0::Role::API there is no allowed _retry_on_conflict param, and exception will be raised when we are trying to use it:
Search::Elasticsearch::Error::Unknown params <_retry_on_conflict> in <update>
After API monkey patching bulk update request works as expected:
my $es = Search::Elasticsearch->new();
push @{$es->api('bulk.update')->{params}}, '_retry_on_conflict';

thanks for reporting @ikorchynskyi
would you be up for sending a PR?

Fixed in #150


Question: is it possible to support server-side validation with the form component?

Hi,
This is a really nice library. Thanks for sharing and for the English translation.
I want to use this: http://element.eleme.io/#/en-US/component/form or the standalone input component with the ability to display validation errors that come from the server.
I can do it by simply displaying an error below the component like this:
<el-input
  placeholder="Username or email address"
  v-model="identity"
>
</el-input>
<error>{{ errors.username }}</error>

But that leaves me without a clean, simple way of modifying the input's style (i.e. red border, like the built in form validation does) and I'd prefer to do something like this:
<el-input
  placeholder="Username or email address"
  v-model="identity"
  :error="errors.username"
>
</el-input>

...which would display the error message if it's defined, as well as change the style accordingly.
I tried wrapping the component in a custom one to achieve that but had difficulty syncing the input value. Any recommendations?
Edit: I think this might be related to #983

Fixed in #1221

Awesome. Thanks!


add page for adding/removing questions for a list

Summary
Added a page for adding/removing questions for a list
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Refactoring (non-breaking change to code and structure)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Please check documentation of FOLDER_STRUCTURE. Feel free to call me and discuss it.


Discrepancy in z-range between paper and config

Hi Xiaofeng/Jeff,
First of all, great work for putting together such a solid project for semantic occupancy prediction. The academia needs such a dataset and benchmark.
There is a discrepancy between the Z-range described in the paper and that in the config.

It seems to me that [-5m, 3m] should be the correct one, as the Z origin is on top of the car (aligned with the top lidar mounting position). Could you confirm?
Thanks,
Patrick

Hi Patrick, thank you for your attention to our work. For your concern, we set [-5m, 3m] as the  Z-range in the OpenOccupancy benchmark, and [-3m, 5m] is a writing typo. We appreciate that you point out the problem.


Attach, Detach, and Nested Frames, Oh My!

This PR changes how we handle frames in the DAL. Previously, when connecting a Component to a Frame (up or down), we would create Attribute Prototype Arguments signifying which Input Socket was connected to which Output Socket for a given set of Components, in addition to creating a FrameContains edge between those components.  With this PR, we are relying solely on the FrameContains edge between Components and walking the lineage tree to determine the connection between Input and Output Sockets.  This means we no longer need an Attribute Prototype Argument between sockets, as the connection is 'inferred' from the lineage. As of this change, Input Sockets can only be driven through inference from a single Output Socket, though this can be expanded in the future as the need arises.
This PR also includes 6(!) new test exclusive schemas that can be used to write integration tests with interesting relationships. 'Even Lego' schemas have Input Sockets with even-numbered names, and Output Sockets with odd-numbered names. 'Odd Lego' schemas have Input Sockets with odd-numbered names and Output Sockets with even-numbered names.  There are small, medium, and large flavors of each Even/Odd Lego - allowing us to easily test the various permutations of inferred socket connections.  Small Legos have sockets with names "1", and "2", Medium has "1", "2", "3", "4", and Large Legos have "1","2","3","4","5",and "6".
I've also added an entry to the Component Debug panel to show when a Socket has an inferred connection.
Follow up PR will add WS Events for the frame attachment/detachment and fix up the UI to fill in the socket when it has an inferred connection.
There's definitely room for more tests but that can also follow after this!
via Disney on GIPHY

This passes muster as far as the pinia store goes 🖖

I love the overall idea! Just a few comments.


hardcoded paths in indexer.py

the hardcoded paths
BASE_DIR='./../../jsonld/120822/summoned'
PROV_DIR='./../../jsonld/120822/re-prov'
should be coming from a setting or argument

paths have been changed and are using the ENV info


Allow EnableBuffering + Json.NET \ Xml input formatters to work better

With EnableBufering, using Newtonsoft.Json or a XML input formatter
will throw a sync IO exception by default. Instead actively drain
the stream before deserializing the content.
Fixes https://github.com/aspnet/AspNetCore/issues/16615

/cc @Pilchie \ @mkArtakMSFT for 3.1.0-preview3 consideration

Approved for 3.1.0-preview3.


Add missing disabled property to SegmentedControlOwnProps interface

First of all congrats on releasing v5! The Icon changes are especially welcome.
After upgrading my project to v5 I'm no longer able to build the code as TS complains about an invalid disabled prop I'm providing to SegmentedControl. As far as I could see the feature is still there, so I've added the missing disabled prop to the appropriate interface.

Will get this merged in to a release today


feat: add presentations page

This PR

adds a page that lists presentations

Notes
This is just a list of presentations I could find quickly. Please let me know what I've missed and I would be happy to add them.
We should also create a shareable PowerPoint template that can be shared.

There's also 2 episodes of @dabeeeenster 's podcast: https://www.flagsmith.com/podcast/openfeature and https://www.flagsmith.com/podcast/openfeature-pt-2

There's also an episode of PurePerformance you and I did.


docs: Readability improvements

Readability fixes in the examples. One small fix in the readme.

rerun tests

rerun tests

rerun tests

rerun tests

rerun tests


🐛 Fixed fallback to image-size when url contains uppercase ext or query param

no issue

ensure we're downcasing the detected extension so that we can get a match against our "unprobable" formats
adjust the extension matching regex to account for potential query parameters on the url

Coverage remained the same at 100.0% when pulling 4b9a42c3c91f7d0b2b9fbf63fe3b86cad973026f on kevinansfield:fix-uppercase-or-query-param-fallback into cfd64d47d20b3301f60b0a229fb29bd86bb8009e on jbhannah:master.

Coverage remained the same at 100.0% when pulling 4b9a42c3c91f7d0b2b9fbf63fe3b86cad973026f on kevinansfield:fix-uppercase-or-query-param-fallback into cfd64d47d20b3301f60b0a229fb29bd86bb8009e on jbhannah:master.


add logs extension

Fix:
Adding extension for pod logs.
For example if pod logs is a csv file, update file type to csv.
That is helping us in logs analyzing.

Fix:
Adding extension for pod logs. For example if pod logs is a csv file, update file type to csv. That is helping us in logs analyzing.

Log files are lines of text; they're not normally comma-separated files.  Pod logs are simply the stdout and stderr from the pod.  What I don't understand is why .log is hard codded here.

@RobertKrawitz, Yes I merge it with main and it cause it.
Do you think I should close this PR and open a new one or to keep it in no conflicts ?

@RobertKrawitz, Yes I merge it with main and it cause it. Do you think I should close this PR and open a new one or to keep if in no conflicts ?

Try to back out that merge with main and force push it.  If there's still the conflict, open a new one.

Even if there are no conflicts, the history will still be confusing.


Not necessary message about nonexistent update command

If config.yml exists and you run install command  it shows you message about update command, but this command has been deleted. I think this line is redundant

Yes, you are right. Thanks.
I'm just doing a little commands refactoring in the separate branch, where it will be fixed.

Fix in master. @ket4yii, Can you check it?

@corpsee It's ok. You can close it.


Nullable Fields

Does the ORM currently deal with nullable fields? In my case I have a collection of documents that have a deletedAt field. This field can either be null or a timestamp (corresponding to if the document is deleted or not).
When I try to get the documents of this collection and call .toData() I receive the following exception:
TypeError: Cannot read property 'toDate' of undefined
    at /…/node_modules/firebase-firestorm/lib/decorators/timestamp.js:52:88
    at Function.FieldUtils.process (/…/node_modules/firebase-firestorm/lib/utils/FieldUtils.js:67:20)
    at toData (/…node_modules/firebase-firestorm/lib/decorators/timestamp.js:52:33)
    at Object.field.toData (/…/node_modules/firebase-firestorm/lib/decorators/timestamp.js:72:20)
    at /…/node_modules/firebase-firestorm/lib/Entity.js:20:39
    at Map.forEach (<anonymous>)
    at MyModel.Entity.toData (/…/node_modules/firebase-firestorm/lib/Entity.js:18:16)

It would be great to know if this is expected behaviour. Same concerning fields that are defined on the model but do not exist on the document (if so, this would mean potentially writing migrations in the future).

Hi @richartkeil. I'm having the same issue and i would like to know if you have finally found a solution or workaround ?


[New entry]: russian-related toxic repos

Required parameters
Name of protestware (name):
https://github.com/mermakowich/spaceZZZ
https://github.com/mermakowich/GOYDA-ZOV
https://github.com/ILK17/zov
Link to evidence (commit_link):
https://github.com/mermakowich/spaceZZZ/commit/8ab527f1c9e52b186f43575e740f73a4dd97dd5d
https://github.com/ILK17/zov/commit/f0de3242fad6ceb33bce2c08c799138a5a2faa93
Justification for changes (description):
According to this repo, political slogans are unacceptable in open-source repos regardless of their source and topics.
Type of entry (problem_type):
Political slogan
Additional parameters
Date of detection:
30.08.2024
Date of discreditation (datetime):
30.08.2024
PURL:

[!NOTE]
Usually the name of the package and developer in the package manager is different from the name of the project and repository in Github

#124


Bluetooth: shell: fix bt init sync command

Shell command "bt init sync" now correctly enables Bluetooth
synchronously, and "bt init" enables Bluetooth asynchronously.
Fixes #47860.
Signed-off-by: Andreas Rudolf<EMAIL_ADDRESS>

@alwa-nordic Thank you, yes that is a good idea. I updated the pull request to rename no_ready_cb to sync.