Making a search without downloading anything

Hi, I know it's possible to make a search with this command: youtube-dl "ytsearch:dank memes compilation"
I would like to be able to just make a search and get the URLs and Titles but not download anything.
My goal is using youtube-dl as a library or a tool in my project Dragonfire. I know youtube-dl is not a search tool but a downloader. But youtube-dl is maybe the only tool that guarantee to be always up to date with YouTube. So youtube-dl is the best option for such a task even if it's not the main purpose.
When I looked up to the source code, I found this function which is handling the request. So I have imported that part and tried to use it:
>>> from youtube_dl.extractor.youtube import YoutubeSearchIE
>>> a = YoutubeSearchIE()
>>> a._get_n_results('PewDiePie',1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 2497, in _get_n_results
    query={'spf': 'navigate'})
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 666, in _download_json
    encoding=encoding, data=data, headers=headers, query=query)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 634, in _download_webpage
    res = self._download_webpage_handle(url_or_request, video_id, note, errnote, fatal, encoding=encoding, data=data, headers=headers, query=query)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 531, in _download_webpage_handle
    urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 492, in _request_webpage
    self.to_screen('%s: %s' % (video_id, note))
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 691, in to_screen
    self._downloader.to_screen('[%s] %s' % (self.IE_NAME, msg))
AttributeError: 'NoneType' object has no attribute 'to_screen'

I got an error probably because it's not suppose to be used as the way I tried to use. So if it's not possible to use youtube-dl in such a way then this issue is a feature request :smile:
P.S. if the developers guide me then maybe I can implement this feature by myself and send a pull request...

https://github.com/rg3/youtube-dl#embedding-youtube-dl
info = ydl.extract_info('ytsearch:dank memes compilation', download=False, ie_key='YoutubeSearch')
// process info

@dstftw thank you so much, these options solved my problem:
>>> from __future__ import unicode_literals
>>> import youtube_dl
>>>
>>> ydl_opts = {'default_search': 'ytsearch', 'forcetitle': True, 'skip_download': True}
>>> with youtube_dl.YoutubeDL(ydl_opts) as ydl:
...     ydl.download(['PewDiePie'])
...
[youtube:search] query "PewDiePie": Downloading page 1
[download] Downloading playlist: PewDiePie
[youtube:search] playlist PewDiePie: Collected 1 video ids (downloading 1 of them)
[download] Downloading video 1 of 1
[youtube] u57obOmxrts: Downloading webpage
[youtube] u57obOmxrts: Downloading video info webpage
[youtube] u57obOmxrts: Extracting video information
[youtube] u57obOmxrts: Downloading MPD manifest
Tired of trying...
[download] Finished downloading playlist: PewDiePie
0


node_modules/hoodie folder is 23,8mb

nearly all of it are unneeded things like the pandoc binary and docs. We should remove it by adding the "files" setting to hoodie’s package.json file and only list what’s needed to be published

Thanks for the description, I would like to work on this issue :)

#780

#780
please have a look and review

The folder is now only 79 KB! Thanks a ton @sohini-roy, this makes a huge difference :)

Wow, thanks so much @sohini-roy ! 👍


Unable to type and make further correction and adjustment after deploying.

Describe the bug
Unable to type and make further correction and adjustment after deploying. the cursor is showing  a red cycle with a red line across that does not allow one type. cos I want to convert the code to ,jsx and also see the changes in the already deployed code
Link to the Bolt URL that caused the error
https://bolt.new/~/bolt-vite-react-dhytb7ry
Validations

[X] Please make your project public or accessible by URL. This will allow anyone trying to help you to easily reproduce the issue and provide assistance.

Steps to reproduce
cursor should show and one typing after deployment
Expected behavior
cursor should show and one typing after deployment
Screen Recording / Screenshot

Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 130
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 54668320,
  "usedJSHeapSize": 52151472,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = EllaGospel
Chat ID = cab614a6e309

Additional context
No response

So you deployed your code once on netlify, and its not deploying the changes to same url??


Reinitializable iterator doesn't use cached dataset upon reinitializing

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes, written custom code
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 8.1
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 1.8.0
Python version: 3.6.5
Bazel version: N/A
CUDA/cuDNN version: CUDA 9.0, cuDNN v7.0
GPU model and memory: NVIDIA GeForce GTX 960 (faced the same problem with 1080 Ti)
Exact command to reproduce: see below

Describe the problem
Found a likely bug when using a reinitialiable iterator with a cached dataset. Upon reinitializing the iterator, the iterator does not use the cached dataset. This can be verified using the sample code below.
Source code
import tensorflow as tf
import numpy as np
import time

LENGTH = 3
CACHE = True
VERBOSE = True
SHAPE = (1,)

def data_generator():
    for n in range(LENGTH):
        data = np.random.rand(*SHAPE)
        yield data

def get_dataset():
    train_data = tf.data.Dataset.from_generator(data_generator, output_types=tf.float32)
    if CACHE:
        train_data = train_data.cache()
    return train_data

def get_dataset_repeat():
    train_data = tf.data.Dataset.from_generator(data_generator, output_types=tf.float32)
    if CACHE:
        train_data = train_data.cache()
    train_data = train_data.repeat()
    return train_data

data = get_dataset()
data_repeat = get_dataset_repeat()

iterator = tf.data.Iterator.from_structure(data.output_types, data.output_shapes)
next_element = iterator.get_next()

data_init = iterator.make_initializer(data)
data_init_repeat = iterator.make_initializer(data_repeat)

sess = tf.Session()

print('Reading values from iterator by reinitializing')
epoch = 1

for _ in range(5):
    start = time.time()
    sess.run(data_init)
    print('Epoch %d:' % epoch, end=' ')
    for _ in range(LENGTH):
        output = sess.run(next_element)

        if VERBOSE:
            print(output, end=' ')

    end = time.time()
    print("Time taken: %f" % (end - start))

    epoch += 1

print('Reading values from iterator using repeat')
epoch = 1
sess.run(data_init_repeat)

for _ in range(5):
    start = time.time()
    print('Epoch %d:' % epoch, end=' ')
    for _ in range(LENGTH):
        output = sess.run(next_element)

        if VERBOSE:
            print(output, end=' ')

    end = time.time()
    print("Time taken: %f" % (end - start))

    epoch += 1

This code gives the following output:

Reading values from iterator by reinitializing
Epoch 1: [0.00544547] [0.19976228] [0.5371114] Time taken: 0.017011
Epoch 2: [0.97181207] [0.35276905] [0.69020385] Time taken: 0.003002
Epoch 3: [0.19892913] [0.2760849] [0.8980513] Time taken: 0.003003
Epoch 4: [0.92679894] [0.5854017] [0.6552748] Time taken: 0.003002
Epoch 5: [0.38050508] [0.7676437] [0.41214108] Time taken: 0.003002
Reading values from iterator using repeat
Epoch 1: [0.28107443] [0.8882484] [0.59744525] Time taken: 0.003003
Epoch 2: [0.28107443] [0.8882484] [0.59744525] Time taken: 0.003002
Epoch 3: [0.28107443] [0.8882484] [0.59744525] Time taken: 0.000000
Epoch 4: [0.28107443] [0.8882484] [0.59744525] Time taken: 0.001001
Epoch 5: [0.28107443] [0.8882484] [0.59744525] Time taken: 0.001000

In the second case, the same values are printed at every epoch because the iterator uses the cached data. However, in the first case, different values are printed at every epoch - indicating that the iterator does not use the cached values. This can be further verified by looking at the time taken (which will be more prominent with larger data). So in the above code, if I set LENGTH = 100, VERBOSE = False and SHAPE = (500, 1000, 3), I get the following output:

Reading values from iterator by reinitializing
Epoch 1: Time taken: 2.228584
Epoch 2: Time taken: 2.182549
Epoch 3: Time taken: 2.175545
Epoch 4: Time taken: 2.185551
Epoch 5: Time taken: 2.161536
Reading values from iterator using repeat
Epoch 1: Time taken: 2.147525
Epoch 2: Time taken: 0.263195
Epoch 3: Time taken: 0.259186
Epoch 4: Time taken: 0.266189
Epoch 5: Time taken: 0.268181

In the second case, the first epoch takes considerably longer than the subsequent epochs - understandably, since the further epochs just reuse the cached data. However, in the first case, all the epochs take a long time.
This seems like a bug to me because the reinitializable iterator has been advocated as being useful in precisely such kind of situations - when you have 2 different datasets (say training and validation) and you simply reinitialize the iterator to use any one of the two at a time. However, it seems that if I reinitialize the iterator with a cached dataset, I lose the entire advantage of caching. If I set CACHE = False with the large shape mentioned above, I get the following output as expected:

Reading values from iterator by reinitializing
Epoch 1: Time taken: 2.317660
Epoch 2: Time taken: 2.251585
Epoch 3: Time taken: 2.209581
Epoch 4: Time taken: 2.151515
Epoch 5: Time taken: 2.156546
Reading values from iterator using repeat
Epoch 1: Time taken: 2.182563
Epoch 2: Time taken: 2.207575
Epoch 3: Time taken: 2.205560
Epoch 4: Time taken: 2.139524
Epoch 5: Time taken: 2.198561

That is, each epoch takes the same time with either method since we don't cache the dataset.

Assigning this one to @saeta, since he is working on a replacement for Dataset.cache() that probably ought to support this (especially in eager mode!).

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Bazel version

I have updated the description, I'm not sure how to trigger the bot. @shivaniag can you assign the relevant person again - I think it is @saeta as @mrry mentioned. TIA.

Nagging Assignee @shivaniag: It has been 15 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

@saeta do you have an update on this?

Nagging Assignee @saeta: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @saeta: It has been 29 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @saeta: It has been 44 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @saeta: It has been 59 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @saeta: It has been 74 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @saeta: It has been 89 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @saeta: It has been 106 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

@saeta do we have an update on this ?

I am facing the same issue... I want to cache a dataset X which is generates a training set Y with a reinitializable iterator going through X. Every time I reinitialize X iterator, even though I cache X, it iterates X as if there was no caching.

@saeta @mrry Any solution to this? I am also facing a similar issue.

In TF 1.X, the state of the cache is tied to the state of the iterator and re-initializing the iterator will recreate the state of the iterator (including the cache state). We do not plan to change the semantics of "reinitialize" w.r.t. to the state of the iterator.
Having said that, I am planning to shortly submit a PR that, in TF 2.0, will decouple the cache state from the iterator state. In TF 2.0, instead of re-initializing an iterator you simply create multiple Python iterators (either implicitly via for elem in dataset: or explicitly via iter(dataset). Once the aforementioned PR is submitted, the different iterators will share the same cache.


jekyll subfolders would make it easier to PR

See https://jekyllrb.com/docs/datafiles/#subfolders, this data structure may help to avoid merge conflicts for PRs

We've already (since you posted this suggestion) done this for both companies and universities. The event pace is slowing down enough that I don't think it's needed for events.
Thanks!


deploy: Unable to exit verification

Describe the bug
the prepare-package-start costs almost 30 min,and still no new log print
To Reproduce
Steps to reproduce the behavior. If possible, provide a minimal amount of code that causes the bug.
Expected behavior
can deploy the component success
Actual behavior
deploy a component, and the zip is 21.5MB
Environment

OS: [Ubuntu 22.04]
JDK version:
Nucleus version:2.6.0

Additional context
2022-09-21T13:38:13.483Z [INFO] (pool-2-thread-10) com.aws.greengrass.deployment.DeploymentDirectoryManager: Create work directory for new deployment. {deploymentId=503e8d7e-4b2f-41e5-a350-519976bacbc6, link=/greengrass/v2/deployments/ongoing, directory=/greengrass/v2/deployments/503e8d7e-4b2f-41e5-a350-519976bacbc6}
2022-09-21T13:38:13.487Z [INFO] (pool-2-thread-10) com.aws.greengrass.deployment.DeploymentDirectoryManager: Persist deployment metadata. {file=/greengrass/v2/deployments/503e8d7e-4b2f-41e5-a350-519976bacbc6/deployment_metadata.json, deploymentId=503e8d7e-4b2f-41e5-a350-519976bacbc6}
2022-09-21T13:38:13.516Z [INFO] (pool-2-thread-10) com.aws.greengrass.deployment.DeploymentService: Started deployment execution. {serviceName=DeploymentService, currentState=RUNNING, deployment=arn:aws:greengrass:us-east-1:389543904291:configuration:thing/22380101X4630065:5}
2022-09-21T13:38:13.517Z [INFO] (pool-2-thread-25) com.aws.greengrass.deployment.DeploymentService: deployment-task-execution. Starting deployment task. {Deployment service config={ComponentToGroups={}, dependencies=[], GroupMembership={thinggroup/0913galentest-staticgroup=null}, GroupToRootComponents={}, runtime={ProcessedDeployments={}}, version=0.0.0}, deploymentId=503e8d7e-4b2f-41e5-a350-519976bacbc6, serviceName=DeploymentService, currentState=RUNNING}
2022-09-21T13:38:14.711Z [INFO] (pool-2-thread-26) com.aws.greengrass.componentmanager.DependencyResolver: resolve-group-dependencies-start. Start to resolve group dependencies. {targetComponents=[yarbo], componentToVersionRequirements={yarbo={thing/22380101X4630065==1.0.5}}}
2022-09-21T13:38:14.716Z [INFO] (pool-2-thread-26) com.aws.greengrass.componentmanager.ComponentManager: No running component satisfies the requirement. Searching in the local component store.. {}
2022-09-21T13:38:14.731Z [INFO] (pool-2-thread-26) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=yarbo-v1.0.5}
2022-09-21T13:38:15.948Z [INFO] (pool-2-thread-26) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=yarbo-v1.0.5}
2022-09-21T13:38:15.981Z [INFO] (pool-2-thread-26) com.aws.greengrass.componentmanager.DependencyResolver: resolve-group-dependencies-finish. Finish resolving group dependencies. {resolvedComponents={yarbo=ComponentMetadata(componentIdentifier=yarbo-v1.0.5, dependencies={})}, componentToVersionRequirements={yarbo={thing/22380101X4630065==1.0.5}}}
2022-09-21T13:38:16Z [INFO] (pool-2-thread-26) com.aws.greengrass.componentmanager.ComponentManager: prepare-package-start. {packageIdentifier=yarbo-v1.0.5}

that is the time it costs

Hello

Does the deployment ever complete?

The prepare package step will download all the artifacts which are listed in the component recipe. The download time is entirely dependent on your internet connection and specifically the speed between S3 and your device.

What AWS region are you using?
What AWS region is closest to you physically?
Can you describe your internet speed and reliability?
Please retry the deployment after enabling debug level logs. In the Greengrass Nucleus component configuration https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html#greengrass-nucleus-component-configuration set the logging, level key to DEBUG.

This issue will be closed in 2 days if there are no more replies.


I am the new contributor here

Fixes #3

Hey @SinhaDipak don't change other's data, just put your data in your seperate file

Oh poor little Abhishek, I am really sorry as I see changing name in
practice repository caused error in application .
Thank you for your kind feedback.
On Sun, 14 Feb 2021, 14:05 Abhishek Kumar<EMAIL_ADDRESS>wrote:

Hey @SinhaDipak https://github.com/SinhaDipak don't change other's
data, just put your data in your seperate file
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/codeforcauseorg/pledge/pull/286#issuecomment-778745945,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALKF3S7BJQCX3UBYCFUMQODS66DL7ANCNFSM4XK6LMYA
.


"Logarithmic" time scale - feature request

It would be nice if we could get this option.

Some events can take minutes, and other can take months.
It would be great if we could have something as "logarithmic" scale to represent the durations nicely in one graph.
The y-axis steps should be:

1-60 seconds
1-60 minutes
1-24 hours
1-30.5 days
1-12 months
1-10 years
and proceed with log_{10}(timeInterval) for higher values

Does this make sense?

This is an interesting idea. I'm not sure if this makes sense to live in the core or in an external repository since it's fairly specialized.

I agree with @etimberg that this would be only used in very select cases and would not really be needed in the main library. I think that this would be better implemented as a plugin.

Closing per the above comments. This is a very interesting idea, but it is specialized and we don't have the time to maintain another time axis.


Unable to upload artifact as part of a release

I've recently started seeing faliures of uploading the artifact to a release:
Run<EMAIL_ADDRESS>------------------------------ Running SBOM Action -----------------------------
/usr/bin/sh /home/runner/work/_temp/86c14a62-acb2-4ebd-9824-486a58c461dc -d -b /home/runner/work/_temp/86c14a62-acb2-4ebd-9824-486a58c461dc_syft v1.4.1
[debug] checking github for release tag='v1.4.1'
[debug] http_download(url=https://github.com/anchore/syft/releases/v1.4.1)
[info] fetching release script for tag='v1.4.1'
[debug] http_download(url=https://raw.githubusercontent.com/anchore/syft/v1.4.1/install.sh)
[debug] checking github for release tag='v1.4.1'
[debug] http_download(url=https://github.com/anchore/syft/releases/v1.4.1)
[info] using release tag='v1.4.1' version='1.4.1' os='linux' arch='amd64'
[debug] downloading files into /tmp/tmp.fgZr8JGzEF
[debug] http_download(url=https://github.com/anchore/syft/releases/download/v1.4.1/syft_1.4.1_checksums.txt)
[debug] http_download(url=https://github.com/anchore/syft/releases/download/v1.4.1/syft_1.4.1_linux_amd64.tar.gz)
[info] installed /home/runner/work/_temp/86c14a62-acb2-4ebd-9824-486a58c[46](https://github.com/cosimmetry/sketch/actions/runs/9181218908/job/25247435631#step:6:47)1dc_syft/syft
/opt/hostedtoolcache/syft/1.4.1/x64/syft scan ghcr.io/cosimmetry/sketch -o spdx-json
Executing Syft...
SBOM scan completed in: 217.16s
------------------------- Uploading workflow artifacts -------------------------
/tmp/sbom-action-gzIbTJ/cosimmetry-sketch.spdx.json
Found 1 artifact(s)
------------------- Attaching SBOMs to release: 'v0.4.6.-rc2' ------------------
Error: Resource not accessible by integration

Originally posted by @chris-j-major in https://github.com/anchore/sbom-action/issues/467#issuecomment-2123427179
With the extra debug logging:

##[debug][Response] - 200
##[debug]Headers: {
##[debug]  "content-length": "558",
##[debug]  "content-type": "application/json",
##[debug]  "date": "Wed, 22 May 2024 16:37:57 GMT",
##[debug]  "x-github-backend": "Kubernetes",
##[debug]  "x-github-request-id": "DC40:3AC60B:418057:51F6DD:664E1F65"
##[debug]}
##[debug]Body: {
##[debug]  "artifacts": [
##[debug]    {
##[debug]      "workflow_run_backend_id": "6719f581-f068-4aa1-bd67-db9370d02c8e",
##[debug]      "workflow_job_run_backend_id": "cbb13c67-6d24-5e25-ba4a-b1084b56aecc",
##[debug]      "database_id": "1527818680",
##[debug]      "name": "b3c863a4f1f3aa01ff7832396bedba4d99097d85",
##[debug]      "size": "2564668",
##[debug]      "created_at": "2024-05-22T16:29:34Z"
##[debug]    },
##[debug]    {
##[debug]      "workflow_run_backend_id": "acb33220-17f5-469d-8d20-f6713fef0460",
##[debug]      "workflow_job_run_backend_id": "cbb13c67-6d24-5e25-ba4a-b1084b56aecc",
##[debug]      "database_id": "1527846997",
##[debug]      "name": "b3c863a4f1f3aa01ff7832396bedba4d99097d85",
##[debug]      "size": "2564662",
##[debug]      "created_at": "2024-05-22T16:37:57Z"
##[debug]    }
##[debug]  ]
##[debug]}
Found 2 artifact(s)
::group::listCurrentWorkflowArtifacts response:
listCurrentWorkflowArtifacts response:
  ##[debug]{
  ##[debug]  "artifacts": [
  ##[debug]    {
  ##[debug]      "name": "b3c863a4f1f3aa01ff7832396bedba4d99097d85",
  ##[debug]      "id":<PHONE_NUMBER>,
  ##[debug]      "size": 2564668,
  ##[debug]      "createdAt": "2024-05-22T16:29:34.000Z"
  ##[debug]    },
  ##[debug]    {
  ##[debug]      "name": "b3c863a4f1f3aa01ff7832396bedba4d99097d85",
  ##[debug]      "id":<PHONE_NUMBER>,
  ##[debug]      "size": 2564662,
  ##[debug]      "createdAt": "2024-05-22T16:37:57.000Z"
  ##[debug]    }
  ##[debug]  ]
  ##[debug]}
  ::endgroup::
##[debug]Found artifact: b3c863a4f1f3aa01ff7832396bedba4d99097d85
##[debug]Found artifact: b3c863a4f1f3aa01ff7832396bedba4d99097d85
------------------- Attaching SBOMs to release: 'v0.4.7-rc1' -------------------
Error: Resource not accessible by integration
##[debug]Node Action run completed with exit code 1
##[debug]ANCHORE_SBOM_ACTION_PRIOR_ARTIFACT='b3c863a4f1f3aa01ff7832396bedba4d99097d85'
##[debug]Finishing: Generate SBOM

I don't beleive this is related to permissions, as other steps in the same workflow are sucessfully uploading relese artifacts.
Thanks in advance :)

For context - the workflow job has write permissions:
jobs:
  build-and-push-image:
    runs-on: ubuntu-latest
    # Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job.
    permissions:
      contents: write # need write to update the generated SBOM
      packages: write # need access to write docker package

We first observed this on 21/05/2024 and it worked sucesfully a week earlier.

Hi @chris-j-major -- it looks like this is failing to attach a release asset rather than a workflow artifact, is that accurate?
There was just recently a change (prompted from this issue) published which is almost assuredly responsible for this, but I'm trying to figure out exactly why. I just tested this again on my test repo, and set the permissions as you've described since they were missing. But this worked as expected to both a) attach workflow artifacts and b) attach release assets.
Is there a public repo that I could look at your complete workflow? Alternately, is there some minimal workflow that reproduces this issue?

I should also note in the readme it mentions the actions:read permission for reading from other repos; maybe that's missing due to some global permissions you have set?

Thanks for the quick replies. You're entirly correct that the faliure is a release asset. I'll update the title to make it clearer.
I've created a minimal test case, and interestingly it worked properly as a public repo, but failed if it was private to the organisation. Hopefully you should be able to see it at https://github.com/cosimmetry/release-testing/actions (I've now made it public again).
The two releases are both from the same commit - AFAIK the only difference is the repo's visibility in github.

Hi @chris-j-major -- thanks for getting an example set up! I was able to reproduce it and you hit the nail on the head: this fails for private repos, but not public. It needs the actions: read permission to download the SBOM! I'm pretty sure the reason is the public repo works is it just makes those available publicly readable. I'm surprised this worked before for you, but looks like the artifact library update enforces it more appropriately now. Let me know if that doesn't work for you!
Assuming this works for you, I'll be sure to get the docs updated to reflect this!

@kzantow, thanks for the pointer, I can confirm that your suggestion works.
I've now got:

    # Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job.
    permissions:
      contents: write # need write to update the generated SBOM
      packages: write # need access to write docker package
      actions: read   # required for a private repo to read the SBOM once it's generated so it can upload.

and it sucesfully builds on release of my private test respostiory.


Add config auto_generate

I added auto_generate to config.
Only when auto_generate = true,  a schema list is generated automatically.

looks good!


[BUG]

What is the bug?
When using /team ban (player) or /team unban (player), it says in chat "Something went wrong while executing that command, please report it to a staff member." If you do /team ban (same player) after already typing it once, it says "That player is already banned" meaning the command still works, so i'm not sure why that message appears. Same thing when typing /team unban (banned player) twice except it says "That player is not banned." We are using purpur 1.20.1 on our server and the latest version of BetterTeams (4.8.2).
Expected Behaviour
Player is banned or unbanned from the team without an error message appearing.
How to Reproduce
After creating a team, type /team ban (playername) of a player who has played on the server before and isn't banned from your team or type /team unban (playername) if they are banned from your team.
Error message
[04:45:15] [Craft Scheduler Thread - 21 - BetterTeams/ERROR]: Something went wrong while executing the command, please report this https://github.com/booksaw/BetterTeams/issues/new/choose
[04:45:15] [Craft Scheduler Thread - 21 - BetterTeams/WARN]: java.lang.ClassCastException: class org.bukkit.craftbukkit.v1_20_R1.CraftOfflinePlayer cannot be cast to class org.bukkit.command.CommandSender (org.bukkit.craftbukkit.v1_20_R1.CraftOfflinePlayer and org.bukkit.command.CommandSender are in unnamed module of loader java.net.URLClassLoader @2b71fc7e)
[04:45:15] [Craft Scheduler Thread - 21 - BetterTeams/WARN]: 	at BetterTeams.jar//com.booksaw.betterTeams.commands.team.BanCommand.onCommand(BanCommand.java:43)
[04:45:15] [Craft Scheduler Thread - 21 - BetterTeams/WARN]: 	at BetterTeams.jar//com.booksaw.betterTeams.commands.presets.TeamSubCommand.onCommand(TeamSubCommand.java:39)
[04:45:15] [Craft Scheduler Thread - 21 - BetterTeams/WARN]: 	at BetterTeams.jar//com.booksaw.betterTeams.commands.ParentCommand.onCommand(ParentCommand.java:135)
[04:45:15] [Craft Scheduler Thread - 21 - BetterTeams/WARN]: 	at BetterTeams.jar//com.booksaw.betterTeams.BooksawCommand.runExecution(BooksawCommand.java:72)
[04:45:15] [Craft Scheduler Thread - 21 - BetterTeams/WARN]: 	at BetterTeams.jar//com.booksaw.betterTeams.BooksawCommand.lambda$execute$0(BooksawCommand.java:59)
[04:45:15] [Craft Scheduler Thread - 21 - BetterTeams/WARN]: 	at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftTask.run(CraftTask.java:101)
[04:45:15] [Craft Scheduler Thread - 21 - BetterTeams/WARN]: 	at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57)
[04:45:15] [Craft Scheduler Thread - 21 - BetterTeams/WARN]: 	at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
[04:45:15] [Craft Scheduler Thread - 21 - BetterTeams/WARN]: 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[04:45:15] [Craft Scheduler Thread - 21 - BetterTeams/WARN]: 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[04:45:15] [Craft Scheduler Thread - 21 - BetterTeams/WARN]: 	at java.base/java.lang.Thread.run(Thread.java:833)
Output of /teama version

Additional Information
No response

This bug has been fixed and the patch will be included in the next update. Thank you for reporting.


add k8s_token to configmap

I'm trying to create the the ovnkube-master pod, found the pod cannot be running due to
  Warning  Failed   11s (x4 over 39s)  kubelet, ip-172-18-14-203.ec2.internal  Error: Couldn't find key k8s_token in ConfigMap ovn-kubernetes/ovn-config, I added the k8s_token to the configmap, it becomes running.
So here I update the script to add the k8s_token to configmap

This looks good. But ideally we shouldn't need any token. The internal secret access key should be sufficient if the pod was created with check credentials.
@dcbw ptal
@pecameron  is the token a stop gap thing?


Reformatting For Readability.

Reformatting a little for readability, main changes:

split code from struct definitions where large functions where present.

made cmake config a little more generic.

improved the .gitignore to remove some of the chaff generated by cmake

added a DEBUG_PRINTF #define to pretty up the printing in some places.

broke main into its own file and added a simple command line parsing library.
I was a little torn on this as to whether this should be included.

it makes us MIT license that part of the project.

I wasn't sure whether to add it as a submodule or a raw file, I eventually opted to include it directly but could be convinced to submodule it.

this is definitely the change I'm least happy with so feel free to ask for revert.

hope this helps and let me know your thoughts.

final note, in reality I would also like to refactor the big functions out of hashes.hpp into a hashes.cpp but since its templated you can't, is their a specific reason Hashy is templated ? we never seem hash anything else with it but cubes.

also added the framework for unit tests (and a couple of example tests) though this can be backed out if needed.

I build tested and this doesn't compile on GCC:
-checkout nsch0e/cpp
-pull bertie2 reformating
Issues that I found:
-There is no <stdint.h> (this is C library header) in C++, please replace with
-Non existent uint type, just use int?
-#include <array> maybe missing  in hashes.hpp?

I build tested and following doesn't compile on GCC: -checkout nsch0e/cpp -pull bertie2 reformating
Issues that I found: -There is no <stdint.h> (this is C library header) in C++, please replace with <cstdint> -Non existent uint type, just use int? -#include <array> maybe missing in hashes.hpp?
Fixing these I got it to build on gcc. I like the separation of the implementation to .cpp files.

should be fixed now, apologies my build env is a bit loosy goosy as its used for many projects, might be worth dockerizing the build eventualy.

I pulled again and now it looks okay.

Builds OK with GCC
Main program runs Ok.
The test suite added also builds, runs and passes.

However I think there are few bits that could be improved:

tests/README.md confused me as it tells to git submodule --init --recursive but this is wrong, because tests/CMakeLists.txt actually uses FetchContent to pull in the library during configure.
tests is built as separate CMake project, so now I have to configure two build directories.
HashCube and CubeSet was moved to hashes.hpp, but XYZHash was not.
I think these should remain in cube.hpp and keep hashes.hpp for Hashy code.

@bertie2: Would it be okay for me to refactor the CMakeLists.txt(s) to better integrate the build?

sure thing, if you raise a pull request on my repo il accept, otherwise, il make the changes myself shortly.

I'm getting compile warnings with g++ 9.4.0
opencubes/cpp/libraries/cmdparser.hpp:331: warning: ignoring #pragma warning  [-Wunknown-pragmas]
  331 |     #pragma warning(push)
      |
opencubes/cpp/libraries/cmdparser.hpp:332: warning: ignoring #pragma warning  [-Wunknown-pragmas]
  332 |     #pragma warning(disable: 4702)
      |
opencubes/cpp/libraries/cmdparser.hpp:335: warning: ignoring #pragma warning  [-Wunknown-pragmas]
  335 |     #pragma warning(pop)
      |

perhaps we should add -Wno-unknown-pragmas to suppress those.

I have suppressed the warnings for the program but not for the tests, since the tests don't test against the external library.
I have also implemented @JATothrim 's changes except for moving HashCube and CubeSet as they are only ever used in the hashes header.
I will leave it to you @nsch0e to decide if you want to move them, otherwise this is ready to merge from my perspective.

I missed the merge: please see https://github.com/bertie2/opencubes/pull/4
If you can try merge that branch also (the pull request conflicts slightly) I would be more than happy.


Shepard Tone pitches aren't aligned with keyboard

In Shepard Tone, the sounded note pitches are 3 semitones lower than the expected keyboard pitch.
E.g. the note A (shepard_00.ogg) is sounded when the player triggers the note C on the keyboard.
It should be shepard_03.ogg that is sounded for the note C.
https://user-images.githubusercontent.com/48375680/232242014-570fc6c0-b134-4ec8-8d3c-453af17358fa.mp4

You are probably right - that must be an oversight.
shepard_00.ogg is played by ShepardC, but indeed, by sox's documentation, 0 is a middle A.
I'm gonna fix it by updating the file references. Very good finding!

This also means that the chord played is wrong too - I wanted a C major chord, but it actually became A major. For this I will have to update the data files.

Also, now the chord sequence for open (ECED) is actually a C, G7, C sequence, and the other exit is truly based on D minor.


Add a working-directory option to the upload-sarif action

I have a workflow which has to check out the repo to a specific (non-default) directory.
The upload-sarif action produces this error:
fatal: not a git repository (or any of the parent directories): .git
Failed to call git to get current commit. Continuing with data from environment or input: Error: The process '/usr/bin/git' failed with exit code 128
Error: The process '/usr/bin/git' failed with exit code 128
    at ExecState._setResult (/home/runner/work/_actions/github/codeql-action/v2/node_modules/@actions/exec/lib/toolrunner.js:592:25)
    at ExecState.CheckComplete (/home/runner/work/_actions/github/codeql-action/v2/node_modules/@actions/exec/lib/toolrunner.js:575:18)
    at ChildProcess.<anonymous> (/home/runner/work/_actions/github/codeql-action/v2/node_modules/@actions/exec/lib/toolrunner.js:469:27)
    at ChildProcess.emit (node:events:390:28)
    at maybeClose (node:internal/child_process:1064:16)
    at Socket.<anonymous> (node:internal/child_process:450:11)
    at Socket.emit (node:events:390:[28](https://github.com/argoproj/argo-cd/runs/7634411066?check_suite_focus=true#step:5:29))
    at Pipe.<anonymous> (node:net:687:12)

I believe the action expects the working directory to be a git repo.

Did the upload action actually fail? The phrase Continuing with data from environment or input: suggests that is should carry on regardless.

It did not fail. Maybe the appropriate fix is to change the error message? It's really unclear based on the current message whether I should be concerned, i.e. why it would want to be run in a git repo.

Since there's a fallback with a fairly good chance of working (namely falling back to the environment variable set by the Actions runner), the message arguably at least shouldn't be presented with a stack trace -- that makes it look more alarming than it ought to.

I changed the issue title to better reflect the actual problem.


unable to see my app in shared folder

I built my project from scratch using VS Excel office template.
I did not make any change to the manifest file the project created.
I created new folder under c:\ and followed the instructions on this page.
Once i restarted Excel i dont see app under Shared Folder section.

[Enter feedback here]

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

ID: 0ddce0bd-5c66-c2cb-0640-ee4d5bd401c5
Version Independent ID: b5d4bc26-a43e-4a85-e7d5-fe4fc4ec3d0d
Content: Sideload Office Add-ins for testing - Office Add-ins
Content Source: docs/testing/create-a-network-shared-folder-catalog-for-task-pane-and-content-add-ins.md
Product: non-product-specific
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

@davvit Sorry you're hitting this issue and thanks for letting us know.
@AlexJerabek Can you take a look?
Thanks.

i have looked at this a little more since this question and the guide says  at the bottom to
"Be sure to specify the URL in the SourceLocation element of the manifest file."
I believe currently the SourceLocation in the manifest is looking at the VS project path and when i move it to the shared location it is no longer valid. maybe the template should use absolute path instead of relative path for SourceLocation.
@ElizabethSamuel-MSFT

Hi @davvit,
I'm adding @nokafor and @TCourtneyOwen to help investigate. A similar issue was reported in #1698 as well.

@TCourtneyOwen Any update on this? Thx.

Hi @davvit
For Visual Studio, you need to use the manifest that gets built at {projectpath}*{projectfolder}*\bin\Debug\OfficeAppManifests and copy that version to your shared add-ins folder.
I'll add a note for Visual Studio users to the page.
Thanks!

Hi @davvit
For Visual Studio, you need to use the manifest that gets built at {projectpath}*{projectfolder}*\bin\Debug\OfficeAppManifests and copy that version to your shared add-ins folder.
I'll add a note for Visual Studio users to the page.
Thanks!

We're also seeing this for a user we're trying to test our Add-in with, but not with others. Same manifest. Manifest passes a office-addin-manifest validate.
 We can sideload it into the web version on their computer so the site is definitely accessible for them.
Are there any means of debugging so we can investigate why it might not show any Add-ins?

Hi @NickDarvey,
You might try using runtime logging to debug the loading issues..
Also check the version of Office (between the one that works, and the one that doesn't) to see if maybe it is related to the version.
Finally, clearing the Office cache often resolves sideloading issues. See Clear the Office cache
Hope this helps,
David


Fullscreen Video in IOS browsers

Hi,
We're experiencing an issue with this plugin with IOS based devices (ios 6 or 7). We can play videos, but can't seem to view them fullscreen. We can view locally sourced video that are not using this plugin in fullscreen, and feel the issue is related to the Youtube plugin. Does anyone have any ideas?
Thanks!

Hi,
I am using video.js 5.9.1 and using latest youtube.js .It is not playing on ipad.It does play on chrome and firefox..Is there any techOrder for ipad

Hmm. I have it youtube running on iPad with 5.9.0. But I can probably suggest why you and everyone else is having trouble, having recently gone down a path with VideoJs and JWPlayer.

Apple's iOS and its embedded browser, which all iPhone/iPads must use as their basis, has a very strange setup for video. They deliberately won't let it play without the user having directly touched the screen first, and when it does, they don't obey any normal rules for how css and layering are supposed to work.. The first part is to 'save' from autorun videos running up cellphone charges. The second is anyone's guess, but they do it.

Then, Youtube changed to its iframe-onlly player, and the combination of this with Apple's peculiarity is pretty devastating. I don't think the videojs  youtube tech has worked well since that point, and if you dig in,, you'll find that any number of calls the frameworks suggests just plain don't exist, if they did before.

eXon, who contributed the youtube tech, has begged off many months ago, with no effort forthcoming from the main videojs project. Before he had to leave, he tried to fix the iPad problem enough so it would basically work, even though he lacked test players. Very nice by him, not so great by the videojs project.

Now, I think if you will try the present youtube tech with no plugins and no poster, it will work on iPads and iPhones. At least it does so on my relatively ancient iPad 2, running latest iOS 9.3..1 and several releases before that, which actually really tax the machine.

for my use, I need posters and I need a workable  offset start and stop, to piece out youtube videos created for other purposes. I think I've got a solution for the latest forked version of the offset plugin, as without this you are lost - both versions will fault out by stack faults in JavaScript.

I thought I would go to JWPlayer, as I discovered it had a decent API if that is somewhat hidden away. But in fact it does not seem to be able to properly handle start/stop offset on the Apple machines, with the usual sort of merrygoround of things that should work but don't, and interfere with each other or misbehave in part of the operation states.

JWPlayer does apparentlyl handle posters correctly in the Apple environment as well as tamer places, as far as I've seen, so I think it can be done. However, with the event problems there, and also with their requirement that you run an informer to them for every video page load, I'm not thinking they're an attractive solution.

A way forward would be to import the JW poster-iOS-taphandling method into videojs, as i suspect the number of ways this can actually work may be about the one. This with the rejigging of offsets would enable my intents. I just haven't found the time available to do this, or especially to publish with all the daunting requirements the videojs hobby project puts on any who think to contribute to it.

my feeling is that each of these players who 'seem' to offer a free way to use them actually are mainly stalking horses for the proprietary video servers/services they wan to sell you. The players do itt seems all work fine with non-youtube mp4s, unless I have missed something in all the scrambling done. Fine enough for projects that have the money; not so fine  for the human community things at small scales which do not, no matter how much they might benefit from video.

So. I haven't known what to do about this. I think laying the big responsibility on one person's shoulders isn't fair or workable -- even after the very nice and appreciated effort done by eXon, which may prove the point as he says he can't keep it up either.

I am trying to imagine that some cooperative combination of work could fix things. I'm too experienced not to wonder how the coordination would work. People could work together, each taking a part. It wouldn't evidently have any help from the videojs angle, by the evidence.

I think the most i could personally contribute besides the pointers here would be a set of code for upgrading the videojs-time-offset plugin -- this is the later forked version, more recently worked on. Soeone else would have to do the assuring of packaging it like the videojs project wants it, and especially meeting their testing armature requirements.

Thus, being that busy elsewhere, putting this out there...regards to each...

Oh yes, full-screen is another issue of many unusual facets on Apple i-devices. It's not supposed to work, I think, but on the other hand, at least some i-devices automatically go to full  screen. As well, on iPad with recent iOS, anyway, you can always  finger-stretch the video to (and beyond) full screen.
Yes, it's a problem... I haven't dug far into this one, due to the others. All the iOS issues can be found discussed on the web, particularly via stackexchange(s).


getInitialNotification is empty

getInitialNotification() returns {} after opening the app  by clicking a local notification. How to solve?
Running in IOS simulator in debug mode.

try on real device, it does not work on simulator

does the initial notification have any content in data payload?

@evollu nope nothing only an empty object {} . Do you have the same behaviour on the simulator??

oh since it is emulator, I assume it is local notification?

@evollu Yes, unluckily I don't have a physical device to test this package on at the moment.
This is what i tried:

run FCM.presentLocalNotification(data) and notification pops up with data.
close app from multitasking
click on previous notification, FCM.getInitialNotification() returns empty object literal.

Does the same happen to you on the simulator?

it shouldn't be. let me see what is going on. ios only?

I don't know about Android, I've only tested Ios :(

After looking into it a little bit more, I found some recurring errors in the console.
This one deserves more attention, happens when i press a notification with app closed/not running in background:
'''
SpringBoard[515] : *** -[__NSCFCalendar rangeOfUnit:startDate:interval:forDate:]: date cannot be nil
Future exception.
A few of these errors are going to be reported with this complaint, then further violations will simply be ignored.
Here is the backtrace where this occurred this time (some frames may be missing due to compiler optimizations):
(
0   CoreFoundation                      0x00000001167b0ef3 -[__NSCFCalendar rangeOfUnit:startDate:interval:forDate:] + 115
...
'''
This one seems to happen everytime i click on a notification:
'''
[DataStore] Could not load data at /Users/devmachine/Library/Developer/CoreSimulator/Devices/8A771825-6A90-41DB-AE60-05993F3AA106/data/Library/SpringBoard/PushStore/com.ghostalk.ios.pushstore
'''

looks helpful. this error doesn't show up when you have app running in background?

Yes, sorry, I don't think these two alerts are related to this issue :(

@ethan37 fixed in 2.5.5. Please test it out

@evollu You just saved me countless hours of work (and possibly even my life) ❤


Extra material

Added some extra material for Git and Conda involving decorating the prompt and some potentially useful aliases, for those that like that sort of thing.

Good points! My thoughts:

I don't if it would be suitable to have that in the NGS course since they're not using git or Conda (as far as I remember), and the aliases here are specifically for git/Conda.
Yes, but they are at the end of the lesson, labeled as extra material. Do you still think they might get confused by this? My thinking was that only the students that come all the way to the end of the lesson would read these, and only apply them if they feel they want to.

Another thought is that while the bash profile is not really a part of either git or Conda, I don't see any other NBIS course available in our current catalogue where it would be more suitable than here. Whether that constitutes a good enough reason to include it is another matter.

Hmm yes maybe it could make sense to have it at the end. While I agree both git and conda could benefit from more content like this (and for instance include a dedicated section on conda config and tips and tricks for improving the performance of conda) I think I have to read through it to see how it flows.
What are your thoughts @verku?

Hi, I think that the material can definitely be useful to some course participants! My major thought when reading the instructions was that we might want to change the description of the material. In the current version, it reads to me as if everyone should actually apply these changes and adjust their settings, but I would rather see it as tips and tricks from more experienced git and conda users. We could flag this material for example as suggestions how to make your coding experience easier if you are using git and/or conda in your daily life, not as extra material to work through. For someone who is more inexperienced with the command line and who uses git or conda very rarely, the aliases could otherwise become quite confusing.
As extra material I would suggest to include other topics that could be more of use even for irregular users (I put some ideas into the project).
What do you think?

Sounds like a good idea to change the text to reflect that it's not extra material to be worked through, rather tips & tricks! I can fix that. Where did you add your ideas, @verku ?

Great, thanks!
John created two items in the project under "New Ideas", one for conda and one for git. My suggestions are in the two lists within these items.

I made some minor updates for clarity (in my view ;)). For my part I'm happy to merge this PR now. But I guess we can also keep working on the branch according to suggestions in issues #19 and #20. What do you guys think?

Okay, let's I'll merge it and then we can continue working on the branch for new content as well!

It sounds good to me to work on the suggestions in issues #19 and #20!


How do you create custom KITTI formatted dataset to train in DetectNet?

I m trying to use a image annotator tool to create a custom dataset for use in DetectNet.  Is there a tool I can download to annotate the images in order to generate the bounding box details in the KITTI format?

@blacksaturn1 Hi there are many tools available for this, you may try the following one,
alpslabel.wordpress.com
Check Wikipedia for a list of many other manual image annotation tools.


Early project tasks

Here is the task list for karmada-extend today, i will take care it when i hvae time, Until then please feel free to comment on the issues you would like addressed.

karmada-extend unit test
karmada-extend e2e test, Refer to https://github.com/karmada-io/karmada/blob/master/.github/workflows/cli.yaml , prepare the kubernetes cluster and then test the scheduling
just work for specified resource, like have annotation of karmada-extend/propagation: true. Today, karmada-extend woking for all of resourcebinding.

/help

just work for specified resource, like have annotation of karmada-extend/propagation: true. Today, karmada-extend woking for all of resourcebinding.

I can take over this task if it hasn't been started yet


Add checks for unaligned/illegal memory accesses

Relates to #34. We can also add a wire back to the CSR/interrupt unit to generated an interrupt in this case.
Alternatively, we could check for this error condition in the CSR/interrupt controller. Maybe that would be better, in fact.

i just did some of the setup for this in csr.scala starting at line 382 in system_csr branch. let me know if any help is needed with this


Problem of encoding Czech special characters in UTF-8

trying to save the MODEL.xlsx files as separate interfaceMODEL.txt and dataMODEL.txt files, I ran with the issue of saving the file in a format that 1)  can save the Czech special characters, 2) can be read by R when running the shiny app (including on sk8 server of INRAE and 3) can be read by github (so that the files can be edited directly online in GitHub). I haven't found the solution (when I try to save the file in UTF-8, I cannot read the file).
Any idea?

solved with commit https://github.com/euraf/agroforestreeadvice/commit/82d857a25c0617303f79ccc6ffaaae7fbf044924


Included task that includes a task that includes a common task fails due to a "cyclic loop"

Environment
Device and OS: popOS 22.04
App version: 0.2.1
Kubernetes distro being used: N/A
Other: N/A
Steps to reproduce

Create the following with a common import:

tasks.yaml
includes:
  - lint: https://raw.githubusercontent.com/defenseunicorns/uds-common/main/tasks/lint.yaml
  - import: import.yaml

tasks:
  - name: default
    actions:
     - task: lint:yaml
     - task: import:lint

import.yaml
includes:
  - lint: https://raw.githubusercontent.com/defenseunicorns/uds-common/main/tasks/lint.yaml

tasks:
  - name: lint
    actions:
     - task: lint:yaml

Run maru run

Expected result
Linting successfully runs twice
Actual Result
Maru complains about an "include loop"
Visual Proof (screenshots, videos, text, etc)

Severity/Priority
Medium - this forces unnecessary copying of tasks if a common task is needed in many places
Additional Context
This was found through the implementation of the GitLab runner tests where a deploy task happens in a parent and then is reused in a child to redeploy the app.

Diagram of what is going on:
task.yaml
|  |
|  |--> include.yaml
|            |
|            | ---> lint.yaml
|                     ^
|---------------------|

More minimal reproduction without my unique tasks:
tasks.yaml:
includes:
  - test: test.yaml

tasks:
  - name: test-test
    actions:
      - task: test:test

test.yaml:
includes:
  - utils: utils.yaml
  - thing: thing.yaml

tasks:
  - name: test
    actions:
      - task: thing:echo
      - task: magic

  - name: magic
    actions:
      - task: utils:echo

thing.yaml:
includes:
  - utils: utils.yaml

tasks:
  - name: echo
    actions:
      - task: utils:echo

utils.yaml:
tasks:
  - name: echo
    actions:
      - cmd: echo hello world

Calling uds run test fails, but interestingly uds run test:test does not fail. Modifying thing.yaml to "includes" util instead of utils resolves the cyclic check failure.


Suggestion: Add a few SFOS OBS repos to build against

Feature request: Please add the missing SailfishOS <IP_ADDRESS> "DoD" repositories at the SailfishOS-OBS to build against
I always wondered why the SailfishOS build entries for <IP_ADDRESS> and ≤ <IP_ADDRESS> are missing, so I researched this.
Result:

The build entries for SailfishOS <IP_ADDRESS> work fine, they are simply missing in the configuration.
There currently are no “Download on demand sources (rpmmd)” defined for the "DoD repos" sailfishos:<IP_ADDRESS>:armv7hl|i486 and the "DoD repos" for any older SailfishOS releases.
Thus sailfishos:<IP_ADDRESS>:* are currently the oldest "Download on Demand (DoD)" repositories available to build against.

Feature request: Add the following section to both, the meta configuration of the SailfishOS:Chum testing repository and the meta configuration of the regular SailfishOS:Chum repository, between the repository entries for <IP_ADDRESS>_armv7hl and <IP_ADDRESS>_i486.

  <repository name="<IP_ADDRESS>_i486">
    <path project="sailfishos:<IP_ADDRESS>" repository="latest_i486"/>
    <arch>i586</arch>
  </repository>
  <repository name="<IP_ADDRESS>_armv7hl">
    <path project="sailfishos:<IP_ADDRESS>" repository="latest_armv7hl"/>
    <arch>armv8el</arch>
  </repository>

Caveat: These two sailfishos:<IP_ADDRESS>:armv7hl|i486 "DoD repos" become enabled for all packages.  This is a reasonable default for new packages, but may be wrong for existing packages.  In my opinion one should not mind, if the builds fail for this single, old release (in two architectures).  It is far more important that these two entries are on by default for new packages and likely this is the correct setting for many old packages, too.  Also the "compromise approach" to have them enabled for SailfishOS:Chum testing, but disabled for the regular SailfishOS:Chum repository appears to be really confusing.
Hence I strongly suggest not to disable them (YMMV) by adding (usually in the global section, right before the first repository definition; but it is XML, it can be placed anywhere):

  <build>
    <disable repository="<IP_ADDRESS>_armv7hl"/>
    <disable repository="<IP_ADDRESS>_i486"/>
  </build>

Suggestion: Consider to enable the sailfishos:latest "DoD" repositories for SailfishOS:Chum testing
Currently no sailfishos:latest "DoD" testing repositories are defined for SailfishOS:Chum testing, but it would be useful to know for developers if their software builds correctly against these targets (although Jolla seems to usually miss the chance to switch sailfishos:latest to a newer release during cBeta or EA phase).  These "DoD" testing repositories are provided for all three architectures: {aarch64,armv7hl,i486}
Suggestion: Add the following section to the meta configuration of the SailfishOS:Chum testing repository.

  <repository name="sailfish_testing_i486">
    <path project="sailfishos:latest" repository="latest_i486"/>
    <arch>i586</arch>
  </repository>
  <repository name="sailfish_testing_armv7hl">
    <path project="sailfishos:latest" repository="latest_armv7hl"/>
    <arch>armv8el</arch>
  </repository>
  <repository name="sailfish_testing_aarch64">
    <path project="sailfishos:latest" repository="latest_aarch64"/>
    <arch>aarch64</arch>
  </repository>

Special properties:

With above configuration (for all three architectures: {aarch64,armv7hl,i486}) their built packages are published at https://repo.sailfishos.org/obs/sailfishos:/chum:/testing:/<package-name>/sailfish_testing_aarch64/, …/sailfish_testing_armv7hl/ and …/sailfish_testing_i486/, but also in every other …/<sfos-release>_{aarch64,armv7hl,i486}/.
Thus one can select the CPU-architecture, but the built package is available for every SFOS-release.  This is very resource efficient for noarch or other packages, which are not SFOS-release dependent: Built once, available-for all SFOS-releases.
The git-tag date and short-hash is omitted in their package name.

Besides for testing purposes these repositories allow to build SFOS-release independent packages once and have them in all SFOS-release specific download directories.

P.S.: I have tested both suggestions (1 & 2) with a few C++, QML packages and a simple QML noarch package, e.g., Storeman.

Addition of each old SFOS version repository adds maintenance cost on addition. Namely, each package that doesn't compile for these old versions has to be configured to skip it. Looking at <IP_ADDRESS>, it is more than 50 packages. Such disabling will have to be done for :chum:testing and :chum.
This is a significant work and brings the question: how many users would actually benefit from it? It is not motivating to add those repos for just having them.
In principle, we should even start considering closing older repos. Unfortunately, I don't have any stats and cannot judge the  use of <IP_ADDRESS> or other older releases. Wouldn't surprise me if it is zero.

Addition of each old SFOS version repository adds maintenance cost on addition. Namely, each package that doesn't compile for these old versions has to be configured to skip it. Looking at <IP_ADDRESS>, it is more than 50 packages. Such disabling will have to be done for :chum:testing and :chum.  This is a significant work and …

I would not mind doing this: It is the kind of tedious, but easy work one can do while listening to music late at night.

… brings the question: how many users would actually benefit from it? It is not motivating to add those repos for just having them.

Well, Jolla offers "DoD (rpmmd)"  repos for all releases ≥ 3.1.0 and 3.2.0 was the only one left out.
IMO it is up to the developers to decide if these "DoD" repos are useful for them and the users of their apps.

In principle, we should even start considering closing older repos.

For what reason?  It is just an offer for developers to use them, with no duties implied.

Unfortunately, I don't have any stats and cannot judge the use of <IP_ADDRESS> or other older releases. Wouldn't surprise me if it is zero.

You know that I still use SFOS 3.2.1 on my "production" phone due to the low release quality of all releases ever since, and have a couple of apps from SailfishOS:Chum installed.

Re suggestion 2: With the current SSU config, Chum with "latest" will never be used as SSU resolves URL using SFOS version. Having "latest" in addition could lead to conflicts when the packages would start accidentally leaking RPMs that would work only on latest versions and not some older SFOS version. Thus, such saving on copies for efficiency leads to a less stable solution.
So, I prefer current approach. Note that it already allows developers to test their builds against latest SFOS versions as well.
Re old releases: @Olf0 , there is probably a reason why you stayed on 3.2.1. Do you know good reason to stay on even older ones? Or on some releases in between 3.2.1 and the current SFOS?

Re old releases: @Olf0 , there is probably a reason why you stayed on 3.2.1.

Yes, all later releases have one or more flaws (different releases different ones) which breaks one or more important use cases for me.  This abstractly stated, that seems to be generally the reason for people to stay on older SFOS releases.  4carlos (Wolfgang) wrote at FSO, "If you have an SFOS installation running fine, stay at that release and never upgrade SFOS."  Years ago I would have called such a statement "an extreme position", but looking at the quality of all SFOS 4.x.y releases so far, I now concur with this statement (and 4carlos wrote that in 2021).
So everybody has different reasons and some even stick to a specific SFOS release, because Patchmanager-Patch XYZ does not run on newer releases: Also something I think of "a bit extreme", but I do understand that the losing for example Ancelad's "Ultimate Statusbar" and "Lockscreen Analog Clock" (which provides far more than just a clock) constitutes a significant regression in usability.
Jolla forcing people to use the recent SFOS release by not providing older installation images and the technical inability to downgrade (the latter is well understandable: almost no desktop Linux distribution manages to do that successfully) contributes massively to the fact that some long time SFOS users are becoming very reluctant abut upgrading SFOS: Once you are on a SFOS release which does not work for you, one has to reflash and reinstall everything from the scratch, which is only possible if you have kept an old installation image (see how comprehensible 4carlos' aforementioned statement becomes).

For me SFOS 3.2.1 is working really well on my "production phone" Xperia X, only the AAC playback is broken, which mutes most internet radio stations (only very few use MP3).
SFOS 3.3.0 fixes the AAC decoder library, but breaks SD-card access for AlienDavik, which is a no-go for me.  Quite some people seem to stick to this release, because it seems to be really well working.
SFOS 3.4.0 was the transitional release to SFOS 4 and thus broke many Patchmanager-Patches due to Lipstick / Silica changes.  I have the impression this is also the release with which the lack of quality assurance by Jolla started to become obvious: Many little annoyances appeared.
OTOH it is the last release which supports the Jolla 1 phone.  But not only J1 users seem to be stranded on this release, also other who became aware of the deteriorating release quality after upgrading to 3.4.0.
SFOS 4.0.1 is really a bad release.  Trying it on my testing phone (XA2+) made me waiting at least a month and reading the bug reports for all later releases, which resulted in skipping them all.  I am curious what the long due time and the high micro release version of the current cBetas of 4.4.0 mean, but likely some new features and more / new / other broken things.
The 3.1.0 target is also an interesting one, because software compiled for it should also run on 3.0.x (maybe even 2.2.0 / 2.2.1: I might try installing the SailfishOS:ChumGUI app on my old<EMAIL_ADDRESS>when time allows).  SFOS 3.0.1 or 3.0.3 was the last release for the Intex Aquafish, because Intex's support contract with Jolla ended.

Do you know good reason to stay on even older ones?

See above: Yes, if it works fine for you, plus there are sufficient reasons to be reluctant to upgrade.
Or owning an Intex Aquafish, which can be transformed via a CLI-intensive procedure to mimic a Jolla C, if you have not upgraded to 3.0.x (otherwise: factory reset to 2.0.0 and upgrade via stop release hopping): Again sufficient reasons to stay where one is (at 3.0.x) if the installation is running fine.

Or on some releases in between 3.2.1 and the current SFOS?

See above for 3.3.0 and 3.4.0: Lots of people love them.  Even though I do not believe anyone sane wants to stay at 4.0.1 or 4.1.0, in general always somebody will love some characteristic or feature of any specific release and stick to it.

Hey Rinigus, please take step back from looking at the technical details and try to grasp the big picture: The fact that in the realm of Android OS releases which are almost 10 years old are still supported by many apps (especially FLOSS ones at F-Droid) definitely has appeal.  I still run a current OSMand~ release on the AOSP 4.4.4 (API level 19, published 2013) based AlienDalvik on my Xperia X, while I cannot install a recent OSM Scout Server and Poor Maps on SFOS 3.2.1 (published December 2019) for long.  Actually, that Firefox for Android (for me the only really usable browser on SailfishOS with AlienDalivik) ceased to support Android 4.4 in 2020 (after 7 years) is the major reason why I want to switch to the XA2+ as "production phone", if only Jolla would deliver a decent SFOS 4.x release.
SailfishOS:Chum promises (besides the technical and security stuff I emphasised in its README) to enable developers to support all SFOS releases back to 3.1.0 easily (except for 3.2.0, currently), especially if they use Slava's harbour-lib.  This infrastructure is a huge step forward towards more software-longevity on SailfishOS, which allows users to escape Jolla's constant pressure to be their beta-tester for their "latest & greatest" (and quite often "shittiest", lately) SailfishOS release.
What I really do not understand is why you appear to be jumping multiple times between "maintaining SailfishOS:Chum is not much work" to "copy & paste of a special build target configuration for Storeman is a lot of tedious work" and back to "SailfishOS:Chum is low maintenance" to "~ 200 configuration changes (armv7hl / i486, plus Chum proper / Chum testing) for ~50 apps failing to compile for 3.2.0" is infeasible, while I offered to do that, if you would let me.  BTW, no I really do not want to become a Chum administrator, this would be a one-shot action to enable the 3.2.0 target.
--
HTH

Re suggestion 2: With the current SSU config, Chum with "latest" will never be used as SSU resolves URL using SFOS version. Having "latest" in addition could lead to conflicts when the packages would start accidentally leaking RPMs that would work only on latest versions and not some older SFOS version. Thus, such saving on copies for efficiency leads to a less stable solution.

Yes, sure; that is why I suggested that only for Chum testing.  For users it is "testing", hence anything can be broken at any time (like in Debian testing) and it is always a developers' task to use features responsibly.  To clearly show that, the targets are labelled sfos_testing_<arch>.  Mind that all people developing software for SFOS can do anything with the SailfishOS installations of all of their users and will continue to do so until SailJail becomes mandatory for everything without a chance to escape (lol: :grin:).  This seems to be working surprisingly well the last 10 years (or we just have not detected the malware on our devices, yet).
Also note that at OpenRepos "anything goes": I can install a lot of packages on SFOS 3.2.1 which fail to run, because some developers are too lazy to set proper dependencies.
Anyway, this was just an idea when I researched why mentaljam configured and uses sailfish_testing_armv7hl for Storeman Installer (as a noarch RPM) and for Storeman-testing, plus what the sailfishos:latest "DoD repo" is for and does.

For development, I would expect that personal OBS repos would be used, not Chum testing. Chum testing was created to test your packages before release in Chum proper in the environment that is close to the Chum proper (in respect of interaction between packages). So, I am opposing the suggestion to add sfos_testing_xxxx to chum:testing
Re Pure Maps and OSM Scout Server on older SFOS: Those apps use libraries relying on "new" C++ standards. Before, I had to maintain my own copy of GCC for building it. So, as soon as it became possible to rely on system-provided GCC, I switched to that.
Re whether it is much work or not to maintain Chum: It is not "free" to add new target with older SFOS version as many developers tend to prefer using newer libs and gcc. So, if we decide to add it, we better be aware of such requirement and it makes sense to know how many users would actually benefit from it. As SFOS is remarkably well supporting older hardware on newer SFOS versions, the bulk of users update. Add to that small number of SFOS users in general and I wouldn't be surprised if we have ZERO users on some version/arch combinations.
With Storeman, I personally think it is wrong approach and hence I don't want to spend my time into adding these build targets. If you bring Pure Maps as example above, I can bring it over here as well. In Pure Maps, I am supporting multiple Qt versions and backends (Silica, UbuntuTouch one, Kirigami) all from the same branch. That is resolved on build system level and in small sections of the code and the challenge is way larger than what you face with Storeman, from what I have heard. Anyway, Storeman discussion has been going on for too long already and I would prefer to work on my projects instead of getting dragged into it.

For development, I would expect that personal OBS repos would be used, not Chum testing. […] So, I am opposing the suggestion to add sfos_testing_xxxx to chum:testing

That is O.K.  So I dropped that idea of making "testing" binaries easily available for people willing to try them.
BTW, I did gain understanding why you do not want the sailfishos-latest target. I think I missed to denote that clearly, that your arguments and some additional evaluation convinced me.

Re Pure Maps and OSM Scout Server on older SFOS: […]

… was not my point at all.  It was merely an example, maybe a badly chosen one, both technically and that it seems to have startled you.  Sorry, if that came across as criticising you; it was not at all meant that way.
The principal point was:

SailfishOS:Chum promises (besides the technical and security stuff I emphasised in its README) to enable developers to support all SFOS releases back to 3.1.0 easily (except for 3.2.0, currently), especially if they utilise Slava's harbour-lib. This infrastructure is a huge step forward towards more software-longevity on SailfishOS, which allows users to escape Jolla's constant pressure to be their beta-tester for their "latest & greatest" (and quite often "shittiest", lately) SailfishOS release.

But I do get that you deem this as not relevant and hence do not want to consider enabling the 3.2.0 targets.  Which is O.K., I only would have preferred if you clearly stated that earlier, instead of asking (and then being dissatisfied with the answers):

[…] there is probably a reason why you stayed on 3.2.1. Do you know good reason to stay on even older ones? Or on some releases in between 3.2.1 and the current SFOS?

With Storeman, I personally think it is wrong approach and hence I don't want to spend my time into adding these build targets.

???
a. This thread is unrelated to Storeman.  Storeman would not benefit from enabling the 3.2.0 target to a greater extent than any other software which still supports this SFOS release.
b. What does "the approach taken for Storeman" have to do with "hence I don't want to spend my time into adding these build targets."?  This bears no logic to me.  Maybe there is a link on an emotional level, but IMO not on a technical or logical one.
P.S.: Unrelated stuff (= off topic, here)

If you bring Pure Maps as example above, I can bring it over here as well.

This really sounds like "tit for tat".  As written above, I did not intend to criticise you, but obviously you intend to criticise mentaljam (Petr Tsymbarovich) for how he structured the support for multiple SailfishOS releases for Storeman.

In Pure Maps, I am supporting multiple Qt versions and backends (Silica, UbuntuTouch one, Kirigami) all from the same branch.

I know that and this is quite an achievement and technically really cool.

That is resolved on build system level and in small sections of the code and the challenge is way larger than what you face with Storeman, from what I have heard.

I do not face any "challenge" with that, because it is something I never wanted to address, I likely cannot address properly and hence will not, as mentioned in the "Submitting Storeman to SailfishOS:Chum"-thread](https://github.com/sailfishos-chum/main/issues/77#issuecomment-1074591012).  For now the Storeman sources are structured that way mentaljam did, until someone comes up with a PR that changes that in a proper, comprehensible and easy to handle way.  At least the current structure fulfils the last two points for me.
P.P.S.: Yes, this was a lengthy conversation to receive two "No, I oppose this.".  Thus I assume it makes sense to close this issue.


Roll Flutter Engine from e2bd89f97e7f to 03a95cf5220b (3 revisions)

https://github.com/flutter/engine/compare/e2bd89f97e7f...03a95cf5220b
2023-03-06<EMAIL_ADDRESS>Fix incorrect response to platform SystemSound.play (flutter/engine#39992)
2023-03-06<EMAIL_ADDRESS>Sequester all Skia<->DL interactions into the skia sub-module (flutter/engine#40083)
2023-03-06<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from 4iq5VNjEcZIlrUtDK... to kQnUhe74CH6d0V1vj... (flutter/engine#40090)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from 4iq5VNjEcZIl to kQnUhe74CH6d
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jsimmons@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


[Extensibility Bug] Table "Option Lookup Buffer" - Use Enum/Option Ordinal instead of OptionIndex

There was already another issue #9659, that addressed the same issue, but it doesn't seem to be solved in the latest BC18 release.
The procedure FillBufferInternal uses the OptionIndex instead of the OptionOrdinal Value (///HERE).
This might cause problems when you look into the current usage in the BaseApp, since the OptionIndex will differ to Enum Ordinal Value as soon as there are extensions.
local procedure FillBufferInternal(TableNo: Integer; FieldNo: Integer; RelationFieldNo: Integer; LookupType: Enum "Option Lookup Type")
var
    RecRef: RecordRef;
    RelatedRecRef: RecordRef;
    FieldRef: FieldRef;
    FieldRefRelation: FieldRef;
    OptionIndex: Integer;
    RelatedTableNo: Integer;
begin
    RecRef.Open(TableNo);
    FieldRef := RecRef.Field(FieldNo);
    for OptionIndex := 0 to (FieldRef.EnumValueCount() - 1) do begin
        FieldRef.Value(FieldRef.GetEnumValueOrdinal(OptionIndex + 1));
        if IncludeOption(LookupType, OptionIndex) then begin ///HERE
            FieldRefRelation := RecRef.Field(RelationFieldNo);
            RelatedTableNo := FieldRefRelation.Relation();
            if RelatedTableNo = 0 then
                CreateNew(OptionIndex, FormatOption(FieldRef), LookupType) ///HERE
            else begin
                RelatedRecRef.Open(RelatedTableNo);
                RelatedRecRef.SetPermissionFilter();
                if RelatedRecRef.ReadPermission then
                    CreateNew(OptionIndex, FormatOption(FieldRef), LookupType);
                RelatedRecRef.Close();
            end;
        end;
    end;
end;

In the BaseApp the ID field of the TempOptionLookupBuffer is used to validate the type. This would be okay if the ID field includes the Ordinal Enum Value, but right now the OptionIndex is used.
CreateNew(OptionIndex, FormatOption(FieldRef), LookupType) ///HERE

field(FilteredTypeField; TypeAsText)
{
    ApplicationArea = Basic, Suite;
    Caption = 'Type';
    Editable = CurrPageIsEditable;
    LookupPageID = "Option Lookup List";
    TableRelation = "Option Lookup Buffer"."Option Caption" WHERE("Lookup Type" = CONST(Sales));
    ToolTip = 'Specifies the type of transaction that will be posted with the document line. If you select Comment, then you can enter any text in the Description field, such as a message to a customer. ';
    Visible = IsFoundation;

    trigger OnValidate()
    begin
        TempOptionLookupBuffer.SetCurrentType(Type.AsInteger());
        if TempOptionLookupBuffer.AutoCompleteLookup(TypeAsText, TempOptionLookupBuffer."Lookup Type"::Sales) then
            Validate(Type, TempOptionLookupBuffer.ID);
        TempOptionLookupBuffer.ValidateOption(TypeAsText);
        UpdateEditableOnRow();
        UpdateTypeText();
        DeltaUpdateTotals();
    end;
}

The same applies for the procedure IncludeOption. The parameter is called OptionType, but it is the OptionIndex.
local procedure IncludeOption(LookupType: Enum "Option Lookup Type"; OptionType: Integer): Boolean
var
    SalesLine: Record "Sales Line";
    PurchaseLine: Record "Purchase Line";
    ApplicationAreaMgmtFacade: Codeunit "Application Area Mgmt. Facade";
    IsHandled: Boolean;
    Result: Boolean;
begin
    Result := false;
    IsHandled := false;
    OnBeforeIncludeOption(Rec, LookupType.AsInteger(), OptionType, IsHandled, Result);
    if IsHandled then
        Exit(Result);

  .....

end;

Could you please update the procedures and the table to use the Enum/Option Ordinal Value instead of the Index, so that this Option Lookup Framework will work with Enum Extensions, too?

Availability update: We will publish a fix for this issue in the next update for release 18.


Bug: Woden Editor Example on playing the core example at second time

To reproduce :

Create a clean image P12 + Woden Core Example baseline
Opened the Woden Level Editor for the first time, loading the core example
Playing with the example: everything is all right, I can move, grab objects, etc. performance are up to 100FPS
Closing the image
Reopening the image and reopen the editor with core example, image is freezing:

No easy to have more infos because the image is freezing :/
My config:

Windows 11 Pro
Pharo 12 stable build.1512
Pharo VM <IP_ADDRESS>

I will try to rebuild the image from scratch to confirm.

I'm using this script:
EpMonitor disableDuring: [
    Author useAuthor: 'Load' during: [
        Metacello new
           baseline: 'WodenGameFramework';
           repository: 'github://ronsaldo/woden-core-game-framework';
           onConflictUseIncoming;
           load
    ]
]

I have the problem at the first launch. Very strange :/
I will try to display the exception behind the last one.

I succeed to have more informations using the debugguer from play level method.

The stack:
MessageNotUnderstood(Exception)>>raiseUnhandledError
MessageNotUnderstood(Exception)>>defaultAction
MessageNotUnderstood>>defaultAction
UndefinedObject>>handleSignal:
Context>>handleSignal:
MessageNotUnderstood(Exception)>>pass
[ :e |
		self abortRecording.
		e pass
	] in WDAGPUSceneRendererActiveFrameRenderer>>recordAndFlushCommandsOn:queue:with: in Block: [ :e |...
FullBlockClosure(BlockClosure)>>cull:
Context>>evaluateSignal:
Context>>handleSignal:
MessageNotUnderstood(Exception)>>signal
SystemDictionary(Object)>>doesNotUnderstand: #modificationCount
WDAGPUSceneRendererResourceCache>>validTextureHandleFor:
WDAGPUSceneRendererResourceCache>>validTextureViewHandleFor:
[
			| handle |
			handle := renderer resourceCache validTextureViewHandleFor: aWDTexture.
			activeResources add: handle.
			handle
		] in WDAGPUSceneRendererActiveFrameRenderer>>validTextureViewHandleFor:fallbackTextureWith: in Block: [...
[self at: key put: aBlock value] in Dictionary>>at:ifAbsentPut: in Block: [self at: key put: aBlock value]
Dictionary>>at:ifAbsent:
Dictionary>>at:ifAbsentPut:
WDAGPUSceneRendererActiveFrameRenderer>>validTextureViewHandleFor:fallbackTextureWith:
[
			| binding |
			binding := renderer resourceCache rendererShaderSignature allocateMaterialState.
			binding
				writeState: material with: WDAGPUEnvironmentMapMaterialUniformBufferWriter;
				bindSampledTextureView: (self validTextureViewHandleFor: material colorTexture fallbackTextureWith: [renderer resourceCache whiteTexture2D]) inSlot: 1.

			activeSlabResource add: binding.
			binding
		] in WDAGPUSceneRendererActiveFrameRenderer>>emitEnvironmentMapMaterialActivationCommands: in Block: [ ...
[self at: key put: aBlock value] in Dictionary>>at:ifAbsentPut: in Block: [self at: key put: aBlock value]
Dictionary>>at:ifAbsent:
Dictionary>>at:ifAbsentPut:
WDAGPUSceneRendererActiveFrameRenderer>>emitEnvironmentMapMaterialActivationCommands:
WDEnvironmentMapMaterial>>emitActivationCommandsOn:
WDAGPUSceneRendererActiveFrameRenderer>>activateMaterial:withVertexBinding:primitiveTopology:
WDAGPUSceneRendererActiveFrameRenderer>>emitRenderingCommandsForMeshPrimitive:
WDMeshPrimitive>>emitRenderingCommandsWithRenderer:
WDAGPUSceneRendererActiveFrameRenderer>>recordCommandsForRenderable:
WDAGPUSceneRendererActiveFrameRenderer>>recordCommandsForRenderingObject:
[ :each |
				self recordCommandsForRenderingObject: each
			] in [ :eachCameraLayer |
		eachCameraLayer backgroundObjects isEmpty ifFalse: [
			self bindCameraState: (self convertedCameraState: eachCameraLayer cameraState framebufferExtent: framebufferExtent).
			eachCameraLayer backgroundObjects do: [ :each |
				self recordCommandsForRenderingObject: each
			]
		].
	] in WDAGPUSceneRendererActiveFrameRenderer>>recordCommandsForRenderingBackgroundObjectsInScene:framebufferExtent: in Block: [ :each |...
OrderedCollection>>do:
[ :eachCameraLayer |
		eachCameraLayer backgroundObjects isEmpty ifFalse: [
			self bindCameraState: (self convertedCameraState: eachCameraLayer cameraState framebufferExtent: framebufferExtent).
			eachCameraLayer backgroundObjects do: [ :each |
				self recordCommandsForRenderingObject: each
			]
		].
	] in WDAGPUSceneRendererActiveFrameRenderer>>recordCommandsForRenderingBackgroundObjectsInScene:framebufferExtent: in Block: [ :eachCameraLayer |...
Array(SequenceableCollection)>>do:
WDAGPUSceneRendererActiveFrameRenderer>>recordCommandsForRenderingBackgroundObjectsInScene:framebufferExtent:
WDAGPUSceneRendererActiveFrameRenderer>>recordRenderingCommandsFor:intoFramebuffer:
[ :frame |
			frame
				recordRenderingCommandsFor: renderingSceneState intoFramebuffer: framebuffer;
				renderOverlayFormSceneGraph: overlaySceneGraph intoFramebuffer: framebuffer

		] in WDAGPUSceneRenderer>>renderSceneState:overlay:intoFramebuffer: in Block: [ :frame |...
FullBlockClosure(BlockClosure)>>cull:
[
		aBlock cull: self.
		stateTracker endRecordingAndFlushCommands
	] in WDAGPUSceneRendererActiveFrameRenderer>>recordAndFlushCommandsOn:queue:with: in Block: [...
FullBlockClosure(BlockClosure)>>on:do:
WDAGPUSceneRendererActiveFrameRenderer>>recordAndFlushCommandsOn:queue:with:
WDAGPUSceneRenderer>>renderSceneState:overlay:intoFramebuffer:
WDGFWorldOSWindow(WDAbstractRenderingSceneStateOSWindow)>>doRender
[
		self doRender.
	] in WDGFWorldOSWindow(WDAbstractRenderingSceneStateOSWindow)>>render in Block: [ ...
[
		caught := true.
		self wait.
		blockValue := mutuallyExcludedBlock value
	] in Semaphore>>critical: in Block: [...
FullBlockClosure(BlockClosure)>>ensure:
Semaphore>>critical:
WDGFWorldOSWindow(WDAbstractRenderingSceneStateOSWindow)>>render
WDGFWorldOSWindow(WDAbstractRenderingSceneStateOSWindow)>>exposed
WDGFWorldOSWindowEventHandler(WDAbstractRenderingSceneStateOSWindowEventHandler)>>visitWindowExposeEvent:
OSWindowExposeEvent>>accept:
WDGFWorldOSWindowEventHandler(OSWindowEventVisitor)>>handleEvent:
OSWindow>>deliverEvent:
OSWindowExposeEvent(OSEvent)>>deliver
OSSDL2BackendWindow>>visitWindowEvent:
SDL_WindowEvent>>accept:
OSSDL2BackendWindow>>handleNewSDLEvent:
OSSDL2Driver>>dispatchEvent:
OSSDLPasteEventFilter>>dispatchEvent:
[
		mappedEvent := sdlEvent mapped.
		self evaluateUserInterrupt: mappedEvent.
		self eventFilter dispatchEvent: mappedEvent
	] in OSSDL2Driver>>processEvent: in Block: [...
FullBlockClosure(BlockClosure)>>on:do:
OSSDL2Driver>>processEvent:
OSSDL2Driver>>eventLoopProcessWithoutPlugin
[ self eventLoopProcessWithoutPlugin ] in OSSDL2Driver>>setupEventLoop in Block: [ self eventLoopProcessWithoutPlugin ]
[self value.
			"IMPORTANT: Do not step over next line of code. See method comments for details"
			Processor terminateRealActive] in FullBlockClosure(BlockClosure)>>newProcess in Block: [self value....

I'm trying to debug step by step.
At this point this is Ok:

When I click on Run this is ok and the view is working.
Very strange!!


how to run scripts/lowe_interactive_predict.py?

Very impressive work!
I tried to run the already-trained model, but I got:
File "ochem_predict_nn/data/generate_candidates_edits_fullgrants.py", line 3, in <module>
    from global_config import USE_STEREOCHEMISTRY
ImportError: No module named global_config

If I moved the global_config.py from ochem_predict_nn to scripts, and reran the command, I got:
  import ochem_predict_nn.main.transformer as transformer
ImportError: No module named ochem_predict_nn.main.transformer

I am using Ubuntu 18.
Do I need to reorganize the files or change some lines of code to get it to work?
Thanks much!

Hi @ZZP12 -
You should be able to run all of the code from the ochem_predict_nn if you ensure that the working directory ('.') is in your PYTHONPATH environment variable. It should just be a matter of running from the right location and having the right path, hopefully no reorganization needed!

As a follow-up, if you're just getting into the code, you might want to instead take a look at a more recent model that operates quite differently but is faster and more accurate: https://github.com/connorcoley/rexgen_direct


Bump VPA to 1.1.0

How to categorize this PR?

/area auto-scaling
/kind enhancement
What this PR does / why we need it:
Bump VPA components to 1.1.0 to get latest features and fixes.
Some highlights from the changelog:

Implements KEP-4831: Control VPA eviction behavior based on scaling direction and resource (see https://github.com/kubernetes/autoscaler/pull/5599)

This is a prerequisite for #8984

Special notes for your reviewer:
This changes a property name in the CRD. This property wasn't used by any VPA objects, though, as the logic making use of this wasn't implemented in vpa 1.0.
Release note:

Update vertical-pod-autoscaler to 1.1.0. This introduces the `EvictionRequirements`, allowing to control if VPA should evict based on scaling direction.

Please run make generate to fix the tests.

/close in favor of https://github.com/gardener/gardener/pull/8984


Add smoke output display 3dbox to 2d photo

@nepeplwu 感谢您的帮助，关于#91 issue smoke可视化代码和文档已经整理，现在提交PR，请审核。

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


Unusual yoda expressions

I recently had a case where I was using the following code in a test:
{
  a: true,
  b: false,
  c: 1 > 2
}

Standard blew up on me with Expected literal to be on the right side of >.
Apparently this is due to it attempting to adhere a yoda condition ruling.
Is this intentional?
I understand this is most likely a question for eslint, not standard, but I thought I'd ask first.

It seems that eslint considers any expression where the left side is a constant to be a "yoda expression". That seems okay behavior to me, though the error is a bit misleading in this case.

So @feross we think its acceptable to not allow constant expressions?  That's ridiculous no?  Its a perfectly valid case of something you might want?

@dcousens Constant expressions are still allowed, of course :-) For example: var x = 'my string' and var y = 42.
One side effect of the "no yoda expressions" rule is that comparison expressions that always evaluate to the same thing (like 1 > 2) should just be inlined. Is there a reason why you can't change the test code to:
{
  a: true,
  b: false,
  c: false
}

Btw, I don't actually think that preventing constant comparisons like 1 > 2 is very important - happy to turn that off if there's a way to do so.
If anything, eslint should make it a separate rule from the yoda expressions one, which is a bit more useful. Have you filed a bug on eslint?

@feross I personally don't see any difference between: 2 < 1 and 2 + 1.  In my mind they are both constant expressions, and yet the former is being picked up as erroneous.
I was thinking of pushing this upstream to eslint, just figured I'd ask here first.

Ah, you're right. If 1 + 2 is allowed, then 2 < 1 should be too. This is an eslint bug, in my opinion.

@feross did we file this in eslint?

@dcousens I don't remember filing this on eslint.

@dcousens Did you ever file this bug on eslint?

@feross I haven't yet, no.

Bug filed on eslint: https://github.com/eslint/eslint/issues/2867

Bug fixed on eslint master.

This is fixed in eslint 0.24.1. Run npm update to get the fix.


Min Cost to connect all points in Java

File(s) Modified: 1584-Min-Cost-to-Connect-All-Points.java
Language(s) Used: java
Submission URL: https://leetcode.com/submissions/detail/758353948/

Thanks, @Mahim1997!


Some refactor, and add --trace option.

please see changes in experimental.md.

Thank you for your amazing PR


WebDriver Quit Bug Fix

This patch resolves https://github.com/klept0/MS-Rewards-Farmer/issues/126.

I still get a crash in docker (I know, unique use case). If I use quit alone it works fine. if I use close or close/quit it crashes. I did not try quit/close . I am running in docker, so do not care about orphan processes, but understand others do care.

This was put in and removed - https://github.com/klept0/MS-Rewards-Farmer/issues/112

@jdeath Sorry to hear that this PR does not work on your system. Can you figure out the root cause? My issue was because the mobile driver tried to access the session data that the desktop driver occupied. See https://github.com/klept0/MS-Rewards-Farmer/issues/126.
@klept0 I verified this PR resolved https://github.com/klept0/MS-Rewards-Farmer/issues/112 on my MacOS with https://github.com/klept0/MS-Rewards-Farmer/pull/127/commits/7ccba44497e8957357d7a96c93ef5619e11b1278  that https://github.com/klept0/MS-Rewards-Farmer/issues/112 missed. Can you please test this PR on your system?

Getting rid of the redundant closeBrowser calls is a good idea (did the same in #120), but what fixed #126 for me was this IIRC.


mv: can't rename '/etc/crowdsec/*': No such file or directory

lapi container CrashLoopBackOff
I think it's since 1.3.1 release.
crowdsec-lapi-c4d9bcd95-tf952     0/1     CrashLoopBackOff   2          48s
❯ k logs -f crowdsec-lapi-c4d9bcd95-tf952
mv: can't rename '/etc/crowdsec/*': No such file or directory

In the custom values, I changed image policy pull to Always. Setting it to IfNotPresent prevents upgrade of the container, then warning appears in the logs and scenarios won't install because hub is out of sync.
image:
  repository: crowdsecurity/crowdsec
  pullPolicy: Always
agent:
  acquisition:
    - namespace: traefik
      podName: traefik-*
      program: traefik
  env:
    - name: SCENARIOS
      value: "crowdsecurity/http-logs crowdsecurity/http-crawl-non_statics"
    - name: PARSERS
      value: "crowdsecurity/traefik-logs"

lapi:
  dashboard:
    enabled: false
  resources:
    limits:
      memory: 100Mi
    requests:
      cpu: 150m
      memory: 100Mi

Hi @ybizeul,
Could you please update the helm chart to the last version. Indeed there is an issue with the 0.2.3.
We'll fix those asap.

I'm using minik8s (not docker) with Traefik an I realized the helm chart doesn't work for me anyways, I moved to a Deployment crowdsec directly. Had crowdsec worked with text container log format it would have made sense to adopt the helm charts and daemonset across the k8s cluster, but it only works with json

Hi @ybizeul,
Actually you can handle those logs with the helm chart as explained in https://github.com/crowdsecurity/helm-charts/issues/30#issuecomment-1054085843 and it's also available in the chart values description.
Could you please retry and tell me if it's working.


django 2.1

Hello Ahmet ;
will we be able to run django-river  on Django 2.1

Hey,
It will be coming with v1.0.0

It is supported in 1.0.0


gateway: Add GRPCRoute support for status changed predicate

This was missed in the previous commit 8a421e7.

/test

/test

hits https://github.com/cilium/cilium/issues/30101


enable dependabot

To regularly update the dependencies (maybe monthly?).

it could work for poetry ([package-ecosystem](see https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem))
need to see if it is clever enough to update poetry and requirements at the same time...
probably wait until the first tests are in

Will depend on tests and #19 and #20 (i.e., it only makes sense if we check that it still works with new versions...)


Add new tests OB/VerifyDescendingSortByPriceTest

Please, approve my PR. Thank you! https://github.com/ArinaJur/LumaProject/pull/44


incompability with McCaw's roofs.

the recipe for your wooden shears is the same as wooden tiles for the other mod (roofs) which prevents making shears== making plates==woodcutter and maybe any of your other recipes using wooden plates: suggestion; add something to recipe for shears. Iie: wooden ax or maybe bottom left corner for recipe materials. wood(lol) really like to use both mods.
Also shouldn't woodcutter make 2 slab from 1 block.
I've checked what i could on ways to change any of this but i'm too much of a 60 yr old nube(to programming) buut I started with apple basic in the 80's and text programming, never went further til now. I like your mod almost as much as the woodcutter mod that died out. I use it more than i did the roofs mod so i uninstalled the roofs mod. thought you might like to know about the issue though if you didn't already.
thanks.

This mods being written From the Ground up, so this will be an issues till the rewrite of the base mods is done

https://github.com/BedrockLegends-Mods/WoodenUtilities/projects/1

Heres a Temp fix that I did for my modpack https://github.com/BedrockLegends/Monumental-Experience/commit/fae32cbb8d34108ec86d989189f8ed088d259d7f


🌱hack: use and pin mdl 0.12.0

Pin markdownlint image to 0.12.0 with SHA to guard against changes without explicit acknowledgement.
Makes OpenSSF scorecard happier as well by pinning down another dependency.

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

/test-ubuntu-integration-main

/retest

/retitle Bump mdl to 0.12.0 and pin it to sha:digest

/retest


Issue #8689 fixed.

Issue Reference

Issue #8689 fixed.

@suraj-webkul
Checked and Found that the issue has been fixed. Please check the screenshots for the same.
Screenshots
https://prnt.sc/2HzcvFx_Wssl
https://prnt.sc/a2IJF9CRv_eT


Responsive

We need to check and make sure the website is responsive on different screens and browsers

I have done some responsive updates,  max-width: 1180px.
We still need to check all mobile phones width

All responsiveness done


about apache druid and metatron druid

Is there any idea to support Apache druid? Or does metatron druid incorporate the capabilities of Apache druid?
I didn't find the usage API and documentation for metatron druid. Does metatron druid provide kafka support?
Will Metatron druid be open source?

@FourSpaces
First, compared to apache druid, the basic query functionality is the same. However, since version 0.9.1, we've added some features to suit us. Please refer to the following link for more details : https://metatron.app/2018/06/15/skt-druid-features/
Unfortunately, the documentation of the added functionality is still poor. And kafka supports it. It is now possible to load real-time data sources using kafka in discovery. It has been added to the 3.4 rc2 version, so please try it once.
Finally, metatron druid plans to open source it. But We need more time. :(


added windows 11

after reading this article, i confirmed windows 11 is supported

Learn Build status updates of commit 9009fa6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows/security/threat-protection/security-policy-settings/network-security-restrict-ntlm-ntlm-authentication-in-this-domain.md
:white_check_mark:Succeeded

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