runtime: GC with gctrace=2 fails

This crashes, and seems to have been crashing for a while:
go test -c strings && GODEBUG=gctrace=2,gccheckmark=0 ./strings.test

My cleanup means that now in gccheckmark=1 mode it will also crash, but that's not really my fault. (My cleanup fixed the bug that in gccheckmark=1 mode the gctrace=2 was not doing a full mark sweep in the second GC.)
@aclements @RLH

g% go test -c strings && GODEBUG=gctrace=2,gccheckmark=0 ./strings.test
gc1(1): 0+1+103+0 us, 2 -> 4 MB, 310 (310-0) objects, 5 goroutines, 39/0/0 sweeps, 0(0) handoff, 0(0) steal, 0/0/0 yields
gc2(1): 152+1+331+0 us, 2 -> 2 MB, 235 (311-76) objects, 6 goroutines, 39/0/31 sweeps, 0(0) handoff, 0(0) steal, 0/0/0 yields
gc3(1): 1+1+129+0 us, 2 -> 4 MB, 31207 (31294-87) objects, 5 goroutines, 399/1/0 sweeps, 0(0) handoff, 0(0) steal, 0/0/0 yields
gc4(1): 995+2+336+1 us, 2 -> 2 MB, 233 (31294-31061) objects, 5 goroutines, 399/0/392 sweeps, 0(0) handoff, 0(0) steal, 0/0/0 yields
gc5(1): 2+2+210+1 us, 2 -> 6 MB, 3350 (34420-31070) objects, 6 goroutines, 399/0/0 sweeps, 0(0) handoff, 0(0) steal, 0/0/0 yields
gc6(1): 145+1+287+0 us, 6 -> 6 MB, 247 (34420-34173) objects, 6 goroutines, 399/0/62 sweeps, 0(0) handoff, 0(0) steal, 0/0/0 yields
gc7(1): 1+1+95+0 us, 2 -> 10 MB, 237 (34422-34185) objects, 6 goroutines, 399/1/0 sweeps, 0(0) handoff, 0(0) steal, 0/0/0 yields
gc8(1): 54+1+305+0 us, 10 -> 10 MB, 237 (34422-34185) objects, 6 goroutines, 399/0/29 sweeps, 0(0) handoff, 0(0) steal, 0/0/0 yields
gc9(1): 1+2+190+1 us, 2 -> 14 MB, 237 (34424-34187) objects, 6 goroutines, 399/6/0 sweeps, 0(0) handoff, 0(0) steal, 0/0/0 yields
gc10(1): 56+1+340+0 us, 14 -> 14 MB, 237 (34424-34187) objects, 6 goroutines, 399/0/29 sweeps, 0(0) handoff, 0(0) steal, 0/0/0 yields
fatal error: runtime: sudog with non-nil elem

goroutine 1 [running]:
runtime.throw(0x1eeff0, 0x20)
	/Users/rsc/g/go/src/runtime/panic.go:511 +0xa0 fp=0x208423bd0 sp=0x208423bb8
runtime.releaseSudog(0x2083525c0)
	/Users/rsc/g/go/src/runtime/proc.go:201 +0x32 fp=0x208423bf0 sp=0x208423bd0
runtime.chanrecv(0x13c8c0, 0x20842a2a0, 0x208423dc8, 0x208349c01, 0x60000)
	/Users/rsc/g/go/src/runtime/chan.go:429 +0x4a6 fp=0x208423c78 sp=0x208423bf0
runtime.chanrecv1(0x13c8c0, 0x20842a2a0, 0x208423dc8)
	/Users/rsc/g/go/src/runtime/chan.go:318 +0x2b fp=0x208423ca8 sp=0x208423c78
testing.RunTests(0x213050, 0x2aca00, 0x2e, 0x2e, 0x1)
	/Users/rsc/g/go/src/testing/testing.go:557 +0xa8c fp=0x208423e50 sp=0x208423ca8
testing.(*M).Run(0x2083765a0, 0x2ace60)
	/Users/rsc/g/go/src/testing/testing.go:486 +0x79 fp=0x208423ed8 sp=0x208423e50
main.main()
	strings/_test/_testmain.go:278 +0x1d5 fp=0x208423fa0 sp=0x208423ed8
runtime.main()
	/Users/rsc/g/go/src/runtime/proc.go:88 +0x1d2 fp=0x208423fe0 sp=0x208423fa0
runtime.goexit()
	/Users/rsc/g/go/src/runtime/asm_amd64.s:2446 +0x1 fp=0x208423fe8 sp=0x208423fe0
g%

This seems like an issue with GC (heap corruption) rather than with sudoges. At least I don't see how sg.elem can be non nil in chan code.

Fixed by e31e35a


jsonable field is not auto added

In the SeoableModel behavior I wonder why don't we have a jsonable adding step for metadata column?
Anytime I implement SeoableModel for my model I will need to define metadata in jsonable array, I think it is time wasting.
How about adding a line in setupDefaults() method of SeoableModel behavior like this?
 if (!$this->model->propertyExists('seoableDataColumn')) {
            $this->model->addDynamicProperty('seoableDataColumn', 'metadata');
            $this->model->addJsonable('metadata'); //Here is the line, I don't need to keep adding jsonable for metadata anymore
        }

@khutachan sure, that works for me for now. There's some edge cases it might not cover, but I'm fine ignoring those for now. Submit the PR and I'll review / merge it.


Windows

is there a compiled version for windows I need it so badly please

Maybe I'm too late... Have published a compiled release in the release section. Give it a try?
Here's the link: https://github.com/ujwalnk/LuminaFlex/releases/tag/0.0.1


add melior-next, update criterion

Adds melior-next in tree.

Codecov Report

Merging #168 (96adb98) into main (caa8aa4) will decrease coverage by 0.94%.
The diff coverage is 85.83%.

@@            Coverage Diff             @@
##             main     #168      +/-   ##
==========================================
- Coverage   88.68%   87.75%   -0.94%
==========================================
  Files          30       70      +40
  Lines        7770    11532    +3762
==========================================
+ Hits         6891    10120    +3229
- Misses        879     1412     +533

Impacted Files
Coverage Δ

melior-next/src/error.rs
3.70% <3.70%> (ø)

melior-next/src/pass/conversion.rs
12.69% <12.69%> (ø)

melior-next/src/diagnostics.rs
32.43% <32.43%> (ø)

melior-next/src/pass/transform.rs
41.17% <41.17%> (ø)

melior-next/src/ir/affine_map.rs
48.00% <48.00%> (ø)

melior-next/src/ir/type/id.rs
50.00% <50.00%> (ø)

melior-next/src/dialect/handle.rs
62.19% <62.19%> (ø)

melior-next/src/ir/type/type_like.rs
71.05% <71.05%> (ø)

melior-next/src/dialect.rs
72.00% <72.00%> (ø)

melior-next/src/ir/type/mem_ref.rs
73.98% <73.98%> (ø)

... and 30 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Can't get it to work in VueJS 2

Hi there 👋
I'm trying to get the plugin working on my VueJS 2 website, but the chromcastButton appears with the class vjs-hidden and don't work either way. I tried different ways such as passing plugin in videosjs option, calling it directly in videosjs call like this :
this.player = videojs(       this.$refs.videoPlayer,       options,       function () {         var player = this;         player.chromcast();       },       );
But nothing seems to work. The videojs-chromcast SCSS / CSS works fine (i can see the button if i disable the vjs-hidden class), i can also see in the console that the plugin is loaded but it's not working.
Here is my component i will really appreciate it, if someone see something i'm doing wrong.
PS : i also tried with preload web component on true. And i have the exact same issue with the airplay plugin
<template>
  <video ref="videoPlayer" class="video-js vjs-16-9"></video>
</template>

<script>
import videojs from "video.js";
require("@silvermine/videojs-quality-selector")(videojs);
require("@silvermine/videojs-chromecast")(videojs);
require("@silvermine/videojs-airplay")(videojs);
export default {
  name: "Player",
  data() {
    return {
      data: {},
      player: null,
    };
  },
  props: {
    film: {
      type: Object,
      required: true,
    },
  },
  mounted() {
    let options = {
      techOrder: ['chromecast', "html5"],
      autoplay: true,
      language: "fr",
      responsive: true,
      fluid: true,
      controls: true,
      controlBar: {
        remainingTimeDisplay: {
          displayNegative: false,
        },
      },
      sources: [
        {
          src: null,
          type: "video/mp4",
          label: "FHD",
        },
        {
          src: null,
          type: "video/mp4",
          label: "HD",
        },
        {
          src: null,
          type: "video/mp4",
          label: "SD",
        },
      ],
      poster: null,
      plugins: {
        airPlay: {},
        chromecast: {},
      },
      controlBar: {
        children: [
          "playToggle",
          "progressControl",
          "volumePanel",
          "qualitySelector",
          "chromecastButton",
          "airPlayButton",
          "fullscreenToggle",
        ],
      },
    };
    this.data = this.film;
    options.sources[0].src = this.data.video_fhd;
    options.sources[1].src = this.data.video_hd;
    options.sources[2].src = this.data.video_sd;
    options.poster = `https://image.tmdb.org/t/p/original${this.data.backdrop}`;
    console.log(this.data);
    this.player = videojs(
      this.$refs.videoPlayer,
      options,
      function onPlayerReady() {
        console.log("onPlayerReady", this);
      },
    );
  },
  beforeDestroy() {
    if (this.player) {
      this.player.dispose();
    }
  },
};
</script>

<style scoped></style>

You likely need to add:
<script type="text/javascript" src="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"></script>

this loads the casting framework that this plugin needs.


[DUPLICATED] Better stability with Cassandra docker containers and integration tests

Same as https://github.com/apache/james-project/pull/1672 but without the memory increase of Cassandra test container, as I ain't sure about what exactly is creating those timeouts in webadmin-cli (which I'm surprised as none of those commits should have a change on that)

cf https://github.com/apache/james-project/pull/1672#issuecomment-1678353087


Version Packages (beta)

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to beta, this PR will be updated.
⚠⚠⚠⚠⚠⚠
beta is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on beta.
⚠⚠⚠⚠⚠⚠
Releases
<EMAIL_ADDRESS>Minor Changes

4b78009: Updated values and added new tokens for Switch.
Design Motivation
Added new tokens: switch-handle-size-_ and switch-handle-selected-size-_ for both desktop and mobile.
Update token values on: switch-control-width-_ and switch-control-height-_ for both desktop and mobile.
The design for Switch in S2 has changed and now has a border when it's not selected. New handle sizes are added and control sizes have been updated.


feat: add social providers

Overview of PR

Technical & Architecture Changes

TODO

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


select在Table下显示异常

Reproduction link
https://ng-zorro-antd-start-nt9tza.stackblitz.io
Steps to reproduce
点击Edit, select宽度太小

What is expected?
正常显示
What is actually happening?
宽度显示调小

Environment
Info

ng-zorro-antd
9.1.0

Browser
Edge

https://stackblitz.com/edit/ng-zorro-antd-start-2jmbyy?file=src/app/app.component.css
修改一下css


Fix random issue in preselectAutofill tests

This PR fixes random issues in preselectAutofill tests due to the fact that the condition to wait for the popup was not complete enough. Using the dedicated waitForDropDownPopup method (from TemplateTestCase, added in 58c8e7a0402b8e97251e46793b440e4c6021defd) solves the issue.

@divdavem :+1: for me.

@benouat Thank you for your review


Supervisor complains about wrong OS

Hi, I was trying to get this to work on my new server, and got the following error:
hassio_supervisor  | 22-05-24 11:10:12 WARNING (MainThread) [supervisor.resolution.evaluations.base] OS-Agent is not correctly working (more-info: https://www.home-assistant.io/more-info/unsupported/os_agent) hassio_supervisor  | 22-05-24 11:10:12 WARNING (MainThread) [supervisor.resolution.evaluations.base] NetworkManager is not correctly configured (more-info: https://www.home-assistant.io/more-info/unsupported/network_manager) hassio_supervisor  | 22-05-24 11:10:12 WARNING (MainThread) [supervisor.resolution.evaluations.base] Detected unsupported OS: Ubuntu 22.04 LTS (more-info: https://www.home-assistant.io/more-info/unsupported/os)
As far as I know, docker should be agnostic to this, right?

I also have this error, only during first boot. It doesn't heart to dismiss it. But i agree, it's annoying :)


[] Incomplete code no how to run docker on the ReadMe

when I was following the code to run Docker in the section (DOCKER COMPOSE UP) as the code set it did not work for me.
Reproduction

open the terminal in my code editor
run code docker compose up

Screenshots
/home/zoe/Pictures

the fixed result

it took a while to figure out Sudo has to go in front before Docker compose up.

Resolution

[x ] I would be interested in resolving this bug.

@mildrette can you list out in the Issue what operating system and version you are running this on?

okay

@mildrette can you list out in the Issue what operating system and version you are running this on?

okay I am running Ubuntu 22.04.1 LTS

Okay on your Linux system your not the root user and docker was installed as a component of the root user hence the need for sudo each time you wish to run the docker container
The readme.md file doesn't need sudo as it is a general setup configuration file for users of various systems

There's how to run docker without use of the sudo command !!!

Okay on your Linux system your not the root user and docker was installed as a component of the root user hence the need for sudo each time you wish to run the docker container
The readme.md file doesn't need sudo as it is a general setup configuration file for users of various systems

understood thank you very much

Thank you for hoping this! But I'm closing this since there's a way to resolve this otherwise from the user-end, as explained above by @ImaJin14

Thank you for hoping this! But I'm closing this since there's a way to resolve this otherwise from the user-end, as explained above by @ImaJin14

okay


chore: Update commit sha based on o11y pr

Updated commit sha in infra-deployments related
to o11y exporters monitoring.

/lgtm

/lgtm

/retest


Fix user search

Fix user search - allow filtering by multiple words

Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

Task linked: SALEOR-4921 Add ability to search orders by user name

@IKarbowiak could you please prepare an explain of db query this generates? Would be best on a DB with multiple users (few addresses for each). As far as I see, this generates 9 new ILIKE sql statements for each word we use in the search, could cause performance issues if we're doing a sequence scan here.

Closing as we decided to resolve the problem with a different solution.


Script does not execute in Firefox upon consent

I have integrated your component and tested it in our solution. I quickly ran into the script tag should have the defer attribute set, otherwise Blazor seems to strip out the script tag from head of the server rendered HTML (.NET Core 6 Blazor - server rendered); I am writing this this since it is not clear from your otherwise excellent documentation (but maybe there is another way to handle this I am not aware of).
Once that was done I tested in Microsoft Edge and it seems to work well. I can see the script tag is changed to text/javascript and there is network traffic accessing a Google analytics resource.
However, the same is not true in Firefox (only have 1 add-on installed and it is disabled; also with all blocking turned off in settings). I can observe the cookie is created in Firefox and the script tag is changed when I consent - but the Javascript for the Google analytics tag does not seem to do anything - i.e. no network traffic.
You can check this yourself by just adding this code to the head of the page:
<script type="text/plain" data-consent-category="google" defer="defer">
      alert("google consent detected - but not in Firefox");
</script>

In Edge the alert will show; in Firefox it will not.

Hello and thank you for the feedback!
I personally wasn't aware that the defer attribute is required, I will add it to the documentation.
I attempted to address the issue you described about Firefox not executing the script tag in https://github.com/BytexDigital/BytexDigital.Blazor.Components.CookieConsent/commit/95af5244cfc3482c03579e2c6ec543f58cc8a248.
The fix is published as a preview package on nuget, please let me know if this resolves the issue for you.

Your changes seems to have fixed the issue! At least I cannot find anything else wrong with it. Much appreciated, since this looks like the nicest cookie consent solution I could find for Blazor. 🙏
If you had a Github donate option, I would donate. Thanks again!

Glad the issue is fixed. I will publish the preview package as a stable package later today 👍


Out of memory even with small dataset

Hi,
I have a problem with running xgboost on my GPU, I am using python. Below my system information:

OS: windows 10
Python version: 3.6.7
Xgboost version: 0.82
GPU: NVIDIA 1050M (driver: <IP_ADDRESS>40)
CUDA version: 10.1

The error that I am getting is that I am running out of memory:
Traceback (most recent call last):

  File "<ipython-input-1-a79435ebc0c9>", line 1, in <module>
    runfile('C:/Users/musci/OneDrive/Documenti/Git/test-xgboost-gpu/test.py', wdir='C:/Users/musci/OneDrive/Documenti/Git/test-xgboost-gpu')

  File "C:\Users\musci\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 704, in runfile
    execfile(filename, namespace)

  File "C:\Users\musci\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 108, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/musci/OneDrive/Documenti/Git/test-xgboost-gpu/test.py", line 89, in <module>
    res = classify_with_xgboost(train, train_label, test, test_label)

  File "C:/Users/musci/OneDrive/Documenti/Git/test-xgboost-gpu/test.py", line 62, in classify_with_xgboost
    model = xgb.train(param,dtrain, num_boost_round = 5)

  File "C:\Users\musci\Anaconda3\lib\site-packages\xgboost\training.py", line 216, in train
    xgb_model=xgb_model, callbacks=callbacks)

  File "C:\Users\musci\Anaconda3\lib\site-packages\xgboost\training.py", line 74, in _train_internal
    bst.update(dtrain, i, obj)

  File "C:\Users\musci\Anaconda3\lib\site-packages\xgboost\core.py", line 1110, in update
    dtrain.handle))

  File "C:\Users\musci\Anaconda3\lib\site-packages\xgboost\core.py", line 178, in _check_call
    raise XGBoostError(_LIB.XGBGetLastError())

XGBoostError: b'[01:56:07] C:/Users/Administrator/Desktop/xgboost/src/tree/updater_gpu.cu:602: grow_gpu exception: [01:56:07] c:\\users\\administrator\\desktop\\xgboost\\src\\common\\common.h:41: c:\\users\\administrator\\desktop\\xgboost\\src\\tree\\../common/device_helpers.cuh: 435: out of memory\n'

The code that I am using is the following:
import pandas as pd
import xgboost as xgb
import numpy as np
import random

import sklearn.metrics as mt

def evaluation(y_test, y_pred, f1_methods, fold = None, verbose = True):
    results = {}
    accuracy = mt.accuracy_score(y_test,y_pred)
    for f1_method in f1_methods:
        f_score = mt.f1_score(y_test,y_pred, average=f1_method)
        results['F1_score_'+f1_method] = f_score
    confusion_matrix = mt.confusion_matrix(y_test,y_pred) - np.identity(mt.confusion_matrix(y_test,y_pred).shape[0])
    results['Accuracy'] = accuracy
    results['C_Matrix'] = confusion_matrix

    if verbose:
        print('----------------------------------')
        if fold is not None:
                print('Fold number: ' + str(fold))
        print("Accuracy: ", accuracy)
        for f1_method in f1_methods:
             print("F1 score: "+f1_method, results['F1_score_'+f1_method])
        print("Confusion matrix: \n", confusion_matrix)
        print('----------------------------------')
    return results.copy()

def create_train(dict_dfs, keys, dataset_to_select = None):
    df = pd.DataFrame()
    for key in keys:
        df = df.append(dict_dfs[key], ignore_index= True)
    if dataset_to_select is not None:
        return dataset_to_select.iloc[list(df.loc[:,0])]
    else:
        return df

def classify_with_xgboost(train,train_label,test,test_label):

    test = test[train.columns]

    dtrain = xgb.DMatrix(train, label=train_label)
    # train
    param = {}
    param['objective'] = 'multi:softmax'
    param['booster'] = 'gbtree'
    param['eta'] = 0.1
    param['max_depth'] = 30
    param['silent'] = 1
    param['nthread'] = 4
    param['num_class'] = 3
    param['tree_method'] = 'gpu_exact'

    model = xgb.train(param,dtrain, num_boost_round = 5)

    dtest = xgb.DMatrix(test, label=test_label)

    pred = model.predict(dtest)

    result = evaluation(list(test_label)+list(range(0,2)),list(pred)+list(range(0,2)),['weighted','macro'], verbose = True)

    return result

class_1 = pd.DataFrame()
class_2 = pd.DataFrame()
class_3 = pd.DataFrame()

class_1.loc[:,'F'] = np.random.normal(2,3,10000)
class_1.loc[:,'L'] = 0
class_2.loc[:,'F'] = np.random.normal(0,0.01,10000)
class_2.loc[:,'L'] = 1
class_3.loc[:,'F'] = np.random.normal(10,0.1,10000)
class_3.loc[:,'L'] = 2

df = class_1.append(class_2, ignore_index=True).append(class_3, ignore_index = True)

test_idx = random.sample(range(0, 30000), 5000)

train = df.loc[~df.index.isin(test_idx)]
train_label = train.pop('L')
test = df.loc[df.index.isin(test_idx)]
test_label = test.pop('L')

res = classify_with_xgboost(train, train_label, test, test_label)

If I remove the tree_method parameter the implementation work. I reinstalled my graphics driver, but nothing changed. I noticed from the task manager that when the training starts, the GPU compute power goes to 100%, but only for a very small amount of time.
(Possible related issue: https://github.com/dmlc/xgboost/issues/2103)

You are using the parameter 'tree_depth' 30. This means you are trying to build trees 30 levels deep, where the last layer will have 2^30 leafs.
We mention in the documentation:

max_depth [default=6]
Maximum depth of a tree. Increasing this value will make the model more complex and more likely to overfit. 0 is only accepted in lossguided growing policy when tree_method is set as hist and it indicates no limit on depth. Beware that XGBoost aggressively consumes memory when training a deep tree.

I'd argue that our wording should be more explicit here, to make it clear that every one increase in this parameter leads to doubling the memory use.

Ok, I changed it and now it is working. However, the result of df.info():
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 30000 entries, 0 to 29999
Data columns (total 2 columns):
F    30000 non-null float64
L    30000 non-null int64
dtypes: float64(1), int64(1)
memory usage: 468.8 KB

I would say that I understand that, but with 468KB of dataset in memory, it seems a little weird to me that xgboost is running out of memory. Am I missing something?

@thvasilo this happens so often that we should even consider adding run-time warnings when users specify unusual parameters.
For example, if the user requests a tree configuration allowing more leaf nodes than training examples. I believe we can dramatically improve the user friendliness of xgboost.
It would be nice to do this in conjunction with the proposal to validate xgboost parameters (#4211).

@muscionig XGBoost is running out of memory because for every leaf it has to create a histogram data structure for every feature. So when you set the parameter to 30, apart from the need to maintain, for each iteration, one tree with 2^31-1 nodes, it also needs to estimate num_features * num_leaves histograms. When you have too many leaves this will lead to out of memory errors. As @RAMitchell mentioned, this is entirely unnecessary in your case, any max_depth above 14 would produce trees with more leaves than you have data points, as 2^15=32768.
@RAMitchell definitely agree. @trivialfis seems to be on that, but looks like it depends on the JSON work first.


LinkML double inheritance

LinkML does not support double inheritance which conflicts with CIM modelling practice in  UML when creating extensions.

LinkML does support double inheritance https://linkml.io/linkml-model/latest/docs/mixins/


feat: integrate The Odin Project

Checklist:

[] I have read freeCodeCamp's contribution guidelines.
[] My pull request has a descriptive title (not a vague title like Update index.md)
[] My pull request targets the main branch of freeCodeCamp.
[] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

I am not sure of the context behind this change, but let us keep in mind to change the language used in these lessons (e.g. "you" instead of "we")
if draft PRs were not meant to be reviewed, then they should not show up in my notification feed 😅

Hey Shaun,
We are adding The Odin Project into the freeCodeCamp Curriculum, and make it more interactive.
Weird that it shows up on your notification feed.  Anyway this is far way from done.

Hey this part is ready for review,
If you have a ton of feedback please contact me through chat and we can schedule a meeting.
Of course this is not yet ready for the public but the first part is ready.

Thanks @naomi-lgbt,
The main reason why I did multiple challenges with the same text is that they have different questions with the same subject. I do not expect them to read it again.
It Is clear that the title has changed.  Also, you did not read my comment :)

We are officially on Node.js 18 now. We have changed the merge requirements accordingly.
You will need to rebase this PR against the main branch OR Click the "Update branch" button to get the new checks going.
Thanks for your contribution.

Like Naomi mentioned, there is a lot of repeated text across multiple challenges.
I can see why you did this, though ideally we'd be able to break up the descriptions more across multiple files like you did with the "Working with Text" challenges.
Or it'd be great if there was a way to have several multiple choice questions per challenge.
The repeated text could be difficult to handle if we have to make changes across multiple files. And it could be a burden on the translation team to translate / approve the same text for different challenges where the main difference is the multiple choice question at the very end.

Thanks for the review @moT01, I will try and resolve this issues in the next pr. Your review is appreciated.


invalid import path in descriptor/descriptor.go

Hello,
descriptor/descriptor.go is importing "google.golang.org/genproto/protobuf"
https://github.com/golang/protobuf/blob/master/descriptor/descriptor.go#L46,
but it's removed.
Shouldn't it be github.com/golang/protobuf/protoc-gen-go/descriptor ?
Thanks,

It is, as of https://github.com/golang/protobuf/commit/f0b293ef371b932d8fddb6841432a7a4404d5fe0.


Optional arguments

Added optional arguments, search by search query, get category for user defined OLX url
#8

Coverage increased (+0.001%) to 79.926% when pulling 1902890ce8f636e580aa89f6008a6686fe5f83c0 on aklein13:master into 2355d6fc88496e1537158edd4d8eeb85fa6e0219 on limebrains:master.


[SPARK-30491][INFRA][2.4] Enable dependency audit files to tell dependency classifier

What changes were proposed in this pull request?
Enable dependency audit files to tell dependency classifier.
For example, avro-mapred-1.8.2-hadoop2.jar should be expanded to avro-mapred/1.8.2/avro-mapred-1.8.2-hadoop2.jar where avro-mapred is artifact id, 1.8.2 is version. Given that, it is clear that hadoop2 in the jar name should be the classifier.
Why are the changes needed?
Dependency audit files under dev/deps only show jar names. As a result, it is not trivial to figure out the dependency classifiers.
For example, avro-mapred-1.8.2-hadoop2.jar is made up of artifact id avro-mapred, version 1.8.2, and classifier hadoop2. In contrast, htrace-core-3.1.0-incubating.jar is made up of artifact id htrace-core, and version 3.1.0-incubating.jar.
All in all, the classifier can't be told from its position in jar name, however, as part of the identifier of dependency, it should be clearly figured out.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Code changes are verified by generated dependency audit files naturally. Thus, there are no tests added.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Thank you for your first contribution, @mengCareers .

ok to test

Test build #116571 has started for PR 27178 at commit 2f7b573.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/21357/
Test PASSed.

Test build #116571 has finished for PR 27178 at commit 2f7b573.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/116571/
Test PASSed.


docs: update DEV.md node version

https://github.com/GaloyMoney/galoy/pull/1735 Updated package.json to require node 18, resulting in an out of date version in the dev readme. This PR bumps the dev readme version to 18.12.0.
I'm using asdf locally to manage project specific node versions, it added a .tool-version file to track this. Hope thats ok to add also. https://asdf-vm.com/guide/getting-started.html#local

Thank you for your contribution. In generally we don't want to enforce a specific local toolchain like nvm or asdf and we cannot support them all either. If you want to use .tool-version I recommend you add it to your global .gitignore so that it doesn't interfere with repos.
If we did decide to support something to manage the local dev setup it would probably be something deterministic like nix.


Added the query execution time in query()'s callback.

This is for #483
Added to pass queryTime as the fourth argument of query()'s callback.
connection.query('SELECT SLEEP(1)', function (error, results, fields, queryTime) {
    console.log(queryTime); // 1.005
});

I didn't use a new option to handle this. That's because it doesn't have the overhead that is serious enough to worry about.
I hope this helps.

Is there no way to get the actual execution time on the server, exclusive of the network transfer and latency, like how the mysql command client works?

@dougwilson I'll try to check how the mysql command client works.

👍 I'm not 100% sure it does anything different, but I think I looked a long time ago and saw some kind of way it could better get the query time. The biggest issue with doing it in Node.js space is that it can get really off when the event loop is saturated or some tasking is blocking up the loop, ignoring the network latency issue.

I'm probably -1 to the way it is (just measuring before/after query time) as opposed to server side timing (if that's possible at all)
you can do this manually quite easily:
var start = new Date();
connection.query('SELECT * FROM `books` WHERE `author` = "David"', function (error, results, fields) {
  var queryTime = new Date() - start
})

also, extra parameter can potentially break old code (so this should be at least major semver) - see example here - https://github.com/sidorares/node-mysql2/pull/45#issuecomment-24448470

@sidorares I totally agree on your opinion, but I thought it would be useful to provide it by default.
Thanks for letting me know the problem of using a extra parameter. I'll try to find the another approach.
I hope there's a good way.

I took a couple of comments and changed my previous work.
@dougwilson mysql command line is also very similar.
https://github.com/mysql/mysql-server/blob/71f48ab393bce80a59e5a2e498cd1f46f6b43f9a/client/mysql.cc#L3613
(#) start_timer -> mysql_real_query -> mysql_store_result -> (#) end_timer -> mysql_fetch_row
I adjusted the position to end the timer.
@sidorares removed the additional parameter and chose a different approach.
connection.query('SELECT * FROM `books` WHERE `author` = "David"', function (error, results, fields) {
  console.log(connection.getLastQueryTime());
});

@ifsnow maybe better to use process.hrtime() for sub-millisecond queries? ( I can see that happen on local connection )

Also might be interesting to log more then just a 'last row' time, but also TTFB / fields / first row / last row

@sidorares process.hrtime() added in v0.7.6. This module supports version 0.6 or later, so it's likely to be difficult to use it. I thought about what you said (TTFB / fields / first row / last row), but I wonder if most of people want to know about that generally. If yes, it's not difficult.
@dougwilson What do you think about this?

@ifsnow my point is that just timing is vert easy to implement on top of public api if somebody needs  but more detailed breakdown need library support

This module supports version 0.6 or later

fall back to Date() in that case?

@sidorares I know what you're talking about, and I agree on offering detailed information if possible. I'll work on it a bit later.

@sidorares I tried to improve this by a new approach. This new version can get detailed step-by-step times and uses process.hrtime. (included a fallback for nodejs v0.6)
connection.enableQueryTimeProfiling(); // You can turn it on and off.

connection.query('SELECT * FROM `books` WHERE `author` = "David"', function(err, results, fields) {
  connection.printQueryTimeProfiling(); // or connection.getQueryTimeProfiling();

  /*
  output example

  ================================
  - first_byte : 0.000886171 sec.
  - fields     : 0.000983313 sec.
  - first_row  : 0.000086899 sec.
  - last_row   : 0.000544853 sec.

  # total time : 0.002501236 sec.
  ================================
  */
});

What do you think about this try?

@ifsnow nice! Do you think the recording methods should be on the Query object instead of the Connection object? I'm thinking the Query object may make more sense since what you're trying to measure is the Query sequence time, not just all the packets on a given connection. It also seems like that would play really nice with the fact that you can have multiple queries all queued up on a single connection.
Also, regarding the output to console, do you know if that would work for the user you're implementing this for?

@dougwilson It seems to be a good opinion, so I had an another try to be able to use this more easier.
connection.enableQueryTimeProfiling(function (query) {
  query.printQueryTimeProfiling();

  /* output sample
  ===============================================================================
  SELECT * FROM `books` WHERE `author` = "David"
  -------------------------------------------------------------------------------
  - first_byte : 0.000912604 sec.
  - fields     : 0.000930777 sec.
  - first_row  : 0.000084256 sec.
  - last_row   : 0.000513133 sec.

  # total time : 0.00244077 sec.
  ===============================================================================
  */

  query.getQueryTimeProfiling();

  /* result sample
  {
    sql: 'SELECT * FROM mysql.help_topic LIMIT 2',
    timeline: {
      first_byte: 0.00084553,
      fields: 0.000905997,
      first_row: 0.000077647,
      last_row: 0.000513133
    },
    total_time: '0.002342307'
   }
   */
});

connection.query('SELECT * FROM `books` WHERE `author` = "David"', function(err, results, fields) {
  ....
});

This approach doesn't add code for time checking to existing logic. I think this is a good direction to make the clean code, and output added a executed query to understand easily.
connection.enableQueryTimeProfiling();

connection.query('SELECT * FROM `books` WHERE `author` = "David"', function(err, results, fields) {
  this.printQueryTimeProfiling(); // or this.getQueryTimeProfiling();
  ....
});

This method is also offer in callback.
If you agree on this, I'll add a description about using this at Readme.md

I guess what I meant above is that I don't think you need any methods on the Connection object at all, since things like conn.query() return the Query object. Even then, since conn.query() takes an object of options, it may make sense to just add the opt-in to that set of options instead of a bunch of new toggling methods on Connection. Unless I'm missing something here.

@dougwilson I thought of using options of query, but it's so inconvinient to use to existing codes. That's because the code shoud be changed to an object of options. If there are lots of queries, It's not easy.
I don't like to change the code for testing whenever I need it. I think there is a possibility of a mistake in this process. People including me easily forget. :)
There is also the advantage of processing separately from the query. Now this approach can easily monitor all queries and filter out slow queries without affecting existing codes.

I just wrote this today to enable building performance counters on queries.
https://github.com/oxygen/unparametrize-sql-query
It is suposed to unparametrize queries the way the MySQL Performance Schema does.
Has the query execution time feature made it, or will it ever?

FYI
The old way of doing query profiling, using SET SESSION profiling = 1; is deprecated:
"19:29:26 SET SESSION profiling = 10 row(s) affected, 1 warning(s): 1287 '@@ profiling' is deprecated and will be removed in a future release.	0.031 sec`"
https://dev.mysql.com/doc/refman/5.6/en/show-profile.html
The new way of doing profiling is using Query Profiling Using Performance Schema
which is permanently disabled for many cloud providers.
Which means, asking @ifsnow to provide data extracted from MySQL will not work for many people out of the box. It will also not work for production systems with performance schema instrumentation disabled.


Ballot Data not Appearing

For Delaware's Primary (EID 4197) ballot data isn't appearing once you click on the party selection options.
For test address: 29701 COLONY DR DAGSBORO DE 19939
I see this as expected

but when I click on the Democratic or Republican Party options, I see this:

I initially thought this was a data issue, but the data displays successfully in the old Google VIT, so I'm not sure what's causing it to break in the embeddable tool.

@MariaBianchi thank you for the screenshots -- this is now fixed in the live tool.

The tool wasn't selecting based on primary party name correctly.

Thank you so much for the quick fix. It looks great now!


fix: ensure example command runs

Running the command from docs just prints the help text. If we need this .toml file, should we use start and pass the config arg? This boots it up for me.

Will merge in #577 , thanks for the PR!


Inline images are loaded on every invocation

Looks like this line
https://github.com/w8tcha/CKEditor-WordCount-Plugin/blob/fbd8c580837032ce1ba9cf2a96660a1e89ce033a/wordcount/plugin.js#L181
triggers a complete image load when an image is inlined in the editor. I'm not sure whether this would a browser bug or not, but at least it is known here.
The problem does not happen when only the char count is enabled, as then the "html" string set in the element does not contain valid html img tags.

Can you describe the steps to reproduce the issue?!

Your demo page unfortunately does not allow for image inclusion, but just embed an image in the editor and start typing while having the network debugger opened in the latest Chrome. Every char count update you will see a related image request.

Your demo page unfortunately does not allow for image inclusion

Okay and how do i do that? i dont know what inline image is

See https://ckeditor.com/ckeditor-4/demo/#article, you can see the image which is inlined in the editor.

I updated the demo page inlucuding an image and the image dialog. Can you now describe the steps to reproduce the issue?

Just start typing, having the debug network tools opened. Every keystroke (when you have enough time between them) will trigger two image loads. I've attached a video demonstrating it.
recording.zip

i can see in the video, that in your debugger tools Disable Cache is enabled. by default this is not enabled. and the issue only occurs if the cache is disabled.

I could have mentioned that cache needs to be disabled, but it doesn't really matter for the issue. Browser cache is just a workaround: it completely depends on whether the image is even allowed to be cached by the browser. If, for example, the image requires validation, the server will tell the browser explicitly to not cache it, and you'll still end up triggering this behavior.

At this point i dont think there is a workaround or fix for the issue


Any examples using transformers for custom model plugins?

I'm working on integrating AutoGPTQ (https://github.com/PanQiWei/AutoGPTQ/) as a plugin, and running into random errors or unexpected behavior along the way. Took a look at mpt and gpt4all, but both are too different from transformers to give me a good idea on this more general purpose plugin for loading any gptq'd LLM.
Even just some simple code snippets on using transformers generate function in a plugin would be helpful.
Thanks!

The only example using transformers I have right now is this one: https://github.com/simonw/llm-mpt30b/blob/0.1/llm_mpt30b.py

Thanks Simon, that's what I was using as the template - will post an update and share once I have something working.

Thanks Simon, that's what I was using as the template - will post an update and share once I have something working.

Did you ever get anywhere with this?


fix: Anvil builder default port

Motivation
Anvil builder new() method docs states the default port to be 8545. In practice, however, current code sets random port number.

Solution
Set default port inside try_spawn() to 8545, unless otherwise specified.
Unit test added.

PR Checklist

[X] Added Tests
[ ] Added Documentation
[ ] Breaking changes

Updated doc-comment for Anvil::new() instead.


Fixing invalid usage of getProtobufServiceAttrs() function.

getProtobufServiceAttrs(service, options) must be called with 2 arguments.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok to test.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok to test.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok to test.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok to test.

@murgatroid99 , I'm trying to merge a simple fix for nodejs code, the build has failed with:
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from http://github.com/grpc/grpc.git
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:810)
at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1066)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1097)
at hudson.scm.SCM.checkout(SCM.java:485)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1269)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
at hudson.model.Run.execute(Run.java:1738)
at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:410)
Should I just resubmit the pull request or it is somehow possible to run the build again?

this is ok to test

LGTM

OK, it looks like all of the test failures are unrelated


Bluetooth: ATT: remove BT_ATT_ENFORCE_FLOW

Enforcing the peer's behavior is not strictly necessary. All the host
should do is make sure it is resilient to a spec-violating peer.
Moreover, a growing number of platforms were disabling the check, as the
spec allows "batching" HCI num complete packets events, stalling ATT RX.
Fixes https://github.com/zephyrproject-rtos/zephyr/issues/65910

Draft until https://github.com/zephyrproject-rtos/zephyr/pull/65967 is merged.
Some changes are currently cherry-picked from it.

Ready for review
Ignore the first two commits, they are cherry-picked from https://github.com/zephyrproject-rtos/zephyr/pull/66083

https://github.com/zephyrproject-rtos/zephyr/pull/66083 is now merged.

#66083 is now merged.

CI passed but you forgot a param ¯_(ツ)_/¯
Added it as topmost commit.

#66083 is now merged.

CI passed but you forgot a param ¯_(ツ)_/¯ Added it as topmost commit.

It's broke CI, should tag Hotfix for this PR or move this commit to separate PR if this PR keep open for a while.

This time it's regular "main is broken"

opened hotfix PR here https://github.com/zephyrproject-rtos/zephyr/pull/66146


lack of comments in the sample configuration file for some fields

The sample configuration file, located at custom/conf/app.ini.sample, lacks comments for some fields. Some comments have small mistakes in them, mostly grammar-related. I'll submit a pr to fix some of them but maintainer help will be needed for adding comments to fields in the list below, because I don't have the appropriate expertise with gitea and don't fully understand their meaning:
The questions below shouldn't be answered here but in the comments directly (or maybe in separate doc articles) so that someone not deeply familiar with gitea will know what those configuration parameters mean when configuring.
The repository section:

ROOT (what is it for)?
SCRIPT_TYPE (along with an explanation of what values are allowed)
Explain what mirror syncing is and what the fields are for (I can't find this anywhere in the documentation),
same for patch testing.
change ; Force ssh:// clone url instead of scp-style uri when default SSH port is used to something that actually makes sense
; Separate the values by commas. The preview tab in edit mode won't show if the file extension doesn't match (but what should it match)?
; Separate extensions with a comma. To line wrap files without an extension, just put a comma. But where to put that comma? at the end of the list? at the beginning? is the default trailing comma the missing one or is it just that, a trailing comma? THis needs more explanation.
##repository.local
What does local even mean? what are those paths for? local copies? what do local copies mean?

repository.upload
WHat are file uploads? what's considered a file upload? is a  pused file considered a file upload?
ui

; Max size of files to be displayed (default is 8MiB) (What do we mean by displayed)? Displayed wherwe?
; Whether the email of the user should be shown in the Explore Users page (email of what user)

ui.meta
If I'm not mistaken, those are the  tags displayed in the rendered html? this should be mentioned in an explanation comment.
markdown
It should be explained what the line break extension is for.
server

Explain the syntax of ROOT_URL

ssh

; Root path of SSH directory, default is '~/.ssh', but you have to use '/home/git/.ssh'. (why? so why is it  the default? can git be replaced by RUNNING_USER if it's != git?

db

; For iterate buffer, default is 50
ITERATE_BUFFER_SIZE = 50
What is iterate buffer?

indexer
Explain What it is and what it's for.
security
Explain:
COOKIE_USERNAME = gitea_awesome
COOKIE_REMEMBER_NAME = gitea_incredible
; Reverse proxy authentication header name of user name
REVERSE_PROXY_AUTHENTICATION_USER = X-WEBAUTH-USER

; True when users are allowed to import local server paths (what are those)

webhook
More explanation

@devil418 The information you are likely looking for can be found on this page: https://docs.gitea.io/en-us/config-cheat-sheet/
Please feel free to submit a PR with updated comments

Closing this as #3946 has been merged.
@devil418 thanks for the PR.


IBM.com Style Model page content and IA discussion

As an IBM.com Library website creator,

I need to have alignment on what content will go into the uIBM.com Style Model page and how the reference link linking strategy will look like with Wonil

so that I know how to move forward with the content crafting.

Additional information
The Mural.ly board used for discussion can be viewed here.
Tasks

[ ] Discuss with Wonil and find out details needed

Acceptance criteria

[ ] Have a clear idea of what we will have and set up the IBM.com Style Model page.

Issue moved to carbon-design-system/digital-design-ideation #37 via ZenHub


Locale remapping doesn't work for DynamicFont resources

Godot version:
master / dad47d8876de45132226985dbbd079e060f6facc
OS/device including version:
Manjaro Linux 17.1
Issue description:
I'm trying to use a different font per each locale using the resource remapping feature. But it seems I can't make it work whether I assign it to Default Font property of a UI theme, or Custom Font property in the project settings.
I created a DynamicFont resource using an English font, then duplicated it to create one for Korean locale. When I manually assign the Korean version to font related properties it works as intended but if I use the original resource, all Korean texts show up as blank space, apparently because the remapping setting is ignored.
Here's the relevant part in my project.godot file:
[gui]
theme/custom_font="res://Data/Fonts/UI.tres"

[locale]
locale_filter=[ 1, [ "en", "ko" ] ]
translations=PoolStringArray( "res://Data/I18n/Messages.en.translation", "res://Data/I18n/Messages.ko.translation" )
translation_remaps={
"res://Data/Fonts/UI.tres": PoolStringArray( "res://Data/Fonts/UI.ko.tres:ko" )
}

Btw, keep in mind you can use fallbacks in DynamicFont to add other charsets, so you save having to do this.

This is not really a bug but should probably be added as documentation (how to do locale remapping using fallbacks).

But shouldn't resource remapping work for fonts too, as long as they are resources also? I think it'd be cleaner and more consistent solution to the font problem if it works that way.
Sometimes, fonts assigned for different locales might be able to render some common characters (i.e. numbers) in which case font resolving may work differently than what the author intended.
And when there are many different locales to support, it might be more efficient to just use the font resource that matches the current setting, rather than having to test for a long list of fallback fonts per each UI element.

Btw, keep in mind you can use fallbacks in DynamicFont to add other charsets, so you save having to do this.

For localizing into CJK language, there are four approaches that I can think of:

English font as primary font, CJK fonts as fallbacks.

Quotes are in English style, which is unwanted. I think there are other notations conflicts among languages, besides “”‘’.

Use CJK fonts only for both CJK languages and English.

Quotes are in Chinese style, which is expected.
But English is displayed in the style of this CJK font. It's OK but not the style I want.

Suppose locale remapping for DynamicFont works. I can then map English font to en, map simplified chinese font only to zh_CN and so on... It's better this way I think.

Besides, I can write codes that modify every DynamicFont on language changes. It shouldn't be too hard. But still, it will be much more convenient if we can remap fonts.

Also, I think, for same amount of information, it's long in some languages, short in other languages. It may be necessary to map fonts of different sizes to locals, so a long word can fit into a button, a long paragraph can fit into a window and such... Font fallback cannot do that.

I opened a Proposal for it and it was closed for no reason.
https://github.com/godotengine/godot-proposals/issues/1799

This is what happened with my proposal about it @rambda: Ignored and Closed for no reason.
https://github.com/godotengine/godot-proposals/issues/1799
I wish better lucky for you here.

For the reference, DynamicFonts remapping does work. See https://github.com/godotengine/godot-proposals/issues/1799#issuecomment-771645378 and the included test project.
What doesn't work, which is a bug, is that this remapping is not handled by the gui/theme/custom_font project setting.

The problem is that in main.cpp, register_scene_types() (which handles loading the font for gui/theme/custom_font) is called before ResourceLoader::load_translation_remaps(). So the remapping doesn't exist yet when the custom font is loaded.
One can try to move things around but the order of those things is fairly critical, as stuff done after register_scene_types() likely depends on scene types being registered (like for example all Resource types).

This should fix the issue: #45662 (and also handle remapping for gui/theme/custom which would likely fail until now in the same way, if you want a whole different theme for some locales).

For the reference, DynamicFonts remapping does work. See godotengine/godot-proposals#1799 (comment) and the included test project.

Should i have said ".ttf" files remap instead of "Dynamic Font". My mistake. It's not possible anyway.

Your proposal was neither ignored (you had a length discussion about it with a contributor) nor closed for no reason (the reason for closing was justified to you - you can of course disagree with that reason, but that's still a reason). So please refrain from making such comment, this is not the place to express your frustration.

My apologizes about my frustration. Will not insist on it. What was said and done is there to anyone to check. Let's move on.


Fix that lines flip into infinity under certain perspective

Fixes #250

Can you explain what went wrong here?
Glad to see a fix though, I played around a bit looking for a simple fix but clearly that wouldn't have worked out :)

Previously we divided the whole ndc by its w value, to make it easier to convert to screen coords. But you cannot do that. I cannot exactly explain why that caused what we were seeing, but I do know (now) that you should leave that  w value intact :)


Change RejectedOccurrenceFilterSet filters to accept multiple values

🛠 Changelog

Changes the reservation_unit and unit filters to accept multiple ids for filtering. Frontend required this change.

🧪 Test plan

Automated tests

🚧 Dependencies

None

🎫 Tickets

None

/fast-forward


Failed taking a screenshot 'WebDriver' object has no attribute 'screenshot'

I'm trying to set up alerts and reports but currently they fail and the execution log shows "Failed taking a screenshot 'WebDriver' object has no attribute 'screenshot'"
Expected results
Expected Email report to be received by target user
Actual results
Execution report states
"Failed taking a screenshot 'WebDriver' object has no attribute 'screenshot'"
Screenshots

How to reproduce the bug

Go to 'Settings > Alerts and reports'
Click on '+ sign in reports tab'
Configure a report for any chart to email
check execution log

Environment
(please complete the following information):

superset version: 1.2.0
python version: Python 3.7.10
node.js version: N/A
selenium version: 3.141.0
any feature flags active:

[ec2-user@ip-10-166-211-136 logs]$ egrep "ALERT|SMTP" /usr/local/lib/python3.7/site-packages/superset/config.py | grep -v \#
    "ALERT_REPORTS": True,
    "ALERTS_ATTACH_REPORTS": True,
SMTP_HOST = "<REDACTED>"
SMTP_STARTTLS = True
SMTP_SSL = False
SMTP_USER = "<REDACTED>"
SMTP_PORT = 587
SMTP_MAIL_FROM = "<REDACTED>"
ENABLE_ALERTS = False
ALERT_REPORTS_CRON_WINDOW_SIZE = 59
ALERT_REPORTS_WORKING_TIME_OUT_KILL = True
ALERT_REPORTS_WORKING_TIME_OUT_LAG = 10
ALERT_REPORTS_WORKING_SOFT_TIME_OUT_LAG = 1
ALERT_REPORTS_NOTIFICATION_DRY_RUN = False

 chromedriver --version
ChromeDriver 85.0.4183.87 (cd6713ebf92fa1cacc0f1a598df280093af0c5d7-refs/branch-heads/4183@{#1689})

/usr/bin/google-chrome-stable --version
Google Chrome 85.0.4183.121

I am also facing the issue with this feature but its slightly different, on the dashboard email schedule. I keep getting below error in celery task and utilmately it timed out.
[2021-08-09 15:28:40,721: DEBUG/ForkPoolWorker-7] POST http://<IP_ADDRESS>:57379/session/283e5b685c73b8fbb40f4515cdbac0bf/element {"using": "css selector", "value": ".grid-container"}
[2021-08-09 15:28:40,729: DEBUG/ForkPoolWorker-7] http://<IP_ADDRESS>:57379 "POST /session/283e5b685c73b8fbb40f4515cdbac0bf/element HTTP/1.1" 404 838
[2021-08-09 15:28:40,730: DEBUG/ForkPoolWorker-7] Finished Request
It could be chrome driver version support with Selenium, I am using 3.141.0 version and chrome version Google Chrome 92.0.4515.131
@lozbrown - can you tell me how can I install 85 version that you have installed.??
I am using below script to install chrome.
sudo unzip chromedriver_linux64.zip
sudo mv chromedriver /usr/bin/chromedriver
sudo curl https://intoli.com/install-google-chrome.sh | bash
sudo mv /usr/bin/google-chrome-stable /usr/bin/google-chrome
run chromium driver and chrome browser
screen -S chromeDriver -d -m chromedriver
screen -S chrome -d -m google-chrome

In the config file its mentioned -
chrome:
Requires: headless chrome
Limitations: unable to generate screenshots of elements
Does it mean we cant use chrome for reporting and firefox is the only option?

There is comment here which mentions its buggy at certain version. https://github.com/apache/superset/blob/master/superset/tasks/schedules.py#L271
Could you guys suggest what is the recommended versions of Selenium and Firefox, Geckodriver to make it work

I tried this with firefox and gecko driver and got similar issues eg
"Report Schedule execution failed when generating a screenshot."
If anyone can comment here on the combination of browser / driver /selenium they have had this working with that would be great

I upgraded from 1.1.0 to 1.2.0.  Pretty sure 1.1.0 this feature was working but I'm getting the same error as above now.

Closing due to the updates. Thanks @sfirke !


special cases for URL formatting

To format snak values with a link, the URL formatter (P1630) is retrieved and $1 is replaced by the snak value. For some properties (P213, P345, P502, P628, P882, P1323) this simple approach fails because further formatting has to be done to produce valid links. The rules of the additional formatting can be looked up in https://www.wikidata.org/wiki/MediaWiki:Gadget-AuthorityControl.js

This sounds like a duplicate of #78. Thanks for the link to the rules though.

In order to ease us (the Wikidata dev team) to track the issues of the primary sources tool, we have created a Phabricator ticket for this issue: https://phabricator.wikimedia.org/T148170
Moving forward, please drop your comments onto that Phabricator ticket.


Added documentation for batch addition and removal of policy rules functions in management API.

@DivyPatel9881 can you rebase your commits, to remove commits like  Update mouselog script to 0.2.2


docs: add Javascript Colombo, Sri Lanka meetup

This PR adds the Javascript Colombo, Sri Lanka meetup to the existing meetups bunch.
The inaugural event was successfully conducted with the following line up.

Simplifying React App Login
Building an Enterprise Design System in 2024

And we are planning to have a set of React sessions in the upcoming sessions.

Hi @eps1lon and the maintainers,
Could you kindly review this PR at your earliest convenience and merge it if everything looks good? :)
Regards.

Hi @eps1lon, @gsathya & @harish-sethuraman,
Could you kindly review this PR at your earliest convenience and merge it if everything looks good? :)
Regards.


Incompatible units: 'em' and 'rem'

I have searched forums and docs for this issue and although I found some, none of them fixed my issue.
I upgraded from 4 to 5
I changed the emCalc to rem-calc in my _settings.scss
I added correct import path to config.rb
I am importing the _functions.scss in my _settings.scss
but still get this issue.

in  @function convert-to-rem we found $value: strip-unit($value) / strip-unit($base-value) * 1em; it must be *1rem


add ML custom exceptions

Signed-off-by: Yaliang Wu<EMAIL_ADDRESS>Description
Add ML custom exceptions
Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

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

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

LGTM.


typo fix

Coverage remained the same at 100.0% when pulling 3684078e03b8b8d1d62d7c3dffc6f051b3365031 on ZacharyBaker:mirror/typo-fix into 4ef3446f293ce0f42819887caa7970dd06e39099 on mirrorjs:master.

Thanks!


How can we help?
I would like someone else to build the manifest.
Please read and ensure the following

[X] The installer meets the above requirements

Please provide the following information
Download Page Url: https://github.com/86Box/86Box/releases/latest
Publisher: Miran Grča
Package Name: 86Box
Description: Low level x86 emulator that runs older operating systems and software designed for IBM PC systems and compatibles from 1981 through fairly recent system designs based on the PCI bus.
Package Version: 3.11
Installer URL: https://github.com/86Box/86Box/releases/download/v3.11/86Box-Windows-64-b4311.zip

[Policy] zip-binary

[Policy] Unblocked; Will require ManifestVersion: 1.9.0 with ArchiveBinariesDependOnPath: true


Add german translation / fix italian one (Fix #15)

I have added the german translation, fix a few parts in the italian one and marked your app name etc. as non-translatable values.

@tbsschroeder Hey, I've just updated the application with a bunch of new strings.
I know that it has been a long time between this and the last release but if you are still interested I'd like to support your translation.
Pull the last changes in the master branch and update the PR.
Thanks!

Hi @tommasoberlose, yeah..really long time. Unfortunately I dont have the repo anymore. I'll open a new PR.


Yet another DLL error: Could not open library libcurl.dll

Hello everyone,
As a last resort, I'm opening an issue here.
I'm building a simple script in ruby that requires Typhoeus, but it fails to run properly.
D:/remy/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.9.14-x86-mingw32/lib/ffi/library.rb:147:in 'block in ffi_lib': Could not open library 'libcurl': ="ÞbøíæüíæÈáõ. (LoadError)
Both libcurl.dll and curl.exe are in my Windows PATH variable, and running curl --version gives me the expected output:
curl 7.50.3 (x86_64-pc-win32) libcurl/7.50.3 OpenSSL/1.1.0b zlib/1.2.8 WinIDN libssh2/1.8.0 nghttp2/1.16.0 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp Features: AsynchDNS IDN IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL libz TLS-SRP HTTP2
I'm trying to build curl from scratch, currently installing cygwin, but I doubt it's going to change anything.
I'm running Windows 10 x64, and Ruby 1.9.3 (I didn't get to chose my work env)
Any idea on what I'm doing wrong?
Regards

You could perhaps use a different version of curl. I successfully used curl-7.40.0-rtmp-ssh2-ssl-sspi-zlib-idn-static-bin-w32.7z on Windows 10 x64, though ruby version is higher than yours.

@BackOrder the same url for win7 ?

@mahmodjay yes, it should be working on Win7 x64 as well.

any of libcurl.dll from packages at https://curl.haxx.se/gknw.net/7.40.0/ seems to work

Wow this was ages ago haha
I can confirm it works with earlier versions. Thanks for the followup

Does anyone have a 7.40 version somewhere?
I still get the missing DLL error with the most recent versions (7.61) and can't seem to get an earlier version than that (can't compile from sources from where I am using this)

nvm, managed to find one on a DLL download site. 7.40 seems to work fine, but newer libcurl versions do not.
This is a little problematic as curl's website doesn't allow you to download previous releases of this dll.

Here is very nice solution for appveyor (download libcurl and put dll and lib into PATH) - https://github.com/ldc-developers/ldc/blob/master/appveyor.yml#L35-L50

@AxelTerizaki I have te same problem. On which site did you download the dll.
Thanks !!!


Fix: Idle websocket disconnects

The client currently opens a websocket connection on render. If the websocket connection isn't making calls within a minute, then the connection will close.
Requirements

[x] Have the websocket connection start when the client submits the form on /src/components/form instead of in /pages/_app.tsx
[ ] Implement a 30s ping-pong (AKA heartbeat) between client and server

Adding theking465 to this issue so he gets credit for doing 2nd part

Adding theking465 to this issue so he gets credit for doing 2nd part


How to join tables?

What I want to do is fairly simple but it just doesn't work!
I have two different tables and I want to join and filter them.
const { data, error } = await supabase
  .from('some_table')
  .select('some_column, other_table(*)')
  .gte('other_table.other_column', 10)

These tables are of course connected via foreign key relationship in supabase.
However this gives me the error that some_table does not have the column other_table.other_column.
There is also this table(column) syntax and table!inner(column) syntax which I am also not sure if they are ported. What's the status on these?

Realize I'm a little late, but is this happening with the Python client? @arinmirza

Going to close for now but feel free to re-open if there are still issues.
Thanks!

I have exactly the same type of problem.
If I use a normal query, it returns the whole object, as expected.
supabase.table("content").select(
            "id, stage(stage)").execute().data

>> [{'id': 'abc', 'stage': {'stage': '1'}}]

But as I start applying a filter, it throws a column does not exist error
supabase.table("content").select(
            "id, stage(stage)").eq("stage.stage", "1").execute().data

>> postgrest.exceptions.APIError: {'code': '42703', 'details': None, 'hint': None, 'message': 'column content.stage.stage does not exist'}

Is this a bug, or am I just using the filter in a wrong way?

I'm getting the same error as well.
Any ideas? 🤨

In my case, the problem was that I used an outdated library version.
Just removing and then reinstalling the library via pip downloaded the newest version and the problem was solved.

Oh, how have I not thought of that! 😂
I'm using 0.7.0 so I think that might be the reason. I'll give it a go.
Thanks for pointing it out! Appreciate it. 😀

There is also this table(column) syntax and table!inner(column) syntax which I am also not sure if they are ported. What's the status on these?

Just curious, are there any updates on this feature?
It's still mention in the docs.

@MoritzTema let me test and get back to you accordingly

You can use !inner with this library. I have tested it and it works.


recover panic on trace calls

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

Pull request type

Please check the type of change your PR introduces:

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: #184
What is the new behavior?

Other information

Codecov Report

Merging #185 (16907ab) into master (6836e65) will increase coverage by 2.15%.
The diff coverage is 54.70%.

:exclamation: Current head 16907ab differs from pull request most recent head b3144be. Consider uploading reports for the commit b3144be to get more accurate results

@@            Coverage Diff             @@
##           master     #185      +/-   ##
==========================================
+ Coverage   53.59%   55.74%   +2.15%
==========================================
  Files         142      141       -1
  Lines       15891    16151     +260
==========================================
+ Hits         8516     9003     +487
+ Misses       6913     6567     -346
- Partials      462      581     +119

Flag
Coverage Δ

1.14.x
27.18% <0.00%> (-0.77%)
:arrow_down:

1.15.x
27.18% <0.00%> (-0.69%)
:arrow_down:

1.16.x
27.18% <0.00%> (-0.69%)
:arrow_down:

1.17.x
55.74% <54.70%> (+2.20%)
:arrow_up:

connection
15.72% <15.91%> (+1.11%)
:arrow_up:

discovery
14.79% <21.89%> (+1.29%)
:arrow_up:

e2e
49.22% <54.70%> (+2.44%)
:arrow_up:

integration
49.22% <54.70%> (+2.44%)
:arrow_up:

macOS-latest
?

ratelimiter
16.84% <13.89%> (+0.90%)
:arrow_up:

scripting
17.43% <17.23%> (+1.11%)
:arrow_up:

table
42.89% <44.67%> (+2.10%)
:arrow_up:

ubuntu-latest
55.79% <54.70%> (+2.16%)
:arrow_up:

unit
27.18% <0.00%> (-0.77%)
:arrow_down:

windows-latest
27.20% <0.00%> (-0.80%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

trace/driver.go
0.00% <ø> (ø)

trace/retry_gtrace.go
30.26% <0.00%> (-3.57%)
:arrow_down:

trace/scripting_gtrace.go
46.15% <24.73%> (+2.71%)
:arrow_up:

trace/discovery_gtrace.go
35.29% <25.00%> (+8.12%)
:arrow_up:

trace/driver_gtrace.go
63.07% <59.36%> (+19.80%)
:arrow_up:

trace/table_gtrace.go
61.00% <61.89%> (+8.43%)
:arrow_up:

internal/table/client.go
89.60% <0.00%> (-1.42%)
:arrow_down:

...d/gtrace/internal/test/test_gtrace_darwin_amd64.go

internal/table/session.go
76.65% <0.00%> (+1.65%)
:arrow_up:

... and 6 more

Continue to review full report at Codecov.

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


Are there any plans to implement a mechanism to restrict the principals to be added to a group of tenants based on specific conditions?

We received a request from a user who wanted to "leave the management of principals to tenants," but wanted to "narrow down the members that can be added based on specific conditions specified by the provider."
Specifically, the tenant manages the principals using the group function, but the provider wants to put conditions on the principals that are included in the tenant's group.
It appears that if principals are managed through Roles or Groups on the provider's side, a process is triggered where tenants must apply and the provider must approve.
Therefore, there is a desire to bypass this step, yet still apply restrictions to the principals that are included in the group.
If we could limit the principals that can be added to a tenant's group, it seems we would be able to satisfy the requirement.
Are there any plans to implement a function that would allow for such filtering of principals based on specific conditions?
We would appreciate receiving information that would assist us in responding to our users.

I'm not sure if I understood what you mean by "It appears that if principals are managed through Roles or Groups on the provider's side, a process is triggered where tenants must apply and the provider must approve.". In the tenant/provider model we support, the provider doesn't really get to approve anything. The role is either delegated to the tenant or the tenant provides a group to be included in the role and neither one requires provider's approval.
Currently, there are no features planned where the provider can impose restrictions on role membership.
What kind of conditions were you referring to?

Currently, there are no features planned where the provider can impose restrictions on role membership.
Thank you for your response. I understand that there are no plans in place.

What kind of conditions were you referring to?
"It appears that if principals are managed through Roles or Groups on the provider's side, a process is triggered where tenants must apply and the provider must approve.".
I apologize for not being able to convey the information appropriately.
This is a requirement for our operational procedures.

The provider is looking to limit the principals to whom permissions are granted.
The provider intends to reduce the effort required for tenant verification by ensuring that only principals who adhere to pre-established rules can be added to the tenant's group.

If you're using the provider/tenant concepts as we have intended, then the provider delegates the role membership to the tenant and as such it has no control over what the tenant can include in the delegated role. The provider does not control the tenant's domain and as such it will never have the capability to impose restrictions on the delegated role.
So if the provider wants to impose restrictions it must be done within its own roles and not delegate the role to the tenant's domain.
But your requirement is still somewhat generic. What are some examples of the "pre-established rules"?

If you're using the provider/tenant concepts as we have intended, then the provider delegates the role membership to the tenant and as such it has no control over what the tenant can include in the delegated role. The provider does not control the tenant's domain and as such it will never have the capability to impose restrictions on the delegated role.

So if the provider wants to impose restrictions it must be done within its own roles and not delegate the role to the tenant's domain.

Thank you for your detailed response. I will convey this information to the users.

But your requirement is still somewhat generic. What are some examples of the "pre-established rules"?

For instance, we would like to impose restrictions such as preventing services from the user domain from being registered with roles, or allowing only services from CopperArgos to be registered with roles.
Thank you for your response. With your assistance, it seems that we will be able to provide an answer to the users.
I will proceed to close the ticket.
We appreciate your cooperation and look forward to continuing our collaboration.
I will proceed to close the ticket.


Please put back PV modbus client

Is your feature request related to a problem? Please describe.
My electrical panel is as follows:

                                        | -> [EV modbus meter] -> [EV ....]
[main breaker] -> [main modbus meter] - |
                                        | -> [PV modbus meter] -> [PV ....]
                                        |
                                        | -> Other consumers, unrelated....

SmartEVSE is the master on the modbus network and as far as im aware, only one master is allowed on modbus networks.
With the serkri firmware, this worked without a problem except for the occasional value glitch due to the multithreading issues.
But, your fork has the extra PV modbus client removed. This causes me to not being able to go forward or backward.
A lot of my automation is tied to the PV meter reading in HA.
Im currently using the modbus tcp bridge, this is gone in your fork (and i understand why).
I can rebuild my side to mqtt though.
Describe the solution you'd like
I would love to have the reading of the PV meter back in SmartEVSE.
Describe alternatives you've considered
An alternative would be me having to replace (tussen)meters, what would be a waste.

*** im willing to build it back myself, will you accept the functionality?

The modbus code is not threadsafe; I want to rewrite it so it makes better use of the emodbus library, and hopefully it is then threadsafe.
If that is the case, I can re-enable the tcp-modbus-bridge, and you can directly read all the data that is on your modbus, no PV meter necessary ....

I recommend putting devices that are NOT used by the SmartEVSE on a separate modbus; with a cheap USB <-> RS485 interface you can hook all devices you have to HomeAssistant or any other software, without having to worry about disturbing the communication between SmartEVSEs (if you have more than one) and MainsMeter and EVMeters.


[Storage] Write migration guide for azure-storage-queue

As title states 😄

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


Open different terminal from Docker Desktop on Windows

Tell us about your request
When clicking the Cli button the default terminal should open the shell session for Windows users
Which service(s) is this request for?
Docker Desktop on Windows
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
Today customers have preferred terminals to work in which are setup to work for them, the desktop UI today opens the built in terminal for the machine not the users current default terminal.
Are you currently working around the issue?
Using the new MSFT terminal and not using the button in Desktop UI
Additional context:
Mac ticket: https://github.com/docker/roadmap/issues/98

+1 this would be very handy, especially for novice users of Docker

NB It looks like Microsoft will be introducing the notion of a "default terminal" into Windows: microsoft/terminal#492. I haven't seen an official statement, but I'm guessing it will land in 21H2.

+1

+1 on this. If you use the integrated terminal on an editor, like VS Code, but you also have iTerm2 installed, Docker Desktop will launch iTerm2, regardless of any settings. Thanks.

+1

This would be great +1

+1

+1

NB It looks like Microsoft will be introducing the notion of a "default terminal" into Windows: microsoft/terminal#492. I haven't seen an official statement, but I'm guessing it will land in 21H2.

It'd be preferable not to rely on windows default terminal because that's only customizable in w11. W10 users don't have that luxury.
It'd be better to be able to manually tell docker desktop our preferred terminal app.

4.12.0 just released and initially I thought it had this feature based on the release notes, but rather it was a feature for an "embedded" terminal within docker desktop itself, which is still pretty cool. So looks like we are close to getting this added, just need an option under the "Choose container terminal" docker desktop setting that does exactly that and lets you specify the system terminal to open. Either a free entry textbox that allows you to fill in the command to pass along to the auto-generated "docker exec" command or a dropdown of system defaults, similar to how the new windows terminal does it when opening its startup settings.

Although I wouldn't mind the automation, a much more easy stop-gap would be to allow copying of the docker command to use. I'm imagining a copy symbol just beside the "open in external terminal" which puts "docker exec ......" in to the clipboard.
Then I can just open my favourite terminal and paste.
This would work on all platforms (partly) solving also #395.

Hi everyone here! I know this doesn't solve the feature request, but we are working on a new command that will make getting a shell into any container much easier. As of now, this isn't part of core Docker Desktop yet but distributed as an extension: Docker Labs Debug Tools
In short, with this you can do:
dld shell <your container or image>

I.e., it will give an easy to remember / short command that you can use from any terminal you want and will give you a shell into any image or container (including stopped), local or remote.
Related roadmap issue: #524
Any feedback appreciated!

@joe0BAB would this be something integrated into the docker desktop UI? I think that was the goal from the OP (and also what I'm looking for). In short, if we had the ability to specify the custom command that is opened/copied from docker desktop so we can then specify our preferred terminal, that would be great.

@gerneio yes, eventually the idea is to integrate this new functionality that comes with the "Docker Labs Debug Tools" extension with the UI too

And eventually that would become a shell command? Something like
docker shell <container or image>

I like that.

Looks like the latest Windows Terminal release allows you to set the windows terminal as your default terminal which means Docker Desktop should open up windows Terminal if it's your default.

@hichemfantar  tested and works on:

👍

Is this actually solved as benitogf claims?
I have the default set to Windows Terminal inside Terminal > Configuration > Default Terminal Application but regardless of what I set in Docker Desktop Settings, Integrated or System Default I get the same plain CMD windows with docker exec -it ........ as the title.
Open in external terminal and the button next to the stop button do the same thing.
You're up to date

Docker Desktop 4.28.0 (139021) is currently the newest version available.


Track time it takes to run tests

Have you read the FAQ and checked for duplicate open issues?
Yes
Is your feature request related to a problem? Please describe.
I have made several changes (fa32335f6e496a98ac9dc11821690839f81224f7, 4fdf8f7a1c2c6c413ed2a86c140397abc0044e0b, e2fa4626b506cbc54c849ff3ed25e59cf428d60f) to make the tests run faster, especially the unit tests.  There are many cases where we used to have tests that took several seconds to run.  For integration tests, this may be unavoidable, but for unit tests, this is unacceptable.
The guideline we should follow it try to keep unit tests under 100ms and have integration tests take less than a few seconds if possible.  Playback tests can take longer since we want to simulate real playback, but other tests should run as fast as possible.
Describe the solution you'd like
We should have automated checks that test how long a test runs to ensure it is within guidelines.  We should get an error if a unit test takes longer than 200ms and maybe add an error for non-playback integration tests too (maybe 3-5 seconds).  We should also have a report of our test times so we can see which tests take a long time to prioritize making those faster.
When running locally you can install the karma-time-stats-reporter and use that with the --reporters option.  This will report the slowest tests and how long they took.  The junit reporter includes the time in the XML report, so we may be able to show slow tests on the build bot.  It reports the time it took for tests, but it is difficult to see at a glance.
Describe alternatives you've considered
Additional context

Improvements addressed by Joey.


[Documentation] Cleanup ReadMe structure and Add Wiki

Adding a Wiki with the following structure:

Setup ODK as a library
Download forms from ZIP
Customize the look and feel of the form interface
Open form
Prefill form
Get form submission
Listen to form events

I want to work on this issue @karntrehan.

Hi @bhavyastar ,
Thank you for expressing interest. You can start contributing by having a fork out of this repository and creating a  new branch from the 'develop' branch. For the rest of the details, you can refer to the good first issue details and issue description.

Thanks, @charanpreet-samagra, for assigning me this issue.

Hey @charanpreet-samagra, I guess a person with write access to the repository will able to create a wiki. Could you look into this? As I am not able to create a Wiki. I know the process that how we can create a wiki. I am more than happy to create if somehow I will get access or will link a docs draft where all the steps are mentioned that is required for Wiki.

Hey @bhavyastar, sorry for the late response. Unfortunately, we cannot provide you with write access to the repository, but you can still work on this issue without the need for write access. Please follow this guide for reference: https://gist.github.com/larrybotha/10650410


0213 - House Robber II

Description of the Problem
You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses at this place are arranged in a circle. That means the first house is the neighbor of the last one. Meanwhile, adjacent houses have a security system connected, and it will automatically contact the police if two adjacent houses were broken into on the same night.
Given a list of non-negative integers nums representing the amount of money of each house, return the maximum amount of money you can rob tonight without alerting the police.
Example 1:
Input: nums = [2,3,2]
Output: 3
Explanation: You cannot rob house 1 (money = 2) and then rob house 3 (money = 2), because they are adjacent houses.
Code
 def rob(self, nums: List[int]) -> int:
        n = len( nums )
        if n==0:
            return 0
        if n==1:
            return nums[0]
        if n==2:
            return max(nums[0],nums[1])

        def max_profit(dp):

            len_dp = len( dp )
            dp[1] = max( dp[0], dp[1] )
            for k in range( 2, len_dp ):
                dp[k] = max( dp[k - 1], dp[k] + dp[k - 2] )

            return dp[-1]

        # find the profit excluding the last house
        dp_excludingLastElement = nums[:n - 1]
        profit1 = max_profit(dp_excludingLastElement)
        # find the profit using the first house
        dp_excludingFirstElement = nums[1:n]
        profit2 = max_profit(dp_excludingFirstElement)
        # return the max profit out of both the possibilites
        return max( profit1, profit2 )

Link To The LeetCode Problem
https://leetcode.com/problems/house-robber-ii/

I would like to contribute on this Issue that I created. Thanks!!


⚠ Bofrost.be has degraded performance

In 74028c2, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1658 ms

Resolved: Bofrost.be performance has improved in bf9eeb7 after 6 minutes.


Remove deprecationwarning shortcode in /zh/_index.html in favor of layout partial

Umbrella issue: https://github.com/kubernetes/website/issues/21609
Deprecation warnings are now implemented using a layout partial, /partials/deprecation-warning.html. This PR removes the unused shortcode.

/lgtm

/lgtm
/approve


 For example, using this you can see where our painting logic sometimes causes the entire screen to be redrawn with just the mouse moving.
However, it's also limiting in that it shows everything going to/from the terminal.
I'd like to have a debug tap built into ConsoleDriver that shows what we're emitting and receiving with the ability to just show ANSI ESC sequences (or classes of sequences). It'd be cool if it could dump to a log file and/or to a real-time viewer that rand side-by-side with whatever app was running.

As an example of what this kind of tool shows:
(this is with develop)
Just selecting a ListView item causes the entire app to redraw:


⚠ Bofrost.at has degraded performance

In 39eb39c, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1169 ms

Resolved: Bofrost.at performance has improved in 2f4a9ed.


Parameter column is not visible when the API created by importing swagger file -

Description:
If creating an API by using the swagger definition and tried to add the parameter for the created resources. Then the required parameter section was not available.

Steps to reproduce:

Create an API using an existing swagger file (the swagger version is 2.0.0)
Edit and try to add parameters to API resources
Will not see the parameter section to add parameters

Affected Product Version:
APIM 3.0.0

We need to support Swagger 2.0 definitions in Publisher Resources page


[Feature Requests] Support Astra Vectorize

Summary
Astra Vectorize is a parameter that allows users to enable server side vector embeddings in astradb.

Fixed by https://github.com/langflow-ai/langflow/pull/2245


ramda pick type inference is not correct

In this release the types of pick were changed to make it more strict so that it only accepts names of keys defined in the object. However this does not work when an object defines a list of generic properties e.g. [key: string]: string
In addition, the description of the pick function is not in line with the new types.
Returns a partial copy of an object containing only the keys specified. If the key does not exist, the property is ignored.
Specifically the part If the key does not exist, the property is ignored. does not hold as far as I can see.

However this does not work when an object defines a list of generic properties e.g. [key: string]: string

That is the expected behavior. When you have a type Record<string, string> or { [key: string]: string }, that is saying "the key is any string", so the function pick() accepts any string. It cannot determine the keys you add to it at runtime

In addition, the description of the pick function is not in line with the new types.
Returns a partial copy of an object containing only the keys specified. If the key does not exist, the property is ignored.
Specifically the part If the key does not exist, the property is ignored. does not hold as far as I can see.

This describes the runtime behavior. For typescript, we look at the keys and error if they do not exist as a type-safety. If you use the built-in Pick<> helper type, it works the same way
I suspect your issue might be because you're not on typescript@5 yet. Both pick and omit are defined using the const modifier in the type definitions which tells typescript to read the array literal "as const", since that modifier is not supported in typescript@4, we have a separate version that removes that keyword. What this means is you won't always get the desired behavior with using as const on your input keys array
// In typescriipt@4, This won't always work:
const r = pick(['foo', 'bar'], {} as Record<string, number>);

// you need to
const r = pick(['foo', 'bar'] as const, {} as Record<string, number>);


Application security in CI

This issue tracks the rollout of application security in CI, including:

[x] Dependabot Alerts
[x] Dependabot Security updates
[x] Dependabot Version updates
[x] CodeQL
[x] secret scanning and push protection
[x] private vulnerability reporting
[x] dependency review
[x] OpenSSF scorecard and best practices (badges in README)
[x] release artifact signing
[x] release SBOMs
[x] coverage (badge in README)
[x] code linters

Done in #381 and dependabot enabled.


verifyHostnameCallback parameter function on constructor (NativeMessageHandler - Android) when customSSLVerification is true

Hi,
maybe you can need use a custom verifyHostnameCallback.
Here is my proposal:
        //only droid 2018-3-16 verifyHostnameCallback because ServicePointManager is not implemented
        public NativeMessageHandler(bool throwOnCaptiveNetwork, bool customSSLVerification, NativeCookieHandler cookieHandler = null, Func<string, ISSLSession, bool> verifyHostnameCallback = null)
        {
            this.throwOnCaptiveNetwork = throwOnCaptiveNetwork;

            var clientBuilder = client.NewBuilder();

            if (customSSLVerification)
            {
                clientBuilder.HostnameVerifier(
                    verifyHostnameCallback==null?
                    (hostname, session) =>
                {
                    return HostnameVerifier.verifyServerCertificate(hostname, session) & HostnameVerifier.verifyClientCiphers(hostname, session);
                }:verifyHostnameCallback);
            }

            if (cookieHandler != null) {
                clientBuilder.CookieJar(cookieHandler);
            }

            client = clientBuilder.Build();

            noCacheCacheControl = (new CacheControl.Builder()).NoCache().Build();
        }

Thank you.

And how verifyHostnameCallback will looks like?

Done. Wait for updated release.

When will this be released?

Later today or tomorrow.