text:
PYP 20/21 s1: Lazy Evaluation

Source
AY 20/21 sem 1
Description
Hi guys, since there are no available answers for this paper, let's discuss! The question is attached below alongside snippets of LazyList.java. What would y'alls answers be? and how do you approach this question? Help me out haha
Screenshots (if any):

a) 2, I just added a System.out.println(n) in the filter statement and counted the number of times its printed
b) 5, same technique in a), do System.out.println(x) in the map statement and count number of times its printed
c)
public long count() {
    return this.
        .map((x) -> 1L)
        .reduce(0L, (x, y) -> x + y);
}

d) dunno lol

Great and useful technique mentioned by Brendan !!

a) 2, I just added a System.out.println(n) in the filter statement and counted the number of times its printed b) 5, same technique in a), do System.out.println(x) in the map statement and count number of times its printed c)
public long count() {
    return this.
        .map((x) -> 1L)
        .reduce(0L, (x, y) -> x + y);
}

d) dunno lol

@BrendanCheong Can i check how did you manage to open LazyList.java? I'm trying out what you suggested on jshell but im not sure how to resolve these errors?

I tried jpp LazyList.java but somehow my terminal says the command can't be found hmm...

a) 2, I just added a System.out.println(n) in the filter statement and counted the number of times its printed b) 5, same technique in a), do System.out.println(x) in the map statement and count number of times its printed c)
public long count() {
    return this.
        .map((x) -> 1L)
        .reduce(0L, (x, y) -> x + y);
}

d) dunno lol

@BrendanCheong Can i check how did you manage to open LazyList.java? I'm trying out what you suggested on jshell but im not sure how to resolve these errors?

I tried jpp LazyList.java but somehow my terminal says the command can't be found hmm...

Do bash jpp LazyList.java instead to compile

a) 2, I just added a System.out.println(n) in the filter statement and counted the number of times its printed b) 5, same technique in a), do System.out.println(x) in the map statement and count number of times its printed c)
public long count() {
    return this.
        .map((x) -> 1L)
        .reduce(0L, (x, y) -> x + y);
}

d) dunno lol

@BrendanCheong Can i check how did you manage to open LazyList.java? I'm trying out what you suggested on jshell but im not sure how to resolve these errors?

I tried jpp LazyList.java but somehow my terminal says the command can't be found hmm...

Do bash jpp LazyList.java instead to compile

ohhh hmmm okok it works but how did you make the file open in jshell though? My jshell still flags out all the errors :(

Hi can I ask where to find this paper? The latest paper I could find on nuslib is 1930sem1 special term😢

a) 2, I just added a System.out.println(n) in the filter statement and counted the number of times its printed b) 5, same technique in a), do System.out.println(x) in the map statement and count number of times its printed c)
public long count() {
    return this.
        .map((x) -> 1L)
        .reduce(0L, (x, y) -> x + y);
}

d) dunno lol

@BrendanCheong Can i check how did you manage to open LazyList.java? I'm trying out what you suggested on jshell but im not sure how to resolve these errors?

I tried jpp LazyList.java but somehow my terminal says the command can't be found hmm...

Do bash jpp LazyList.java instead to compile

ohhh hmmm okok the compilation works but how did you make the file open in jshell though? My jshell still flags out all the errors :(

when you do the command it creates a proccessed folder with the proccessed LazyList.java, so you have to cd into that folder and open it from there in jshell

a) 2, I just added a System.out.println(n) in the filter statement and counted the number of times its printed b) 5, same technique in a), do System.out.println(x) in the map statement and count number of times its printed c)
public long count() {
    return this.
        .map((x) -> 1L)
        .reduce(0L, (x, y) -> x + y);
}

d) dunno lol

@BrendanCheong Can i check how did you manage to open LazyList.java? I'm trying out what you suggested on jshell but im not sure how to resolve these errors?

I tried jpp LazyList.java but somehow my terminal says the command can't be found hmm...

Do bash jpp LazyList.java instead to compile

oh lord I'm definitely screwed LMAO- please help xD

Lol, calm down guys. The reason /open LazyList.java is failiing is because LazyList.java contains Thunk which is not something that belongs to Java. It's a macro that will be swapped in with the real code  when u run the jpp script. The reason why running the jpp script is failing for some is likely cus chmod was not done before running the script. For simplicity sake, here's the processed script
import java.util.function.Supplier;
import java.util.function.Consumer;
import java.lang.IllegalStateException;
import java.util.List;
import java.util.Arrays;
import java.util.function.Function;
import java.util.function.BiFunction;
import java.util.function.Predicate;
import java.util.function.BinaryOperator;
import java.util.Scanner;

public class LazyList<T> {
    private final T head;
    private final Supplier<LazyList<T> > tail;
    private final boolean amIEmpty;

    public LazyList(T a, Supplier<LazyList<T> > b) {
        this.head = a;
        this.tail = b;
        this.amIEmpty = false;
    }

    private LazyList() {
        this.head = null;
        this.tail = null;
        this.amIEmpty = true;
    }

    public static <T> T thaw(Supplier<T> ice) {
        return ice.get();
    }

    public static <T> LazyList<T> makeEmpty() {
        return new LazyList<T>();
    }

    public T head() {
        if (this.isEmpty())
            throw new IllegalArgumentException("head() called on empty list!");

        return this.head;
    }

    public LazyList<T> tail() {
        if (this.isEmpty())
            throw new IllegalArgumentException("tail() called on empty list!");
        return thaw(this.tail);
    }

    public boolean isEmpty() {
        return this.amIEmpty;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        else if (obj instanceof LazyList) {
            LazyList<?> ll = (LazyList<?>) obj;
            return this.hasSameContent(ll);
        }
        else
            return false;
    }

    public boolean hasSameContent(LazyList<?> other) {
        if (this.isEmpty() && other.isEmpty())
            return true;
        else if (!this.isEmpty() && !other.isEmpty())
            return this.head().equals(other.head()) &&
                this.tail().hasSameContent(other.tail());
        else
            return false;
    }

    @Override
    public String toString() {
        if (this.isEmpty())
            return "**empty**";
        return String.format("head: %s, tail: thunk!%s",
                             this.head.toString(), this.tail.toString());
    }

    public void print() {
        LazyList<T> me = this;
        System.out.printf("(* ");
        while (!me.isEmpty()) {
            System.out.printf("%s, ", me.head());
            me = me.tail();
        }
        System.out.println("*)");
    }

    @SafeVarargs
    public static <T> LazyList<T> fromList(T ... items) {
        List<T> list = Arrays.asList(items);
        return helper(list);
    }

    private static <T> LazyList<T> helper(List<T> list) {
        if (list.isEmpty())
            return LazyList.makeEmpty();
        else
            return new LazyList<>((list.get(0)), ( ()->(helper(list.subList(1,list.size()))) ))
                                                              ;
    }

    public <R> LazyList<R> map(Function<T,R> f) {
        if (this.isEmpty())
            return LazyList.makeEmpty();
        else
            return new LazyList<>((f.apply(this.head())), ( ()->(this.tail().map(f)) ))
                                             ;
    }

    public <R> LazyList<R> flatmap(Function<T, LazyList<R>> f) {
        if (this.isEmpty())
            return LazyList.makeEmpty();
        else
            return f.apply(this.head())
                .concat(this.tail().flatmap(f));
    }

    public LazyList<T> filter(Predicate<T> pred) {
        if (this.isEmpty())
            return LazyList.makeEmpty();
        else if (pred.test(this.head()))
            return new LazyList<>((this.head()), ( ()->(this.tail().filter(pred)) ))
                                                   ;
        else
            return this.tail().filter(pred);
    }

    public LazyList<T> limit(long maxSize) {
        if (maxSize == 0)
            return LazyList.makeEmpty();
        else
            return new LazyList<>((this.head()), ( ()->(this.tail().limit(maxSize - 1)) ))
                                                         ;
    }

    public LazyList<T> elementWiseCombine(LazyList<T> other,
                                  BinaryOperator<T> binOp) {
        if (this.isEmpty() || other.isEmpty())
            return LazyList.makeEmpty();
        else
            return new LazyList<>((binOp.apply(this.head(), other.head())), ( ()->(this.tail().elementWiseCombine(other.tail(), binOp)) ))
                                                                              ;
    }

    public T get(int idx) {
        if (this.isEmpty() || idx < 0)
            return null;
        else if (idx == 0)
            return this.head();
        else
            return this.tail().get(idx - 1);
    }

    public static LazyList<Integer> intRange(int a, int b) {
        if (a >= b)
            return LazyList.makeEmpty();
        else
            return new LazyList<>((a), ( ()->(intRange(a + 1, b)) ));
    }

    public LazyList<T> concat(LazyList<T> other) {
        if (this.isEmpty())
            return other;
        else
            return new LazyList<>((this.head()), ( ()->(this.tail().concat(other)) ))
                                                    ;
    }

    public void forEach(Consumer<T> eat) {
        if (this.isEmpty())
            return;
        else {
            eat.accept(this.head());
            this.tail().forEach(eat);
        }
    }

    public T reduce(T identity, BinaryOperator<T> accumulator) {
        if (this.isEmpty())
            return identity;
        else
            return accumulator.apply(this.head(),
                                     this.tail().reduce(identity,
                                                        accumulator));
    }
}

Hi, just checking where did you guys find the paper?

a) 2, I just added a System.out.println(n) in the filter statement and counted the number of times its printed b) 5, same technique in a), do System.out.println(x) in the map statement and count number of times its printed c)
public long count() {
    return this.
        .map((x) -> 1L)
        .reduce(0L, (x, y) -> x + y);
}

d) dunno lol

I did the same thing but it seems that the printed number for (b) map method is 10 instead of 5, wonder is there anything wrong 👀 ?
jshell> LazyList.intRange(10,20).map(n -> {System.out.println(n); return 50-n;}).filter(n ->n < 20)
10
11
12
13
14
15
16
17
18
19

a) 2, I just added a System.out.println(n) in the filter statement and counted the number of times its printed b) 5, same technique in a), do System.out.println(x) in the map statement and count number of times its printed c)
public long count() {
    return this.
        .map((x) -> 1L)
        .reduce(0L, (x, y) -> x + y);
}

d) dunno lol

I did the same thing but it seems that the printed number for (b) map method is 10 instead of 5, wonder is there anything wrong 👀 ?
jshell> LazyList.intRange(10,20).map(n -> {System.out.println(n); return 50-n;}).filter(n ->n < 20) 10 11 12 13 14 15 16 17 18 19

your testcase is wrong haha, it's range 2, 100 and the map and filter criteria are different too :)

a) 2, I just added a System.out.println(n) in the filter statement and counted the number of times its printed b) 5, same technique in a), do System.out.println(x) in the map statement and count number of times its printed c)
public long count() {
    return this.
        .map((x) -> 1L)
        .reduce(0L, (x, y) -> x + y);
}

d) dunno lol

I did the same thing but it seems that the printed number for (b) map method is 10 instead of 5, wonder is there anything wrong 👀 ?
jshell> LazyList.intRange(10,20).map(n -> {System.out.println(n); return 50-n;}).filter(n ->n < 20) 10 11 12 13 14 15 16 17 18 19

your testcase is wrong haha, it's range 2, 100 and the map and filter criteria are different too :)

wow alright ....but it is indeed range 10, 20 on the pdf of the paper I got from my tutor 😂 ......anyway, doesn't matter hahaha

I know we can use print statements for (a) and (b), but can anyone explain how the answer is derived? Thanks!

<T> LazyList<LazyList<T>> choose(LazyList<T> LL, int r) {
        if (r == 0)
            return LLmake(LazyList.makeEmpty(), LazyList.makeEmpty());
        else if (LL.isEmpty())
            return LazyList.makeEmpty();
        else {
            T head = LL.head();
            LazyList<T> rm = remove(LL, head);
            return choose(rm, r - 1)
                    .map(y -> LLmake(head, y))
                    .concat(choose(rm, r));
        }
    }

sol for the r-combination if anyone is interested.

public LazyList<T> filter(Predicate<T> pred) {
    if (this.isEmpty())
        return LazyList.makeEmpty();
    else if (pred.test(this.head()))
        return LLmake(this.head(),
                        this.tail().filter(pred));
    else
        return this.tail().filter(pred);
}

For part (a) we can see that if the current list is not empty, pred will always be called once, if it gives false, it will call the next filter on the tail.
so for intRange(101,200)
pred will be called on 101 -> 101%2 == 0 gives false, so it will call filter on tail
102 % 2 == 0 is true. and execution stops.
so filter will be eval twice.

for part (b)
public <R> LazyList<R> map(Function<T,R> f) {
    if (this.isEmpty())
        return LazyList.makeEmpty();
    else
        return LLmake(f.apply(this.head()),
                        this.tail().map(f));
}

For part(b) map functions normally in this case except the head will always be eagerly eval if it is not empty.
so we have numbers 10 to 19 from int range. Since for all numbers in that range, 50 - that number will always be larger than 20, the filter will always give false. So it will essentially exhaust the int range numbers and map will be called 10 times.

for part (b)
public <R> LazyList<R> map(Function<T,R> f) {
    if (this.isEmpty())
        return LazyList.makeEmpty();
    else
        return LLmake(f.apply(this.head()),
                        this.tail().map(f));
}

For part(b) map functions normally in this case except the head will always be eagerly eval if it is not empty.
so we have numbers 10 to 19 from int range. Since for all numbers in that range, 50 - that number will always be larger than 20, the filter will always give false. So it will essentially exhaust the int range numbers and map will be called 10 times.

I thought it should be 5 times? Or are we talking about a different stream?

It seems to be 2 different version of the question in the same paper floating around lul.

authors: BrendanCheong CedricPei Eclipse-Dominator FYimu RussellDash332 francisyzy hingen kxshxsh wjingen yuqitanyq


text:
[W4.4][T15-A1]Wong Khia Yi

W4.4 added class: Block, Street, Unit, PostalCode. updated tests.
OutOfBoundsException when input does not follow the format

check out good commit message style

Close this PR if you have no other questions

source: gharchive/pull-request

authors: khiayi madsonic

license: MIT

license_type: permissive

license_source: github-api


text:
Add Model Description and Model Input Param Description for Predict

This is an issue found in binding sign-auto to forkcloud. if we support a predict service for user, service user need to know the description of model such as model usage, and the format of data using for predict such as vedio, picture, or csv. So we add model description and model input param description column in db table, and edit the related code.

https://singa-auto.readthedocs.io/en/latest/src/user/tasks.html?highlight=TASK

For the parameters we will follow the task parameter design. Just add two optional description fields for the model and inference job.

source: gharchive/issue

authors: airlovelq nudles xuyin224

repo: nusdbsystem/singa-auto


text:
duration support for def

It appears that duration is not supported yet for defs.
> def foo [d:duration] {
echo $d
}

Error: nu::parser::unknown_type (link)

  × Unknown type.
   ╭─[entry #7:1:1]
 1 │ def foo [d:duration] {
   ·            ────┬───
   ·                ╰── unknown type
 2 │ echo $d
   ╰────

this seems to be working in latest main

authors: fdncred jntrnr

repo: nushell/engine-q


text:
Скласти блок контактної інформації

Посилання на соцмережі (Facebook чи Instagram, тощо), номер телефону чи адреса електронної скриньки, тощо. Може не всі лінки в світі, а тільки ті, що дійсно доречні.

Ryu Hoshi (リュウ Ryū)

https://www.facebook.com/profile.php?id=100004808958030
ryuwins@gmail.com
https://twitter.com/denjinryu
https://www.instagram.com/sworn_ryu/


text:
Run only in production mode

Can you provide some option or disable it by default for non-production mode?

@cryptomaniac512 you can avoid analytics to send data during development, just by setting the debug.sendHitTask property to false ( check debug page )

How can I set sendHitTask to false only if project not in production mode? With this option analytics doesn't work when I run generate.

repo: nuxt-community/analytics-module


text:
Android Chrome showing $colorMode.value as system instead of the real value(light or dark)

Version
@nuxtjs/color-mode: v2.0.3
nuxt: v2.15.1
Android version: 10
Chrome version: 88.0.4324.181
Reproduction Link

Just put it in a vue file.

Steps to reproduce

Run npm run start on your nuxt application.
go to your page with the code snippet on the browser.
read the console messages.

What is Expected?
It should print $colorMode.value with a valid value of light or dark.
What is actually happening?
it prints
$colorMode.value system
$colorMode.preference system
window.matchMedia('(prefers-color-scheme:dark)').matches true
window.matchMedia('(prefers-color-scheme:light)').matches false

It prints true for (prefers-color-scheme:dark) as my phone is enabled with dark mode.

I'm having the same issue.

Hi @wcsiu, hope you don't mind if I join in,
does it work fine on other platforms i.e. pc?
Do you have set the target option to "server" or "static"?
I have never used the "static" mode so maybe my knowledge is not complete but if you have "server", then aren't you getting an error i.e. "window is not defined"?
Hopefully, this might help you:
according to the official Nuxt's docs:

fetch is called on server-side when rendering the route, and on the client-side when navigating.

and according to the nuxt-color-module's docs

When $colorMode.preference is set to 'system', using $colorMode in your Vue template will lead to a flash. This is because we cannot know the user preferences when pre-rendering the page since they are detected on the client-side.

In fact, a had a very similar problem (I also have the ^2.0.3 version of the plugin) or rather a misunderstanding in the mounted hook of one of my components:
mounted() {
    console.log(this.$colorMode.preference) // logs system
    console.log(this.$colorMode.value) // logs system
  },

It puzzled me but then I read the caveats in the docs and added:
mounted() {
    console.log(this.$colorMode.preference) // logs system
    console.log(this.$colorMode.value) // logs system
    console.log(this.$colorMode.unknown) // logs true

    setTimeout(() => {
      console.log(this.$colorMode.preference) // logs system
      console.log(this.$colorMode.value) // logs light
      console.log(this.$colorMode.unknown) // logs false
    }, 2000)
  },

So I guess that's because of the flash mentioned in the docs, however, I don't know why it still happens in the mounted hook which is, as far as I know, called on the client-side???
Anyway, It does not make implementing dark mode impossible or harder, at least in my case - it's rather an innocent quirk. 🐛💡🍺

@Matb85 Not at all! I need all the help I can get.
I just have just tried it again for Firefox on PC, it also prints system for this.$colorMode.value so I guess it may not be the root cause that I can't use color mode module on Android chrome.
The problem only happens on android chrome. There wouldn't be a problem if I switch to Firefox using the same android phone. It also works fine on PC. The target option is server. For fetch(), I don't have the undefined problem even when the page is rendered on the server side.
I am just wondering if there is anyone also not being able to use the module for android chrome.

I have prepared another simpler example.
<template>
<ColorScheme placeholder="" tag="div">

{{ $colorMode.value }}

</ColorScheme>
</template>

For android chrome, it would be system. For others, it is either dark or light.

Interesting, as for me, everything works fine
here is my component:
<template>

    <button
      id="color-mode-switch"
      class="w-14 h-14 bg-white rounded-full items-center overflow-hidden flex flex-nowrap"
      @click="switchColorMode"
    ></button>

{{ $colorMode.value }}

</template>

here is a screenshot with dark mode on (Android 10, Chrome 88.0.4324.181)

Nevertheless, I admit there is a lag/flash - it shows "system" until the page is fully loaded and then switches to the valid value, so maybe you just need to wait a bit longer.

I have tested it with several other android 10 phones. None of them has a problem. I think the problem I am facing only happens on a specific phone model. The test phone I am using is Nokia 7 plus.

repo: nuxt-community/color-mode-module


text:
Throw an error in CI

Before submitting a pull request, what do you think about making this module usable in CI by raising an error on hook "generate:done" if one error at least is met by html-validate ?

I think that is a great idea, but let's make it opt in by passing an option to the module.

#96

This should be released in v0.5.0 - thank you so much ❤

authors: MoogyG danielroe

repo: nuxt-community/html-validator-module


text:
fix: updated layout to be on par with vuetify 2.x

v-row is a wrapper component for v-col. It utilizes flex properties to control the layout and flow of its inner columns. [...] This is the 2.x replacement for v-layout in 1.x.
v-col is a content holder that must be a direct child of v-row. This is the 2.x replacement for v-flex in 1.x.
https://vuetifyjs.com/en/components/grids/#usage
Related: #597

LGTM. One leftover is to change the snapshots so the tests are matching.

hi. I tried but I'm unable to figure out how to start on fixing the snapshots. Can you shine a light on this? I don't have prior experience with PR.
I do know that snapshot is like an image frame of a video.
Should I be doing a git pull to fix this?

yes. You have to run `jest --updateSnapshot`

@manniL  Sorry for the 3 days gap (I had the discord browser closed). I appreciate your help. Since I didn't install jest, I saw that I can run it with npx.
I tried running npx jest --updateSnapshot on all of:
1. the root of create-nuxt-app
2. under packages/create-nuxt-app/test
3. under packages/create-nuxt-app/test/snapshots
I am getting some error messages on all the above directories so I'm guessing I don't know which directory I should be on.
I thought option 3. was the right directory since index.test.js.snap was under there.

Hey 👋🏻
Running yarn test:snapshot should be enough. You don't need other deps installed besides the ones from create-nuxt-app itself 😋

With your help I'm able to pass the npm run test:snap locally on my computer.
However, the new commit fails the snapshot check here in the remote.

I checked that I'm on the patch-1 branch with git branch. After running the test:snap successfully, I noticed that index.test.js.snap has updated so I did a git add . on the root and committed it. Then I did git push origin patch-1 and I saw new checks happening on this page.
Sadly, the 2 test failures are still here.

Hi @tenzint. Thanks for PR. I've rebased with master and updated snapshot :+1:
Thanks @manniL for review

Thanks @pi0
and Thanks @manniL

Thanks @pi0 and @manniL

repo: nuxt/create-nuxt-app


text:
fix: Files cannot be copied in windows

The cp command cannot be used in windows

I have to create other PR as I can not push to your branch.

authors: antfu qiuqfang

repo: nuxt/devtools


text:
vuex initialization inside of a module does not provide this.app context

What problem does this feature solve?
Developing a module currently does not work as expected if users would require the initialization of Vuex:
export default (ctx) => {
  const {app, store} = ctx
  const storeOptions = {
    state: Object.assign(general.state, apollo.state, content.state),
    getters: Object.assign(general.getters, apollo.getters, content.getters),
    mutations: Object.assign(general.mutations, apollo.mutations, content.mutations),
    actions: Object.assign(general.actions, apollo.actions, content.actions)
  }
 store.registerModule('lc', Object.assign({}, storeOptions))
}

getters:{
  test(state){
    console.log(this.app) //=> this.app is 'undefined'.
  }
}

What does the proposed changes look like?
It would be great if Vuex inside of a module would automatically receive the this.app context. Also all through a module/plugin injected context variables would be great to be available

This feature request is available on Nuxt.js community (#c6835)

I think by design the this context is only available inside of actions. Will close this for now because I found another way to do this.


text:
UnhandledPromiseRejectionWarning: TypeError [ERR_INVALID_ARG_TYPE]: The 'request' argument must be string. Received type undefined

I encountered this error while run the nuxt project new in this. What this error mean?
How to solve this error?

This question is available on Nuxt community (#c9182)

having the same issue on nuxt v2.6.3

This happened to me when adding nuxt-i18n to the nuxt.config.js

authors: Dahdoul Ramarti divyadave95


text:
fix(vue-app): add prefetched class to <nuxt-link> after chunk loaded

Types of changes

[x] Bug fix (a non-breaking change which fixes an issue)

Description

Add prefetched class only when the chunk is loaded.
Checklist:

[x] All new and existing tests are passing.

Codecov Report

Merging #6623 into dev will decrease coverage by 31.18%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##              dev    #6623       +/-   ##
===========================================
- Coverage   95.83%   64.65%   -31.19%
===========================================
  Files          78       78
  Lines        2713     2713
  Branches      702      702
===========================================
- Hits         2600     1754      -846
- Misses         98      764      +666
- Partials       15      195      +180

Flag
Coverage Δ

#e2e
100% <ø> (ø)
:arrow_up:

#fixtures
64.65% <ø> (ø)
:arrow_up:

#unit
?

Impacted Files
Coverage Δ

packages/cli/src/options/server.js
0% <0%> (-100%)
:arrow_down:

packages/cli/src/utils/banner.js
0% <0%> (-100%)
:arrow_down:

packages/cli/src/run.js
0% <0%> (-100%)
:arrow_down:

packages/cli/src/commands/start.js
0% <0%> (-100%)
:arrow_down:

packages/cli/src/list.js
0% <0%> (-100%)
:arrow_down:

packages/cli/src/utils/memory.js
0% <0%> (-100%)
:arrow_down:

packages/server/src/listener.js
1.69% <0%> (-98.31%)
:arrow_down:

packages/server/src/middleware/error.js
4.16% <0%> (-95.84%)
:arrow_down:

packages/server/src/middleware/timing.js
4.54% <0%> (-95.46%)
:arrow_down:

packages/server/src/middleware/nuxt.js
5.26% <0%> (-92.11%)
:arrow_down:

... and 37 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 5a46547...e218e67. Read the comment docs.

authors: Atinux codecov-io


text:
I have a doubt. When element-plus and tailwindcss exist in nuxt3 at the same time, the color of the element-plus component will appear in a post-rendering process. I don’t know which step is the problem.

https://github.com/nuxt/nuxt/assets/47276871/8a502cef-7dbd-4dc6-bbd2-5327fde643a4

Here is a code base, hope can help me to see the problem https://github.com/Lucas-lululu/test-code.git

Remove type="primary" from the <el-button> may solve this problem. I guess the color is the primary color in element-plus?

Report content

yes,when I remove the primary, this problem can be removed, but I don’t think this is the fundamental problem, as long as I use tailwindcss, it will appear

when I comment out this plug-in, the button will not flash. I suspect that it is related to the rendering after reaching the client.

authors: Lucas-lululu ocoke

repo: nuxt/nuxt


text:
@ant-design-vue/nuxt deps error

Environment

Reproduction
https://github.com/bobby169/nuxt-app-bug
Describe the bug

Additional context
No response
Logs
No response

@bobby169
I see that you are using pnpm without including a .npmrc file.
You should add a .npmrc file to the root directory with the following content ↓
shamefully-hoist=true
auto-install-peers=true

Finally, run pnpm install again.

@bobby169 I see that you are using pnpm without including a .npmrc file. You should add a .npmrc file to the root directory with the following content ↓
shamefully-hoist=true
auto-install-peers=true

Finally, run pnpm install again.

Thank you very much, solved my problem

@markthree i've added this to my .npmrc and re-run pnpm install, still getting this error related to a dayjs, what else it might be?

@avxkim Please provide the reproducible repository, I'm more than willing to help you take a look.

ui-kit.zip
uploaded my app without node_modules

@avxkim
I found that ant-design-vue-nuxt would get stuck in the case of layer, so I eliminated the layer
demo.zip

@markthree i've started from scratch on a clean nuxt installtiong (without layers) and found out that we also need:
  "devDependencies": {
    "@ant-design-vue/nuxt": "^1.4.1",
    "ant-design-vue": "^4.1.2"
  }

in nuxt.config.ts
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
devtools: { enabled: true },
modules: ["@ant-design-vue/nuxt"],
antd: {
  extractStyle: true,
},
css: ["ant-design-vue/dist/reset.css"],
vite: {
  resolve: {
    alias: {
      "ant-design-vue/dist": "ant-design-vue/dist",
      "ant-design-vue/es": "ant-design-vue/es",
      "ant-design-vue/lib": "ant-design-vue/es",
      "ant-design-vue": "ant-design-vue/es",
    },
  },
},
});

@avxkim
Yes, I think it's a problem with ant-design-vue-nuxt/issues

authors: avxkim bobby169 markthree


text:
Toast Position

Description
I know that we can only position the notification from app.config.ts

export default defineAppConfig({
ui: {
notifications: {
// Show toasts at the top right of the screen
position: 'top-0 bottom-auto'
}
}
})

But it would be nice if we can use a prop inside the notification to position it also.
Additional context
No response

You can do this with :ui.
Example:

You can do this with :ui=. Example: <UNotifications :ui="{ position: 'bottom-14 right-0' }" />

Thanks for that. Unfortunately I am triggering the notification inside the script setup and have the notification component inside app.vue according to instructions.

Yeah, I just moved my  tag into the layouts I use. That way the layout that has a bottom action bar I'm trying to avoid can have it's own positioning.

any progress on this one? i want to display toast position dynamically from script.

This will be partially done in #1289 but on the global component with a position prop. You won't be able to choose a different position per toast.

Closing this as there are no plan to dynamically change the position of toasts in both v2 and v3. This is not supported by either Headless UI nor Radix Vue.

authors: anthonyfranc benjamincanac dietler mrBicool

repo: nuxt/ui


text:
feat(cli): add locale command

🔗 Linked issue

Resolves https://github.com/nuxt/ui/issues/2585
❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality)
[x] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

The CLI operation has been changed. Made a unified interface for creating components and locales. New make commands can be easily added in the future
New API:
nuxt-ui make component ...
nuxt-ui make locale ...

📝 Checklist

[x] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Nice idea 😊

authors: benjamincanac hywax


text:
TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/51317


text:
Workflow Test Issue

This is a test to see if the project workflow works.

Success!

repo: nv-morpheus/Morpheus


text:
Altering history in fish is unexpectedly interactive

$ git statsu
git: 'statsu' is not a git command. See 'git --help'.

Did you mean this?
	status
$ fuck
git status
On branch trunk
Your branch is up-to-date with 'apache/trunk'.
nothing to commit, working tree clean
[1] git statsu
[2] history delete --exact --case-sensitive git statsu

Enter nothing to cancel the delete, or
Enter one or more of the entry IDs separated by a space, or
Enter "all" to delete all the matching entries.

Delete which entries? >

I've just run into this recently.  Very strange.

Thanks for reporting the issue. We're already looking for ways to fix it.

Looks specific to 2.4.0, I downgraded fish to 2.3.1 and the behaviour is as expected.

@liuml07 and @onewheelskyward would you be willing to try and confirm if #578 fixes this issue for you? This may include installing from master of altering the fuck function by hand.
Thanks!

I tested and it works as a charm.  Thanks!

authors: liuml07 onewheelskyward scorphus

repo: nvbn/thefuck

license: mit

license_source: bigquery


text:
🛑 NVIDIA AI Enterprise Hub is down

In d5fb8b3, NVIDIA AI Enterprise Hub (https://nvaie.lab.novaglobal.com.sg) was down:

HTTP code: 0
Response time: 0 ms

Resolved: NVIDIA AI Enterprise Hub is back up in 90598bc.

repo: nvgsg/lab-upptime


text:
🛑 PufferAI HPC Portal is down

In c78da4c, PufferAI HPC Portal (https://hpc.lab.novaglobal.com.sg) was down:

HTTP code: 0
Response time: 0 ms

Resolved: PufferAI HPC Portal is back up in 906fb1a.


text:
🛑 NVIDIA AI Enterprise Hub is down

In 1387e45, NVIDIA AI Enterprise Hub (https://nvaie.lab.novaglobal.com.sg) was down:

HTTP code: 0
Response time: 0 ms

Resolved: NVIDIA AI Enterprise Hub is back up in fd53b5a.


text:
🛑 Kubeflow ML Platform is down

In 2ca67f4, Kubeflow ML Platform (https://kubeflow.lab.novaglobal.com.sg) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Kubeflow ML Platform is back up in 429494b.


text:
Highlight current argument in signature help

Is your feature request related to a problem? Please describe.
I'm always frustrated when the signature help doesn't show which argument that I'm typing and it is difficult to count the number of commas to figure it out.
Describe the solution you'd like
In the signature help that pops up, as I type in the arguments, it should highlight the argument I'm currently typing. My intuition is that this should be based on the number of commas already typed. But some corner cases can occur such as the arguments themselves having commas. Eg - Passing a list as an argument in Python.
Describe alternatives you've considered
I previously used Deoplete with echodoc which provides this feature. Also VSCode too provides this feature. I think that this would be a great addition to this already super awesome plugin.
This is an example of the feature in VSCode:

Hmm the thing is completion-nvim doesn't actually handles signature_help. It just triggers it when it's available. So although I have to admit that it seems to be a nice enhancement, it's kind of out of the scope of this plugin. I'll try look into it when I have time but probably this won't be built into this plugins.

repo: nvim-lua/completion-nvim


text:
add status constants

Hi, I am developing an adapter to integrate neotest with hardhat. I have a code like these
M.STATUS = {
    passed = "passed",
    skiped = "skipped",
    failed = "failed",
}

And I found that neotest-go adapter here has a code like these
local test_statuses = {
   -- ...
  pass = "passed", -- the test passed
  fail = "failed", -- the test or benchmark failed
  skip = "skipped", -- the test was skipped or the package contained no tests
}

I think that probably other adapters use similar declarations to set the status field of a neotest.Result Maybe these constants could be defined in neotest, that way all plugins could use it and we avoid code duplication, maybe a module like neotest.lib.constants would be cool.
I personally use these other constants too when computing command field of the neotest.RunSpec.
NODE_TYPES = {
    dir = "dir",
    file = "file",
    namespace = "namespace",
    test = "test",
}

I've added enums for both to neotest.types :smile:

Nice work, chears :smile:

authors: TheSnakeWitcher rcarriga

repo: nvim-neotest/neotest


text:
curl: (22) The requested URL returned error: 404

Operating system and version:
nvm debug output:

$ nvm debug                                                                                [16:54:23]
nvm --version: v0.39.3
$TERM_PROGRAM: iTerm.app
$SHELL: /bin/zsh
$SHLVL: 1
whoami: 'huckleberry.carignan'
${HOME}: /Users/huckleberry.carignan
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: /opt/homebrew/opt/jpeg/bin:/opt/homebrew/opt/jpeg/bin:/opt/homebrew/opt/jpeg/bin:${HOME}/.sdkman/candidates/maven/current/bin:${HOME}/.sdkman/candidates/java/current/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/opt/homebrew/bin:/opt/homebrew/bin:/opt/homebrew/bin/:/Users/mac/.npm-global/lib/node_modules/typescript/bin/tsc:${HOME}/.local/bin
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'zsh 5.8.1 (x86_64-apple-darwin22.0)'
uname -a: 'Darwin 22.1.0 Darwin Kernel Version 22.1.0: Sun Oct 9 20:15:09 PDT 2022; root:xnu-8792.41.9~2/RELEASE_ARM64_T6000 arm64'
checksum binary: 'sha256sum'
OS version: macOS 13.0.1 22A400
awk: /usr/bin/awk, awk version 20200816
curl: /usr/bin/curl, curl 7.84.0 (x86_64-apple-darwin22.0) libcurl/7.84.0 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.47.0
wget: not found
sed: /usr/bin/sed
cut: /usr/bin/cut
basename: /usr/bin/basename
rm: /bin/rm
mkdir: /bin/mkdir
xargs: /usr/bin/xargs
git: /opt/homebrew/bin/git, git version 2.39.1
ls: grep:: No such file or directory
grep: grep: aliased to grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox} (grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}), grep (BSD grep, GNU compatible) 2.6.0-FreeBSD
nvm current: system
which node: /usr/local/bin/node
which iojs: iojs not found
which npm: /usr/local/bin/npm
npm config get prefix: /usr/local
npm root -g: /usr/local/lib/node_modules
FAIL

nvm ls output:

$ nvm ls                                                                                [16:54:31]

->       system
iojs -> N/A (default)
node -> stable (-> N/A) (default)
unstable -> N/A (default)
lts/* -> lts/hydrogen (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.2 (-> N/A)
lts/gallium -> v16.19.0 (-> N/A)
lts/hydrogen -> v18.14.0 (-> N/A)

How did you install nvm?

What steps did you perform?
$nvm i 14
What happened?
$ nvm i 14                                                                                [16:52:12]
Downloading and installing node v14.21.2...
Downloading https://nodejs.org/dist/v14.21.2/node-v14.21.2-darwin-arm64.tar.xz...
curl: (22) The requested URL returned error: 404

Binary download from https://nodejs.org/dist/v14.21.2/node-v14.21.2-darwin-arm64.tar.xz failed, trying source.
grep: /Users/huckleberry.carignan/.nvm/.cache/bin/node-v14.21.2-darwin-arm64/node-v14.21.2-darwin-arm64.tar.xz: No such file or directory
Provided file to checksum does not exist.
Binary download failed, trying source.
Clang v3.5+ detected! CC or CXX not specified, will use Clang as C/C++ compiler!
Local cache found: ${NVM_DIR}/.cache/src/node-v14.21.2/node-v14.21.2.tar.xz
Checksums match! Using existing downloaded archive ${NVM_DIR}/.cache/src/node-v14.21.2/node-v14.21.2.tar.xz
$>./configure --prefix=/Users/huckleberry.carignan/.nvm/versions/node/v14.21.2 <
Node.js configure: Found Python 3.9.6...
INFO: configure completed successfully
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C out BUILDTYPE=Release V=0
  touch /Users/huckleberryy.carignan/.nvm/.cache/src/node-v14.21.2/files/out/Release/obj.target/node_dtrace_header.stamp
  touch /Users/huckleberry.carignan/.nvm/.cache/src/node-v14.21.2/files/out/Release/obj.target/specialize_node_d.stamp
  c++ -o /Users/huckleberry.carignan/.nvm/.cache/src/node-v14.21.2/files/out/Release/obj.target/icuucx/deps/icu-small/source/common/uniset.o ../deps/icu-small/source/common/uniset.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_COMMON_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-D_CRT_SECURE_NO_DEPRECATE=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/common  -O3 -gdwarf-2 -mmacosx-version-min=10.13 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-exceptions -fno-strict-aliasing -MMD -MF /Users/huckleberry.carignan/.nvm/.cache/src/node-v14.21.2/files/out/Release/.deps//Users/huckleberry.carignan/.nvm/.cache/src/node-v14.21.2/files/out/Release/obj.target/icuucx/deps/icu-small/source/common/uniset.o.d.raw   -c

and then it repeats forever......

What did you expect to happen?
the node version 14's to be installed
Is there anything in any of your profile files that modifies the PATH?

If you are having installation issues, or getting "N/A", what does curl -I --compressed -v https://nodejs.org/dist/ print out?

Is this an M1 or M2 Mac? node doesn't support those before v16, so you'll need to use a Rosetta shell.

M1 Mac.   I noticed I can
nvm install 12
and
nvm install 13
and
nvm install 15

That is interesting - altho the latest version of node 14 i think does support M1, so maybe that's the difference. What happens if you try nvm install 14.0?

That is interesting - altho the latest version of node 14 i think does support M1, so maybe that's the difference. What happens if you try nvm install 14.0?

I had same issues but this worked! Thanks 👍

aha, ok - presumably there's a specific node 14 version where it will stop working for you. It'd be really helpful if you could binary search and figure out which one :-) it may be a bug in node itself.

If you use oh-my-zsh, try disabling the alias plugins, for me, I had to disable git for some reason. I spent some time looking at the code, but haven't yet found the culprit alias.

If you use oh-my-zsh, try disabling some of the aliases enabled via plugins.
For me, I had to disable git for some reason. I spent some time looking at the code, but haven't yet found the culprit alias.
There could be more reasons, there are tons of aliases that cause issues with NVM.

I never would have guess that!! But that worked for me too!!!!

I have the same problem. Solve installing the version 14.15.0
nvm install 14.15.0

That is interesting - altho the latest version of node 14 i think does support M1, so maybe that's the difference. What happens if you try nvm install 14.0?

it notifies that not found drawin-arm64. So I wanted to see node download cdn. well, its really not. but why search drawin-arm64` name.

What's the full URL that's not found?

authors: Ariv756 Huckleberry-Carignan alexanderpina cascadingstyletrees kcirtapfromspace ljharb senkorl

repo: nvm-sh/nvm


text:
[new] nvm install lts

nvm install lts will now install the latest lts release

Script Ansible installing NVM and Node LTS.

- name: 'Git clone do NVM v0.34.0'
  git:
    repo: https://github.com/nvm-sh/nvm.git
    dest: ~/.nvm
    version: v0.34.0

- name: Exporta NVM_DIR
  shell: "{{ item }}"
  with_items:
    - echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.bashrc
    - echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> ~/.bashrc
    - echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"' >> ~/.bashrc
    - echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.profile
    - echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> ~/.profile
    - echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"' >> ~/.profile

    - name: Install node 8 LTS
      shell: "source  ~/.nvm/nvm.sh && nvm install --lts"
      args:
        executable: /bin/bash

authors: MylesBorins plsergio


text:
🛑 Harmony Bot Website is down

In 96e857a, Harmony Bot Website ($HARMONY_WEB) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harmony Bot Website is back up in a252691.

repo: nxvvvv/uptime


text:
mina master branch build broken - marlin/blake2

The mina repo's master branch won't build because marlin submodule won't build.  This is because we depend on an old version of the blake2 library (version 0.7) that has now been removed from the crate registry due to security issues.
This was already fixed for the proof-systems/marlin repo, but the mina repo's master banch's submodule references an older version without this fix.
We need to update this older version of marlin/proof-systems to use a newer blake2 version (i.e. 0.9.1 is latest).

Related to https://github.com/MinaProtocol/mina/issues/9363


text:
Update readme and check project against 23.10

First take on an unified readme format used accross every O3DE samples (and checked that the project still runs correctly on the release of 23.10.3)
The goal being to make the samples more accessible to the users. Both by updating the project's readme, adding a version check and linking them in O3DE showcase and doc pages. Task tracked via this issue : https://github.com/o3de/o3de.org/issues/2549

Change is visible here : https://github.com/guillaume-haerinck/buongiorno-sample/tree/unified_readme


text:
pedro want's to talk

Oussama, check #jesse channel pedro wants to talk to you

for the last 20mins...

authors: insanoid jaysonsantos


text:
Not a valid error URL prompts in console upon downloading despite being a valid URL.

Describe the bug
Not a valid error URL prompts in console upon downloading despite being a valid URL. I've used MediaDownloader before hand and it has downloaded the same domains/links (tiktok/youtube/etc).
To Reproduce
Steps to reproduce the behavior:

Go to MediaDownloader
Download a video from Youtube.
See error in console.

Expected behavior
The video to download.
Screenshots

My apologies. Looks like it was fixed in the latest release that was released while I was typing this. Sorry for the bother!

Actually that bug is not the one I fixed. Unsure on what is causing that, the bug fix I just released was for something else.

Did you accidently put a space before the URL?

Putting a space before the URL as well as after still continues as normal. I downloaded the new version, removed the "mediadownloader" folder and replaced it with the new "mediadownloader" folder. Intitially, I would just drag and drop the files within the "mediadownloader" folder in the .zip into my "mediadownloader" folder and it would replace the ones in the intitial folder. I solved this by deleting the "mediadownloader" folder and completely extracting the .zip. I assume there were either missing or corrupted files within the folder.

Yeah, ensure you always use the latest mediadownloader folder when you download a new version.

Yeah, ensure you always use the latest mediadownloader folder when you download a new version.

Actually. Looks like I need to reopen this bug report. I did some further testing. I replaced everything via extracting the .zip, downloaded, and re-downloaded using the same link. Downloading another video generated the same bug as reported above. This bug can be fixed by extracting the .zip completely, but will continue to generate the same error once you decide to download another video.

Strange. I have never seen this error. I will look into it tomorrow.

It works when I try that URL. Could you send a picture of what you are using for settings in MediaDownloader?

Had it no other settings set other than the format on what the output video is. When trying it on another computer, I can download other videos successfully. I'll investigate further when I get home. It appears to be an issue with my computer. I noticed the \x7f unicode in the error in the initial screenshot. Bit odd.

It may be related to Windows 11. I have not fully tested it on that version.

Try this as a check:

Attempt to download the URL that was not working
Do not close MediaDownloader, instead, after it fails to download, upload md.bat that is inside the mediadownloader folder, it should be pretty easy to diagnose the issue with that file

Alright, so I looked into the md.bat file and I saw the unicode as mentioned before. I did some further testing and could produce a consistent result that would result in the unicode showing in the URL box. I somehow did not see this last night.
I produced this consistent result by doing ctrl + a then backspace in a millisecond timeframe. As far as I'm aware, this keyboard combination would not insert that unicode in specific.
https://user-images.githubusercontent.com/107429396/217725192-91e205e1-e33a-41c7-bc2e-71a749981b80.mp4

Yeah that delete character is a weird thing I've noticed, it's a Windows thing and has nothing to do with MediaDownloader. Also you are naming the video "-". I don't think that's a problem but I would just leave it blank or give it a name. Does the download work after removing the weird character?

Tomorrow if I remember I'll roll out an update that checks to see if that character exists and removes it.

When changing the output file name, it does not affect anything.
Yes, after removing the unicode, the program continues as normal but will still generate that same unicode.

I was able to recreate the error. Working on the fix now.

The character is created when you do CTRL + Backspace.

The character is created when you do CTRL + Backspace.

Just looked up this key combination and looks like it was previously present in other applications like Notepad.

I released the new version containing the fix.

I released the new version containing the fix. https://github.com/o7q/MediaDownloader/releases/tag/v3.8.5.0

Fix works as intended. Thank you.


text:
Please add to documentation the ovirt supported version

AFAIU this role support only ovirt versions  >= 4.3
Could you please add it in the documentation to make it clear.

@arachmani , @eslutsky can you please review?

Since we moved to https://github.com/ovirt/ovirt-ansible-collection it is not needed

authors: kobihk sandrobonazzola

repo: oVirt/ovirt-ansible-hosted-engine-setup


text:
make WAN SPICE related properties configurable

wan color depth
wan disable effects

currently, they are configured in the engine in vdc_options (WANDisableEffects and WANColorDepth) and the fact if those will be exposed or not is questionable. Thus, setting as blocked for now.
We may consider to add this to ovirt-web-ui specific config file.

vdc_options are already exposed in oVirt REST API, removing blocked

that's a gap from teh old UP, isn't it?

It doesn't seem like being exposed on webadmin as well and since no user complained about this missing configuration for more than 3 years then closing as WONTFIX.

authors: jelkosz mareklibra michalskrivanek sgratch

repo: oVirt/ovirt-web-ui


text:
[VL] Optimize ensureFlattened

Use upstream facebook::velox::BaseVector::flattenVector to avoid unnecessary copy.

/Benchmark Velox

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_4415_time.csv
log/native_master_01_15_2024_8fb2c35d5_time.csv
difference
percentage

q1
32.59
34.48
1.884
105.78%

q2
24.51
24.98
0.462
101.88%

q3
36.88
38.86
1.987
105.39%

q4
36.94
37.85
0.907
102.45%

q5
70.26
70.70
0.436
100.62%

q6
7.63
5.78
-1.858
75.67%

q7
82.70
85.94
3.245
103.92%

q8
83.61
84.86
1.254
101.50%

q9
121.72
123.88
2.156
101.77%

q10
44.77
46.04
1.269
102.83%

q11
19.94
20.63
0.689
103.46%

q12
23.64
25.93
2.288
109.68%

q13
47.92
46.63
-1.292
97.30%

q14
20.36
23.32
2.959
114.53%

q15
27.63
31.44
3.811
113.79%

q16
14.14
14.88
0.736
105.21%

q17
96.95
100.72
3.771
103.89%

q18
147.46
147.03
-0.428
99.71%

q19
13.46
13.73
0.271
102.01%

q20
31.07
27.44
-3.633
88.31%

q21
224.40
227.79
3.397
101.51%

q22
14.51
13.83
-0.676
95.34%

total
1223.09
1246.73
23.634
101.93%

One Spark AQE UT failed, because w/o copy, facebook::velox::RowVector::estimateFlatSize can produce larger data size than the actual uncompressed data size as it calculated the acutal underly buffer size. In the failed test case, the number of rows of RowVector is 6, but the underlying buffer lengths are 4096. https://github.com/oap-project/gluten/pull/4428 will address this by using "uncompressed size" as the "dataSize" metrics.

/Benchmark Velox

One Spark AQE UT failed, because w/o copy, facebook::velox::RowVector::estimateFlatSize can produce larger data size than the actual uncompressed data size as it calculated the acutal underly buffer size. In the failed test case, the number of rows of RowVector is 6, but the underlying buffer lengths are 4096. #4428 will address this by using "uncompressed size" as the "dataSize" metrics.

One question here: origin dataSize is split call returned value, which is estimateFlatSize. splitResult.getRawPartitionLengths is arrow buffer size, correct me if wrong.
So, estimateFlatSize is not accurate, arrow buffer size is accurate?
We have observed some query shows the uncompressed size is much smaller than data size, such as 58G(uncompressed size) vs 3.1T(data size).

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_4415_time.csv
log/native_master_01_17_2024_6e070aee2_time.csv
difference
percentage

q1
34.95
32.53
-2.415
93.09%

q2
23.92
25.15
1.225
105.12%

q3
36.80
35.63
-1.172
96.82%

q4
37.47
39.47
1.998
105.33%

q5
68.41
69.91
1.500
102.19%

q6
8.53
7.16
-1.364
84.01%

q7
81.31
83.43
2.112
102.60%

q8
83.39
86.98
3.589
104.30%

q9
122.14
125.57
3.431
102.81%

q10
44.22
42.09
-2.129
95.19%

q11
20.47
20.23
-0.239
98.83%

q12
25.58
27.47
1.889
107.39%

q13
45.55
44.85
-0.706
98.45%

q14
16.61
17.86
1.245
107.50%

q15
26.56
29.77
3.205
112.06%

q16
13.86
13.95
0.094
100.68%

q17
101.13
100.92
-0.210
99.79%

q18
147.06
146.37
-0.694
99.53%

q19
12.62
13.91
1.293
110.24%

q20
26.90
26.50
-0.392
98.54%

q21
223.63
226.25
2.625
101.17%

q22
14.73
13.71
-1.022
93.06%

total
1215.85
1229.72
13.863
101.14%

One question here: origin dataSize is split call returned value, which is estimateFlatSize. splitResult.getRawPartitionLengths is arrow buffer size, correct me if wrong. So, estimateFlatSize is not accurate, arrow buffer size is accurate?

@Yohahaha The "dataSize" metric in Vanilla Spark refers to the uncompressed size of the InternalRow. As it's used in the AQE "LocalShuffleReader" optimization, my understanding is that they consider this value as the raw uncompressed output data size. On the other hand, the size of the RowVector can be considered as the input size for the shuffle. The uncompressed Arrow buffers align more closely with the concept of the raw uncompressed size in this context.

We have observed some query shows the uncompressed size is much smaller than data size, such as 58G(uncompressed size) vs 3.1T(data size).

This seems to exceed normal expectations. Could you provide some more detailed workload data? For example, data size, data schema, shuffle partitions, etc.

Vanilla Spark update dataSize by UnsafeRow::getSizeInBytes https://github.com/apache/spark/blob/38fc127a232ed4005e6436cdef4c5a1f1bba95f7/sql/core/src/main/scala/org/apache/spark/sql/execution/UnsafeRowSerializer.scala#L63-L71 and use shuffle bytes written as compressed size.

On the other hand, the size of the RowVector can be considered as the input size for the shuffle.

So you think estimateFlatSize is not the real uncompressed size? From my understanding, shuffle input size is same as uncompressed size, Vanilla Spark use dataSize as QueryStageExec's runtimeStatistics instead of shuffle bytes written.
What I want confirmed is whether arrow buffers really reflect real uncompressed size? is any reuse logic for arrow buffers?

We have observed some query shows the uncompressed size is much smaller than data size, such as 58G(uncompressed size) vs 3.1T(data size).

This seems to exceed normal expectations. Could you provide some more detailed workload data? For example, data size, data schema, shuffle partitions, etc.

any query before #4428 can reproduce, above result is from TPCDS 10T with 8000 partitions.

So you think estimateFlatSize is not the real uncompressed size?

Yes. And it's true. This PR has one failed UT w/o #4428, that the RowVector length is 6, but the underlying buffer lengths are 4096. esitmateFlatSize counts all buffer size. Before this patch, the RowVector is flattened by copying, and the copied buffers are of length 6. After this patch, the copy is removed so the esitmateFlatSize is much larger than before. It's more likely that this value represents the memory usage, but it cannot represent the "uncompressed size".

What I want confirmed is whether arrow buffers really reflect real uncompressed size? is any reuse logic for arrow buffers?

The reuse logic has nothing to do with the buffer size computing. We accumulate the total raw arrow buffer size each time before the buffers is destroyed or reused.
I would think the case you provided is reasonable, because Velox buffer size can be larger than arrow buffers. One known case is that in Velox, any string <= 12 characters will use 12 bytes, while arrow stores real length. But 58G(uncompressed size) vs 3.1T(data size) is very abnormal and needs further investigation. Could you reproduce this case and compare the data size with Vanilla spark? What's the compressed data size (shuffle bytes written)?

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_4415_time.csv
log/native_master_01_17_2024_6e070aee2_time.csv
difference
percentage

q1
34.21
32.53
-1.678
95.10%

q2
23.66
25.15
1.490
106.30%

q3
37.80
35.63
-2.166
94.27%

q4
37.79
39.47
1.681
104.45%

q5
66.38
69.91
3.535
105.33%

q6
7.08
7.16
0.080
101.13%

q7
80.27
83.43
3.155
103.93%

q8
83.96
86.98
3.015
103.59%

q9
121.36
125.57
4.205
103.47%

q10
42.61
42.09
-0.522
98.77%

q11
20.33
20.23
-0.102
99.50%

q12
29.73
27.47
-2.260
92.40%

q13
46.02
44.85
-1.172
97.45%

q14
14.94
17.86
2.919
119.54%

q15
27.73
29.77
2.035
107.34%

q16
14.50
13.95
-0.543
96.25%

q17
99.12
100.92
1.807
101.82%

q18
143.32
146.37
3.044
102.12%

q19
13.68
13.91
0.232
101.69%

q20
25.98
26.50
0.528
102.03%

q21
222.20
226.25
4.058
101.83%

q22
14.70
13.71
-0.988
93.28%

total
1207.36
1229.72
22.353
101.85%

I rerun a new case of TPCDS sf100 q99.

Vanilla
Gluten

you can see Gluten's dataSize is smaller than shuffle bytes written, is this expected?

I rerun a new case of TPCDS sf100 q99.
Vanilla	Gluten

you can see Gluten's dataSize is smaller than shuffle bytes written, is this expected?

@Yohahaha Yes. The "dataSize" is the original "uncompressed size". If the data after compression is larger than it's uncompressed size, then we directly write the original uncompressed data, but with a few metadata added. Therefore the "shuffle bytes written" can be greater than the "dataSize" in some cases.

you can see Gluten's dataSize is smaller than shuffle bytes written, is this expected?

@Yohahaha Yes. The "dataSize" is the original "uncompressed size". If the data after compression is larger than it's uncompressed size, then we directly write the original uncompressed data, but with a few metadata added. Therefore the "shuffle bytes written" can be greater than the "dataSize" in some cases.

got it, thank you! but still make no sense for me, will keep tracking this issue.

@Yohahaha Thanks. Let's discuss in https://github.com/oap-project/gluten/issues/4576 if you have more inputs.

authors: GlutenPerfBot Yohahaha marin-ma

repo: oap-project/gluten


text:
[OPPRO-167] Add metrics to sort operator

What changes were proposed in this pull request?
This PR added metrics to sort operator.
How was this patch tested?
under test

Thanks for your review!


text:
[Optimization] Use ccl::all2all to simulate gather

Problem: Currently we used ccl::allgather as Gather. The network bandwidth is wasted due to unnecessary transfer to worker ranks.
Solution: Implement gather using ccl::all2all to avoid unnecessary data transfer, only transfer data to root rank.

It is fixed in NaiveBayes #55. Need to fix other algos.

#135

repo: oap-project/oap-mllib


text:
Fix: update pointer code

Fix bug and opt code.

Codecov Report
Base: 44.06% // Head: 42.09% // Decreases project coverage by -1.96% :warning:

Coverage data is based on head (85023bd) compared to base (8da10c5).
Patch coverage: 25.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           dev/0.9    #1121      +/-   ##
===========================================
- Coverage    44.06%   42.09%   -1.97%
===========================================
  Files          342      342
  Lines        17950    17952       +2
  Branches      2485     2487       +2
===========================================
- Hits          7909     7557     -352
- Misses        9387     9789     +402
+ Partials       654      606      -48

Impacted Files
Coverage Δ

packages/core/src/input/InputManager.ts
39.24% <ø> (-6.33%)
:arrow_down:

packages/core/src/input/pointer/PointerManager.ts
23.15% <25.00%> (-5.21%)
:arrow_down:

...ckages/core/src/shadow/CascadedShadowCasterPass.ts
18.55% <0.00%> (-29.39%)
:arrow_down:

packages/core/src/RenderPipeline/RenderContext.ts
71.42% <0.00%> (-28.58%)
:arrow_down:

...ges/core/src/RenderPipeline/BasicRenderPipeline.ts
23.61% <0.00%> (-26.39%)
:arrow_down:

packages/core/src/Camera.ts
33.67% <0.00%> (-21.94%)
:arrow_down:

packages/rhi-webgl/src/WebGLRenderer.ts
47.58% <0.00%> (-20.00%)
:arrow_down:

packages/core/src/SceneManager.ts
41.37% <0.00%> (-17.25%)
:arrow_down:

...ackages/core/src/input/keyboard/KeyboardManager.ts
34.72% <0.00%> (-13.89%)
:arrow_down:

packages/core/src/Engine.ts
68.80% <0.00%> (-13.77%)
:arrow_down:

... and 31 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

authors: codecov-commenter cptbtptpbcptdtptp

repo: oasis-engine/engine


text:
Implements eh_frame, eh_frame_hdr_size and eh_frame_size for syscall 608

Part of #265.

"Will Syscall 608 ever finish being implemented? Find out on the next pull request of Obliteration Z!"

Glad you got the humor, Ultima~!

And don't act like I don't notice that Panic hook :P
...Finally-

Sorry I don't understand what you said.

Sorry I don't understand what you said.

I'm saying to run cargo clippy --fix --allow-dirty
Because Clippy seems to have some fixes sometimes... Especially when you edit the logging system.

And don't act like I don't notice that Panic hook :P

I mean this one.

Ah, just proud we finally have a Panic hook again, seeing as Simplelog well, kinda died lol. We just continued off our own logging system which means we never got that panic hook.

authors: VocalFan ultimaweapon

repo: obhq/obliteration


text:
Add script to relabel terms

From the docs (requires you to first make obi-dbs)
Relabeling Terms
Since labels are used in templates, manually finding and replacing all usages of a term can be difficult and tedious. Instead, you can use src/scripts/relabel.py to automatically update a term's label and its usages.
You can run this by passing the term you want to update and the new label:
src/scripts/relabel.py CHMO:0000087 "microscopy with fluorescence"

You can also pass the old label as the first argument, as long as it is enclosed in double quotes:
src/scripts/relabel.py "fluorescence microscopy" "microscopy with fluorescence"

Make sure to commit all changed files to ensure that all usages are updated.

This may not work perfectly, but actually using it is the best way to find problems.

authors: beckyjackson jamesaoverton

repo: obi-ontology/obi


text:
Make it possible for query result iterators to be Send

Right now, none of our code or tests check whether the result iterator will be Send, and I believe it is currently not Send. Making it Send would make it easier to use lazy evaluation of queries in a work-stealing parallel context, like with tokio's default settings.
Making it Send won't be free since some Rc may need to become Arc. It will also require that the value of the Adapter::Vertex associated type is also Send.
We need:

[x] internal implementation changes to make Send possible
[ ] documentation on how to adjust your adapter to produce Send result iterators
[ ] tests that ensure that following all the steps properly results in a Send iterator type

I believe we've completed the work needed to make Send possible.


text:
site is not published

Let's publish Maven site, similar to how it works for https://www.objectionary.com/jeo-maven-plugin/
See https://github.com/objectionary/jeo-maven-plugin/pull/358

@yegor256 the puzzle #47 is still not solved.

@yegor256 the only puzzle #47 is solved here.

repo: objectionary/ineo-maven-plugin


text:
ThreadDbSessionProvider#getDbSession: Add missing space in exception …

…message.

Every space is counted!
Thank you!

authors: PascalSchumacher igr

repo: oblac/jodd


text:
UseNativeDriver is now a required prop for Animated

See the React dev blog. Currently this is an annoying warning but might actually break something in the future
https://reactnative.dev/blog/2017/02/14/using-native-driver-for-animated
repro steps:

Use the component in debug mode
Observe annoying warnings

Looks like there's an underlying issue which needs fixing first:
https://github.com/react-native-community/react-native-modal/issues/163

This is what worked for me.
`
import React, { useEffect, useRef } from "react";
import {  Animated, StyleSheet, View, } from 'react-native'
const Ball = (props)=>{
const position = useRef(new Animated.ValueXY(0, 0)).current;
useEffect(() => {
Animated.spring(position, {
toValue: { x: 200, y: 500},
friction: 1,
useNativeDriver: true,
}).start();
}, []);
return (
    <Animated.View style={{  transform: position.getTranslateTransform()  }}>
        <View style={styles.ball}/>
    </Animated.View>
)

}
const styles = StyleSheet.create({
ball: {
height: 60,
width: 60,
borderRadius: 30,
borderWidth: 30,
backgroundColor: '#3a78cf',
color: 'blue',
},
});
export default Ball
`

This is what worked for me.
`
import React, { useEffect, useRef } from "react";
import {  Animated, StyleSheet, View, } from 'react-native'
const Ball = (props)=>{
const position = useRef(new Animated.ValueXY(0, 0)).current;
useEffect(() => {
Animated.spring(position, {
toValue: { x: 200, y: 500},
friction: 1,
useNativeDriver: true,
}).start();
}, []);
return (
    <Animated.View style={{  transform: position.getTranslateTransform()  }}>
        <View style={styles.ball}/>
    </Animated.View>
)

}
const styles = StyleSheet.create({
ball: {
height: 60,
width: 60,
borderRadius: 30,
borderWidth: 30,
backgroundColor: '#3a78cf',
color: 'blue',
},
});
export default Ball
`

To hide this warning
import {LogBox} from 'react-native';

LogBox.ignoreLogs(['Animated.event now requires a second argument for options']);

Context:
By default there is used {nativeDriver: false} so our code will work.
There is patch in neact-native-gifted-chat that was described in.
https://github.com/FaridSafi/react-native-gifted-chat/issues/2124
https://github.com/FaridSafi/react-native-gifted-chat/issues/1924
There is patch for this lib
https://github.com/FaridSafi/react-native-gifted-chat/issues/1825#issuecomment-718463680

repo: oblador/react-native-lightbox


text:
yarn highlight.js --> highlight.ts results in undeclared dependency error

Attempting to use the create script with yarn as package manager, via either npm or yarn, appears to attempt to convert highlight.js imports into hightlight.ts, which is not a valid dependency
yarn create highlight.ts undeclared
❯ yarn create @observablehq
➤ YN0000: · Yarn 4.1.0
➤ YN0000: ┌ Resolution step
➤ YN0085: │ + @observablehq/create@npm:1.0.0, @clack/core@npm:0.3.4, @clack/prompts@npm:0.7.0, @esbuild/aix-ppc64@npm:0.19.12, @esbuild/android-arm64@npm:0.18.20, @esbuild/android-arm64@npm:0.19.12, @esbuild/android-arm@npm:0.18.20, @esbuild/android-arm@npm:0.19.12, and 306 more.
➤ YN0000: └ Completed in 1s 145ms
➤ YN0000: ┌ Fetch step
➤ YN0013: │ 259 packages were added to the project (+ 48.9 MiB).
➤ YN0000: └ Completed
➤ YN0000: ┌ Link step
➤ YN0000: │ ESM support for PnP uses the experimental loader API and is therefore experimental
➤ YN0007: │ esbuild@npm:0.19.12 must be built because it never has been before or the last one failed
➤ YN0007: │ esbuild@npm:0.18.20 must be built because it never has been before or the last one failed
➤ YN0000: └ Completed in 0s 818ms
➤ YN0000: · Done with warnings in 2s 116ms

/private/var/folders/zx/66kfpxbj16n3blcbnn1kys9h0000gp/T/xfs-d1e4cfdd/dlx-1436/.pnp.cjs:8518
  return Object.defineProperties(new Error(message), {
                                 ^
Error: @observablehq/framework tried to access highlight.ts, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.

Required package: highlight.ts (via "highlight.ts/package.json")
Required by: @observablehq/framework@npm:1.0.0 (via /private/var/folders/zx/66kfpxbj16n3blcbnn1kys9h0000gp/T/xfs-d1e4cfdd/dlx-1436/.yarn/cache/@observablehq-framework-npm-1.0.0-36b9b0de75-c00d2df9a2.zip/node_modules/@observablehq/framework/src/markdown.ts)

    at makeError (/private/var/folders/zx/66kfpxbj16n3blcbnn1kys9h0000gp/T/xfs-d1e4cfdd/dlx-1436/.pnp.cjs:8518:34)
    at resolveToUnqualified (/private/var/folders/zx/66kfpxbj16n3blcbnn1kys9h0000gp/T/xfs-d1e4cfdd/dlx-1436/.pnp.cjs:10166:21)
    at Object.resolveToUnqualified (/private/var/folders/zx/66kfpxbj16n3blcbnn1kys9h0000gp/T/xfs-d1e4cfdd/dlx-1436/.pnp.cjs:10346:26)
    at resolve$1 (file:///private/var/folders/zx/66kfpxbj16n3blcbnn1kys9h0000gp/T/xfs-d1e4cfdd/dlx-1436/.pnp.loader.mjs:1993:31)
    at nextResolve (node:internal/modules/esm/hooks:750:28)
    at l (file:///private/var/folders/zx/66kfpxbj16n3blcbnn1kys9h0000gp/T/xfs-d1e4cfdd/dlx-1436/.yarn/cache/tsx-npm-4.2.1-8e1653b737-7da00dfbbc.zip/node_modules/tsx/dist/esm/index.mjs:13:36)
    at O (file:///private/var/folders/zx/66kfpxbj16n3blcbnn1kys9h0000gp/T/xfs-d1e4cfdd/dlx-1436/.yarn/cache/tsx-npm-4.2.1-8e1653b737-7da00dfbbc.zip/node_modules/tsx/dist/esm/index.mjs:13:1062)
    at nextResolve (node:internal/modules/esm/hooks:750:28)
    at Hooks.resolve (node:internal/modules/esm/hooks:238:30)
    at handleMessage (node:internal/modules/esm/worker:199:24)

For v1.0.0 the error above occurs here
https://github.com/observablehq/framework/blob/6db4a856fb171a4ccfa13ec7b5a2f8d22be8ed53/src/markdown.ts#L6
If we install from main then the same error occurs here
https://github.com/observablehq/framework/blob/1ea7ff1e08e56f77efa3bbe9b5bc99d58f25e06f/src/html.ts#L3
environment
❯ yarn --version
4.1.0
❯ node --version
v21.6.2
❯ npm --version
10.5.0

also tested with
yarn 3.8.0 and 3.7.0

Hmm, I haven’t tried the latest version of yarn. We use Yarn Classic here. I can see if I can reproduce, but this sounds like another tsx problem which we are planning on removing #850.

This may very well be a yarn as opposed to framework issue. Just wanted to report here for ux feedback. Many thanks!

I will close this as presumably outside the scope of framework, but feel free of course to manage as relevant.

I’ve confirmed that Framework doesn’t work with Yarn 4.x (due to tsx incompatibilities, it appears). I’ll test again when #850 is fixed.

I’ve confirmed Yarn Berry works in the latest release 1.1.2. Thanks for the feedback and please let us know if you run into any other issues!

Thank you!

authors: cameronraysmith mbostock

repo: observablehq/framework

license: ISC


text:
feat: Add a 'priority is not' filter option

Description
Add priority is not option.
For example:
priority is not none

The previous way of doing this, NOT (priority is none) was not obvious to users who were unaware of the Boolean logic feature.
Motivation and Context
See the start of #1364.
How has this been tested?

Writing new tests
Downloading a build of the demo vault and exploratory testing

Screenshots (if appropriate)
Types of changes

Changes visible to users:

[x] New feature (prefix: feat - non-breaking change which adds functionality)
[x] Documentation (prefix: docs - improvements to any documentation content)

Checklist

[x] My code follows the code style of this project and passes yarn run lint.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] My change has adequate Unit Test coverage.

Terms

[x] My contribution follow this project's contributing guide
[x] I agree to follow this project's Code of Conduct

Hi @Cito, if you have time, I'd really appreciate your review of the changes, please... No hurry, I'm not planning a release for a few days at least.

One thing that I would change is the regular expression. First, it only allows a single space character as separator between keywords (not two, or a tab). Second, it allows something like notnone because the second whitespace is optional. Third, I would use non-capturing groups for the groups that are not evaluated. So something like this:
/^priority(?:\s+is)?(?:\s+(above|below|not))?\s+(low|none|medium|high)$/

The code must then check the groups 1 and 2 instead of 2 and 3.

One thing that I would change is the regular expression. First, it only allows a single space character as separator between keywords (not two, or a tab). Second, it allows something like notnone because the second whitespace is optional. Third, I would use non-capturing groups for the groups that are not evaluated. So something like this:
/^priority(?:\s+is)?(?:\s+(above|below|not))?\s+(low|none|medium|high)$/

The code must then check the groups 1 and 2 instead of 2 and 3.

Hi, thank you for this @Cito!
How I used it
It took me some time to figure out how to TDD this. I didn't want to just pop it in, in one step, without really understanding it.
What I ended up with
I ended up TDDing each step, and settled for:
/^priority(\s+is)?(\s+(above|below|not))?(\s+(low|none|medium|high))$/;

The differences
I wanted to explain here what I ended up with, how it differs from your suggestion, and why.
Here's a graphical diff view:

The differences are:

I didn't go for non-capturing groups, as I found it much harder/more time-consuming to read the regex, and it made the code too hard to explain in comments
I put a nested capturing group around the low|medium|etc group even though it wasn't strictly necessary, so that it was consistent with the earlier groups, and so that it wouldn't trip up anyone if ever an additional option was added at the end of the line.
(I accidentally didn't quite match up the final /; in the screenshot - ignore that diff)

What next
I discovered that the problem behaviour - allowing notnone - was present with the original code, prior to this PR.
So I'll put these changes in to a different PR, separate from the new feature.

I forgot to say, the code review really helped a lot!! Thanks @cito ❤

Maybe named capturing groups would be a good solution here (naming only those groups that we evaluate). However, I'm not sure whether this is supported by the JavaScript/Electron version that we are using.

That would be really good. At the moment I am modifying one of the main regexes to capture a value that used not to be captured. So updating a lot of match numbers - and it feels very fragile.
I’m sticking with it for now, and keeping my girl-scout time focussed most on improving test coverage.

authors: Cito claremacrae

repo: obsidian-tasks-group/obsidian-tasks


text:
fix: Unable to find section, when title has tag inside (issue #654)

Description
Remove tags from backlink's href and data-href to resolve #654. As discussed in the issue, Obsidian expects links to sections with tags to have # symbols removed, this change fixes rendered task's links.
How has this been tested?
Bug fix tested locally using the Tasks-Demo vault.
Tag added to heading in ACME note and backlink tested for tasks rendered in the Tasks note.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] Refactor (non-breaking change which only improves the design or structure of existing code, and making no changes to its external behaviour)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] My code follows the code style of this project and passes yarn run lint.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] My change has adequate Unit Test coverage.

Thank you very much indeed. I should be able to review this in the next day or two.
I'm interested that you checked the 'adequate test coverage' checkbox. Which tests were you thinking of, @luirsea?

Ah sorry, totally misread that checkbox 😄 I didn't have any tests in mind, but happy to add some if you have any suggestions @claremacrae

Ah sorry, totally misread that checkbox 😄 I didn't have any tests in mind, but happy to add some if you have any suggestions @claremacrae

It’s ok @luirsea, don’t worry. This is in the rendering code which doesn’t have any tests and isn’t going to be easy to test. I just wanted to make sure that I understood.

Thank you @luirsea - this will be included in the next release, likely in the next few days. Many thanks for picking it up.

Thank you @luirsea - this will be included in the next release, likely in the next few days. Many thanks for picking it up.

may be use “replaceAll” other than “replace”?
when has more than one tag，still unable to find section.

Thank you @luirsea - this will be included in the next release, likely in the next few days. Many thanks for picking it up.

may be use “replaceAll” other than “replace”? when has more than one tag，still unable to find section.

Good point. Thank you.
I made a change after this one, so there would only be one line of code to change if the substitution ever changed, so this should be an easy fix.
https://github.com/obsidian-tasks-group/obsidian-tasks/commit/f43b4e4f12428d07e8c8b8beaac8afc5e258463d
A PR would be very welcome.

Description
Remove tags from backlink's href and data-href to resolve #654. As discussed in the issue, Obsidian expects links to sections with tags to have # symbols removed, this change fixes rendered task's links.
How has this been tested?
Bug fix tested locally using the Tasks-Demo vault. Tag added to heading in ACME note and backlink tested for tasks rendered in the Tasks note.
Types of changes

[x]  Bug fix (non-breaking change which fixes an issue)
[ ]  Refactor (non-breaking change which only improves the design or structure of existing code, and making no changes to its external behaviour)
[ ]  New feature (non-breaking change which adds functionality)
[ ]  Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x]  My code follows the code style of this project and passes yarn run lint.
[ ]  My change requires a change to the documentation.
[ ]  I have updated the documentation accordingly.
[ ]  My change has adequate Unit Test coverage.

Thank you @luirsea - this will be included in the next release, likely in the next few days. Many thanks for picking it up.

Thank you @luirsea - this will be included in the next release, likely in the next few days. Many thanks for picking it up.

may be use “replaceAll” other than “replace”? when has more than one tag，still unable to find section.

Good point. Thank you.
I made a change after this one, so there would only be one line of code to change if the substitution ever changed, so this should be an easy fix.
f43b4e4
A PR would be very welcome.

Thanks，please help to fix this. I can't do PR, because not code for a long time.

may be use “replaceAll” other than “replace”? when has more than one tag，still unable to find section.

The issue with headings with more than one tag is now fixed, in the 1.8.2 release, a few minutes ago.

authors: claremacrae cxdongjack luirsea


text:
Test123_4

📦 Modified package

[ ] @oceanbase/design
[ ] @oceanbase/ui
[ ] @oceanbase/icons
[ ] @oceanbase/charts
[ ] @oceanbase/util
[ ] @oceanbase/codemod
[ ] Other (about what?)

🤔 This is a ...

[ ] New feature
[ ] Bug fix
[ ] Site / documentation update
[ ] Demo update
[ ] Component style update
[ ] TypeScript definition update
[ ] Bundle size optimization
[ ] Performance optimization
[ ] Enhancement feature
[ ] Internationalization
[ ] Refactoring
[ ] Code style optimization
[ ] Test Case
[ ] Branch merge
[ ] Workflow
[ ] Other (about what?)

🔗 Related issue link

💡 Background and solution

📝 Changelog

Language
Changelog

🇺🇸 English

🇨🇳 Chinese

☑ Self-Check before Merge
⚠ Please check all items below before requesting a reviewing. ⚠

[ ] Doc is updated/provided or not needed
[ ] Demo is updated/provided or not needed
[ ] TypeScript definition is updated/provided or not needed
[ ] Tests is updated/provided or not needed
[ ] Changelog is provided or not needed

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

repo: oceanbase/oceanbase-design


text:
Wrong nodeUri for Polygon

Change the nodeUri of the Polygon network config inside configHelperNetworks to https://rpc-mainnet.maticvigil.com/

it is not wrong, it's just that we are mixing use cases. The nodeUri is also used internally by ocean.js for all web3 calls, so also on the market. We handle this over there by selectively adding an infura key to the nodeUri, as without it the URL is indeed "wrong".
But think we make use of this already over in https://github.com/oceanprotocol/market/pull/846 but something's not right, or pushing infura URLs does not work with MetaMask, not sure. Regardless, think here in ocean.js we shouldn't change any URLs

Ah, I see, then it's indeed a wrong use case. The original issue got fixed on the market side so I'm closing this.

authors: KatunaNorbert kremalicious


text:
Need add await in CreateExchange() to prevent create FRE flow from auto complete

Steps to reproduce:

Create Fixed Price
Accept first 2 transaction of mint and create
Wait about 5-10 second here without clicking Confirm/Reject on metamask

and u will see success message

Possible Solution:
Need to add await at code below for user to click Confirm/Reject on metamask before showing success.
https://github.com/oceanprotocol/ocean.js/blob/2be0918d8355395a4206396d5b592d6cc2d88eab/src/exchange/FixedRateExchange.ts#L149

Thanks a lot for reporting this @krisliew, I just tested it out and the problem is just like you described. I'll have a look at a possible solution


text:
test: add basic tcp transport integration test

Description
Now that the transport crates are getting some refactors (and more to come), it would be nice to have some integration tests before abstracting the internal transports' logic with new traits, etc.
This PR adds just one test, so we can discuss the testing strategy before adding more. The test checks that a couple of workers can send and receive messages through the tcp transport, which is basically the echoer example with some asserts.
As you will see, the setup to run the test is a bit tricky.
Here are the main challenges I've come across:

proc_macro for nodes. I know having both the node's Executor and the #[tokio::test]'s is wrong, as well as that nasty oneshot channel to get the test result out of the nested runtime. I just don't know how to create a proc_macro for this or if the proc_macro is the way to go. I've seen there are other proc_macro for tests (vault_test)

Running the test with a timeout. The listener/receiver worker must be stopped to finish the test. This worker could hang up for several reasons, including bugs, so I guess it makes sense to run the test with a timeout to force stopping the workers and fail fast

Hardcoded port. Not sure how to handle this. With random ports we will have flaky tests. With hardcoded ports, port-dependent tests should be run sequentially. A third approach would be developing a port_pool, so we just have to ask for a free port and return it back to the pool once the test is finished.

That's all. Any help with this would be awesome.
Related issues

https://github.com/ockam-network/ockam/issues/1575
Also, I remember there was an issue discussing the creation of a new proc_macro for tests, but I couldn't find it. Maybe I'm making that up :laughing:

@jared-s could you share your thoughts about async tests&test macros here?

@adrianbenavides nicely done, thanks for the contribution!

This has been merged as https://github.com/ockam-network/ockam/pull/1859 - Thank you!

authors: SanjoDeundiak adrianbenavides jared-s

repo: ockam-network/ockam


text:
refactor(rust): change WebSocket address type constant from 2 to 3

chore(rust): change WebSocket address type constant from 2 to 3.
As per issue #2194.

Current Behaviour

Proposed Changes

Checks

[x] All commits in this Pull Request are signed.
[x] All commits in this Pull Request follow the Ockam commit message convention.
[x] I accept the Ockam Community Code of Conduct.
[x] I have accepted the Ockam Contributor Licence Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the ockam-network/contributors repository.

Hi @mrinalwadhwa. Looks like the lint check for commit messages failed. I think it's "WebSocket" not being lowercase. Sorry!
Should I close this PR and make a new one or make a force-push with --force-with-lease with the commit message amended?

Hey @selectiveduplicate thank you for sending this PR.
Force push would be great, this would satisfy the linter:
refactor(rust): change `WebSocket` address type constant from 2 to 3.

@selectiveduplicate Thank you for an awesome first contribution 🎉

@selectiveduplicate Thank you for an awesome first contribution 🎉

Thanks! Hope to make more in the future as I get familiar.

authors: mrinalwadhwa selectiveduplicate


text:
Visual glitches when changing application style from qlementine to a non-qlementine style

Visual glitches appear in the sandbox example when the application style changes from QlementineStyle to a non-qlementine style (e.g. fusion or windowsvista) after the main window (SandboxWindow) is created.
How to reproduce:

In main.cpp file, comment out window->setCustomStyle(style);
In main.cpp file, put the following code after main window creation:

qApplication.setStyle("windowsvista"); // or qApplication.setStyle("fusion");
qApplication.setPalette(qApplication.style()->standardPalette()); // Force new style palette

Replace commented lines in the SandboxWindow constructor with the following code in SanboxWindow.cpp:

_impl->setupUI_button();
_impl->setupUI_buttonVariants();
_impl->setupUI_checkbox();
_impl->setupUI_radioButton();
_impl->setupUI_commandLinkButton();
_impl->setupUI_sliderAndProgressBar();
_impl->setupUI_spinBox();
_impl->setupUI_comboBox();
_impl->setupUI_toolButton();
_impl->setupUI_groupBox();

Compile and run the sandbox
Observe the issue

With fusion style

Current behavior:

Expected behavior:

With windowsvista style

Current behavior:

Expected behavior:

Note: Visual glitches don't occur when switching between fusion, Windows and windowsvista styles.
Debug information:
OS: Windows 11 23H2
Toolkit: Qt 5.15.2 MSVC2019 32-bit
Compile mode: Debug

Thank you. I haven't tried to switch between styles, so wasn't aware of this bug. I'll take a look when I have time

authors: IoeCmcomc oclero

repo: oclero/qlementine


text:
source maps

I don's see anything about source maps, am I wrong?

There's one for TS, but it looks like I haven't activated the SourceMapDevToolPlugin, let me do that :)

Ok my bad, there is already one, it's defined here: https://github.com/ocombe/ng2-webpack/blob/master/webpack.config.js#L28
I will change the dev one to "eval-source-map" so that it point to original sources (instead of compiled ones), but you loose some build speed.
I just checked and the difference is really small on my project right now, but maybe you can change it later if your project gets too big.

authors: ocombe sgruhier


text:
ci(action): run tests against LTS version

The current LTS version is 16, but rather than hardcoding this version number I went with the version syntax lts/* see https://github.com/actions/setup-node#supported-version-syntax

@oscard0m @gr2m I hope you don't mind, me merging this without an official approval.

@oscard0m @gr2m I hope you don't mind, me merging this without an official approval.

We agree on using 16 for node version so it's fine.
Thanks for your contribution!

repo: octoherd/cli


text:
Auto play on open option

I like to have the player start playing when I open a sequence.  ( it could be an option play on open)
This will help me quickly check footage,  I know its little trouble to press play myself but it would be a nice quality of life enhancement if it could have an auto play option.

This is something we will probably add in the future when we have a user preferences panel

authors: larssteenhoff octopus-russell

repo: octopuscinema/raw-player


text:
🛑 ISSA (issa.edificarseguros.com.ar) is down

In 32c27c3, ISSA (issa.edificarseguros.com.ar) (https://issa.edificarseguros.com.ar/api/health) was down:

HTTP code: 503
Response time: 847 ms

Resolved: ISSA (issa.edificarseguros.com.ar) is back up in 75c172b.

repo: octubre-softlab/octubre-upptime


text:
Return 'Retry-After' header on 429

A similar PR may already be submitted!
Please search among the Pull request before creating one.
If your changes introduce breaking changes, please prefix the title of your pull request with "[BREAKING_CHANGES]". This allows for clear identification of such changes in the 'What's Changed' section on the release page, making it developer-friendly.
Thanks for submitting a pull request! Please provide enough information so that others can review your pull request.
Describe the change
When the server returns 429 "Too Many Requests", we now set a new HTTPRetryAfter field in the error value containing the value of the "Retry-After" header. We add a new helper method, IsTooManyRequests, that takes errors and returns the "Retry-After" value, if it's set.
Provide OpenAI documentation link
N/A
Describe your solution
See above
Tests
Updated TestHandleJSONErrorResp and TestHandleTextErrorResp.

CI failures are irrelevant

repo: odannyc/go-openai


text:
Clear settings function in the new services app not working

When "Clear settings" is clicked, it shows a black screen and returns to the home screen.

Looking into this, Great finding!

Issue fixed: https://github.com/odk-x/services/pull/271

authors: Goodiec Redeem-Grimm-Satoshi

repo: odk-x/tool-suite-X


text:
Expandable: emit event when item is open or closed

When an expandable item is opened or closed, it would be useful for the ExpandableGroup to emit an event.

https://gist.github.com/Vestride/08f75315b68ea6fce5776d0df3513e23

Current workaround:
import TinyEmitter from 'tiny-emitter';
import { ExpandableAccordion } from '@odopod/odo-expandable';
import { domLoaded } from '@odopod/odo-helpers';
import OdoResponsiveImages from '@odopod/odo-responsive-images';

class SectionExpandable extends TinyEmitter {
  /**
   * @constructor
   * @param {HTMLElement[]} elements Array of trigger elements.
   */
  constructor(elements) {
    super();
    this.accordion = new ExpandableAccordion(elements);

    this.update = this.update.bind(this);
    this._clickListener = () => { setTimeout(this.update, 500); };

    // Find all expandable buttons and on click, after 500ms (wait for transition),
    // notify all instances that they should update their scroll-to positions.
    // OdoExpandable does not currently emit an event when an item is expanded/collapsed.
    // The other option is to use ResizeObserver, but that would need to be polyfilled.
    elements.forEach((button) => {
      button.addEventListener('click', this._clickListener);
    });

    // Update offsets after all the assets on the page have loaded in case
    // they take up more/less space.
    domLoaded.then(() => {
      this.accordion.update();
    });
  }

  update() {
    this.accordion.update();
    OdoResponsiveImages.updateOffsets();
    this.emit(SectionExpandable.EventType.CHANGED, {
      openItems: this.accordion.expandables.filter(expandableItem => expandableItem.isOpen),
    });
  }

  dispose() {
    this.accordion.expandables.forEach((expandableItem) => {
      expandableItem.target.removeEventListener('click', this._clickListener);
    });
  }
}

SectionExpandable.EventType = {
  CHANGED: 'sectionexpandable:changed',
};

export default SectionExpandable;

closing - won't do - RIP odopod

repo: odopod/code-library


text:
Pull to refresh

Implement pull to refresh for tables

Implemented in 3041c6c4301f0808a7442fc3efc6921ac09f2e8b

repo: odota/mobile


text:
Appropriate UI release for base egeria release 2.9

Egeria has now branched for 2.9 - see https://github.com/odpi/egeria/issues/5075.
If you would like a new version of the egeria-ui included by the helm/compose charts in egeria 2.9, please can you create a 2.9 release. Then a PR will need doing for the egeria-2.9 release on base egeria, but this code is under test and will be released soon (days)
For now I will set the egeria code to use the 2.8 version, which is the last 'release'.

hi, i will bump the version to 2.9.0 for egeria-ui after the egeria-2.9 comes out, following the same strategy

2.9 egeria has already shipped. The charts are using the 2.8 UI release.

repo: odpi/egeria-ui


text:
Virtualization Demo write-up

with Information View OMAS

Please review the draft: https://www.odpi.org/?p=91197&preview=true

This is the link to the published blog https://www.odpi.org/blog/egeria/2019/10/22/using-egeria-to-integrate-with-data-virtualization-tool

authors: cmgrote mandy-chessell ruxandraRosu

repo: odpi/egeria


text:
🛑 acade-agro.ch is down

In 0a28db6, acade-agro.ch (https://www.acade-agro.ch) was down:

HTTP code: 0
Response time: 0 ms

Resolved: acade-agro.ch is back up in 8898104.

repo: odqo/upptime


text:
🛑 Ipsilon is down

In dcf12f4, Ipsilon (https://ipsilon.sgu.ru) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Ipsilon is back up in 188a15c after 7 minutes.

repo: oec-ssu/status


text:
ModuleNotFoundError: No module named 'coincurve._libsecp256k1'

After pip install coincurve and I try to import coincurve

environment detail
https://github.com/SuperCipher/coincurve/blob/d0bc945a1ee6e937944257489c33e0bfac83be85/.gitpod.Dockerfile#L1

Can you show the installation step?

Can you show the installation step?

@ofek
I setup docker with this config
https://github.com/SuperCipher/coincurve/blob/SuperCipher/gitpod-setup/.gitpod.Dockerfile
and run pip install . inside coincurve directory.
then I try import coincurve in python.

Can you show the Docker run command?

docker run -it cdcb8220e8aa /bin/bash

Cannot reproduce anymore

authors: SuperCipher ofek

repo: ofek/coincurve


text:
Support Fedora packaging

skip tests which require an internet connection when it is not available
install pytest into the ok package in test_package and run pytest as a module inside the package (this make the test depends on internet connection)

With these changes, I am able to run build of RPM for Fedora and also all tests are passing on my local machine.
If you are ok with these changes, please merge it and release a new version so I can build the newest specfile for RPM on it and send it to package review.

A added one more small change to the tox.ini. With {posargs} in test command you will be able to run only subset of tests which is useful during debugging one of them.
For example tox -e py35,py36 -- tests/commands/test_new.py

I cannot see your review/comments. Did you request changes at the end of commenting?

@frenzymadness Sorry, can you see it now?

I addressed your comments and test are passing in Travis and also during a build of RPM.
It would be nice to make a new version after merging of this PR so I can base the first version of Fedora package on the latest version of Hatch. Then I'll send you link to Hatch's review request.

Thanks so much @frenzymadness!!!

released

@frenzymadness https://github.com/ofek/hatch/releases/tag/0.11.0

authors: frenzymadness ofek

repo: ofek/hatch


text:
Signed user IDs

In order to prevent Event Spam, we can sign the User ID cookies so that attackers cannot create events using arbitrary UUIDs. Instead only IDs that have been signed by the server are being accepted.
This is a breaking change requiring upgraded installations to set OFFEN_APP_ALLOWUNSIGNEDUSERID="true" in order to enable "legacy" users to access and manage their data. Cookies sent without a signature will be augmented on next write.

Closing this after discussion on the topic within our Security Audit.

repo: offen/offen