PR-compiler-bundler

Fixes #325

[X] npm run test succeeds.
[X] npm run lint succeeds.
[X] Appropriate changes to README are included in PR.

clasp compile
(Eslint + Babel@7 + Webpack@4) configuration => GAS-compatible js from ES5+ code.

ES6 modules, core-js@2 polyfills & platform-independent Node modules.

Lint, transpile with Babel then Webpack to treeshake & create module bundles with included runtime module loader.

Top level entry functions must be assigned to global object. (Credit<EMAIL_ADDRESS>Local .eslintrc (if exists) overrides builtin defaults for linting.
Must provide global setTimeout() (synchronous) shim for Promise support.

Usage
  Usage: compile [options]

  Transpile ES5+ code to GAS-compatible javascript (Experimental)

  Options:

    --src <path>        Source directory (default: src)
    --dist <path>       Build output directory [sets/uses project rootDir] (default: dist)
    --entry <filename>  "Main" entry point (default: index)
    --no-lint           Disable linting before compile.
    -h, --help          output usage information

Changes

index and README
commands

set/use rootDir & run webpack compiler

utils

LOG.COMPILE

bundler (NEW)

create preset webpack configuration object

TODO

TypeScript loader

Sample project
src
├── index.js
└── lib
    ├── promises.js
    └── timers.js

See sample code

clasp create "Hello" --rootDir dist
npm init -y
npm i -D timers-browserify
npm i -D lodash
clasp compile

Output
dist
├── main.js
├── lib.js
├── node-modules.js
└── runtime-loader.js

node-modules.js will be minimized.
runtime-loader.js provided by Webpack.

clasp push
clasp run entryPoint --dev

Sample code
./src/index.js:
import './lib/promises';
import _ from 'lodash';

function getJSON(data = '') {
  console.log('in getJSON', JSON.stringify(data));
  return Promise.resolve(data);
}

const makeFakeRequest = async testJson => {
  try {
    const json = await getJSON(testJson);
    const obj = JSON.parse(json);
    console.log('in makeFakeRequest', JSON.stringify(obj));
    return Promise.resolve(obj);
  } catch (err) {
    return Promise.reject(err);
  }
};

function entryPoint() {
  const whoami = 'Demo';
  console.time(`${whoami}`);

  console.log('Test lodash', _.partition([1, 2, 3, 4], n => n % 2));

  makeFakeRequest('{ "name": "Alice", "city": "New York" }')
    .then(value => {
      console.log('city', value.city);
    })
    .catch(err => {
      console.error(err);
    });

  console.timeEnd(`${whoami}`);
  return `${whoami} success!`;
}

global.entryPoint = entryPoint;

./src/lib/promises.js:
import './timers';

// eslint-disable-next-line no-extend-native
Promise.prototype.done = Promise.prototype.done || Promise.prototype.then;

global.onunhandledrejection = event => {
  console.warn('Unhandled rejection', event.reason || event);
};

./src/lib/timers.js:
import * as timers from 'timers'; // https://github.com/browserify/timers-browserify

// synchronous GAS shim
global.setTimeout =
  typeof ScriptApp === 'undefined'
    ? setTimeout
    : (callback, delay, ...args) => {
        if (typeof callback !== 'function') {
          throw new TypeError('"callback" argument must be a function');
        }
        Utilities.sleep(delay);
        callback(...args);
      };

global.clearTimeout = clearTimeout || timers.clearTimeout;
global.setInterval = setInterval || timers.setInterval;
global.clearInterval = clearInterval || timers.clearInterval;

Thanks for the PR. I'm going to have to consider building a plugin system in order to keep clasp small and components maintainable.
Non-API/core features should be their own npm modules. This is what I did for ts2gas.
Eventually Eslint + Babel@7 + Webpack@4 will be old and there may be some newer system or somone might request one.
Do you think you could extract 90% of the code into a separate module and clasp use a very simple interface to compile?
Also, I'm very hesitant to adding more npm dependencies to clasp as they are hard to maintain and figure out which ones are used/can be refactored/deleted.

It is a great idea that clasp has a plugin system.

Absolutely. PR more proof-of-concept than anything else. Will roll 95% of code into separate npm CLI+API dependency that can adapt to most suitable, efficient, simplest, etc. transpiler/bundler and will (hopefully) hook into a future plugin system.

@mainmode1 @fossamagna Can one of you think of the requirements for a plugin system for clasp and create a new issue?  This would be related to #325.
I.e. you'd like to apply custom functions over all source files before pushing to the API (like a webpack function).
Once you write that idea down, we can close this PR.

Closing this PR in favor of:

Prototyping on forks
Discussing the design more on https://github.com/google/clasp/issues/325

This PR will get out-of-date soon as well. I think we'll need to think pretty hard about the design and future of compiling with clasp and extending clasp before continuing with this feature.


Update README.md

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=ru
Description of changes:

WARN Variable specified_key not found in /en/compute/concepts/instance-groups/variables-in-the-template.md
WARN Variable unknown_key not found in /en/compute/concepts/instance-groups/variables-in-the-template.md
WARN Variable unknown_key not found in /en/compute/concepts/instance-groups/variables-in-the-template.md
WARN Variable specified_key not found in /en/compute/concepts/instance-groups/variables-in-the-template.md
WARN Variable unknown_key not found in /en/compute/concepts/instance-groups/variables-in-the-template.md
WARN Variable unknown_key not found in /en/compute/concepts/instance-groups/variables-in-the-template.md
WARN Variable label not found in /en/monitoring/concepts/querying.md
WARN Variable host not found in /en/monitoring/concepts/visualization/dashboard.md
WARN Variable myparm not found in /en/monitoring/concepts/visualization/dashboard.md
WARN Variable label not found in /en/monitoring/concepts/querying.md
WARN Variable isotime | clean_resource_name not found in /en/solutions/infrastructure-management/packer-quickstart.md
WARN Variable isotime | clean_resource_name not found in /en/solutions/infrastructure-management/packer-quickstart.md
WARN Variable .TablePathPrefix not found in /en/ydb/sdk/index.md
WARN Variable ydb-cli not found in /en/ydb/quickstart/examples-ydb-cli.md
WARN Variable ydb-cli not found in /en/ydb/quickstart/examples-ydb-cli.md
WARN Variable ydb-cli not found in /en/ydb/quickstart/examples-ydb-cli.md
WARN Variable ydb-cli not found in /en/ydb/quickstart/examples-ydb-cli.md
WARN Variable ydb-cli not found in /en/ydb/quickstart/examples-ydb-cli.md
WARN Variable .TablePathPrefix not found in /en/ydb/sdk/index.md
WARN Variable ydb-cli not found in /en/ydb/maintenance/backup_and_recovery.md
WARN Variable label not found in /ru/monitoring/concepts/querying.md
WARN Variable host not found in /ru/monitoring/concepts/visualization/dashboard.md
WARN Variable myparm not found in /ru/monitoring/concepts/visualization/dashboard.md
WARN Variable label not found in /ru/monitoring/concepts/querying.md
WARN Variable isotime | clean_resource_name not found in /ru/solutions/infrastructure-management/packer-quickstart.md
WARN Variable isotime | clean_resource_name not found in /ru/solutions/infrastructure-management/packer-quickstart.md
WARN Variable .TablePathPrefix not found in /ru/ydb/sdk/index.md
WARN Variable .TablePathPrefix not found in /ru/ydb/sdk/index.md
Build time: 26.899s


New App Submission(CoinUs)

App Logo (Required)

App Details (Required)
Type: APP Wallet
Name: CoinUs
Homepage Url: https://www.coinus.io/
Chains supported: BTC, ETH (ERC20), RVN (RVN Assets), Filecoin
App Url (Required - at least one)
Browser Url:
iOS Url: https://apps.apple.com/kr/app/coinus-wallet/id1367339746
Android Url: https://play.google.com/store/apps/details?id=com.theblockchain.coinus.wallet&hl=en&gl=US
Mac Url:
Windows Url:
Linux Url:
Mobile Linking (Optional)
Deep Link:
Universal Link:
Desktop Linking (Optional)
Deep Link:
Universal Link:
Metadata (Optional)
Short Name:
Primary Color:
Secondary Color:

@coinus Thanks for the submission.
The app logo is 404. Can you please update and re-submit?

@chadyj
The initial application was closed and you've mentioned about logo 404. I'm not sure what you mean by 404 for the image.
If you click the image the link works. Can you please check again?

@coinus All good now. I checked during a recent Github outage 🤦

Thank you! Please let us know once its registered :)

@chadyj
can we get a estimated timeline when our wallet be update?

Added on commit 3f65bc82febfff9dc6ae5658005312857276fe34


Inline datafields "edit" icon in preview mode

Is your feature request related to a problem? Please describe.
As WYSIG is not supported yet, it is a bit a cumbersome process to switch from preview to editor just to edit the value of one datafield - especially on mobile.
Describe the solution you'd like
It would be nice to have the option (could be a toggle in the settings) to show an "edit" ✏ icon at the end of the line for each inline datafield.
Here is what it looks like with the "Tasks" plugin

Describe alternatives you've considered
I've considered using a button that triggers the metaedit command, but it's not as neat and I have to manually insert it in each page where I want to edit datafield values from the preview mode.

Obsidian has since released Live Preview but I don't use it. Can you confirm if this is still needed?

I think this feature request goes hand in hand with #749 and #116.


add support for biom.Table or pd.SparseDataFrame

in split_table, fit_*, and predict. Use some type of sparse matrix instead of a dense dataframe as input to scikit-learn functions.
see discussion in #97

fixed in #101


Selecting custom block throws

Simple repro codepen
Draft.js looks for a data-offset-key, but fails to find one since it's not created in the CustomComponent case of DraftEditorContents.react.js. We can stop Draft.js from throwing by adding a data-offset-key to our custom render. This is a hack. I'm not sure what invariant is being broken -- whether Draft should add an offset key or not look for one.
Probably related to #154

Setting data-offset-key yourself, as you describe, is currently the way to do this. It's certainly not ideal, and I'm open to solutions. Sorry for the current awkwardness and the lack of documentation on it. :)
The main problem at this point is that the data-offset-key has to be applied to a DOM element, the root div, figure, etc. Without external knowledge of the custom component root, it's not clear how to apply it automatically.
A couple possibilities:

We could define some standard root component (probably a div) that always applies data-offset-key and renders the custom component internally, but that also takes some control away from how the client renders the component root.

// in DraftEditorContents...
return (
  <DraftCustomBlock ...>
    <CustomComponent ... />
  </DraftCustomBlock>
);

// then...
class DraftCustomBlock extends React.Component {
  render() {
    return
{this.props.children}
;
  }
}

There could be a standard wrapCustomBlock function that must be used on the returned root, perhaps with a warning if it is not used.

render() {
  return wrapCustomBlock(

     /* interesting things */

,
    this.props
  );
}

What do you think? Happy to discuss other alternatives as well.

Is it just data-offset-key? Is data-block also important here?
I have a slight preference for wrapCustomBlock, since it gives full freedom re which component is returned.

data-block is useful for finding the position of a block root element in the DOM, i.e. for positioning a menu relative to the selected block. I'll include it within the wrapper solution.

@hellendag It would also be awesome to get some documentation/tips on how to use data-block to get positioning information.

@remko Did you figure out how to get the DOM node from a selection? I ran into this issue today while trying to position a context menu next to a selection.

@johanneslumpe getVisibleSelectionRect helps, but I still had to do something for collapsed selections. The code I currently have is
let rect = getVisibleSelectionRect(window);
if (!rect) {
  const selection = window.getSelection();
  if (selection.anchorNode) {
    rect = selection.anchorNode.getBoundingClientRect();
  }

Not entirely confident if this is how it's supposed to be done, but it seems to work for me.

@remko how so? What was the specific issue you ran into with a collapsed selection? When I detect a collapsed selection I just hide the menu, which seems to work fine. I noticed another issue though that when calling focus on the editor, the selection changes and my menu re-renders at the top left corner of the editor, until I change the selection did you notice something like this too?

It seems like there's a workaround here so I am going to close this issue. Thanks folks for helping out!


Wallet keeps disconnecting from the dex every now and then. At least 1 in 10 page changes.

Summary of Bug

Version

Steps to Reproduce

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

As the Gravity DEX competition has ended, we are closing this issue unless it is related to either a bug or feature request to the liquidity module.


Horizontal bar chart expands to the axis after clicking legend

Current & Expected Behavior
I have a horizontal bar chart with two datasets, one positive and one negative.
When you disable the positive dataset, the negative bars resize all the way to the axis, instead of keeping the original padding.
Correct padding:

Wrong padding:

Steps to Reproduce
Here's a minimal example:
https://codepen.io/helloksong/pen/bGBERXq
Disable the "Positive" bars from the legend, and see the negative bars resize.
Environment

Chart.js version<EMAIL_ADDRESS>Browser name and version: Chrome 88.0.4324.96

It is not a bug, as you can see it also remapped the labels so it shows it in the correct way.

From the recent issues I gather that it might be good to use the next step from max data value as the scale max, instead of that actual value. Should probably be an option.

@LeeLenaleee The label remaps, but it only happens for the left side of the graph, not the right side (if you deselect negative in the legend).
Is there a setting I'm missing if this is intended behavior?

I dont think I understand you correctly because it seems to work as intended. If you hide the negatives it will only show positive labels. If you hide only positive dataset it will only show negative labels. if you hide both it will show basic labels. If you show both it shows both positive and negative labels

@kennysong its the values/range. The negative side gan be presented by 0.02 tick interval, but the positive side requires bigger step.

@kurkle Ah I see, I understand your first comment now. I didn't realize -0.18 perfectly splits into 10 ticks.
Would be great to have one extra padding tick as an option.


make startup scripts more shell agnostic

Did this work?  trying to create a pull request for updates to the startup scripts.

Thanks!

Closes #47


read properties of received packet

I try to parse mqtt packets which I dumped with Wireshark using the MQTTParsePacket.cpp example. Works so far.
In my CONNECT packet, there is an UserProperty key value pair included. packet->dump() shows my value
I tried to read the Property but I was not sucesssful until now.
Using the example code for reading properties from [0], works not.
// packet is type of Protocol::MQTT::V5::ControlPacketSerializable*
Protocol::MQTT::V5::VisitorVariant visitor;
while(packet->props.getProperty(visitor)) {
     switch(visitor.propertyType()) {
     case Protocol::MQTT::V5::UserProperty:
     {
         // no code until now
         break;
     }
     }
 }

This does not compile because packet has no props member.
Next try:
explicit cast packet to Protocol::MQTT::V5::ConnectPacket*, result is:
no matching function for call to 'Protocol::MQTT::V5::Properties::getProperty(Protocol::MQTT::V5::VisitorVariant&)'
Next try:
Protocol::MQTT::V5::ConnectPacket* connect_packet = dynamic_cast<Protocol::MQTT::V5::ConnectPacket*>(packet);
auto myProp = connect_packet->props.getProperty(Protocol::MQTT::V5::UserProperty);
if(myProp->type == Protocol::MQTT::V5::UserProperty) {
   ????
}

Can I cast myProp  to something like UserPropertyProp or do I need a completely different solution.
[0] https://github.com/X-Ryl669/eMQTT5/blob/master/doc/ClientAPI.md#receiving-packets-from-the-broker

Ok, let's explain better here.
You have 2 ways to read properties of a packet. The easy way is to use a VisitorVariant that'll iterate on all properties and you'll react to the property you're interested in.
The more complex way is to use the Properties interface like you did.
In the latter solution, as you've written, auto is a PropertyBase* that's pointing to a Property<DynamicStringPair>*. This is because the standard says that User properties are string pairs. So you'd use them like this:
Protocol::MQTT::V5::ConnectPacket* connect_packet = dynamic_cast<Protocol::MQTT::V5::ConnectPacket*>(packet);
auto myProp = connect_packet->props.getProperty(Protocol::MQTT::V5::UserProperty);
if (myProp) {
   std::cout<<"User property: key = " << myProp->value.key << ", value = " << myProp->value.value << std::endl;
}

The former case is, IMHO, easier to use and you'll use like this:
  typedef ControlPacket<CONNECT, true>          ROConnectPacket;
  ROConnectPacket * connect = static_cast<ROConnectPacket*>(packet);
  VisitorVariant visitor;
  while (connect->props.getProperty(visitor))
  {
        switch (visitor.propertyType())
        {
            case UserProperty:
            {
                auto t = visitor.as< DynamicStringPairView >();
                const DynamicStringView & key = t->key;
                const DynamicStringView & value = t->value;
                // Do something with key and value
                break;
            }

This is the generic version of a code with a UserProperty parsing.
I've tried the above and it doesn't work on straight ConnectPacket because they can't be mapped to a View. Maybe I should introduce a ROControlPacket in the library like I did for the other packets so it would be easier. That's because a ConnectPacket is the only bidirectional packet in the protocol (used for both the Client=>Server and Server=>Client, the idea was to reuse the packet to answer the server so it can't be read only).
Let me think a bit more about this.
However, the ConnectPacket's properties can't be mapped to a PropertyView

This code works. Currently this is ok for my. Maybe you can add this to the documentation.
I converted the value in to a string_view for usage on cout.
using namespace Protocol::MQTT::V5;
auto myProp = connect_packet->props.getProperty(UserProperty);
if(myProp) {
   const Property<DynamicStringPair>* userProp = dynamic_cast<const Property<DynamicStringPair>* >(myProp2);
   const std::string_view myKey { userProp->value.key.data, userProp->value.key.length };
   const std::string_view myValue { userProp->value.value.data, userProp->value.value.length };
   std::cout << "User property: key = " << myKey << ", value = " << myValue << std::endl;
}

The ROConnectPacket example works not with interesting behaviour:

If I run the beforec ode after the while loop, connect->props.getProperty(visitor) results to 0
When I do not run the above code,  visitor.propertyType() return a WillDelayInterval with is obviously wrong.

My Connect packet dump:
CONNECT control packet (rlength: 42)
  Header: (type CONNECT, no flags)
  CONNECT packet (clean 1, will 0, willQoS 0, willRetain 0, password 0, username 0, keepAlive: 60)
  Properties with length VBInt: 20
    Type ReceiveMax

    Type UserProperty
      KV:
        Str (5 bytes): myKey
        Str (7 bytes): myValue
  CONNECT payload
    ClientID: Str (9 bytes): my-client
    Username: Str (0 bytes):
    Password: Bin (0 bytes):

Ok, I've thought a bit more about this. Your usage case is unusual for the protocol. You're building a Connect packet with properties (that's correct). Then you are trying to parse it.
This is illogical.
Your Connect packet goes to the broker but the broker will answer with a ConnACK packet (which does provide a PropertyView interface via the ROConnACKPacket).
In fact the line ROConnectPacket * connect = static_cast<ROConnectPacket*>(packet); is only valid if the packet was a ROConnectPacket (with a long typedef of: Protocol::MQTT::V5::ControlPacket<Protocol::MQTT::V5::CONNECT, true>) at first and not a ConnectPacket (or its long typedef version: Protocol::MQTT::V5::ControlPacket<Protocol::MQTT::V5::CONNECT>)
May I ask you why you are dealing with a CONNECT packet by yourself and not using the library's MQTTClient::connectTo method ?
If you need to append properties to the connect packet, you can call it like this:
MQTTClient client;
// The user property to embed
Properties properties(new Property<DynamicStringPair>(UserProperty, DynamicStringPair("myKey", "myValue")));

if (ErrorType ret = client.connectTo(server, port, useTLS, keepAliveTimeoutInSec, true, username, password, lastWillMsg, lastWillQoS, true, &properties) != Success) {
   std::cerr<< "Can't connect to server with error: "<<ret<<std::endl;
}

I've added a SerializeTest in the test code folder that makes an example of using the VisitorVariant on a CONNECT packet.
I've also added what's required to use a visitor in the Properties (not PropertiesView) so the same code will work regardless of the packet type.
I think it solves the issue for you, please confirm.

I got packet->props.getProperty(visitor) == false on my connect packet. Calling auto myProp = connect_packet->props.getProperty(UserProperty) still works.
For clarification: I intercept mqtt packets on a tcp stream and evaluate it. I do not implement a broker.

Can you share the packet dump of the Connect packet that fails parsing or better, the code that's generating it?
Use the latest MQTTParsePacket, it's outputting a hexdump of the packet.
BTW, I've modified the code so you don't need to cast to ROConnectPacket anymore. Just use ConnectPacket and it should work too.
Thanks!

I use mosquitto_(sub|pub)
mosquitto_sub -h localhost  --protocol-version mqttv5 --id client2 --property CONNECT user-property "mykey" "myVal"  -t "my/topic"

As broker, I use mosquitto with anonymous access. The packet can be dumped with wireshark.
the attached file are the packet bytes of the connect packet.
connect_sample.zip

Ok, it seems it works for me:
Protocol::MQTT::V5::registerAllProperties();
Protocol::MQTT::V5::ControlPacket<Protocol::MQTT::V5::CONNECT> toPacket;
// Test exterior serialization
uint8 buf[] = {
          0x10, 0x29, 0x00, 0x04, 0x4d, 0x51, 0x54, 0x54, 0x05, 0x02, 0x00, 0x3c,
          0x15, 0x26, 0x00, 0x06, 0x20, 0x6d, 0x79, 0x6b, 0x65, 0x79, 0x00, 0x07,
          0x6d, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x21, 0x00, 0x14, 0x00, 0x07,
          0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32
};
if (toPacket.readFrom(buf, ArrSz(buf)) != ArrSz(buf)) return err("Can't parse alien packet");
Protocol::MQTT::V5::VisitorVariant visitor;
while (toPacket.props.getProperty(visitor))
{
      if (visitor.propertyType() == Protocol::MQTT::V5::ReceiveMax) {
                auto v = visitor.as< Protocol::MQTT::V5::LittleEndianPODVisitor<uint32> >();
                if (!v) return err("Can't find property PacketSizeMax");
                if (v->getValue() != 20) return err("Invalid PacketSizeMax property");
      }
      else if (visitor.propertyType() == Protocol::MQTT::V5::UserProperty) {
                auto v = visitor.as< Protocol::MQTT::V5::DynamicStringPairView >();
                if (!v) return err("Can't find property UserProperty");
                if (v->key != " mykey") return err("Invalid UserProperty key");
                if (v->value != "myValue") return err("Invalid UserProperty value");
      }
}

Feel free to reopen if it doesn't work for you.


refined documentation and removed unused util functions and tests

Merged. Thanks. For next time try to rebase against master and cleanup the PRs to have nice commits.

ok


In 711 handle multiple configs - Part 10

Fix existing tests
Fix dependabot requirements
Move functions in run_workflows to utils to not include those in unittesting coverage

This change is

Hello @Yu-jinKim! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file resources/home/dnanexus/run_workflows/tests/test_dx_utils.py:

Line 13:1: E402 module level import not at top of file

In the file resources/home/dnanexus/run_workflows/tests/test_manage_dict.py:

Line 14:1: E402 module level import not at top of file
Line 1287:80: E501 line too long (82 > 79 characters)

In the file resources/home/dnanexus/run_workflows/tests/test_utils.py:

Line 14:1: E402 module level import not at top of file
Line 15:1: E402 module level import not at top of file
Line 299:80: E501 line too long (81 > 79 characters)
Line 300:80: E501 line too long (81 > 79 characters)
Line 439:80: E501 line too long (80 > 79 characters)

In the file resources/home/dnanexus/run_workflows/utils/utils.py:

Line 17:1: E402 module level import not at top of file
Line 18:1: E402 module level import not at top of file
Line 21:1: E402 module level import not at top of file
Line 337:80: E501 line too long (80 > 79 characters)


Login fails for user without access to an endpoint.

Description
I accidentally ran into an odd behavior when a user (without an access to any endpoint) tries to log in. Login fails with message "User not allowed. Please contact your administrator.". However, when I access the root URL of the service, user is logged in but has no access to view any resources, apart from editing password. Should the users be able to login even when they do not have access to any endpoints or should these users be prevented from logging in?
Steps to reproduce the issue:

Create a user without access to an endpoint
Try to login (get an error "User not allowed. Please contact your administrator.")
Access root URL of the service
User is logged in

Technical details:

Portainer version: v1.12.1
Portainer Docker image tag (latest/arm/windows...): latest
Target Docker version (the host/cluster you manage): 17.03.0-ce
Platform (windows/linux): linux
Browser: firefox 45.8.0

@deviantony this does not seem fixed in the latest portainer/portainer (1.15.3).
When a user without access to any endpoints tries to log in, the error message is still the same.

@karel1980

When a user without access to any endpoints tries to log in, the error message is still the same.

What do you mean? The message 'User not allowed. Please contact your administrator.' is expected in this situation.

I though it had to be possible for a user to log in, just that he/she would
not be able to do much (except perhaps change the password)
On Fri, 8 Dec 2017 at 14:18 Anthony Lapenna<EMAIL_ADDRESS>wrote:

@karel1980 https://github.com/karel1980
When a user without access to any endpoints tries to log in, the error
message is still the same.
What do you mean? The message 'User not allowed. Please contact your
administrator.' is expected in this situation.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/portainer/portainer/issues/706#issuecomment-350260889,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJVvQefXxijCFgLh56qj28mN9O-1W97ks5s-TckgaJpZM4Midez
.

@deviantony after having played around with it a bit more I still don't why wouldn't be allowed to change your account/profile details just because you don't have access to any endpoints. Wouldn't you agree?

Well, we might open an evolution for this later on but at the moment the app has not been designed to be used by users without any endpoint access.


Fix #1841: Presto Connector issues

Describe your changes :

I worked on the ..... because ...

Type of change :

[x] Bug fix

Frontend Preview (Screenshots) :
For frontend related change, please link screenshots of your changes preview! Optional for backend related changes.

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have performed a self-review of my own.
[ ] I have tagged my reviewers below.
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

Reviewers

@ayush-shah the pyhive connector marks the decimal type from presto into null type which than converted to varchar.
We should use the reflection to get the raw_type and parse it ourselves.
Similarly we can catalog optional by running the
"show catalogs" query first for presto and than making a call show schemas from tpcds"


Marks story as seen when downloaded

This fixes issue #724, which wasn't able to download every story available to your account because it wasn't marking them as read, and therefore couldn't get the other stories it wasn't showing you. This fixes the issue by marking a story as read as soon as you download it, so the other stories can then be downloaded since Instagram always shows you the unread stories first.
I would consider this to be sufficient in 99% of cases, but an improvement would be if it only marked it as read when accessing the 1st storyitem and it successfully downloads, rather than marking it as read every time the 1st story is accessed, which would help with the mark as read rate limits. I would do it myself, but I'm not good at python, although it doesn't seem like it would be particularly difficult, so any help would be appreciated.
EDIT: This commit does it, but I don't know how to do it along with only doing the 1st storyitem of each story.

I think it should not be the default behavior. It's kind of a breaking change.
But it's a great feature indeed.

I think it should not be the default behavior. It's kind of a breaking change.
But it's a great feature indeed.

Hm I'm not sure, usually you want the thing that works to be the default, or else people are going to be confused why it's not downloading all the stories on their account, but I guess it depends on what the main developer wants.

Marking stories as seen is a feature that strictly speaking violates Instaloader's main goal to access the data without changing any of it online. We could possibly imagine an exception to this rule if it is otherwise not possible to access some important data. The combo that downloads only stories of the people you follow like described in https://github.com/instaloader/instaloader/issues/724#issuecomment-656909683 did have one major flaw compared to using :stories because it unnecessarily fetched the metadata of all followees which was very time consuming. This inefficient behavior is fixed with ed55ce140df608b972419b3fb351560aba299f3a. So, using the current master branch with the command
instaloader -l xxxxxxxxxxxxxx @xxxxxxxxxxxxxx --stories --no-profile-pic --no-posts --no-metadata-json

downloads all available stories efficiently. Since this is a well working alternative to using :stories we do not need the hack of marking stories as seen.

Mmm I see, well if that way works as well then that's good, but maybe it'd be good to but a notice with the :stories command that it won't download the stories of everyone the person is following if you're following too many people.

That is a great idea! If the length of the list of user IDs that gets fetched while using :stories is greater than or equal 150, Instaloader should display a warning that not all available stories may be fetched and suggest the other method to download them.


Rasterio CRS-attribute can be None

open_rasterio  does not work when rasterio crs is None. It is also clearly visible from the code that this is the case: Here's the code from line 144 onward
attrs = {}`
    if hasattr(riods, 'crs'):
        # CRS is a dict-like object specific to rasterio
        # We convert it back to a PROJ4 string using rasterio itself
        attrs['crs'] = riods.crs.to_string()
    if hasattr(riods, 'res'):
        # (width, height) tuple of pixels in units of CRS
        attrs['res'] = riods.res
    if hasattr(riods, 'is_tiled'):
        # Is the TIF tiled? (bool)
        # We cast it to an int for netCDF compatibility
        attrs['is_tiled'] = np.uint8(riods.is_tiled)
    if hasattr(riods, 'transform'):
        # Affine transformation matrix (tuple of floats)
        # Describes coefficients mapping pixel coordinates to CRS
        attrs['transform'] = tuple(riods.transform)`

I have version 1.0a9 for rasterio and 0.9.6 for xarray. For what I looked, the issue #1466 is related, but not same issue.
CRS is None when I read ENVI-dataset that has no georeferencing with rasterio.

Yes, this looks like a bug. A PR to fix this would certainly be welcome.


fix hardcoded cluster domain for query/store/sidecar/rule discovery

Q
A

Bug fix?
yes

New feature?
no

API breaks?
no

Deprecations?
no

Related tickets
fixes #56

License
Apache 2.0

What's in this PR?
Remove hardcoded cluster domains from components code(query/store/sidecar/rule), keep it query cause looks like it is the best place to set it.
Additional context
Works well with and without clusterDomain specified. P.S. to get clusterDomain used the same approach as queryFrontend already uses for discovery.
Checklist

[x ] Code meets the Developer Guide

Add one more commit, firstly didn't notice that generated url for sidecar coming from the same var as predefined by CRD.
:)


[Slider] Slider does not use defaultValue

The slider does not use defaultValue because the check for the value is made for null instead of undefined, https://github.com/callemall/material-ui/blob/master/src/slider.jsx#L82

This has been fixed. See here.


Tags with emojis do not appear with Metatable (in Preview mode)

I use tags in the form of emojis to organize my Obsidian notes. Metatable used to display my emoji tags but for some reason the emojis no longer appear.
Here is the text in edit mode.

Here is the text in preview mode.

I did notice that when separating two emoji tags with a comma, this error appears:

This error does not appear when the emoji tags are separated with a space bar.
When Metatable is turned off, the emoji tags become visible again in preview mode. Here is a picture of a note with two emoji tags:

Would it be possible to restore Metatable's ability to show emoji tags? I would hate to re-tag every single note of mine with non-emoji tags.

Hi @estheon, thanks for reporting. I'm afraid I can't reproduce the behaviour you are showing in these screenshots. Could you share the actual markdown file as well as the metatable version please?

Metatable Emoji Tag Debugging.md
Here is the file from the screenshot above, it has two tags like in the last screenshot. My current Metatable version is 0.14.3, the latest version.

The markdown file you shared works fine for me 😢 I'll think about what could make your instance not work, no immediate ideas right now though.

If it doesn't work when you use the Preview I would expect it doesn't work either when you open the sidebar, is this correct?

I just wanted to provide an update here: so it turns out that one of my other Obsidian vaults does show the emoji tags. I am going to compare the .obsidian folders of my two vaults and see what's preventing the emoji tags from showing in my original vault, and I will provide my updates soon.
Thank you for your responsiveness, arnau!

Closing as it doesn't seem to be an issue.


Not working properly - {"detail":"Method Not Allowed"}

Hello, I´m getting an error
{"detail":"Method Not Allowed"}
Te output throws a https 405 error. Sometimes it does the request without internet search, other times it just stops working.
After a successful install and no errors in the execution in both python or docker. Is there something I´m missing?
Thanks in advance.
PS. working on macos ventura intel, python 3.11.1 and latest docker.

go to line 53 in index.html and replace

with

Get the most updated code of gptresearcher, if you run into this problem again after you have the line @MrAshRhodes mentioned, clean your browser's cache and it'll work properly

Thank you for raising this issue. We've merged a fix or this, so please pull latest version.

Thank you! Solved and working as a charm!
Cheers,

Getting the error:
bash-3.2$ $ uvicorn main:app --reload
bash: $: command not found
So do I just install unicorn or do I need to configure it?

Hi, I just deployed GPT Researcher as a web service on Render and am calling it from Make.com (like Zapier) from an HTTP module.
Here is my HTTP module from Make:

But I get this response

Since I am not using the frontend, how can I solve this. I haven't changed anything in the code.

Hi @raviwarrier. Do you have any related log on the server side?

==> Using Node version 20.10.0 (default)
==> Docs on specifying a Node version: https://render.com/docs/node-version
==> Running 'uvicorn main:app --host <IP_ADDRESS> --port 10001 --reload'
INFO:     Will watch for changes in these directories: ['/opt/render/project/src']
INFO:     Uvicorn running on http://<IP_ADDRESS>:10001/ (Press CTRL+C to quit)
INFO:     Started reloader process [43] using StatReload
INFO:     Started server process [45]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     <IP_ADDRESS>:0 - "POST / HTTP/1.1" 405 Method Not Allowed
==> Using Node version 20.10.0 (default)
==> Docs on specifying a Node version: https://render.com/docs/node-version
==> Running 'uvicorn main:app --host <IP_ADDRESS> --port 10001 --reload'
INFO:     Will watch for changes in these directories: ['/opt/render/project/src']
INFO:     Uvicorn running on http://<IP_ADDRESS>:10001/ (Press CTRL+C to quit)
INFO:     Started reloader process [43] using StatReload
INFO:     Started server process [45]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     <IP_ADDRESS>:0 - "POST / HTTP/1.1" 405 Method Not Allowed

that's all I see on the log window of Render

How is the data submitted from Make.com? I think you can only interact using ws https://github.com/assafelovic/gpt-researcher/blob/b014c329f7344f5f51412efc4d53badd6fa2b556/backend/server.py#L39

I'm not a programmer. could you elaborate please? could you tell me how to use/call the websocket?

I checked this docs/docs/tavily-api/rest_api.md
and tried using /search and /search/ but both resulted in "404 detail not found" error
and tried using /ws and /ws/ and got the same 404 error.
what endpoint do I need to use? I also tried api.tavily.com, but that gave a totally different output


https://web-push-codelab.appspot.com/

https://web-push-codelab.appspot.com/ link in not working

https://web-push-codelab.glitch.me/ ... The link may have changed.

I hit this also but a quick Google found it.

same

Not fixed yet!, Still this URL: https://web-push-codelab.glitch.me/

https://web-push-codelab.glitch.me/ link in not working


Compile errors

I tried this about 7 months ago and nothing but errors in VS2015, now today it's the same in VS2017, this thing isn't compiling right out of the box, any idea why?
builderrors.txt

It appears that for whatever reason you have required .net core 2.0 which isn't released yet.

You have run a dotnet restore and npm install command first?

If you are puling the GitHub code down and trying to run it you will probably get compile errors because the code is usually "in progress" (this is a good thing 👍). Your particular error is probably that you need .Net 2.0 Preview: https://www.microsoft.com/net/core/preview#windowscmd
If you just want to use JavaScriptServices, try this tutorial: Hello World Angular 2+ Data Sample Using JavaScriptServices .Net Core and PrimeNg

Yes, I didn't want to install a preview, I took a quick look and I'll try your tutorial. Thanks!


Frontend auth object is lost on page refresh

Signing in, refreshing the page, then attempting to POST/PUT causes the error Cannot read property 'i' of undefined
The property 'i' refers to userContext.token.i in MuralForm, meaning userContext is being wiped
Context might have config for persisting across sessions, otherwise we could use localStorage to store its values
Alternatively, we could rebuild user context using Firebase Auth's onAuthStateChanged listener

Should be fixed by #183

Should be fixed by #183


Errors in .zprintrc/.zprint.edn files found with :search-config? true ignored

As noted in the later comments in Issue #56, when there are problem with a .zprintrc or .zprint.edn file that is discovered by {:search-config? true}, they are ignored and the entire file is ignored, without any indications of an error.

Fixed in 1.1.0.

Fixed in 1.1.0.


Not able to use search config box to search for known issues

Please make sure that you have checked the boxes:

[x] Pease review the Troubleshooting doc for additional details regarding your issue.
[x] Review the Quickstart guide
[x] Search for both open and closed issues regarding the problem you are experiencing
[x] For permissions issues (Access Denied and credential related errors), please refer to the requisite docs before submitting an issue:
AWS, GCP, OpenStack, GitHub

Description of issue:
Hello,
I'm not able to search for audit issues in the web UI but I dont have any error logs that are not http 200 codes. So, I'm really not sure where to start looking for fixing this issue.

Are you running the latest develop branch? I do recall this being fixed.

Yes I'mm on version 1.1.3

I didn't push that release out yet (this is my bad).
You have to go by the latest git commit in develop, which is much farther ahead of that release.

This would be running in prod, so I can't run the latest dev. When will the next release or are you able to send out a small release that fixes this issue?

In general, we've been doing very loose, rolling releases. If you need the fixes in production, for the time being, you will need pull in the latest develop branch.
I would have to dedicate some time to getting a release out. I do intend on dedicating some time this quarter to fixing some Security Monkey bugs and working on the 2.0 version.
The 2.0 version will fix a number of problems that should make pushing out releases much easier.

Great, thanks. We'll go ahead and close this issue.


Debit/Credit Balance Scaling

Hey!
Big fan of the work you guys are doing.
So, I noticed in your docs that TigerBeetle leverages scaling 64-bit unsigned integers. I understand the rationale here, as doing operations on integers is quite fast. I've used similar techniques in the past.
Where I've run into problems with 10 ^ n integer scaling is when n is quite large, which isn't as uncommon as one might think. When n is large, you aren't left with sufficient room in the remaining bytes to represent the whole-number part. In trading systems, for instance, you can easily hit 10 ^ 10 to represent fractional traded prices. In crypto, the problem gets way worse... an extreme example would be a wei, which would need to be scaled by 10 ^ 18.
Concretely, if you need to scale by 10 ^ 10, then your whole-number part is 2 ^ 64 / 10 ^ 10 = 1,844,674,407, which isn't terribly large.
One solution here is to perhaps have generics to represent balance amounts, and then perhaps the type can be chosen via a build flag, so either 64-bit, 128-bit, arbitrary-decimal type, etc. An arbitrary-decimal type would give the most flexibility, with performance perhaps being a trade-off. For the use cases I'm thinking of, I'd happily make that trade-off.
I do think this problem could become a pretty big deal ultimately for various users who aren't just using TigerBeetle to represent fiat currencies in normal payment flows where n tends to be small.

Hey @sachnk!

Big fan of the work you guys are doing.

Awesome to hear that, thanks so much.
We've actually been thinking about 128-bit balances recently. This is something we may do. We had considered a build flag but perhaps we can do it without affecting performance.
It would be great to catch up and chat about this. Would you like to join our Slack and we setup a time?

Hey!
Big fan of the work you guys are doing.
So, I noticed in your docs that TigerBeetle leverages scaling 64-bit unsigned integers. I understand the rationale here, as doing operations on integers is quite fast. I've used similar techniques in the past.
Where I've run into problems with 10 ^ n integer scaling is when n is quite large, which isn't as uncommon as one might think. When n is large, you aren't left with sufficient room in the remaining bytes to represent the whole-number part. In trading systems, for instance, you can easily hit 10 ^ 10 to represent fractional traded prices. In crypto, the problem gets way worse... an extreme example would be a wei, which would need to be scaled by 10 ^ 18.
Concretely, if you need to scale by 10 ^ 10, then your whole-number part is 2 ^ 64 / 10 ^ 10 = 1,844,674,407, which isn't terribly large.
One solution here is to perhaps have generics to represent balance amounts, and then perhaps the type can be chosen via a build flag, so either 64-bit, 128-bit, arbitrary-decimal type, etc. An arbitrary-decimal type would give the most flexibility, with performance perhaps being a trade-off. For the use cases I'm thinking of, I'd happily make that trade-off.
I do think this problem could become a pretty big deal ultimately for various users who aren't just using TigerBeetle to represent fiat currencies in normal payment flows where n tends to be small.

+1 on this. I think this is an issue when trying to use TigerBeetle with cryptocurrencies. 128-bit seems to be reasonably large enough.

Hi @sachnk and @PhakornKiong, thanks for your input!
We're happy to announce that #1157  just landed with support for 128-bit balances and amounts.
I'm closing this issue as completed,  but please feel free to post further comments here or in our Slack channel.


Screen reader announces "Enter to Refactor, Ctrl+Enter to Preview" for every refactoring

Type: Bug
Since I'm using the most recent insiders build, I'm getting this message for every suggested refactoring after pressing Ctrl.period at least when using Rust. Note that the actual text of the refactoring is still accessible by using NVDA object navigation, but it isn't read when using up and down arrows
VS Code version: Code - Insiders 1.71.0-insider (73fd3f11032e7b83c2ae011b5516e6ddd19e3db2, 2022-08-05T07:36:58.753Z)
OS version: Windows_NT x64 10.0.25151
Modes:
Sandboxed: No
cc @isidorn

Sounds like a bug to me / regression to me. Let me assign it to August so we do not miss this.
@justschen the new refactoring UI is probably not accessible. If you are using a list make sure to properly use the accessibilityProvider interface. Also feel free to reach out to me and we can sync for 30 mins on accessibility.
@leonardder thanks for reporting!

Confirmed on my fedora version 36 workstation, using orca.

Taking a look at how we're doing hovers ATM! We're using the native hover (ie, using html titles), but will take a look at the accesibilityProvider that Isidor mentioned!

Works OK on my fedora workstation. Great job.

Thanks for letting us know. Adding verified label.

I was also able to verify that it works again. There is a difference though, the instruction to press either enter or ctrl-enter is in the accDescription (likely aria-description or aria-describedby) of every suggestion. Even when it is possible to silence it, I find it slightly noisy.


Implement sonarcloud

My goal is to add sonarcloud to analyze my project.
Unfortunately sonarcloud has no automatic analysis support for c#
So I need to add this flow to my Github Actions workflow.
Any help is appreciated! ✨

Since SonarCloud has no automatic analysis support for .net, I had to use Azure Pipelines to add a service connection for SonarCloud  and trigger code analysis.


Provide script to grant a specific role to a resource on a specific resource group

Is your feature request related to a problem? Please describe.
In some cases a resource needs to be granted access to all resources present within a specific resource group. To help in setting this up, a PS-script can be provided.
Describe the solution you'd like
This script should allow you to define:

the name of the resource (and its RG) which should be granted access
the name of the resource group to which access should be granted
the name of the role to assign

for instance:
New-ResourceGroupRoleAssignment
 -TargetResourceGroupName
 -ResourceName
 -ResourceGroupName
 -RoleDefinitionName

Additional context
This script can be created based on the following:
https://codit.visualstudio.com/Invictus Templates/_git/invictus-templates?path=%2Fdeploy%2FInvictus-FlowHandlerAccessRights.ps1

Should probably be added to Arcus.Scripting.Security.

Should probably be added to Arcus.Scripting.Security.


Update UserNamespaceInKernel test requirement to handle redhat

On redhat based distribution, checking that USER_NS is compiled in the
kernel is not sufficient, we also have to check that the feature as
been enabled.
With this commit, it is now done by checking the content of
/sys/module/user_namespace/parameters/enable.
Signed-off-by: Kenfe-Mickael Laventure<EMAIL_ADDRESS>--
Should fix our CI failures on the centos/redhat nodes

oh, nice! Should update my chkconfig hack as I wasn't aware of this better clue to enablement on RHEL/CentOS
LGTM

Minor nit, otherwise LGTM


Update 'fix' command to fix 'requireLineBreakAfterVariableAssignment'

Running jscs -x on a script containing
var a=1;var b=2;

is expected to produce
var a = 1;
var b = 2;

The linter accounts for the rule correctly, the fixer just doesn't fix it.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/27389734-update-fix-command-to-fix-requirelinebreakaftervariableassignment?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github).

https://github.com/jscs-dev/node-jscs/blob/master/lib/rules/require-line-break-after-variable-assignment.js#L72 is using errors.assert so it should be fixing it. What version are you using/what's your config?

I'm using JSCS 2.3.0.
My config is here, but you can simply use:
{
  "requireLineBreakAfterVariableAssignment": true
}

// test.js
var a=1;var b=2;

$ jscs --version
2.3.0
$ jscs -x test.js
Variable assignments should be followed by new line at test.js :
     1 |var a=1;var b=2;
---------------^
     2 |

1 code style error found.
$ cat test.js
var a=1;var b=2;
$

Weird - definitely a bug - will check it out

It is a bug, but we can't fix it without supporting https://github.com/jscs-dev/node-jscs/issues/454

At this point only major and CST related bugs will be fixed.


(Suggestion) NEW SKINS AND CLASSIC KNIFE

if we find the new skins ids maybe we can add the new skins in nSkinz source , should be easy :)

https://github.com/danielkrupinski/Osiris/pull/682

I added the classic knife, want my dll?

@igre3zy sure , i'm trying to find where to paste that code that hayden send, my Giangero#3167 discord

@Hayden959 actually thanks i found ur code on pull request thank u so much <3


fix: spacing between bottom of related content and footer. [NP-1029]

Fix the spacing between related content, the toolbar and footer. This should be 40px (2.5rem) at the smallest breakpoint.
Spacing between the two titles and each list item is already 16px/1rem - assuming this was fixed in a previous PR related to typography gap analysis?
With toolbar, smallest/mobile breakpoint (logged in):
(will need additional PR on public-repo to remove top padding from toolbar)

Logged out, smallest/mobile breakpoint (logged out):

Advisernet related content
This change also affects advisernet related content - spacing on the list is now a uniform 1rem/16px (VRTs updated to reflect this)

related: https://github.com/citizensadvice/public-website/pull/488

I've updated the VRTs - they did highlight a problem with my initial PR. I fixed that and realised there was an opportunity to normalise the spacing around the Adviser content in the advisernet related content - so made that change and updated VRTs.


accept-ca-terms

Changes:

removed "RUN export VERSION='2'" from Dockerfile, this was accidentally left over from previous testing
added a WORKDIR for image
added acceptCATerms to automatically accept terms when starting docker container
updated README to reflect changes
updated docker-compose to reflect changes

:+1:

Oh @WGrobler one other thing. Not a big deal but if you can run go fmt ./... before you commit it helps keep the code tidier. Thanks!

Oh @WGrobler one other thing. Not a big deal but if you can run go fmt ./... before you commit it helps keep the code tidier.

Didn't know Go could do it.
It's nice to start learning Go, will surely do so in the future.

I've gotten pretty hooked on Go. Coming from C/Python/JavaScript I wanted to start using Rust for more things, but I'm just not productive enough. I can move so much faster in Go. It just makes some really good tradeoff decisions.


@swc/helpers  should export .js to make it compatiable

Describe the bug
my environment not support .mjs, so I need the .js file
Input code
No response
Config
No response
Playground link
No response
Expected behavior
export .js
Actual behavior
No response
Version
@swc/helper@latest
Additional context
No response

@magic-akari  I'm on ^0.5.1, still produce w/ .mjs


Reduce module size

When checking module size, found out 1 gif file taken almost 1mb.
/examples/instantsearch.gif

Can we optimize or exclude it from npm?

Need to also keep LICENSE, README, CHANGELOG and bower.json (not sure but let's not break anything).

LICENSE, README, CHANGELOG are kept by default, bower.json not, so I just added it

LICENSE, README, CHANGELOG

Did not know that, thx

reference: https://docs.npmjs.com/files/package.json#files


[wip] migrate to vitest

I could fix by myself but need help to run integrations tests locally

@B2o5T this is how you run the integration tests locally:

export DOCKER_REGISTRY="local-graphql-hive-"
export DOCKER_TAG="testing"
pnpm i
pnpm build
pnpm docker:build
docker compose -f docker-compose.community.yml -f ./integration-tests/docker-compose.integration.yaml --env-file ./integration-tests/.env up -d --wait
pnpm --filter integration-tests test:integration

If we want to use vitest in all of our projects then Hive is part of it, so I'm okay with migrating to vitest here :)

@B2o5T a rebase and we're ready to go


Update insider-risk-management-cases.md

added more information about Investigators having the ability to Turn off pseudonymize
fixes #https://github.com/MicrosoftDocs/microsoft-365-docs/issues/10359

@JohanFreelancer9 Please copy review

Learn Build status updates of commit 539300f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/compliance/insider-risk-management-cases.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@JohanFreelancer9

@robmazz Please merge this PR. Thanks

Learn Build status updates of commit 3a00606:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/compliance/insider-risk-management-cases.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@msbemba - thanks, I'll discuss this addition with the PG and Marketing teams about if we want to highlight this here.


F5 does not work when bas file has a space in the name

There's the distinct possibility that this is also a problem for opening a directory with a space in its name.

Agreed.  I think that would be a problem too.


Need doc update for terms of use

Updated the document with a Note under per-device terms of use with below details
Note:- "Consent per device" setting on TOU, does not support when the CA policy has Intune enrollment app in scope.

@Prashanth0007 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Below needs to added in TOU documentation
Note:- "Consent per device" setting on TOU, does not support when the CA policy has Intune enrollment app in scope.

Already says this on line 264

The Intune Enrollment app is not supported.

#please-close


Merge master branch to prTesting1_202009061932 branch

Docs Build status updates of commit 3021cbe:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


constructor missing formattingSettingsService

The example code doesn't construct the formattingSettingsService.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 4bc4f82a-1cec-444c-8561-c02aa38caa96
Version Independent ID: c05253d9-f12e-b2ee-763f-96e4a76fec54
Content: Add formatting options to a Power BI custom visual - Power BI
Content Source: powerbi-docs/developer/visuals/custom-visual-develop-tutorial-format-options.md
Service: powerbi
Sub-service: powerbi-custom-visuals
GitHub Login: @mberdugo
Microsoft Alias: monaberdugo

Thanks for your comment, @FritsWillem. This issue has been assigned to the doc author for review.

Hi, @FritsWillem. The tutorial has been updated. Good luck with it!


WIP: Start attempt to use altair for plotting

Start trying out using Altair to make plots if requested. Refs #3. Supercedes #31 as I've changed the branch name to be more appropriate.

Hello @mattpitkin! Thanks for submitting the PR.

In the file psrqpy/search.py, following are the PEP8 issues :

Line 127:101: E501 line too long (115 > 100 characters)
Line 143:101: E501 line too long (116 > 100 characters)
Line 169:101: E501 line too long (104 > 100 characters)
Line 184:101: E501 line too long (159 > 100 characters)
Line 190:101: E501 line too long (103 > 100 characters)
Line 190:104: W291 trailing whitespace
Line 206:101: E501 line too long (135 > 100 characters)
Line 234:1: W293 blank line contains whitespace
Line 246:23: W291 trailing whitespace
Line 263:101: E501 line too long (141 > 100 characters)
Line 308:101: E501 line too long (111 > 100 characters)
Line 334:101: E501 line too long (102 > 100 characters)
Line 368:101: E501 line too long (132 > 100 characters)
Line 378:101: E501 line too long (123 > 100 characters)
Line 409:1: W293 blank line contains whitespace
Line 416:101: E501 line too long (135 > 100 characters)
Line 448:101: E501 line too long (109 > 100 characters)
Line 457:101: E501 line too long (123 > 100 characters)
Line 463:101: E501 line too long (105 > 100 characters)
Line 466:101: E501 line too long (105 > 100 characters)
Line 467:101: E501 line too long (102 > 100 characters)
Line 469:101: E501 line too long (120 > 100 characters)
Line 471:29: E261 at least two spaces before inline comment
Line 504:101: E501 line too long (134 > 100 characters)
Line 505:101: E501 line too long (181 > 100 characters)
Line 505:130: E261 at least two spaces before inline comment
Line 512:101: E501 line too long (145 > 100 characters)
Line 516:101: E501 line too long (155 > 100 characters)
Line 518:101: E501 line too long (153 > 100 characters)
Line 523:101: E501 line too long (120 > 100 characters)
Line 527:101: E501 line too long (131 > 100 characters)
Line 535:101: E501 line too long (116 > 100 characters)
Line 658:101: E501 line too long (132 > 100 characters)
Line 661:101: E501 line too long (103 > 100 characters)
Line 667:101: E501 line too long (127 > 100 characters)
Line 681:101: E501 line too long (119 > 100 characters)
Line 685:101: E501 line too long (140 > 100 characters)
Line 695:101: E501 line too long (143 > 100 characters)
Line 700:65: E261 at least two spaces before inline comment
Line 738:101: E501 line too long (107 > 100 characters)
Line 754:101: E501 line too long (101 > 100 characters)
Line 764:101: E501 line too long (114 > 100 characters)
Line 780:101: E501 line too long (106 > 100 characters)
Line 790:101: E501 line too long (119 > 100 characters)
Line 925:101: E501 line too long (113 > 100 characters)
Line 928:101: E501 line too long (108 > 100 characters)
Line 930:101: E501 line too long (108 > 100 characters)
Line 931:101: E501 line too long (160 > 100 characters)
Line 933:101: E501 line too long (110 > 100 characters)
Line 934:101: E501 line too long (110 > 100 characters)
Line 937:1: W293 blank line contains whitespace
Line 955:101: E501 line too long (125 > 100 characters)
Line 1029:101: E501 line too long (102 > 100 characters)
Line 1058:101: E501 line too long (109 > 100 characters)
Line 1061:101: E501 line too long (104 > 100 characters)
Line 1063:101: E501 line too long (104 > 100 characters)
Line 1064:101: E501 line too long (156 > 100 characters)
Line 1066:101: E501 line too long (106 > 100 characters)
Line 1067:101: E501 line too long (106 > 100 characters)
Line 1079:26: E261 at least two spaces before inline comment
Line 1093:41: E261 at least two spaces before inline comment
Line 1104:38: E261 at least two spaces before inline comment
Line 1106:101: E501 line too long (104 > 100 characters)
Line 1108:101: E501 line too long (104 > 100 characters)
Line 1125:101: E501 line too long (103 > 100 characters)
Line 1139:101: E501 line too long (112 > 100 characters)
Line 1140:101: E501 line too long (101 > 100 characters)
Line 1141:101: E501 line too long (121 > 100 characters)
Line 1150:101: E501 line too long (122 > 100 characters)
Line 1151:101: E501 line too long (132 > 100 characters)
Line 1152:101: E501 line too long (122 > 100 characters)
Line 1153:101: E501 line too long (127 > 100 characters)
Line 1154:101: E501 line too long (126 > 100 characters)
Line 1155:101: E501 line too long (129 > 100 characters)
Line 1156:101: E501 line too long (120 > 100 characters)
Line 1157:101: E501 line too long (129 > 100 characters)
Line 1214:49: E261 at least two spaces before inline comment
Line 1228:101: E501 line too long (104 > 100 characters)
Line 1246:101: E501 line too long (103 > 100 characters)

Another thing to add in this the ability to use a set a 'symlog' scale. This is currently not implemented in Atlair (altair-viz/altair#1077) due to not being implemented in a chain of dependencies going back through Vega-Lite, Vega and d3. When/if these are resolved I can add this option.

symlog is now supported by altair, so I can add this option.

To output html that contains the chart, and can also still be used interactively, see here.

Also, maybe look at using rich displays options for "automatic" generation using altair if using a Jupyter notebook.


Feature Request: Add ability to see namespace usages in file by clicking on namespace in using statement.

In addition, it might also be possible to also allow clicking on parts of the namespace declaration to see usages of those namespaces in the file. One question, would be how to encode this information. Maybe something similar to what we do for locals. Maybe add a property to reference span's "uint NamespaceId" (could be computed as hash of namespace) or just some ordinal unique id for the file.
Interestingly, for a given reference identifier, the corresponding namespace is the same independent of position in file. Given that there could be a way to represent this efficiently in the compact reference list. Technically, usings nested inside namespace declarations should only impact things in their scope.
Maybe usage of this feature would be for understanding if a using is unneccessary. If it is necessary, knowing why is valuable.

This would be very useful.
I'm just not completely convinced that

for a given reference identifier, the corresponding namespace is the same independent of position in file

namespace A
{
  using B;
  class C : Derived { } // binds to B.Derived
}

namespace D
{
  using E;
  class F : Derived { } // binds to E.Derived
}


fix: ensure wallet disconnect to prevent ConnectorAlreadyConnectedError

This PR fixes the ConnectorAlreadyConnectedError that occurs when repeatedly connecting and disconnecting the wallet.
Changes include:

Added await disconnectAsync({ connector }) before attempting to reconnect to ensure the wallet is properly disconnected.

These changes will help prevent errors and improve the reliability of the wallet connection process.
Issue:
#2112

@0oooooooo0 Ideally it'll be better to use useDisconnect hook from Wagmi to prevent any unexpected behaviours during wallet connection process.
Also i think we can close this PR since the issue is now resolved in the latest Wagmi version. Check out the issue here https://github.com/rainbow-me/rainbowkit/issues/2033. We'll also update our documentation website with the latest Wagmi version.


images: Remove security.selinux extended attributes on CentOS images

Removes xattr security.selinux on container CentOS 9-Stream images.
I've tried suggestion from @simondeziel with + at the end of the find command to process files in bulk, but it always resulted in an error - it may be that I've missed something. Feel free to improve.
Passing build on fork: https://github.com/MusicDin/lxd-ci/actions/runs/10745316648/job/29804098029

I've tried suggestion from @simondeziel with + at the end of the find command to process files in bulk, but it always resulted in an error - it may be that I've missed something. Feel free to improve.

It might have accumulated too many files to pile up in the command args that has a limited size. Thanks for trying!

Passing build on fork: https://github.com/MusicDin/lxd-ci/actions/runs/10745316648/job/29804098029

Thanks for the convenient link!


Problem with killing children processes

Hi there. I seem to be running into a problem using the atom-script editor, you can see it here: rgbkrk/atom-script#453
Basically, atom-script runs go, which in turn starts up a server. Killing the process with a control-c kills off the child process, but not the child of the child.
13:53|~/go/src/github.com/davewv31/helloworld/helloworld% ps ax | grep helloworld
84187   ??  S      0:00.22 go run /Users/dave/go/src/github.com/davewv31/helloworld/helloworld/helloworld.go
84218   ??  S      0:00.22 /var/folders/2v/53vdc3j9187f6zj1ljjfc10h0000gn/T/go-build234219847/command-line-arguments/_obj/exe/helloworld

After control-c in atom:
13:53|~/go/src/github.com/davewv31/helloworld/helloworld% ps ax | grep helloworld
84218   ??  S      0:00.22 /var/folders/2v/53vdc3j9187f6zj1ljjfc10h0000gn/T/go-build234219847/command-line-arguments/_obj/exe/helloworld

In buffered-process.coffee, the windows and non-windows terminations seem to be different.  It does just wrap child_process, but doesn't allow a full process group kill (which I want) or a signal type to be sent(which I'm not sure would work).
Thanks!

Since June?!
Since there is code to kill all child processes in windows, can't we assume that is the intended behavior. Thus this is indeed a bug on Mac.

@jbtule it's not necessarily a bug with Apple itself, afaik. It probably occurs on all *nix systems. Just added some code that should in theory kill all child processes of a child process on those systems.

@acburdine thank you!!!

Dunno if it helps much to bump & monkeywrench this, but I'm still running into the same issue in Windows (w/ Atom 1.7.1) despite the behavioral difference.
I'm specifically seeing this issue with ember-cli-helper, but I don't think it's the fault of the package since it's not doing anything fancier than calling BufferedProcess.kill(), unless there's something weird going on with ember-cli invoking a child node process. Worth mentioning at least.

It probably occurs on all *nix systems.

@acburdine is correct on this.  I can reproduce this issue on linux (Ubuntu 14.04).


Fixed calculation of slots number for date when DST ends.

Should fix #1044.

Before:

After:

This fix looks good!  Tested it on the example.

Hey would be great to get a release with this merged in!
Alternatively if anyone has any suggestions on how to install the current master as dependency that would be great, installing directly from git doesn't seem to work, as lib/ isn't committed and there's no prepare script defined.
Thanks!

@mikeocool I used https://github.com/anna-kartynnik/react-big-calendar/tarball/fix/slots-number-when-dst-ends-build in package.json for now.


feat(button): add size prop to button component

Issue #, if available:
N/A
Description of changes:
Add in new prop size to the Button component
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

:tada: This PR is included in version 1.0.18 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Golang modules support

FEATURE REQUEST
I'm looking over the docs and it seems that the only way to specify dependencies is with a Gopkg.toml file and using dep. Given the norm of dependency management in go moving to modules, are there plans to support using the built in module system (which would also allow using a proxy for private packages)?

Yes, this is something we've been asked before. While that's something desirable, we don't have the resources to work on that right now. I labeling this issue in case someone wants to contribute it. Thanks for the suggestion!

@andresmgot Correct me if I'm wrong, but I think this has been resolved now that https://github.com/kubeless/runtimes/pull/71 has merged?

That's correct, latest versions of the Golang runtime already uses go modules. Thanks for pointing it out!


Turn this into a generic copy method

https://github.com/alichtman/shallow-backup/blob/eaa2617b394af438f84ae338bf9f7a636d096b52/shallow_backup/utils.py#L84
This should work for both files and directories. There should just be one method for this...
import shutil, errno

def copy(src, dst):
    try:
        shutil.copytree(src, dst)
    except OSError as exc: # python >2.5
        if exc.errno == errno.ENOTDIR:
            shutil.copy2(src, dst)
        else: raise

Add one more level of error checking for if the file doesn't exist at all. Fail gracefully by printing an error message.

This works fine as it is so it's not getting in the next release, but it's going to block #125.

Jk, symlinking is the way to go.


update API doc to match new directories and files

@deitch @bharani-zededa Please take a look

LGTM


FIP 44 - Standard Authentication Method for Actors

Issue summary

[ ] Are there any changes to the actor data structures that we need to be aware of?
[ ] Are there any changes to the network protocol?
[ ] Are there any changes to node behavior (eg. changes in block validation criteria, random number generation, etc)?
[ ] Are there any new magic numbers?

Other information and links

https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0044.md

It doesn't seem we would need to change anything, except bumping the builtin-actors version.
It may be tempting to use this new method of the Account actor and not have our implementation for verifying message signatures. It's something to consider (keeping in mind a potential FVM overhead), but not a blocker.
Related PR: https://github.com/filecoin-project/builtin-actors/pull/502


cannot install tensorrt

i am using your aimbot and it work really well, i made a train for rust and it works pretty damn well but sadly I can only use the .pt version since i cannot run the engine because i can't install tensorrt.
i tried everything i have python 3.11.5.
if i run the command i get the erro : ERROR: Could not install packages due to an OSError: [Errno 22] Invalid argument: 'C:\Users\PC\tensorrt-*-cp311-none-win_amd64.whl'
Otherwise if i run the command i get another massive error, no clue what to do :(

i have a rtx 3090 and i only get about 30 fps in game hope to improve the performance with tensorrt

Check first whether the versions of python, tensorrt, cuda, cudnn converge.
Next, double-check item 4 in the documentation

another question, the smoothing option doesn't seam to work at least for it make no difference from 1 to 10

I fixed mouse_smoothing. Try now.


Implementation for Arrow heads on links

Hi, thanks for the awesome project, I'm recently using it to build a workflow builder. However, we will need the arrow heads to indicate the directions. I would like to help in implementing it. Do you have any suggestions or any implementation in mind?

https://github.com/MrBlenny/react-flow-chart/issues/73


build(gql_websocket_link): upgrade web_socket_channel to v3.0.1, rxdart to >=0.26.0 <= 0.28.0

upgrade web_socket_channel to v3.0.1, rxdart to >=0.26.0 <= 0.28.0
not sure what this code does, just copied it from pr #462, it makes sink errors go away though, I can't handle StreamSink is closed error even with try...catch block
channel.stream.asBroadcastStream().listen(
  ...
)

I believe there is a regression (or breaking change) in web_socket_channel which breaks the auto reconnect. Or, at least, the tests.
The implementation in graphql has similar issues:
https://github.com/zino-hofmann/graphql-flutter/pull/1463

looks like completeError is causing it, how do you handle error thrown by completeError?
00:01 +1 -1: test/gql_websocket_link_test.dart: WebSocketLink transport ws sub-protocol Auto reconnect [E]
  LikeCloseEvent(code: 1001, reason: , wasClean: null)
  dart:async                                                        _Completer.completeError
  package:gql_websocket_link/src/graphql_transport_ws.dart 663:13   _ConnectionState.errorOrClosed.<fn>
  package:gql_websocket_link/src/graphql_transport_ws.dart 82:32    TransportWsEvent.execute
  package:gql_websocket_link/src/graphql_transport_ws.dart 1143:13  _Emitter.emit
  package:gql_websocket_link/src/graphql_transport_ws.dart 717:66   _ConnectionState._startConnecting.<fn>.<fn>
  package:gql_websocket_link/src/graphql_transport_ws.dart 873:32   _ConnectionState._startConnecting.<fn>.<fn>
  package:stream_channel                                            _GuaranteeSink.close
  package:web_socket_channel/adapter_web_socket_channel.dart 91:36  new AdapterWebSocketChannel.<fn>.<fn>
  ===== asynchronous gap ===========================
  dart:async                                                        _StreamImpl.listen
  package:gql_websocket_link/src/graphql_transport_ws.dart 779:36   _ConnectionState._startConnecting.<fn>
  ===== asynchronous gap ===========================
  dart:async                                                        _CustomZone.registerUnaryCallback
  package:gql_websocket_link/src/graphql_transport_ws.dart 698:18   _ConnectionState._startConnecting.<fn>
  package:gql_websocket_link/src/graphql_transport_ws.dart 886:7    _ConnectionState._startConnecting
  package:gql_websocket_link/src/graphql_transport_ws.dart 900:20   _ConnectionState.connect
  package:gql_websocket_link/src/graphql_transport_ws.dart 986:34   _Client.subscribe.<fn>
  package:gql_websocket_link/src/graphql_transport_ws.dart 1054:7   _Client.subscribe
  package:gql_websocket_link/src/graphql_transport_ws.dart 1246:26  TransportWebSocketLink.request.<fn>
  dart:async                                                        _ForwardingStream.listen
  test/gql_websocket_link_test.dart 1529:29                         _testLinks.<fn>
  ===== asynchronous gap ===========================
  dart:async                                                        _CustomZone.registerUnaryCallback
  test/gql_websocket_link_test.dart 1482:16                         _testLinks.<fn>

completeError does not throw an error, it just makes the future of the completer complete with an error. so it depends on where the future of the completer is used.
The logs look like the come from toString() of the LikeCloseEvent class. probably logged by the log() function passed to TransportWsClientOptions. might be useful for debugging.
I don't have resources to dig deeper into this for now though.
Also, see #435, If someone wants to take ownership of gql_websocket_link and is committed to keeping it open and community-driven, I am willing to add them as maintainer.

it looks like a bug from "dart or web_socket_channel or web_socket" linux implementation, somehow completeError throws same error twice, and one of them is not caughtable by try/catch block, while the other is caughtable by try/catch block
I made a workaround, but I'm not sure what the exact cause of this is, I don't really have time to dig into it
yes, I can take ownership of gql_websocket_link, but I do get quite busy sometimes

Hint:
It might be easier to check what's going on if you add
   TransportWsClientOptions(
              log: print,

to _testLinks when debugging.
Yes, it definitely is a change in behavior in we_socket_channel ^3.0.0.
However, it suspect this is a real bug in our implementation which is just now uncovered.
It might be related to #471.
I can reproduce it locally as well on macos, it is not only happening on linux.
I think there's a race condition somewhere. If I change the GraphQLSocketMessageDecoder and GraphQLSocketMessageEncoder to be synchronous (without FutureOr), and remove the await before encoding and decoding everywhere, then the test completes successfully.
I am not sure if this workaround reliably fixes this issue or just makes the test complete successfully, can you elaborate a bit on that?
Might also be worth checking if this goes away with the changes in #471.
I also think that we could drastically reduce the complexity of the state logic by making the encoding and decoding synchronous, but that would be a breaking change.
Then again, I doubt a lot of users use custom encoders/decoders which are asynchronous anyway.

I just tried #471, it doesn't resolve this.
Here is how I reached to the conclusion `completeError' throws the same error twice
in void errorOrClosed(void Function(Object errOrEvent) cb) function, add a log
closed: (Object event) {
  listening.forEach((unlisten) => unlisten());
  print("errorOrClosed closed");
  cb(event);
},

During "Auto Reconnect" test, this log is printed twice, both calling codes are in Future<_Connected> _startConnecting() function
errorOrClosed((errOrEvent) {
        options.log?.call("errorOrClosed $errOrEvent");
        connecting = null;
        isOpen = false;
        connectionAckTimeout?.cancel();
        queuedPing?.cancel();
        print(_comp.isCompleted); // this returns true during "Auto Reconnect" test
        if (!_comp.isCompleted) {
          denied(errOrEvent);
        }

        if (errOrEvent is LikeCloseEvent && errOrEvent.code == 4499) {
          // close event is artificial and emitted manually, see `Client.terminate()` below
          socket.sink.close(4499, "Terminated");
          onError = null;
          onClose = null;
        }
      });

bool acknowledged = false;
late final StreamSubscription _messageSubs;
_messageSubs = socket.stream.listen(
   (Object? msg) async {
     ...
     errorOrClosed(_completer.completeError);
   }
);

The first calling code doesn't do anything.  The 2nd calling code will throw uncaughtable LikeCloseEvent(code: 1001, reason: , wasClean: null) error and then continue on to finish the test process successfully (you can put print statements in subscribe(...) function to see execution flow, this time LikeCloseEvent error is caught by try/catch block).
My workaround is to complete normally, and catch the first uncaughtable LikeCloseEvent(code: 1001, reason: , wasClean: null) error in _completer.future.catchError(...) , then handle that error.
I don't mind if we change encoder/decoder to be synchronous because I'm using websocket connection in a separate isolate, but I think it should stay asynchronous if it has even the slightest chance to avoid screen flickering.  My first rule of business, "don't sacrifice user experience for a better developer experience".
I think the trend in the future, will be to move away from json and grpc data format to cbor format.  So encoder/decoder probably will be used in a couple of years

I'm using websocket connection in a separate isolate

That's a much better solution anyway IMO! Receiving the bytes on the main isolate, decoding them to a String, then copying that string to a new isolate, decoding the string to JSON on the new isolate and then copying that JSON back to the main isolate is a lot of overhead compared to running the whole websocket in a long-lived isolate that just copies the parsed responses.

My first rule of business, "don't sacrifice user experience for a better developer experience".

In principle, I agree. It makes sense to bite the bullet in low-level packages to move complexity away from applications. If if we don't have the resources to ensure correctness however, it might be better to keep the code simpler.

Here is how I reached to the conclusion `completeError' throws the same error twice

Seems plausible.

you want me to merge this in, or wait until I have time to find the cause?  I can dig into it in mid december

If you're confident that there are no regressions induced by the update, go ahead ;)


Update drowned_city_of_skalla.js

better french translation

Oops, I missed that this specified it was being merged into the triggers branch and not `main as it should have been.  I'll fix it.


[SPARK-46358][CONNECT] Simplify the condition check in the ResponseValidator#verifyResponse

What changes were proposed in this pull request?
This PR has made the following refactoring to the verifyResponse function in ResponseValidator:

The check condition response.hasField(field) is moved before getting value, and only when response.hasField(field) is true, value is obtained, which seems more in line with the existing comments.
Removed the value != "" condition check in the case match, because only when value.nonEmpty is true will it enter the if branch, and the condition value.nonEmpty has already covered the check for value != "".
The condition check value != id is moved inside case Some(id). After the modification, an IllegalStateException will still be thrown when the id exists and value != id, but serverSideSessionId will no longer be reassigned when the id exists and value == id.
Removed the redundant toString operation when reassigning serverSideSessionId, because value is String type.
Removed the No-op case _ match, because it is unreachable code after the above modifications.

Why are the changes needed?
Simplify the condition check in the verifyResponse function
Does this PR introduce any user-facing change?
No
How was this patch tested?
Pass GitHub Actions
Was this patch authored or co-authored using generative AI tooling?
No

Thanks @dongjoon-hyun ~

Thanks @dongjoon-hyun ~

thanks @beliefer


Remove error thrown if no json files are found

Now the module throws an issue when no files are found. This blocks the protractor-multiple-cucumber-html-reporter-plugin.
https://github.com/wswebcreation/protractor-multiple-cucumber-html-reporter-plugin/issues/14#issuecomment-397968207

Fixed with this PR:
https://github.com/wswebcreation/multiple-cucumber-html-reporter/pull/55

Thanks for fixing. When this will be updated as npm package? Waiting for this :)

@wswebcreation
I have a very similar setup as @vignesh-paramasivam  and I see the fix for this issue (using protractor-multiple-cucumber-html-reporter-plugin@1.8.0). But now, I'm getting these runtime errors on ignored features:
WARNING: No JSON files found in '/myproject/test/bdd/report'. NO REPORT CAN BE CREATED!
I/plugins -  	 Fail:  protractor-multiple-cucumber-html-reporter-plugin Runtime
E/plugins - 		Failure during postResults: suite.features.forEach is not a function
E/plugins - 		TypeError: suite.features.forEach is not a function
 		at _parseFeatures (/myproject/node_modules/multiple-cucumber-html-reporter/lib/generate-report.js:154:20)

Should I open another issue?

Hmm,
This should not happen. Can you check your package-lock.json and see what version of multiple-cucumber-html-reporter is used there?

Can do:
$ cat package-lock.json | jq '.dependencies["multiple-cucumber-html-reporter"].version'
"1.11.3"

I think this is the issue: https://github.com/wswebcreation/multiple-cucumber-html-reporter/blob/master/lib/collect-jsons.js#L55

I made a PR for this little bug: https://github.com/wswebcreation/multiple-cucumber-html-reporter/pull/71

Tnx, just released version 1.11.4


[FEATURE] Add annotation guidelines to the sidebar

Is your feature request related to a problem? Please describe.
I want to open the annotation guidelines directly in the annotation view instead of opening another tab with the dataset settings.
Describe the solution you'd like
Add the annotation guidelines to the sidebar so I can open/close while annotating.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@nataliaElv can this be combined with another roadmap issue.

I'm not sure this is something that we're planning to do. Any comments @Amelie-V ?


marginRight in y facet does not translate label of x

Observed when I applying facet y on a dot plot:
When I change marginRight  within the facet y object,
it updates the dot plot and the x axis  with the ticks (as expected) but does not translate the label of x to the new end of the axis

(see the age label in: https://observablehq.com/d/1d9e39bd4f83a69a)

We tried to fix this in #402 but I think we should take another crack at it.

👍


Angular 5: CSP style-src 'self' blocks all angular material styles and generates a  csp violation error on the browser console

Bug, feature request, or proposal:
I have Angular 5 app running on Apache Server which has a strict csp style-src 'self'. All the styles of material components are getting blocked and generates violation errors on the browser console.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular-cli: 1.6.0
Angular: 5
Material: 5.2.5
browsers: Chrome, Firefox

This isn't anything that Angular Material controls- the way Angular renders CSS happens at the framework level.

Thanks for the information.
Does upgrading the Angular framework help in avoiding this issue?


Support printing circles

Currently, we don't support this geometry.
It's a bit a special one. I'll encode it as a point.

For me, it should be a polygon...

In GMF, that's a point with a circle style. I'll see

If I draw a circle with the redlining, a polygon is sent to the print...


Key Vault: added parameters that can't be user set to kwargs

Can one of the admins verify this patch?


[SHOWCASE] Dipan's Dash

Title
Dipan's Dashboard
Screenshot

Would you like your name/ username included?
Yes
Link to your Website/ Profile/ Twitter (optional)
https://dipan.de
Description (Optional)
With the option of embedding iframes, it becomes possible to combine and conquer. I have set up Dashy to include graphs from grafana, and set them so that they update automatically. I also have uptime monitors from uptime Kuma, panels from homeasistant are also possible to be included.
Dashy is awesome!

   Web | Dipan Ghosh   Personal Website of Dipan Ghosh. Enjoy nature and travel photography especially flower.

That's a work of a work of art, it's beautiful!
Thanks for sharing :) It will be added in the next PR (#775).
P.s Lovely photos on your website, you're very talented!

Thank you :)
Awesome work on this project.

Hi, @dipanghosh
Will you share config.yml for this state of the art?

Hey @rankokrneta ,
Yes, but you should know that this dashboard heavily relies on a tech stack involving InfluxDB and Grafana. The graphs are merely being imported from Grafana.
If you are have grafana set up already, and are interested how to integrate that into Dashy, then I can help.

@dipanghosh
no, still didn't set up, but planning Prometheus(InfluxDB) and Grafana to be my primary monitoring (as I already use this on my work).
Generally, the layout and colors are great, everything on this dash is beautiful!

Hey @dipanghosh,
I love your Dashboard and I'm Currently trying to recreate it. How did you do the Uptime-Kuma widget?

@rankokrneta Thanks!! Without the awesome work by @Lissy93, and a whole bunch of other awesome opensource projects have allowed me to create this. Thanks goes to them. If you need any particular help setting it up, just ping me here.
@lolgufdHD Pretty much all the graph widgets on here are using Grafana using iframe, and the uptime kuma widget is also using iframe. Here is the relevant configuration. Let me know if this helps.
  - name: Uptime-Kuma
    widgets:
      - type: iframe
        useProxy: true
        options:
          url: https://<url_to_uptimekuma>
          frameHeight: 500
        id: 0_1071_iframe
    displayData:
      sortBy: default
      rows: 1
      cols: 1
      collapsed: false
      hideForGuests: false

@dipanghosh
for some reason the iframes are not allowed by my domain which points to uptime kuma as well as Grafana. Do you know whats up with that? In Edge however it does show the widgets but in the window it says that the connection was denied.
For more Context, a Cloudflare tunnel is pointing to the Grafana and Uptime Kuma app in Truenas. I tried googling said issue, but can't seem to find anything helpful.

Oh yes. By default these services does not allow embedding. This is true for Grafana and also for Uptime Kuma. You need to change a setting for that.
For Grafana, you need to set
 GF_SECURITY_ALLOW_EMBEDDING: true

If you are running it as a docker container, just set this pass this as an environment variable. Otherwise, I believe you can edit grafana.ini to achieve the same thing.
and the same applies for Uptime Kuma as well. The relevant setting there is
 UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN: 1

Does this make sense to you?

@dipanghosh
finally got the Grafana embedding to work, how exactly did you set up Grafana? Did you use the panel sharing and then the embed function, or how did you do it?

Let me show you the tricks of the trade. It requires quite a bit of trial and error to set up grafana just right. This is actually the secret ingredient 😁
There are two important things what needs to be done in order show grafana graphs in an iframe.
First: You need to tell grafana, that it is okay to be embed into other websites which you have already done.
Second: You need to figure out the URL parameters to set for the embedding to look nice. I will paste the dashy config I am using below, just change the initial part to point it to your server. For the CPU usage, I am using:
- name: CPU Usage
widgets:
  - type: iframe
    useProxy: true
    options:
    url: >-
    https://[your_grafana_server]/d/[ID_of_the_dashboard]/new-dashboard?orgId=1&viewPanel=4&kiosk&refresh=5s
    frameHeight: 500
    id: 0_765_iframe

Notice the URL. Notice the paramaters passes after the question mark. Those are important. Now, go to grafana and pick a graph. Select share from the dropdown menu.

Then, copy the URL from there, but replace everything after the question mark like above. This should result in an embedded grafana graph that autoupdates every 5 seconds.
Let me know how this goes.

@dipanghosh
Thanks for your help in advance,
but it doesn't work for some reason. Here is my Code:
`  - name: CPU Usage
widgets:
- type: iframe
useProxy: true
options:
url: https://my-domain.com/d/rYdddlPWk/truenas-scale?orgId=1&viewPanel=77&kiosk&refresh=5s
frameHeight: 500
`
I double-checked, but embedding is definitely enabled.

First ensure you are able to visit the URL you are embedding, and that it works correctly.
If this is working, then check if you are able to embed grafana. Try some other service that allow embedding a webpage (HomeAssistant for instance) or make a simple webpage yourself.
If both of those pass, then you should have no issues.
BTW, have you restarted the grafana service after changing the settings?

Okay, I will try that.
Yes, I did restart Grafana, but I suspect that maybe Cloudflare is blocking the embed.

@dipanghosh
Okay my uptime Kuma looks diffrent from yours:

How can I make it look like yours? Did you use the statuspage as an embed?

Nope, doing that will create this issue. I created a separate status page, and then used that page to embed.

@dipanghosh
How did you get rid of the "All Systems Operational" box?
When I try to hide the class with CSS, it also hides the monitors.

Elementary, dear Watson.
.overall-status {
  display: none;
}

Gotta target the right class, not the class that is applied to all the monitor elements as well.

@dipanghosh
Ahhh thank you

Dear @dipanghosh,
i'm working to reproduce your beautiful work, but how to:

hide the "modify status page" and "go to dashboard" buttons?
hide the title of the Page?
Thnks

Thats how I did it.

Hey @fbellati
Yes, use CSS. the following CSS hides the title (and logo if you have it).
.mb-4.title-flex{
display: none;
}

The two buttons... well you can hide them with css, but that may cause you problems as you will not able to modify the status page anymore (because the buttons will be gone.) You can unhide them by using the DevTools, but depends if you are comfortable with that.
The alternative here is to log out of Uptime Kuma once you are done with editing and you like the statuspage. Remeber status pages are public, and if you are not logged in, those buttons will no longer show up.
I hope that helps you out.

Really fast answer! I appreciate the help! @lolgufdHD and @dipanghosh.

ok with buttons and, ok with logout. It's working.

@fbellati
Glad to Help :)

No worries. I am glad people have such an interest in the Dashboard.

Hey @rankokrneta ,
Yes, but you should know that this dashboard heavily relies on a tech stack involving InfluxDB and Grafana. The graphs are merely being imported from Grafana.
If you are have grafana set up already, and are interested how to integrate that into Dashy, then I can help.

Awesome theme for dashy <3, Can you share your Config & Style? I already have grafana and Influxdb working. :-)


Action throws error when removing dependency with disallowed license

Hi there,
The following PR is updating an NPM dependency and is removing a transitive dependency, string-similarity, from package-lock.json at the same time: https://github.com/fastify/fastify-passport/pull/597
string-similarity has a disallowed license, which is causing the action to throw an error, even though said dependency is being removed in the PR:

Not too sure if working as intended, or a bug?

Thanks @kachick!


Jests tests for slim-redux-react

Finished the slim-redux-react unit tests. Run with npm run test:watch but notice how one of the test cases is failing. This is most likely an implementation in slim-redux-react that does not behave as expected.

@jdhorwitz if you find the time, please review and let me know if there's anything that could be better / changed / whatever. This PR does not contain any changes to the NPM module, so we won't have to release a new version I think.
If this looks good, feel free to merge the PR and close the feature branch, thanks :)

@jdhorwitz sry it took me so long to respond! Shallow is only good for checking whether components are there or not as far as I know - but in this case I'm testing for actual functionality of the wrapped component - e.g. that it's getting the data it subscribed to, that the change triggers work etc.