OOM/CUDA errors when running in batch mode?

import argparse
import os
import glob
import time
import subprocess
from itertools import cycle

from model import ExLlama, ExLlamaCache, ExLlamaConfig
from tokenizer import ExLlamaTokenizer
from generator import ExLlamaGenerator

# Directory containing model, tokenizer, generator
model_directory = "/root/pulsar/Charybdis-v1.0-GPTQ"

# Locate files we need within that directory
tokenizer_path = os.path.join(model_directory, "tokenizer.model")
model_config_path = os.path.join(model_directory, "config.json")
st_pattern = os.path.join(model_directory, "*.safetensors")
model_path = glob.glob(st_pattern)[0]

def generate_responses(num_prompts, response_length=200, prompt_multiplier=10):
    # Generate prompts
    base_prompts = [
        "Once upon a time," * prompt_multiplier,
        "I don't like to" * prompt_multiplier,
        "A turbo encabulator is a" * prompt_multiplier,
        "In the words of Mark Twain," * prompt_multiplier,
    ]
    prompts = [p for _, p in zip(range(num_prompts), cycle(base_prompts))]

    # Create config, model, tokenizer and generator
    config = ExLlamaConfig(model_config_path)  # create config from config.json
    config.model_path = model_path  # supply path to model weights file

    model = ExLlama(config)  # create ExLlama instance and load the weights
    tokenizer = ExLlamaTokenizer(
        tokenizer_path
    )  # create tokenizer from tokenizer model file

    cache = ExLlamaCache(model, batch_size=len(prompts))  # create cache for inference
    generator = ExLlamaGenerator(model, tokenizer, cache)  # create generator

    # Configure generator
    generator.disallow_tokens([tokenizer.eos_token_id])

    generator.settings.token_repetition_penalty_max = 1.2
    generator.settings.temperature = 0.95
    generator.settings.top_p = 0.65
    generator.settings.top_k = 100
    generator.settings.typical = 0.5

    # Generate, batched
    start_time_batch = time.time()
    output = generator.generate_simple(prompts, max_new_tokens=response_length)
    end_time_batch = time.time()
    time_taken = end_time_batch - start_time_batch
    for line in output:
        print("---")
        print(line)

    print(
        f"Time taken to generate {len(prompts)} responses in BATCH MODE: {time_taken} seconds. Average time per prompt: {time_taken/len(prompts)} seconds"
    )
    command = "nvidia-smi"
    result = subprocess.run(command, shell=True, capture_output=True, text=True)
    print(result.stdout)

if __name__ == "__main__":
    parser = argparse.ArgumentParser(
        description="Generate responses for given number of prompts."
    )
    parser.add_argument(
        "-p", "--prompts", type=int, help="Number of prompts for the generator."
    )
    parser.add_argument(
        "-l", "--response_length", type=int, help="Length of the response in tokens."
    )
    parser.add_argument(
        "-m", "--prompt_multiplier", type=int, help="Multiplier for the prompts."
    )
    args = parser.parse_args()

    generate_responses(args.prompts, args.response_length, args.prompt_multiplier)

I'm using a slightly modified version of example_batch.py to test batching performance and I encounter errors on an A6000 (48GB vRAM) with p set to 10 and m > 25. The weird thing is it works fine and only uses half vRAM, ie. around 25GB when m is set to 25. What could be going on?
Command:  python example_batch.py -l 200 -p 10 -m 26
Output:
python example_batch.py -l 200 -p 10 -m 26
Already up to date.
Traceback (most recent call last):
  File "/root/pulsar/example_batch.py", line 85, in <module>
    generate_responses(args.prompts, args.response_length, args.prompt_multiplier)
  File "/root/pulsar/example_batch.py", line 55, in generate_responses
    output = generator.generate_simple(prompts, max_new_tokens=response_length)
  File "/root/pulsar/generator.py", line 311, in generate_simple
    self.gen_begin(ids)
  File "/root/pulsar/generator.py", line 177, in gen_begin
    self.model.forward(self.sequence[:, a:b], self.cache, preprocess_only = True, lora = self.lora)
  File "/root/pulsar/model.py", line 860, in forward
    hidden_states = decoder_layer.forward(hidden_states, cache, buffers[device], lora)
  File "/root/pulsar/model.py", line 466, in forward
    hidden_states = self.self_attn.forward(hidden_states, cache, buffer, lora)
  File "/root/pulsar/model.py", line 391, in forward
    new_keys.copy_(key_states)
RuntimeError: CUDA error: an illegal memory access was encountered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

Command:  python example_batch.py -l 200 -p 10 -m 25
Output:

Time taken to generate 10 responses in BATCH MODE: 21.112586736679077 seconds. Average time per prompt: 2.1112586736679075 seconds
Fri Jun 30 19:38:00 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02              Driver Version: 530.30.02    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA RTX A6000                On | 00000000:02:00.0 Off |                  Off |
| 35%   67C    P2              296W / 300W|  24351MiB / 49140MiB |     95%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
+---------------------------------------------------------------------------------------+

Okay, figured it out -- with batching it loads lot more in mem at once so the seq_length matters (needs to be big enough to fit the batch), increasing it using cpe scaling seems to have done the trick in letting me run things like  python example_batch.py -l 200 -p 10 -m 51 and I get Time taken to generate 10 responses in BATCH MODE: 22.564942359924316 seconds. Average time per prompt: 2.256494235992432 seconds
Based on the above, I can roughly put 511019 words into context before OOMing. If I were to increase p to 20 and decrease m to 20, I still can't seem to run the code without OOMing even tho tokens in memory should be roughly the same, any idea whats going on? ie. running  python example_batch.py -l 200 -p 20 -m 20  causes me to OOM

Seems like higher batch count means much more memory? setting p anything over 10 is causing OOMs on a 48GB card, ie even python example_batch.py -l 200 -p 11 -m 1 fails

The size of the cache is: 2 * max_seq_len * num_hidden_layers * hidden_size * sizeof(float16). For a 2048-token context that works out to:

7b: 1,024 MB
13b: 1,600 MB
33b: 3,120 MB
65b: 5,120 MB

If you increase the sequence length, the cache size increases proportionately, so e.g. 7b at 8k context needs a 4 GB cache. Likewise, increasing the batch size also multiplies the size of the cache.
I haven't extensively tested how well it deals with very large batches. There is a known issues with one or more of the CUDA kernels acting up if the total sequence length exceeds a certain threshold in prompt processing, something to do with the block grid, idk. It's possible that it also triggers if the sequence length times the batch size exceeds that threshold. You can try setting config.max_input_len = 512 or some such which puts some restraints on the prompt processing. It isn't really a good solution, though, since it sacrifices a bit of performance.
I'll look into it soon.

also to run large batches I require to scale seq_len as well, making batch_size and seq_len dependent on each other -- this shouldn't be the case right @turboderp?

@turboderp small bump on last post, how is seq_len supposed to function in batch mode? do I need to increase cpe with seq len even if the per-batch seq len is lower?

You should use the cpe value that's appropriate for the model, in any case. The 8k SuperHOT models are tuned for a factor of 4.0, regardless of how much of the useful 8192-token space you end up using.
As for its relation to batch mode, batch size and sequence length are independent dimensions of the input. Batch size of 3 just means do everything 3 times in parallel, which also requires 3 times as much VRAM for the cache and for the attention weights. There shouldn't be any other side effects like affection position embeddings.
The size of the attention weight matrix is batch_size * (past_len + seq_len) * seq_len * num_heads * sizeof(float16) where seq_len here is just the tokens sent through the forward pass in one chunk. You probably want to account for that as well, but it's limited by default to the memory that would be used for a 2048-token inference. You can configure it with the max_input_len parameter in the config, or max_attention_size. This is a relatively recent addition, though, so I'm not sure if it applies to your example. But definitely if you try to run inference on even a single batch of 9000 tokens that can eat up some gigabytes also.


Demo code to run in google colab

Hi Team,
I created a demo notebook code. This code will run right out of box in the google colab so people can focus on the logic rather  env settings. Let me know your thoughts
regards
Bharath

Hi, there is already an existing demo notebook that functions smoothly, so I'll be closing this pull request.


FIX: A couple of bug fixes for SS4 version

Discovered these while upgrading addons

OK downgraded to a warning.


Strings and Boxed types should be compared using "equals()"

This fixes 3 Sonarqube violations of rule S4973:
https://rules.sonarsource.com/java/RSPEC-4973
Sonarcloud violation URL:
https://sonarcloud.io/organizations/apache/issues?open=AWyr6XyY5ULuzyOxXLGi&resolved=false&rules=squid%3AS4973
Jira Ticket:
https://issues.apache.org/jira/browse/JSPWIKI-1120

Hi @HarisAdzemovic !
thanks for your interest in JSPWiki and for your PR, which is already in :-) We also tend to update Release.java and ChangeLog.md files with every push in order to have a clear history; I'll just do it in a minute for this PR
cheers,
juan pablo

Thank you for the merge! I'll make sure to modify those files too for any future PR :)


Fix Issue 24

This change addresses: https://github.com/mwitkow/grpc-proxy/issues/24
There was a change in the upstream gRPC project that broke the API used by the proxy package. https://github.com/grpc/grpc-go/commit/57640c0e6fd5e562b3a53f6b72738759165c80e1
A new way to get the method name from stream has been amde by the upstream project via https://github.com/grpc/grpc-go/pull/1588

Closing this PR as it's a duplicate of https://github.com/mwitkow/grpc-proxy/pull/23


A basic example breaks in mobile safari with a white gap at the bottom when focus an input in the modal

Summary:
Steps to reproduce:

npx create-react-app my-app
yarn add react-modal
in index.css, add

.ReactModal__Overlay {
  background-color: blue !important;
}

in app.js

replace with this code:
import React from "react";
import Modal from "react-modal";

Modal.setAppElement("#root");

export default function App() {
  const [modalIsOpen, setIsOpen] = React.useState(false);
  function openModal() {
    setIsOpen(true);
  }

  function closeModal() {
    setIsOpen(false);
  }

  return (
    <div>
      <button onClick={openModal}>Open Modal</button>
      <Modal
        isOpen={modalIsOpen}
        onRequestClose={closeModal}
        contentLabel="Example Modal"
      >
        <button onClick={closeModal}>close</button>
        <form>
          <input />
        </form>
      </Modal>
    </div>
  );
}

yarn start
open on your iOS mobile Safari (iOS 13)
open modal, focus the input
scroll the page, a white bottom appears at the bottom of the page

Expected behavior:
No White space at the end
Additional notes:
Only in safari, iOS Chrome is fine

Hey @Albert-Gao , did you ever find a workaround for this? I'm seeing the exact same issue happen in my project


Write a vars.py file that contains all variables that often get called for

For instance the guild and bot id

See FinTwit_Bot implementation


Added bower.json file

I added bower.json file so that this package could be installed more easily with bower.

Hmm, is Bower really that popular nowadays? I thought NPM had once that battle!

Not really. There are still missing good solutions to manage front-end dependencies (or I haven't heard). NPM has browserify, but it doesn't manage css dependencies. I have created bower postinstall script that copies only required files from package and gulp.js packs all JS and (S)CSS. And it works.
btw stats show that bower is still popular enough to not ignore it. :) https://bower.io/stats/

Fair enough - thanks!


How to insert multiple records Node orm2

http://stackoverflow.com/questions/41761582/how-to-insert-multiple-records-using-node-orm2

This is not a great way to post issues as if the stack overflow link stops working, this post will not help anyone else reading this.
https://github.com/dresende/node-orm2/blob/2fef6a9791443416fc6255bd286d037a77f5034c/test/integration/model-create.js#L54

Now I got the solution, the mistake I was doing is I was generating the data using a for loop like this:
var data = { name:'john', age:24<EMAIL_ADDRESS>
var arrayOfObjects= [];

for (var i = 0; i < 4; i++){
   arrayOfObjects.push(data);
}

modelObj.create(arrayOfObjects, function (err, result) {
      if (err) {
         console.log("The error is :", err);
      }
      else {
         response.status = 'success';
         response.data = result;
      }
    next(response);
});

So each and every record is same in this condition. However other than id none column having the property primary-key. I think it can be the behavior of the database or the node-orm2 can also be the reason, so it is not accepting the exact same values.
In actual, all the record won't be same. If you have some other point please let me know your thoughts. Thanks.


Tag Loader for Gelbooru as disapear again ?

Bug description
Same as the previous one, Tag Loader don't list Gelbooru. like in #1916
Steps to reproduce

Go to 'tools'
Click on 'Tag Loader'
No gelbooru again.

Expected behavior
Be able to load tags from gelbooru
Context
Nothing relevant in the logs.
System information

OS: Windows 10
Grabber version: Nightly f3ae6e66

Additional context

After a clean install, everything works, could be something with the update, still strange.


Make playground's layout more responsive

using a grid layout
NOT using flex-box because I want the neighbor cells having same measures

I converted almost all styles to TailwindCSS. For making manipulations on the header and footer I need to do it with CSS, because they are global partials used by all sub pages. So I just injected the id for a footer and for the header and referenced these ids in my media query.
I would be happy about an approval, the next PR is in den Startlöchern.


problems with deno 1.6

deno test
Download<EMAIL_ADDRESS>Download<EMAIL_ADDRESS>Download<EMAIL_ADDRESS>Download<EMAIL_ADDRESS>Download<EMAIL_ADDRESS>Check file:///Users/challer/collections/$deno$test.ts
error: TS2339 [ERROR]: Property 'data' does not exist on type '(ArrayLike<T> & Vector<any>) | (Iterable<T> & Vector<any>)'.
    const data = collection instanceof Vector ? collection.data : collection;
                                                           ~~~~
    at https://deno.land/x/collections@v0.9.1/vector.ts:77:60

TS2339 [ERROR]: Property 'compare' does not exist on type '(ArrayLike<T> & BinaryHeap<any>) | (Iterable<T> & BinaryHeap<any>)'.
      result = new BinaryHeap(options?.compare ?? collection.compare);
                                                             ~~~~~~~
    at file:///Users/challer/collections/binary_heap.ts:43:62

TS2339 [ERROR]: Property 'data' does not exist on type '(ArrayLike<T> & BinaryHeap<any>) | (Iterable<T> & BinaryHeap<any>)'.
        unmappedValues = collection.data;
                                    ~~~~
    at file:///Users/challer/collections/binary_heap.ts:45:37

TS2339 [ERROR]: Property 'data' does not exist on type '(ArrayLike<T> & BinaryHeap<any>) | (Iterable<T> & BinaryHeap<any>)'.
        result.data = Array.from(collection.data);
                                            ~~~~
    at file:///Users/challer/collections/binary_heap.ts:47:45

TS2339 [ERROR]: Property 'compare' does not exist on type '(ArrayLike<T> & BSTree<any>) | (Iterable<T> & BSTree<any>)'.
      result = new Tree(options?.compare ?? collection.compare);
                                                       ~~~~~~~
    at file:///Users/challer/collections/trees/bs_tree.ts:60:56

TS2339 [ERROR]: Property 'root' does not exist on type '(ArrayLike<T> & BSTree<any>) | (Iterable<T> & BSTree<any>)'.
        if (collection.root) {
                       ~~~~
    at file:///Users/challer/collections/trees/bs_tree.ts:66:24

TS2339 [ERROR]: Property 'root' does not exist on type '(ArrayLike<T> & BSTree<any>) | (Iterable<T> & BSTree<any>)'.
          result.root = Node.from(collection.root);
                                             ~~~~
    at file:///Users/challer/collections/trees/bs_tree.ts:67:46

Found 7 errors.

I will look at this deeper tonight.

I'll upgrade this and my other modules Friday Night or on Saturday. Thank you for letting me know about the issue with 1.6.0.

This issue has been resolved in<EMAIL_ADDRESS>and<EMAIL_ADDRESS>


can't print Google and Bing basemaps

I use the mutant-google and the leaflet-bing plugins to display google and bing basemaps. When I  use browser-print, the Google basemap is not displayed and I have a "No value provided for variable {subdomain}" error for Bing. Other basemaps (cartoDB, OSM...) are printed fine.
When using the standard chrome print menu, all basemaps are correctly printed.
A sample code reproducing the case is provided (I've just hidden my API key values).
bug print plugin.html.txt

Hi there.
Those plugins are not supported yet. I don't plan to add support for each individual plugin, instead there will be an a factory function to register all layers for printing. Will update you shortly.

Hello again,
Please refer to readme section new-print-layers-registration to check how you can register your google and bing layers and more information.
Shortly, you have to do something like next:
L.Control.BrowserPrint.Utils.registerLayer( 	L.BingLayer, 	"L.BingLayer", 	function(layer) { 		return new L.BingLayer(layer._key, layer.options); 	} );

Thank you. Do I have to register all basemaps like this? the doc indicate "a list of pre-registered layers", my understanding is I don't have to register these kind of layers. At the moment I have to manually register all type of layer even L.TileLayer and have multiple warnings "leaflet.browser.print.utils.js:143 Unknown layer, cannot clone this layer" when printing.

Hello. And thank you. You are right. There was an issue with initial layers initialization. Now it should work as expected. Please take latest, v0.6.8 and let me know if any.

It works now perfect, Google and Bing plugins included. Thanks a lot.

@astomas , could you help me by sharing code to register bing and google mutant layers? Thanks


[Multi Actions] Anthropic support

Currently, Multi Actions doesn't work with Anthropic because we use streaming mode with function calls, which Anthropic doesn't support in the GA mode.
We have access to a Beta of the models that does support it. So we want to switch to that model, and make it work with MA

context from anthropic available here: https://dust4ai.slack.com/archives/C0735P3JH9T/p1715876190159309

Added in https://github.com/dust-tt/dust/pull/5328 and  https://github.com/dust-tt/dust/pull/5347.


Upgrade hoist-non-react-statics

react-redux is now using v2.3.1 of hoist-non-react-statics and causing a duplicate dependancy within my webpack builds for different versions.
Upgraded single package to the latest version all tests complete.

Awesome. Thanks!

@timdorr @ryanflorence Any plans to release this change to NPM as v3.3.0?

I'll look into it. We need to do so for some 16.3 stuff anyways (already did this in react-redux)

Published as 3.2.1 (patch release since there were no local code changes)

Thanks!


Implement inline ternary operator support

Per discussions on Google Groups, ternary operator support should be allowed inline in attributes (directives, widgets, databinding)... similar to current support for arithmetic and booleon operator features.

#156 is related to this

Yes, this would be really great! Meanwhile I use the following workaround: condition && yes_expr || no_expr which is almost identical to condition ? yes_expr : no_expr.


Several unit tests fail while building on Linux

There seem to be three types of errors:

case-sensitivity issues in filenames (wct-core)
incomplete initialisation of mock objects (wct-core)
corrupt input file (wct-submit-to-rosetta)

Closing this issue, since this has been merged to master.


Fix typo in container insights overview doc

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

Looks good; thanks @VincentDondain.


Add SDMMC and example

Uses sdio-host.
Requires sdmmc feature gate.

@hargoniX Thanks, I fixed up those points. The error messages in the assert!s are helpful, I've added some more

bors r+


Private validators

Let's move the discussion from telegram here:
Let's tentatively call a national payment system "domestic chain" here.
The question is, how can a domestic chain be sure that a transaction sent to the hub chain has been committed?
There might be 3 ways:

A domestic node operator also operates a hub chain node, and there is some kind of local channel for verification between them
A hub chain node exposes block streaming endpoint and a domestic node subscribes to full block payload
A domestic node (verifier) requests a transaction inclusion proof and a hub chain node (prover) returns a merkle proof

I said "light client" in the context of an implementation for case 3.
The idea is to finalize a pending transaction in response to the inclusion proof
Reference
Chain itself would not communicate with the outside world.
Representations of outgoing transactions vary by protocol:

escrow/burn (IBC)
transfer to a mirror area (liquidity pool) for the other chain (TOKI)

And a third party called a relayer is responsible for reading the intention of the outgoing transaction from A chain and communicating it to B chain.
(It would be worth noting that both chains do not need to trust relayers)
The light client (a smartcontract) on B chain would verify and apply the intention of the incoming transaction
comments by @s8sato on telegram

@Erigara , @s8sato  and @mversic Let's come up with a comprehensive list of questions here, before we'll call for another workshop with @takemiyamakoto.

Guys, I've got some info on Polkaswap parachains. I hope you can find find some useful info there:
https://paritytech.github.io/polkadot-sdk/book/protocol-overview.html
https://wiki.polkadot.network/docs/learn-parachains

Review of approaches to cross chain interoperability, security risks and so on: Chain Interoperability, Vitalik Buterin, 2016.

For now my main question is what use cases we want to support by connecting domestic chain and hub chain?

From my notes:
Some domestic's chain data might be stored in Hub Chain (like wasm code, but not wsv), i.e. the Hub chain is the source of truth;
Private subnet (domestic 'chain') is not to maintain a blockstore, rather just the wsv;
So the data (proofs) published to the hub chain should be a somewhat lightweight transaction 'history'.

What identity the signatory of "omnibus account" will correspond to? Is it a chunk of domestic accounts?

Does it intend a clearing among domestic accounts to reduce transaction payload for the hub chain?
Does it intend to make individual domestic transactions untraceable in the hub chain?

The approach 3. would be one of the most trustless. Depending on use case, a simpler architecture might be possible. Are there any components that may be trustful?

Some domestic's chain data might be stored in Hub Chain (like wasm code, but not wsv), i.e. the Hub chain is the source of truth;

Afaik we discussed that private subnet could be just crash fault tolerant.
So what benefit gain this private subnet from storing commitment to it's data on chain?

Afaik we discussed that private subnet could be just crash fault tolerant. So what benefit gain this private subnet from storing commitment to it's data on chain?

I could accept it being rather a political move to have this kind of binding/belonging, though there are still some consistent with the domestic chain operations possible on the 'omnibus' account in the hub chain. Maybe the hub chain could get gain some verifiability in regards to such operation prerequisites.


docs: Add CPI Guard extension info

Problem
CPI Guard has been around for some time, but there aren't any docs about it.
Solution
Using the great proposal at #3694 for inspiration (and copy-pasta), add the docs!
Fixes #3771

thank you so much for taking care of this! haha every time i tried i got writers block... should have just used what id already written!


Spawnpoint integration with watchdog

Keep an eye on https://github.com/immesys/spawnpoint/issues/16.

There is now a watchdog to monitor Bosswave connectivity of running containers. I also added this to the garber deployment. The watchdogs are under the prefix 410.bw2.garber.

Can you do the other spawnpoints too? Thanks for this feature!

Sure, I just added bw2mon instances for the amplab and castle spawnpoints.

Looks good!


JSX syntax highlighting is broken after stacking destructured constants in component.

VSCode Version: 1.6.1
OS Version:  OSX El Capitan (10.11.6)

Steps to Reproduce:

Stack a destructured object at the top of the render() method in a React component.
Write some JSX in the return() block of the render method.  The JSX will be mostly orange, as opposed to having a distinction between elements and attributes like one would expect:

Sample code to reproduce:
export class Test extends Component {
  render () {
    const {
      test,
      test2,
      test3 } = this.props

    return (
      <div className={test}>
      </div>
    )
  }
}

This seems to be fixed with the new JavaScript grammar.


FR: Add conditional running to Prisma generators

Problem
I have a generator (https://github.com/notiz-dev/prisma-dbml-generator) that I only want to be run when NODE_ENV is set to 'development'. I don't need the generator run when the build is for our production environment. I think it would be a useful feature to add a run = ENV('SOME_ENV_VAR') === 'some_value' field to the generator block in schema.prisma to allow for generators to only be run when certain conditions are met.
Suggested solution
Add a field for each generator configuration where if an environment variable is of a certain value, the generator is run. Make this field generator-implementation agnostic so all currently available generators don't have to be re-coded to accept the new value.
Alternatives
None that I can think of that are too weighty. Having it be a per-implementation thing for each generator that's available from the prisma community at large seems like a big request to make.
Additional context
N/a

Similar request here: https://github.com/prisma/prisma/issues/5413


Emit more detailed highlighting for %, >>, <<

These are currently just given operator, when % can be grouped under arithmetic, and >> and << can be grouped under bitwise.

bors Thanks!
r+

I think you typoed that? :)

bors r+


cannot pull private respostry image

i have already config this :
[plugins."io.containerd.grpc.v1.cri".registry.configs]
[plugins."io.containerd.grpc.v1.cri".registry.configs."registry.my.com".tls]
insecure_skip_verify = true
and when i pull an image, response this:
ctr: failed to resolve reference "registry.my.com/kubernetes/pause:3.2": failed to do request: Head https://registry.my.com/v2/kubernetes/pause/manifests/3.2: x509: certificate signed by unknown authority
containerd version: 1.4.3
os version: centos 7.2009
kernel version: 5.10

ctr does not use CRI config.
For ctr, the corresponding flag is --skip-verify https://github.com/containerd/containerd/blob/dc207b654da07cdce1e9e2996810f46da3fb06d1/cmd/ctr/commands/commands.go#L47-L80

It would help to read the documentation first. https://github.com/containerd/containerd/blob/master/docs/cri/registry.md

It would help to read the documentation first. https://github.com/containerd/containerd/blob/master/docs/cri/registry.md

ctr doesn't read any config from /etc/containerd/config.toml.

ctr doesn't read any config from /etc/containerd/config.toml.

I have kind of the same issue but with Talos instead of centos.
Based on the documentation  linked by @lining2020x, below config should be fine, however, I have the same error as the issue owner: x509: certificate signed by unknown authority
Can you please check my config? I found a related git issue which adds insecure_skip_verify feature. I guess it is released in the v1.4.3 containerd. Can you please confirm insecure_skip_verify should with with this version and with below config?
@fuweid what does ctr stand for? Is it the command line client of containerd maybe? I am in Talos so I use kubernetes to interact with containerd.
/etc/cri/containerd.toml
imports = ["/var/cri/conf.d/*.toml"]
[plugins.cri.containerd.runtimes.runc]
runtime_type = "io.containerd.runc.v2"
[plugins]
  [plugins.cri]
    [plugins.cri.registry]
      [plugins.cri.registry.mirrors]
        [plugins.cri.registry.mirrors."registry.prod.srv.net"]
          endpoint = ["https://registry.prod.srv.net"]
      [plugins.cri.registry.configs]
        [plugins.cri.registry.configs."registry.prod.srv.net"]
          [plugins.cri.registry.configs."registry.prod.srv.net".tls]
            insecure_skip_verify = true
            ca_file = ""
            cert_file = ""
            key_file = ""

Warning  Failed     <invalid>  kubelet            Failed to pull image "registry.prod.srv.net/edge/e_m:dev1.1863": rpc error: code = Unknown desc = failed to pull and unpack image "registry.prod.srv.net/edge/e_m:dev1.1863": failed to resolve reference "registry.prod.net/edge/e_m:dev1.1863": failed to do request: Head "https://registry.prod.srv.net/v2/edge/e_m/manifests/dev1.1863": x509: certificate signed by unknown authority
  Warning  Failed     <invalid>  kubelet            Error: ErrImagePull


Review page shows explanation instead of value

If you left the name of the github repo blank in the previous page the review page will show this:

I think it should show the actual value that will be used ("test" in this case)

The front-end is quite stupid ATM, doing this will introduce more knowledge about the actual fields

I think it makes sense in this specific case, as this step is not part of the backend specifically and will be more user-friendly.

done


how to set the rowHeight before render?

Actually i have a question about how RGL responsive to the width of the browser,and i read the code about the widthprovider but i just cannot figure it out.Cause it just bind a event when componentDidMount but it should doesn't works before render.So if i wanna init the rowHeignt before render,it doesn't works.
What i want is to init the rowHeight to fill the height of my div box.But if bind resize events in didMount it will not work until u resize the window or refresh.

My grid items load data from an API and they can end up being pretty short or veeeery long. How can I set the item height based on its contents once the data has been loaded ?

Set a handler on your custom components (or wrap them in some HOC), call back after render by measuring a ref'd DOM element, and set rowHeight.


PDFJS.getDocument not working

I'm running a grails app on local host (which i know there's an issue with pdf.js and local file system) and instead of using a file: url which i know would fail i'm passing in a typed javascript array and it's still failing. To be correct it's not telling me anything but "Warning: Setting up fake worker." and then it does nothing.
this.base64ToBinary = function(dataURI) {
        var BASE64_MARKER = ';base64,';
        var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;
        var base64 = dataURI.substring(base64Index);
        var raw = window.atob(base64);
        var rawLength = raw.length;
        var array = new Uint8Array(new ArrayBuffer(rawLength));

        for(i = 0; i < rawLength; i++) {
        array[i] = raw.charCodeAt(i);
        }
        return array;
    };

PDFJS.disableWorker = true; // due to CORS

// I convert some base64 data to binary data here which comes back correctly
var data = utilities.base64ToBinary(result);

PDFJS.getDocument(data).then(function (pdf) {
         //nothing console logs or reaches here
         console.log(pdf);
}).catch(function(error){
//no error message is logged either
            console.log("Error occurred", error);
        });

I'm wondering if I just don't have it set up correctly? Can I use this library purely on the client side by just including pdf.js or do I need to include viewer.js too? and also i noticed compatibility file... the set up isn't very clear and this example http://jsfiddle.net/epistemex/LUNaJ/ works and mine doesn't and I'm not understanding the difference.  Also if I use the url supplied in that example it also says the same thing.

"That will not help in case when pdf.js name is changed or part of the combined file." true but aside from my own issues using grails you should just loop through them anyways to make the standard method more accurate. It's full of holes.


Update bower package to the latest version

I've installed Toast using bower, but I've checked the installed version is an older one (for example variable names are $gutter-width instead of $toast-gutter-width)
Would it be possible to update the current version in bower?
Cheers!

Try "toast-grid": "master" in your bower.json.

Done! Sorry for the delay.


Git lfs exit code 2 - on second git lfs fetch

Have you tried trouble shooting?
Yes, in fact I found another bug that when you set GIT_TRACE globally the agent will crash.
Agent Version and Platform
Version of your agent: 2.131.0
Version of git: 2.16.1.windows.4
Version of git-lfs: git-lfs/2.3.0 (GitHub; windows amd64; go 1.8.3; git 4dd2bf73
Running on Windows 7
VSTS Type and Version
On-Prem TFS 2017.3 (15.117.27414.0)?
What's not working?
Basically the problem is the following:

We have a git project with lfs files
We have a build
After clearing the source directory (ie .git folder in the agent for the build) the build always works fine
The build works fine for the same git-"branch"
When running the build for a different git-branch we get the following output (domain and project name changed):

Fetch LFS objects for git repository at: C:\TFS\work\2\s remote: origin.

git -c http.http://tfs.<domain>:8080.extraheader="AUTHORIZATION: bearer ***" lfs fetch origin <sha1>
Fetching <sha1>

batch response: Git credentials for http://tfs.<domain>:8080/tfs/<teamproject>/_git/<project> not found.
batch response: Git credentials for http://tfs.<domain>:8080/tfs/<teamproject>/_git/<project> not found.
Git LFS: (0 of 128 files) 0 B / 888.38 MB
error: failed to fetch some objects from 'http://tfs.<domain>:8080/tfs/<teamproject>/_git/<project>.git/info/lfs'

Get git-lfs logs.

git lfs logs last
No logs to show

Git lfs fetch failed with exit code: 2. Git lfs logs returned with exit code: 0.

System.InvalidOperationException: Git lfs fetch failed with exit code: 2. Git lfs logs returned with exit code: 0.

The log is already the most verbose setting I could figure out (and I even tried to compile the agent myself and "hack-in" GIT_TRACE support).
Agent and Worker's Diagnostic Logs
See above
Related Repositories
I guess this is the correct place.
Questions:

Any idea how to further diagnose this?
Running locally on the agent works (ie git is asking for password) so I'd assume it is related to the "token"
I'd assume it has to do with how we have different lfs files across the branches (ie. the same file might be a lfs file in one branch and checked-in directly in another one or not exist at all)

@matthid looks like the build service identity (the OAuth token's identity) don't have permission on LFS files in your other branch?
Btw, set GIT_Trace shouldn't crash the agent, i thought the agent will remove GIT_Trace env before running any git command.

@matthid sorry for late reply, i was out for conference. do you have lfs object in the branch that git lfs fetch not working?
let's say:

you queue a build in master branch, and everything works.
you queue a build in feature branch, and lfs report error.
if you queue a new build to master branch again, does everything still working for master?

if you queue a new build to master branch again, does everything still working for master?

@TingluoHuang Yes this is what we see in our system.

@matthid does your other branch has git lfs object at all?

Just to make it clear: The other way around works as well:

Cleanup everything on the agent (ie clear .git directory)
you queue a build in feature branch, and everything works.
you queue a build in master branch, and lfs report error.
if you queue a new build to feature branch again, does everything still working for feature? -> yes

This hopefully clarifies your next question as well (where the answer is yes)

We basically report this here because we have no more ideas on how we can debug this further than what we have already figured out above.

@matthid i understand, it looks weird to me, but i will try to help you out.
https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables
can you set GIT_TRACE=/somepath/log.txt ?
base on the doc, it will print all trace log to a file if the value of that env start with / :D

@TingluoHuang Ok retrieving the logs now.
Something I noticed in the mean time It's not actually related to switching branches. More generally: It's just that the initial clone+lfs fetch works and as soon as new lfs files arrive it fails. This actually makes a lot more sense.

@TingluoHuang Thanks for the trace idea. We tried several different versions. We have this problem since upgrading TFS from I believe 2017.1.
I think with the trace logs I could figure out the reason. Basically we have a .lfsconfig with the following contents:
[lfs "http://<domain>:8080/tfs/<teamproject>/_git/<project>/info/lfs"]
       access = basic

With the logs I realized that the difference between the working and non working version was:
broken: trace git-lfs: run_command: 'git' config -l -f C:\TFS\work\2\s\.lfsconfig BEFORE git lfs fetch
working: the call is made AFTER git lfs fetch
Obviously - before we even started to debug into this - the first thing we tried is to remove the .lfsconfig file. However this is not working (or at least in our tests), because of how the vsts agent works.
It first executes git clean -fdx from the PREVIOUS state. This means it does restore the state from the previous build (and for us basically restored ".lfsconfig")!
I believe we have the .lfsconfig in place to workaround some client side issues. Is there a way for vsts-agent to ignore the config? Otherwise we might need to find a different way or check if we still actually need it.
I think vsts-agent should work even with .lfsconfig in place.

@matthid thank you so much on your detail analyze!
I am still think this is a bug in git-lfs, i would except git -c http.extraheader lfs fetch always overwrite whatever in your config file.
I will create an issue in git-lfs and get thought from them.

@TingluoHuang Ah yes, you are correct. Still it feels a bit strange to use the "old" .lfsconfig but I guess that's just how it works.

@TingluoHuang Ok we discussed this internally and we need the .lfsconfig file because of client side issues. Can you think of any other workaround? The point is it apparently worked before the TFS upgrade (we upgraded the agents at this point) so it worked with an older vsts-agent version?
Should we try to downgrade to old vsts-agent version? Also please feel free to link the lfs-issue (if it is public)

We actually verified that an older version fixes the problem

@matthid which version you use?

Ahhh wait we tested this on a different machine which might have credentials in the credentials manager. This issue is really tricky to track down, sorry

but this might be our workaround just add it to the credential manager ...

They apparently already released a version with the fix. We will update our agents and report back.

https://github.com/git-lfs/git-lfs/releases/tag/v2.4.1
Thanks!

close the issue as git-lfs release a newer version with the fix.

As announced by @matthid we upgraded our build servers to git 2.17.0 and git-lfs 2.4.1 this morning. Up to now the issue seems to be fixed. Thx.

Facing this issue #4901 ... still unable to get a fix for this.


Fix npm audit errors (e.g. braces)

There is an npm audit error regarding braces.
Since react-appinsights depends on braces this should be checked to see the effort to update braces to >= 2.3.1.
Thank you

Thanks for reporting this. I've just released v2.0.2, which updates the dependencies. However, unfortunately, some audit errors (including perhaps the one you reported) are still there as they are due to some dependencies that haven't been maintained in a long time, such as appinsights-usage and rollup-plugin-node-builtins. Below are the details. In the upcoming v3.x we are going to address that by dropping not actively maintained dependencies.
Moderate        Regular Expression Denial of Service
Package         semver
Patched in      >=4.3.2
Dependency of   rollup-plugin-node-builtins [dev]
Path            rollup-plugin-node-builtins > browserify-fs > levelup >
                  semver
More info       https://npmjs.com/advisories/31

Moderate        Memory Exposure
Package         bl
Patched in      >=0.9.5 <1.0.0 || >=1.0.1
Dependency of   rollup-plugin-node-builtins [dev]
Path            rollup-plugin-node-builtins > browserify-fs > levelup > bl
More info       https://npmjs.com/advisories/596

Low             Regular Expression Denial of Service
Package         braces
Patched in      >=2.3.1
Dependency of   appinsights-usage
Path            appinsights-usage > babel-cli > chokidar > anymatch >
                 micromatch > braces
More info       https://npmjs.com/advisories/786

This has been fixed in the master branch and it's released as v3.0.0-rc.6 in the beta channel.


GSON deserialization does not work with arrays containing mostly null values

To test and confirm: [null, null, 1, null, null]

Not used in PC1


[stable/postgresql] Existing PVC

Is this a request for help?:
No

Is this a BUG REPORT or FEATURE REQUEST? (choose one):
Feature request

Version of Helm and Kubernetes:
➜  helm version
Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
➜ kubectl version
Client Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.0", GitCommit:"0ed33881dc4355495f623c6f22e7dd0b7632b7c0", GitTreeState:"clean", BuildDate:"2018-09-28T15:18:13Z", GoVersion:"go1.11", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10+", GitVersion:"v1.10.7-gke.11", GitCommit:"fa90543563c9cfafca69128ce8cd9ecd5941940f", GitTreeState:"clean", BuildDate:"2018-11-08T20:22:21Z", GoVersion:"go1.9.3b4", Compiler:"gc", Platform:"linux/amd64"}

Which chart:
stable/postgresql
What happened:
No way to define existing PVC to be used
What you expected to happen:
Ability to configure existing PVC
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know:

I just created a PR to add this feature to PostgreSQL chart.

PostgreSQL supports now existing PVCs!


split save into save and publish

This should make no difference to the behavior of the cloud version
This splits the /save and /render local API to save and publish buttons

This PR only changes the minerva-author-ui bundle. The diff can be seen in this companion PR on Minerva-Author-UI.

This PR only changes the minerva-author-ui bundle. The diff can be seen in this companion PR on Minerva-Author-UI.


Create GossipProtocol

Implement class GossipProtocol
Implement class Cache
Add unittest for GossipProtocol

Side note: I'd recommend you squash your commits and rebase on top of v0.x.x: https://git-scm.com/book/ko/v2/Git-브랜치-Rebase-하기

The documentation mentions a "filter delegate" in code but I don't see it anywhere. Maybe the documentation needs to be updated?

There are some styling inconsistencies, but I'm going to let @Geod24 decide on this because we still don't have a defined style guide (like https://dlang.org/dstyle.html).

added getHasMessage of API

@MukeunKim it is enough to comment only once that the pull request is updated. We will take a look.

It looks good! I just made comments about small issues.


Credential properties for pact broker

Fallback to contractsRepositoryUsername and contractsRepositoryPassword (maven) or contractRepository.username and contractRepository.password (gradle) in case the pact broker options for the username and password are not set.
Closes #636

Codecov Report

Merging #642 into master will decrease coverage by 0.01%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##             master     #642      +/-   ##
============================================
- Coverage     61.56%   61.55%   -0.02%
  Complexity     1996     1996
============================================
  Files           220      220
  Lines          8324     8326       +2
  Branches       1299     1299
============================================
  Hits           5125     5125
- Misses         2500     2502       +2
  Partials        699      699

Impacted Files
Coverage Δ
Complexity Δ

...contract/stubrunner/PactStubDownloaderBuilder.java
53.89% <0%> (-0.71%)
0 <0> (ø)

Continue to review full report at Codecov.

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

Thanks a lot! A test would be useful though... Have you tested it at least manually against a broker?

Yes, I did manually test it against test.pact.dius.com.au.
I'll add one just to be sure!


How do I add SLF4J implementation?

General Troubleshooting

[ ] I have checked for similar issues.
[x] I have updated to the latest JDA version
[ ] I have checked the wiki and especially the FAQ section for similar questions.

Question
I'm using gradle and I want to use logger in my code,
but I don't know what to do. I want to use log4j2.
What code should I write in build.gradle and getLogger function?

https://github.com/DV8FromTheWorld/JDA/wiki/Logging-Setup


Show Pattern Fill in Legend Marker

I'm using a combination of solid and pattern series with the same colour as in the below image.

Would it be possible to display the pattern in the legend marker to differentiate between the two series?

This would be a great addition - we would need this for our system

This would be a great addition - we would need this for our system

Any updates on this?
We would need it as well. It would be great if added!
Thanks very much!!

Hi there, is there any plan in the near feature to have this?


[CosmosDB] Add database account operations tests

Thanks for your review @bquantump @nisha-bhatia , all comments have been addressed, PTAL


Sending ETH to (contract address) will give an out of gas error (Native Wallet / Keepkey)

Overview
When sending ETH directly to a contract address from the send modal you will get an out of gas error and the TX will fail when using Native Wallet (ShapeShift Wallet or Keepkey). Failed TX: https://etherscan.io/tx/0x670880a8f8c28b6b2f25aecec184b04797f3362bb8fc973e8dea1b7b5122efbb
Recreation Steps:

Go to app.shapeshift.com using a native wallet or keepkey
Send ETH directly to a contract using the send modal (not trade) Example Address https://etherscan.io/address/0x8f5df2d1045543d2e1a4be1879cabde24b81d2b9
Once sent notice that the out of gas error will populate once the TX is accepted on chain

Reference

This probably requires looking into how we estimate gas in the ethereum chain adapter, or in unchained itself

Acceptance Criteria
Users should be to send directly to a contract address from the send modal with a higher gas limit and not experience an out of gas error
Screenshots/Mockups
n/a
Ownership

[X] If my bounty needs engineering or needs product I have added the respective labels on the right
[X] As the sponsor of this bounty I will review the changes in a preview environment (ops/product) or review the PR (engineering)

To quote @willyogo on this one:
The app is recognizing it's a contract and increasing the gas limit beyond the 21k that a transfer to an EOA would cost, just not increasing enough.
It appears the app is successfully recognizing this is a contract, but failing to properly estimate the gas necessary to process the tx.

@tshifty what is this contract and why are you sending ETH directly to it?

@0xdef1cafe this is coincenter's donation address, I was trying to send eth for the fundraising dinner. I think it's a multisig contract

@willyogo thanks for the color, this is valid, we'll look into it, but not a high priority.

Hey @0xean
I'm currently looking into this issue. I was wondering is there a way to reproduce this behavior on Testnet deployment as I currently do not have real ETH to test this out. Also, it would be uneconomical to use real ETH.
Best,
Naftali

You shouldn't need to create any transactions on testnet or mainnet.
https://ethereum.stackexchange.com/questions/82210/gas-cost-for-ether-transfer-to-smart-contract-from-eoa
Basically, we need to get an estimate when sending ETH to smart contract address vs using 21000 for sending ETH to an EOA

Wow, great insight, Thanks. That clears the doubt. I will submit a PR once I get something working

Nothing wrong with the Gas limit if you noticed the Tx that do not fail burn gas because in this day and age we use the new form of Tx type called EIP-1559 where a small portion of ether is burned. The transactions that are failing are obviously using Tx type 0 (legacy) where no ether gets burned... not out of gas but CANCELED Tx. Here is an example of a transaction that is not canceled but failed Tx because of an out of gas problem...    https://etherscan.io/tx/0x9015b4f40f1dafd186545a24eb14bf518e69f2d48c946c37180cd17b5da2965e
Notice it does not say  [CANCELLED] like the example in the overview. This Tx STILL BURNS ether but the gas limit is incorrect so it failed but was not CANCELLED like the one in the example in the overview.
I hope this is meaningful insight and my work does not get stolen from me I am not very fond of competition so lets just all give up.

@0xean , @naftalimurgor , @gomesalexandre
While checking your code I found this[0],
    const { data: responseData } = await axios.get<chainAdapters.ZrxGasApiResponse>(
      'https://gas.api.0x.org/'
    )
    const fees = responseData.result.find((result) => result.source === 'MEDIAN')

Why using responseData which is a type instead of data which is a named variable in subsequent line?
I would like to run the code locally, how do I go about it?
Go to [app.shapeshift.com](http://app.shapeshift.com/) using a native wallet or keepkey
I used MetaMask but I didn't see send modal button.
Is Solidity version 0.8.10?
[0] https://github.com/shapeshift/lib/blob/main/packages/chain-adapters/src/ethereum/EthereumChainAdapter.ts#L247

@naftalimurgor - can you please let us know a timeline for a PR on this one? TY!

@0xean I will submit a PR immediately after I'm done with this. TY

Issue Status: 1. Open 2. Started 3. Submitted 4. Done
Work for 800.0 FOX (216.34 USD @ $0.27/FOX) has been submitted by:
1. [@ervindimitri](https://gitcoin.co/ervindimitri)

@0xean please take a look at the submitted work:
* [PR](https://github.com/shapeshift/web/pull/1165) by @ErvinDimitri

* Learn more [on the Gitcoin Issue Details page](https://gitcoin.co/issue/shapeshift/web/1025/100027849)

* Want to chip in? Add your own contribution [here](https://gitcoin.co/issue/shapeshift/web/1025/100027849).

* Questions? Checkout [Gitcoin Help](https://gitcoin.co/help) or the [Gitcoin's Discord](https://discord.gg/gitcoin/)

* $4,450,908.08 more funded OSS Work available on the [Gitcoin Issue Explorer](https://gitcoin.co/explorer)

still sending legacy tx

I had been analyzing the code and made some changes to not send legacy tx. And now I was able to send a Tx following the EIP-1559 successfully.
So for that I made the following changes:
https://github.com/shapeshift/lib/pull/439 : Added the fields that was missing
https://github.com/shapeshift/web/pull/1165 : Made some changes on params
https://github.com/shapeshift/hdwallet/pull/477 : added some itens to ETHSignTx's interface

https://github.com/shapeshift/web/pull/1215

@purelycrickets Can you take a look into reassigning this bounty?

@purelycrickets - close and reopen for new bounty on clean issue.


An issue when reproducing the efficiency evaluation

Hi @xiamengzhou.
When reproducing the efficiency evaluation of the [CoFi-MNLI-s95] model on a single NVIDIA A100 graphic card, it shows that the model's speed is 8.8e-05 seconds/example, where the vanilla fine-tuned BERT's speed is 4.6e-04 seconds/example, meaning that the speedup is only about 5.23× instead of 12.1×.
Could it be possible that the decrease in speedup comes from the difference in the hardware? Are there any other possible reasons that may cause the difference in efficiency testing? Many thanks!
The output for CoFi-MNLI-s95 testing:

The output for fine-tuned BERT testing:

Hi, sorry for the late reply! Yes, I think the number differs in different hardware. We tested on V100 instead of A100 at the time and it could be that A100 is more optimized for similarly shaped structures.


Issue with application startup after updating node version to 20.12.0

Impress and Node.js versions
20.12.0
Platform
Darwin Oleksiis-MacBook-Air.local 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar  6 21:00:41 PST 2023; root:xnu-8796.101.5~3/RELEASE_ARM64_T8103 arm64
Describe the bug
The project works perfectly on 20.11.0 node version but throws following error on 20.12.0
/node_modules/impress/lib/deps.js:95
node.timers.promises = require('node:timers/promises');
^
TypeError: Cannot set property promises of # which has only a getter
at Object. (/[redacted]/node_modules/impress/lib/deps.js:95:22)
at Module._compile (node:internal/modules/cjs/loader:1369:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1427:10)
at Module.load (node:internal/modules/cjs/loader:1206:32)
at Module._load (node:internal/modules/cjs/loader:1022:12)
at Module.require (node:internal/modules/cjs/loader:1231:19)
at require (node:internal/modules/helpers:179:18)
at Object. (/[redacted]/node_modules/impress/lib/planner.js:3:32)
at Module._compile (node:internal/modules/cjs/loader:1369:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1427:10)
at Module.load (node:internal/modules/cjs/loader:1206:32)
at Module._load (node:internal/modules/cjs/loader:1022:12)
at Module.require (node:internal/modules/cjs/loader:1231:19)
at require (node:internal/modules/helpers:179:18)
at Object. (/[redacted]/node_modules/impress/impress.js:13:21)
at Module._compile (node:internal/modules/cjs/loader:1369:14)
To Reproduce
No response
Expected behavior
No response
Screenshots
No response
Additional context
No response

Please check impress version

Fixed two months ago: https://github.com/metarhia/impress/commit/a2a7ad0407484baf911208b3ab48295c4b631a0d


Populate Empty Content

Addresses #4 to populate empty table views with background content. Affects liked, followers, following, and feed table views.

Let's try and avoid the Massive View Controller problem here. The view for the followers, following, and liked are essentially all identical. The view creation logic should be extracted into a UIView extension (don't subclass). There can be a method on the extension for generating these views based on the image you want (try for an enum) and the text you want to display. Message me if you need more help on this.

I've moved all the logic into a UIView extension function except for the button in an empty feed that navigates to suggested followers ("Follow more friends"). Since the button requires setting a target for when it's clicked (which I've made the feed the delegate), I've left the delegate function in feed. Should I move the button creation to the UIView extension and pass along the reference to self so the delegate can be properly assigned? Or is it clearer to just leave that logic for the button delegate in the feed?

Cool, this is much better and close. However, the logic for showing the background image needs to be changed. If I click on my profile's following/followers list, I can see the image show up before my list has been loaded in. You might want to add it to the table on completion handler to the API or don't add it if you get back a list of users, instead of doing it in the tableview delegate calls.

You're good to merge this in @mrkbryn


List the launchable automation.

How does a consumer of a toolkit know what (launchable) automation exists in the toolkit, at a glance. (i.e. without studying the meta-model of the pattern)?
suggest a new command: automate list launchpoints
which must be run on the current draft

We can also just add the launchable automation to this command: automate view draft --todo


Typo in GetComments() documentation

https://trakt.docs.apiary.io/#reference/users/comments/get-comments
Defaul -> Default:

By defaul, only top level comments are returned.

Docs fixed, thanks.


Find and use consistent URIs for Allen Atlases

I've been using their API calls for this http://api.brain-map.org/api/v2/data/Structure/1 since they actually exist.

Yes you're right, we should use them. I just noticed that 'http://api.brain-map.org/api/v2/data/Structure' is used as base URI in the Allen mouse brain parcellation scheme available here whilst 'http://api.brain-map.org/api/v2/data' is used in the Allen human brain parcellation scheme available here. I was wondering which one is the correct one (resolvable) and the winner is 'http://api.brain-map.org/api/v2/data/Structure'.
I want to check as well if all Allen brain atlases share the same namespace with a global id for each brain parcel or do they have each a separate namespace with local ids.


[Feature] Apache ECharts Node.js Export Server ( Server Side Rendering , HTTP Server)

What problem does this feature solve?
Apache ECharts Node.js Export Server ( Server Side Rendering , HTTP Server)
Convert Apache ECharts charts to static image files.
This is a node.js application/service that converts Apache ECharts charts to static image files. It supports PNG, JPEG, SVG, and PDF output; and the input can be either SVG, or JSON-formatted chart options.
The application can be used either as a CLI (Command Line Interface), as an HTTP server, or as a node.js module.
It has been implemented here：
Apache ECharts Node.js Export Server
https://github.com/xiaomaigou/echarts-export-server
What does the proposed API look like?
It has been implemented here：
Apache ECharts Node.js Export Server
https://github.com/xiaomaigou/echarts-export-server

Thanks for your contribution! If this issue is try to let more people know about the repo, please close this one and add a line to ecomfe/awesome-echarts.


Hover styling

It would be nice if on hover, the feature that would be selected if clicked was styled differently.

I'm concerned about what this entails performance-wise. It would mean re-rendering two whole geojson layers on hover (and on exit) of features.

This is something we've been thinking about building upstream in GL JS. It'll probably be a priority soon after data-driven styling lands.
As a temp workaround, what if you created a separate layer with only the hovered feature and draw it on top of the main features layer?

@lucaswoj thats a good idea. I'll try it.

We need at least 4 styles

Unselected
Unselected Highlighted
Selected
Selected Highlighted

The more I think about this the more I think this is something the end user should do if they want and we should leave alone. There is no need to have lots of featuresAt calls when we do need them.


Added more unit tests and fixed them

works better than the initial version with less false positives
correctly shows warnings for most of Box's xliff files in React projects
still more work to do for loading plugins and creating the plugins for other project types (python, android, ios, etc.)

The init branch needs to be merged first, and then this one

@gouniLee Okay, rebased. Now you can review!

When I reviewer #PR1, it was ok when node src/index.js
but In this PR, it doesn't. Should I give an additional parameter?
> node src/index.js
> INFO: i18nlint - Copyright (c) 2022 JEDLsoft, All rights reserved.

Okay, that is fixed now too


fix(package): update react-syntax-highlighter to version 8.0.1

Closes #262

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Azure.Core] Readme content and sample code of Azure.Core is incorrect

Section Link

Suggestion: We should change it to 'and'

Section Link

1.Reason: Microsoft Open Source Code of Conduct  link is wrong
Suggestion: We should change it to https://opensource.microsoft.com/codeofconduct/
2.Reason:Conduct FAQ should be a hyperlink
Suggestion:We should add hyperlink for Conduct FAQ
https://opensource.microsoft.com/codeofconduct/faq/

@jongio , for notification.


Add the prepare_combined_update script

This PR adds the prepare_combined_update.sh script.

The script LGTM.
The top level README.md needs a section describing this new folder.
I assume that the other files (u-boot-caps.its and 16:28 package_conf) are project specific and will be found elsewhere.

Thanks @petedyerarm. I'll add the description in the README. As for the accompanied files, they are indeed project specific, but one can argue that this whole script is project specific as well - it assumes 2 images, roots and u-boot, building the capsule for the bootloader, which should be removed once our friends in Foundries add this in the build (which will require us to remove the functionality from this script).

@petedyerarm Added README and sample files. @GuyWi Please have a look at the added READMEs.

@JanneKiiskila addressed all your README comments.


[DOCS] Create CHANGELOG.md

Description
Please create a changelog.md file to document the changes, enhancements, and bug fixes made to our project over time.
Expected Behavior
The changelog.md file should be created in our project repository. It should follow a standardized format for documenting changes, including version numbers, release dates, and descriptions of changes made in each release.
Actual Behavior
Currently, we do not have a changelog file, making it challenging for users and contributors to track the progress and history of our project. By creating a changelog.md file, we can improve transparency and keep stakeholders informed about the evolution of our software.
Screenshots (if applicable)
N/A
Additional Information
Add any other context or information about the issue here.Having a changelog.md file is a common practice in software development. It serves as a valuable resource for users and contributors, helping them understand what has been added, modified, or fixed in each release. Please consider adopting a standard changelog format, and document changes in a clear and concise manner.
Example: https://github.com/rubemfsv/clean-react-app/

Hey @rubemfsv, I would love to work on this issue for hacktoberfest, could you please assign this to me

You can see the CHANGELOG.md file here in my forked repo


Add run-black workflow

closes #5

tested, works after enabling GitHub and Marketplace actions in
Settings -> Actions -> General -> Actions permissions


Update to 7.1

Readding the recipe in staged-recipes didn't update the recipe itself. Go figure why (crazy conda-forge :-)

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Sidebar Menu elements

We need to adjust the elements on the menu.
Please refer to this design: https://app.zeplin.io/project/5eb9dc41a992ec751f119b88/dashboard?seid=5f932ee49fd6ab1264c9afdb

[ ] Create Subpart Tools
[ ] Add my page
[ ] Change sponsor profile = profile
[ ] Add Home

Hi @steph222 please review margins between the main elements. Refer to: https://zpl.io/amj3wzD


slam_toolbox: 2.6.0-1 in 'humble/distribution.yaml' [bloom]

Increasing version of package(s) in repository slam_toolbox to 2.6.0-1:

upstream repository: https://github.com/SteveMacenski/slam_toolbox.git
release repository: https://github.com/SteveMacenski/slam_toolbox-release.git
distro file: humble/distribution.yaml
bloom version: 0.11.1
previous version for package: null

Please pair with nav2 release

Added PR testing - no docs required


Adding incremental saving

What this PR does / why we need it
Adds ability to incrementally save by iterating over the call to call_with_task_list and saving each data point individually
Special notes for your reviewer
If applicable**

[ ] this PR contains documentation
[ ] this PR contains unit tests
[X] this PR has been tested for backwards compatibility

Pushed a small change updating the return types of databuilders.


Expose a callback when no cameras are detected.

Instead of throwing a Runtime exception, this patch exposes a callback to indicate there were no cameras enumerated.  Tested using emulator.

I signed it!

Looks good, the only addition I would make is to call mCallback.onCameraNotAvailable() instead of barfing when the exception is thrown in  Camera2.startOpeningCamera()


Fail to compile on mingw32 gcc 7.2

Master branch doesn't compile on msys2/mingw32, with gcc 7.2:
[ 12%] Building CXX object src/osvr/Common/CMakeFiles/osvrCommon.dir/AliasProcessor.cpp.obj
In file included from C:/build/OSVR-Core/build/src/osvr/Util/Verbosity.h:43:0,
from C:\build\OSVR-Core\src\osvr\Common\AliasProcessor.cpp:32:
C:/build/OSVR-Core/inc/osvr/Util/Logger.h:206:49: error: function 'const string& osvr::util::log::Logger::getName() const' definition is marked dllimport
OSVR_UTIL_EXPORT std::string const &getName() const {
^~~~~~~
mingw32-make[2]: *** [src\osvr\Common\CMakeFiles\osvrCommon.dir\build.make:88: src/osvr/Common/CMakeFiles/osvrCommon.dir/AliasProcessor.cpp.obj] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:1729: src/osvr/Common/CMakeFiles/osvrCommon.dir/all] Error 2
mingw32-make: *** [Makefile:162: all] Error 2

Hmm. From just looking at the error, I'd suspect that there's an inline function there (or at least one with the definition within the class declaration) and newer gcc presumably doesn't like dllimport on such functions. (Strangely, I thought I saw, and fixed, this class of error before: maybe it just got stricter, or it was a fix not backed by CI, such as a MinGW build... I have built using this environment in the past, but it was some time ago so both the OSVR code base and msys2 environment have advanced.).
Could you try removing the OSVR_UTIL_EXPORT from that function and see if it makes it past? (There may be others in the same file that need the same fix: responding without having the source open at the moment.)
If so, that should be an easy fix then: would welcome a pull request (for this and any other like it), otherwise I'll make the change when I get a chance.

Ah, so I actually do have a patch for this in a local branch. I'll push it for review today.

If you can check and see if #574 builds for you, that would be great.


Dragging an editor tab always opens it

Repo

Have a few open editor tabs in a single group
Try dragging and dropping one of the non-active editor tabs into the currently open editor

Bug
As soon as you click to start dragging the tab, the editor for it opens. This means you can no longer drop it into the file you previously had opened
I believe this is because we open the editor on mousedown

Relevant code that gets invoked on mouse down: https://github.com/microsoft/vscode/blob/e39f02c7ec872f48afe8859b95b2e88f9836765c/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts#L689

Yes, this is to have the editor open as fast as possible, I would not change this.
If the scenario is to drop a tab into another tab, I think we should rather look at https://github.com/microsoft/vscode/pull/149604

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


fix: slog !BADKEY errors

slog.Error does not support string formatting, so I have removed %w and %v from slog.Error lines.
If no key is provided, it prints !BADKEY to the console. To avoid that, I put a key before the variables.

Hi @ahmethakanbesel , thank you for your contribution 🚀


Get the image from folder path without drag & drop

=>Some of the user needs to get image from server path folder or local folder without drag and drop so how they can set the path for getting image folder from path

Can you provide more description?


[#1544] fix(hive): fix null comment in hive table property

What changes were proposed in this pull request?
Ignore null comment
Why are the changes needed?
Fix: #1544
Does this PR introduce any user-facing change?
no
How was this patch tested?
IT added

How about set the default empty string to comment, then other catalogs doesn't need to handle null,  and this also fixs #1546 , and more generally we'd better remove all null values when receiving DTO in Gravitino, @jerryshao , what do you think?

How about set the default empty string to comment, then other catalogs doesn't need to handle null, and this also fixs #1546 , and more generally we'd better remove all null values when receiving DTO in Gravitino, @jerryshao , what do you think?

Yeah, I think it is a more robust way other that point fix, but still we have to handle empty string comment, right?

Giving an empty string as a default value of the comment field is a good way. Then we only need to deal with the null value in the comment  assignment at first time.

I have updated the PR, could you please review it again, thanks!
@FANNG1 @jerryshao

LGTM


Execute sql/database.sql script to create the database ???

how?

To use the program, you need a mysql database. With it, use any software that can connect to the database and run the .sql content on it.


Training UI

TODO: Enable selecting both files and folders (need to check how this works with magicgui).
See #473.

@anwai98 : this implements the finetuning UI and is mostly done now. As discussed it would be good to test it a bit and think about how we name things in the UI.
@lufre1 : just fyi, this updates the _add_path_param a bit, but the changes are fully compatible with the previous design.

I decided to go ahead and merge this so that it's easier to test and so that the fix for the file dialog is on dev


Add notes for MacOS, since this API is unified.

This PR add Mac specific note when using the UNUserNotificationCenter API in your MacOS apps.
Especially important is the fact that the MacOS app MUST be signed for notifications to be given permissions and also for them to be seen.

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

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

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

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


[Exam] Test Run

Checklist

[x] I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.
[x] Server: I added multiple integration tests (Spring) related to the features (with a high test coverage)
[x] Server: I added @PreAuthorize and check the course groups for all new REST Calls (security)
[x] Server: I implemented the changes with a good performance and prevented too many database calls
[x] Server: I documented the Java code using JavaDoc style.
[x] Client: I added multiple integration tests (Jest) related to the features (with a high test coverage)
[x] Client: I added authorities to all new routes and check the course groups for displaying navigation elements (links, buttons)
[x] Client: I documented the TypeScript code using JSDoc style.
[x] Client: I added multiple screenshots/screencasts of my UI changes
[x] Client: I translated all the newly inserted strings into German and English

Motivation and Context
When instructors created exams, they have no way of testing their exam. Their only workaround was to create a new exam and register themselves as a student. We want to give the opportunity to instructors to create test runs to experience the exam as the students would.
Description
Distinguishing test runs from student exams
We added a column test_run to flag student exams as test runs. Only Instructors are allowed to create test runs, for which they are registered as the student.
Distinguishing test run participation, submissions and results
We also need a way to mark the student participation and its submissions which belong to test runs. This is important because we do not want these submissions to count against the statistics of the exam. Additionally, tutors should not be able to see or assess these submissions. Therefore, the chosen solution for this uses the student field of the participation and the assessor field of the result.
When a test run is created for specific exercises, as part of the setup process, an initial submission is created (similar to the normal exam participations). Additionally, a result is created where the assessor is set using the same user. Therefore we create the condition: student_id = assessor_id.
If a participation.exercise.hasExerciseGroup() (is an exam exercise) and there is at least one submission which fulfils the condition: participation.id = submission.result.assessor.id, then we can be sure that this is a test run submission and we can ignore it.
The condition is set to at least one, as programming exercises can contain multiple submissions. However, the initial one will ensure that it is marked as a test run exercise.
Quirks
Instructors can create multiple test runs for exams, assess their submissions through the test run dashboard, submit complaints about their assessment and respond to these complaints in order to simulate a full cycle. Test runs can be created before, during or after an exam. They have no influence on the exam runtime (latestIndividualEndDate), exam statistics, tutor exam dashboard statistics or results. If an instructor creates multiple test runs which reference the same exercise, the same participation is used for all of them. If a test run is deleted, and its exercise participation is referenced by another test run, the participation is not deleted. Otherwise the test run participations are deleted, including all build plans and repositories.
 Try out all features. Everything should work as expected.
Testing test runs
Part one: Test Run

Log in as an administrator of a course & create an exam add exercises and register students
(do not create a test run for an exam where you are already registered as a student and have conducted an exam, this leads to unspecified behaviour)
Create a test runs for exercises.
Run the test run and submit.
Check the status bar for programming exercises. It should not default to a checkmark. It should only show submitted, once you have really submitted at least once!
Assess the test run from the test run dashboard
Complain about the assessment from the summary of the test run
Respond to your own complaint

Part two: Add Real Student Exams

Register students for the exam and run the conduction
assess the student submissions from the tutor course dashboard. The statistics should not display any information about the test run submissions
release the results and allow student reviews
try out the complain feature
Respond to the complains.
Check out the scores view of the exam. It should only render results from real student exams.

Test Coverage
Server:
ExamResource: 99%
StudentExamResource: 93%
TextSubmissionResource: 93%
ModelingSubmissionResource: 98%
ComplaintResource: 78%
ResultResource 87%
StudentExamService: 75%
ExamService: 84%
SubmissionService: 92%
Client:
create-test-run-modal.component.ts 64%
test-run-management.component.ts 77%
assessment-header.component.ts 100%
assessment-layout.component.ts 98%

Screenshots
Create test run Modal
Once you select an exercise, it is highlighted in Artemis blue to indicate that it will be part of the test run. Only once an exercise has been selected for every exercise group can the user create the test run.

Test Run management screen
Here you can manage the test runs and assess the test run submissions. These will not be visible from the other dashboards

I tested it on test server and it works fine! :) Code review still todo

I would suggest to improve the REST structure in a follow up PR:

Here you should not have delete or create in the resource URL, instead you should use POST for create and DELETE for delete and simply remove the names from the URLs


Crash

Describe the bug
A clear and concise description of what the bug is.
Desktop (please complete the following information):
OS & version [e.g. Windows 10, 1822]:
MSFT Build of OpenJDK Version:
The output from java --version
To Reproduce:
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots, Logs etc
If applicable, add screenshots, logs to help explain your problem.
Additional context
Add any other context about the problem here.

Completely ignored arguments: [--ignoreme net.minecraft.client.main.Main]
[18:22:00] [Render thread/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[18:22:02] [Render thread/ERROR]: Failed to verify authentication
com.mojang.authlib.exceptions.InvalidCredentialsException: Status: 401
at com.mojang.authlib.exceptions.MinecraftClientHttpException.toAuthenticationException(MinecraftClientHttpException.java:56) ~[authlib-2.3.31.jar:?]
at com.mojang.authlib.yggdrasil.YggdrasilSocialInteractionsService.checkPrivileges(YggdrasilSocialInteractionsService.java:112) ~[authlib-2.3.31.jar:?]
at com.mojang.authlib.yggdrasil.YggdrasilSocialInteractionsService.(YggdrasilSocialInteractionsService.java:42) ~[authlib-2.3.31.jar:?]
at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.createSocialInteractionsService(YggdrasilAuthenticationService.java:151) ~[authlib-2.3.31.jar:?]
at dvp.a(SourceFile:670) [1.17.1.jar:?]
at dvp.(SourceFile:429) [1.17.1.jar:?]
at net.minecraft.client.main.Main.main(SourceFile:179) [1.17.1.jar:?]
Caused by: com.mojang.authlib.exceptions.MinecraftClientHttpException: Status: 401
at com.mojang.authlib.minecraft.client.MinecraftClient.readInputStream(MinecraftClient.java:77) ~[authlib-2.3.31.jar:?]
at com.mojang.authlib.minecraft.client.MinecraftClient.get(MinecraftClient.java:47) ~[authlib-2.3.31.jar:?]
at com.mojang.authlib.yggdrasil.YggdrasilSocialInteractionsService.checkPrivileges(YggdrasilSocialInteractionsService.java:104) ~[authlib-2.3.31.jar:?]
... 5 more
[18:22:02] [Render thread/INFO]: Setting user: probro
[18:22:03] [Render thread/INFO]: Backend library: LWJGL version 3.2.2 build 10

A fatal error has been detected by the Java Runtime Environment:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffe2d6c3760, pid=7604, tid=2156

JRE version: OpenJDK Runtime Environment Microsoft-22300 (16.0.1+9) (build 16.0.1+9)
Java VM: OpenJDK 64-Bit Server VM Microsoft-22300 (16.0.1+9, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
Problematic frame:
C  0x00007ffe2d6c3760
[error occurred during error reporting (printing problematic frame), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffe2d6c3f10]
No core dump will be written. Minidumps are not enabled by default on client versions of Windows

An error report file with more information is saved as:
C:\Users\rosef\AppData\Roaming.minecraft\hs_err_pid7604.log

If you would like to submit a bug report, please visit:
https://github.com/microsoft/openjdk/issues
The crash happened outside the Java Virtual Machine in native code.
See problematic frame for where to report the bug.

Hi @jngeigight! Can you please submit this issue over at https://bugs.mojang.com/projects/MC/issues/? The Mojang team will take the first look. Thanks!


Cannot login from remote headless machine

What version of Turborepo are you using?
latest
What package manager are you using / does the bug impact?
Yarn v1
What operating system are you using?
Linux
Describe the Bug
Running on headless machine, fails to open local browser, or provide alternative to login.

Opening browser to https://vercel.com

Waiting for your authorization...

Expected Behavior
Be able to login
To Reproduce
Run on remote headless machien

If this is on CI then you can pass the --token flag for the token after getting it from Vercel.

I wrote about this and opened a PR that fixes it client (but not server) side #479 and #480 respectively

--token

Is this documented anywhere? There didn't seem to be optional params for login.

--token

Is this documented anywhere? There didn't seem to be optional params for login.

https://turborepo.org/docs/reference/command-line-reference#--token
Also add in the --team option which is right below the --token option in the docs.

Awesome @Xenfo - It might be useful to show the link in the terminal too when you run the login command.

yes, it took me a while to search this --token part
a Github Actions Example would be super useful

It appears that you can pass a token to the build command, but not login. Most CLI apps will still allow me to login via CLI normally with web browser being opened on my host machine, but it just hangs for Turborepo, and eventually opens 20 browser windows, and confirming doesn't work.
Context: Ubunutu 18.04 server & removeSSH via VSCode.
I'll set the ENV for now but would be nice for login to work as expected in this setup :)

To make this work we need to detect headless environments and then use our token echo page to handle out-of-band login: https://vercel.com/notifications/cli-login-oob

Our CI examples show how to log in from headless environments using environment variables.


Fix broken links

Signed-off-by: Hu Keping<EMAIL_ADDRESS>

LGTM!  Thank you for all your fixes to the documentation, @HuKeping!


[BUG]: ExpandMenu adds 1MB+ to size of each screen

Hi folks,
I've noticed the ExpandMenu component adds ~1 MB per .yaml file to the size of my Canvas Apps. When the .msapp file is unpacked, it shows that the "GetMenuIconPath" property of the ExpandMenu component contains a hard-coded table with reference to thousands of FluentUI Icons embedded (11,300 lines total added to every yaml file that contains the ExpandMenu component). Wasn't sure of whether this is expected behavior or not, but it seems unusual compared to other Power Apps components I've seen or used
Sample screenshot showing the first few lines of an unpacked yaml file:

@ericsnowgh. Thank you for reporting this. We will definetly fix this when embeeding PCF components within canvas components becomes supported. In that case, we will be able to use the Fluent Icon control.

@ericsnowgh This has been fixed in the latest release.


Configure WiFi AP

Currently Gatekeeper skips any wireless interfaces when setting up LAN. Gatekeeper should configure them in the AP mode & bridge them with others.
Default SSID could be derived from public hardware identifiers (MAC address). It should be good to look at how other access points derive their SSID.
Encryption should be based on WPA2-PSK. Default keys should be derived from private hardware identifiers (CPUID?). Default passwords should easy to memorize (see https://xkcd.com/936/). Passwords should be printed on the console (as plain text) & in the web UI (plain text + QR code).

Some resources:

https://mdlayher.com/blog/linux-netlink-and-go-part-3-packages-netlink-genetlink-and-wifi/
https://pkg.go.dev/github.com/mdlayher/wifi#section-readme
https://github.com/mdlayher/wifi/blob/main/client_linux.go#L89


Process in complex layer structure

First of all, thank you very much for this unique work.
I have an important question. Normally the layer structure of my Project is a bit complex. I was producing on 2 different levels and 12 different layers. Let me send you an example of code production...
const layerConfigurations = [
// Boy Character 10 Pieces
{
growEditionSizeTo: 10,
layersOrder: [
// Boy Bottom
{
name: "Background_B" ,
options: {
bypassDNA: true,
}
},
// Boy Fur
{
name: "Fur_B",
options: {
displayName: "Fur",
},
},
// Boy Eyes
{
name: "Eyes_B",
options: {
displayName: "Eyes",
},
},
// Boy Mounth
{
name: "Mounth_B",
options: {
displayName: "Mounth",
},
},
// Gender
{
name: "Gender_B",
options: {
displayName: "Gender",
},
}
],
},
// Girl Character 15 Pieces
{
growEditionSizeTo: 25,
layersOrder: [
// Girl Bottom
{
name: "Background_G" ,
options: {
bypassDNA: true,
}
},
// Girl Fur
{
name: "Fur_G",
options: {
displayName: "Fur",
},
},
// Girl Eyes
{
name: "Eyes_G",
options: {
displayName: "Eyes",
},
},
// Girl Mounth
{
name: "Mounth_G",
options: {
displayName: "Mounth",
},
},
// Gender
{
name: "Sex_G",
options: {
displayName: "Gender",
},
}
],
},
];
How can I apply this to your system. Thanks in advance.

I CAN'T ESTIMATE HOW IT WILL BE MANUFACTURED IN TWO DIFFERENT NUMBERS
// Boy Character 10 Pieces
{
growEditionSizeTo: 10,
layersOrder: [
......
],
// Girl Character 15 Pieces
{
growEditionSizeTo: 25,
layersOrder: [
......
]

NOT WORKING (displayName)
name: ".....",
options: {
displayName: ".....",
},

NOT WORKING (bypassDNA)
name: "....." ,
options: {
bypassDNA: true,
},

This is the parameter I want to use. I couldn't find how to do it.

Total Supply = 12
In this way;
6 Boy Characters
6 Girl Characters
is producing. However, when I compare the output with the json file, I see a small amount of errors. (Especially in Mother, Father and Background Colors)

Hi there looks like you figured it out with if-then on Discord. Sorry for the inconvenience.


Merge changes from https://github.com/mzikherman/money_helper/tree/pass_thru_options

@mizkherman, looks like you have changes on https://github.com/mzikherman/money_helper/tree/pass_thru_options that should be merged upstream?

https://github.com/syakhmi/money_helper/pull/8


Opposite bloom filter wanted

The opposite of a Bloom filter is a data structure that may report a false negative, but can never report a false positive.
It is handy for deduplication in realtime while unique values shouldn't be filtered out and possible non-filtered dublicates should be limited by some defined rate.

I doubt that it's possible :blush:
We use Stable Bloom filter for deduplication of streams. It works on infinite streams but introduces not only false positive error but false negative too.

BTW, I have an intention to open the Stable Bloom filter here which will the only viable JVM implementation. I just need to find more time and motivation.

Some ideas and basic implementation: https://github.com/jmhodges/opposite_of_a_bloom_filter

Thank you for the link. I'm aware of such approach. But it has nothing to do with the Bloom filter data structure. It's not a probabilistic/ sketching data structure when you "sketch"/ "compress" an element to some number of bits. How it works: it has an array of elements (buffers in their case) where it stores last seen elements. It uses a hash code to decide where to store it.


Request: use per-connection browser and profile

When creating a connection, you can define your default browser and profile. Can those per-connection settings be used (as default?) for viewing the run details?

I already did this, but didn't have time to release it. As soon as I get to the PC it will be deployed


refactor(core): Refactor the stream.go closing path

Description
Removes the confusingly named outChan field which was only used in FinishAndClose, likely to ensure that the exit record was fully processed before the stream closed its loopBackChan. Replaces this with a done channel that's closed instead of closing inChan / loopBackChan.

the main purpose of the ctx was to pass it into sender to be able to cancel any in-flight requests that are waiting to be retried (ran out into this issue at some point) when it's cancelled in the stream. i thought there was a comment about it...

the main purpose of the ctx was to pass it into sender to be able to cancel any in-flight requests that are waiting to be retried (ran out into this issue at some point) when it's cancelled in the stream. i thought there was a comment about it...

it only cancels at the end of the defer state machine or in some mailbox logic. Stream was relying on the context cancellation to determine whether the Handler-Writer-Sender loop is complete or if messages are still being processed.

@dmitryduev - simplified this PR a bit


CRIU: Streamline adoption of criu tests with HCR

Checkpoint/restore is a new mode of execution where the JVM is start then checkpoint, and restored at a later time. Between checkpoint and restore there may changes that occur in the execution environment. The JVM has compensations for obvious changes (time related APIs), however there may be more subtle changes that occur that are more difficult to track.
For this reason there is a need for broader testing tin the checkpoint restore mode. On approach is to re-write all existing tests for checkpoint/restore, but this is unfeasible. Another approach is to use an agent (like
https://github.com/adoptium/aqa-systemtest/blob/0eb9f57f198fe194c070295c261e8bafeaed08aa/openjdk.test.debugging/docs/HCR_README.md) to insert a checkpoint into the existing tests and modify the test harness to restore the process after it has been checkpointed.
Three key things are needed:

Determine where checkpoint should be inserted
Agent to insert checkpoint in to test run
Modify harness to detect when checkpoint is taken and restore it

@llxia

I can help out with 2.

It sounds like we want to do something similar to what HCRLateAttachWorkload is doing, but with CRIU steps involved in the middle.
Re: (1) - Do we "insert checkpoint" using a Java Agent (like StringModifierAgent?
Re: (3) - what modification do we need exactly?
@tajila


slackbot: setup deploy configuration

Get a server setup for:

Accesses Github and Slack APIs
Hosting postgres
Receiving HTTP traffic

Self-service deploy steps:

[x] Create Dockerfile for image

[x] docker build -f Dockerfile.slackbot -t design-system/slackbot .
[x] define needed secrets

[x] Setup Gitlab CI

Project is already provisioned

[x] Enable Harbor upload in CI
[x] Create releases through helm

[x] Write the helm install command

[x] Create a values file (eg, readiness checks, provisioning)

[x] Add ingress values (ie, domain)

Using a ps-service chart which already exists

Namespace already provisioned

Ops steps afterward:
??
Questions:

Is this on the production cluster or other?

I think there's still a problem here.  Seeing:

Opaque errors from slack ui. Maybe logic or config problem.
Once it worked but posted to Pierce's site. Maybe a deploy problem.

I think we need to:

[ ] Add ps logging
[ ] Ship logs to grafana to get some transparency

Blocked: waiting for grafana access.

Maybe someday.


⚠ ClamAV has degraded performance

In ca099ba, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 267 ms

Resolved: ClamAV performance has improved in 383133e.


pullsync: sync only in nn

Pull sync should sync only within neighborhood
This should be a single changeset and needs thorough testing that the cluster still functions correctly in configuration change (i.e. depth changes)
carry over from #329

The reasoning for this is that if pull sync would sync outside of nearest neighborhood, pull sync could be used to upload files, which would break the spam protections measures which we have in place for push sync.

@acud, what is the status of this issue?

We should be aware of the side effects to this of the network. @acud , please specify further.

@zelig , after a discussion with Elad, I want to bring up why we need this one at all. The main problem is that in Swarm, neighborhoods are not symmetric. Hence, syncing only in nn can cause problems of content not being synced. I personally had the feeling that the main reason for this issue was to dis encourage using pull sync for upload. However, since pull sync already does not sync bin-0, it is already not likely to be used for upload. If we see a lot of traffic from pull sync which tells us that people are using it for upload, we can come up with a solution that time. Anyways, the "damage" is not big.
Could you let me know if there were other issues and how you feel about closing this particular issue (for now)?
Best,

sorry  but the current  behaviour is legacy  from times when there was no pushsync.
It simply is wrong to pullsync non-neighbourhood bins.
Asymmetric neighbourhoods have no added benefit from allowing syncing non-neighbourhood bins.

sorry  but the current  behaviour is legacy  from times when there was no pushsync.
It simply is wrong to pullsync non-neighbourhood bins.
Asymmetric neighbourhoods have no added benefit from allowing syncing non-neighbourhood bins.

@zelig , thanks for your attention on this. As far as I understood, the main reason why we don't want to sync non nn bins is to prevent people to upload their content via pull sync. However, since we are anyways not syncing the zero-bin (@acud told me this), you cannot upload 1/2 of your content anyways. Apart from this, only syncing in nn can cause some content not to be synced that should have been synced, due to asymmetric neighborhoods.
I can prioritize this issue, but I would like to have a positive statement as to why we need this (not: it is legacy) and I also want to be assured that it is not messing up with what we have (ideally both theoretically as well as empirical validation in tests).

@zelig , thanks for your attention on this. As far as I understood, the main reason why we don't want to sync non nn bins is to prevent people to upload their content via pull sync. However, since we are anyways not syncing the zero-bin (@acud told me this), you cannot upload 1/2 of your content anyways. Apart from this, only syncing in nn can cause some content not to be synced that should have been synced, due to asymmetric neighborhoods.
I can prioritize this issue, but I would like to have a positive statement as to why we need this (not: it is legacy) and I also want to be assured that it is not messing up with what we have (ideally both theoretically as well as empirical validation in tests).


Feature Request: Put more hardcoded configurations into alfy.config

Chromium kernel browsers can reuse the powerful abilities of this workflow.
But right now, the browser name is hardcoded, e.g. https://github.com/jopemachine/alfred-chrome-workflow/blob/39e29905a099ffeeece0794cdebc0d24f0f6a0ef/src/utils.js#L86
/Users/${userName}/Library/Application Support/Google/Chrome could be /Users/${userName}/Library/Application Support/Microsoft Edge.
So, cloud you read browser from the alfred variables? alfy support this by process.env.XXX, it's very handy~
🙏 Appreciate your great works!

Thanks for suggesting this :)
I've added browser to conf.json for supporting other chrome kernel-based browsers in 0.2.6

@jopemachine My other suggestion is replacing conf.json with alfy.config. conf.json is published within npm package: https://github.com/jopemachine/alfred-chrome-workflow/blob/master/package.json#L59
After users upgraded to the alfred-chrome-workflow of the newest version, the local rewired conf.json would be reset to the public version, so it'll overwrite the user's customized configuration.
alfy.config can solve this by putting the user's customized configuration in ~/Library/Application Support/Alfred/Workflow Data/alfred-chrome-workflow. So the configuration is fully local, it's safe to persis user-customized configuration after upgrades.

Ok, I will handle this.
It is definitely inconvenient to keep updating the config file.
(I should have considered the users' position more.)
Thank you for raising and explaining this issue again :)