[CRITICAL BUG] Wrong download total size after resuming

At first shot the total size gets shown correctly but after a cancel and resume, or a pause and resume the total size is alreadyDownloadedSize + totalSize!
This bug is only in version 3.1.5 of Android X... Version 3.1.4 doesn't have this bug
@tonyofrancis

@tonyofrancis
!!!

This bug is only in version 3.1.5 of Android X... Version 3.1.4 doesn't have this bug

I am having the same issue with the non-Android X version and posted my issues in an old, closed issue (#486.) I'll post it here again in case it helps:
"Hi, this issue is still present for me in 3.0.11. I noticed a few things:
When you kill the app while it's downloading and then restart the app, it adds the amount of bytes that have been downloaded up to that point to the file. So for example with Big Bunny, the initial file size is 151 MB. If it has downloaded 50 MB and you kill and restart the app, the file size will be set to 201 MB.

This breaks the values returned in OnProgress in FetchListener, because it now calculates the progress based on the 201 MB file size, but still correctly downloads only 151 MB.

This in turn causes OnComplete to never be called. If you kill and restart the app again at that point, the downloader attempts to download the file again, but this results in a "Request is Unsuccessful" error, probably because it did actually download the amount of bytes it should have downloaded.

In the case of the Big Bunny video, playback of the video after 151 MB has been downloaded goes fine, despite the wrong file size. This might be specific to video files.

I think a similar issue occurs when pausing & resuming, but I have not tested that enough to confirm it yet. EDIT: just confirmed this happens with pausing & resuming as well. To see it clearly: let the download progress till ~50%, then pause it and resume it. The progress will fall to somewhere in the 30s and the download finishes at 60/70s.

I can send you my project and an APK for testing if you need it, but I implemented it in a Unity project so I'm not sure if it will be of any particular help. Let me know if you need it and I'll send it ASAP.
EDIT:
Also I forgot to mention, if you set preAllocateFileOnCreation to false, the final file size will be correct, but the Download object will still have the incorrect total size."

I am having the same issue with the non-Android X version and posted my issues in an old, closed issue (#486.) I'll post it here again in case it helps:
"Hi, this issue is still present for me in 3.0.11. I noticed a few things:

When you kill the app while it's downloading and then restart the app, it adds the amount of bytes that have been downloaded up to that point to the file. So for example with Big Bunny, the initial file size is 151 MB. If it has downloaded 50 MB and you kill and restart the app, the file size will be set to 201 MB.
This breaks the values returned in OnProgress in FetchListener, because it now calculates the progress based on the 201 MB file size, but still correctly downloads only 151 MB.
This in turn causes OnComplete to never be called. If you kill and restart the app again at that point, the downloader attempts to download the file again, but this results in a "Request is Unsuccessful" error, probably because it did actually download the amount of bytes it should have downloaded.
In the case of the Big Bunny video, playback of the video after 151 MB has been downloaded goes fine, despite the wrong file size. This might be specific to video files.
I think a similar issue occurs when pausing & resuming, but I have not tested that enough to confirm it yet. EDIT: just confirmed this happens with pausing & resuming as well. To see it clearly: let the download progress till ~50%, then pause it and resume it. The progress will fall to somewhere in the 30s and the download finishes at 60/70s.

I can send you my project and an APK for testing if you need it, but I implemented it in a Unity project so I'm not sure if it will be of any particular help. Let me know if you need it and I'll send it ASAP.
EDIT:
Also I forgot to mention, if you set preAllocateFileOnCreation to false, the final file size will be correct, but the Download object will still have the incorrect total size."

Yep same problem in my case. For right now I have fallen back to 3.1.4 version but it feels more like getting out from the shower and stand under the rain, because 3.1.4 has a ton of bugs and issues that were all fixed in 3.1.5 as the dev himself said that he doesn't bother his lazy bum to work in this library. So now I'm in pitfall of going with a buggy version or using a new version but implementing my own way of calculating the file size until the dev bother himself to fix the issue.
So my idea is to turn off the database in fetch configuration and save download information my own way using a SQL or NoSQL method (maybe PaperDB), and implement my own code in onProgress for calculating the file size. Simply like:
val x = File(targetFile)
size = x.length()
yada yada...
The other workaround is to completely override the DatabaseManager in Fetch config and override each and every function which takes a lot of effort and time so I prefer the first way.
But this is just a  quick hack for the time being.

I am having the same issue with the non-Android X version and posted my issues in an old, closed issue (#486.) I'll post it here again in case it helps:
"Hi, this issue is still present for me in 3.0.11. I noticed a few things:

When you kill the app while it's downloading and then restart the app, it adds the amount of bytes that have been downloaded up to that point to the file. So for example with Big Bunny, the initial file size is 151 MB. If it has downloaded 50 MB and you kill and restart the app, the file size will be set to 201 MB.
This breaks the values returned in OnProgress in FetchListener, because it now calculates the progress based on the 201 MB file size, but still correctly downloads only 151 MB.
This in turn causes OnComplete to never be called. If you kill and restart the app again at that point, the downloader attempts to download the file again, but this results in a "Request is Unsuccessful" error, probably because it did actually download the amount of bytes it should have downloaded.
In the case of the Big Bunny video, playback of the video after 151 MB has been downloaded goes fine, despite the wrong file size. This might be specific to video files.
I think a similar issue occurs when pausing & resuming, but I have not tested that enough to confirm it yet. EDIT: just confirmed this happens with pausing & resuming as well. To see it clearly: let the download progress till ~50%, then pause it and resume it. The progress will fall to somewhere in the 30s and the download finishes at 60/70s.

I can send you my project and an APK for testing if you need it, but I implemented it in a Unity project so I'm not sure if it will be of any particular help. Let me know if you need it and I'll send it ASAP.
EDIT:
Also I forgot to mention, if you set preAllocateFileOnCreation to false, the final file size will be correct, but the Download object will still have the incorrect total size."

By the way this is the example project in case if you need to take a look... It is simple and doesn't have a lot of stuff just a download function and a custom resolver class.
https://drive.google.com/file/d/1OzLUJwdPgcn7JDsYtRoP_fxZX6f08d3t/view?usp=sharing
RAR password: 123

I am having the same issue with the non-Android X version and posted my issues in an old, closed issue (#486.) I'll post it here again in case it helps:
"Hi, this issue is still present for me in 3.0.11. I noticed a few things:

When you kill the app while it's downloading and then restart the app, it adds the amount of bytes that have been downloaded up to that point to the file. So for example with Big Bunny, the initial file size is 151 MB. If it has downloaded 50 MB and you kill and restart the app, the file size will be set to 201 MB.
This breaks the values returned in OnProgress in FetchListener, because it now calculates the progress based on the 201 MB file size, but still correctly downloads only 151 MB.
This in turn causes OnComplete to never be called. If you kill and restart the app again at that point, the downloader attempts to download the file again, but this results in a "Request is Unsuccessful" error, probably because it did actually download the amount of bytes it should have downloaded.
In the case of the Big Bunny video, playback of the video after 151 MB has been downloaded goes fine, despite the wrong file size. This might be specific to video files.
I think a similar issue occurs when pausing & resuming, but I have not tested that enough to confirm it yet. EDIT: just confirmed this happens with pausing & resuming as well. To see it clearly: let the download progress till ~50%, then pause it and resume it. The progress will fall to somewhere in the 30s and the download finishes at 60/70s.

I can send you my project and an APK for testing if you need it, but I implemented it in a Unity project so I'm not sure if it will be of any particular help. Let me know if you need it and I'll send it ASAP.
EDIT:
Also I forgot to mention, if you set preAllocateFileOnCreation to false, the final file size will be correct, but the Download object will still have the incorrect total size."

And oh let me thank you very much for your reply. That's so kind of you ^_^

@tonyofrancis You should really start taking your lib issues seriously otherwise just archive the repo or give it to someone else for maintaining.

@NotNotMarshall, @Dezley-VROwl does this happen with in Parallel File Download or Sequential File Download

@badrazizi On both settings

When you kill the app while it's downloading and then restart the app, it adds the amount of bytes that have been downloaded up to that point to the file. So for example with Big Bunny, the initial file size is 151 MB. If it has downloaded 50 MB and you kill and restart the app, the file size will be set to 201 MB.

i was able to reproduce this only with Sequential File Download, Parallel File Download give me correct total size

EDIT: just confirmed this happens with pausing & resuming as well. To see it clearly: let the download progress till ~50%, then pause it and resume it. The progress will fall to somewhere in the 30s and the download finishes at 60/70s. Even no need to kill the app.

@Dezley-VROwl i could not reproduce it with this link http://speedtest.tele2.net/100MB.zip, could share a link to test with.

When you kill the app while it's downloading and then restart the app, it adds the amount of bytes that have been downloaded up to that point to the file. So for example with Big Bunny, the initial file size is 151 MB. If it has downloaded 50 MB and you kill and restart the app, the file size will be set to 201 MB.

i was able to reproduce this only with Sequential File Download, Parallel File Download give me correct total size

EDIT: just confirmed this happens with pausing & resuming as well. To see it clearly: let the download progress till ~50%, then pause it and resume it. The progress will fall to somewhere in the 30s and the download finishes at 60/70s. Even no need to kill the app.

@Dezley-VROwl i could not reproduce it, could share a link to test with.

https://drive.google.com/file/d/1OzLUJwdPgcn7JDsYtRoP_fxZX6f08d3t/view?usp=sharing

@NotNotMarshall, @Dezley-VROwl does this happen with you in Parallel File Download or Sequential File Download

Both

When you kill the app while it's downloading and then restart the app, it adds the amount of bytes that have been downloaded up to that point to the file. So for example with Big Bunny, the initial file size is 151 MB. If it has downloaded 50 MB and you kill and restart the app, the file size will be set to 201 MB.

i was able to reproduce this only with Sequential File Download, Parallel File Download give me correct total size

EDIT: just confirmed this happens with pausing & resuming as well. To see it clearly: let the download progress till ~50%, then pause it and resume it. The progress will fall to somewhere in the 30s and the download finishes at 60/70s. Even no need to kill the app.

@Dezley-VROwl i could not reproduce it, could share a link to test with.

This will reproduce the error:
https://drive.google.com/file/d/1OzLUJwdPgcn7JDsYtRoP_fxZX6f08d3t/view?usp=sharing
RAR password: 123

@NotNotMarshall I have some time this week too look into this issue. Will test and report back.

@NotNotMarshall I have some time this week to look into this issue. Will test and report back.

Thank you very much, I appreciate your hard work! ♥

@NotNotMarshall Thanks. I am working on releasing the new version today. Will report back

@NotNotMarshall  A new version of Fetch 3.0.12 & AndroidX version 3.1.6 has been released

@NotNotMarshall A new version of Fetch 3.0.12 & AndroidX version 3.1.6 has been released

Awesome!


 Also will not always start different tour, or if you restart tour kills app.

it appears to be fixed


Remove ReactMarkdown in Inputs/Outputs

Summary
Original issue: https://oncprojectracking.healthit.gov/support/browse/FI-2724
Problem: contents in Inputs and Outputs are converted to markdown. Though it's useful for styles, can cause problems when strings like URLs are broken by that.
Fix: removed React Markdown in the HTML.
Testing Guidance

Run Inferno core
Try markdown contents in entry (e.g. bearer_token: ~~SAMPLE_TOKEN~~)
In the results, contents SHOULD NOT be converted into markdown.

Consideration
react-markdown is being used as below. Further investigation needs to figure out whether markdown is being used unnecessarily.

Looks good, I would probably also double check the other instances of ReactMarkdown to see if they're also running into this issue and address accordingly but this is mergeable now.
LGTM

Thanks. A newbie question; I assigned three reviewers, should all of the three approve, or one approval out of three is good to merge?

Thanks. A newbie question; I assigned three reviewers, should all of the three approve, or one approval out of three is good to merge?

One is usually sufficient unless there is a reason to want approval from specific people!


Extract Raven::Instance and delegate from Raven to it

This refactor was done in 2 steps:

Extract methods from Raven's top level module (in base.rb) into Raven::Instance, copy the tests, get them green
Delegate from Raven to an instance of Raven::Instance

These instances may be used like this:
class Foo
  def initialize
    @other_raven = Raven::Instance.new
    @other_raven.configure do |config|
      config.server = 'http://...'
    end
  end

  def foo
    ...
  rescue => e
    @other_raven.capture_exception(e)
  end
end

Fixes #462.

@nateberkopec @dcramer what do you think?

@phillbaker Thanks for getting this running against Rubocop. I'll take a look as soon as I can.

Could we alias Raven.client to Raven.instance?

@nateberkopec just double checking I understand - I think Raven.client will delegate to the instance, it's listed here: https://github.com/phillbaker/raven-ruby/blob/dbb290e9810d5ebf27fabfdb68c047fb7b2fca39/lib/raven/base.rb#L35. I could move that next to the client= in the list for clarity


Allow users to add custom directories

Allow users to add a custom folder for user directory config files
Create folder in user directory "~/morpheus/testbenches" with list of directories to be added.
Scans these directories for yml files and sorts them into schematic, test, and terminal collections.

Added to config module to scan path_locations directory. Need to add unix option to add paths.


Add SiteMapParser#walkSiteMap(URL,Consumer)

This PR adds a convenience method to fetch a sitemap from the specified URL, recursively traverse any enclosed sitemap index, and perform the specified action for each sitemap URL. It is strongly inspired by methods like Iterable#forEach and Stream#forEach.
The code is based on SitemapParser.java by @chaiavi, with extra checks to avoid NullPointerExceptions.
I added the method to SiteMapParser rather than AbstractSiteMap since the parser is needed to recurse into sitemap indices.
I'm open to suggestions regarding the method's name and null-friendliness.

@lucboruta this is really nice. I think a unit test to demonstrate a Consumer action would be ideal.

Cool. Since we don't want unit tests to depend on remote content, I'll overload the first method with a few other methods working on byte arrays, content types, etc., as was done for SiteMapParser#parseSiteMap.

Since the different parseSiteMap methods all return an AbstractSiteMap, duplicating all these signatures would be cumbersome. I simply added SiteMapParser#walkSiteMap(AbstractSiteMap,Consumer) and a unit test for that new method.
This PR now adds two public convenience methods:

SiteMapParser#walkSiteMap(URL,Consumer) to fetch and traverse a sitemap, starting from the URL of the online sitemap;
SiteMapParser#walkSiteMap(AbstractSiteMap,Consumer) to traverse a sitemap, starting from any AbstractSiteMap.

+1 lgtm

adds a useful API method (esp. by fetching recursively sitemaps of a sitemap index)
for the long therm we could move the execution of the action to the parsing code to reduce the memory footprint

Resolved conflicts, rebased, updated changelog and merged 8ca46ff. Thanks, @lucboruta! Thanks, for the reviews (@Chaiavi, @lewismc)!


Can GL be used with lima-vm?

I'm wondering if Gardenlinux can be used with lima-vm? In theory I guess this should not be an issue, but my naive attempt failed.
Lima is a cli tool to work with vms, it does abstract qemu, but potentially also the native virtualizer on macos. It is an alternative to podman desktop, but can also be used in a more generic way to manage linux vms. In some sense it could be considered as an alternative to vagrant (which recently changed the license to a non-OSI approved license).
Lima uses cloud init to setup a user in the vm for easy ssh access, something with that seems to not work when trying to boot GL.
What would you like to be added:
It would be gerat if we can show/document how to use GL vm images with lima.
Why is this needed:
This would give users a easier way to work with GL for testing/development/evaluation purposes.

I did a little investigation and found the following:
I was assuming that cloud-init is always part of GL, but that's not the case. Building a kvm_dev image with cloud-init added allows to run GL with lima.
There is still a issue: Lima wants to install sshfs if a mount is configured, but GL does not contain sshfs in its repos, so this will fail. If you configure lima not to try any mounts, it won't try to install sshfs and running a GL vm in lima works like a charm.
I'm not sure if it is worth adding sshfs to the repos, but I do believe that this might be useful for potential GL users/admins to spin up VMs.
Another potential UX improvement would be to host those gl raw images (not zipped, but just the raw file) somewhere so people don't need to build it for themselves.

Building images that work with lima works well using the lima feature.
What I'd still like to do is to put pre-built images on a public place so they can be consumed easily.
The basic idea would be to put images up at a location like (made up urls):

https://images.gardenlinux.io/kvm_curl-lima-{amd/arm}64.qcow2

https://images.gardenlinux.io/kvm_curl-lima-{amd/arm}64.yaml (manifest file with disk image url preconfigured)

https://images.gardenlinux.io/kvm_curl-lima-{amd/arm}64-1312.2.qcow2

https://images.gardenlinux.io/kvm_curl-lima-{amd/arm}64-1312.2.yaml

The artefacts without a version number might be always the latest release. Those images might be helpful to gl developers to get test/reproduction environments but also to potential users to try out compatibility of Garden Linux.

closed as not in scope


Enable detection of vehicles and pedestrians

Summary of changes

Added config file for detecting obstacles.
Added logs to print out the random seed that was used so that it can be saved to reproduce safety critical scenarios.
Added a new option in the split dataset script to be able to visualize the dataset in the FiftyOne GUI which also annotates the dataset with ground truth bounding boxes.

LGTM!


update finalzier to CRD doc

Depends-On: https://github.com/openstack-k8s-operators/lib-common/pull/519

recheck


Problems area: Errors/warnings are stuck

VSCode Version: 1.26.0 4e9361845dc28659923a300945f84731393e210d x64
OS Version: Linux 4.15.0-32-generic #35-Ubuntu x86_64 x86_64 x86_64 GNU/Linux

Steps to Reproduce:

TS - make warning like "missing whitespace"
Fix error

Warning is still there until vscode is restarted.

Does this issue occur when all extensions are disabled?: Yes

Duplicate of #56371


Caching path mechanisms and full store handling refactor

I still need to write several tests for the new functionality, and a few other minor updates, but I wanted to get the PR going so people could start looking at the refactor and make sure we're on the same page about the conceptual changes.
To summarize:

Metadata files are now stored along with every output path including experiment, run, record, and parameter information. This is intended to improve artifact provenance, as full store runs that use previously cached values will include the metadata about those previous values.
Record/manager get_path computation has been expanded, and cachers now use that instead of expecting the stage to directly set the path on them, with the following benefits:

More consistent with how a user would manually cache/add paths to be tracked, so now all of the artifact files (metadata, reportables, cached outputs) use the same mechanism to transfer to the full store.
Cachers can be excluded from the full store folder by setting track=False
More control over subpath of an output within the cache/run directory, you can provide a subdirectory (allowing kedro data engineering convention like folder structure), and/or a prefix (instead of [cache_dir]/[experiment_name]_[hash]_... you can do [cache_dir]/[custom_prefix]_[hash]_.... This allows cross-experiment caching)

save doesn't get called on the cacher a second time to put it in the store full folder, instead the output files are just copied at the end of the stage. (Previously ran into some weird issues where a custom cacher was in an incomplete state because it had loaded something from cache (without the stage executing) and couldn't save a second time - but just copying the file would have worked)
Store full runs store cached outputs into the run's artifacts/ subdirectory (keeps that experiment run folder's root much cleaner)

Benefits:

Much more control over individual cachers
Path mechanisms are more consistent - will allow work on the non-auto-resolving lazy instances to progress (previously a blocker because of inconsistent cacher path state)
Metadata = better provenance
Fixes previously messy file extension handling (would fix #9)
Very large data cached objects can work across experiments without duplicating on disk, and can be kept out of full store folders

Negatives:

Breaking changes, any custom cachers need to update to use self.get_path() instead of self.path
Custom cachers need to be more conscientious about the paths they're actually writing to - if writing out multiple paths per single cacher, will need to get each path with self.get_path(some_suffix) calls rather than getting the path once and modifying it, to avoid untracked files (unless it's a directory in which case the entire directory is tracked)

As an example of what the metadata outputs, when I run the example newsgroups experiment, one of the ...train_model_model_metadata.json files looks like:
{
  "artifact_generated": "2023-03-22-T192150",
  "params_hash": "32d3acce40140d8ca6e79c0092b453ee1",
  "params_name": "1",
  "record_name": "Record 0 (1)",
  "stage": "train_model",
  "artifact_name": "model",
  "cacher_type": "<class 'curifactory.caching.PickleCacher'>",
  "record_prior_stages": [
    "load_data"
  ],
  "prior_records": [],
  "params": {
    "name": "1",
    "layers": "(1,)",
    "seed": "42",
    "activation": "'relu'",
    "sample_count": "9000",
    "dimesionality": "500"
  },
  "extra": {},
  "manager_run_info": {
    "reference": "newsgroups_195_2023-03-22-T192147",
    "experiment_name": "newsgroups",
    "run_number": 195,
    "timestamp": "2023-03-22-T192147",
    "commit": "33ddf0235113e91c5fb99e7dc997d24579c2cb5",
    "workdir_dirty": false,
    "params_files": null,
    "args": {
      "newsgroups": [
        [
          "1",
          "32d3acce40140d8ca6e79c0092b453ee1"
        ],
        [
          "10",
          "25b447294d623c408df1840f5b3bfc512"
        ],
        [
          "20",
          "26d7649b431c0819730b9cf3f4520bcba"
        ],
        [
          "50",
          "1fae405268ec9ebb632cc2d2c2cfa9825"
        ],
        [
          "100",
          "2b472c37c069fab3b2420f95d6532059c"
        ]
      ]
    },
    "full_store": true,
    "cli": "experiment newsgroups --store-full --overwrite",
    "hostname": "arcane",
    "notes": null,
    "reproduce": "experiment newsgroups --cache data/runs/newsgroups_195_2023-03-22-T192147 --dry-cache"
  }
}


removing second unnecessary check for empty path since it was never used

This PR contains a small code cleanup in the tpath package in operator. The function getFromStructPath has 2 checks for the parameter path to see if it's empty or not without any operation on path in between. As a result, the second empty path check is never entered. This can be seen by the code coverage as well. I have removed the second check
[X] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Hi @abbasally5. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


🐛 Bug Report — Runtime APIs: The AsyncContext of AsynLocalStorages gets lost in custom thenables

If I define a custom thenable and try to access the store of an AsyncLocalStorage in the then method, the store seems to be undefined although it shouldn't be.
Basically:
import { AsyncLocalStorage } from 'node:async_hooks';

const als = new AsyncLocalStorage();

export default {
  async fetch() {
    return als.run({ }, async () => {
      const thenable = {
        then(onfulfilled) {
          // ...
          als.getStore(); // <- yields undefined ❌
        },
      };
       // ...
    });
  },
};

minimal reproduction

Ah, yes, custom thenables do not currently automatically propagate the async context. You'll need to use AsyncLocalContext.bind(...) or AsyncLocalContext.snapshot(...) with the thenable to capture the context.
const thenable = {
  then: AsyncLocalStorage.bind(function (onfulfilled) {
    als.getStore();
  })
};

@jasnell I see but I assume that this can be improved/fixed? is propagating the async context for thenables something potentially problematic/complex?
As you can see in https://github.com/cloudflare/next-on-pages/issues/499 the problem is that libraries can use thenables so application authors could be unable to bind all the then methods 🥲

It requires a fix in v8 to get working. We can patch v8 to get it working but I've been waiting on a larger change coming for the implementation of the standardized AsyncContext API. I was hoping that would come faster than it has but it's looking like there's no ETA yet. I can work up the patch and we can float it until v8 receives the other updates.

@jasnell yeah that would be awesome since I have seen a few developers hitting this issue 😄
Hopefully it's not too too much work/complex to implement such temporary patch? 🤞

Any suggested workaround meanwhile? I am unable to use Prisma on CloudflareWorkers currently.

The immediate workaround is to use AsyncLocalStorage.snapshot(...) ...
For example...  (this doesn't use a thenable but the idea should be clear)...
class Foo {
  #runInAsyncScope = AsyncLocalStorage.snapshot();

  get() { return this.#runInAsyncScope(() => asyncLocalStorage.getStore()); }
}

Essentially, your custom thenable would use AsyncLocalStorage.snapshot() to capture the relevant context and enter it manually when the thenable is invoked.

@jasnell I assume that the V8 change hasn't landed yet? 😓
Regarding the workaround, as I mentioned here: https://github.com/cloudflare/next-on-pages/issues/499#issuecomment-1929154711 I think that unfortunately the workaround is a bit impractical when thenables come from libraries.
Since people keep hitting this issue I would be curious to know if there's an ETA for the V8 change, alternatively as I mentioned in my next-on-pages comment maybe we could there do some hacks and try to patch all thenables present in the code, but before we consider doing that I'd be curious about the effort required in workerd to patch this and the brittleness of the solution since, as I mentioned, a next-on-pages hack would be:

brittle
complex
costly (it would likely significantly increase build time)
fix this problem only for apps using next-on-pages

So I'm wondering, if we want to fix this, where it would make more sense to do so (I'm definitely leaning towards workerd but as I mentioned I don't really know what the fix there implies)

... The change definitely needs to be made in v8...

To clarify, when I say this, I mean that the limitation here is within v8 itself and to fix it requires a patch to v8. We can float a patch that addresses this but ultimately, long term, it's something that v8 needs to address. My plan currently is to float a patch and I have one in testing internally. Assuming that looks good I'll be able to open a PR here.

Oh I see. Thanks for looking so deeply into this. Do you think there is long-term merit in using JavascriptCore instead of V8? It would reduce resource utilisation on Cloudflare Edge Network right?

... long-term merit in using JavascriptCore instead of V8 ...

Not necessarily. While we've always had a Side Quest in mind of making workers somewhat agnostic of the js runtime the reality is that v8 is a hard dependency. It's not clear at all that switching to something like JSC would yield enough of a realized benefit to justify the development effort it would take. This issue around the async context propagation, on its own, certainly would not be enough justification.

Quick update... I've got the v8 patch put together and internal testing is showing that it's good. I want to get some review before I open the PR that adds the patch here. But, progress!
@qard ... just a heads up that I was able to use your older patch as a roadmap here. When I open the PR here, the patch should contain everything you need to move forward to upstream the updated patch in v8 itself.

Nice! That was quick work. 🎉

waiting for the patch, thanks for your hard work!

Waiting for the patch as well - Hope it gets fixed soon!
Is there an ETA?

Fixed by #1665 which was merged yesterday. Likely will go to production some time next week.

Going to go ahead and close this issue now since the fix has landed. As Kenton mentioned, if all goes well that'll end up in production likely by next week.

We @prisma would appreciate a further comment here when this has been rolled out to production, so we can confirm and then remove documentation for the current blocking problem. Thanks.


Update operator capabilities to level 4

This commit updates the OCS Operator's capabilities level to 4, "Deep
Insights". Per the Operator SDK documentation, we now fulfill the
following requirements:

Operator exposing metrics about its health
Operator exposes health and performance metrics about the Operand
Operand sends useful alerts
Custom Resources emit custom events

The following criteria was determined by the Operator SDK team to not be
required, and indeed may soon be removed:

Operator leverages Operator Metering

Though we may not fully have metrics for all aspects of our operations,
simply having the level we currently do is sufficient to meet the
criteria.
Signed-off-by: Jose A. Rivera<EMAIL_ADDRESS>

/test ocs-operator-bundle-e2e-aws

/override ci/prow/red-hat-storage-ocs-ci-e2e-aws

/test ocs-operator-bundle-e2e-aws


[Radio][Checkbox] Add size="small" support

[x] I have followed (at least) the PR section of the contributing guide.
I'm still working on add size= "small" support issue

Closes #18479

@SandraMarcelaHerreraArriaga Thanks, it's a good start, I have pushed some commits so you can actually what was missing. I believe the Radio component is more or less covered. What do you think of applying the same method to the Checkbox component? :)

@SandraMarcelaHerreraArriaga Thanks, it's a good start, I have pushed some commits so you can actually what was missing. I believe the Radio component is more or less covered. What do you think of applying the same method to the Checkbox component? :)

Hey @oliviertassinari thank you very much! and sure, I am going to start working on apply the same method to Checkbox component :)

Awesome :)

@SandraMarcelaHerreraArriaga Thank you

@oliviertassinari Ohh thank you, I will take another issue, there is other that you can recommend to me ?

I would recommend to work on pain points you have personally faced. Otherwise, maybe something you think that is important?

@oliviertassinari I have  commented on some issues to work on it, thank you


Fetching templates

What are we adding in this PR
This PR adds fetching templates from our API rather than from a local array stored in memory. This allows us to reduce the size of our client side code and dynamically add new templates by updating the cloud datastore.

Resolved :)

Resolved comments :)

Resolved :)


Place text in paragraphs

I would like to propose the implementation and inclusion of a new StyleCop diagnostic.
Category: Documentation
Rule: Place text in paragraphs
Description: Text within certain documentation elements should be placed within <para> tags. This includes all blocks of text within a <remarks> or <note> element.
Rationale: This rule ensures these elements appear consistently when rendered to a variety of output media, including HTML.

I like this rule, so long as it doesn't require <remarks> with only a single paragraph to be surrounded in <para> tags.

It does. The <remarks> element is the most frequently included element (using inheritdoc) which is then extended to include additional content. Placing even a single paragraph in these tags ensures consistent formatting across the board.
Keep in mind a code fix is already implemented that can wrap every single-paragraph <remarks> element in <para> tags across the solution with no effort from the developer, and these can be used at any time. Users will not be required to type the tags, and the barrier to adoption is minimized.

@DotNetAnalyzers/members This rule really helps ensure consistent formatting when using tools like Sandcastle Help File Builder to publish documentation, and manually checking for these cases is tiresome. Since the rule includes a code fix that can correct existing violations, I believe it would be a great help to developers if we could include it.

The    element is the most frequently included element (using  inheritdoc ) which is then extended to include additional content. Placing even a single paragraph in these tags ensures consistent formatting across the board.

I've never seen <inheritdoc /> used in combination with any other docs. How does that look?
That might be the compelling reason. But as I've never seen it so far, I'm still leaning toward not wanting this rule since adding <para> tags to a single paragraph (even a few word sentence) of a doc section hurts readability where it matters most (in the code). Document formatting tools should be able to do whatever is necessary when tags are missing from a single paragraph. Adding <para> when multiple paragraphs are in use makes sense though.

:+1:

@AArnott It would make sense to update the output formatting to automatically wrap inline text into paragraphs, without having to make them explicit in code. I use this rule because the tools currently do not behave this way, and far more people are consuming the published documentation than are looking at the source code. Most other documentation markup languages do require inline content be explicitly placed in a block-level element, so technical writers and such would already be used to seeing the additional structure.
For the reference, <inheritdoc/> with augmentation works like the following.

:memo: I haven't needed to do this.

public interface ISomeType
{
  /// <summary>Summary</summary>
  /// <remarks>
  /// <para>Additional commentary.</para>
  /// </remarks>
  void Method();
}

public abstract class SomeType
{
  /// <inheritdoc/>
  /// <remarks>
  /// <inheritdoc/>
  /// <note type="implement">
  /// <para>When implementing this method, some special consideration...</para>
  /// </note>
  /// </remarks>
  public abstract void Method() { }
}

public class SpecializedType
{
  /// <inheritdoc/>
  /// <remarks>
  /// <!-- Include everything except for the note to implementers. -->
  /// <inheritdoc select="*[not(self::note and @type='implement')]"/>
  /// </remarks>
  public abstract void Method() { }
}

@AArnott  What about marking this rule as disabled by default? The rule is intended to help with producing high-quality final output; teams that aren't running the XML files through a tool like Sandcastle wouldn't need to be so particular about use of paragraph tags for elements that only contain a single paragraph. But for teams that do render their documentation, the rule is a huge help.

Sure. Disabled would be fine. In fact, "hidden" would also be fine. I asked the Roslyn team a while back what the difference between disabled and hidden was, and they said "hidden" was for non-warnings where code fixes can be useful. It sounds like just what you're aiming at.
That's pretty neat stuff what <inheritdoc> can do. I had no idea. Where is this documented?

I'm actually :-1: in having this rule in the main StyleCop.Analyzers.  Perhaps Sandcastle.Analyzers, but I don't think the majority of developers would benefit from this rule.

I'm going to move this to a new project.


Add docstring for DataFrame/Series.loc

loc is the only method right now that doesn't have any docs, making it virtually impossible to reason about what's supported and what's not.

@ueshin I'm assigning this to you since you added this function.

Sure, I'll take this.


update wskdeploy docs to reflect it being a subcommand of wsk

http://openwhisk.apache.org/documentation.html#wskdeploy should be reworked to reflect wskdeploy now being bundled as a sub-command of wsk

thanks @dgrove-oss yup, agree, need to update the website as well

Bump: https://github.com/apache/openwhisk-wskdeploy/issues/1109
I can change that one paragraph, but I'm not sure what yall wanna do for the rest of that section considering that recent wskdeploy releases no longer have binaries attached so if one were dedicated to using wskdeploy as opposed to wsk project then they're going to have to build it themselves.

Bump: https://github.com/apache/openwhisk-wskdeploy/issues/1109
I can change that one paragraph, but I'm not sure what yall wanna do for the rest of that section considering that recent wskdeploy releases no longer have binaries attached so if one were dedicated to using wskdeploy as opposed to wsk project then they're going to have to build it themselves.

@mrutkows - opinions? coming up on two years now and the docs are still out of date.

@mrutkows - opinions? coming up on two years now and the docs are still out of date.

I think the references to wskdeploy can be replaced with references to the wsk CLI instead, including amending the command line example.

I think the references to wskdeploy can be replaced with references to the wsk CLI instead, including amending the command line example.

@dgrove-oss @rabbah It had been my intent to maintain a wskdeploy (standalone) binary as well as the "deploy" command within the CLI since one can create automation with just the wskdeploy executable and not install the CLI.  I did not recall seeing anyone change that; the releases should have had binaries.

@dgrove-oss @rabbah I no longer see the releases tab under the GitHub repo. did this get removed by Apache Infra.???   How do we get it back?

@mrutkows The releases "tab" was moved by a UI update by Github a while back to instead be a section on the column on the right hand side.

@Amndeep7 I would like to revisit the decision to not produce wskdeploy binaries...  as I truly do not recall agreeing to no longer do this but assume some discussion was had and this was required to allow us to graduate and/or simplify/streamline processes.

is there an active maintainer for wskdeploy?  If so, their first step would be to get it passing travis builds again.  been broken for months.

@dgrove-oss I saw that 2 weeks ago and assume your key changes work... trying to find time... would like to merge you travis/key PR and then see why those 2 integration tests are failing against golang runtime.

@dgrove-oss and Dave please know that resources have become rather scarce/tenuous and I have been trying to add new professionals as part of our Jumpstart program each of the last 3 quarters.

The reason why there are no connivence binarys with the 1.1.0 release of wskdeploy is that the wskdeploy build failed due to changes in golang runtime versions and no one had the bandwidth to fix it.  If wskdeploy built and passed its own test suite, all of the machinery is still in place to publish images.
https://travis-ci.org/github/apache/openwhisk-wskdeploy/builds/732114326


Multi-band images

Because BLISS is a Bayesian model, it's conceptually straightforward to adapt to the BLISS model to generate multi-band images. It's trickier to adapt the encoder network to the multi-band setting because the various bands are not pixel aligned. Resampling the input images to a common grid is one option, though that discards some information.

We should still do this for sure, I've talked to several people that are very interested in multi-band detection for instance

closed by PR #835


Code cleanup as per PEP8/257, bug fixes, docstring updates, moved tests dir.

Changes Unknown when pulling eee18bdcec4d43cf8488c6c5b8563bff315cbf6f on cleanup into ** on master**.


Messaging: Custom DynamoDB Policy

Create a custom policy for DynamoDB read/write to be used by Lambdas.

Ready to deploy, closing.


WFLY-5184 Read-attribute on an EJB timer fails if there are no more t…

…imeouts
https://issues.jboss.org/browse/WFLY-5184

Linux Build 7752 is now running using a merge of bb7d5a4c77d8524129d01f8c68b9c9207b9b4132

Linux Build 7752 outcome was SUCCESS using a merge of bb7d5a4c77d8524129d01f8c68b9c9207b9b4132
Summary: Tests passed: 3055, ignored: 358 Build time: 00:49:38


Integrated with Victor Hugo and Netlify

This is a great pipeline - i'd love to see it even more useable by leveraging continuous deployment with Netlify and Victor Hugo.

Unfortunately somewhat neglected, hoping to do a revamp and make some big changes this autumn.

Opening this again to remind me to look into these for version 2.


RecastDemo Allow the camera to be rotated on the X axis using Q and E.

This patch just allows to alter camera yaw using Q and E in complement of the mouse. I am not sure which keys to use to alter pitch. I tried X and space, but space would conflict with previously defined actions (that I personally do not need). Let me know what you think of it.

I don't think this functionality is really necessary.  If anything I think we'd want to copy the controls of something like this.  Also, this change is not compatible with the recent switch to SDL2.


Examples missing?

When rendering out the PDF I seem to only get the model data from my OpenAPI v3 document. I'm not seeing the examples. Any reason why no examples shown?

the only reason is that we couldn't reach any consensus within our team to implement it and the way to display it.
Are you looking for curl command, code snippet or just some sample values based on data-types ?
If you can provide me some samples based on your needs covering most possible data-types and scenarios then i can re-open this discussion

Let's say we have the following schema defined:
components:
    schemas:
        rider:
            type: object
            description: A registered rider.
            properties:
                id:
                    type: integer
                    format: int64
                    description: The external rider id.
                    example: 12345
                lastName:
                    type: string
                    example: Pan
                firstName:
                    type: string
                    example: Peter
            required:
                - id
                - lastName
            example:
                id: 12345
                lastName: Pan

It would be helpful to show the example for each individual property as well as the example for the entire schema. Note that the example for the schema might not include non-required properties.

We added examples in our roadmap, and it will work exactly the way you explained above. The issues that we face now is, some spec even without any example can generate 1000 pages, including example would almost double that number and may create memory overflows.
We may introduce this feature behind a property or also thinking of making it cli based. Expect some traction on this in Q1 of 2020

In release 2.1.1 use include-example  attribute to include examples in the generated PDF. As of now this feature is limited to Request parameters. Request body and Response Body examples will follow later

Request body and Response Body examples will follow later
When will this be? We would need this feature.

This is a big feature as there are certain complex scenarios on how examples can be specified in an OpenAPI spec.
Currently we are rolling various example support in RapiDoc
we are going to wait, collect feedback, and stabilize it further if needed. Only after that we are going to add example feature in RapiPDF

Please see PR#68.

Please see PR https://github.com/mrin9/RapiPdf/pull/68

Been two years since PR addressing this issue was accepted. Should this issue still be open?

The latest code doesn't seem to render the examples correctly.
For an OpenApi v3.0 JSON schema, only the top level node is printed for all examples.
https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/api-with-examples.json
For an OpenApi v2 JSON schema, "response" is printed for all examples.
https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v2.0/json/api-with-examples.json


Meta Tags (DSTU2)

DSTU2
Ensure that all resources created by Crucible contain a Resource.meta.tag identifying the resource as Crucible test data.
Fixes https://github.com/fhir-crucible/crucible/issues/235

Looks like this broke the build, though I can't see why because Travis is having issues related to the S3 outage.

Yeah, I tried to restart it but that failed too. I'll wait a day or so to see if Travis will tell me the issue. Works fine on my machine... I'll revisit on Thursday.

Log is up on the travis build.  Looks like a test is making an http request that isn't covered by one of our stubs.


Error

I'm getting the error when using the hello module. Why?
_(node:5684) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'isPlaying' of undefinedat Object.run (C:\Users\Administrator\Desktop\sjbot\komutlar\çal.js:14:26)at Client. (C:\Users\Administrator\Desktop\sjbot\index.js:43:40)at Client.emit (events.js:327:22)at MessageCreateAction.handle (C:\Users\Administrator\Desktop\sjbot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)at Object.module.exports [as MESSAGE_CREATE] (C:\Users\Administrator\Desktop\sjbot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)at WebSocketManager.handlePacket (C:\Users\Administrator\Desktop\sjbot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)at WebSocketShard.onPacket (C:\Users\Administrator\Desktop\sjbot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)at WebSocketShard.onMessage (C:\Users\Administrator\Desktop\sjbot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)at WebSocket.onMessage (C:\Users\Administrator\Desktop\sjbot\node_modules\ws\lib\event-target.js:132:16)at WebSocket.emit (events.js:315:20)(Use node --trace-warnings ... to show where the warning was created)(node:5684) UnhandledPromiseRejectionWarning: Unhandled promise rejection. Thiserror originated either by throwing inside of an async function without a catchblock, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)(node:5684) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate theNode.js process with a non-zero exit code.

code?
that means that your "player" property is undefined / you didn't set it up.

module.exports = {
code: "play",
async run(client, message, args) {
    if(client.player.isPlaying(message)) {
        let song = await client.player.addToQueue(message, args.join(' '));

        // If there were no errors the Player#songAdd event will fire and the song will not be null.
        if(song)
            console.log(`Added ${song.name} to the queue`);
        return;
    } else {
        let song = await client.player.play(message, args.join(' '));

        // If there were no errors the Player#songAdd event will fire and the song will not be null.
        if(song)
            console.log(`Started playing ${song.name}`);
        return;
    }
}

}

Where did you declare the player in client.player?

I'm getting the error when using the hello module. Why?

The hello module?

I wrote it wrong it will be discord-music-player
now I'm defining and trying

problem solved thanks for your help :)

now the bot doesn't play music
`module.exports = {
code: "play",
async run(client, message, args) {
    const { Player } = require("discord-music-player");

const player = new Player(client, {
leaveOnEnd: false,
leaveOnStop: false,
leaveOnEmpty: true,
timeout: 0,
volume: 150,
quality: 'high',
});
client.player = player;
if(client.player.isPlaying(message)) {
let song = await client.player.addToQueue(message, args.join(' '));
        // If there were no errors the Player#songAdd event will fire and the song will not be null.
        if(song)
            console.log(`Added ${song.name} to the queue`);
        return;
    } else {
        let song = await client.player.play(message, args.join(' '));

        // If there were no errors the Player#songAdd event will fire and the song will not be null.
        if(song)
            console.log(`Started playing ${song.name}`);
        return;
    }
}

}`

does not enter the voice channel and writes this to the console => Started playing undefined

please help

:(((

will nobody help :(

I wanted to use your module but can't use it because you didn't help so see you ...


Implement Vendor extensions.

This patch allows SBI users to create vendor extensions to wrap the standard SBI implementation.
An enum T implementing trait VendorExtension will be able to be be used in VendorSbiMessage<T>, and be parsed as SBI messages in code using this library.
As an example, this change would allow salus to use SalusSbiMessage (alias for VendorSbiMessage<SalusExtension) to parse salus-specific vendor extensions.
This is a RFC.

I like it - it gets closer to what I was aiming for, and still gives the full passthrough you'd want for Vendor calls. Assuming we're happy with this pattern, I'd also be keen to see a PR for the Firmware-specific range and Experimental range.

Pushed new series of patches. Apart from fixing some typos and stale comment, all the changes here are motivated by the need of adding API functions.
A new trait, EcallMessage has been added to clarify the interface needed to use ecall_send, as simply passing SbiMessage was not an option now that we can use VendorSbiMessage.
Personally fell into a deep hole when I tried to rationalize the interfaces (VendorExtensions and the set of standard SBI extensions are the same interface), and decided to have a simple change first, and simplify (if they are actually simplified) things later.
Same story for removing all the boilerplate code. I experimented with enum_dispatch, it does help but has the effect of deciding the field names of the enum and makes the code a bit hard to follow. Not a big issue, but decided not to use it in this change to make these changes simple and self-evident. Same discourse with paste.
TLDR; removal of boilerplate code is left as a gift to future us.

Very nice...the only question in my mind is whether we'll need to track allocation of the vendor ranges. Ideally, we would want to try and keep vendor ranges somewhat predictable (a la PCI vendor ID). Perhaps, starting a separate git repository to track vendor IDs might nudge things in the right direction, but it's probably too early for it?

Possibly not too early, but this is comfortably orthogonal to this patch. This just allows to have each project its own vendor range. This patch arises from the need for salus to have its own test functions, so that other users might follow.

I'm not sure about the API changes. Could sbi-rs expose something raw such as a 'Vendor' SbiMessage that is constructed with an extension ID and a impl SbiFunction?
Similarly on the decode side a "Vendor" variant with bare registers could be parsed and then the SBI implementor could do vendor-specific match statements. For salus this would be a handle_vendor_msg function added to vm.rs.

Very nice...the only question in my mind is whether we'll need to track allocation of the vendor ranges. Ideally, we would want to try and keep vendor ranges somewhat predictable (a la PCI vendor ID). Perhaps, starting a separate git repository to track vendor IDs might nudge things in the right direction, but it's probably too early for it?

My understanding of the wider SBI spec is that the Vendor range is allocated per the low bits of mvendorid on-device, which is in turn allocated by JEDEC:
https://github.com/riscv-non-isa/riscv-sbi-doc/blob/master/riscv-sbi.adoc#vendor-specific-sbi-extension-space-eids-0x09000000-0x09ffffff
https://github.com/riscv/riscv-isa-manual/blob/master/src/machine.tex#L220

I'm not sure about the API changes. Could sbi-rs expose something raw such as a 'Vendor' SbiMessage that is constructed with an extension ID and a impl SbiFunction?
Similarly on the decode side a "Vendor" variant with bare registers could be parsed and then the SBI implementor could do vendor-specific match statements. For salus this would be a handle_vendor_msg function added to vm.rs.

Yes! Thank you for this. Navigating through the possibility space of Rust types is still confusing for me. But this is definitely an excellent local minimum.
I updated the PR with your suggestion, or at least what I think you meant, and it is much simpler. Also leaves total freedom to the user of this crate on how to reconstruct and interpret the message.

I'll merge this tomorrow to give @tdewey-rivos a chance to comment first. Thanks!

LGTM. One curiosity, but not enough to block a merge. Thanks for digging in, Gianluca.

@tdewey-rivos raised a valid point about vendor extension IDs. I don't see it being addressed. Please let me know if I missed something.
As per the SBI spec the vendor extension should have lower 24 bits from mvendorid. Thus, every vendor can have only 1 extension ID. We also need to define some kind of sub-extension or fid groups probing mechanism to differentiate between different rivos specific extensions/function groups.
Sorry for posting the comments after it got merged but I missed the notification in gmail as it went to other folders.

Sure, I'll follow the conversation of FID allocation. Once we get into the point of actually defining what the strategy for ID allocation for project specific testing is, then I'll change this code. As it is now, being used only for testing, is not creating any harm.


Cannot build example1 - Warning: statement is not reachable

Hi. Trying to build the example I get the following error messages.
As you can see, the file (bmp.d) is in the correct location.
I changed the permissions to 777 on it, to make sure I could read it (no idea why I couldn't) but the error continues.
brian@tonk:~/dlangui$ dub run dlangui:example1 --build=release
Building package dlangui:example1 in /home/brian/dlangui/examples/example1/
Target dlib 0.5.1 is up to date. Use --force to rebuild.
Target derelict-util 1.9.1 is up to date. Use --force to rebuild.
Target derelict-ft 1.0.2 is up to date. Use --force to rebuild.
Target derelict-sdl2 1.9.2 is up to date. Use --force to rebuild.
Target derelict-gl3 1.0.12 is up to date. Use --force to rebuild.
Target dlangui 0.4.78 is up to date. Use --force to rebuild.
Building dlangui:example1 0.4.78 configuration "application", build type release.
Compiling using dmd...
../.dub/packages/dlib-0.5.1/dlib/image/io/bmp.d(331): Warning: statement is not reachable
FAIL examples/example1/.dub/build/application-release-linux.posix-x86_64-dmd_2067-76D4F2D794442C04E8849F5CAC8888C2/ example1 executable
Error executing command run: dmd failed with exit code 1.

brian@tonk:~/dlangui$ ls -l ../.dub/packages/dlib-0.5.1/d
dlib/     dub.json
brian@tonk:~/dlangui$ ls -l ../.dub/packages/dlib-0.5.1/dlib/image/io/
total 92
-rwxrwxrwx 1 brian brian 10176 Feb 23 15:00 bmp.d
-rw-rw-r-- 1 brian brian  6453 Feb 23 15:00 idct.d
-rw-rw-r-- 1 brian brian  2635 Feb 23 15:00 io.d
-rw-rw-r-- 1 brian brian 29557 Feb 23 15:00 jpeg.d
-rw-rw-r-- 1 brian brian 22978 Feb 23 15:00 png.d
-rw-rw-r-- 1 brian brian  7192 Feb 23 15:00 tga.d
-rw-rw-r-- 1 brian brian  2326 Feb 23 15:00 utils.d
brian@tonk:~/dlangui$

Fixed - by changing of dlib dependency to ~master

Thanks. I also had to make the same change in
../examples/example1/dub.selections.json
Works now. Looks good. :)


Improve parser typing (#3929)

Pull request opened by the merge tool on behalf of #3929

Merged into branches iso5 in 78c03dec546723cd8f90a7709972eaa5776f1c30


Rancher 2.8 support link is redirected to docs for 2.7.6

Setup

Rancher version: v2.8.0-alpha2
Rancher UI Extensions: N/A
Browser type & version: Chrome Version 117.0.5938.92 (Official Build) (x86_64)

Describe the bug
when a user in 2.8.0-alpha2 clicks the commercial support link, then the Find out more about SUSE Rancher Support link, redirects to v2.7.6 docs
To Reproduce

create a 2.8.0-alpha2 rancher instance (HA or docker)
on the home screen, click the commercial support link
click the find out more link on the support page

Result
user is directed to https://www.suse.com/suse-rancher/support-matrix/all-supported-versions/rancher-v2-7-6/
Expected Result
user is directed to rancher 2.8 docs
Screenshots
There are currently no 2.8 docs live on the website -

Additional context

We need to clear this up with the docs team, or product. Looks like they have a redirect from the support page to the support matrix, which isn't great. We'll triage this and probably send it on to another repo

Docs do have versioned links (up to /v2.7 right now, but will add /v2.8 this week).
They would like to see if the UI can use the current domain (https://ranchermanager.docs.rancher.com/) instead of the old one (https://rancher.com/docs/rancher/) so we don't need to add redirects

When 2.8 is live:

an unversioned link (latest) representing 2.8: https://ranchermanager.docs.rancher.com/
a versioned link for the 2.8 docs set: https://ranchermanager.docs.rancher.com/v2.8
a versioned link for the 2.7 docs set: https://ranchermanager.docs.rancher.com/v2.7

This isn't about docs versioning (title is misleading).
This is about a non-versioned link (https://rancher.com/support-maintenance-terms) to help guide users to how they can learn more about rancher support. Docs side that's incorrectly linking to the support matrix page.
We need to find out from docs where we should link to, and update the link in the dashboard

Upon chatting with docs, I'll check with product.

https://github.com/rancher/dashboard/issues/9854 will take care of the docs URL request so this ticket will again focus on getting the right link for commercial support.

And versioning is now https://github.com/rancher/dashboard/issues/9855 -- sorry for any confusion as all the docs issues are now coming in.
Product looking into the commercial support issue.

@gaktive Did you mention you reached out to product to understand what the link for suse rancher support should be?

The logic for generating the support link takes into account dev builds, including alpha versions. If your Rancher version is a dev build, the support url will be https://rancher.com/support-maintenance-terms that always redirects you to the latest version which at this time is 2.7.6. So I think we don't need to fix anything here because once the docs page for 2.8.0 is created, the user will be redirected to that page.

@momesgin support-maintenance-terms redirects to a page it shouldn't. This is NOT a versioning issue. https://github.com/rancher/dashboard/issues/9839#issuecomment-1747110462

@ronhorton @gaktive The Find out more about SUSE Rancher Support link should instead be directing to https://www.rancher.com/support

Pass verified on rancher v2.8-01127d844339ea8ab498f334121e2956be610409-head

logged in to rancher
clicked 'commercial support' link under 'Links' on right side of page
clicked 'find out more...' link under Get Support
link led to rancher.com/support


hyprpicker: switch to wlroots_0_16

Description of changes
Dependence on wlroots 0.16 instead of wlroots 0.15
we should keep depending on `wlroots_0_*` as each new `wlroots` release comes with so many breaking changes that (almost) no reverse-dependencies are compatible with the next release.

Originally posted by @primeos in https://github.com/NixOS/nixpkgs/pull/245704#pullrequestreview-1553286765

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

ready for review now, no actual rebuild in this pr
For packages that can be compiled with wloots 0.16 but use 0.15 will keep use 0.16
use some separate pr to handle in the future
For example https://github.com/NixOS/nixpkgs/pull/249928


read-only permissions don't throw an exception on an attempted write

When a user with read-only credentials on a bucket connects and attempts to write a blob, it silently exits as if it succeeded even though nothing was written.
This service account has only read permissions on the bucket referenced (project and bucket name have been changed for this example).
credentials = ServiceAccountCredentials.from_json_keyfile_dict(credentials_dict)
client = storage.Client(credentials=credentials, project='testproject')
bucket = client.get_bucket('testbucket')
blob = bucket.blob('testblob')
blob.upload_from_string('this is a test blob\n')

Nothing gets uploaded, but the final function call exits with no indication of failure.

@Taywee This sounds like either an error in the backend (I'd expect a 400 or 403) or an error in the credentials loaded. When you say "read-only credentials", you mean that your account only has read access to your bucket?

Yes, that's what I mean.  Only read-access to the bucket.

When I update the permissions so the service user has write-permissions, it writes the object, but when the service account has only read permissions on the bucket, the code execution gives no indication.

It's not really about the code execution, the backend should reject the request if you really didn't have write permissions, then we'd throw an exception for a non-200 response. By default read_write is one of the scopes used when creating auth tokens, so if the account does have write access it will.
Maybe the writer/reader permissions on that account aren't quite what they seem?
You saying the upload_from_string call fails to upload and there is no indication of the failure. Have you checked after the fact that nothing got uploaded?

Yes.  I've checked.  It's certain that nothing gets uploaded, and after I switch the service account to allow write permissions, upload happens with no change to the python code.

Interesting! I'd love to be able to reproduce to dig in deeper. Where in the cloud console have you set the read-only setting for your service account.
It seems Blob._check_response_error would catch the error if there was one?

I set them in the bucket permissions.

The last entry is my service user there.

I wonder what happens if your service account is also among owners and editors for your project. Can you confirm what group it's in?

Looks like the service account is in neither of those groups.

Digging in now to reproduce.

I can't reproduce. I'm getting 403 Forbidden when I try to upload_from_string.
I have it as a reader on the bucket

and it is a viewer on the project

Interesting.  I'll make a new user and flow through the process now to see if I can replicate the issue, providing all the steps here (I'm trying to keep it as readable as possible, sorry if it's messy).
I go into API Library, then Credentials, and do create service account key.

I create it as such, and download the file absperfStandard-4e745b8c607d.json. I then go into cloud storage and create a bucket shoulddenybucket, altering it so the user should have read-only permission:

>>> from gcloud import storage
>>> from oauth2client.service_account import ServiceAccountCredentials
>>> credentials = ServiceAccountCredentials.from_json_keyfile_name('absperfStandard-4e745b8c607d.json')
>>> client = storage.Client(credentials=credentials, project='absperfstandard')
>>> bucket = client.get_bucket('shoulddenybucket')
>>> blob = bucket.blob('fooblob')
>>> blob.upload_from_string('this is a test string')
>>>

And shoulddenybucket is still empty after a refresh:

But changing the user to a writer on shoulddenybucket and executing the same code with the same None returned from the upload_from_string method call:

The blob is there, but neither time raised any kind of exception. Looking in IAM and searching for the user, I similarly see nothing:

Also, changing the user back to read-only, and trying to overwrite the named blob fooblob still exits without an exception being thrown, but does not actually overwrite the file.
Removing the user from bucket permissions entirely gives an expected exception:

>>> from gcloud import storage
>>> from oauth2client.service_account import ServiceAccountCredentials
>>> credentials = ServiceAccountCredentials.from_json_keyfile_name('absperfStandard-4e745b8c607d.json')
>>> client = storage.Client(credentials=credentials, project='absperfstandard')
>>> bucket = client.get_bucket('shoulddenybucket')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.4/site-packages/gcloud/storage/client.py", line 167, in get_bucket
    bucket.reload(client=self)
  File "/usr/lib64/python3.4/site-packages/gcloud/storage/_helpers.py", line 77, in reload
    _target_object=self)
  File "/usr/lib64/python3.4/site-packages/gcloud/connection.py", line 343, in api_request
    error_info=method + ' ' + url)
gcloud.exceptions.Forbidden: 403 Forbidden (GET https://www.googleapis.com/storage/v1/b/shoulddenybucket?projection=noAcl)
>>>

At the very beginning when you create the account, it is by default a project editor. Can you verify that?

Where could I verify that?  I don't see it anywhere in the IAM list.

I used https://console.cloud.google.com/iam-admin/iam/project to check it.

It's not in there:

OK. I'll try to create an account and remove it from the list of project editors / viewers / etc.

Still can't reproduce, I'm getting 403 forbiddens.
@thobrla can you take a look?

@dhermes is there a way to make gcloud-python dump the HTTP request / response?  I don't see anything obvious here, but as it stands have no indication of whether this is a client or service problem.

Unfortunately no. I was hoping to reproduce so we didn't have to have @Taywee dig into the source.
@Taywee are you comfortable dropping into the source and adding a debug trace?

        if upload.strategy == RESUMABLE_UPLOAD:
            http_response = upload.stream_file(use_chunks=True)
        else:
            http_response = make_api_request(connection.http, request,
                                             retries=num_retries)
        import pdb  # ADDED
        pdb.set_trace()  # ADDED

        self._check_response_error(request, http_response)

and poking the request and http_response objects to get an idea of what's in them?
You can find the location of the file via
from gcloud.storage import blob
print(blob.__file__)

and if you installed with sudo, you'd need to use sudo to edit the file (alternatively you could install gcloud in a virtual env.)

Ah, I found the issue.  My gcloud was out of date (was on version 0.11.0).  That version had no _check_response_error call.  I thought I had updated it before testing this.  That was entirely my my mistake.  It works as expected now.  Thanks for the help, and sorry for wasting your time.

@Taywee no worries -- glad the latest release fixes the issue for you.

Thanks @Taywee for the interaction throughout! Clearly it was a bug at one point in time!


Installation problem

Hey, I want to use your work but the installation process is not very detailed. Do you mind me asking if you have more detailed instructions?.

I've just updated the documentation, hopefully that helps.

Hey, after months I returned to this app but every time after trying to loggin in It returns to the "unauthenticated page", even after correcting the oauth link to discord. Maybe it's just that it's not on my network and therefore every refer to localhost doesn't work. After changing tho nothing changed (connection refused to](https://localhost:7112/api/auth/callback?code=D4X0KJQy0Szb9dJWhnz6ROwbJKOtJE net::ERR_CONNECTION_REFUSED). I checked all your code and apart from the url I didn't saw anything wrong. Thanks in advance

One thing I forget to mention in the instructions (will be updated) is that your discord application needs to have /auth as a redirect URI (i.e. http://localhost:4200/auth). Double check that all of your configuration values are correct. If you're running via docker also make sure that you have no values in the client/acc-telemetry-tracker/src/assets/env.js file since those values will be populated by the docker environment variables.

I tried all of the above and nothing, same thing. Connection refused to « (https://localhost:7112/api/auth/callback?code=D4X0KJQy0Szb9dJWhnz6ROwbJKOtJE ». Indeed if I disable the requirement to be apart of a guild the error "Sorry, you are not a member of the discord server"persist". Even locally if I try to get something from the port 7112 I get connection refused.

Is the backend running? That page is displayed whenever there is an error when logging in - it isn't actually checking your guild membership yet. Potentially you have a firewall blocking traffic on that port.

Apparently docker doesn't run the backend, the problem is there I think. I tried to run docker and at the same time the backend and now any error show up but the "Sorry, you are not a member of the discord server" is still there. At this point I don't have any ideas

Are you running with the sample docker compose I provided or just the dockerfiles directly? Either way, the backend container should log to both the docker console as well as to a file if you mounted a volume to the logs directory. Those logs should hopefully give a clue as to what is happening and why it isn't working. If you're being redirected to the unauthorized page it's because the backend auth api is returning an error. This could be because it isn't running, the discord authentication is failing (the response from discord is logged), or the user isn't in the provided discord guild (which can be disabled).

After trying for days now I receive no errors, but the problem's still there. I think that maybe is the authentication to discord. Perhaps I changed some raws on the authentication file for the redirection to work.
FROM
authorize(): void {
const url =
'https://discord.com/api/oauth2/authorize?'
+ 'response_type=code'
+ &client_id=${this.DISCORD_CLIENT_ID}
+ &redirect_uri=${window.location.origin}/auth
+ '&scope=identify guilds guilds.members.read';
TO
authorize(): void {
const url =
'https://discord.com/api/oauth2/authorize?'
+ client_id=${this.DISCORD_CLIENT_ID}
+ &redirect_uri=${window.location.origin}/auth
+ '&response_type=code'
+ '&scope=identify guilds guilds.members.read';
I don't know if what you are using works but maybe something else now is broke.
Also now I changed from using docker to running front and back separately. And I see no errors from nothing now.

The ordering of those lines in that authorize function don't make a difference so that part is fine. The error interceptor is handling a non-401 error from the backend, which means there is some other form of error happening most likely in the API that is trying to authenticate with discord.
In this section of code it is logging any error response to both the dotnet console and to the log file, so you should be able to see what sort of error is happening if it is in fact related to the discord authentication
https://github.com/t-babin/ACC-Telemetry-Tracker/blob/aa24acc45d4095d79b0b05dcfaf7f0e196cbd8c6/server/AccTelemetryTracker.Api/Controllers/AuthController.cs#L54-L60

And how I can retrieve that log file?

I fond the problem, you did not consider the possibility for an use in a server. All the variable a calculated to be used in localhost. I modified It a bit a now it works. Maybe you should consider putting a advertisement on the readme.

Glad you found the problem, feel free to open a PR with the changes and I can review and merge if necessary. The database schema is in /datastore/init.sql


wip add error text when completing next task that doent exist

a possible solution to a little inconvenience described in https://github.com/alanvardy/tod/issues/327

@alanvardy ready for review or some instructions
I have changed the error msg a little.
I have tried to create some simple test for the command but failed. I may have the wrong approach.
Basically, I lacked the ability to toss the fixture confix in the mix. No big deal as I see that commands aren't covered yet.
My code was something like this. But I had weird interactions with a couple of other tests. I failed to see why.

#[test]
fn check_task_complete_yields_error_when_next_is_not_set() {
    let arg_vec = vec!["tod", "task", "complete"];

    let matches = cmd().get_matches_from(arg_vec);
    let result = match matches.subcommand() {
        Some(("task", task_matches)) => match task_matches.subcommand() {
            Some(("complete", m)) => task_complete(m),
            _ => unreachable!(),
        },
        _ => unreachable!(),
    };
    assert_eq!(result.is_err(), true);
}

On a side note just want to say that I want to contribute more.
I must admit that I am relatively new to Rust, but would be glad to help with some features or bugfixes, feel free to tag me =)
(I was basically doing the same thing, but then I found this repo)

I have tried to create some simple test for the command but failed. I may have the wrong approach. Basically, I lacked the ability to toss the fixture confix in the mix. No big deal as I see that commands aren't covered yet. My code was something like this. But I had weird interactions with a couple of other tests. I failed to see why.

Yes, I have been having trouble with this too. I find the clap layer challenging to work with test-wise, and so far, I have dealt with it by:

Keeping the clap code separate from the business logic
Testing the clap code with ./manual_test.sh which runs the development code against the live API. I generally hate doing this in projects, but it's worked pretty well so far to make sure I haven't broken anything big.
Writing actual tests against the non-clap code.

On a side note just want to say that I want to contribute more. I must admit that I am relatively new to Rust, but would be glad to help with some features or bugfixes; feel free to tag me =) (I was basically doing the same thing, but then I found this repo)

That's wonderful. I don't work professionally with Rust, but have had lots of fun hacking on this over the last few years.
The help is welcome, and I'd also like to improve my code review skills, so definitely dig in!

Also, please add a line to CHANGELOG.md


WIP: Improve init

Work in progress,
I know @mjr-deltares wanted to improve the initialization and I had to make the following two adjustments to get a working coupling without Exceptions being raised. I request @mjr-deltares to put his improvements in this branch and then merge to master later.

Hi @JoerivanEngelen , as discussed in standup, I have incorporated your changes in a separate branch, see PR #39, are there any more changes in this branch that we should merge?

Closed, because PR #39 fixed this.


pip installation of vrs does not come with command line tool

I am trying to work with vrs files on the aria data tools. I am unable to find the vrs binary for the vrs command line tools after downloading it from pip. Am I doing something wrong? Thanks!

The vrs binary comes from the vrs project, not pyvrs or aria, and has no business being part of pyvrs and pip. Aria data tools might want to expose it for convenience, but pyvrs/pip is not the place.
@kiminoue7 @SeaOtocinclus what do you think?

I agree with @georges-berenger about vrs CLI not being part of pyvrs.
vrs CLI is pure C++ library and I don't think it's right to silently install it when the user installs pyvrs unless it's always used together.

@Davidyao99 if you want to use vrs binary please build it with cmake.
If you have further suggestions or questions please let us know.

@georges-berenger are there instructions somewhere on how to build the vrs binary tool with cmake? Maybe we can add them to the README if not?

It's part of the cmake targets of the vrs project. Use the instructions at https://github.com/facebookresearch/vrs, go to the build folder, build everything if that's not done already (run ninja), or just build the cmd line tool with ninja vrs, then run ./oss/tools/vrs/vrs.


MenuButton does not support using accessibleWhenDisabled and render props together

Discussed in https://github.com/ariakit/ariakit/discussions/4131

Originally posted by mayank99 September 27, 2024
Consider this snippet:
<Ariakit.MenuButton
  accessibleWhenDisabled
  disabled
/>

This correctly uses aria-disabled, allows the button to be focused, while preventing the menu from being opened in any way (clicks, Enter, Spacebar, arrow-keys).
Now let's say the disabled prop is set via the render prop. Ideally, I'd be able to do this:
<Ariakit.MenuButton
  accessibleWhenDisabled
  render={<Ariakit.Button disabled />}
/>

However, that does not work at all. <MenuButton accessibleWhenDisabled> and <Button disabled> don't know about each other, so the button just renders as a regular disabled button.
I also tried the following with no luck (it renders with both disabled and aria-disabled):
<Ariakit.MenuButton
  accessibleWhenDisabled
  disabled
  render={<Ariakit.Button />}
/>

The closest I got was using this:
<Ariakit.MenuButton
  render={<Ariakit.Button accessibleWhenDisabled disabled />}
/>

However, that does also does not work fully. The button renders with aria-disabled, and can be focused, and prevents the menu from being opened through clicks, Enter and Spacebar; but the menu still opens when pressing arrow-down or arrow-up.
See stackblitz repro: https://stackblitz.com/edit/xw2vog?file=menu%2Findex.jsx
I'm not opening a full bug report, because I'm not sure if this is a bug/edge-case or if this behavior is intentional due to React's one-way data-flow. Any thoughts?

I tried to implement a solution in userland that covers most, if not all, combinations. It seems to work: https://stackblitz.com/edit/xw2vog-5rmvxa?file=menu%2Findex.jsx
This approach uses the DOM as the source of truth, including mutation observers to sync the React state with DOM attribute updates. Although it works, it's likely an anti-pattern that we should avoid or at least carefully consider. Because of this, and since it can be implemented in userland, I don't think we should include it in the library code.
However, we should address the two cases below:

I also tried the following with no luck (it renders with both disabled and aria-disabled):
<Ariakit.MenuButton
  accessibleWhenDisabled
  disabled
  render={<Ariakit.Button />}
/>

The closest I got was using this:
<Ariakit.MenuButton
  render={<Ariakit.Button accessibleWhenDisabled disabled />}
/>

However, that does also does not work fully. The button renders with aria-disabled, and can be focused, and prevents the menu from being opened through clicks, Enter and Spacebar; but the menu still opens when pressing arrow-down or arrow-up.

I consider those two cases a bug that can be worked around by passing the props to both components.

Thank you for the thought you've put into this. The attributes+mutation observers approach definitely feels a bit too tedious to be practical (it's still good to be aware of though).
But the workaround you mentioned at the end is quite useful in the meantime. Passing both props to both components works correctly indeed  👍
<Ariakit.MenuButton
  accessibleWhenDisabled
  disabled
  render={<Ariakit.Button accessibleWhenDisabled disabled />}
/>


Fixes for failed config check and conditioning in NS opener

Fix for 26
Update NS opener to handle non-conditional data which includes buo_y

@microsoft-github-policy-service agree


Extra space at the end of the heaps

After every heap, 10mm of horizonal space is added. It would be nice if this wasn't added for the last heap. At present, a \foreach loop just iterates over the comma-separated input and puts a hspace{10mm} after each heap. I suppose properly this would mean knowing when the loop was on the last heap, which I suppose would mean having a loop counter and knowing the size of the list and only adding hspace{10mm} if these are not the same. This is an extra level of text processing on the comma-separated list that I didn't bother with because it doesn't seem a big issue to have a little extra white space at the end of a centred line (by default). However, I suppose adding \hspace{-10mm} after the \foreach` loop would be an inelegant way to achieve the same thing?

Fixed in fe4f04d


sdk/state: prevent no-op calls to confirm functions

It is possible for two buggy implementations to repeatedly confirm close agreements forever, since the ConfirmPayment function returns no error if its call is a no-op.
If the function receives a close agreement in the same state it already knows the agreement as, that's probably a sign that something is wrong. Every call to ConfirmPayment should make some change to the agreement or to the state of the channel.

This doesn't seem necessary anymore given that the protocol behavior is not to call confirm multiple times, so closing.


[v3] region names full support

Clarify the concept of the region naming. Currently some names of the regions are not supported (non-ASCII); for some other regions, there are various problems with names misinterpretation etc.
Ideally, it should work like this:

Region names in any language should be supported (Bayern, Bavaria, Бавария, etc. should represent the same region);
If there is no region with the specified name found, but a location is, use the outer region name this location belongs to as the result.

Is there at least a list for the regions?
I want to use Baden-Württemberg (if Bayern exists, it should as well), but spelling with/without Umlaut or trying to retrieve just one of Baden or Württemberg fails.


Nuxeo content_harvest issues for #27124 - various error messages

Registry ID: 27124
Mapper: Nuxeo
Run ID: manual__2024-10-08T05:57:09+00:00
Link to Airflow: https://7a8067cb-3b99-477e-a883-7e311175a9b4.c3.us-west-2.airflow.amazonaws.com/dags/harvest_collection/grid?dag_run_id=manual__2024-10-08T05%3A57%3A09%2B00%3A00&num_runs=365
convert: cache resources exhausted

[ ] mapped task 2:

ERROR: make_jp2 command failed: ['/usr/bin/convert', '-quiet', '-format', '-jp2', '-define', 'jp2:rate=10', '/tmp/sim_137_001_0001.jpg[0]', '/tmp/sim_137_001_0001.jp2']
returncode was: 1
output was:
convert: cache resources exhausted `/tmp/sim_137_001_0001.jpg' @ error/cache.c/OpenPixelCache/4095.
convert: no images defined `/tmp/sim_137_001_0001.jp2' @ error/convert.c/ConvertImageCommand/3229.

Nuxeo: https://nuxeo.cdlib.org/nuxeo/nxdoc/default/8b0931c4-d523-4960-9980-2c5b2845feca/view_documents

Calisphere-stage: https://calisphere-stage.cdlib.org/item/ark:/86086/n25m679x/

[ ] mapped task 3:

ERROR: make_jp2 command failed: ['/usr/bin/convert', '-quiet', '-format', '-jp2', '-define', 'jp2:rate=10', '/tmp/sim_145_000_116_0776.jpg[0]', '/tmp/sim_145_000_116_0776.jp2']
returncode was: 1
output was:
convert: cache resources exhausted `/tmp/sim_145_000_116_0776.jpg' @ error/cache.c/OpenPixelCache/4095.
convert: no images defined `/tmp/sim_145_000_116_0776.jp2' @ error/convert.c/ConvertImageCommand/3229.

Nuxeo: https://nuxeo.cdlib.org/nuxeo/nxdoc/default/8206df43-c038-49c6-a892-fe65c7ae0c41/view_documents
Calisphere-stage: https://calisphere-stage.cdlib.org/item/ark:/86086/n29025fd/

convert: width or height exceeds limit

[ ] mapped task 4:

ERROR: make_jp2 command failed: ['/usr/bin/convert', '-quiet', '-format', '-jp2', '-define', 'jp2:rate=10', '/tmp/sim_156_000_114_1247.jpg[0]', '/tmp/sim_156_000_114_1247.jp2']
returncode was: 1
output was:
convert: width or height exceeds limit `/tmp/sim_156_000_114_1247.jpg' @ error/cache.c/OpenPixelCache/3909.
convert: no images defined `/tmp/sim_156_000_114_1247.jp2' @ error/convert.c/ConvertImageCommand/3229.

Nuxeo: https://nuxeo.cdlib.org/nuxeo/nxdoc/default/6a55236e-9a18-48db-a590-ce3a0c9d0992/view_documents
Calisphere-stage: https://calisphere-stage.cdlib.org/item/ark:/86086/n2xp76qs/

make_jp2 command failed

[ ] mapped task 21: - failed on retry, same file

--------------------------------
ERROR: make_jp2 command failed: ['/usr/bin/convert', '-quiet', '-format', '-jp2', '-define', 'jp2:rate=10', '/tmp/sim_057_000_001_0037.tif[0]', '/tmp/sim_057_000_001_0037.jp2']
returncode was: -6
output was:
--------------------------------; 13632)

Nuxeo: https://nuxeo.cdlib.org/nuxeo/nxdoc/default/98110137-29b5-4c7e-ba81-c71c3124c444/view_documents

Calisphere-stage: https://calisphere-stage.cdlib.org/item/ark:/86086/n2fj2j1b/?order=36
(child record)

[ ] mapped task 28:

--------------------------------
ERROR: make_jp2 command failed: ['/usr/bin/convert', '-quiet', '-format', '-jp2', '-define', 'jp2:rate=10', '/tmp/sim_063_009_001_0027.tif[0]', '/tmp/sim_063_009_001_0027.jp2']
returncode was: -6
output was:
--------------------------------; 210)

https://nuxeo.cdlib.org/nuxeo/nxdoc/default/fa825f58-34cc-4f80-be5e-c897afb33923/view_documents
Calisphere-stage: https://calisphere-stage.cdlib.org/item/ark:/86086/n2wh2r8n/?order=26
(child record)
convert: Failed to seek in the stream.

[ ] mapped task 32: - failed on retry, same file

ERROR: make_jp2 command failed: ['/usr/bin/convert', '-quiet', '-format', '-jp2', '-define', 'jp2:rate=10', '/tmp/sim_055_008_001_0182.tif[0]', '/tmp/sim_055_008_001_0182.jp2']
returncode was: 1
output was:
convert: Failed to seek in the stream.
 `OpenJP2' @ error/jp2.c/JP2ErrorHandler/194.
convert: unable to encode image file `/tmp/sim_055_008_001_0182.jp2' @ error/jp2.c/WriteJP2Image/1141.
convert: unable to write file `/tmp/sim_055_008_001_0182.jp2' @ error/constitute.c/WriteImage/1346.

Nuxeo: https://nuxeo.cdlib.org/nuxeo/nxdoc/default/c2a880f5-9e77-4062-a854-e546ba10fac1/view_documents

Calisphere-stage: https://calisphere-stage.cdlib.org/item/ark:/86086/n2hq4151/?order=181
(child record)

[ ] mapped task 38:

ERROR: make_jp2 command failed: ['/usr/bin/convert', '-quiet', '-format', '-jp2', '-define', 'jp2:rate=10', '/tmp/sim_025_000_002_0094.tif[0]', '/tmp/sim_025_000_002_0094.jp2']
returncode was: 1
output was:
convert: Failed to seek in the stream.
 `OpenJP2' @ error/jp2.c/JP2ErrorHandler/194.
convert: unable to encode image file `/tmp/sim_025_000_002_0094.jp2' @ error/jp2.c/WriteJP2Image/1141.
convert: unable to write file `/tmp/sim_025_000_002_0094.jp2' @ error/constitute.c/WriteImage/1346.

Nuxeo: https://nuxeo.cdlib.org/nuxeo/nxdoc/default/bf1ee640-7b8d-418f-bfba-fd04f9142194/view_documents

Calisphere-stage: https://calisphere-stage.cdlib.org/item/ark:/86086/n2pg1t7f/?order=93
(child record)

[ ] mapped task 44:

ERROR: make_jp2 command failed: ['/usr/bin/convert', '-quiet', '-format', '-jp2', '-define', 'jp2:rate=10', '/tmp/sim_180_000_001_0049.tif[0]', '/tmp/sim_180_000_001_0049.jp2']
returncode was: 1
output was:
convert: Failed to seek in the stream.
 `OpenJP2' @ error/jp2.c/JP2ErrorHandler/194.
convert: unable to encode image file `/tmp/sim_180_000_001_0049.jp2' @ error/jp2.c/WriteJP2Image/1141.
convert: unable to write file `/tmp/sim_180_000_001_0049.jp2' @ error/constitute.c/WriteImage/1346.

Nuxeo: https://nuxeo.cdlib.org/nuxeo/nxdoc/default/87c80fac-effb-44f5-95d4-75b88a518a2f/view_documents
Calisphere-stage: https://calisphere-stage.cdlib.org/item/ark:/86086/n2cc12h3/?order=48
(child record)

OSError: [Errno 28] No space left on device

[ ] mapped task 1: OSError: [Errno 28] No space left on device - failed on retry, made it to the same file
[ ] mapped task 8: OSError: [Errno 28] No space left on device
[ ] mapped task 29: OSError: [Errno 28] No space left on device
[ ] mapped task 39: OSError: [Errno 28] No space left on device
[ ] mapped task 40: OSError: [Errno 28] No space left on device
[ ] mapped task 41: OSError: [Errno 28] No space left on device
[ ] mapped task 42: OSError: [Errno 28] No space left on device
[ ] mapped task 43: OSError: [Errno 28] No space left on device
[ ] mapped task 45: OSError: [Errno 28] No space left on device
[ ] mapped task 46: OSError: [Errno 28] No space left on device
[ ] mapped task 47: OSError: [Errno 28] No space left on device
[ ] mapped task 49: OSError: [Errno 28] No space left on device

The make_jp2 errors should be resolved with this PR: https://github.com/ucldc/rikolti/pull/1137
The No space left on device errors should be resolved with this PR: https://github.com/ucldc/rikolti/pull/1135

This collection harvests through without harvest-stopping errors! There are several outstanding issues with the Nuxeo image content files themselves; see new issue: https://github.com/orgs/ucldc/projects/2?pane=issue&itemId=84240640