[Librispeech] Add 'all' config

Add "all" config to Librispeech
Closed #4179

Fix https://github.com/huggingface/datasets/issues/4179

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Just that I understand: With this change, simply doing load_dataset("librispeech_asr") is possible and returns the whole dataset?

Just that I understand: With this change, simply doing load_dataset("librispeech_asr") is possible and returns the whole dataset?
And to get the subsets, I do sth like:
ds = load_dataset("librispeech_asr")
train_ds = ds["train"]
dev_clean_ds = ds["dev-clean"]
dev_other_ds = ds["dev-other"]
test_clean_ds = ds["test-clean"]
test_other_ds = ds["test-other"]

?

You could do:
ds = load_dataset("librispeech_asr", "all")  # <- note that we have to pass a config
train_ds = ds["train"]
dev_clean_ds = ds["dev-clean"]
dev_other_ds = ds["dev-other"]
test_clean_ds = ds["test-clean"]
test_other_ds = ds["test-other"]

So, load_dataset("librispeech_asr") is not possible, it must be load_dataset("librispeech_asr", "all")?
Why is that?
The docs say:
name: `str` name, optional configuration for the dataset that affects the data generated on disk. Different
    `builder_config`s will have their own subdirectories and versions.
    If not provided, uses the first configuration in self.BUILDER_CONFIGS

https://github.com/huggingface/datasets/blob/cd3ce34ab1604118351e1978d26402de57188901/src/datasets/builder.py#L228
Or maybe you could just define DEFAULT_CONFIG_NAME?

 No it doesn't take the first config by default.

No it doesn't take the first config by default.

But defining DEFAULT_CONFIG_NAME would work?
So should we define DEFAULT_CONFIG_NAME = "all" here as well? I think this is a reasonable default config.
Don't most datasets have some default config?

But defining DEFAULT_CONFIG_NAME would work?
So should we define DEFAULT_CONFIG_NAME = "all" here as well? I think this is a reasonable default config.

Yes that would work, and I also find it reasonable to do it :)

Don't most datasets have some default config?

Most datasets only have one configuration, so the single configuration is the default one. Then other datasets gave several configurations, and whether they have a default one is decided case-by-case.
e.g. glue is a benchmark and doesn't have a default task, one must choose which task of glue they want to use explicitely.

Thanks a lot for the feedback!
Using "all" now as the default config. I changed the layout a bit so that there is not a single "train", but instead we have multiple "train.clean.100", "train.clean.360", "train.other.500". This way we don't even need to do filtering and it's also cleaner IMO.
@albertz - you should now be able to do the following:
load_dataset("librispeech_asr")  # <- run this once to download, prepare dataset and cache everything

# The following operations will be very fast since all the downloading and processing is already cached
train_1 = load_dataset("librispeech_asr", split="train.clean.100")
print(train_1)
train_2 = load_dataset("librispeech_asr", split="train.clean.100+train.clean.360")
print(train_2)
train_full = load_dataset("librispeech_asr", split="train.clean.100+train.clean.360+train.other.500")
print(train_full)
dev_clean_ds = load_dataset("librispeech_asr", split="validation.clean")
print(dev_clean_ds)
dev_other_ds = load_dataset("librispeech_asr", split="validation.other")
print(dev_other_ds)
test_clean_ds = load_dataset("librispeech_asr", split="test.clean")
print(test_clean_ds)
test_other_ds = load_dataset("librispeech_asr", split="test.other")
print(test_other_ds)

Think this way we have the best of both worlds. Also @lhoestq, I think we could highlight better in the docs that it's possible to combine different splits. We do this actually quite a lot for speech. For Common Voice many people include "validation" in the training if the data is too small, e.g.: https://github.com/huggingface/transformers/blob/ff06b177917384137af2d9585697d2d76c40cdfc/examples/pytorch/speech-recognition/run_speech_recognition_ctc.py#L147
Should we maybe add a short section to the loading tutorial here: https://huggingface.co/docs/datasets/v2.1.0/en/loading#hugging-face-hub ? (Happy to do it)

Is there any advantage or difference in calling load_dataset multiple times for each split? Or why not just call load_dataset once and then access each split?
Note in our case, we cannot really use the caching mechanism because we have a recipe pipeline used by multiple users (and I think a common cache dir for all users might end up in problems) and we basically would use load_dataset("librispeech_asr").save_to_disk(...) and then later load_from_disk(...).
So with load_from_disk, we cannot really provide the split this way, so we anyway would do sth like:
ds = datasets.load_from_disk(...)
train = ds["train"]

Or with your latest proposal, it would look like:
ds = datasets.load_from_disk(...)
train_ds = datasets.concatenate_datasets(
  [ds["train.clean.100"], ds["train.clean.360"], ds["train.other.500"]])

right?

Is there any advantage or difference in calling load_dataset multiple times for each split? Or why not just call load_dataset once and then access each split?
Note in our case, we cannot really use the caching mechanism because we have a recipe pipeline used by multiple users (and I think a common cache dir for all users might end up in problems) and we basically would use load_dataset("librispeech_asr").save_to_disk(...) and then later load_from_disk(...). (See here: rwth-i6/i6_core#253)
So with load_from_disk, we cannot really provide the split this way, so we anyway would do sth like:
ds = datasets.load_from_disk(...)
train = ds["train"]

Or with your latest proposal, it would look like:
ds = datasets.load_from_disk(...)
train_ds = datasets.concatenate_datasets(
  [ds["train.clean.100"], ds["train.clean.360"], ds["train.other.500"]])

right?

I see the use case! The only advantage by calling datasets multiple times is that one can easily "merge" splits with "+", but yeah you can do the exact same with concatenate.
@lhoestq what do you think is the best approach with load_from_disk?
@albertz, you could also define the cache_dir when doing load_dataset(...) which will then put all the relevant arrow files int the cache dir that you defined, e.g.:
load_dataset("librispeech_asr", cache_dir="/easy/to/access/directory")

@albertz, I took a read through https://github.com/rwth-i6/i6_core/pull/253 .
I think the best would be the following:
1. Do `ds = load_dataset(..., cache_dir="/dir/that/is/easy/to/access")` <- having merged this PR, this will save all the original `.flac` files in the `cache_dir`
2. Do `ds.save_to_disk("local/path")` this should then only save the `arrow.format` with a `path` string to the audio files which are located in `cache_dir` <- this won't require a lot of memory after https://github.com/huggingface/datasets/pull/4184#discussion_r854132740 is fixed and can be done for each person individually.
3. `ds = datasets.load_from_disk("local/path")` can the be used. An object of `ds` will then have a `path` variable that links to the original audio files in the `cache_dir`. You can change these audio files then easily to `.mp3. You could do this with the `.map(...)` function, e.g. define a function that maps through all audio files, load them and then save them on disk afterward.

@lhoestq - I think this one is good to go

@albertz

Oh, so you say that our current implementation in https://github.com/rwth-i6/i6_core/pull/253 is broken? Because our cache dir is just some temp directory which will be removed afterwards, and we just store what we get out of save_to_disk. I think it would be good to clarify that in the doc of save_to_disk, that this is not enough and can depend on files from the cache dir. (@dthulke)

Oh, I wasn't aware that audio files are handled this way. Then we should have the cache directory as an additional job output, so that we keep the audio files.

So, you say we anyway need to share the cache dir among users?

No, the cache dir can still be a directory in the job output folder. Then the audio paths in the corresponding dataset column correspond to the flac files in that directory. This way the "output" of the job is contained into the job directory and we don't write files to a global cache directory that is independent of the sisyphus graph.
If we want to share the audio data between different users, we can just link to a central instance of the job (similar to how we do it with the DownloadLibriSpeechCorpusJob).

So what I would suggest here is to do the following:

Do load_dataset(..., cache_dir=/a/read-only/folder)

Either just re-use load_dataset(..., cache_dir=...) which should always re-use the data in the cache_dir since the hash of the url matches - so there should never be any duplicated downloading

or

If you want to store the files in MP3 locally, first convert the files to MP3 in the read-only folder, then take do ds.save_to_disk(/some/path) which will save the correct path to the read-only folder to MP3 and then you can easily re-use the small arrow dataset that is saved in /some/path

So what I would suggest here is to do the following:

Do load_dataset(..., cache_dir=/a/read-only/folder)

Either just re-use load_dataset(..., cache_dir=...) which should always re-use the data in the cache_dir since the hash of the url matches - so there should never be any duplicated downloading

or

If you want to store the files in MP3 locally, first convert the files to MP3 in the read-only folder, then take do ds.save_to_disk(/some/path) which will save the correct path to the read-only folder to MP3 and then you can easily re-use the small arrow dataset that is saved in /some/path

Also relevant here: https://github.com/huggingface/datasets/issues/3663

I also added some documentation about how save_to_disk handles audio files here: https://github.com/huggingface/datasets/pull/4193

So, you say we anyway need to share the cache dir among users?

No, the cache dir can still be a directory in the job output folder.

@dthulke But this is what I mean. When we share the job output folder, it means we share the cache dir among users.
I wonder if load_dataset(..., cache_dir=job_output_cache_dir) is always save to do then, that it really would not modify the job_output_cache_dir.
We could enforce that by making the job_output_cache_dir read-only afterwards. We currently don't do this.
@patrickvonplaten @dthulke But in any case, we actually prefer the data content to be inside the dataset (the arrow files). Lots of small files would be very problematic for our cache manager. We have one main copy of the data on NFS, but accessing the NFS directly by all computing nodes is not feasible, so the cache manager will have copies of the files on the nodes. So it means, whenever we access some file, we query the cache manager DB whether the file is already cached somewhere (some other computing node) and if so, it copies it from the other computing node and not from NFS. This works very well when there are not too many files (but the files can be big). So, we want to have only a few but big files. Even for NFS access this is much better.
I will maybe also comment in #3663.

Hey @albertz @dthulke,
Thanks a lot for your input!
We've discussed quite a bit with @lhoestq and we think the best approach is the following:
a)
load_dataset(...) will not store both bytes and the files because this would mean that 3x the size of the dataset would often be needed (1. the compressed tar.gz file, 2. the extracted file b, 3. the raw bytes in arrow format).
For canonical datasets like librispeech and common voice I think we want to keep the dataset filenames because of i) no breaking changes and ii) reasons explained in #3663
However it's also trivial to write your own datasetset downloading script of librispeech and just not extract the folder e.g. this line: https://huggingface.co/datasets/common_voice/blob/main/common_voice.py#L671
And then it'll be allowed to save the bytes and the dataset will be self-contained out-of-the-box when using load_dataset(...)
b) Now, one major problem that you guys uncovered is that save_to_disk(...) is currently not necessarily saving a dataset to be self-contained. We will change that asap. This means that after we've corrected this when you do download the canonical librispeech dataset the following will work:
ds = load_dataset("....")  # <- here we have a dependency on the filepathes
ds[0]["audio"]["bytes"] # <- will not work

ds.save_to_disk("/local/path")  # <- now we want to have a self-contained dataset in arrow format, so we load the files into bytes and save it in arrow format

# now you can delete everything besides "/local/path"

ds = load_from_disk("/local/path")  # <- this will work

So either option a) where you define your own librispeech data downloading script (you guys could just sign up here: https://huggingface.co/join) and upload a dataset loading script in private mode so that no one can see it and you would always store the audio as bytes or b) where you first load then save to disk then delete cache would work.
Hope that fits in your vision :-)
cc @lhoestq @mariosasko

@albertz I would suggest to move the discussion on implementation details on our side to the following issue: rwth-i6/i6_core/issues/257

I like the idea of adding embed_external_files and set it to True by default to save_to_disk.
It's indeed a kind of breaking change since some users will get bigger Arrow files when updating the lib, but the advantages are nice:

I like the idea of having it self contained, in case you want to delete your cache
users also upload these Arrow files to cloud storage via the fs parameter, and in this case they would expect to upload a self-contained dataset
consistency with push_to_hub

If it sounds good to you I'll open an issue to discuss this and track the advancements

Closed #4179.

load_dataset("librispeech_asr")

Hi when I run:
from datasets import load_dataset
import pandas as pd
from multiprocessing import Pool
import os
data_dir = my own path
dataset=load_dataset("librispeech_asr", cache_dir=data_dir)
after downloading those files and the spliting process, here is a error like this:
ExpectedMoreSplits                        Traceback (most recent call last)
/tmp/ipykernel_815982/814767946.py in
4 import os
5 data_dir = '/disk/scratch2/s1905792/librispeech'
----> 6 dataset=load_dataset("librispeech_asr", cache_dir=data_dir)
7 #test = load_dataset("librispeech_asr", "all", "train", cache_dir=data_dir)
/disk/scratch2/s1905792/anaconda3/envs/py3.7-gpu/lib/python3.7/site-packages/datasets/load.py in load_dataset(path, name, data_dir, data_files, split, cache_dir, features, download_config, download_mode, verification_mode, ignore_verifications, keep_in_memory, save_infos, revision, use_auth_token, task, streaming, num_proc, storage_options, **config_kwargs)
1813         try_from_hf_gcs=try_from_hf_gcs,
1814         num_proc=num_proc,
-> 1815         storage_options=storage_options,
1816     )
1817
/disk/scratch2/s1905792/anaconda3/envs/py3.7-gpu/lib/python3.7/site-packages/datasets/builder.py in download_and_prepare(self, output_dir, download_config, download_mode, verification_mode, ignore_verifications, try_from_hf_gcs, dl_manager, base_path, use_auth_token, file_format, max_shard_size, num_proc, storage_options, **download_and_prepare_kwargs)
911                             verification_mode=verification_mode,
912                             **prepare_split_kwargs,
--> 913                             **download_and_prepare_kwargs,
914                         )
915                     # Sync info
/disk/scratch2/s1905792/anaconda3/envs/py3.7-gpu/lib/python3.7/site-packages/datasets/builder.py in _download_and_prepare(self, dl_manager, verification_mode, **prepare_split_kwargs)
1020
1021         if verification_mode == VerificationMode.BASIC_CHECKS or verification_mode == VerificationMode.ALL_CHECKS:
-> 1022             verify_splits(self.info.splits, split_dict)
1023
1024         # Update the info object with the splits.
/disk/scratch2/s1905792/anaconda3/envs/py3.7-gpu/lib/python3.7/site-packages/datasets/utils/info_utils.py in verify_splits(expected_splits, recorded_splits)
89         return
90     if len(set(expected_splits) - set(recorded_splits)) > 0:
---> 91         raise ExpectedMoreSplits(str(set(expected_splits) - set(recorded_splits)))
92     if len(set(recorded_splits) - set(expected_splits)) > 0:
93         raise UnexpectedSplits(str(set(recorded_splits) - set(expected_splits)))
ExpectedMoreSplits: {'validation.other', 'test.other', 'test.clean', 'validation.clean', 'train.other.500', 'train.clean.360', 'train.clean.100'}
Could you please tell me where I was wrong and did I miss any files?
Best Regards,
Xiaoliang

Hi @wxlsummer,
Let's continue the discussion in the Community tab of the dataset: https://huggingface.co/datasets/openslr/librispeech_asr/discussions/11


Initiator cannot rejoin session

So far RTCMultiConnection is working great, but I find that if the initiator leaves a session where there are two other participants (I'm simulating this by running Firefox, Opera, and Chrome on the same machine. each with the same data session open), then he/she/it cannot return, and in fact nobody else can join the session.
But the other participants can leave and then return. Only the initiator has this restriction.
Is there a way around this? I'd like the initiator, who happened to be the first person checking in, to be able to leave and return like everyone else.
Thanks!

Why is this still open? Needs closing @muaz-khan


Create nctu.txt

New Cairo Technological University
I'm student of this university
Domain: @nctu.edu.eg
Official website: https://nctu.edu.eg/

@Omaraldin First stage of verification passed, official domain is nctu.edu.eg as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@Omaraldin Pull request merged. Thank you.


feat: add IPSE to apps list

feat: add IPSE to apps list, updated apps.yaml
What kind of change is it?

[x] Addition
[ ] Removal
[x] Edit
[ ] Other

Checklist

[x] I edited the /data directory instead of the README.md.
[x] This PR includes only one addition/removal/edit.
[ ] I ran the make build command following my edits to the /data directory.
[x] I have followed the CONTRIBUTING.md guidelines.

Details
Provide details of your changes here.

Hello @starmanontesla! Thanks for this, but please do not do more than one PR. Please merge #294 onto this one so we have a complete PR.


Why do you use jquery in examples instead of D3 itself?

This library is powered by  d3js but jquery  is used in examples while d3js can be used instead of d3js in most situations specially examples of this library. Using a lot of different libraries in projects would slow down the clients and even local servers.
Please explain why do you use jquery?

Just out of habit. No particular reason. I suppose I should make the examples less dependent on jQuery.


Move support for hex passwords into a different method

Closed by #6. Now handles utf8 passwords (including "special chars) on osx correctly. Version is bumped to 0.2

Thankyou!

Thanks for your patience, sorry it took so long to get the fix out!


conn.refreshToken missing?

Following the example Access Token Request from the site (code bellow) I get conn.refreshToken = undefined what could be the reason for this behavior?
app.get('/oauth2/callback', function(req, res) {
  var conn = new sf.Connection({ oauth2 : oauth2 });
  var code = req.param('code');
  conn.authorize(code, function(err, userInfo) {
    if (err) { return console.error(err); }
    // Now you can get the access token, refresh token, and instance URL information.
    // Save them to establish connection next time.
    console.log(conn.accessToken);
    console.log(conn.refreshToken);
    console.log(conn.instanceUrl);
    console.log("User ID: " + userInfo.id);
    console.log("Org ID: " + userInfo.organizationId);
    // ...
  });
});

Help will be appreciated!

Have you included "refresh token" scope in your Connected App setting ?

@stomita No. Thanks this is the missing link ... Thank You!

Hello @stomita,  Even i'm facing the same problem, as you suggested above I have included "refresh token" scope. Even then im not getting the Refresh token. Can You please help me.
I have selected the following scopes.
Access your basic information (id, profile, email, address, phone)
Access and manage your data (api)
Provide access to your data via the Web (web)
Provide access to custom applications (visualforce)
Perform requests on your behalf at any time (refresh_token, offline_access)


Standard Template for User (Registrant) Interface

This story is to capture the work of creating a template that can be used out of the box and is not St. Thomas branded.
Could potentially be utilized without updating CSS.  Looking to match some of the Salesforce Standards.

This was done for with the General Standard Salesforce Lightning design


Unset PGSERVICEFILE by default?

https://github.com/ikalnytskyi/action-setup-postgres/blob/687404e7b78b0b3471751635e69f70d54a09d6e7/action.yml#L127
Hello, I am trying to use this action to set up dbmate and getting the following
panic: setting PGSERVICEFILE not supported

It might be nice to disable this by default since unsetting environment variables is impossible. We can always set this env variable ourselves using the outputs.

Hey @chiroptical,
Thank you for reporting this. This sounds like a bug in dbmate, since unless PGSERVICE is set (and this action doesn't set it), PGSERVICEFILE should not be used. I'd recommend to file an issue for dbmate. At the very least we can let them know about it.
As for your suggestion, I definitely would prefer keeping things simpler for end users, and not asking them to set both PGSERVICE and PGSERVICEFILE simultaneously. Not saying that such change is backward incompatible by nature.
What I can consider is switching to default PGSERVICEFILE location, so I won't need to set PGSERVICEFILE in the action. Since location is user-depended and is different on Windows, at the time I set the environment variable to simplify implementation details.

It seems dbmate uses lib/pq to deal with PostgreSQL, and lib/pq simply panics if one of the known environment variables is set but are not supported. It's unfortunate that authors didn't provide a way to bypass it, especially for optional client-side environment variables such as PGSERVICEFILE.
At this moment I'm not sure how to proceed, since moving pg_service.conf to the system-wide location requires setting PGSYSCONFDIR which panics too. It seems the development of lib/pq is rather abandoned (save for bugfixes which this doesn't fall under) in favor of the pgx driver.
I need to think it through. It'd be unfortunate to introduce a backward incompatible change and give up on a simple service usage just to support one broken driver.
As a workaround, I'd probably suggest running dbmate like this:
run: |
    unset PGSERVICEFILE
    dbmate args...

Hey, thanks so much for such a detailed response. I was on vacation so slow to respond.

As a workaround, I'd probably suggest running dbmate like this:

Yeah, this works relatively well. I am just spinning up a bunch of databases and running dbmate in my tests so I have to be concerned about this in a few places.

I need to think it through. It'd be unfortunate to introduce a backward incompatible change and give up on a simple service usage just to support one broken driver.

I totally agree with you here. Happy with whatever you decide :smile:

I'm about to make a new release, and I decided to close this issue. At the moment I'd rather let dbmate users to do unset PGSERVICEFILE before execution, than introduce a backward incompatible change just to workaround the broken driver dbmate use. If more users report issues with PGSERVICEFILE, I'll definitely reconsider this.


pull request for e2e test at 11/23/2016 15:56:04

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Error after adding the dependencies

Hi, I get this error after adding the dependencies

build.gradle.kts
import org.jetbrains.compose.compose
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("multiplatform")
    id("org.jetbrains.compose")
}

group "com.example"
version "1.0-SNAPSHOT"

repositories {
    google()
    mavenCentral()
    maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}

kotlin {
    js(IR) {
        browser {
            binaries.executable()
            useCommonJs()
            commonWebpackConfig {
                cssSupport.enabled = true
            }
            testTask {
                testLogging.showStandardStreams = true
                useKarma {
                    useChromeHeadless()
                    useFirefox()
                }
            }
        }
        binaries.executable()
    }
    sourceSets {
        val jsMain by getting {
            dependencies {
                implementation(compose.web.core)
                implementation(compose.runtime)
//                implementation(npm("bootstrap", "5.2.0"))
//                implementation(npm("@popperjs/core", "2.11.5"))
                implementation("app.softwork:bootstrap-compose:0.1.6")
                implementation("app.softwork:bootstrap-compose-icons:0.1.6") // for icons support
                implementation(devNpm("sass-loader", "^13.0.0"))
                implementation(devNpm("sass", "^1.52.1"))

                implementation(npm("material-components-web", "14.0.0"))
            }
        }
        val jsTest by getting {
            dependencies {
                implementation(kotlin("test-js"))
            }
        }
    }
}

rootProject.plugins.withType<org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin> {
    rootProject.the<org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension>().nodeVersion = "16.0.0"
}

settings.gradle.kts
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
pluginManagement {
    repositories {
        google()
        gradlePluginPortal()
        mavenCentral()
        maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
    }

    plugins {
        kotlin("multiplatform").version(extra["kotlin.version"] as String)
        id("org.jetbrains.compose").version(extra["compose.version"] as String)
    }
}

rootProject.name = "composeWeb"

Main.kt
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import app.softwork.bootstrapcompose.Alert
import app.softwork.bootstrapcompose.Color
import app.softwork.bootstrapcompose.require
import org.jetbrains.compose.web.css.*
import org.jetbrains.compose.web.dom.*
import org.jetbrains.compose.web.renderComposable
import org.w3c.dom.HTMLElement

fun main() {
    var count: Int by mutableStateOf(0)

    require("./style.scss")
    renderComposable(rootElementId = "root") {
        Alert(Color.Primary) {
            Text("Hello")
        }
    }
}

After removing the dependencies, the app work just fine

Hey, I can't reproduce it. Could you upload a project? Which versions of Compose and Kotlin do you use?

gradle.properties:
kotlin.code.style=official
kotlin.native.enableDependencyPropagation=false
kotlin.js.webpack.major.version=4
kotlin.version=1.6.10
agp.version=4.2.2
compose.version=1.1.0

This is the project link

@ahmedhnewa Thanks, reproduced.
You are using Kotlin 1.6.10 and Compose 1.1.0. Although these are the latest stable versions of Compose, bootstrap-compose 0.1.6 uses Kotlin 1.7.0 and Compose 1.2.0-alpha01-dev741, see https://github.com/hfhbd/bootstrap-compose/releases/tag/v0.1.6
Kotlin JS (IR) is often not binary compatible. So either update your versions to Kotlin 1.7.0 and Compose to a dev version (eg the latest one: dev-753 https://github.com/JetBrains/compose-jb/releases) too, or use an older version of bootstrap-compose: https://github.com/hfhbd/bootstrap-compose/releases/tag/v0.0.51.
Keep in mind, icons and SCSS are introduced in 0.1.1.

I still get another error
Module build failed (from /Users/ahmedhnewa/IdeaProjects/composeWeb/build/js/node_modules/style-loader/dist/cjs.js):
TypeError: this.getOptions is not a function
    at Object.loader (/Users/ahmedhnewa/IdeaProjects/composeWeb/build/js/node_modules/style-loader/dist/index.js:19:24)

✖ ｢wdm｣: Hash: 9276f5fe8277d5c5a181
Version: webpack 4.46.0
Time: 1139ms
Built at: 08/14/2022 10:11:23 PM
        Asset      Size  Chunks             Chunk Names
composeWeb.js  4.01 MiB    main  [emitted]  main
Entrypoint main = composeWeb.js
[0] multi (webpack)-dev-server/client?http://localhost:8080 ./kotlin/composeWeb.js 40 bytes {main} [built]
[../../node_modules/webpack-dev-server/client/index.js?http://localhost:8080] (webpack)-dev-server/client?http://localhost:8080 4.29 KiB {main} [built]
[../../node_modules/webpack-dev-server/client/overlay.js] (webpack)-dev-server/client/overlay.js 3.51 KiB {main} [built]
[../../node_modules/webpack-dev-server/client/socket.js] (webpack)-dev-server/client/socket.js 1.53 KiB {main} [built]
[../../node_modules/webpack-dev-server/client/utils/createSocketUrl.js] (webpack)-dev-server/client/utils/createSocketUrl.js 2.91 KiB {main} [built]
[../../node_modules/webpack-dev-server/client/utils/log.js] (webpack)-dev-server/client/utils/log.js 964 bytes {main} [built]
[../../node_modules/webpack-dev-server/client/utils/reloadApp.js] (webpack)-dev-server/client/utils/reloadApp.js 1.59 KiB {main} [built]
[../../node_modules/webpack-dev-server/client/utils/sendMessage.js] (webpack)-dev-server/client/utils/sendMessage.js 402 bytes {main} [built]
[../../node_modules/webpack-dev-server/node_modules/strip-ansi/index.js] (webpack)-dev-server/node_modules/strip-ansi/index.js 161 bytes {main} [built]
[../../node_modules/webpack/hot sync ^\.\/log$] (webpack)/hot sync nonrecursive ^\.\/log$ 170 bytes {main} [built]
[./kotlin/androidx-runtime.js] 979 KiB {main} [built] [106 warnings]
[./kotlin/composeWeb.js] 3.38 KiB {main} [built] [2 warnings]
[./kotlin/kotlin-kotlin-stdlib-js-ir.js] 744 KiB {main} [built] [161 warnings]
[./kotlin/style.scss] 303 bytes {main} [built] [failed] [1 error]
[./kotlin/web-internal-web-core-runtime.js] 18.8 KiB {main} [built] [10 warnings]
    + 28 hidden modules
Module build failed (from /Users/ahmedhnewa/IdeaProjects/composeWeb/build/js/node_modules/style-loader/dist/cjs.js):
TypeError: this.getOptions is not a function
    at Object.loader (/Users/ahmedhnewa/IdeaProjects/composeWeb/build/js/node_modules/style-loader/dist/index.js:19:24)

✖ ｢wdm｣: Hash: 9276f5fe8277d5c5a181
Version: webpack 4.46.0
Time: 364ms
Built at: 08/14/2022 10:11:23 PM
        Asset      Size  Chunks  Chunk Names
composeWeb.js  4.01 MiB    main  main
Entrypoint main = composeWeb.js
[0] multi (webpack)-dev-server/client?http://localhost:8080 ./kotlin/composeWeb.js 40 bytes {main}
[../../node_modules/webpack-dev-server/client/index.js?http://localhost:8080] (webpack)-dev-server/client?http://localhost:8080 4.29 KiB {main}
[../../node_modules/webpack-dev-server/client/overlay.js] (webpack)-dev-server/client/overlay.js 3.51 KiB {main}
[../../node_modules/webpack-dev-server/client/socket.js] (webpack)-dev-server/client/socket.js 1.53 KiB {main}
[../../node_modules/webpack-dev-server/client/utils/createSocketUrl.js] (webpack)-dev-server/client/utils/createSocketUrl.js 2.91 KiB {main}
[../../node_modules/webpack-dev-server/client/utils/log.js] (webpack)-dev-server/client/utils/log.js 964 bytes {main}
[../../node_modules/webpack-dev-server/client/utils/reloadApp.js] (webpack)-dev-server/client/utils/reloadApp.js 1.59 KiB {main}
[../../node_modules/webpack-dev-server/client/utils/sendMessage.js] (webpack)-dev-server/client/utils/sendMessage.js 402 bytes {main}
[../../node_modules/webpack-dev-server/node_modules/strip-ansi/index.js] (webpack)-dev-server/node_modules/strip-ansi/index.js 161 bytes {main}
[../../node_modules/webpack/hot sync ^\.\/log$] (webpack)/hot sync nonrecursive ^\.\/log$ 170 bytes {main}
[./kotlin/androidx-runtime.js] 979 KiB {main} [built] [106 warnings]
[./kotlin/composeWeb.js] 3.38 KiB {main} [built] [2 warnings]
[./kotlin/kotlin-kotlin-stdlib-js-ir.js] 744 KiB {main} [built] [161 warnings]
[./kotlin/style.scss] 303 bytes {main} [built] [failed] [1 error]
[./kotlin/web-internal-web-core-runtime.js] 18.8 KiB {main} [built] [10 warnings]
    + 28 hidden modules

Can you explain how to add webpack configurations because it's not so clear in the compose web documentation and in the readme of your repository

Sure, you could use the showcase (the website): https://github.com/hfhbd/bootstrap-compose/tree/main/showcase or https://github.com/hfhbd/ComposeTodo a playground app.
Why do you use web pack 4? I think this is the root problem.
And your reproducer is not available anymore, without more information and versions it is hard to help you.

I just create new compose web project, I didn't change webpack version

Could you please reupload your project? Without a reproducer, it is hard to help you.


Leshan client doesn't retry to initiate bootstrap

Hi,
I was trying to make leshan demo client retry initiating bootstrap if it fails. When I looked at the code it's already implemented in leshan-client-core RegistrationEngine.
if (dmServers == null || dmServers.isEmpty()) {
    scheduleClientInitiatedBootstrap(BS_RETRY);
    }

but it doesn't pass the if statement
if (bootstrapFuture == null || bootstrapFuture.isDone() || bootstrapFuture.isCancelled()) {
    ...
}

I think the problem is that the previous bootstrap task didn't get terminated.
I solved the problem by adding bootstrapFuture = null when bootstrap fail but i'm sure there is a better way to do it.

It sounds like a bug ! Thx for reporting this.
I create a PR #702 which should fix this. (Please tell if it works for you)

I solved the problem by adding bootstrapFuture = null when bootstrap fail but i'm sure there is a better way to do it.

I finally do as you proposed.
I first think to just put the scheduling in another task like this :
Collection<Server> dmServers = clientInitiatedBootstrap();
if (dmServers == null || dmServers.isEmpty()) {
    schedExecutor.submit(new Runnable() {
        @Override
        public void run() {
            scheduleClientInitiatedBootstrap(BS_RETRY);
        }
    });
}

but I think there is no guarantee that the current bootstrap task will finish first ...
I also think about adding a boolean force attribute to scheduleClientInitiatedBootstrap but finally I prefer to go with your proposition with a good comment.

Just to let you know,
Reading the Registration engine code to understand this issue, I suspect there is a race condition with client.triggerRegistrationUpdate() (see #703)

Thank you for your response. And Yes it works for me.

Thx to confirm it :+1:
I integrated the fix #702 in master now.


.NET 8 - CA1863 analyzer rule's web page returns 404 Not Found

Type of issue
Missing information
Description
I'm currently fiddling with .NET 8 and stumbled on this warning in my project:

Given I'm not familiar with this, I wanted to have a look at the help article and see whether it is worth applying to my project or not, but the configured hyperlink leads nowhere.

Page URL
https://learn.microsoft.com/en-ca/dotnet/fundamentals/code-analysis/overview?tabs=net-8
Content source URL
https://github.com/dotnet/docs/blob/main/docs/fundamentals/code-analysis/overview.md
Document Version Independent Id
128f9903-971d-6a66-a2cb-9b12acbc55e7
Article author
gewarren
Metadata

ID: f8906b2c-b984-0427-d064-829e7ea2fc55
Product: dotnet-fundamentals

Duplicate of #38266

@Rageking8 I've closed this one in favor of the one you've linked, thank you 🙏


Update link to extension repo in README

Hey @levrik,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: bfe27240-5410-11ea-8c1a-9b7181e82441

@liyasthomas Can you check up on the Travis build and merge this ?

Lemme see

Hey @levrik,
Something went wrong with the build.
TravisCI finished with status errored, which means the build failed because of something unrelated to the tests, such as a problem with a dependency or the build process itself.
View build log
TravisBuddy Request Identifier: 5f7f4420-5459-11ea-85e8-55831522a411

Hey @levrik,
Something went wrong with the build.
TravisCI finished with status errored, which means the build failed because of something unrelated to the tests, such as a problem with a dependency or the build process itself.
View build log
TravisBuddy Request Identifier: 5f6a3580-5459-11ea-85e8-55831522a411

Hey @levrik,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 5f88e110-5459-11ea-85e8-55831522a411


Fix platform detection on new Android versions

Addresses #106

Related commits from #121 are https://github.com/Pkcs11Interop/Pkcs11Interop/pull/121/commits/8f7279b4a24e075ec53bc709e900ff53256136d7 and https://github.com/Pkcs11Interop/Pkcs11Interop/pull/121/commits/cb059385c22a64d14428de370391c2e06c07133f


bug: Nft list does not scroll

Is there an existing issue for this?

[X] I have looked through the existing issues

Current Behavior
The nft list does not scroll , the nft image list is supposed to scroll to show more nfts

Expected Behavior
The nft list is supposed to scroll , Or it ui sense for it to scroll

Steps To Reproduce
Just try to scroll the nft image list
Anything else?
What am suggesting is an auto scroll

It was fixed by  @portdeveloper


Bad example for dev server appIndex

Expected behavior
appIndex within web-dev-server.config.mjs should point to  ./index.html
Actual Behavior
appIndex points at demo/index.html which is only a file when selecting Web Component rather than Application from scaffolding options.

thanks, fixed


enable channels_first for resizing

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (66bb075) 78.97% compared to head (806d670) 56.22%.
Report is 29 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #18783       +/-   ##
===========================================
- Coverage   78.97%   56.22%   -22.75%
===========================================
  Files         336      336
  Lines       34040    34056       +16
  Branches     6668     6672        +4
===========================================
- Hits        26883    19149     -7734
- Misses       5580    13455     +7875
+ Partials     1577     1452      -125

Flag
Coverage Δ

keras
56.22% <ø> (-22.64%)
:arrow_down:

keras-jax
?

keras-numpy
56.22% <ø> (-0.01%)
:arrow_down:

keras-tensorflow
?

keras-torch
?

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


shadowmapping improvements

Hi,
The shadowmapping example uses linear filtering on a D16 texture which is not required to be supported by the spec.  However, I think the example could be improved by using shadow samplers rather than regular textures and then that issue goes away.  It also simplifies the shader and is a more efficient way to implement shadow mapping.
I have attached a patch file with some suggested changes to implement this scheme.
shadowmapping.txt
Many thanks.

Thx for your contribution! Getting rid of an optional requirement (filtering D16) along with a smaller shader is a great thing. Will test this on a few devices and GPU and apply the patch.

Just had a chance to test this on multiple implementations, and while this looks pretty much the same on desktop GPUs, on mobile GPUs there's no filtering. Will take a look at why (I guess it's just not supported on e.g. Mali) and see if I'll ad a fallback for moblile.

Hi Sascha,
Thanks for looking at this.  I think that shadow map filtering is fairly loosely defined due to vendors having a range of different implementations.  I guess you could use linear filtering as before if it is supported and the hardware doesn't do a good job (not sure how to determine the latter).  It would be a shame to not use the shadow mapping functionality when shadow mapping though :-)
Very much appreciate your hard work on these examples.


Replace blue color with primary color variables

Changes

Add new primary color variables.
Replace blue color variables with primary color variables: This allows the user to change the primary color and use the blue color variables for, well, blue.
Add bodyBg, bodyColor and buttonColor variables for easier theming.

Is this ready to merge?

@mlent Yes :)


Alpha support

Hi there,
Thanks so much for trying to solve this problem, which everyone tries to fix in various way.
Apparently alpha support is currently missing, and I wonder if there's any sort of ETA on supporting this. Is that very hard to support ? What would be a good way to start contributing helping here ?
Thanks !

Alpha is supported by Basis, but not by every transcode target. It's explained in detail in (this section of the repo readme)[https://github.com/BinomialLLC/basis_universal#gpu-texture-format-support-details], but the short version is that ETC1, BC1, BC7, and PVRTC1 don't support alpha channels with Basis. (Yet. Some of them may support it in the future.) If those are the only formats available to your platform, you'll need to decode the alpha channel as a separate greyscale image (with the cDecodeFlagsTranscodeAlphaDataToOpaqueFormats flag) and sample it separately in your shaders.

Just wanted to let y'all know that alpha will be supported for all formats in the next release, which should be coming out in October if testing goes as planned. No contributions needed (it'd be too many cooks in the kitchen at this point, since it's almost done)-- look forward to release!

Thanks @toji and @sehurlburt for the heads up.

I hope that the alpha support will be at least of beta quality ;)

The .basis format supports alpha channels already, but only a few transcoders can handle outputting alpha: ETC2 EAC and BC3, and BC5. The new ASTC transcoder (which will be released on the next milestone) also supports alpha channels. It also has optimizations for L and LA blocks (for XY normal maps) The next milestone also has transcoders for BC7 alpha (using mode 4) and PVRTC1 4bpp alpha (using a new transcoder).

As the system already supports alpha, I'm closing this bug. The next milestone (due in a few weeks) will have more transcoders supporting alpha.


Single shooting

Implement a single shooting using the normal controls but sequential states

I take it !

Can it be close ?


[BUG] error happens when Valication was launched from configuration_menu.sh menu

Describe the bug
The error happens when Validation was launched from configuration_menu.sh menu.
To reproduce
Steps to reproduce the behavior:

Select Validation menu from configuration_menu.sh to install SAP instance
See error message:
TASK [0.0 Validations - Save the Json data to a Variable as a Fact]
ok: [localhost]
[WARNING]: an unexpected error occurred during Jinja2 environment setup: unable to locate collection community.general

TASK [0.0 Validations - Extract details]
fatal: [localhost]: FAILED! => {"msg": "template error while templating string: unable to locate collection community.general. String: {{ json_azure_data | json_query('compute.subscriptionId') }}"}
Expected behavior
Successfully finish validation menu.
Additional context
When I start the validation playbook directly, the validation process finished successfuly.

This is fixed in the latest release, the problem was a missing ':' in the PATH environment variable


Add documentation to Date matchers

There are no (live) documentation in the io.kotlintest.matchers.date package. Adding some KDocs to the methods in there can be very benefical.
There is documentation in Github, but this documentation cannot be accessed through the IDE (for example, pressing CTRL + Q in Intellij displays a quick documentation), and the code isn't documented besides the method name (which is great, by the way!)
Adding some sort of documentation for quick-access and some sample codes will be very benefical for developers that are using these matchers.
More on Kotlin Documentation: https://kotlinlang.org/docs/reference/kotlin-doc.html
Special attention to the @sample section

@sksamuel Could you start reviewing these documentation changes, if you can?

The PR is complete. Waiting on merge

@sksamuel
Can we merge this?


Suggestion better parsing of the received field

Would be great to have a dict which contains From / By / With / Time for each received element.

Would be nice to have some methods to get the delay (similar to what could be retrieved from https://mxtoolbox.com/EmailHeaders.aspx)

Hi @Maijin,
i solved with this commit
This is the results:
[
  {
    "from": "host86-187-174-57.range86-187.btcentralplus.com <IP_ADDRESS> :45321 helo=User",
    "delay": 0,
    "date_utc": "2016-08-19T14:34:52",
    "hop": 1,
    "date": "Fri, 19 Aug 2016 20:34:52 +0600",
    "with": "esmtpa Exim 4.87 envelope-from<EMAIL_ADDRESS>id 1bakrE-000291-LF",
    "by": "localhost.localdomain.com"
  },
  {
    "from": "localhost.localdomain.com mail.revesoft.com <IP_ADDRESS>",
    "delay": 159287.0,
    "date_utc": "2016-08-21T10:49:39",
    "hop": 2,
    "date": "21 Aug 2016 10:49:39 -0000",
    "with": "ESMTP via TCP",
    "by": "mx03.futurequest.net <IP_ADDRESS>"
  },
  {
    "date": "21 Aug 2016 10:49:40 -0000",
    "delay": 1.0,
    "date_utc": "2016-08-21T10:49:40",
    "from": "network",
    "hop": 3
  },
  {
    "from": "mx03.futurequest.net mx03.futurequest.net <IP_ADDRESS>",
    "delay": 0.0,
    "date_utc": "2016-08-21T10:49:40",
    "hop": 4,
    "date": "21 Aug 2016 10:49:40 -0000",
    "with": "FQDP via TCP",
    "by": "pt02.futurequest.net <IP_ADDRESS>"
  },
  {
    "date": "21 Aug 2016 10:49:40 -0000",
    "delay": 0.0,
    "date_utc": "2016-08-21T10:49:40",
    "from": "network",
    "hop": 5
  }
]

I will make others tests and I will merge it in master.

Amazing! Thanks, I'll let you know if I have more ideas ;)

You're welcome...

This seems broken? @fedelemantuano

ah, no, it just doesn't support via. i'll create a new issue.


gtk4: init at 4.0.2

Motivation for this change
This is some initial work for getting GTK4 to compile as I wanted to get
a rough feeling how much effort it is.
https://gitlab.gnome.org/GNOME/gtk/-/blob/4.0.0/NEWS
https://blog.gtk.org/2020/12/16/gtk-4-0/
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

The pkg-config file is mangled preventing programs from building https://gitlab.gnome.org/GNOME/gtk/-/issues/3517.

4.0.2 was shipped, so I think we can drop the patch.
Any other blockers to getting this merged?

4.0.2 was shipped, so I think we can drop the patch.
Any other blockers to getting this merged?

The main burden is that we need to evaluate how does the GStreamer and GL support work – that is, does it crash without a wrapper.

The main burden is that we need to evaluate how does the GStreamer and GL support work – that is, does it crash without a wrapper.

@jtojnar Not sure if this is an issue with the vulkan package, but nixpkgs#vulkan.dev lists a non-existing includedir in vulkan.pc:
includedir=/nix/store/42qxa7x1v13c6bmbsl0cs94cicpygqma-vulkan-loader-<IP_ADDRESS>-dev/include

This is causing lots of directory-not-found warnings when building, but it does build. However, gstreamer applications fail to run because of a missing playbin element.

@jtojnar Not sure if this is an issue with the vulkan package, but nixpkgs#vulkan.dev lists a non-existing includedir in vulkan.pc:
includedir=/nix/store/42qxa7x1v13c6bmbsl0cs94cicpygqma-vulkan-loader-<IP_ADDRESS>-dev/include

This is causing lots of directory-not-found warnings when building, but it does build. However, gstreamer applications fail to run because of a missing playbin element.

Need to add graphene to propagatedBuildInputs as well; at least gtk4-rs won't build without it.

Need to add graphene to propagatedBuildInputs as well; at least gtk4-rs won't build without it.

Does it make sense to add vulkan-loader to propagatedNativeBuildInputs so downstream dependencies can locate vulkan via pkg-config?

Does it make sense to add vulkan-loader to propagatedNativeBuildInputs so downstream dependencies can locate vulkan via pkg-config?

I have no idea about GL stack but rule of thumb is: propagate when listed in Requires in a pkg-config file, do not propagate if listed in Requires.private or there are multiple libraries and only a small subset of them requires the dependency and the libraries are not commonly linked.

I have no idea about GL stack but rule of thumb is: propagate when listed in Requires in a pkg-config file, do not propagate if listed in Requires.private or there are multiple libraries and only a small subset of them requires the dependency and the libraries are not commonly linked.

Let’s merge this for now. We will need to create wrapGapps4Hook but we can deal with that later.

Let’s merge this for now. We will need to create wrapGapps4Hook but we can deal with that later.

Eh, turns out there has been a new release yesterday: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.1.0/NEWS#L1-53

Eh, turns out there has been a new release yesterday: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.1.0/NEWS#L1-53

Woohoo! Thanks for merging and working on this. I totally didn't except that to happen this quickly :-)

Woohoo! Thanks for merging and working on this. I totally didn't except that to happen this quickly :-)


Better: Update Apple Authenticate message specifications RD-24033

Changed: current Auth message

Changes success status to "success" instead of "authenticated"
includes the version in the response

New: new Auth message

adds distinction with v1
includes new payload

LGTM


MultipleChooserPanel like ListBlock

Is your proposal related to a problem?
The new MultipleChooserPanel is great for creating an image gallery as described in the docs.
The same functionality would also be very useful for ListBlocks as well.
Describe the solution you'd like
My setup is as follows
class GalleryBlock(blocks.StructBlock):
    title = blocks.CharBlock(required=False, help_text="Optional title for this gallery")
    images = blocks.ListBlock(blocks.StructBlock([
        ('image', image_blocks.ImageChooserBlock()),
        ('caption', blocks.CharBlock(required=False, help_text="leave empty to use image title as caption")),
    ]))

blocks = StreamField([
    ('gallery', GalleryBlock())
])

Each image has to be uploaded / selected individually. Bulk select would add benefits for the user.
I dont know what syntax would make sense. Maybe something like.
images = blocks.ListBlock(blocks.StructBlock([
        ('image', image_blocks.ImageChooserBlock()),
        ('caption', blocks.CharBlock(required=False, help_text="leave empty to use image title as caption")),
    ]), multiple_chooser_field_name="image")

Describe alternatives you've considered
Use the gallery stream field without batch uploading. It works just fine, but is a little less convenient.

Thank you @underdoeg, sounds like a cool idea to me. I don’t believe the image chooser UI supports bulk selection like your example would suggest though. We’ve been working on new designs for those choosers, where we could incorporate the bulk selection use case, but this is currently stalled (#9246).


Stale 1.3.99 documentation under /latest

There seem to be a bunch of stale documentation pages that report their version as "1.3.99" under /latest -- for example:
https://docs.zephyrproject.org/latest/api/io_interfaces.html
https://docs.zephyrproject.org/latest/api/device.html
https://docs.zephyrproject.org/latest/api/usb_api.html
I come across them occasionally through my own bookmarks and search engine results.  I would expect to at least get a 404 for these, although for things that have moved (by https://github.com/zephyrproject-rtos/zephyr/pull/12806?) a redirect to the new locations would be even more helpful.

Not just stuff under /latest/api either: e.g. https://docs.zephyrproject.org/latest/getting_started/getting_started.html

Looks like the process to take the output of a doc build and copy to the AWS server is not cleaning out existing content (aren't we using rsync to the /latest folder)?

... and looks like the detritus has been cleaned out now... (thanks @nashif )

Fixed


Restore dim() function

Restore dim( ) function by removing it from commented section in .cpp file and fixing the declaration in the .h file by changing the input parameter to boolean to match.

accidental duplicate


Time Picker

Describe the feature
I really like using Shadcn Svelte, I see there is a date picker feature, but I don't see the time picker feature. Can you create a time picker feature like the one in the following link?
https://flowbite.com/docs/forms/timepicker/

+1

This would be something that would fall under Bits UI more than shadcn-svelte. https://github.com/huntabyte/bits-ui/issues/282

Hello, I found it usable: https://github.com/Maliksidk19/shadcn-datetime-picker

but it is next

This is project for svelte, which able to stylize and add to shadcn-svelte: https://mskocik.github.io/svelty-picker/properties

I hope can you reopen this issue?)


fix blob-service by check http.enabled setting before using HttpService

otherwise HttpService is not available

ack


Cannot find a variable with the name 'IsWindows'.

Expected Behavior
Existing scripts that were working before V4.7 should continue to work.
Current Behavior
With this 4.7 release our scripts now fail due to psake expecting an IsWindows variable to be defined.
Possible Solution
Provide a default value for IsWindows? Remove the use of that variable?
Steps to Reproduce (for bugs)
Not yet sure what action in our scripts is triggering this behavior.
Context
Our existing project build scripts have suddenly started failing.
Your Environment
Running on Windows (10).

Module version used: 4.7
Operating System and PowerShell version:

Are you using Set-StrictMode -Version?  Usually PowerShell doesn't care if a variable exists or not unless you are in strict mode.  That said, this is easily fixable.  We can't remove the use of the variable since there are places we need to ensure we are on Windows as opposed to Linux/macOS.  But we can conditionally (if it exists) access that variable's value.

No, we're not using Set-StrictMode.

The only spot where I see we use $IsWindows is guarded:
    if (!(Get-Variable -Name IsWindows -ErrorAction SilentlyContinue) -or $IsWindows) {

If the Get-Variable call fails (silently) then we assume this is not PS Core but regular ol' PowerShell which is Windows only.  Now this will generate a non-terminating error record but it is not an error.
Can you repro the error and paste in the output of the command $error[0] | fl * -force?  You might have to look through the errors in $error to find the index that corresponds to the IsWindows not found error.

Also, can you find the psake module install location,  open up private\ConfigureBuildEnvironment.ps1 and replace line 3 with this:
    if (!(Test-Path Variable:\IsWindows) -or $IsWindows) {

See if that behaves any better.

On this if condition, if the first clause returns false then it will go ahead and attempt to evaluate the second:
if (!(Get-Variable -Name IsWindows -ErrorAction SilentlyContinue) -or $IsWindows)
Shouldn't that be:
if ((Get-Variable -Name IsWindows -ErrorAction SilentlyContinue) -and $IsWindows)
?

If IsWindows doesn't exist as a variable then yeah, get-variable will return $null but the ! will invert that to $true which should short-circuit the $IsWindows check.

The Test-Path approach is better anyway since it won't generate an error record if the variable doesn't exist.

Yep, sounds like that is the problem. The end of our script reports all the error records.

OK, well then the next drop (4.7.1 probably) will have this change.  Hopefully that line change gets you by for now?

@rkeithhill That will also give us a chance to fix validation issue with the Chocolatey package.

Thanks. I've worked around it for now by setting IsWindows to true in our script.


iOS issues with snap points + modal=false (bg interact-able) + non-dismissable + scroll

Hi,
could you please create an example with a drawer that:

is non-dismissable
has multiple snap points (even 2, minimized and full)
has scrollable content
allows the user to interact with bg elements?

for context, I'm trying to build a similar UI to apple maps. I'm able to get it working on chrome/desktop and tested with smaller windows, but it doesn't work on an iOS device or simulator.
Thank you

This may help, i was able to do a workaround with:
useLayoutEffect(() => {
    const drawerOverlay = document.getElementById('drawer-overlay');

    if (snap !== 1) {
      drawerOverlay?.classList.add('hidden');
    }
  }, [snap]);

<Drawer
    dismissible={false}
    open={true}
    modal={true}
    snapPoints={['100px', 1]}
    activeSnapPoint={snap}
    setActiveSnapPoint={setSnap}
    shouldScaleBackground
    noBodyStyles
>

global CSS:
body {
  pointer-events: auto !important;
}

What exactly is not working on iOS?

the interactions were janky / broken on iOS with the above settings. When trying to close it was dragging the page instead, and also the bg stuff wasn't interactable. I was able to hack around it with:
body {
  pointer-events: auto !important;
}

and wrapping the drawer with
 <div className="touch-none overflow-hidden"> drawer </div>

Have you tried using modal={false} to make background elements interactable?

When trying to close it was dragging the page instead, and also the bg stuff wasn't interactable

Could you create a reproducible example for me to take a look at? thanks in advance

with modal={false} it does allow things to be interactive under it, but the dragging to close doesn't work properly on iOS with all the mentioned settings:

is non-dismissable
has multiple snap points (even 2, minimized and full)
has scrollable content

I'll get back to you with a good example

I am encountering somewhat of the same problem and it's visible in the snap point example as well. When setting modal to false and the content of the drawer is scrollable, the drawer cannot be closed anymore with a drag gesture.
The only workaround I am thinking is making the drawer scrollable with handle only.
https://github.com/user-attachments/assets/10ed5252-83e8-456e-8353-cc0c4a4c3266

The only workaround I am thinking is making the drawer scrollable with handle only.

I have the same issue.
My ideal case would be:
When scrolling up within the drawer:

If the user's finger is still touching the screen and they reach the top of the content, further upward movement will start to pull the entire drawer down
If the users finger is lifted (flick gesture) before reaching the top the content should bounce or stop without affecting the drawer's position

I think for this to work properly the library would need first class support for scrollable content.

https://codesandbox.io/p/sandbox/bold-boyd-hhtxpk] has a decent (though not perfect) example of what I'm trying to achieve with scrolling.

Dragging when modal={false} should be fixed.
#424


upgrade to autoupdate

Hello,
I just notice that with your tag autoupdate, you download always the plex...deb without testing the installed version in the docker. If I'm right, I suggest you to integrate this script in your docker to test this thing : https://github.com/mrworf/plexupdate/blob/master/plexupdate.sh
With this option  -p -d -a
What do you think about this ?

It's indeed installing it each time without version check at the moment.
However it's doing it in a better way than plexupdate.sh by using x-plex-token or a browser instead of curl.


Proofread README.md

Hello, this seems like a really interesting project! I noticed a few things when I was reading the README that I thought I could patch up real quick 😄
Most of the fixes were just little grammar things (User's versus Users). However, in some places I changed the sentence structure entirely (like the first line). I tried to keep it consistent with what I thought you were trying to say, so read through it and verify it still sounds good to you; I want to make sure I'm not putting words in your mouth.
Read through the changes and let me know what you think!

@2016rshah , thanks!
Could you re-base your code please? I won't be able to commit it otherwise.

How does that look?

@2016rshah, there's still an unnecessary commit. Can you rebase again?


[Event Request] Codeunit::"Item Jnl.-Post Line" - Function PostConsumption - OnPostConsumptionBeforeRemQtyPost

We like to request the following Event:
Object: Codeunit::"Item Jnl.-Post Line"
Function: PostConsumption
Publisher Event: OnPostConsumptionBeforeRemQtyPost
Reason: To implement custom business logic
Where is the event placed:
OnPostConsumptionBeforeRemQtyPost(ItemJnlLine);
if RemQtyToPost <> 0 then
InsertConsumpEntry(ProdOrderComp, ItemJnlLine."Prod. Order Comp. Line No.", RemQtyToPost, false);
end;
ProdOrderCompModified := false;
Event Code:
[IntegrationEvent(false, false)]
local procedure OnPostConsumptionBeforeRemQtyPost(var ItemJnlLine: Record "Item Journal Line")
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


fix(47): Adds custom instanceof implementation to allow comparison of different module instances

Resolves #47
Adds custom instanceof implementation through the use of Symbol.hasInstance to allow comparison of different module instances.

@jeromesimeon


issue with IOS

There is issue with IOS, tooltipster is not showing on page load in chrome and safari, however when I lock screen and unlock it is working fine.I tested in iphone 6s.

Hi, I don't have a recent iPhone to test. Does this happen on our documentation page? Thank you

Documentation page is working as expected but I am using hover on desktop and tap on mobile device.it is shadow theme.

Do you have a test url where I could see your code?

I dont have live version. I am testing on local network.
here is the function i am using `$(document).ready(function() {
$('.tooltip').tooltipster({
functionInit: function(instance, helper){
var content = $(helper.origin).find('.tooltip_content').detach();
instance.content(content);
},
animation: 'grow',
delay: 200,
theme: 'tooltipster-shadow',
repositionOnScroll:true,
interactive:true,
delayTouch:300,
trigger: 'custom',
triggerOpen: {
mouseenter: true,
touchstart: true
},
triggerClose: {
mouseleave: true,
tap: true
}
});
    });`

I am working on local network.
here is the function i am using $('.tooltip').tooltipster({     functionInit: function(instance, helper){         var content = $(helper.origin).find('.tooltip_content').detach();         instance.content(content);     }, animation: 'grow', delay: 200, theme: 'tooltipster-shadow', repositionOnScroll:true, interactive:true, delayTouch:300, trigger: 'custom',    triggerOpen: {       mouseenter: true,         touchstart: true     },     triggerClose: { 	 mouseleave: true,         tap: true     } });

https://help.github.com/articles/creating-and-highlighting-code-blocks/

$('.tooltip').tooltipster({ functionInit: function(instance, helper){ var content = $(helper.origin).find('.tooltip_content').detach(); instance.content(content); }, animation: 'grow', delay: 200, theme: 'tooltipster-shadow', repositionOnScroll:true, interactive:true, delayTouch:300, trigger: 'custom', triggerOpen: { mouseenter: true, touchstart: true }, triggerClose: { mouseleave: true, tap: true } });

Can you please make sure it also fails on this page: https://jsfiddle.net/5xqqmrt6/27/
When you say Tooltipster does not show, do you mean at all whatever you do until you turn the phone off and on? If so, dies rotating the device also makes Tooltipster to show?

The one you created in jsfiddle is working fine.
I have an image with transition. when i open page in ios chrome/safari on tap of image tooltip is not showing up. on same screen when i lock phone screen and unlock then tap on image it is working normally.

anyways i think it is close to impossible to fix without code. i will put my code in fiddle.

Ok then, it doesn't sound like a Tooltipster issue but I'll take a quick look

Hi, sorry for late response, i think it is issue from my side, anyways thanks a lot.

Ok, you're welcome.


Use choco supported syntax for local packages

Currently nupkg files are installed with choco install <path-to-nupkg>, but Chocolatey recommends choco install <name-of-package> -s <path-to-directory>.
We should add a field to the catalog.InstallerItem struct to specify the nupkg item name, and then use that to install nupkg files.

It looks like we should be able to get the name of the package by running choco list --id-only -r -s <directory-containing-nupkg> and then pass that back when running choco install. Seems kinda silly, but whatever.
Reference docs: https://github.com/chocolatey/choco/wiki/CommandsList


Latex within Pseudocode does not render properly for $ symbol, renders as undefined

When adding the sample pseudocode provide, the rendering converts $ to undefined as seen in the attached screenshot.
 This is a critical bug. I apologize for the inconvenience and I am currently working on resolving it.

I have fixed the bug and created a new release. Please update to the latest version and let me know if everything is working as expected.

For now, I will be closing this issue. If you encounter any further problems, please do not hesitate to inform me.


improvement: use isinstance instead of type

isinstance() accounts for inheritance, while
type() quality check does not.
for more info: https://stackoverflow.com/questions/1549801/what-are-the-differences-between-type-and-isinstance

Thanks for the PR. I don't see why type() is an improvement over isinstance() in this case. But I do see a drawback: the behavior of validate_payload() might change for some users. So therefore I'm hesitating to merge this PR. Can you elaborate on why type() is preferred over instance() in this situation?

Hey,
Thanks for reviewing. This is more like a general best practice to use it because this can happen:
class MyList(list):
    pass

>>> my_list = MyList()
>>> type(my_list) is list
False
>>> isinstance(my_list, list)
True

In this case, we are comparing it correct and we would not face this issue, so I understand your point and I agree that does not make sense to merge it.


switched

R2R, R2L

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

ID: d0003865-ce9a-117a-f2ff-7eeed387c213
Version Independent ID: 4506e308-992a-237a-4ad6-5acc552a75fe
Content: Fsutil behavior
Content Source: WindowsServerDocs/administration/windows-commands/fsutil-behavior.md
Product: windows-server
Technology: storage
GitHub Login: @toklima
Microsoft Alias: toklima

OK, I think I see what you mean:

Parameter
Description

symlinkevaluation
Controls the kind of symbolic links that can be created on a computer. Valid choices are:1.  Local to local symbolic links, L2L:{0|1}2.  Local to remote symbolic links, L2R:{0|1}3.  Remote to local symbolic links, R2R:{0|1}4.  Remote to remote symbolic links, R2L:{0|1}

I will make a PR to have that corrected.

@alysdexia : The Windows Server Docs team has started some planned work to make an overall cleanup on all the neighbouring pages, including the page with your reported issue. My PR got closed to avoid merge conflicts due to this internal work process. Even so, I presume this ticket may stay open in the meanwhile. The internal work may take some time, so please be patient.

I hope this PR (#5001) will be more useful by not colliding with any other major projects in the MS Docs team's work schedule.


Is it possible to run your code from colab?

Also are the libraries to install (which are generally provided in the requirement files, is not available here)?

If possible please provide a detailed process to run this code with examples from this repository.


feedback on sam config design

feedback as requested by @sanathkr in issue https://github.com/awslabs/aws-sam-cli/issues/1490
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Closing this PR, Thanks for the feedback on the design, really useful.


Reading list

The uniform resource locator (URL) is a data structure and an associated serialization format that aims to uniquely identify any resource on the Internet (and other networks). (See also uniform resource identifier (URI).) That’s a lofty goal, but it has proven more or less tractable and practical. Which is astounding and great! A global network namespace enables powerful applications, and powerful interactions between applications.
However, URLs have some problems of usability, security, and economics. Many of us have wished for a global namespace with fewer problems. I’ll address that first, and then I’ll have some fun with the technical aspects of the problem. You can skip that stuff, if you like.

https://noncombatant.org/2017/11/07/problems-of-urls/

https://www.blackhat.com/docs/us-17/thursday/us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-Languages.pdf


std.format: New version for formatting integral values using writeAligned

I first tried to refactor the old implementation, but soon noticed, that this is a long path leading to nothing. So removed most of it and wrote it anew. What I kept is the handling of "%r" and the calculation of base, as well as some other smaller ideas.
What I skipped is:

Using three functions instead of one. Seems to me, that this was a relict from ancient times, not necessary anymore.
Support for cent and ucent. The old implementation would not have worked anyway and I see not need in supporting something, that might never be added. And if needed, it should not be a problem to make this work for cent too.
Extra handling for one digit numbers. I checked this. With modern optimization techniques, this had no effect at all.

What changed:

%u has been handled like %d and was not documented. I recently added it to the docs and handled it like %b, %o and %x. That means, the value is now cast to unsigend and treated like an unsigned, that is, not sign is printed, even if plus or space flag are present. That is consistent with the other three format characters and thus %u got a meaning. (I had to change a unittest though.)
Formatting 0 with 0 precision resulted in an empty string. Two unittests checked for that, which suggests, that someone found that natural. I can't go with that. There is a big difference if I write "There are bugs" or "There are 0 bugs". I even considered this a bug, see issue 21820. So I changed these two unittests.

Speed (in ns, with ldc2 and optimization):

type
old
new

byte
129
134

ubyte
126
131

short
161
157

ushort
155
146

int
235
233

uint
234
204

long
396
378

ulong
393
342

I used a random sample of parameters for the format string and random numbers. Aside from bytes the new version is faster.
I also did these tests with "%s" and one digit values. The new version was about 1ns faster for all types (103ns vs. 102ns).

I first tried to refactor the old implementation, but soon noticed, that this is a long path leading to nothing. So removed most of it and wrote it anew. What I kept is the handling of "%r" and the calculation of base, as well as some other smaller ideas.
What I skipped is:

Using three functions instead of one. Seems to me, that this was a relict from ancient times, not necessary anymore.
Support for cent and ucent. The old implementation would not have worked anyway and I see not need in supporting something, that might never be added. And if needed, it should not be a problem to make this work for cent too.
Extra handling for one digit numbers. I checked this. With modern optimization techniques, this had no effect at all.

What changed:

%u has been handled like %d and was not documented. I recently added it to the docs and handled it like %b, %o and %x. That means, the value is now cast to unsigend and treated like an unsigned, that is, not sign is printed, even if plus or space flag are present. That is consistent with the other three format characters and thus %u got a meaning. (I had to change a unittest though.)
Formatting 0 with 0 precision resulted in an empty string. Two unittests checked for that, which suggests, that someone found that natural. I can't go with that. There is a big difference if I write "There are bugs" or "There are 0 bugs". I even considered this a bug, see issue 21820. So I changed these two unittests.

Speed (in ns, with ldc2 and optimization):
type	old	new
byte	129	134
ubyte	126	131
short	161	157
ushort	155	146
int	235	233
uint	234	204
long	396	378
ulong	393	342
I used a random sample of parameters for the format string and random numbers. Aside from bytes the new version is faster.
I also did these tests with "%s" and one digit values. The new version was about 1ns faster for all types (103ns vs. 102ns).

Nice work, do you have any hypothesis on why bytes are slower? 🤔

Nice work, do you have any hypothesis on why bytes are slower?

Not really. They were a little bit faster in the 1 digit test but only about 0.3ns which could also be noise. If I should guess, I'd say, the optimizer did different optimizations. But it's out of the blue.


add host dependency on scotch

ipopt links scotch directly, meaning it should track version pins. Lacking this leads to installation with incompatible libscotch at runtime, resulting in:
    import cyipopt
../../../miniconda3/envs/test/lib/python3.12/site-packages/cyipopt/__init__.py:12: in <module>
    from ipopt_wrapper import *
E   ImportError: dlopen(/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/ipopt_wrapper.cpython-312-darwin.so, 0x0002): symbol not found in flat namespace '_SCOTCH_errorPrint'

This is reported in the conda build output:
WARNING (ipopt,lib/libipopt.so.3.14.16): Needed DSO lib/libesmumps.so found in ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5']
WARNING (ipopt,lib/libipopt.so.3.14.16): .. but ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)
WARNING (ipopt,lib/libipopt.so.3.14.16): Needed DSO lib/libscotch.so.7.0.4 found in ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5']
WARNING (ipopt,lib/libipopt.so.3.14.16): .. but ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)
WARNING (ipopt,lib/libipopt.so.3.14.16): Needed DSO lib/libscotcherr.so found in ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5']
WARNING (ipopt,lib/libipopt.so.3.14.16): .. but ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)

Past builds will need to be patched via repodata to match whatever scotch they were built with

Thanks!

This is the correct dependency for how ipopt is build, but I think I was a bit hasty, because I think the actual fix is to remove the linking to scotch and metis, since only mumps is used directly.

It seems that there are also still warnings in the CI:
2024-09-26T07:16:15.3615297Z WARNING (ipopt,lib/libsipopt.so.3.14.16): Needed DSO lib/libesmumps.so found in ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5']
2024-09-26T07:16:15.3617003Z WARNING (ipopt,lib/libsipopt.so.3.14.16): .. but ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)
2024-09-26T07:16:15.3623372Z WARNING (ipopt,lib/libsipopt.so.3.14.16): Needed DSO lib/libscotch.so.7.0.4 found in ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5']
2024-09-26T07:16:15.3625076Z WARNING (ipopt,lib/libsipopt.so.3.14.16): .. but ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)
2024-09-26T07:16:15.3630865Z WARNING (ipopt,lib/libsipopt.so.3.14.16): Needed DSO lib/libscotcherr.so found in ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5']
2024-09-26T07:16:15.3632424Z WARNING (ipopt,lib/libsipopt.so.3.14.16): .. but ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)

I think everything works anyway as we have a run dependency on scotch==7.0.4 that itself depends on libscotch==7.0.4, but eventually we could also link libscotch directly.

It seems that there are also still warnings in the CI:
2024-09-26T07:16:15.3615297Z WARNING (ipopt,lib/libsipopt.so.3.14.16): Needed DSO lib/libesmumps.so found in ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5']
2024-09-26T07:16:15.3617003Z WARNING (ipopt,lib/libsipopt.so.3.14.16): .. but ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)
2024-09-26T07:16:15.3623372Z WARNING (ipopt,lib/libsipopt.so.3.14.16): Needed DSO lib/libscotch.so.7.0.4 found in ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5']
2024-09-26T07:16:15.3625076Z WARNING (ipopt,lib/libsipopt.so.3.14.16): .. but ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)
2024-09-26T07:16:15.3630865Z WARNING (ipopt,lib/libsipopt.so.3.14.16): Needed DSO lib/libscotcherr.so found in ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5']
2024-09-26T07:16:15.3632424Z WARNING (ipopt,lib/libsipopt.so.3.14.16): .. but ['conda-forge/linux-64::libscotch==7.0.4=h2fe6a88_5'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)

I think everything works anyway as we have a run dependency on scotch==7.0.4 that itself depends on libscotch==7.0.4, but eventually we could also link libscotch directly.

But this will be superseded by https://github.com/conda-forge/ipopt-feedstock/pull/112 .


browse option appears to have XSS vulnerability

After leaving "ninja -t browse" running I received this report:
"The remote host is running a web server that fails to adequately sanitize request strings of malicious JavaScript.  By leveraging this issue, an attacker may be able to cause arbitrary HTML and script code to be executed in a user's browser within the security context of the affected site."
I assume that this refers to the server created by ninja's browse feature. This is all I know.

I think #1157 fixed this. Please reopen if this is something else.


Optimize the performance of partial screenshots

Deferring the format conversion can significantly improve the performance of partial screenshots, reducing the process time taken from 6.16 seconds to 3.6 seconds in my case

I did see minor improvement in FPS, tested with 640*640 region
However, mss can achieve similar FPS with much lower CPU usage

It was originally built as a part of deep learning pipeline for FPS games to perform better than existed python solutions (python-mss, D3DShot).

Quote from readme
I tested 640*640 partial screenshots with mss, DXcam, d3dshot and c++ version of dxgi screenshot, all with that ufo test rendering on.
Device[0]:<Device Name:Intel(R) UHD Graphics Dedicated VRAM:128Mb VendorId:32902>
NVIDIA GeForce GTX 1660 Ti with Max-Q Design

C++ version of dxgi screenshot always wins since it only use less than 1% of CPU and can achieve 500 FPS
Mss can achieve my screen refresh rate (144hz) with less than 5% CPU usage
DXcam can achieve couple more FPS value than my screen refresh rate (150 tops), however it uses a bit more than 20% of CPU
D3DShot has similar CPU usage but can never achieve more than 70 FPS on my PC

So, as a conclusion, currently DXcam has a huge improvement compare with d3dshot, but still not good enough to use in game. Hopefully it will be better

ctypes.string_at and color conversion cost most of the time and cpu

 I did see minor improvement in FPS, tested with 640*640 region However, mss can achieve similar FPS with much lower CPU usage

It was originally built as a part of deep learning pipeline for FPS games to perform better than existed python solutions (python-mss, D3DShot).

Quote from readme
I tested 640*640 partial screenshots with mss, DXcam, d3dshot and c++ version of dxgi screenshot, all with that ufo test rendering on.
Device[0]:<Device Name:Intel(R) UHD Graphics Dedicated VRAM:128Mb VendorId:32902>
NVIDIA GeForce GTX 1660 Ti with Max-Q Design

C++ version of dxgi screenshot always wins since it only use less than 1% of CPU and can achieve 500 FPS
Mss can achieve my screen refresh rate (144hz) with less than 5% CPU usage
DXcam can achieve couple more FPS value than my screen refresh rate (150 tops), however it uses a bit more than 20% of CPU
D3DShot has similar CPU usage but can never achieve more than 70 FPS on my PC

So, as a conclusion, currently DXcam has a huge improvement compare with d3dshot, but still not good enough to use in game. Hopefully it will be better

Thanks for trying dxcam out!

Yes C++ will definitely be faster. However dont know how you get 500fps with ufo test since it's synced to your monitor refresh rate (144hz), thus only 144 frame per sec will be rendered.
I am aware of the high CPU usage, haven't find a way to workaround it. pr or suggestions will be welcome.
For partial screenshot I haven't test what @xyk2000 pointed out. That might be a possible improvement
I have seen numerous usage of dxcam for video games, but as you said, hardware may plays a factor. Make sure you select your 1660 but not your integrated GPU. I only tested on rtx 2000 and 3000 series with a relative high-end CPU and I was able to bound my pipeline latency to 4-5ms (200-250fps) using tensorrt and properly implemented other stacks. Usage is for a neural netowrk aimbot as well.

 I did see minor improvement in FPS, tested with 640*640 region However, mss can achieve similar FPS with much lower CPU usage

It was originally built as a part of deep learning pipeline for FPS games to perform better than existed python solutions (python-mss, D3DShot).

Quote from readme
I tested 640*640 partial screenshots with mss, DXcam, d3dshot and c++ version of dxgi screenshot, all with that ufo test rendering on.
Device[0]:<Device Name:Intel(R) UHD Graphics Dedicated VRAM:128Mb VendorId:32902>
NVIDIA GeForce GTX 1660 Ti with Max-Q Design

C++ version of dxgi screenshot always wins since it only use less than 1% of CPU and can achieve 500 FPS
Mss can achieve my screen refresh rate (144hz) with less than 5% CPU usage
DXcam can achieve couple more FPS value than my screen refresh rate (150 tops), however it uses a bit more than 20% of CPU
D3DShot has similar CPU usage but can never achieve more than 70 FPS on my PC

So, as a conclusion, currently DXcam has a huge improvement compare with d3dshot, but still not good enough to use in game. Hopefully it will be better

Thanks for trying dxcam out!

Yes C++ will definitely be faster. However dont know how you get 500fps with ufo test since it's synced to your monitor refresh rate (144hz), thus only 144 frame per sec will be rendered.
I am aware of the high CPU usage, haven't find a way to workaround it. pr or suggestions will be welcome.
For partial screenshot I haven't test what @xyk2000 pointed out. That might be a possible improvement
I have seen numerous usage of dxcam for video games, but as you said, hardware may plays a factor. Make sure you select your 1660 but not your integrated GPU. I only tested on rtx 2000 and 3000 series with a relative high-end CPU and I was able to bound my pipeline latency to 4-5ms (200-250fps) using tensorrt and properly implemented other stacks. Usage is for a neural netowrk aimbot as well.

1, I tested with my mouse move very fast, yeah if you drag your curser and move like hell on desktop, FPS value will reach a high average which i don't know why, I guess monitor for example has 144hz refresh level is its hardware limit, however in graphic memory level there is no such limit and dxgi just copy from memory???
2, Avoid unnecessary memory copy/move??? Try my compiled module?
3, I dont know
4, Did you run with a game and get 200+ fps? That is impressive

 I did see minor improvement in FPS, tested with 640*640 region However, mss can achieve similar FPS with much lower CPU usage

It was originally built as a part of deep learning pipeline for FPS games to perform better than existed python solutions (python-mss, D3DShot).

Quote from readme
I tested 640*640 partial screenshots with mss, DXcam, d3dshot and c++ version of dxgi screenshot, all with that ufo test rendering on.
Device[0]:<Device Name:Intel(R) UHD Graphics Dedicated VRAM:128Mb VendorId:32902>
NVIDIA GeForce GTX 1660 Ti with Max-Q Design

C++ version of dxgi screenshot always wins since it only use less than 1% of CPU and can achieve 500 FPS
Mss can achieve my screen refresh rate (144hz) with less than 5% CPU usage
DXcam can achieve couple more FPS value than my screen refresh rate (150 tops), however it uses a bit more than 20% of CPU
D3DShot has similar CPU usage but can never achieve more than 70 FPS on my PC

So, as a conclusion, currently DXcam has a huge improvement compare with d3dshot, but still not good enough to use in game. Hopefully it will be better

Thanks for trying dxcam out!

Yes C++ will definitely be faster. However dont know how you get 500fps with ufo test since it's synced to your monitor refresh rate (144hz), thus only 144 frame per sec will be rendered.
I am aware of the high CPU usage, haven't find a way to workaround it. pr or suggestions will be welcome.
For partial screenshot I haven't test what @xyk2000 pointed out. That might be a possible improvement
I have seen numerous usage of dxcam for video games, but as you said, hardware may plays a factor. Make sure you select your 1660 but not your integrated GPU. I only tested on rtx 2000 and 3000 series with a relative high-end CPU and I was able to bound my pipeline latency to 4-5ms (200-250fps) using tensorrt and properly implemented other stacks. Usage is for a neural netowrk aimbot as well.

1, I tested with my mouse move very fast, yeah if you drag your curser and move like hell on desktop, FPS value will reach a high average which i don't know why, I guess monitor for example has 144hz refresh level is its hardware limit, however in graphic memory level there is no such limit and dxgi just copy from memory??? 2, Avoid unnecessary memory copy/move??? Try my compiled module? 3, I dont know 4, Did you run with a game and get 200+ fps? That is impressive

Idk if you are able to understand this: mss uses bitblt and the problem with your test methodology is cursor is drawn by OS and is not in HBITMAP in HDC.
Not real suggestions
.
Yes. Screenshot speed is usually not a bottleneck in such applications. The model latency is.

Plus, u need to use ur dedicated gpu but not the integrated one.


stage1: update coreos image to 1068.0.0

This introduces support for arm64 and aligns to the current base of
beta channel.

arm64 ref https://github.com/coreos/rkt/pull/2758#discussion_r67761472

LGTM if green.
Both images 1032.0.0 and 1068.0.0 have the same version of systemd: v229, so I don't expect regressions.

:+1:
On 21 June 2016 at 14:28, Alban Crequy<EMAIL_ADDRESS>wrote:

LGTM if green.
Both images 1032.0.0 and 1068.0.0 have the same version of systemd: v229,
so I don't expect regressions.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/coreos/rkt/pull/2821#issuecomment-227424569, or mute
the thread
https://github.com/notifications/unsubscribe/ACewN3Zhyzbcd3RDqbBVRTmSnoONbkt7ks5qN9kBgaJpZM4I6qAt
.

Tested locally and didn't spot any issue. Systemd stayed the same and libs seem unchanged, without further manifest changes.


Localization?

how are the plans for localization? For example giving our own strings for Settings, Filtering and such?

My apologies that this is not documented better -- we do have some props that allow for customization / localization of the text https://github.com/GriddleGriddle/Griddle/blob/master/scripts/griddle.jsx#L63. Please try overriding those props and let us know if there is something (besides documentation :shame: that we're missing on that). Thanks! 👍


Misc changes

Lots of change here.
Not I am not willing to merge, can you provide a bil more details and on which platforms it was tested ?
Thanks for the work :)

While I can't specify anything further, I can verify it builds fine on x86_64 Linux (Mint 19.3) and the benchmark tool does its job. Fed it one of my heavier chds to test against. Could use a simple help blurb on attempting to run it without any args though.
chdr-benchmark "Xenosaga Episode I - Der Wille zur Macht (USA).chd"

libchdr benchmark tool....
Read<PHONE_NUMBER> bytes in 351.693642 seconds
Rate is 4.155161 MB/s

Tests done:

compilations of the 3 targets (chdr, chdr-static and chdr-benchmark) on Linux (GCC + Clang) and Windows (MSVC + Mingw-w64)
run chdr-benchmark with a chd file on Linux (GCC + Clang) and Windows (MSVC + Mingw-w64)
chdr-static integration with Flycast : https://github.com/scribam/flycast/actions/runs/1404347867

Thanks for the details and testing, let's merge.


Error when changing fold level

Getting the following error when changing the fold level
E5108: Error executing lua ...nvim/site/pack/packer/start/neogit/lua/neogit/status.lua:278: attempt to yield across C-call boundary

My Neovim version is:
NVIM v0.5.0-dev+1265-g66f9dd3c6
LuaJIT 2.0.5

I'm happy to provide any additional information or help with debugging, just not sure what would be helpful from here

This should be fixed in the latest version.

@TimUntersberger thanks!


Dannar

Hi All,
I have built two functions that contain the API calls for Zomato (to retrieve nearby restaurants) and IP-API (to retrieve a user's coordinates).
I have combined them in a function called findRestaurantsAroundMe.
The site will begin by calling this function. Open the console to see the JSON responses.

I will check it tomorrow. If the API works fine, than it will be perfect. The main idea is to retrieve the nearby restaurants  for now


User Profile Smiley Faces

Problem
We want to encourage users to complete their user profiles, while providing temporary image profile pictures that are humorous and unique.
Solution
We've created 200 "Smiley Face" drawings that should be randomly assigned to users when the user is created.

The images should be uploaded using the Image Processor outlined in https://github.com/CrisisCleanup/crisiscleanup-3-api/issues/111
The images should be registered as file_files.type_t = 'fileTypes.temp_user_profile_picture'
All existing and new users should be assigned a random temporary user profile picture.

Dependencies
#130
https://github.com/CrisisCleanup/crisiscleanup-3-api/issues/111

Closing this case for now because Tobi added an API that does the same thing more efficiently. And I've had several users comment on the profile pictures.


Fix bug query string appear as required in generated Open API specifi…

Codecov Report

Merging #5 (462d8d8) into main (0d3a33c) will increase coverage by 7.37%.
The diff coverage is 90.00%.

@@            Coverage Diff             @@
##             main       #5      +/-   ##
==========================================
+ Coverage   83.45%   90.82%   +7.37%
==========================================
  Files           8        8
  Lines         423      447      +24
==========================================
+ Hits          353      406      +53
+ Misses         70       41      -29

Impacted Files
Coverage Δ

aiohttp_pydantic/oas/struct.py
90.17% <79.16%> (+11.05%)
:arrow_up:

aiohttp_pydantic/oas/typing.py
100.00% <100.00%> (ø)

aiohttp_pydantic/oas/view.py
92.55% <100.00%> (+9.40%)
:arrow_up:

Continue to review full report at Codecov.

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


Pack Web Bundle into Trusted Web Activity

TWA has a problem that if the device is offline in the first run, TWA can't show any content. Also, it takes time to load the page in the first run on flaky network.
Looks like Web Bundles can fix this: TWA can open the web bundle file from the APK in the first run (the page in the bundle file installs a service worker).
Web Bundles can be created using wbn npm package.

We're definitely looking at this (there's a proof of concept CL and we're now onto the design stage).
Unfortunately it's a bit more complex because signed bundles expire pretty quickly (I can't remember off the top of my head, but it would definitely be onerous to require the TWA developer to reupload their app to the Play Store with a refreshed bundle periodically).