When editing a BeeTable cell with selected text, the selection is lost when mouse hovers in or out of it

I tracked it down to the presence or absence of the <Resizer> component depending on the hoverInfo of the BeeTableTd component. Commenting the code on this snippet solves the issue, but then the resizing capabilities on tds is lost.
https://github.com/tiagobento/kie-tools/blob/f0d12aba742e79035552afce848e7cf169c80e67/packages/boxed-expression-component/src/table/BeeTable/BeeTableTd.tsx#L208-L218
Steps to reproduce:

Launch the Boxed Expression Editor showcase webapp at packages/boxed-expression-component with pnpm start --env live
Create a new Decision Table
Start editing a cell  by double-clicking it and enter some text to it
Make a selection either with the mouse or the keyboard
Move the mouse out of it and see the selection resetting

https://user-images.githubusercontent.com/1584568/233214837-25945d4f-bfa0-4b88-ab8f-36b7fdc30a92.mov
### Acceptance criteria
- [ ] The selection of the text inside a cell is kept no matter where the mouse moves to

My analysis of this issue brings us to 2 components:

https://github.com/kiegroup/kie-tools/blob/main/packages/boxed-expression-component/src/table/BeeTable/BeeTableTd.tsx
https://github.com/kiegroup/kie-tools/blob/main/packages/boxed-expression-component/src/resizing/Resizer/Resizer.tsx

BeeTableTd renders Resizer for td elements, that are currently hovered. Once the mouse leaves td element, the Resizer is discarded. The issue #222 occurs at the exactly the same moment, when mouse leaves td.
The highlighted text 1234 in the video from the description is displayed as Monaco editor cell. The Monaco editor cell  is configured in component bellow. As next step of my analysis I will try to understand if there is a code in BeeTableEditableCellContent that is causing the text 1234 highlighting is lost.

https://github.com/kiegroup/kie-tools/blob/main/packages/boxed-expression-component/src/table/BeeTable/BeeTableEditableCellContent.tsx

The issue #222 can not be reproduced, if we stop setting hoverInfo state for BeeTableTd component. However that causes Resizer being displayed forever once some BeeTableTd is hovered. Notice in the screenshot bellow. 1234 is highlighted, mouse is out of that cell, but many resizers are shown.

During debugging the BeeTableTd event handlers, it seems we could optimize setting hoverInfo state slightly to decrease amount of BeeTableTd re-renders and thus Resizer re-renders.
Original mouse event handlers
    function onEnter(e: MouseEvent) {
      e.stopPropagation();

      setHoverInfo((prev) => getHoverInfo(e, td!));
    }

    function onMove(e: MouseEvent) {
      setHoverInfo((prev) => getHoverInfo(e, td!));
    }

    function onLeave() {
      setHoverInfo((prev) => ({ isHovered: false }));
    }

Proposed mouse event handlers
    function onEnter(e: MouseEvent) {
      e.stopPropagation();

      setHoverInfo((prev) => {
        const currentHoverInfo: HoverInfo = getHoverInfo(e, td!);
        if(currentHoverInfo.isHovered !== prev.isHovered && currentHoverInfo.part !== prev.part) {
          return currentHoverInfo;
        }

        return prev;
      });
    }

    function onMove(e: MouseEvent) {
      e.stopPropagation();

      setHoverInfo((prev) => {
        const currentHoverInfo: HoverInfo = getHoverInfo(e, td!);
        if(currentHoverInfo.isHovered !== prev.isHovered && currentHoverInfo.part !== prev.part) {
          return currentHoverInfo;
        }

        return prev;
      });
    }

    function onLeave() {
      setHoverInfo((prev) => ({ isHovered: false }));
    }

However these handlers refactoring I was not able to finish in my VS Code IDE without slight change of HoverInfo type.
Original type HoverInfo
export type HoverInfo =
  | {
      isHovered: false;
    }
  | {
      isHovered: true;
      part: "upper" | "lower";
    };

Proposed type HoverInfo
export type HoverInfo = {
      isHovered: boolean;
      part?: "upper" | "lower";
    };

@jomarko Good analysis. Unfortunately I don't think we'll benefit a lot from "optimizing" it, as we need to recalculate hoverInfo for each pixel that the mouse moves. Also, the proposed changes to the HoverInfo type make it less accurate, as there could theoretically be a type where "isHovered" is true, and "part" is either "upper" or "lower", but this is not correct, as you can't have a "part" if isHovered is false.
I think you're going on the right path, tracking down what is making the selection be lost. Maybe the bug is on Feellnput?

@tiagobento FeelInput seems to be not the place, causes the problem.
I tried to reduce it to really minimum, to still display editor after double click, attaching the code bellow, but the issue is still present.
/*
 * Copyright 2021 Red Hat, Inc. and/or its affiliates.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import * as Monaco from "@kie-tools-core/monaco-editor";
import * as React from "react";
import { useCallback, useEffect, useImperativeHandle, useMemo, useRef } from "react";
import {
  feelDefaultConfig,
  feelDefaultSuggestions,
  feelTheme,
  feelTokensConfig,
  MONACO_FEEL_LANGUAGE,
  MONACO_FEEL_THEME,
} from "./FeelConfigs";

export type SuggestionProvider = (
  feelExpression: string,
  row: number,
  col: number
) => Monaco.languages.CompletionItem[];

export interface FeelInputProps {
  enabled: boolean;
  value?: string;
  suggestionProvider?: SuggestionProvider;
  onBlur?: (value: string) => void;
  onPreviewChanged?: (preview: string) => void;
  onKeyDown?: (event: Monaco.IKeyboardEvent, value: string) => void;
  onChange?: (event: Monaco.editor.IModelContentChangedEvent, value: string, preview: string) => void;
  options?: Monaco.editor.IStandaloneEditorConstructionOptions;
}

export interface FeelInputRef {
  setMonacoValue: (newValue: string) => void;
  getMonacoValue: () => string | undefined;
  /**
   * insert a newline character to the editor in the current position and move the cursor to new position
   */
  insertNewLineToMonaco: () => void;
  isSuggestionWidgetOpen: () => boolean;
}

Monaco.languages.register({
  id: MONACO_FEEL_LANGUAGE,
  aliases: [MONACO_FEEL_LANGUAGE, "feel", "feel-dmn"],
  mimetypes: ["text/feel"],
});

Monaco.editor.defineTheme(MONACO_FEEL_THEME, feelTheme());

Monaco.languages.setMonarchTokensProvider(MONACO_FEEL_LANGUAGE, feelTokensConfig());

// Don't remove this mechanism. It's necessary for Monaco to initialize correctly and display correct colors for FEEL.
// let __firstTimeInitializingMonacoToEnableColorizingCorrectly = true;

export const FeelInput = React.forwardRef<FeelInputRef, FeelInputProps>(
  ({ enabled, value, suggestionProvider, onBlur, onPreviewChanged, onKeyDown, onChange, options }, forwardRef) => {
    const monacoContainer = useRef<HTMLDivElement>(null);

    const monacoRef = useRef<Monaco.editor.IStandaloneCodeEditor>();

    // useEffect(() => {
    //   if (!__firstTimeInitializingMonacoToEnableColorizingCorrectly) {
    //     return;
    //   }

    //   console.info("Registered FEEL language on Monaco Editor to enable correct 'colorize' call.");
    //   Monaco.editor
    //     .create(monacoContainer.current!, { theme: MONACO_FEEL_THEME, language: MONACO_FEEL_LANGUAGE })
    //     .dispose();
    //   __firstTimeInitializingMonacoToEnableColorizingCorrectly = false;
    // }, []);

    // useEffect(() => {
    //   if (!enabled) {
    //     return;
    //   }

    //   const disposable = Monaco.languages.registerCompletionItemProvider(MONACO_FEEL_LANGUAGE, {
    //     provideCompletionItems: (model: Monaco.editor.ITextModel, position: Monaco.Position) => {
    //       let completionItems = feelDefaultSuggestions();

    //       if (suggestionProvider) {
    //         const items = suggestionProvider(model.getValue(), position.lineNumber, position.column - 1);
    //         if (items.length > 0) {
    //           completionItems = items;
    //         }
    //       }

    //       return {
    //         suggestions: completionItems,
    //       };
    //     },
    //   });

    //   return () => {
    //     disposable.dispose();
    //   };
    // }, [enabled, suggestionProvider]);

    const config = useMemo(() => {
      return feelDefaultConfig(options);
    }, [options]);

    // This creates the Monaco Editor
    useEffect(() => {
      if (enabled && !monacoRef.current) {
        const element = monacoContainer.current!;

        const editor = Monaco.editor.create(element, config);

        // editor.onDidChangeModelContent((event) => {
        //   const value = editor.getValue();
        //   Monaco.editor.colorize(value, MONACO_FEEL_LANGUAGE, {}).then((colorizedValue) => {
        //     onChange?.(event, value, colorizedValue);
        //   });
        // });

        // editor.onDidBlurEditorWidget(() => {
        //   onBlur?.(editor.getValue());
        // });

        // editor.onKeyDown((e) => {
        //   onKeyDown?.(e, editor.getValue());
        // });

        // editor.focus();
        monacoRef.current = editor;
      }
    }, [config, enabled, onBlur, onChange, onKeyDown]);

    // This updates the Monaco Editor instance if the value is changed externally
    // useEffect(() => {
    //   if (enabled) {
    //     monacoRef.current?.setValue(value ?? "");
    //     monacoRef.current?.setPosition(calculatePosition(value ?? ""));
    //   }
    // }, [value, enabled]);

    // When the Monaco Editor instance is not enabled anymore, we update the value.
    // useEffect(() => {
    //   if (!enabled && monacoRef.current) {
    //     onBlur?.(monacoRef.current?.getValue());
    //     monacoRef.current?.dispose();
    //     monacoRef.current = undefined;
    //   }
    // }, [enabled, onBlur]);

    // useEffect(() => {
    //   Monaco.editor.colorize(value ?? "", MONACO_FEEL_LANGUAGE, {}).then((colorizedValue) => {
    //     onPreviewChanged?.(colorizedValue);
    //   });
    // }, [onPreviewChanged, value]);

    // useImperativeHandle(forwardRef, () => ({
    //   setMonacoValue: (newValue: string) => monacoRef.current?.setValue(newValue),
    //   getMonacoValue: () => monacoRef.current?.getValue(),
    //   insertNewLineToMonaco: () => monacoRef.current?.trigger("keyboard", "type", { text: "\n" }),
    //   isSuggestionWidgetOpen: () =>
    //     (monacoRef.current as any)?._contentWidgets["editor.widget.suggestWidget"]?.position,
    // }));

    return (

    );
  }
);

function calculatePosition(value: string) {
  const lines = value.split("\n");
  const lineNumber = lines.length;
  const column = lines[lineNumber - 1].length + 1;
  return { lineNumber, column };
}

My further investigation brings me to idea, that the problem is 'DOM manipulation' in general. We add and remove Resizer.
I tried to simplify FeelInput to not use Monaco library, to simply use text input html element.
In such scenario the behavior is still the same, selected area is reset each time mouse moves outside of td, i.e. when Resizer is removed from DOM
Simplified FeelInput
export const FeelInput = React.forwardRef<FeelInputRef, FeelInputProps>(
  ({ enabled, value, suggestionProvider, onBlur, onPreviewChanged, onKeyDown, onChange, options }, forwardRef) => {

    return (

        {/*
 */}
        <form>
          <input type="text" />
        </form>

    );
  }
);

Simplified FeelInput visual

Just replicating here what was discussed:
@ljmotta and I were looking at this separately but came to a similar conclusion, the problem lies in re-rendering the BeeTableTs component whenever isHovered is changed, because that causes the Resizer component to be rendered or not.
A possible fix would be to keep the Resizer rendered while the input is focused, like this:
https://github.com/kiegroup/kie-tools/compare/main...thiagoelg:fix-resizable-input?expand=1


dotnet error

Hi
A colleague of mine is trying to use this extension to make backups, however they're getting the dotnet error in the screen clip. Is there possibly something that needs to be installed so the TMDL proxy will run? I've tried uninstalling the extension and along with logging out and back in, but neither seem to have fixed this.

please also check the Prerequisites you also need to install the dotnet framework
however, I am just running some other tests to find out some other potential dependencies here as it does not seem to be the only thing thats required

Ah. I missed the prerequisites under the TMDL section. I'll get ASP.Net installed and try again. 🙏
Regards
Stephen
Get Outlook for Androidhttps://aka.ms/ghei36

From: Gerhard Brueckl @.>
Sent: Monday, December 18, 2023 9:09:37 PM
To: gbrueckl/PowerBI-VSCode @.>
Cc: Stephen Maguire @.>; Author @.>
Subject: Re: [gbrueckl/PowerBI-VSCode] dotnet error (Issue #22)
please also check the Prerequisiteshttps://github.com/gbrueckl/PowerBI-VSCode?tab=readme-ov-file#prerequisites you also need to install the dotnet framework
however, I am just running some other tests to find out some other potential dependencies here as it does not seem to be the only thing thats required
—
Reply to this email directly, view it on GitHubhttps://github.com/gbrueckl/PowerBI-VSCode/issues/22#issuecomment-1859735544, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AO3PBAVTUBTTNS5WLIA4SN3YJ724DAVCNFSM6AAAAABAYYPLXGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJZG4ZTKNJUGQ.
You are receiving this because you authored the thread.Message ID: @.***>

Okay, so I setup a Sandbox machine for this.
I used the prerequisite link for ASP.NET which took me to version 7. I installed the latest versions of both the ASP.NET Hosting Bundle and the full SDK of the latest .NET 7 and I'm still getting the same error.
I followed your link to the other thread and ran the code dotnet 'c:\Users\WDAGUtilityAccount\.vscode\extensions\gerhardbrueckl.powerbi-vscode-1.3.0\resources\TMDLProxy\TMDLVSCodeConsoleProxy.dll', '55000',  'pdEGcf5QfZATl27sdGhMzWIygDfnftUAplc08YfAapb8FyFedg60U5pd7rSomyGG'
which gave the message

So, i installed the latest .NET 6 ASP.NET Hosting Bundle and BINGO!

I reset the Sandbox and installed just the .NET 6 ASP.NET Hosting Bundle and it worked perfectly! Seems you need to install this specific version to get it to work. https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-aspnetcore-6.0.25-windows-hosting-bundle-installer

I just did about the same thing :D
Also I changed the framework in the underlying code to 7 so future version will require .Net Framework 7
In addition it also seems that you need to install .NET Desktop Runtime as otherwise the popup for authentication does not surface and you will get an authentication error
could you also verify this with .net 6?
e.g. if you simply try to Edit TMDL on any of your datasets?
I will update the docs accordingly and do another release - probably today

Okay. So I tried again, but looks like you've updated to the version, as I needed to use .NET 7 to get the TMDL server to load and download the TMDL for a model.

yes, with v1.3.1 which was released yesterday I upgraded everything to .NET Framework 7
but does it work for you know after installing all the .Net Framework 7 components?

Yes, it does as per the instructions in the updated readme. Thanks for the help.
I also tested installing just the SDK (which covers both ASP.NET Core and Desktop Runtime) and it worked. It might be simpler to have people just install the SDK.

will add a hint for the SDK to the documentation
closing this as the root cause is fixed now


[SLAM] Apply cameraOptions passed in CreateInstance inteface

@lisa0314 SLAM only support one option for camera config, do we still need this feature?


[Backport - Liberty] MaaS: Use maas_external_ip_address properly

The maas_external_ip_address variable was ignored in the rpc_maas
role. This patch sets the variable to external_lb_vip_address as a
default and allows a deployer to override the default if needed.
Manual backport of 0ffd8af from master. The master branch has some
Ansible 2 updates that aren't needed for Liberty.
Connects rcbops/u-suk-dev#1036

Dropping this since Liberty isn't being released any longer.


remove_vehicle function in services/director.py

Purpose of the PR:
To resolve #59: Add method to remove vehicles from Director repo
Summary of Changes:

services/inventorydb.py
added a method deregister_vehicle
services/director.py
added method remove_vehicle
added method remove_director_repo_for_vehicle

@tanishqjasoria Can you add some test cases for this?

@mnm678 I have added a test for remove_director function!

While registering a vehicle with the director using the add_new_vehicle method, while creating the repository for the vehicle, the current working directory(which is the uptane working directory) is changed to the director repos directory (as the repository Tool expects to use the current directory)
Therefore after adding a vehicle, it needs to be changed to the uptane working directory again.


[FORMAT ERROR] Confirmed transaction object is invalid.

It seems there is unparsable response data while calling getLastBlock()
Error : [FORMAT ERROR] Confirmed transaction object is invalid.
Following is the API response from https://wallet.icon.foundation/api/v3
{   "jsonrpc": "2.0",   "result": {     "version": "0.3",     "height": 11246361,     "signature": "2Wev8Bb8yUohf6KOc6Dcu4d6gN9WA93UTg1UrwRmELAvdPSMtkp+b/t4F2ZH9qDrAtJ9hh5I47IfeUx8xI4fAQA=",     "prev_block_hash": "7704b8814526e2b53ee82111ccaaa538485a2891b0cd568e03ffec8b6292977d",     "merkle_tree_root_hash": "d3503227cbdeb52f837c35fe53469ce8b8c9c7f80673e7df170b409dc09753cb",     "time_stamp":<PHONE_NUMBER>731290,     "confirmed_transaction_list": [       {         "version": "0x3",         "timestamp": "0x597c51164eb5a",         "dataType": "base",         "data": {           "prep": {             "irep": "0xa4b66e7ed77bb7af02e",             "rrep": "0x28d",             "totalDelegation": "0x985a505c48dee931ec01bb",             "value": "0x3ff3c31951799a25"           },           "result": {             "coveredByFee": "0x1977cdc0897000",             "coveredByOverIssuedICX": "0x0",             "issue": "0x3fda4b4b90f02a25"           }         },         "txHash": "0xde1d38ce3db8ddbf3b17caa4c9bf1ffd42fca0f1e40fa9c3ae65307e3aa31a2f"       },       {         "data": {           "method": "transfer",           "params": {             "_value": "0x56bc75e2d63100000",             "_to": "hxd87067f60b7f89c30fb9a9fc95dbd2dafcd9ea38"           }         },         "stepLimit": "0x7a120",         "signature": "WcYKLQCaUDCz+HfpU1RpVjAPJu5ziy0zAWWh+jWns7s5LZgmEDV6UQjDSEFk3VlGAkGNdqqb5x4LjJ1AbVLQpgE=",         "dataType": "call",         "nid": "0x1",         "from": "hx01ef2d50c35a518366fa03df8b201cf7ac95ef40",         "to": "cx429731644462ebcfd22185df38727273f16f9b87",         "version": "0x3",         "nonce": "0xf4240",         "timestamp": "0x597c51155f230",         "txHash": "0x11e84a9027a1d459c0342ed8e3984414265ecee0fc1ca97cee46471fb052bb49"       }     ],     "block_hash": "dc53b1dc747169122c708c089f49e1ca876906368e6d077fbd015e7f257f6c84",     "peer_id": "hx554ea6c0c56e6f30682dcaa79a326da3a364899f",     "next_leader": "hx554ea6c0c56e6f30682dcaa79a326da3a364899f"   },   "id": 1234 }

Hello, thank you for reporting the issue.
As we updated our package to support the JSON-RPC API v3 specification, this issue will be resolved in the new version of 'icon-sdk-js'(v0.0.18). Please try it and ask us if there are any problems. Thank you.


FindNanopb.cmake gives misleading error when protoc is not installed

It looks like HAS_COLON_IN_PATH is asserted when FindNanopb.cmake is executed without protoc installed.  I'm not sure why an empty value in PROTOC_VERSION_STRING is matching to the pattern ":", but the result is that the "Your path includes a ':' character [...]" error is output, which can be confusing (ask me how).  A more helpful message would first check if PROTOC_VERSION_STRING is empty, and warn that protoc isn't found.
Found in nanopb v0.45, on windows.  cmake v3.22.2

Might even remove that check altogether, considering protoc 3.6 is ancient nowadays.


Fixes a typo on the Ruby on Rails documentation

Added "n" to the spelling of database-backend on the Ruby on Rails documentation

Thank you for the PR!


Error Installing Pykaldi compatible fork of clif on Ubuntu 18.04

Since llvm has shifted to github, I downloaded LLVM and clang specific version corresponding to SVN trunk 307315. Then  changed install_clif.sh and disabled svn co commands for the above downloads. It generated many warnings and failed with error message:
tools/clif/python/utils/proto_util.cc:517:24: note: suggested alternative: 'Py_TPFLAGS_HEAPTYPE'
   Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES | Py_TPFLAGS_BASETYPE, // tp_flags
                        ^~~~~~~~~~~~~~~~~~~~~
                        Py_TPFLAGS_HEAPTYPE
tools/clif/python/utils/proto_util.cc:859:1: error: too many initializers for 'PyNumberMethods'
 };
 ^
tools/clif/python/utils/proto_util.cc:859:1: error: no matches converting function 'adapter' to type 'unaryfunc {aka struct _object* (*)(struct _object*)}'
In file included from tools/clif/python/utils/proto_util.cc:13:0:
/home/pp/nfr/pykaldi-master/tools/clif_backend/llvm/tools/clif/python/slots.h:107:11: note: candidates are: template<PyObject* (* Wrapper)(PyObject*, PyObject*, PyObject*), class ... T> PyObject* clif::slot::adapter(PyObject*, T ...)
 PyObject* adapter(PyObject* self, T... in_args) {
           ^~~~~~~
/home/pp/nfr/pykaldi-master/tools/clif_backend/llvm/tools/clif/python/slots.h:96:3: note:                 template<class R, R (* AdaptOut)(PyObject*), PyObject* (* Wrapper)(PyObject*, PyObject*, PyObject*), class ... T> R clif::slot::adapter(PyObject*, T ...)
 R adapter(PyObject* self, T... in_args) {
   ^~~~~~~
/home/pp/nfr/pykaldi-master/tools/clif_backend/llvm/tools/clif/python/slots.h:91:11: note:                 template<PyObject* (* Wrapper)(PyObject*)> PyObject* clif::slot::adapter(PyObject*)
 PyObject* adapter(PyObject* self) { return Wrapper(self); }
           ^~~~~~~
/home/pp/nfr/pykaldi-master/tools/clif_backend/llvm/tools/clif/python/slots.h:84:3: note:                 template<class R, R (* AdaptOut)(PyObject*), PyObject* (* Wrapper)(PyObject*)> R clif::slot::adapter(PyObject*)
 R adapter(PyObject* self) {
   ^~~~~~~
tools/clif/python/utils/proto_util.cc:909:24: error: 'Py_TPFLAGS_CHECKTYPES' was not declared in this scope
   Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES | Py_TPFLAGS_BASETYPE, // tp_flags
                        ^~~~~~~~~~~~~~~~~~~~~
tools/clif/python/utils/proto_util.cc:909:24: note: suggested alternative: 'Py_TPFLAGS_HEAPTYPE'
   Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES | Py_TPFLAGS_BASETYPE, // tp_flags
                        ^~~~~~~~~~~~~~~~~~~~~
                        Py_TPFLAGS_HEAPTYPE
tools/clif/python/utils/proto_util.cc: In function 'PyObject* clif_python_utils_proto__util_clifwrap::Init()':
tools/clif/python/utils/proto_util.cc:996:22: error: 'Py_InitModule3' was not declared in this scope
   PyObject* module = Py_InitModule3("clif.python.utils.proto_util", nullptr, "CLIF-generated module for clif/python/proto_util.h");
                      ^~~~~~~~~~~~~~
tools/clif/python/utils/proto_util.cc:996:22: note: suggested alternative: 'Py_Initialize'
   PyObject* module = Py_InitModule3("clif.python.utils.proto_util", nullptr, "CLIF-generated module for clif/python/proto_util.h");
                      ^~~~~~~~~~~~~~
                      Py_Initialize
ninja: build stopped: subcommand failed.

Complete log is enclosed in the attached file. Please help to resolve the issue.
clif_error_log.txt

Hi,
This seems to be a clif issue rather than a pykaldi issue. So, I recommend:

Try installing it with protobuf 3.5.0 like we do in our install scripts
Ask the clif developers directly as they will have a better idea of what is happening and what is needed to correct it

Obtained LLVM from svn repository and installed clif. Installation completed with some warnings.

Thanks for the update. We will be looking at switching from svn to git in the near future and this reports help us be aware of the problems we might have to deal with.


dynamic datasource routing

Hi, first time to use guice:)
Spring provides AbstractRoutingDatasource to support dynamic datasource routing (more info here).
Does guice have this feature or is there any plugins supporting this ?

anybady? any hint?

Any updater?


Local minima problem isn't mentioned in Exploration-exploitation tradeoff

Page 14, section 1.4.1
The problem of local maxima isn't mentioned.
E.g., In chess, a piece sacrifice could be the right first step to a winning combination, but if the reward function is weighted too heavily for material advantage, the sacrifice path might not ever get explored.  On the other hand, if reward function is weighted too lightly for material advantage, the RL would waste too time exploring blunders.

ack

ack


Showing only one (latest) project saved offline

Open Offline option showing only one (latest) project saved  offline.
On clicking the "Open Offline" option it shows only one project saved offline but in previous versions it showed upto six offline saved projects.
Device Information [optional]:

OS: [Windows]
Browser [Microsoft Edge/Chrome]

Are you working on this issue? (Yes/No)
No.

PR #2078 should solve this issue.

PR #2078 should solve this issue.


Adding support of Project Amber in CoCo

Project Amber is the code name for Intel’s groundbreaking service/SaaS-based implementation of an independent trust authority that provides attestation of workloads in a public/private multi-cloud environment.
Designed to remotely verify and assert trustworthiness of compute assets such as Trusted Execution Environments (TEEs), devices, Roots of Trust, and more, the service is operationally independent from the Cloud/Edge infrastructure provider hosting the confidential computing workloads.
We would like add support of Project Amber as a production ready 3rd party Remote attestation service in CoCo.  It's win-win for both CoCo and project Amber to bring more potential end users and customer to both sides.
The architecture is as below :

This is fully compatible with current CoCo design.

@peterzcst Hello, this is an interesting proposal.
I have one question. What type of evidence is covered by Amber attestation service? Do you suppose to use tdx or sgx evidence implemented here?

@tnakaike fwiw there's a pending PR for Amber integration with KBS at https://github.com/confidential-containers/kbs/pull/77


Payable functions do not have payable set in JSON ABI

When building a smart contract with a function marked with #[payable], the ABI JSON output by the build does not set payable to true.
Manually editing the JSON after the build seems to give the expected results, but this is quite cumbersome.
As you can see, the commit in which the payable attribute was added (here) did not modify the JSON generation to include the payable attribute.

Thanks for report, fix is on it's way!


Update jsoniter-scala-core, ... to 2.9.0

Updates

com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-core
com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-macros

from 2.8.2 to 2.9.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.github.plokhotnyuk.jsoniter-scala" } ]

labels: library-update, semver-minor

Superseded by #218.


Support truffleruby 2.20.3

Coming from https://github.com/oracle/truffleruby/issues/1449#issuecomment-753972997
Current latest image is bundling truffleruby 2.20.2 . 2.20.3 has already shipped.

I wasn't aware 20.3 had shipped, updating dockerfiles now.

I wasn't aware 20.3 had shipped, updating dockerfiles now.

Dockerhub is building the 20.3 images now.

Dockerhub is building the 20.3 images now.

thx for the quick action!
Do you know how these version updates can become more visibly noticed in the future? Don't know what's the ruby (or jruby) docker image release policy, or whether it's the same team handling both the official and docker images releases.

thx for the quick action!
Do you know how these version updates can become more visibly noticed in the future? Don't know what's the ruby (or jruby) docker image release policy, or whether it's the same team handling both the official and docker images releases.

It'd be nice to have the Docker images available soon after the release.
I do a few steps after a release, notably https://github.com/oracle/truffleruby/blob/master/doc/contributor/updating-ruby-installers.md
Maybe I could do a PR here when there is a new release, if it's just running some script like update-dockerfiles?
Are the Docker images built as soon as a commit is merged to master?
FWIW, there is also a list of dates for future releases at https://www.graalvm.org/release-notes/version-roadmap/

It'd be nice to have the Docker images available soon after the release.
I do a few steps after a release, notably https://github.com/oracle/truffleruby/blob/master/doc/contributor/updating-ruby-installers.md
Maybe I could do a PR here when there is a new release, if it's just running some script like update-dockerfiles?
Are the Docker images built as soon as a commit is merged to master?
FWIW, there is also a list of dates for future releases at https://www.graalvm.org/release-notes/version-roadmap/

@eregon I'm subscribed to the TR releases now so I'm happy to take the action to bump the docker image version.
Alternatively, if you want to make it an action item to send a PR here, it's pretty easy to update these images:

update the variable TRUFFLERUBY_STABLE_VERSION at the top of https://github.com/flavorjones/docker-truffleruby/blob/master/update-dockerfiles
run ./update-dockerfiles
update the README with up-to-date tag names (which could also be scripted, I've just been too lazy to do so yet)

And I believe the image builder will get kicked off as soon as the change hits master.

@eregon I'm subscribed to the TR releases now so I'm happy to take the action to bump the docker image version.
Alternatively, if you want to make it an action item to send a PR here, it's pretty easy to update these images:

update the variable TRUFFLERUBY_STABLE_VERSION at the top of https://github.com/flavorjones/docker-truffleruby/blob/master/update-dockerfiles
run ./update-dockerfiles
update the README with up-to-date tag names (which could also be scripted, I've just been too lazy to do so yet)

And I believe the image builder will get kicked off as soon as the change hits master.

@eregon I'm subscribed to the TR releases now so I'm happy to take the action to bump the docker image version.

Great!
I'm happy if you do it, as I already have quite a few things to do after a release :)

@eregon I'm subscribed to the TR releases now so I'm happy to take the action to bump the docker image version.

Great!
I'm happy if you do it, as I already have quite a few things to do after a release :)


Use multiplier to determine health level

Instead of removing e.g. 10 health levels to start with 5 hearts, 50% of the health level should be used. This way, the mod becomes more compatible to other mods like spiceoffabric or healthlevels, without changing the original idea of the reduced health level.
Currently, when starting a world with spiceoffabric in carrot mode, the inchling will only have one heart, because spiceoffabric reduces the health level by 8 (pr open to make it use 60% hl's instead of always reducing the hl by 8). Then, this mod reduces it by another 10 to only 2 left.
This could also lead to a case where the player had negetive health levels.
This can be prevented by using a multiplier: spiceoffabric sets it to 60% of 20 = 12, extra-origins sets it to 50% of this, leaving the player with 6 hl's or 3 hearts.
Another example:
Let's say I have 3 mods: origins, spiceoffabric and healthlevels.
Currently,
Healthlevels sets the starting hl to 10. Spiceoffabric then reduces it by 8. origins reduces it by 10 again.
The player is left with -8 health levels.
With these changes, healthlevels would still reduce it by 10 to 10 (wil create a pr there to fix this as well), but spiceoffabric sets the hl to 60% of that (6), and origins to 50% of this (3), so the player is left with 1.5 hearts, instead of negative hearts.
The proposed changes are tested and are confirmed to work as expected. though, additional testing is off course welcome as well as comments or ideas to improve mod compatibility even more.
This pull request might need a change in the description of the power, as it's technically not "5 hearts less" anymore but "50% of the hearts", though it doesn't make a change without additional mods changing the health level (same for piglin).
It should be noted that this change should be proposed to all origin addons making use of this feature to stay consistent! Though this change isn't big and easy to implement.

Hi! Thanks for the PR. I thought a while about this, and came to the conclusion that I think the flat health change on origins is the better way to go.
There are several reasons for this.

Using a multiplier instead of a flat change means that the multiplier affects not the base health, but the modified base of the health attribute. As such, flat modifiers gained through other means (such as equipment) get affected by the health change of the origin. In my opinion, this contradicts the idea behind origins being "what you are", as that, in my mind, means that the base value of attributes gets modified.
Changing to a modifier because mods you use change basic assumptions about the game essentially means that the base origins are being balanced for a modded scenario. That is not something that can be done realistically. What if somebody adds a mod that makes all players deal 2x damage? Should a Blazeborn in that case only deal +3 total damage when burning (add to the total) or deal +3 base damage which then gets multiplied to result in +6 total damage? What if somebody adds a mod that adds long fall boots or slime boots to negate fall damage? Should Origins automatically detect this, and grant Felines a different beneficial power because fall damage negation isn't special anymore? The point is that balancing of the origins has to be focussed on vanilla. Anything beyond that, i.e. balancing in mod packs, is up to the person that is putting together the mod pack. With datapacks, you can quite easily adjust the origins to the new baseline of balancing your game has.

Overall, I see your point though. Having the origins work this way is not good if it causes faulty behavior in some circumstances. One solution I'm seeing is validating an origin for its health and blocking the selection of an origin if it would cause the player to have less than or equal to 0 health. I'm gonna think about this some more and also discuss this subject with others, and maybe they can think of better solutions to handle this. But for now, I feel like this is the best solution.

Hi! Thanks for the PR. I thought a while about this, and came to the conclusion that I think the flat health change on origins is the better way to go.
There are several reasons for this.
1. Using a multiplier instead of a flat change means that the multiplier affects not the base health, but the modified base of the health attribute. As such, flat modifiers gained through other means (such as equipment) get affected by the health change of the origin. In my opinion, this contradicts the idea behind origins being "what you are", as that, in my mind, means that the base value of attributes gets modified.

2. Changing to a modifier because mods you use change basic assumptions about the game essentially means that the base origins are being balanced for a modded scenario. That is not something that can be done realistically. What if somebody adds a mod that makes all players deal 2x damage? Should a Blazeborn in that case only deal +3 total damage when burning (add to the total) or deal +3 base damage which then gets multiplied to result in +6 total damage? What if somebody adds a mod that adds long fall boots or slime boots to negate fall damage? Should Origins automatically detect this, and grant Felines a different beneficial power because fall damage negation isn't special anymore? The point is that balancing of the origins has to be focussed on vanilla. Anything beyond that, i.e. balancing in mod packs, is up to the person that is putting together the mod pack. With datapacks, you can quite easily adjust the origins to the new baseline of balancing your game has.

Overall, I see your point though. Having the origins work this way is not good if it causes faulty behavior in some circumstances. One solution I'm seeing is validating an origin for its health and blocking the selection of an origin if it would cause the player to have less than or equal to 0 health. I'm gonna think about this some more and also discuss this subject with others, and maybe they can think of better solutions to handle this. But for now, I feel like this is the best solution.

Hey there,
thank you for your answer!
I see your point, though I would like to add that Origin should off course not be prepared for every modable szenario out there, as that's not possible, as you said. I thought that these changes might be useful, as all these mods change a really basic and important part of the game AND they can cause a case where a player can end with a negative amount of health (an unintended sign change of an attribute). If all these mods would add a given value on a property, this wouldn't be as bad as it would stay a positive value, but here, we are removing something we expect to exist.
That's not the case with increased damage for example, as no matter what other mods do, we can always add +3 damage, though it might not scale well (but that isn't as bad as a sign change).
Making sure that the player never has 0 or less health is in my opinion a good idea for now, but isn't optimal either.  Removing the penalty of less hearts is changing this balance in a way making the affected origins more powerful than originally thought. Off course a modpack creator can change this.
My approach wouldn't have this drawback though: there is a penalty and it's working without additional configuration.
But if someone could come up with a different solution solving all issues here, that would off course be great and very welcome.


Colors are a bit broken

Since 32ec0da2d43d236805f77e091fb3003def2e4ec9 some text is invisible/has the same color as the background.
Video del 2023-08-22 06-04-30.webm
Before:

So if you disable bold_text_in_bright_colors this is not a problem, yes?

Can you dump me for your terminal.log?

Perfect, thank you. Yeah the output looks fine, so something's wrong with our interpretation. Looking into.

Aha. Think I got it. Try master.

Yep fixed, thanks.


Add framework7 lib

Could you add framework7 library ?
It could be :

Framework7 iOS
Framework7 Material

Nope. I don't manage them, I merge user contributions. It's easy :)


Ignore settings

Nightly: 8deb096
Options regarding ignoring users/certain messages are still missing completely

Basic ignore user functionality has now been implemented.
Ignore "messages" functionality is still missing

Ignore messages functionality implemented in 15b432a4cf10fb2cc02f10b97d209917a45f9d93
For more advanced ignore settings, a new issue should be created


DRILL-7620: Fix plugin mutability issues

DRILL-7620: DRILL-7620: Fix plugin mutability issues
A recent commit made the plugin registry more strict about the rule that, once a plugin is registered, it must be immutable. A flaw enforcing that rule in the UI put the registry in an inconsistent state.
Description
The plugin registry maintains two maps: one from name to config, the other from config to instance. There is also a third: from config to instance, used for "ephemeral" plugins: those that appear in query plans but are not named.
The config-to-instance map requires that a plugin be immutable once placed in the registry. Yet, as it turns out, we have quite a bit of code that changes plugins that reside in the registry. The UI did this: obtain a plugin, set the plugin to enabled/disabled, then update the registry. When this happens, the registry gets out of sync: the state of the plugin has already changed outside the registry, leaving the registry in the wrong state.
Unit tests sometimes grab a file system config and add on a few format configs. Again, this makes the config in the registry inconsistent with its map entry.
To help solve this problem, added methods to the registry to:

Enable/disable plugins by name, using the correct steps.
Copy a plugin for edit to discourage grabbing a config and changing it.
Properly add/remove format plugins for the file system config.

A future PR may make plugin configs immutable. For now, we all must be on our best behavior not to change stored configs.
Error Reporting
Error reporting in the registry was a bit awkward with everything reported by a ExecutionSetupException. Added exceptions specific to the registry to clearly report user-caused errors (undefined plugin names) vs. more subtle issues (serialization issues.) Changed all clients to use the new exceptions.
UI
The UI (StorageResources) did more work than it really should, serializing and deserializing configs more than needed. Streamlined this code to use methods in the registry. An advantage is that code in the registry is easier to test than code in the REST server.
The UI allows users to include comments in their JSON, but we, of course, immediately discard those comments. To avoid the UI doing its own deserialization, moved that logic into the registry, and enhanced the LogicalPlanPersistence mapper to allow comments.
The UI allows users to export plugins as HOCON. But, Jackson cannot write objects as HOCON. Drill is promising something it can't deliver. Left that issue alone for now.
Resolving Plugins from within Plugins
All group scans, sub scans and so on deserialize their plugins. There were several different ways to do this: some checked for a null return value, others did not. After adding the plugin exceptions, some operations that threw unchecked exceptions now throw checked exceptions. To avoid the need to copy-paste try blocks in every group and sub scan, added new methods to do the lookups, check for errors, and throw an unchecked exception if anything goes wrong.
Clearer Cache/Storage Logic
The bug which @agozhiy found was due to a gap in synchronizing the in-memory plugin instance cache with the persistent config cache. Realized that the put operation did not even have to try to synchronize, we do that on get operations. After that fix, the described problem no longer appears.
Documentation
None.
Testing
Added even more plugin registry unit tests. Made the tests more carefully honor the "immutable plugin rule." Manually performed the UI steps in the JIRA ticket.

@paul-rogers please add Jira title with link to Jira in PR description, since it's helps a lot to navigate between PR and Jira. Thanks!

Found a case when a plugin fails to be enabled:

On the storage page, disable a plugin (e.g. "dfs") using "disable" button
Update the plugin and manually set "enabled" option to true
Click Update

Expected result:
The plugin should be enabled.
Actual result:
It is still disabled.

@agozhiy, thanks for your testing: you found a good corner case. Found and fixed the issue.
@arina, thanks for your review. Sorry, this commit adds a bunch more changes to clean up error handling, UI internals, etc.
Reran all unit tests. Verified the manual steps from @agozhiy, description.

@paul-rogers I'll postpone the review till fix for the DRILL-7624 will be included.

Updated to include fixes for DRILL-7620.
Also, out of an abundance of caution, restored two method changes to avoid breaking third-party plugins. (Plugins in Drill were previously updated to use the new methods.)
Added tests to reproduce the issue in DRILL-7620 using a "known bad" mock plugin. Reran all unit tests, which passed.

@paul-rogers looks good, please address two minor comments and squash the commits.
@agozhiy could you please verify that PR addresses all found issues?

Failed in 1.8. Seems a spurious error:
[ERROR] Failures:
[ERROR]   TestLargeFileCompilation.testHashJoin:226->BaseTestQuery.resetSessionOption:380 Failed to reset session option `planner.enable_mergejoin`, Error: org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: IllegalArgumentException: Attempted to send a message when connection is no longer valid.

Thanks to everyone for their help on this. Sorry for the extra work as I fought with some of the more obscure corners of our plugin registry.
Addressed final comments. Squashed commits. Rebased on master.

@paul-rogers, I tested your recent changes to this PR and found some issues:
I used drill-embedded with previously wiped plugins (rm -rf /tmp/drill/sys.storage_plugins) to make them default.
Then:

Updated hive plugin to make it incorrect and enable it:

{
  "type": "hive",
  "configProps": {
    "hive.metastore.sasl.enabled": "false"
  },
  "enabled": true
}

Tried to run a query with cp plugin:

SELECT * FROM cp.`employee.json` LIMIT 20

It worked, but a hive-related exception appeared in the logs (in case of embedded Drill it is being written directly to out)
Disabled the incorrect plugin and repeat the query to cp.
Observed that the exception happened again in spite of disabled hive plugin
Also once my query to cp hanged with the above exception looped, though I wasn't able to reproduce this again.

I think, maybe it's better to return to the old behavior, when the it wasn't possible to enable plugin with incorrect config? And then fix it more thoroughly in a separate commit...

@paul-rogers I guess we should to address issues mentioned by Anton before moving forward...

@agozhiy, here is how I read the old behavior:

The UI sends the plugin as JSON via the createOrUpdatePlugin() mehod.
StorageResources configures its mapper (which is really the global one from LogicalPlanPersistence) to accept comments, then deserializes the JSON to create a config.
If deserialization fails, the UI returns an error message.
StorageResources passes the name and config, as a PluginConfigWrapper to createOrUpdatePluginJSON() which calls createOrUpdate() in the plugin registry.
createOrUpdate() first creates an instance of the plugin. The result will be one of a) null if the config is disabled, b) a StoragePlugin if enabled and valid, or c) an exception if invalid.
createOrUpdate() now does one of:

If enabled, replace existing plugin in the in-memory cache with the new one, or add the new one
If disabled, remove the existing plugin from the in-memory cache

createOrUpdate() then writes the config to persistent storage independent of the above choices.

There are bugs in the above. The above writes to the local cache before storage meaning that, for a brief time, the two are out of sync. If, during that time, another update comes in, then the two will again be out of sync. These issues don't crop up in the current tests, of course.
The new code does:

The UI sends the plugin as JSON via the createOrUpdatePlugin() mehod.
StorageResources calls putJson() in the plugin registry with the name and JSON text.
putJson() decodes the JSON using the system mapper, configured to allow comments, throwing an exception if the decode fails. If succeeds, calls put() with the config.
put() validates that the plugin is not a system plugin, then updates persistent storage.

I see the problem, the put() call above should be the new validatedPut() which creates an instance of the plugin first. Once we make that fix:

validatedPut() creates an instance of the plugin, throwing an exception if instance creation fails.
If OK, validatedPut() writes he plugin to persistent storage and updates the plugin cache.

There is a second bug here: the logic should be:

validatedPut() does one of:

If enabled, updates the config in the plugin cache.
If disabled, removes the config from the plugin cache.

validatedPut() then checks if the old entry had a plugin instance. If , adds it to the ephemeral store.
validatedPut()  writes the updated config to persistent storage.

The planner bugs explained earlier still occur. (A query should not iterate over all registered plugins.) Still, the above fixes should get us back to the original behavior, with the addition of the other fixes we're trying to make.
Made the two fixes noted above. Added unit tests for this case.
@agozhiy, if you run the UI scenario from your earlier comment, you should see that the plugin is rejected if invalid and enabled. The config is stored, but not instantiated, if invalid and disabled.
If you are brave, you can use ZK to change a stored valid config to make it invalid. Doing so simulates the external system failing. With the old version, Drill will fail on startup. With this version, Drill will start, but you'll see error messages in the log each time you plan a query. A future PR will ensure you see no errors at all.
All of this points out more open issues:

If a plugin ever fails, should it be disabled? How would this work for a temporary outage? The user would have to manually re-enable the plugin when it becomes valid again.
On a completely unrelated topic, there is code in the original version that forces all names of stored plugins to lower case (removing any mixed-case versions and replacing them), but no code enforces the lower-case rule in the in-memory cache. (I have tests that specifically test this case.) However, names are forced to lower case in storage. This seems more on the "bug" side of the ledger than the "feature" side. Should we allow mixed case everywhere or nowhere? Yet another thing to fix in the next PR.

Rebased on latest master to resolve conflict.

@paul-rogers

if you run the UI scenario from your earlier comment, you should see that the plugin is rejected if invalid and enabled. The config is stored, but not instantiated, if invalid and disabled.

I like this behavior, +1 for this approach.

If a plugin ever fails, should it be disabled? How would this work for a temporary outage? The user would have to manually re-enable the plugin when it becomes valid again.

I think in this case we should NOT disable the plugin. Once DB will be back online, assume we have rdbms plugin, user will be able to query using this plugin and no additional actions will be required. The problem in disabling is that only admin has permission to enable  / disable plugins, so on Production environments real users would first need to know when DB is back online and then ask admins to enable the plugin, which maybe not really convenient.

On a completely unrelated topic, there is code in the original version that forces all names of stored plugins to lower case (removing any mixed-case versions and replacing them), but no code enforces the lower-case rule in the in-memory cache. (I have tests that specifically test this case.) However, names are forced to lower case in storage. This seems more on the "bug" side of the ledger than the "feature" side. Should we allow mixed case everywhere or nowhere? Yet another thing to fix in the next PR.

We should enforce lower-case plugin names everywhere.

@paul-rogers, the problem is: if a plugin is invalid and disabled, it is not being rejected. And later you can enable the plugin, causing the issue I described. (Validation should happen during enabling plugins).

@agozhiy, thanks for finding the enable case.
Added validation on enabling the plugin. To do this right, needed to copy the config (can't change the state of a config already in the in-memory cache.) Making a copy uncovered equals() bugs in some format plugins, so fixed those.
Forced all plugin names to lower case.
Rebased on the latest master to resolve conflicts.

+1, LGTM


Deadman notification is reset too early

Avoid duplicates

[ ] Bug is not mentioned in the FAQ
[ ] Bug is not already reported in another issue

Technical details

Device name:
iOS Version:
App Version:

File RiskProvider.swift, line 290 and 322 (on branch release/1.14.x at 1bc728)
Describe the bug

The deadman notification reset is called two times:
a) first from executeExposureDetection, before calling the completion handler (line 290)
b) second from calculateRiskLevel after the completion handler (line 322)
(a) seems too early, because the completion handler might fail.
Note: I have seen this only at a code review. It looks wrong, but I have not verified it with any test.
Of course there might be a misunderstanding on my side.
Steps to reproduce the issue

Expected behaviour

Deadman notification is reset not before the risk calculation is really done and nothing can fail after this.
Possible Fix

Just delete line 289 - 290?
Additional context

Internal tracking ID: EXPOSUREAPP-5100

@ndegendogo Thanks. We will forward this to the developers. Best regards, DS

Internal tracking ID: EXPOSUREAPP-5100
Corona-Warn-App Open Source Team

As far as I see, this is meanwhile fixed on branch release/1.13.x 😀

@ndegendogo,
Your info has been forwarded to the developers´s ticket. Thanks!


Remove debug line that is output unconditionally

:+1:

Thanks @benbjohnson -- merging on green build.


GPU Support for Poisson Random Noise Generator in TensorFlow

I am interested in using Generative Adversarial Network (GAN) to generate synthetic images for algorithm training. Poisson-distributed noise is an important source of noise in images. However, it does not appear that the TensorFlow Poisson noise generator has GPU support. The following code fails to execute:
import tensorflow as tf

with tf.Session() as sess:
    with tf.device("/gpu:0"):
        test = sess.run(tf.random.poisson(1.0, [], dtype=tf.float32))
print(test)

with the error message
tensorflow.python.framework.errors_impl.InvalidArgumentError: Cannot assign a device for operation random_poisson/RandomPoissonV2: node random_poisson/RandomPoissonV2 (defined at /home/kjmiller/anaconda3/envs/tf_clone/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py:1748)  was explicitly assigned to /device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/device:CPU:0, /job:localhost/replica:0/task:0/device:XLA_CPU:0, /job:localhost/replica:0/task:0/device:XLA_GPU:0 ]. Make sure the device specification refers to a valid device.
	 [[random_poisson/RandomPoissonV2]]

When training my model (the code is too much to place here), I get
LookupError: No gradient defined for operation 'Generator/RandomPoissonV2' (op type: RandomPoissonV2)

I have tried overriding the gradient in the hopes that is the issue, but that did not work. I am pretty should that the second error also has to do with GPU support, as the lam argument input to tf.random.poisson is a tensor that lives in GPU memory.
It would be a tremendous help if TensorFlow had GPU support for Poisson-distributed noise, as this is a fundamental noise source for any image taken with a camera.

@kjmiller944, Which Tensorflow version are you using.
I tried with Tf 2.0, i didn't receive error message.Please take a look at gist here. Thanks!

@gadagashwini thank you. I just realize now that I did not correctly install my TensorFlow 2.0 GPU version. I am still getting the second error message regarding the ValueError but I want to try something and get back to you. Thank you for your quick reply.

@kjmiller944, Any update!


Get Started linked to the Pricing section

Summarize what this PR fixes:-  Linked the Get Started button to the pricing section
Fixes #753
Checklist
(Add an x between the brackets to check the items)

[ x] I have summarize what this PR fixes above
[ x] I have provided the issue ID/URL above
[ x] I have not added Bootstrap or jQuery and used correct styling guide.
[ x] This PR fixes only the issue mentioned above (create separate PRs for separate issues)
[ x] I was the first one to claim the issue or I created the issue - I created the issue

Great job!


Update connection.md

Add instructions on how to connect FMU to Raspberry Pi by UART

Edited a bit and moved SYS_COMPANION out of a separate block where it is too notable.
Also removed inactual SITL section.


[tool_crash] UnsupportedError: Unsupported operation: Cannot build for windows_uwp_x64

Command
flutter run -d windows-uwp

Steps to Reproduce

...
...
...

Logs
UnsupportedError: Unsupported operation: Cannot build for windows_uwp_x64
#0      ApplicationPackageFactory.getPackageForPlatform (package:flutter_tools/src/application_package.dart:115:9)
#1      FlutterDevice.runHot (package:flutter_tools/src/resident_runner.dart:576:56)
<asynchronous suspension>
#2      Future.wait.<anonymous closure> (dart:async/future.dart)
<asynchronous suspension>
#3      HotRunner.run (package:flutter_tools/src/run_hot.dart:350:34)
<asynchronous suspension>
#4      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:651:26)
<asynchronous suspension>
#5      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1036:27)
<asynchronous suspension>
#6      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#7      CommandRunner.runCommand (package:args/command_runner.dart:197:13)
<asynchronous suspension>
#8      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:288:9)
<asynchronous suspension>
#9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#10     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:239:5)
<asynchronous suspension>
#11     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
<asynchronous suspension>
#12     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>

[✓] Flutter (Channel master, 2.1.0-13.0.pre.234, on Microsoft Windows [version 10.0.19042.870], locale
    fr-FR)
    • Flutter version 2.1.0-13.0.pre.234 at C:\xxxxx\flutter
    • Framework revision 515ef91ba1 (4 hours ago), 2021-03-24 04:59:57 -0700
    • Engine revision d59a01d2d3
    • Dart version 2.13.0 (build 2.13.0-150.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\xxxxx
    • Platform android-S, build-tools 30.0.3
    • ANDROID_SDK_ROOT = C:\xxxxx
    • Java binary at: C:\xxxxx
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\xxxxx

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.2)
    • Visual Studio at C:\xxxxx
    • Visual Studio Community 2019 version 16.9.31112.23
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 4.1.0)
    • Android Studio at C:\xxxxx
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[✓] Connected device (5 available)
    • sdk gphone x86 (mobile) • emulator-5554 • android-x86     • Android 11 (API 30) (emulator)
    • Windows (desktop)       • windows       • windows-x64     • Microsoft Windows [version
      10.0.19042.870]
    • Windows (UWP) (desktop) • windows-uwp   • windows-uwp-x64 • Microsoft Windows [version
      10.0.19042.870] (unsupported)
    • Chrome (web)            • chrome        • web-javascript  • Google Chrome 89.0.4389.90
    • Edge (web)              • edge          • web-javascript  • Microsoft Edge 89.0.774.57

• No issues found!

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: master
Creation framework version: 2f05751973f3ddfb5462f5ff4136c573ba4f39c9

Did you specifically enabled UWP? Note that this work is not finished yet see https://github.com/flutter/flutter/issues/70211

Thank you @Jonah. Yes I did enable it. I understand the work is on the study.
Envoyé depuis Yahoo Mail pour Android
Le mer., mars 24, 2021 à 17:31, Jonah @.***> a écrit :
Did you specifically enabled UWP? Note that this work is not finished yet see #70211
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

OK, we're still not quite ready here - I'm going to close the issue as this feature is still a work in progress


scrset causes various issues

BSI CX doesn't treat scrset definitions properly, see bug reports (#336255, #305533, #326721).
We should therefore remove srcset until BSI CX has decent support for it in the most commenly used versions.

It has been removed by https://github.com/bsi-software/bsi-cx-design-standard-library-web/commit/90ef3ba948bf5dbb47cce9bcf0a2fe546281282b.


fix pytest_report_header args for pytest 8.1.0

pytest-spark breaks as of pytest 8.1.0
As described in https://docs.pytest.org/en/7.1.x/reference/reference.html#pytest.hookspec.pytest_report_header

Changed in version 7.0.0: The start_path parameter was added as a pathlib.Path equivalent of the startdir parameter. The startdir parameter has been deprecated.

Since the parameter is unused, we can use dynamic positional arguments and fix pytest-spark

Closing in favor of #25


WorldBorder doesn't appear around islands (BSkyBlock - BentoBox | Border)

Describe the bug
Vanilla WorldBorder is supposed to appear around the player's islands in BSkyBlock (By BentoBox), however instead there are [Warn] and [Error] in the console.
To Reproduce
Steps to reproduce the behaviour:

Install purpur, then install BentoBox with BSkyBlock with the border addon (my setup includes these other addons to BentoBox: Biomes, Challenges, ControlPanel, DimensionalTrees, Level, Limits, Warps).
Install WorldBorderAPI plugin.
Configure the border plugin to use WorldBorderAPI to display the border, and have it on by default (see config attached bia pastebin below)
Log into the server and create any island using the (/is create) command.
Teleport to island via (/is go). First error will appear when you get there, and no border will appear.
Try to enable/disable border using (/is border). An error will occur and no border will appear.

Expected behaviour
Vanilla WorldBorder would appear around the island.
Actual behaviour
It doesn't an error occurs in the console. Running the '/island border' command to enable/disable the island border also causes an error to appear in the console.
This error appears when you first teleport to the island: https://pastebin.com/ytD3A1Ga
This error appears when you run '/island border': https://pastebin.com/GeBisDDz
Configuration for border plugin of bskyblock: https://pastebin.com/96spWgQy
At no point is there a border visibly present.
Screenshots
n/a
MC Version
Current: git-Purpur-1544 (MC: 1.18.1)
Version of bentobox: 1.19.0
Additional context
I tried using both the latest snapshot of WorldBorderAPI and the stable release for 1.18.1, both result in an error.
I wasn't sure if this was a problem for the people who created the border addon or BentoBox, but in their support Discord they stated  this was a problem with the code of worldborderapi, and that I needed to create a ticket here.
If any additional info is needed let me know.

Wrong jar used. Use the one not suffixed with -dev.


Deployment

Deployment
User Story
As a boot camp student,
I want to publish the Server APIs: Weather Dashboard App,
so the boot camp teacher can review and score the project.
As a boot camp teacher,
I want to see the week 8 challenge in a public URL,
so I can score the work done.
Acceptance Criteria

It's done when the final code is deployed to a public URL in GitHub Pages.
It's done when the repo and live site URLs are submitted to the teacher.

Live URL: https://technoveltyco.github.io/bootcamp-week8-challenge/


Add possibility for embedded images

I extended rich_editor.js by a function to embed images:
RE.embeddImage = function(imagedata, alt) {
    var img = document.createElement('img');
    img.setAttribute("src", "data:image/png;base64," + imagedata);
    img.setAttribute("alt", alt);
    img.setAttribute("docID", "")
    img.onload = RE.updateHeight;
    RE.insertHTML(img.outerHTML);
    RE.insertHTML('<br>');
    RE.callback("input");
};

I need flexibility to add certain attributes, e.g. the docID from the example.
Is it possible to include that in official release so that I do not need to make those additions after future updates?
General question about images: how can I succeed in scrolling to bottom after image got inserted? It works for text, but images seem to get scrolled only half way down.

No, I'm not going to add your special attributes into an official release.
However -- it is possible to add your own scripts to the RichEditorView, so then you can include your own JS functions and do whatever you need!

how can I succeed in scrolling to bottom after image got inserted? It works for text, but images seem to get scrolled only half way down.

:confused: I don't really know, I've never encountered this, sorry!


Producers produce fixed size chunks

There are cases where we do not know how much data we need at first, but after getting a header, we know what chunk size would be optimal.
Making the producers able to produce arbitrarily sized chunks could be useful

Fixed in 1.0


BOARD REPORT DETAIL: Topics are not populating for board reports

(Topics are populating in search results, so we have the data. Likely a template issue.)

Fixed and deployed to the live site! ✨


DVS Targeted Refresh

When performing a targeted refresh of a VM or Host, return Distributed Virtual Switch and Distributed Virtual PortGroup inventory so that the associations to the hosts are not cleared.

cc @blomquisg @jameswnl can you review?

@miq-bot remove-label wip

I've pull this into my https://github.com/ManageIQ/manageiq/pull/8434 and test the provisioning. It lgtm to me.

Thanks @jameswnl! I'm going to try to add some basic targeted refresh spec tests (I don't see any at the moment).


fix: updateTaskDetails called with incorrect parameters

[x] The pull request is complete according to the following criteria:

[ ] Acceptance criteria have been met
[ ] The documentation is kept up-to-date
[ ] Comprehensive tests (if applicable) have been generated and all pass.
[ ] The pull request describes the changes that have been made, and enough information is present in the description for any developer to understand what has changed
[ ] Commits have been squashed (or will be on merge).
[ ] The branch name is descriptive and follows the pull request title format : {issue/bug...}/(Issue Number) - Name of issue. E.g bug/30-Fix-Project
[ ] The pull request title is of the following format : {issue/bug...}/(Issue Number) - Name of issue. E.g bug/30-Fix-Project
[ ] The description uses github syntax to link to the issue. E,g Resolves se701g2/Doto#{Number}
[ ] At least two reviewers assigned. One of which must be the assigner of the issue.
[ ] If there are merge conflicts, run git rebase as opposed to git merge with master.

@all-contributors please add preetpatel for video bug

@all-contributors please add @PreetPatel for video bug

Sigh i tried @all-contributors

@all-contributors please add @PreetPatel for code, test, review, bug, video


haxm debugging feature improvement

This change is to improve robustness and performance for debug
feature(#81). DR registers are loaded to guest only if they are
updated or current thread is migrated to other CPU core. Host
DRs will not be saved and restored unless host process (QEMU)
is debugged with hardware breakpoint.
When a VCPU is being debugged by the host using HW breakpoint,
prevent its DR registers from being tampered with by the guest
OS or by SET_REGS ioctl.
Verified:

Guest gdb only;
QEMU gdb (debugging guest from host) only;
Starting guest gdb, then using QEMU gdb to debug;
Host debugging QEMU + Guest gdb;
Host debugging QEMU + QEMU gdb;
Host debugging QEMU + QEMU gdb + Guest gdb
QEMU gdb works, and guest gdb reports app crash. Please refer
to known issues

Known issue:

Guest gdb might report app crash When QEMU gdb is enabled
This is probabaly because existed guest DR state is discarded
as soon as QEMU gdb enables hardware breakpoint.

Signed-off-by: Junxiao Chang<EMAIL_ADDRESS>

Thanks, removed these two unused variable warning lines.


chore: show Radicle node badge

Rendered
BTW. Tokei service seems to be down ATM, but that's unrelated.
https://github.com/XAMPPRocky/tokei/issues/1126

How is the repo synced?

@elsirion I need to push to it manually. If you set your own personal setup we could add you (and maybe one person) as a delegate and have a 2 of 3 setup.


Add xh as a plain text agent

It would be great if xh were added as a plain text agent, so that the terminal wouldn't be flooded with HTML markup when using xh as a request utility. :pray: :heart:
https://github.com/chubin/wttr.in/blob/8bdc54bb7097badbb2bfb9867ccaaa42b94a6636/cmd/srv.go#L21

It would be great if xh were added as a plain text agent, so that the terminal wouldn't be flooded with HTML markup when using xh as a request utility. 🙏 ❤
https://github.com/chubin/wttr.in/blob/8bdc54bb7097badbb2bfb9867ccaaa42b94a6636/cmd/srv.go#L21

Just use ?A at the end of the URL.

Just use ?A at the end of the URL.

That solves everything. Thanks! :heart: Closing.

I still think this should be done the right way and xh should be added. I'm also using xh and if it weren't for this bug report, I would've never found out about the option.

I still think this should be done the right way and xh should be added. I'm also using xh and if it weren't for this bug report, I would've never found out about the option.

I mean, true. The "A" format isn't really documented. The documentation I see is this:

wttr.in currently supports five output formats:

ANSI for the terminal;

It doesn't really tell you how to activate that format as far as I can see.

#698 will make the documentation more accessible.

#698 will make the documentation more accessible.

Awesome, seems like this is in the works. Closing. Thanks!


Reproduce lower performance on sth-sth-v1

Thanks for your great jobs ! When I try to reproduce the result of sth-sth-v1 dataset, I get some
problem. This is my args.txt content:
Namespace(arch='resnet50', batch_size=20, clip_gradient=20, consensus_type='avg', dataset='something', dense_sample=False, dropout=0.5, epochs=50, eval_freq=1, evaluate=False, flow_prefix='', gpus=[0, 1], img_feature_dim=256, k=3, loss_type='nll', lr=0.01, lr_steps=[20, 40], lr_type='step', modality='RGB', momentum=0.9, no_partialbn=False, non_local=False, num_segments=8, pretrain='imagenet', print_freq=20, resume='', root_log='log', root_model='checkpoint', root_path='', shift=True, shift_div=8, shift_place='blockres', snapshot_pref='', start_epoch=0, store_name='TSM_something_RGB_resnet50_shift8_blockres_avg_segment8_e50', suffix=None, temporal_pool=False, train_list='/media/a0/18A02F4CA02F3024/gt/data/train_videofolder.txt', tune_from=None, val_list='/media/a0/18A02F4CA02F3024/gt/data/val_videofolder.txt', weight_decay=0.0005, workers=16)
At last, the accuracy of the trained model is 41.6%, I am really confused where is wrong?

Hi, I notice that you are using a smaller batch size (20). You should also reduce the learning rate from 0.01 to 0.01 * 20 / 64 = 0.003125. You also need to enable --npb (see the training command in README). Make sure ImageNet pre-trained weight is enabled.

Understand！Thank you very much，I will try again

Hi, may I know the current status of the problem?

Close due to inactivity. Feel free to reopen.


Fallout 4 black screen on launch with dxvk dxgi, works with wine builtin dxgi

Software information
Fallout 4, default low preset, no godrays
System information

GPU: GeForce GTX 1050
Driver: 440.100.0
Wine version: PlayOnLinux wine 5.7 amd64 staging
DXVK version: v1.7

Apitrace file(s)

Fallout4.1.trace.zip

Log files

d3d11.log:Fallout4_d3d11.log
dxgi.log:Fallout4_dxgi.log

Back Trace

backtrace.txt

Works fine on my system.

The same is observed in wine lutris-fshack-5.7-5 and wine-tkg-staging-fsync-vkd3d-git-5.12.r1
Anything else I can provide to help with narrowing down this issue?

Just use wine's DXGI. I can't reproduce the problem so I can't fix it.

Sorry to hijack an issue with a bit of off-topic, but @doitsujin is there a way to make use of Proton without steam and/or lutris?

You cam just use regular Wine and run the setup script that's included with DXVK releases.

@Kethen sorry to Necro and old issue.
Are you able to test if this is still an issue with lat st dxvk and drivers?

Stale


Fix StringOptimization to handle load_borrow

This is part of fixing performance regressions for ossa modules
rdar://140229560

@swift-ci test


Hide push notifications from merged branches

Fixes #25778

How about:
Where(builder.And(
    builder.Eq{"pull_request.head_repo_id": repoID,},
    builder.Or(
        builder.Eq{"issue.is_closed": false,},
        builder.Eq{"pull_request.has_merged": true,},
    ),
))

@yp05327 looks great!

@lunny
I have a question which is not related to this PR, but maybe it can be done in this PR:
If user created a PR, and closed it manually, this create new pr notification will show again which seems strange.
Think about this:
I have created a branch to do something, e.g. a bug fix, and created a PR.
But I found that this bug already fixed by another PR, so I closed this PR.
Then in the home page of this repo, you will see this notification again until you delete the branch or wait for 6h.
And GitHub will not display this notification again if user closed PR manually.
Maybe we can remove this: builder.Eq{"issue.is_closed": false,},

@lunny I have a question which is not related to this PR, but maybe it can be done in this PR: If user created a PR, and closed it manually, this create new pr notification will show again which seems strange.
Think about this: I have created a branch to do something, e.g. a bug fix, and created a PR. But I found that this bug already fixed by another PR, so I closed this PR. Then in the home page of this repo, you will see this notification again until you delete the branch or wait for 6h. And GitHub will not display this notification again if user closed PR manually.
Maybe we can remove this: builder.Eq{"issue.is_closed": false,},

In that case, I think you should delete the branch then it will not be pop up.

replaced by #25812


mixed citation style

We sometimes add author names in the text when referring to citations, and sometimes not. I feel we should do one or the other, not both - except in very special circumstances where there is a clear reason why the authors are mentioned in the text.

fixed with c227442

I think at some point there was a discussion on whether citation references should act as words in a sentence. Compare:
- [1] showed that the Earth is round.
+ Foomann et al. [1] showed that the Earth is round.

I prefer the second version, thinking always that citation marks can be superscripts and, hence, visually destroy the sentence.
But let's delegate this to the journal editing step. #219


Create an example #2 - FMR of a layer with PMA

Create a .ipynb file with an example showing the calculation of FMR frequencies for a layer with perp. magnetic anisotropy.
These is maybe something like this already, but I didn't find it.
Please comment if you have any ideas on this.

The notebook with this in a separate repository. It can be used as a starting point for SpinWaveToolkit implementation. But the methods for calculation of the canting angle and the effective field should be implemented directly into SingleLayer class of the SpinWaveToolkit. Also we should probably add 'KittelFMR' class.
https://github.com/CEITECmagnonics/BiYIG


Batch Forwarding while Testing

Hi, thanks for the significant work.
I have run through the code, it works perfectly. However, there are a lot of segmentation masks on 1 image making the designed testing script run tremendously slow. I have a skim through the training script, it seems like OSM only support batch (1 image, 1 mask) forwarding.  I don't know whether the model support (1 image, n masks) forwarding test.
Thanks alot for significant work OSM.
PhucNDA.

Hi PhucNDA,
Thanks for your interests in our work.
Current code does not support batch forwarding during inference. It can be supported by repeating the pixel features and performing a batch forwarding in MaskQFormer. As all input sequence have the length, the batch forwarding in LLM part is also straightforward. I will update the code once I got time, if you would like to implement it yourself and encounter any problem, feel free to let me know as well :)
Best,


merge: dev to master

set of hotfixes + refactoring

:tada: This PR is included in version 0.76.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Analyze unaligned ncRNAs

We will add a new training based on the 'Analyze unaligned ncRNAs' workflow.
Anyone is welcome to join :-)
See here for the workflow:
https://github.com/bgruening/galaxy-rna-workbench/blob/master/rna-workbench-workflow/rnateam.workflow.analyse_unaligned_ncrnas.ga

Corresponding pull request can be found here:
https://github.com/galaxyproject/training-material/pull/1501

Will be solved in the linked PR


Could you provide the data preprocessing codes? Thanks a lot!

Hi, thanks for your interest! I will upload the data preprocessing scripts in the next few days.

Thank you~~


Documentation and Testing

Javadoc, code cleanup for comments, not refactoring allowed, testing of the program as well

I dont find Javadoc useful in this scenario.  I will however put my banner at the top of every file


wasi: adds Zig test case for readdir

Signed-off-by: Takeshi Yoneda<EMAIL_ADDRESS>

Zig's coming-along wasi-libc has been updated recently(https://github.com/ziglang/zig/commit/da9c530d9937abd1c17b9eeabec199076428a177), and that comes with this commit(https://github.com/WebAssembly/wasi-libc/commit/60f221a400e36ba59d99c191a86e978117320f0a#diff-c61ee8b562c86d6118d199772bc65dedb72199b4e783f3119039cbb75ccac01c) in WebAssembly/wasi-libc, and it seems that is the root cause

seesms like there's some glitch in the wasi-libc-update in the Zig

will dig into later

feels like https://github.com/ziglang/zig/commit/af4361f57af388238a075b0c8ef5b34e75b73787 this is the fix

still failing on master - https://github.com/ziglang/zig/issues/13762 submitted to the ziglang/zig

still no luck 😢

started working now!


[Question] [Enhancement] when copy pasting: paste at least tiles which have free space

Right now if we copy-paste a block of stuff (buildings, roads, etc...) on a surface which doesn't allow the whole thing to be pasted, nothing gets pasted.
A cool option could be: when copy-pasting, build the tiles/objects which can be placed (which don't overlap already existing things), as it happens ingame with the copy tool.

I understand your question, however we made it that way, so if something when wrong with unintended copy & past, the copied section could not be past just like that, and needed a free area.

However, it's up to the others how they thing about this too

I see, yeah that is a good point. Perhaps it could be made as a "toggle" option?

That is an option to look into.
@FroggieFrog / @Atria1234 / @AgmasGold

I guess holding shift could alter the default behaviour? Placing non overlapping building of selected layout even if some buildings do overlap?

If that not overrule other things, then sure


keyboard only supports 32 general keys

current remapping logic only supports 32 keyboard keys
if the user decides to use multiple different keys for many, many actions (think 3,4 rebind matrices), this may fail.
keyboard must support all available keys

thinking about it, I don't know if support for this is necessary, 32 keys at one time should be more than enough. If multiple different states in the game don't overlap, then the current keymask can simply be switched out.


Update README.md

Fixed a couple grammatical mistakes.

Neither of these are incorrect. The second change sounds unnatural.

Agree that the commas should stay, but the first line edit seemed to also include the closing of brackets. Right now the brackets don't close.

I didn’t notice that, feel free to open another PR.


Map Movement Could Be Considered Tedious?

Right now with map movement you have to tap the right arrow twice to get to the next level. Tapping the right arrow once to get to the next level would be nice. Keep in mind that the map level placements are not just left to right, they could be placed in all 4 directions up, down, left, right. Look at how Super Mario World (SNES) does it. I want to do something similar to that where you tap right arrow (or whatever direction) once, and you see the animation of the player lerping to the new level but always following the path. Or should the game map be kept as is?

Yes we could have a fast travel menu for back tracking and maybe even a acceleration system to make the player move faster in the areas that are long and slow


docs: Replace A icon with help in format using markdown

Relevant conversations are here
As suggested by @timabbott, the A icon was replaced by help in the compose box. This updates that in the docs.

Testing plan:
GIFs or screenshots:
Before

The change

Merged, thanks @Signior-X!


Message record, just entered the list is the fixed column, slide to the bottom of the fixed column disappeared

消息记录，刚进入列表是固定列，滑动至底部固定列消失

@capdiem

https://github.com/masastack/MASA.Blazor/issues/1299

@wzh425 waiting for MASA Blazor 1.0.0-rc.2


Removal of codename from IMultipleChoiceOption

Within commit 3a59a45, the codename property was removed from IMultipleChoiceOption in \models\elements\content-type-element.models.d.ts. I think this was done in error because I see the codename property was added to the IElementShared interface which is inherited by most other interfaces within that file. However IMultipleChoiceOption does not inherit from IElementShared which makes me think it was done in error.
We use codename within our options to define content types like so:
options: [         { name: 'Basic', codename: 'basic' },         { name: 'Email Only', codename: 'email_only' },         { name: 'Visit', codename: 'visit' },         { name: 'Interest', codename: 'interest' },         { name: 'Careers', codename: 'careers' },         { name: 'Inquiry (without Locations)', codename: 'inquiry_without_locations' },         { name: 'Inquiry (with Locations)', codename: 'inquiry_with_locations' },         { name: 'Submission', codename: 'submission' },         { name: 'Service', codename: 'service' },       ],
Now I can not longer do this which breaks much of our code.
Please let me know if this was done in error and if so, when will it be fixed?

Thanks for fixing this. When will a new NPM release be created with this fix?

Hey @jfeyers, we expect to release this later this week along with some further product changes (especially the rename of project to environments)


new: user: #65: Support for SHOW DDL commands

Added show DDL statements for dataSources/views:

SHOW DATASOURCES WHERE <cond>: returns datasources based on condition.
SHOW VIEWS WHERE <cond>: returns views based on condition.

cc @vrajat

This change will need release of new version of calcite which contains SqlShowQuark. Build fails because of it.

LG. Can you release a new calcite version and get the tests to pass ?

Released new calcite version and tests are passing now.


call cleanup() in fetch instead of autocommitter

This pull request addresses #823 by moving the call to cleanup() from the SimpleConsumer's autocommitter thread to its fetcher thread. This ensures that cleanup is called even when auto_commit_enable=False. The call is also wrapped in a ReferenceError check to avoid the issue mentioned in #823.

Codecov Report

Merging #827 into master will increase coverage by 0.1%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master     #827     +/-   ##
=========================================
+ Coverage   83.68%   83.78%   +0.1%
=========================================
  Files          27       27
  Lines        3603     3607      +4
  Branches      543      543
=========================================
+ Hits         3015     3022      +7
- Misses        442      443      +1
+ Partials      146      142      -4

Impacted Files
Coverage Δ

pykafka/simpleconsumer.py
84.12% <100%> (-1.46%)
:arrow_down:

pykafka/topic.py
81.91% <0%> (-2.13%)
:arrow_down:

pykafka/connection.py
84.15% <0%> (-1%)
:arrow_down:

pykafka/handlers.py
92.64% <0%> (-0.74%)
:arrow_down:

pykafka/balancedconsumer.py
90.05% <0%> (ø)
:arrow_up:

pykafka/broker.py
89.47% <0%> (ø)
:arrow_up:

pykafka/protocol.py
94.11% <0%> (+0.21%)
:arrow_up:

pykafka/cluster.py
73.4% <0%> (+1.12%)
:arrow_up:

pykafka/managedbalancedconsumer.py
84.76% <0%> (+5.96%)
:arrow_up:

Continue to review full report at Codecov.

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

Even after this change, I am still seeing a ReferenceError when my SimpleConsumer is destroyed:
ERROR [2018-11-01 10:48:03,665] weakly-referenced object no longer exists
Traceback (most recent call last):
  File "/miniforge/envs/flyem-forge/lib/python3.6/site-packages/pykafka/simpleconsumer.py", line 449, in fetcher
    self.cleanup()
ReferenceError: weakly-referenced object no longer exists

This happens because SimpleConsumer.__del__() calls stop(), but that doesn't synchronously wait for fetch workers to exit -- it merely sets self._running = False and proceeds.  When the worker fetcher() resumes, self is no longer a valid reference.
This means that cleanup() may never be called -- is that a problem?  If
I can avoid it if I briefly sleep before


UAT | Order | Type of hearings

To the list of Purpose of Hearings:

Remove Admin
Add Appearance, Examination of Accused

This change request has been fixed. Please check the reference here,

Admin option had been removed from the dropdown_  https://jam.dev/c/1254287b-7b05-4442-bf05-d4e8ebe76888
2.Appearance, Examination of Accused options have been added to the dropdown_ https://jam.dev/c/1254287b-7b05-4442-bf05-d4e8ebe76888

hi @vaibhavct, The issue persists: In the list of "Purpose of Hearings," the fields are not consistently updated across all areas when scheduling a hearing. Specifically, "Admin" needs to be removed, and "Appearance" and "Examination of Accused" should be added.
step to reproduce: login to judge>> Click on case >>click on action button>> Click on the scheduling of hearing option. Check the purpose of hearing dropdowns.
reproduce step link: https://jam.dev/c/35f7d45b-d64c-42fc-bf2b-0b38ccd19d46

Hi @vaibhavct  @ashishbeehyv  please look into the issue

hi @rajeshcherukumalli can you please get it re-tested and verified. it is working as expected now.

Hi @devarajd94,
Descriptions: The scheduling order for hearings includes a dropdown menu for selecting the purpose of the hearing. We are removing the "Admin" option from this dropdown and adding two new options: "Appearance" and "Examination of the Accused. This was verified in the solution UAT environment.
Employee url: https://dristi-kerala-dev.pucar.org/digit-ui/employee/user/language-selection
Test Cases:
1)Verify the "Admin" option remove from the purpose of hearing drop downs with newly registered cases.
2)Verify the "Admin" option remove form the purpose of hearing drop downs with old cases.
3)Verify the ""Appearance" and "Examination of the Accused" option added in the purpose of hearing drop downs with newly registered cases.
4)Verify the ""Appearance" and "Examination of the Accused" option added in the purpose of hearing drop downs with old, registered cases.
5)Verify through Take action>>click generate order tab >> selecting the schedule of hearing>> check the removing the "Admin" option from this dropdown and adding two new options: "Appearance" and "Examination of the Accused" in purpose of hearing
6)Verify through Take action>> selecting the schedule of hearing>> check the removing the "Admin" option from this dropdown and adding two new options: "Appearance" and "Examination of the Accused" in purpose of hearing
7)Verify new case through Admit Case>>selecting the schedule of hearing>> select date>>check the removing the "Admin" option from this dropdown and adding two new options: "Appearance" and "Examination of the Accused" in purpose of hearing
8)Verify the newly admitted case by the judge, then click on the case to view the overview page. On the overview page, check the "Schedule Hearing" button. Click on "Schedule Hearing" and ensure that the "Admin" option is removed from the dropdown and verify that two new options, "Appearance" and "Examination of the Accused," have been added under the "Purpose of Hearing."
Reference links:
https://jam.dev/c/204c53e5-e5f5-4de9-afda-796e11f7238c
https://jam.dev/c/d218a439-52df-4078-803e-f03891c7633f
User Ids link: https://docs.google.com/spreadsheets/d/1w0RT8lHfx7T2-WaTW2DS-66THYjtyNYTw-FDoqJp5-o/edit?gid=0#gid=0


swagger-jaxrs does not generate securityDefinitions while using BeanConfig in an Application class

Hello together,
i am developing an api with resteasy. For documentation i am using swagger.
Currently it is implemented via maven:
<dependency>
  <groupId>io.swagger</groupId>
  <artifactId>swagger-jaxrs</artifactId>
  <version>1.5.10</version>
</dependency>

and Beanconfig
BeanConfig beanConfig = new BeanConfig();

Swagger swagger = new Swagger();
swagger.securityDefinition("apiKey", new ApiKeyAuthDefinition("X-AUTH-TOKEN", In.HEADER));
beanConfig.setScan(true);

My Resource Endpoint is Annotated with:
@ApiOperation(
  value = "get a list of Persons",
  authorizations = {
    @Authorization(
      value="apiKey"
    )
  }
)

the generated swagger.json does not provide any securityDefinitions.

That's because you're creating a Swagger object which is not a static or a singleton in your app.  Try using the @SecurityDefinition annotation.


REPL & Remove All Files from tool menu stopped working in PyCharm 2020.2

In the latest releases microrepl.py is not executing from tool menu. It just opens an empty terminal.
I can manually execute from terminal command line...
frb@ubuntu:~/.local/share/JetBrains/PyCharm2020.2/intellij-micropython/scripts$ python3 microrepl.py /dev/ttyUSB1
Device path /dev/ttyUSB1
Quit: Ctrl+] | Stop program: Ctrl+C | Reset: Ctrl+D
Type 'help()' (without the quotes) then press ENTER.

This is happening to me as well.

Same issue on MacOS Catalina

Similar issue MacOS Catalina, PyCharm CE 2020.2, & plugin 1.1.1.
When attempt to open MicroPython REPL I get:
L8 n
/Applications/PyCharm CE.app/Contents/plugins/terminal/.zshrc:source:45: no such file or directory: /Users/lov080/Google

Is this because Google Drive has a space in it?
Also note strange L8 n?
Also:
% python3 microrepl.py /dev/tty.usbmodem2067346A344D2
Traceback (most recent call last):
  File "microrepl.py", line 32, in <module>
    from serial import Serial, SerialException
ModuleNotFoundError: No module named 'serial'

@palmtreefrb Thanks for your bug report! I've found a regression in the terminal subsystem of the IntelliJ platform and came up with a workaround. I'll publish the fix soon.

Ok, looks good!!! Thank you...

I've released 1.1.2 with the fix.


How to enable the "semi-pure" strategy for the bot in Running with Scissors?

Hi,
Thanks for opening source this amazing environment!
I'm curious to know how to enable the "semi-pure" strategy as mentioned in the paper for the bot agent in running with scissors? I'm planning to train a RL agent to beat this bot. But it seems the bot just stands all the time (the green guy in the shot demo. The red one is my random agent).
Thanks in advance!
https://user-images.githubusercontent.com/57526464/137604868-e35f1fcc-1f9f-48af-80ec-1a7a4749af3a.mov

Hi there,
We released bots implementing the semi-pure strategies as part of Melting Pot, but we did not release any for the raw DMLab2D implementation.
Could you try using the Melting Pot version of Running With Scissors? The visual look of the game is slightly different in Melting Pot, but I believe the underlying game logic is exactly the same. Maybe it's the right choice for your application?
Note: Melting Pot is built on top of DeepMind Lab2D. It is a suite of environments together with a testing protocol for multi-agent reinforcement learning. You are not obligated to use the testing protocol of course. It's possible to grab individual environments (substrates in Melting Pot lingo) and background populations (e.g. the semi-pure strategies for Running With Scissors) and use them for your own purposes.
Melting Pot was described in the following paper.
Leibo, J.Z., Duéñez-Guzmán, E.A., Vezhnevets, A., Agapiou, J.P., Sunehag, P., Koster, R., Matyas, J., Beattie, C., Mordatch, I. and Graepel, T. Scalable Evaluation of Multi-Agent Reinforcement Learning with Melting Pot (2021).  In International Conference on Machine Learning (ICML) (pp. 6187-6199). PMLR.

Hi there,
We released bots implementing the semi-pure strategies as part of Melting Pot, but we did not release any for the raw DMLab2D implementation.
Could you try using the Melting Pot version of Running With Scissors? The visual look of the game is slightly different in Melting Pot, but I believe the underlying game logic is exactly the same. Maybe it's the right choice for your application?
Note: Melting Pot is built on top of DeepMind Lab2D. It is a suite of environments together with a testing protocol for multi-agent reinforcement learning. You are not obligated to use the testing protocol of course. It's possible to grab individual environments (substrates in Melting Pot lingo) and background populations (e.g. the semi-pure strategies for Running With Scissors) and use them for your own purposes.
Melting Pot was described in the following paper.
Leibo, J.Z., Duéñez-Guzmán, E.A., Vezhnevets, A., Agapiou, J.P., Sunehag, P., Koster, R., Matyas, J., Beattie, C., Mordatch, I. and Graepel, T. Scalable Evaluation of Multi-Agent Reinforcement Learning with Melting Pot (2021).  In International Conference on Machine Learning (ICML) (pp. 6187-6199). PMLR.

Awesome! Thank you!


Installation failed with ErrImagePull due to incorrectly constructed deployment image path

Thank you for continuing to work on this useful project!
There is one small bug in the helm chart causing installation to fail: Chart.appVersion is used to construct the image location, however it seems like the v-prefix is stripped from the appVersion in the repository's index.yaml: https://bakito.github.io/helm-charts/index.yaml. So instead of ghcr.io/bakito/sealed-secrets-web:v2.6.0 the deployment image is set to ghcr.io/bakito/sealed-secrets-web:2.6.0 causing installation to fail with an ErrImagePull.
I'm not sure where this happens since https://github.com/bakito/sealed-secrets-web/blob/main/charts/sealed-secrets-web/Chart.yaml#L2 does contain the v-prefix. I'd be happy to contribute if pointed at the right direction.

@chgl sorry for the long delay. I could fix the error and released a proper image and chart with 2.6.1


Question for monitor a second victron input

Congratulations and thank you for this fantastic integration!!
I passed the code on esp32 (it has more power) and I would like to use the same to monitor a Victron BMV-712 Battery monitor as well.
Is it possible in your opinion?

Hi for BMV use my other component "SmartShunt esphome " btw bmv and smartshunt has a same properties
https://github.com/KinDR007/VictronSmartShunt-ESPHOME

i saw the other project, but i didn't understand if they can be used together in the same esp32 (or esp8266)...
Thank you

Hi,
theoretically they could work on one esp .. but .. mppt and bmv (including smartshunt) have some properties named the same which will cause a problem .. therefore i recommend to use one esp for each victron device


try removing openshift profile as I think it is causing a failure with the doc lint profiles on kubernetes-model

[merge]


Throttling Bugfix: Convert int parameter to double before calculating threshold

…oldRate

Description
AbstractThrottledSubmissionHandlerInterceptorAdapter calculates the thresholdRate for throttling by dividing two integers and thus all decimal places are being cut.
Example:

this.failureThreshold = 5
this.failureRangeInSeconds = 60
this.thresholdRate = this.failureThreshold / this.failureRangeInSeconds  = 0

So the result is 0 but should be ~0.1. This leads to unexpected throttling behaviour.
Solution
One of those integers should be cast to double in order to keep decimal places.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Alexander Noack seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


fix: newline in virtual.yaml

Stupid one line fix, but it will fix CI

yamllint is more unhappy than I thought. Doing this properly rather than via github webui


Getting weird click event delays

I tried using this while working on the React Tic Tac Toe tutorial. My click events aren't fully processing right away. I have to click on a box (a <button ...>) and then I have to click somewhere else like on some text on the page before the click event is fully processed and an X or and O appears in the box I clicked first. Click events work fine and immediately in a normal browser though. So it seems like something about the click events and focus aren't always processing correctly.

Yep, definitely seems like a dup. Feel free to close if you'd rather it now show up in the open issues.