Review Phobos algorithms and make them transient-safe where possible

hsteoh reported this on 2013-01-01T12:09:55Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=9253
CC List

monarchdodra

Description
This bug is to have a central place to keep the list of Phobos algorithms found to be transient-incompatible but could potentially be made transient-compatible, so that the list doesn't get lost in the dust of forum history.

- std.algorithm.reduce (when no seed is given)
- std.algorithm.joiner (both variants have been fixed in git HEAD)
- std.algorithm.group
- std.algorithm.minCount
- std.algorithm.minPos (takes forward range; should use .save)
- std.algorithm.Levenshtein (takes forward range; should use .save)
- std.algorithm.makeIndex (takes forward range; should use .save)
- std.algorithm.splitter (takes slices without checking for isSlicable)
- std.algorithm.topNCopy
- std.algorithm.NWayUnion
- std.array.array (probably not fixable)
- std.array.insertInPlace (probably not fixable)
- std.array.join (copies input range; may not be fixable)
- std.stdio.writeln & friends (need more testing, there are some deep bits that fail with transient ranges)

While the whole transience issue hasn't been decided yet, Andrei has agreed that those algorithms that *can* be made transience-compatible, should be. The fate of the rest will be determined when this issue has been decided on.

monarchdodra commented on 2013-01-01T13:05:23Z
(In reply to comment #0)
> - std.algorithm.splitter (takes slices without checking for isSlicable)

For the record, I'm on splitter. I had a pull ready, but closed it for further improvements.

monarchdodra commented on 2013-01-14T13:30:18Z
(In reply to comment #0)
> This bug is to have a central place to keep the list of Phobos algorithms found
> to be transient-incompatible but could potentially be made
> transient-compatible, so that the list doesn't get lost in the dust of forum
> history.
>
> - std.algorithm.reduce (when no seed is given)
> - std.algorithm.joiner (both variants have been fixed in git HEAD)
> - std.algorithm.group
> - std.algorithm.minCount
> - std.algorithm.minPos (takes forward range; should use .save)
> - std.algorithm.Levenshtein (takes forward range; should use .save)
> - std.algorithm.makeIndex (takes forward range; should use .save)
> - std.algorithm.splitter (takes slices without checking for isSlicable)
> - std.algorithm.topNCopy
> - std.algorithm.NWayUnion
> - std.array.array (probably not fixable)
> - std.array.insertInPlace (probably not fixable)
> - std.array.join (copies input range; may not be fixable)
> - std.stdio.writeln & friends (need more testing, there are some deep bits that
> fail with transient ranges)
>
> While the whole transience issue hasn't been decided yet, Andrei has agreed
> that those algorithms that *can* be made transience-compatible, should be. The
> fate of the rest will be determined when this issue has been decided on.

I just fixed minPos to use safe, and it should now be transient safe. No unittest though (yet) to prevent future breakage.

I'm fixing minCount: It will be transient safe for forward ranges. Input ranges will the thoroughly unsafe though, with no possibility of workaround.

hsteoh commented on 2017-08-31T21:13:47Z
There must be some misunderstanding here.  What has annotations got to do with transient ranges?

Transient ranges, as referred to in this bug, are ranges where .front may mutate once .popFront is called, thereby making it invalid for code to cache .front by assigning to a local variable and referring to the variable later after .popFront is called.  AFAIK there are no annotations that can be used for this.

Many algorithms that currently break with transient ranges actually *can* be re-implemented in a way that doesn't break, and without undue overhead.  Tracking these algorithms is the purpose of this issue.

hsteoh commented on 2013-01-14T21:44:56Z
Yeah, some algorithms will have to be transient-unsafe, because it will either introduce unacceptable overhead, or it's plain impossible due to the nature of the algorithm. These cases will just have to be left as-is.

b2.temp commented on 2017-08-26T17:39:08Z
It looks like a failed initiative, not maintained since > 4 years.
Since summer 2016 and the initiative to put annotations on all the unittest it's easier to locate the candidates.


Confirm the Ending

hi guys i think i found an issue or something i doing wrong please check
function confirmEnding(str, target) {
for (var i = 0; i < str.length; i++){
for (var j = 0; j < target.length; j++){
if (str.substr(-1) == target.substr(-1)){
return true;
}else {
return false;
}
}
}
}
confirmEnding("Bastian", "n");
and this point should say true not false
confirmEnding("Walking on water and developing software from a specification are easy if both are frozen", "specification") should return false.

On Jan 31, 2017 9:37 PM, "Ricardo González"<EMAIL_ADDRESS>wrote:
hi guys i think i found an issue or something i doing wrong please check
function confirmEnding(str, target) {
for (var i = 0; i < str.length; i++){
for (var j = 0; j < target.length; j++){
if (str.substr(-1) == target.substr(-1)){
return true;
}else {
return false;
}
}
}
}
confirmEnding("Bastian", "n");
and this point should say true not false
confirmEnding("Walking on water and developing software from a
specification are easy if both are frozen", "specification") should return
false.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/13023, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AYSq2u2C_G6wk-9rFtL62sAQ0hHmSlXIks5rYBoagaJpZM4LzgiZ
.

Thank you for reporting your issue.
Your code is wrong. What is the reason of your for-loops if you are doing the same stuff over and over..
This is a standard message notifying you that this issue seems to be a request for help. Instead of asking for help here, please click the "Help" button on the challenge on freeCodeCamp, which will take you to the help chatroom for that specific challenge. You can also view our full list of official chatrooms.
If you think I'm wrong in closing this issue, please reopen it and add further clarification.
Thank you, and happy coding.


ERROR: FFmpeg cannot edit existing files in-place.

Checklist

[ ] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2019.08.02
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

/home/user/.conda/envs/EXAMPLEPROJECT/bin/python /home/user/Development/Projects/EXAMPLEPROJECT/Misc/ManualDownloader.py
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.08.02
[debug] Python version 3.6.8 (CPython) - Linux-5.0.0-23-generic-x86_64-with-debian-buster-sid
[debug] exe versions: ffmpeg 4.1.3, ffprobe 4.1.3, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] polXDtvYXLU: Downloading webpage
[youtube] polXDtvYXLU: Downloading video info webpage
[info] Writing video description metadata as JSON to: /home/user/Desktop/EXAMPLEPROJECT/WAPO-CW-Putin-Interview.mp4.info.json
[debug] Invoking downloader on 'https://r3---sn-q4flrnl7.googlevideo.com/videoplayback?expire=1565115390&ei=nm9JXZeyD4WRwQHVopzICQ&ip=<IP_ADDRESS>&id=o-AI7H6q_uyplNu2tctTc-vQFAScrgH82Wic6Y1ZsUO5Ko&itag=43&source=youtube&requiressl=yes&mm=31%2C29&mn=sn-q4flrnl7%2Csn-q4f7sn7z&ms=au%2Crdu&mv=u&mvi=2&pl=24&mime=video%2Fwebm&gir=yes&clen=10085385&ratebypass=yes&dur=0.000&lmt=1531800320202159&mt=1565092790&fvip=4&c=WEB&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cmime%2Cgir%2Cclen%2Cratebypass%2Cdur%2Clmt&sig=ALgxI2wwRQIhAI_3d7r2XFx094FXyroQDbnpVZmTB-BUq36fbAbiuKYwAiAiRV25srhMX_VEpcXsuXWlRdEssORBpfQSsNm78B4cig%3D%3D&lsparams=mm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl&lsig=AHylml4wRQIgKPR5Ah8Z5ZGBV6w8PceAuNrL6W2umDRjyWziGjeTB9gCIQCLGebYU3iLDfgIrxUz4_Cf6AAbhgEVQpnNBP0Qpxy1hw%3D%3D'
[download] /home/user/Desktop/EXAMPLEPROJECT/WAPO-CW-Putin-Interview.mp4 has already been downloaded
[download] 100% of 9.62MiB
[ffmpeg] Converting video from webm to mp4, Destination: /home/user/Desktop/EXAMPLEPROJECT/WAPO-CW-Putin-Interview.mp4
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i file:/home/user/Desktop/EXAMPLEPROJECT/WAPO-CW-Putin-Interview.mp4 file:/home/user/Desktop/EXAMPLEPROJECT/WAPO-CW-Putin-Interview.mp4
ERROR: FFmpeg cannot edit existing files in-place.
Traceback (most recent call last):
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 2054, in post_process
    files_to_delete, info = pp.run(info)
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 368, in run
    self.run_ffmpeg(path, outpath, options)
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 239, in run_ffmpeg
    self.run_ffmpeg_multiple_files([path], out_path, opts)
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 235, in run_ffmpeg_multiple_files
    raise FFmpegPostProcessorError(msg)
youtube_dl.postprocessor.ffmpeg.FFmpegPostProcessorError: FFmpeg cannot edit existing files in-place.

Traceback (most recent call last):
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 2054, in post_process
    files_to_delete, info = pp.run(info)
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 368, in run
    self.run_ffmpeg(path, outpath, options)
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 239, in run_ffmpeg
    self.run_ffmpeg_multiple_files([path], out_path, opts)
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 235, in run_ffmpeg_multiple_files
    raise FFmpegPostProcessorError(msg)
youtube_dl.postprocessor.ffmpeg.FFmpegPostProcessorError: FFmpeg cannot edit existing files in-place.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/Development/Projects/EXAMPLEPROJECT/Misc/ManualDownloader.py", line 84, in <module>
    audio=True,
  File "/home/user/Development/Projects/EXAMPLEPROJECT/Misc/ManualDownloader.py", line 60, in get_video
    y.extract_info(url=link, download=download)
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 807, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 861, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 1642, in process_video_result
    self.process_info(new_info)
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 1989, in process_info
    self.post_process(filename, info_dict)
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 2056, in post_process
    self.report_error(e.msg)
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 624, in report_error
    self.trouble(error_message, tb)
  File "/home/user/.conda/envs/EXAMPLEPROJECT/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 594, in trouble
    raise DownloadError(message, exc_info)
youtube_dl.utils.DownloadError: ERROR: FFmpeg cannot edit existing files in-place.

Description

If the video is downloaded in mp4 format and the desired format is mp4, ffmpeg fails with the error "ERROR: FFmpeg cannot edit existing files in-place." I propose that this error be handled in the youtube-dl source code for the following reasons.
1. If this error occurs then the file is already in the desired format and does not need any work from ffmpeg.
2. If there were other post-processors that were needed they will not be run.
3. The information extracted from the webpage is not returned because the program exits with an exception.

I am happy to handle the error and send a pull request. I wanted to open a dialogue first to be sure that this was something that would get merged if I proposed it.

Post complete source code of your script.

@dstftw
`class VideoExtraction:
def init(self, high_quality=False, post_processors=None, fragment_retries=5,
verbose=False):
if post_processors is None:
post_processors = [{"key": "FFmpegVideoConvertor", "preferedformat": "mp4"}]
if high_quality is True:
format = "bestvideo+bestaudio/best"
else:
format = "worst"
self.ydl_opts = {
"format": format,
"postprocessors": post_processors,
"keepvideo": True,
"fragment_retries": fragment_retries,
"nocheckcertificate": True,
"verbose": verbose
}
def get_video(self, link, download_archive, out_name, download=True, audio=False):
    self.ydl_opts["outtmpl"] = os.path.join(download_archive, out_name)
    opts = self.ydl_opts
    opts["forcejson"] = True
    opts["writeinfojson"] = True
    if audio is True:
        opts['postprocessors'].append({
            'key': 'FFmpegExtractAudio',
            'preferredcodec': 'wav',
        })
    with ydl.YoutubeDL(opts) as y:
        y.extract_info(url=link, download=download)

downloader = VideoExtraction(high_quality=False, verbose=True)
downloader.get_video(
link="https://www.youtube.com/watch?v=polXDtvYXLU",
download_archive="/home/user/Desktop/EXAMPLEPROJECT",
out_name="WAPO-CW-Putin-Interview.mp4",
download=True,
audio=True,
)`

Do not hardcode extension in outtmpl.

@dstftw What would an alternative look like? This is what I found a long time ago on StackOverflow.

Read FAQ on output template.


Fails for cloudformation stacks with large number of alarms

There are some AWS hard limits around maximum cloudformation template size and number of resources per stack.
Currently some of our alerting config groups contain large numbers of alarms and so we are starting to see errors. Manually sharding alarms across multiple config groups is possible but is a pain.
Proposed solution

Add a configuration setting at alerting group level such as NumberOfCloudFormationStacks. This would default to 1.
use some deterministic method to bucket the alarms across stacks. e.g. the alarm name checksum % NumberOfCloudFormationStacks
deploy N stacks with the alarms spread across as per above e.g. aws-watchman-[alerting group name]-stack number. perhaps the first stack could keep the existing name to maintain compatibility with stacks already deployed, and then subsequent stacks are numbered?

I've thought a bit about how we could automate this (i.e. figuring out the number of stacks automatically), but it's difficult because the number of alarms can go up and down, so it seems like you would need some extra state to make sure we didn't get orphaned cloudformation stacks (maybe just listing stacks would be enough). But it seems complicated and the above solution seems like a reasonable start.

The main question I have is what happens if you switch between numbers of stacks? Would you tear down any previous stacks and recreate everything, because otherwise you could find some alarms moving between stacks and being duplicated/orphaned.

If you increased the number of stacks everything would just work - e.g. if you go from 1 to 2, then half the alarms would be put into the 2nd stack, and CloudFormation would handle deleting them once they had gone from the 1st.
If you decreased the number of stacks it would work (everything would get squashed into fewer stacks), but you would need to manually delete the stacks above the new "NumberOfCloudFormationStacks" value


systemd: Remove accidential sysinit re-add

Description of changes
Cherry-picked from https://github.com/NixOS/nixpkgs/pull/171242

Things done

Built on platform(s)

[ ] 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/)
22.05 Release Notes (or backporting 21.11 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@ofborg eval
I direct pushed https://github.com/NixOS/nixpkgs/commit/5ee3e9f434e1cb1263c331e95d0b3d3bb384e3ec to staging, hope it fixes the eval on the base branch.


iOS: No icons for ShowError/ShowSuccess

Please check all of the platforms you are having the issue on

[X] iOS
[] Android
[] UWP
[] PCL

Please state the issue to the best of your ability below
After updating to 6.0.1 ShowError/ShowSuccess dosen't show any icons in ios. Instead they only show a plain (ugly) message.

Tested also with the sample app and got the same effect. Will attach some screenshots below.

There is a temporary fix: https://github.com/aritchie/userdialogs/issues/162#issuecomment-219707753

Please refer to #162


Notification for no changes

Should GinUI provide some notification when command will do nothing? For example if user try to upload changes, but there are no changes in repository?
Currently is there no notification so user can be confused if application is actually working or not. Only information is in log.
Maybe some baloon notification with text like "No changes detected." or "Nothing to upload" will be useful?

added notification with 15981a8369d2289f7a19e5d66a879d83c1596b21


[DOM] feat(example): add example for stream api

What this PR does
Add example for stream api.
why we need it
To show how we transfer big data.
Special notes for your reviewer:
@Jimexist

Coverage decreased (-0.6%) to 52.842% when pulling 7e5161070aa01972463fe9053c9bb768db01a49e on kdada:master into e1555353a4da96f72996c0dd7a537bfceafe672d on caicloud:master.

Coverage decreased (-0.6%) to 52.842% when pulling 7e5161070aa01972463fe9053c9bb768db01a49e on kdada:master into e1555353a4da96f72996c0dd7a537bfceafe672d on caicloud:master.

Coverage decreased (-0.6%) to 52.842% when pulling 7e5161070aa01972463fe9053c9bb768db01a49e on kdada:master into e1555353a4da96f72996c0dd7a537bfceafe672d on caicloud:master.

merge to move forward


Rethink some sub-systems of js-waku to be setup as libp2p services

With the upgrade of js-waku to support<EMAIL_ADDRESS>and the introduction of services, we can probably setup some components as services.
Example: ConnectionManager: https://github.com/waku-org/js-waku/pull/1380#discussion_r1209026203
Needs to be triaged.

I believe the next step would be to make a PoC and check if it works as intended.
Reference to services - https://github.com/libp2p/js-libp2p/blob/master/doc/migrations/v0.44-v0.45.md#services


Cross namespace ingress support

It is possible to specify a service backend which is in a different namespace than the namespace the ingress resource belongs to if the service is of type ExternalName.
Currently OSM requires the ingress resource to be in the same namespace as its backends, to be able to match a service (namespace/service) to an ingress resource.

@shashankram what is the priority of this feature?

Typically Ingress k8s resource is namespaced and each namespace would get its own Ingress.  Further reading https://docs.microsoft.com/en-us/azure/application-gateway/ingress-controller-multiple-namespace-support#motivation :)

Typically Ingress k8s resource is namespaced and each namespace would get its own Ingress.  Further reading https://docs.microsoft.com/en-us/azure/application-gateway/ingress-controller-multiple-namespace-support#motivation :)


Automatically use TypeScript version from workspace on trusted projects.

Currently you have to separatly allow execution of workspace tsdk. It feels unnecessarily redundant in an already trusted project (workspace). It should be automatically use the workspace version. Otherwise it leads to unexpected problems in the team. There is a notification about this that disappears after a short while. I see no reason why not just allow it automatically on a trusted workspace. Any concerns?

Duplicate of #135713


squidb-ios: why not a pod ? or another type of dependency?

One of the recommended ways to do cross platform using j2objc is to have a shared library that you translate using with j2objc. There is some tools like j2objc-gradle (https://github.com/j2objc-contrib/j2objc-gradle) which makes the process straightforward.
For example here is my project structure:

shared: contains the model spec and the databse class. Also all my business logic code. Depends on squidb, squidb-annotations. Uses squidb-processor to generate the model classes. Translated to a pod using j2objc-gradle.

android app: depends on shared and squidb-android

ios app: depends on shared but also in squidb-ios which is a mix of java and objc code. It has to be translated using complex build rules.

Adding the dependency for an ios app isn't as straightforward as the android app. You have to deal with mixed rules and environments. It would be lot easier to make a pod or another type of dependency that you use directly in swift of objc.

The main reason is that the SquiDB devs are all Java people who don't have any experience with cocoapods, and we haven't recruited an iOS dev to figure out the best way to set that up yet. We've just been using Xcode build rules. Contributions are welcome though!

I see. I am a beginner in the ios world but it feels like the wrong way and a real obstacle to the adoption of squidb by the ios people.
I will explore a few things with more experienced ios devs and try to make a contribution.

According to the j2objc-gradle doc:

You should start with a clean Java only project without any Android dependencies. It is suggested that the project is named shared. It must be buildable using the standard Gradle Java plugin.

j2objc actually does support a limited set of Android dependencies (see here), which we've been using in our shared code and building using the "android" gradle plugin. I don't know if this is a hard and fast restriction in j2objc-gradle, but it's just something to be aware of, as it sounds like j2objc-gradle may not be suitable for all project setups. Any changes we make to squidb should probably be agnostic to whether or not the user wants to use the j2objc-gradle plugin.

To make sure I understand the situation fully -- in your project, it sounds like the j2objc-gradle plugin works ok for adding your shared code and core squidb dependency to the iOS project -- so is squidb-ios the only pain point because of the mix of Java and native code?

yes exactly

For example, this library https://github.com/vals-productions/sqlighter provides the ios part in a fully native way

Finally I wrote two gradle tasks to include translate squidb and copy its native code to objc output folder of the gradle plugin j2objc-gradle.
I had to change the includes of the native code to match the output of j2objc-gradle.
I can share the gradle tasks here if interested.

@aminelaadhari Awesome, we'd be very happy if you shared it for the benefit of others who might be in the same situation as you.

For java files, I created a fake configuration called ios which allows me to get java files from it. I include theses files into the translation task using the option generatedSourceDirs.
For native code, I didn't find an easy solution so I copied the files to a folder ios-native.
j2objc-gradle don't use the options --no-package-directories to avoid file collision, so I had to change the import pahts in SQLiteErrors.m to follow the generated files structure.
#import "com/yahoo/android/sqlite/SQLiteException.h"
#import "com/yahoo/android/sqlite/SQLiteDiskIOException.h"
#import "com/yahoo/android/sqlite/SQLiteDatabaseCorruptException.h"
#import "com/yahoo/android/sqlite/SQLiteConstraintException.h"
#import "com/yahoo/android/sqlite/SQLiteAbortException.h"
#import "com/yahoo/android/sqlite/SQLiteDoneException.h"
#import "com/yahoo/android/sqlite/SQLiteFullException.h"
#import "com/yahoo/android/sqlite/SQLiteMisuseException.h"
#import "com/yahoo/android/sqlite/SQLiteAccessPermException.h"
#import "com/yahoo/android/sqlite/SQLiteDatabaseLockedException.h"
#import "com/yahoo/android/sqlite/SQLiteTableLockedException.h"
#import "com/yahoo/android/sqlite/SQLiteReadOnlyDatabaseException.h"
#import "com/yahoo/android/sqlite/SQLiteCantOpenDatabaseException.h"
#import "com/yahoo/android/sqlite/SQLiteBlobTooBigException.h"
#import "com/yahoo/android/sqlite/SQLiteBindOrColumnIndexOutOfRangeException.h"
#import "com/yahoo/android/sqlite/SQLiteOutOfMemoryException.h"
#import "com/yahoo/android/sqlite/SQLiteDatatypeMismatchException.h"
#import "com/yahoo/android/sqlite/OperationCanceledException.h"
and the gradle file:
configurations {
    ios
}

dependencies {
	...
	ios 'com.github.yahoo.squidb:squidb-ios:3.0.0:sources'
}

task copyIosSourceFiles(type: Copy) {
    from {
        configurations.ios.collect { zipTree(it) }
    }
    into 'build/j2objc/source/dependencies/'
}

task copyIosNativeFiles(type: Copy) {
    from '../ios-native/'
    into 'build/j2objcSrcGenMain/'
}

gradle.projectsEvaluated {
    j2objcTranslate.dependsOn copyIosSourceFiles
    j2objcTranslate.finalizedBy copyIosNativeFiles
}

j2objcConfig {
	...
	generatedSourceDirs 'build/generated/source/apt/main'
	generatedSourceDirs 'build/j2objc/source/dependencies/'

	extraLinkerArgs '-lsqlite3'
    ...
}


Update required xarray to v0.17.1 (currently unreleased)

I'm not sure this will even pass CI, let's see.

I will merge this PR, do a release, and then revert the change on master.


Error while getting application roles

Describe the issue:
An exception gets thrown when we tried to access the application roles
How to reproduce:

Create an applicaition
Navigate to Roles tab

You will get an error message and no roles will shows on that page
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: IS 7.0.0 Beta 3
Database: Oracle

Closing considering the https://github.com/wso2/product-is/issues/18631#issuecomment-1864369124


[6.4.x] RHBPMS-3997: GSS Project dependencies are not retained in BPM Suite 6.3.0

In fact, the dependencies were being saved correctly. However, in the dependency page load, a filter was removing the dependencies that had scope different from "compile". As "compile" is the default scope, this PR makes dependencies without scope be handled as a compile dependency.

ok to test.

+1


No content detected on some pdf files

For instance, run pdf2txt.py on
zen_of_python_corrupted.pdf
You will see no content while readers like evince does open them nicely.

I can reproduce this
$ python tools/pdf2txt.py ~/Downloads/zen_of_python_corrupted.pdf

```


style(husky hooks): drop opt --in from husky hooks

Make the linters run automatically for all users. This helps ensure that all
contributions adhere to our practices.

Should probably remove the opt-in dependency from package.json / yarn.lock too.

@mrfelton done


got an issue while was trying to create new database, when i create new database, localconfig decrypts, but gamemanager throws a NullReferenceException / OutOfRangeException. idk what to do

Now I've enabled discussions, please consider posting them there. Also, you can add descriptions and shorten your titles for brevity.


Test if dapr path exists, throw exception if it doesnt

Addresses #1211
Also adds method where more possible dapr paths can be added

@philliphoff what's the status on this? Do you need anything from me?

/azp run

@philliphoff can we merge this ? I'll rerun validation

@danmoseley Yes, assuming validation passes, please merge.

thanks @onionhammer !

Boo, scrubbed from the release notes :P

We can fix that 😄
@joperezr ?

So sorry about that @onionhammer, we used the automatic Generate Notes feature from GitHub, and while it did list out your PR it didn't listed you for some reason in the New contributors list, I've manually fixed that now :)


Update README and bump up the version

WHY and WHAT
Use same format with other repo in wantedly orgs like this: https://github.com/wantedly/box-kuromoji-elasticsearch

/cc @dtan4

ありがとうございます…！


Update to latest version of Raven (6.0.0)

Hi there,
Would it be possible to update to the latest raven package (6.0.0).  The raven connection is now wrapped in an asynchronous connection, and will drop older events when the queue is full.
Here is a pull request for the update.
thanks
@joerayme + @tootedom

are any other changes needed as a result of changing the version of the raven-logback dependency?

Not that we have seen.  The SentryAppender is constructed and works in the same fashion as currently implemented in RavenAppenderFactory (see https://github.com/tradier/dropwizard-raven/pull/5 for an additional issue currently with the ThresholdFilter not being applied; as it's not added to the Appender returned from wrapAsync(..) )
We have tested on both dw 7 applications and dw 8 projects.  We've currently got raven 6.0.0, dw 7, and our pull requests, integrated and sending to sentry in development.
However, If you are to pull https://github.com/tradier/dropwizard-raven/pull/4 afterwards, then all calls to setServerName are deprecated and withServerName is the replacement in the later version.
thanks
@joerayme + @tootedom


ZEPPELIN-98 Fix YARN artifacts version missmatch

https://issues.apache.org/jira/browse/ZEPPELIN-98
Part of the 109b080 AKA #88 - fix YARN artefacts dependencies versions

LGTM


Update pl.coffee

Coverage remained the same at 56.244% when pulling f58224162e82582699b6c7111cab290f6e567496 on sake12:master into e234422aa1b98e4c0a4648b8f8bb555ddca2fddb on codecombat:master.

Thanks!


Fix go vet in CI

It's necessary to compile the code first; otherwise go vet silently
fails to load imports.
Fixes #807.
Signed-off-by: Aaron Lehmann<EMAIL_ADDRESS>

Nice catch.
LGTM

IMHO, govet should not silently ignore errors.
Have we filed a bug upstream?

There is already a bug filed upstream: https://github.com/golang/go/issues/9439
I referenced it in #807

LGTM


[ZEPPELIN-1550] fixed 'add from URL' button

What is this PR for?
fixed 'add from URL' button and disable backdrop function.
What type of PR is it?
Bug Fix
Todos
None
What is the Jira issue?
ZEPPELIN-1550
How should this be tested?
click 'Import note' -> click 'Add from URL' -> click 'x' button -> open the dialog again -> it shows the URL page not the initial page.
Screenshots (if appropriate)

before

after

Questions:

Does the licenses files need update? no
Is there breaking changes for older versions? no
Does this needs documentation? no

+1

@yunho0130 Thanks for your contribution. Nice catch!
Tested and works well. LGTM 👍

Merging this if there are no more discussions :D

LGTM


Getting Token Issue in angular 2

Hi Team,
am new to DEX. i configured dex in my server, in default redirection page is showing token. But when i try to login via my angular 2 application login is success and it is redirected to my requested page but in my oauthService.tryLogin({}) method is not triggered and ever time hasValidAccessToken also false.
i refereed for angular 2 Oauth2 given URL : https://www.npmjs.com/package/angular-oauth2-oidc-b2c
Please help on that. thanks

It is because we don't implement the userinfo endpoint? https://github.com/coreos/dex/issues/376

Thanks for your reply. Can you please provide sample steps to create userinfo end point in my application.
if you provide detail document for that it is helpful for me

Can you please provide sample steps to create userinfo end point in my application.

The userinfo endpoint is not something your application would have to provide, but Dex -- as the "OAuth2.0 Authorization Server" in this setting.
However, from looking at the code of the angular2 package you've shared, it seems that this only makes use of the userinfo endpoint in loadUserProfile -- and that only happens for what they call "password flow".
tl;dr: I think this should work with dex when using the implicit flow.
Do you see any errors in your browsers JS console when attempting to login using that package?

Hi Srenatus,
No, am not getting any issue. its working fine but the problem is am not received token. after redirect to my page.

For other reasons, I'm looking into the use of angular-oauth2-oidc with dex.
I've noted that the project you're using looks like a fork that has been neglected -- judging from the compare view.

I've checked out the project, fixed a small bug in the example app:
$ git clone https://github.com/manfredsteyer/angular-oauth2-oidc
// ...
$ cd angular-oauth2-oidc/sample
$ npm install
// ...

# fix problem in sample:
$ gsed -i /silet/d src/app/auth-no-discovery.config.ts

Now, add a proxy.conf.json that makes dex being served throught ng serve:
$ cat > proxy.conf.json <<EOF
{
  "/dex": {
    "target": "http://localhost:5556",
    "secure": false
  }
}
EOF

Change issuer in src/app/auth.config.ts to say http://localhost:4200/dex.

Change src/app/app.component.ts's configureWithNewConfigApi to use that authConfig -- make it read:
this.oauthService.configure(authConfig);
// this.oauthService.configure(googleAuthConfig);

also remove voucher from scopes:scope: 'openid profile email',

Also start a dex instance with issuer set to http://localhost:4200/dex, and with a staticClient like this:
staticClients:
- id: spa-demo
  redirectURIs:
  - http://localhost:4200/index.html
  name: spa-demo

start the dev server
$ node_modules/.bin/ng serve --proxy-config proxy.conf.json
// ** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200 **
// ...

go to http://localhost:4200/home, press "Login"

you're redirected do dex, login according to its setup

you're redirected back to /home, and you'll see it got both an access_token and an id_token:

Also note that I see quite a bot going on in the dev tools JS console. Maybe you'll have more insight when adding
  showDebugInformation: true,

to your authConfig?

@Kannan2020 Is this still something you're interested in, or could this be closed? 😃

I found error from your guide @srenatus
invalid issuer in discovery document expected: http://localhost:4200/dex

May be, dex not support check_session_iframe yet,

That is correct. Dex has no such thing.

Why do you not add user entry point? I see many PR about it but you don't merge. @srenatus

@panoti I'm in no position to decide (let alone merge! 😅) anything here -- please reach out to the project maintainers (cc @ericchiang @rithujohn191)

LOL. I'm sorry, I thought you was in their team too.

@panoti no worries 😄 ... I'm just a fan 😉


Manifest version 2 is deprecated, and support will be removed in 2023. See https://developer.chrome.com/blog/mv2-transition/ for more details.

The addon is not working anymore.
I have two errors:
1 -
Manifest version 2 is deprecated, and support will be removed in 2023. See https://developer.chrome.com/blog/mv2-transition/ for more details.
2 -
Context
_generated_background_page.html
Stack Trace
_generated_background_page.html:0 (anonymous function)

And:
3 -
Error in event handler: TypeError: Cannot read properties of undefined (reading 'setBadgeBackgroundColor') at chrome-extension://khajmilinoeaobnggjgmjgffegfkimbp/src/background.js:43:24
4 -
Stack Trace
:0 (anonymous function)

I can say that it does work for me on Chrome Version 117.0.5938.134
I did have to rename the CRX file to ZIP for Chrome to enable it. But other than that, everything works for me.

Indeed, I just managed to install it on my side on Chrome 117.0.5938.150 by:

Renaming crx to zip

Using crx didn't work: yet, the drag-n-drop installation worked, but I couldn't enable it due to the error that the extention is not from Chrome Web Store.

Using drag-n-drop into the Extensions page worked.

Using Load unpacked fails, complaining about the manifest.

The error that is reported at the extension level (in Extensions page, clicking Errors on this extension tile) is shown below.
However, I can confirm it works! 🎉

It worked for me thank you.
Do you also need to download the videos one by one?
Before was when you download the playlist the download will start with the files automatically but now you need to save them one by one!

I haven't had that issue. I start the course and hit E, then C, and it starts downloading.
However, in Chrome you have to make sure "ask where to save each file before downloading" is off. Otherwise it will prompt you each time it downloads a video. I also disabled "show downloads when they're done" because it will bring up the downloads pane each time and interrupt my multitasking.

I haven't had that issue. I start the course and hit E, then C, and it starts downloading.
However, in Chrome you have to make sure "ask where to save each file before downloading" is off. Otherwise it will prompt you each time it downloads a video. I also disabled "show downloads when they're done" because it will bring up the downloads pane each time and interrupt my multitasking.

Thank you my friend, it's working great now 🥇

I can't get the addon to work.
I have installed Chome 117.0.5938.150 and load extension in zip format, but can't download anything.
Can anyone check if it works?


[THOUGHT] would render function allow deeper coding

just a thought, but would it makes more sense to allow render function to allow verlet to be much deeper. easier in some respects, since it would go in the same way that most kha things go?
just a thought
so rather than just having new Tire(new Vector2(200, 200) 300);
/which will draw it down
you can then have
tire = new Tire(new Vector2(200, 200) 300);
tire.render(graphics);

also things like being able to edit the width, height, size. extra
such as
box.width = 300;
box.height = 200;
box.x = 30;
box.y = 60;

tire.radius = 300;
tire.x = 400;
tire.y = 350;

just thinking of other ways it can be more deeper for coders and for games as well ;)

I like the idea of giving each entity it's own render function. Doing the tire radius changes might be tricky though, I'll have to look at that one a bit more

also to have things like .x .y etc. means that things such as keyboard options can b looked at as well. plus opens it up a lot ;)


delete page doesnt delete item

even after removing the page from the settings, and the route no longer exists in the navigation, its still showing up. even restarted the nodebb.

there are DEFINITELY deletion issues...
a la
Error: EBUSY: resource busy or locked, unlink blah blah blah

Sorry for the late reply here. I can't reproduce this on the latest version of the plugin though, I get a "Not Found" error


Bumping beta version in Cxx branch to match master

bumping version in cxx branch

Codecov Report

Merging #543 into cxx will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              cxx     #543   +/-   ##
=======================================
  Coverage   81.28%   81.28%
=======================================
  Files          72       72
  Lines        2731     2731
=======================================
  Hits         2220     2220
  Misses        511      511

Flag
Coverage Δ

#py27
81.29% <ø> (ø)
:arrow_up:

#py36
81.29% <ø> (ø)
:arrow_up:

#py37
81.29% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Update skill.html

Changed "logo" to "icon" to correspond to guide (https://github.com/hugo-toha/guides/blob/2359b494c7b768cb32ce468fe1047fc305d79898/content/posts/configuration/sections/skills/index.md?plain=1#L27)
Issue
A set "icon" in data/en/sections/skills.yaml did not appear.
Description
layout/partials/cards/skill.html expected "logo" instead of "icon".
Alternative solution: rename "icon" to "logo" in guide.
Test Evidence

Another alternative: allow icon and logo.
logo can contain a path to an image, as before.
icon can contain a fontawesome name.

        {{ if .logo }}
          {{ $logoImage := resources.Get .logo }}

          {{/*  svg don't support "Fit" operation   */}}
          {{ if ne $logoImage.MediaType.SubType "svg" }}
            {{ $logoImage = $logoImage.Fit "24x24" }}
          {{ end }}

        {{ end }}
        {{ if .icon }}
        {{ $iconName := .icon }}

 {{ .name }}

        {{ else }}

{{ .name }}

        {{ end }}

Both would be best!

closed in favor of #506


Added Gallery_Api Environment variable to AppVeyor - Fixes #202

Pull Request (PR) description
This PR fixes the example publish to PS Gallery by adding the missing environment variable to
This Pull Request (PR) fixes the following issues

Fixes #202

Task list

[x] Added an entry under the Unreleased section of the change log in the CHANGELOG.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md in the resource folder.
[ ] Resource parameter descriptions added/updated in schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[ ] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

@johlju - would you mind reviewing? Should be a quick one.

This change is

Codecov Report

Merging #203 into dev will not change coverage.
The diff coverage is n/a.

@@        Coverage Diff         @@
##           dev   #203   +/-   ##
==================================
  Coverage   94%    94%
==================================
  Files        8      8
  Lines      889    889
==================================
  Hits       837    837
  Misses      52     52


v0.6.0-beta.9  - getPrevMoreProps() is breaking

Just an FYI - this
https://github.com/rrag/react-stockcharts/blob/master/src/lib/GenericComponent.jsx#L33
is breaking
https://github.com/rrag/react-stockcharts/blob/master/src/lib/interactive/MouseLocationIndicator.jsx#L59

thanks for reporting.
(facepalm) this project needs automated tests, and I am getting bad at testing all edge cases manually.
Any suggestions for a project like this?

We can start small maybe with jest and enzyme??
https://facebook.github.io/jest/docs/tutorial-react.html

how good is jest in dealing with emulating events? snapshot testing is good for svg initial render, but for canvas?

I know with enzyme you can simulate events, but I am not an expert in any react+testing, so I am interested in what others might say...
Example https://github.com/airbnb/enzyme/issues/426

This is great, there are a few cases where I have to register events outside of react, for pan and interactive drawing. Will have to try this out soon
:+1:

fixed in 0.6.0-beta.10


Documentation is broken (all pages except Creation)

All pages under https://autofixture.github.io/docs, except https://autofixture.github.io/docs/fixture-creation/ are empty (at least in Chrome and Edge).
For example: https://autofixture.github.io/docs/fixture-customization-overview/

@MoonCoder14 thank you raising this. Simply put articles you mentioned are not written yet.
Though not yet officially announced, we are working on a new website that will also feature auto generated API reference for both AutoFixture and SemanticComparison.
Articles on AutoFixture basics, like aninymous values, customizations and some glue library features will be published across the next couple weeks.
I will make sure to cross publish articles as they become available.
The preview version of the new site is located at AutoFixture.io.

Ok thanks for the info!
Op za 29 mei 2021 12:54 schreef Andrei Ivascu @.***>:

@MoonCoder14 https://github.com/MoonCoder14 thank you raising this.
Simply put articles you mentioned are not written yet.
Though not yet officially announced, we are working on a new website that
will also feature auto generated API reference for both AutoFixture and
SemanticComparison.
Articles on AutoFixture basics, like aninymous values, customizations and
some glue library features will be published across the next couple weeks.
I will make sure to cross publish articles as they become available.
The preview version of the new site is located at AutoFixture.io
https://autofixure.io.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AutoFixture/AutoFixture/issues/1272#issuecomment-850813520,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOVFKDTHMQ6GVNOHPY2AGPLTQDBXNANCNFSM45SHI6GQ
.


Per-application self-registering hooks

#148 currently proposes another hook for a cleaner deployment. #220 proposes a new challenge protocol.
This idea goes a bit further, maybe good for the next major version.
I think we need two kinds of hooks:

hooks that interface to verify domain ownership, this is what current deploy_challenge and clean_challenge. There are some letsencryptkey.sh hooks on the github already for different DNS providers.
deployment hooks that respond to deploy_cert and unchanged_cert. Every SSL enabled app should have one.
For example, there could have one file that deploys apache certificates or another that installs certs for BIND or sendmail or postfix. One could even write something to trigger chef or puppet or whatever.

Those deployment hooks could be possibly generic and there user could map the domain to the deployment hook "please deploy acme.org cert and keys to Apache and nginx, but acme.net goes to dovecot and sendmail".
This could be implemented by having a way to let the hooks register themselves and say "call me on deploy_cert".
In the future those hooks could even be maintained by the
developers of the applications themselves.
For example, apachectl to could be patched to provide a list of SSL domains currently configured in the httpd.conf and friends via the command similar to "apachectl sslvhosts" and then the Apache hook could just check if the domain is in the apache configuration.
This way letsencrypt.sh could be integrated with the startup scripts - imagine Apache requesting certificates on system startup in a similar way that some systems generate SSH keys on sshd startup. Or when doing configuration reload. One just needs to avoid a chicken-and-egg scenario in case the same Apache is used for both ownership proof and HTTPS.
For this, we probably need just to the possibility to specify multiple hooks, in a directory or otherwise. If we let hooks register themselves, we don't even need multiple hook directives for various kinds of hooks.
Hey, even BIND or nsd plugin could register one hook that implements dns-01 challenge and another one installing SSL keys for the CLI control tool or requesting keys/certificates for DANE or whatever.

I'm not really sure how this should work, but as an alternative there now are per-certificate configuration files and you can set different hook scripts for some domains, this should open up a lot more flexibility in what can be done with those hooks, everything else should easily be done based on that change.


Why is hamburger-settings needed?

As per: https://github.com/mrmlnc/hamburger-icon/blob/master/README.md#how-to-use-1
User should call .hamburger-settings(24px, 3px, 5px, #777, @timing-function: linear); first and only then hamburger-generator();
Why?
The sass-burger makes it simpler by just calling a mixin a single time. Could the less version do the same?

The problem is the scope of variables.
.menu-icon {
.hamburger-generator(24px, 3px, 5px, #777, @timing-function: linear);
// The variable is here, inside a block
width: @hamburger-width;
}
// But the variable is not available outside that block
.class {
width: @hamburger-width;
}
It turns out that the second mixin can't receive variables for the operation.
In the version under preprocessor Sass and Stylus are a variable that stores the configuration. The data for this variable are available for two-mixins. In Less of such a variable is not. Therefore, it is necessary to do so.

I don't have any right now.


feat: Add filter to Table

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hi @mmarkelov  are you still working on this? It is a feature we would like to have. Thank you.

Hello @jessieweiyi! IDK what exactly should be implemented here. I just added basic filtering case, that you can change with new story in this PR. I used this example from react-table. Also you can check sandbox. So if you are ok with this changes, I suppose that i can add some tests and it will be ready to go, otherwise you can provide additional requirements for this story. Thanks!

@jessieweiyi hi again! Sorry for bothering you again. Should i implement tests for this functionality or add some extra features? I just want to start progress on expanding table feature, but i think it will be better to close this one before it.
Thanks!


SafeLinx VPN configuration changes

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: kandarpakumar-malip:x: kandarpamalipeddikandarpakumar-malip seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Add CI/CD workflow

We should add CI/CD workflow to make development/release easier.

Will split this into 2 tasks


[general] 'NSKeyedUnarchiveFromData' should not be used to for un-archiving and will be removed in a future release

Xcode 12.3, built for iOS 12 target.
I'm getting the warning message '[general] 'NSKeyedUnarchiveFromData' should not be used to for un-archiving and will be removed in a future release' - repeated in the console many many times.
Tracking this down, this post: https://www.kairadiagne.com/2020/01/13/nssecurecoding-and-transformable-properties-in-core-data.html
Looking into the ensembles model I've found this:

This would also explain the other warnings I'm getting at build time.
CDEObjectChange.propertyChangeValues is using a nil or insecure value transformer. Please switch to NSSecureUnarchiveFromDataTransformerName or a custom NSValueTransformer subclass of NSSecureUnarchiveFromDataTransformer [2]
......  ensembles_master/Framework/Resources/CDEEventStoreModel.xcdatamodeld/CDEEventStoreModel_2.xcdatamodel: warning: Misconfigured Property: CDEObjectChange.propertyChangeValues is using a nil or insecure value transformer. Please switch to NSSecureUnarchiveFromDataTransformerName or a custom NSValueTransformer subclass of NSSecureUnarchiveFromDataTransformer
Is the change as simple as adding 'NSSecureUnarchiveFromData' to the 'Transformer' field on the propertyChangeValues field of CDEObjectChange ? - Should the CDEEventStoreModel get a version bump? nope... I've tried that and have a crash on run... something does not confirm.... will work on tracking it down.

For the record I've had a go at this... changing CDEPropertyChangeValue.h  to
and CDEPropertyChangeValue.m by adding:

(BOOL)supportsSecureCoding
{
return TRUE;
}
and updating initWithCoder.
self.propertyName = [aDecoder decodeObjectOfClass:[NSString class] forKey:@"propertyName"];
self.type = [aDecoder decodeIntegerForKey:@"type"];
self.filename = [aDecoder decodeObjectOfClass:[NSString class] forKey:@"filename"];
self.value = [aDecoder decodeObjectOfClass:[NSObject class] forKey:@"value"];
self.relatedIdentifier = [aDecoder decodeObjectOfClass:[NSObject class] forKey:@"relatedIdentifier"];
self.addedIdentifiers = [aDecoder decodeObjectOfClass:[NSSet class] forKey:@"addedIdentifiers"];
self.removedIdentifiers = [aDecoder decodeObjectOfClass:[NSSet class] forKey:@"removedIdentifiers"];
self.movedIdentifiersByIndex = [aDecoder decodeObjectOfClass:[NSDictionary class] forKey:@"movedIdentifiersByIndex"];

Though based on the runtime errors I'm now getting... it's not right.
I suspect that [NSObject class] isn't good enough and I do not know what to do with these.

For the record I've had a go at this... changing CDEPropertyChangeValue.h  to
and CDEPropertyChangeValue.m by adding:

(BOOL)supportsSecureCoding
{
return TRUE;
}
and updating initWithCoder.
self.propertyName = [aDecoder decodeObjectOfClass:[NSString class] forKey:@"propertyName"];
self.type = [aDecoder decodeIntegerForKey:@"type"];
self.filename = [aDecoder decodeObjectOfClass:[NSString class] forKey:@"filename"];
self.value = [aDecoder decodeObjectOfClass:[NSObject class] forKey:@"value"];
self.relatedIdentifier = [aDecoder decodeObjectOfClass:[NSObject class] forKey:@"relatedIdentifier"];
self.addedIdentifiers = [aDecoder decodeObjectOfClass:[NSSet class] forKey:@"addedIdentifiers"];
self.removedIdentifiers = [aDecoder decodeObjectOfClass:[NSSet class] forKey:@"removedIdentifiers"];
self.movedIdentifiersByIndex = [aDecoder decodeObjectOfClass:[NSDictionary class] forKey:@"movedIdentifiersByIndex"];

Though based on the runtime errors I'm now getting... it's not right.
I suspect that [NSObject class] isn't good enough and I do not know what to do with these.

The latest version of Ensembles should already have a custom transformer (CDEPropertyChangeValueTransformer) for CDEPropertyChangeValue, to stop this error. Are you on the latest Ensembles?

Note that the warnings can still appear for your own model transformables, but they should not appear for CDEPropertyChangeValue. I'm afraid you can't really just change the transformer in your model either, because you are dealing with old data that was serialized using the old transformer. You need to put in place something like CDEPropertyChangeValueTransformer for your own code, or migrate the property to one using a secure transformer.

The latest version of Ensembles should already have a custom transformer (CDEPropertyChangeValueTransformer) for CDEPropertyChangeValue, to stop this error. Are you on the latest Ensembles?

Note that the warnings can still appear for your own model transformables, but they should not appear for CDEPropertyChangeValue. I'm afraid you can't really just change the transformer in your model either, because you are dealing with old data that was serialized using the old transformer. You need to put in place something like CDEPropertyChangeValueTransformer for your own code, or migrate the property to one using a secure transformer.

Hi Drew…
Thank you for the support.
I’ve just downloaded the repository from GitHub (via direct download) and checked the model in the iOS project.
It doesn’t have CDEPropertyChangeValueTransformer.
A download from ‘master’. Correct?

David

On 6/01/2021, at 10:24 PM, Drew McCormack<EMAIL_ADDRESS>wrote:
The latest version of Ensembles should already have a custom transformer (CDEPropertyChangeValueTransformer) for CDEPropertyChangeValue, to stop this error. Are you on the latest Ensembles?
https://user-images.githubusercontent.com/77312/103751655-f4166180-5008-11eb-9662-33bdbfcb92f9.png
Note that the warnings can still appear for your own model transformables, but they should not appear for CDEPropertyChangeValue. I'm afraid you can't really just change the transformer in your model either, because you are dealing with old data that was serialized using the old transformer. You need to put in place something like CDEPropertyChangeValueTransformer for your own code, or migrate the property to one using a secure transformer.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/drewmccormack/ensembles/issues/296#issuecomment-755185473, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABVCN4UA7BVEL5XUGDT7KDSYQT4FANCNFSM4VWHLP4Q.

David Wilson
http://dgwilson.wordpress.com
https://nz.linkedin.com/in/dgwilson65

Hi Drew…
Thank you for the support.
I’ve just downloaded the repository from GitHub (via direct download) and checked the model in the iOS project.
It doesn’t have CDEPropertyChangeValueTransformer.
A download from ‘master’. Correct?

David

On 6/01/2021, at 10:24 PM, Drew McCormack<EMAIL_ADDRESS>wrote:
The latest version of Ensembles should already have a custom transformer (CDEPropertyChangeValueTransformer) for CDEPropertyChangeValue, to stop this error. Are you on the latest Ensembles?
https://user-images.githubusercontent.com/77312/103751655-f4166180-5008-11eb-9662-33bdbfcb92f9.png
Note that the warnings can still appear for your own model transformables, but they should not appear for CDEPropertyChangeValue. I'm afraid you can't really just change the transformer in your model either, because you are dealing with old data that was serialized using the old transformer. You need to put in place something like CDEPropertyChangeValueTransformer for your own code, or migrate the property to one using a secure transformer.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/drewmccormack/ensembles/issues/296#issuecomment-755185473, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABVCN4UA7BVEL5XUGDT7KDSYQT4FANCNFSM4VWHLP4Q.

David Wilson
http://dgwilson.wordpress.com
https://nz.linkedin.com/in/dgwilson65

Ah, wait. Sorry, I got confused. This has been fixed in Ensembles 2, but I didn't get a chance to backport the fix to Ensembles 1 yet. If anyone has access to both and wants to try cherrypicking a PR, I will happily consider it.

Ah, wait. Sorry, I got confused. This has been fixed in Ensembles 2, but I didn't get a chance to backport the fix to Ensembles 1 yet. If anyone has access to both and wants to try cherrypicking a PR, I will happily consider it.

I'd be happy to have a go at this, though I'd need the matching .m and .h files from Ensembles 2.

I'd be happy to have a go at this, though I'd need the matching .m and .h files from Ensembles 2.

I've invited you to the Ensembles 2 repo.
See these hashes for the changes:
def40edc3a6d9b23c539501e8c1886fab193de1c
8ee18c8c7d4a3a45348d67aaa3a888a7961c0af1
641e307f996faae865ebf26d8f137229b77d3385
These introduce the CDEPropertyChangeValueTransformer class. You then need to insert that in the Core Data model of Ensembles. Let me know if there are any problems. Should be mostly copy and paste work.

I've invited you to the Ensembles 2 repo.
See these hashes for the changes:
def40edc3a6d9b23c539501e8c1886fab193de1c
8ee18c8c7d4a3a45348d67aaa3a888a7961c0af1
641e307f996faae865ebf26d8f137229b77d3385
These introduce the CDEPropertyChangeValueTransformer class. You then need to insert that in the Core Data model of Ensembles. Let me know if there are any problems. Should be mostly copy and paste work.

Thank you.
I’ve had an initial look around. Will look to begin integration work tomorrow.
For this change, does the core data model need a version change? Or can the transformer class be added to the existing version? I know how to do it, just not sure if that is required for that step.

David

On 8/01/2021, at 10:08 PM, Drew McCormack<EMAIL_ADDRESS>wrote:
I've invited you to the Ensembles 2 repo.
See these hashes for the changes:
def40edc3a6d9b23c539501e8c1886fab193de1c
8ee18c8c7d4a3a45348d67aaa3a888a7961c0af1
641e307f996faae865ebf26d8f137229b77d3385
These introduce the CDEPropertyChangeValueTransformer class. You then need to insert that in the Core Data model of Ensembles. Let me know if there are any problems. Should be mostly copy and paste work.

Thank you.
I’ve had an initial look around. Will look to begin integration work tomorrow.
For this change, does the core data model need a version change? Or can the transformer class be added to the existing version? I know how to do it, just not sure if that is required for that step.

David

On 8/01/2021, at 10:08 PM, Drew McCormack<EMAIL_ADDRESS>wrote:
I've invited you to the Ensembles 2 repo.
See these hashes for the changes:
def40edc3a6d9b23c539501e8c1886fab193de1c
8ee18c8c7d4a3a45348d67aaa3a888a7961c0af1
641e307f996faae865ebf26d8f137229b77d3385
These introduce the CDEPropertyChangeValueTransformer class. You then need to insert that in the Core Data model of Ensembles. Let me know if there are any problems. Should be mostly copy and paste work.

No change to model version. The transformer is not part of the model hash if I recall properly (check the git change to be sure). The transformer in question is designed to also unarchive old data, so no special handling needed.

No change to model version. The transformer is not part of the model hash if I recall properly (check the git change to be sure). The transformer in question is designed to also unarchive old data, so no special handling needed.

Done.
I’ve tested locally with my app across multiple devices in the iOS simulator.
No error messages, changes replicated as expected.
My lack of GIT knowledge has meant that I pushed the changes to my master and thus they’ve been added to the existing pull request as per the image/screen shot below. So I’ve edited the heading accordingly.
I trust this is OK.

David

On 8/01/2021, at 10:54 PM, Drew McCormack<EMAIL_ADDRESS>wrote:
No change to model version. The transformer is not part of the model hash if I recall properly (check the git change to be sure). The transformer in question is designed to also unarchive old data, so no special handling needed.

Done.
I’ve tested locally with my app across multiple devices in the iOS simulator.
No error messages, changes replicated as expected.
My lack of GIT knowledge has meant that I pushed the changes to my master and thus they’ve been added to the existing pull request as per the image/screen shot below. So I’ve edited the heading accordingly.
I trust this is OK.

David

On 8/01/2021, at 10:54 PM, Drew McCormack<EMAIL_ADDRESS>wrote:
No change to model version. The transformer is not part of the model hash if I recall properly (check the git change to be sure). The transformer in question is designed to also unarchive old data, so no special handling needed.

Additionally to confirm, I check all three of these commits to ensure that the changes have been incorporated.

David

On 8/01/2021, at 10:08 PM, Drew McCormack<EMAIL_ADDRESS>wrote:
I've invited you to the Ensembles 2 repo.
See these hashes for the changes:
def40edc3a6d9b23c539501e8c1886fab193de1c
8ee18c8c7d4a3a45348d67aaa3a888a7961c0af1
641e307f996faae865ebf26d8f137229b77d3385
These introduce the CDEPropertyChangeValueTransformer class. You then need to insert that in the Core Data model of Ensembles. Let me know if there are any problems. Should be mostly copy and paste work.

Additionally to confirm, I check all three of these commits to ensure that the changes have been incorporated.

David

On 8/01/2021, at 10:08 PM, Drew McCormack<EMAIL_ADDRESS>wrote:
I've invited you to the Ensembles 2 repo.
See these hashes for the changes:
def40edc3a6d9b23c539501e8c1886fab193de1c
8ee18c8c7d4a3a45348d67aaa3a888a7961c0af1
641e307f996faae865ebf26d8f137229b77d3385
These introduce the CDEPropertyChangeValueTransformer class. You then need to insert that in the Core Data model of Ensembles. Let me know if there are any problems. Should be mostly copy and paste work.

Quick question, has anyone tested the impact of introducing the new transformer into an existing app that already has data? Say I have a version 1.0 of my app in production, with customers with data, and then I update my version of Ensembles in my app and push out a version 1.1 that uses the new transformer - will my customers' existing data still be okay, given that they used to be archived/unarchived without the secure transformer and now they're trying to be unarchived with a different transformer?
I'm asking because I vaguely recall running into this issue myself when working to fix the warning in my app (unrelated to Ensembles in this case), and existing data wasn't getting loaded correctly anymore. But I didn't have the time to look into it further to see if there was an easy fix. Just wanted to raise it here before any PR is merged, so that if this is an issue, unwitting Ensembles 1 users like myself won't update and find everything destroyed.

Quick question, has anyone tested the impact of introducing the new transformer into an existing app that already has data? Say I have a version 1.0 of my app in production, with customers with data, and then I update my version of Ensembles in my app and push out a version 1.1 that uses the new transformer - will my customers' existing data still be okay, given that they used to be archived/unarchived without the secure transformer and now they're trying to be unarchived with a different transformer?
I'm asking because I vaguely recall running into this issue myself when working to fix the warning in my app (unrelated to Ensembles in this case), and existing data wasn't getting loaded correctly anymore. But I didn't have the time to look into it further to see if there was an easy fix. Just wanted to raise it here before any PR is merged, so that if this is an issue, unwitting Ensembles 1 users like myself won't update and find everything destroyed.

Good question.
I’ve been testing with my existing app… in the simulator and it’s all working as far as I can tell.
If you take a look at ‘CDEPropertyChangeValue.m’ and the procedure

(id)attributeValueForAttributeDescription:(NSAttributeDescription *)attribute

you will see code that tests for the transform… and thus supporting the new secure and the old not secure.

David

On 9/01/2021, at 4:09 PM, Jason Ji<EMAIL_ADDRESS>wrote:
Quick question, has anyone tested the impact of introducing the new transformer into an existing app that already has data? Say I have a version 1.0 of my app in production, with customers with data, and then I update my version of Ensembles in my app and push out a version 1.1 that uses the new transformer - will my customers' existing data still be okay, given that they used to be archived/unarchived without the secure transformer and now they're trying to be unarchived with a different transformer?
I'm asking because I vaguely recall running into this issue myself when working to fix the warning in my app (unrelated to Ensembles in this case), and existing data wasn't getting loaded correctly anymore. But I didn't have the time to look into it further to see if there was an easy fix. Just wanted to raise it here before any PR is merged, so that if this is an issue, unwitting Ensembles 1 users like myself won't update and find everything destroyed.

Good question.
I’ve been testing with my existing app… in the simulator and it’s all working as far as I can tell.
If you take a look at ‘CDEPropertyChangeValue.m’ and the procedure

(id)attributeValueForAttributeDescription:(NSAttributeDescription *)attribute

you will see code that tests for the transform… and thus supporting the new secure and the old not secure.

David

On 9/01/2021, at 4:09 PM, Jason Ji<EMAIL_ADDRESS>wrote:
Quick question, has anyone tested the impact of introducing the new transformer into an existing app that already has data? Say I have a version 1.0 of my app in production, with customers with data, and then I update my version of Ensembles in my app and push out a version 1.1 that uses the new transformer - will my customers' existing data still be okay, given that they used to be archived/unarchived without the secure transformer and now they're trying to be unarchived with a different transformer?
I'm asking because I vaguely recall running into this issue myself when working to fix the warning in my app (unrelated to Ensembles in this case), and existing data wasn't getting loaded correctly anymore. But I didn't have the time to look into it further to see if there was an easy fix. Just wanted to raise it here before any PR is merged, so that if this is an issue, unwitting Ensembles 1 users like myself won't update and find everything destroyed.

Seems reasonable, admittedly with me not being familiar with the code. So long as you did some sort of test where you ran the app using the old, insecure transformer first, then pod-installed or otherwise updated Ensembles to the new version using the secure transformer, and then re-ran the app and were able to see the original data without issue, then that's probably good enough.

Seems reasonable, admittedly with me not being familiar with the code. So long as you did some sort of test where you ran the app using the old, insecure transformer first, then pod-installed or otherwise updated Ensembles to the new version using the secure transformer, and then re-ran the app and were able to see the original data without issue, then that's probably good enough.

The new transformer actually just does what the old one did, ie the default one, so it should all work. We have been using this code in Ensembles 2 for about 6 months, and no problems with legacy.

The new transformer actually just does what the old one did, ie the default one, so it should all work. We have been using this code in Ensembles 2 for about 6 months, and no problems with legacy.


Does chaquopy_flutter suport non-'pure' python packages?

Does chaquopy_flutter suport non-'pure' python packages? For example does it support Numpy (which makes calls to C code)? If so how would the C libs be packaged up with the Flutter app (Flutter app compiled for Linux platform is of most interest to me). Thanks

The library runs on android, which is based on linux as well. hence, I would suggest to redirect this question to official chaqopy library for getting more insights. Closing the issue for now.


AttributeError in Headless Mode

When running the program in headless mode, the following error occurs due to an attempt to access torrent_categories from the qBittorrent client, which is not available in this mode:
AttributeError: 'NoneType' object has no attribute 'torrent_categories'
Error Traceback:
  File "/usr/local/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.10/site-packages/qBitrr/main.py", line 250, in <module>
    run()
  File "/usr/local/lib/python3.10/site-packages/qBitrr/main.py", line 209, in run
    manager = qBitManager()
  File "/usr/local/lib/python3.10/site-packages/qBitrr/main.py", line 126, in __init__
    self.arr_manager = ArrManager(self).build_arr_instances()
  File "/usr/local/lib/python3.10/site-packages/qBitrr/arss.py", line 5313, in build_arr_instances
    managed_object = Arr(name, self, client_cls=call_cls)
  File "/usr/local/lib/python3.10/site-packages/qBitrr/arss.py", line 109, in __init__
    categories = self.manager.qbit_manager.client.torrent_categories.categories
AttributeError: 'NoneType' object has no attribute 'torrent_categories'

config sample:
[Settings]
ConsoleLevel = "INFO"
Logging = true
CompletedDownloadFolder = "/completed_downloads"
FreeSpace = "-1"
AutoPauseResume = false
NoInternetSleepTimer = 15
LoopSleepTimer = 5
SearchLoopDelay = -1
FailedCategory = "failed"
RecheckCategory = "recheck"
Tagless = true
IgnoreTorrentsYoungerThan = 300
PingURLS = ["one.one.one.one", "dns.google.com"]
FFprobeAutoUpdate = true

[qBit]
Disabled = true
Host = ""
Port = ""
UserName = ""
Password = ""

[Sonarr-TV]
Managed = true
URI = "http://sonarr:8989"
APIKey = "****"
Category = "sonarr"
ReSearch = true
importMode = "Auto"
RssSyncTimer = 5
RefreshDownloadsTimer = 5
ArrErrorCodesToBlocklist = ["Not a preferred word upgrade for existing episode file(s)", "Not an upgrade for existing episode file(s)", "Unable to determine if file is a sample"]

[Sonarr-TV.EntrySearch]
SearchMissing = true
AlsoSearchSpecials = false
SearchLimit = 5
SearchByYear = true
SearchInReverse = false
SearchRequestsEvery = 300
DoUpgradeSearch = true
QualityUnmetSearch = true
CustomFormatUnmetSearch = true
ForceMinimumCustomFormat = true
SearchAgainOnSearchCompletion = true
UseTempForMissing = false
MainQualityProfile = "1080p"
TempQualityProfile = "1080p"
SearchBySeries = true
PrioritizeTodaysReleases = true

[Sonarr-TV.EntrySearch.Ombi]
SearchOmbiRequests = false
OmbiURI = "CHANGE_ME"
OmbiAPIKey = "CHANGE_ME"
ApprovedOnly = true

[Sonarr-TV.EntrySearch.Overseerr]
SearchOverseerrRequests = false
OverseerrURI = ""
OverseerrAPIKey = ""
ApprovedOnly = true
Is4K = false

[Sonarr-TV.Torrent]
CaseSensitiveMatches = false
FolderExclusionRegex = ["\\bextras?\\b", "\\bfeaturettes?\\b", "\\bsamples?\\b", "\\bscreens?\\b", "\\bnc(ed|op)?(\\\\d+)?\\b"]
FileNameExclusionRegex = ["\\bncop\\\\d+?\\b", "\\bnced\\\\d+?\\b", "\\bsample\\b", "brarbg.com\\b", "\\btrailer\\b", "music video", "comandotorrents.com"]
FileExtensionAllowlist = []
AutoDelete = false
IgnoreTorrentsYoungerThan = 600
MaximumETA = 604800
MaximumDeletablePercentage = 0.8
DoNotRemoveSlow = true
ReSearchStalled = true
StalledDelay = 360

Trackers = []

[Sonarr-TV.Torrent.SeedingMode]
DownloadRateLimitPerTorrent = -1
UploadRateLimitPerTorrent = -1
MaxUploadRatio = -1
MaxSeedingTime = 3600
RemoveTorrent = 2
RemoveDeadTrackers = false
RemoveTrackerWithMessage = ["skipping tracker announce (unreachable)", "No such host is known", "unsupported URL protocol", "info hash is not authorized with this tracker"]

Noted and will fix with next patch


Add license url parsing

This PR is based off https://github.com/google/shaka-player/pull/1010.  It closes #484 and parses license urls from <ms:laurl> and <mspr:pro> in the DASH manifest.  I believe I have addressed all the suggestions made in the original PR.
/cc @forbesjo

I signed it!

Any chance I can get some feedback on this?  I'm hoping this can make it in 2.5.

@tylerdaines Definitely! Thanks for the ping and apologies for the delay.
@TheModMaker @vaage Guys, could I ask you to take a look since you both worked on the #1010

@vaage I think I have addressed all your concerns and reverted my ill-advised white space changes.  Anything else I need to look at?

@vaage Anything else you want me to take a second pass at?

I believe I have addressed all the latest issue.  Anything else that needs addressing?

The build bot says its good.
 If you are good with this, I think it is safe to accept it and then we can address any minor issues ourselves.

Thanks guys!

FYI, I will create a follow-up to change how this works with the Player configuration.  I will change it to use the manifest value as a default and use the Player configuration as an override.  This means the manifest value will only be used if you don't specify a license server in the configuration.  This is consistent with our other configuration settings being overrides.

@tylerdaines thanks for your work on this, this will help my team too. :)


try_sync

First off, thanks for this crate! It's helping me a lot cleaning up the thread synchronization in my project.
However, I'm running into deadlock problems with a Desync, where one of its Futures is blocked by an operation that has to happen on the main thread, while the main thread is blocked on a .sync call on the same Desync (aka deadlock).
It'd be great to have a .try_sync function on Desync, so I can handle these situations gracefully.

Hi, this might be something I can take a look at, though I think I need to understand a bit more about what you're looking for. I think a try_sync() function might have two possible implementations:

It only tries to evaluate its function if the queue is idle at the time it is called, and otherwise does nothing
It only runs synchronously if the queue is able to run at the time it is called, and otherwise runs in the background

Are either of these the implementation you were looking for?
One of my goals is to keep the API as small as possible, so another question I'd have is if there was a way to fix your issue with the existing API? Given that futures are involved, can you replace the blocked sync() call with a future() call, or wrap it in a future() call higher up the call stack? Desync futures already work a bit like the second suggestion for a try_sync() call, and can be thrown away if you don't want to keep polling for the result (the payload function will get executed in any case).
Another possibility if you don't need the result of the operation straight away is to use another Desync to store the result, and calculate it there with a desync() call. It can then be retrieved via a later sync (or future) call when all of the other operations have completed.

The one I need for my task is the first you listed, with the addition that the caller has to be informed whether the operation was actually executed (by a Result return for example), which is the same as std::io::ErrorKind::WouldBlock result for async I/O. Then the caller could decide on how to react to this situation.

if there was a way to fix your issue with the existing API?

Well, yes and no. My workaround now is that I have an AtomicBool that's set to true while the operation is in progress. Then in my critical section, I compare_and_swap that flag to check whether the Desync is idle at the moment and only call .sync if it is. I'm essentially externally synchronizing the Desync, which is rather inconvenient.
In Rust, Futures always defer their calls by one poll cycle, so that's no good for me there. I'm in a render loop on the main thread (using wgpu-rs), so there's nothing asynchronous on top of this. Also, the data structures wrapped by the Desync are constantly changing (it's the list of objects currently being rendered), so there's no distinct operation that can complete with a final result.

I've added a new v0.7.0 branch that has this type of try_sync, if you want to try it out and see if it helps with your situation.

Sorry for the delay, I'm pretty busy with our project that uses desync! This is exactly what I was looking for.
Here is my test code:
use desync::Desync;
use futures::executor::ThreadPool;
use std::sync::Arc;

struct Foo(usize);

impl Foo {
    fn foo(&mut self) {
        self.0 += 1;
        eprintln!("Foo! [{}]", self.0);
    }
}

fn main() {
    let pool = ThreadPool::new().unwrap();
    let foo = Arc::new(Desync::new(Foo(0)));

    for _ in 0..100 {
        let inner_foo = foo.clone();
        pool.spawn_ok(async move {
            let result = inner_foo.try_sync(|foo| {
                foo.foo();
            });
            if result.is_err() {
                eprintln!("Failed.");
            }
        });
    }
    eprintln!("Done.");
}


Picovoice Console Issue:

Make sure you have read the documentation, and have put forth a reasonable effort to find an existing answer.
Expected behaviour
cheetah model download link works after training
Actual behaviour
leopard model is available for download, but cheetah model link says "temporarily unavailable"
Steps to reproduce the behaviour
create new cheetah model and define boost words, then save model.  Try to download and you'll see the "temporarily unavailable" message.
(Include enough details so that the issue can be reproduced independently.)

This is correct, Cheetah custom models are currently disabled. See https://github.com/Picovoice/cheetah/issues/193.


Training Transformer with Tensor2Tensor Using Own Data

Description
I am trying to train a Transformer network on my own data using Tensor2Tensor. I am adapting the Cloud Poetry example to fit my own task, kt_problem, where I am mapping sequences of floats to sequences of floats instead of sentences to sentences.
...
Environment information
OS: Ubuntu 18.04.2 LTS
$ pip freeze | grep tensor
mesh-tensorflow==0.0.5
-e git+https://github.com/tensorflow/tensor2tensor.git@abf268a1d353d75d257e14e1a73dcea112337559#egg=tensor2tensor
tensorboard==1.13.1
tensorflow==1.13.1
tensorflow-datasets==1.0.1
tensorflow-estimator==1.13.0
tensorflow-metadata==0.13.0
tensorflow-probability==0.6.0

$ python -V
Python 3.7.3

For bugs: reproduction and error logs
I have adapted the generate_data() and generate_samples() functions according to the scattered specifications for using one's own data with tensor2tensor (e.g. the data generation README, line 174 of the Problem class, etc.). They are as follows:
  def generate_samples(self, data_dir, tmp_dir, train):
    import numpy as np
    features = pd.read_csv("data/kt/features.csv", dtype=np.float64)
    targets = pd.read_csv("data/kt/targets.csv", dtype=np.float64)
    for i in range(len(features)-1):
        yield {
                "inputs": list(features.iloc[i]),
                "targets": list(targets.iloc[i])
        }

  def generate_data(self, data_dir, tmp_dir, task_id=-1):
        generator_utils.generate_dataset_and_shuffle(
        self.generate_samples(data_dir,tmp_dir,1),
        self.training_filepaths(data_dir,4,False),
        self.generate_samples(data_dir,tmp_dir,0),
        self.dev_filepaths(data_dir,3,False))

These are defined within my class KTProblem.
After making this change, I can successfully run
PROBLEM='kt_problem'    #my own problem, for which I've defined a class

%%bash
DATA_DIR=./t2t_data
TMP_DIR=$DATA_DIR/tmp

t2t-datagen \
  --t2t_usr_dir=./kt/trainer \
  --problem=$PROBLEM \
  --data_dir=$DATA_DIR \
  --tmp_dir=$TMP_DIR

and it generates a bunch of train and dev files. But when I try to train a transformer on it with this code,
%%bash
DATA_DIR=./t2t_data
OUTDIR=./trained_model

t2t-trainer \
  --data_dir=$DATA_DIR \
  --t2t_usr_dir=./kt/trainer \
  --problem=$PROBLEM \
  --model=transformer \
  --hparams_set=transformer_kt \
  --output_dir=$OUTDIR --job-dir=$OUTDIR --train_steps=10

it throws the following error:

As you can see in generate_samples(), the data generated is np.float64, and so I'm sure my inputs shouldn't be int32. The stack trace (posted right below) is super long, and I've been going through every line listed and checking the type of the inputs to see where this int32 input came into the picture, but I can't find it. I want to know (1) why, if my inputs are floats, why/how/where they're becoming floats, but mostly (2) generally, how does one debug code like this? My approach thus far has been putting print statements right before every line in the stack trace, but that seems such a naive way to debug. Would it be better to use VScode, or what is the lesson I need to learn here when a library tensor2tensor, in this case, is not behaving as I think it ought to, but I don't want to come to know intimately what every function in the stack trace is doing?
Stack Trace:
INFO:tensorflow:Importing user module trainer from path /home/crytting/kt/kt
WARNING:tensorflow:From /home/crytting/kt/tensor2tensor/tensor2tensor/utils/trainer_lib.py:240: RunConfig.__init__ (from tensorflow.contrib.learn.python.learn.estimators.run_config) is deprecated and will be removed in a future version.
Instructions for updating:
When switching to tf.estimator.Estimator, use tf.estimator.RunConfig instead.
INFO:tensorflow:Configuring DataParallelism to replicate the model.
INFO:tensorflow:schedule=continuous_train_and_eval
INFO:tensorflow:worker_gpu=1
INFO:tensorflow:sync=False
WARNING:tensorflow:Schedule=continuous_train_and_eval. Assuming that training is running on a single machine.
INFO:tensorflow:datashard_devices: ['gpu:0']
INFO:tensorflow:caching_devices: None
INFO:tensorflow:ps_devices: ['gpu:0']
INFO:tensorflow:Using config: {'_task_type': None, '_task_id': 0, '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x7f04151caba8>, '_master': '', '_num_ps_replicas': 0, '_num_worker_replicas': 0, '_environment': 'local', '_is_chief': True, '_evaluation_master': '', '_train_distribute': None, '_eval_distribute': None, '_device_fn': None, '_tf_config': gpu_options {
  per_process_gpu_memory_fraction: 1.0
}
, '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_secs': None, '_log_step_count_steps': 100, '_protocol': None, '_session_config': gpu_options {
  per_process_gpu_memory_fraction: 0.95
}
allow_soft_placement: true
graph_options {
  optimizer_options {
    global_jit_level: OFF
  }
}
isolate_session_state: true
, '_save_checkpoints_steps': 1000, '_keep_checkpoint_max': 20, '_keep_checkpoint_every_n_hours': 10000, '_model_dir': './trained_model', 'use_tpu': False, 't2t_device_info': {'num_async_replicas': 1}, 'data_parallelism': <tensor2tensor.utils.expert_utils.Parallelism object at 0x7f0464512dd8>}
WARNING:tensorflow:Estimator's model_fn (<function T2TModel.make_estimator_model_fn.<locals>.wrapping_model_fn at 0x7f0414891e18>) includes params argument, but params are not passed to Estimator.
WARNING:tensorflow:ValidationMonitor only works with --schedule=train_and_evaluate
INFO:tensorflow:Not using Distribute Coordinator.
INFO:tensorflow:Running training and evaluation locally (non-distributed).
INFO:tensorflow:Start train and evaluate loop. The evaluate will happen after every checkpoint. Checkpoint frequency is determined based on RunConfig arguments: save_checkpoints_steps 1000 or save_checkpoints_secs None.
WARNING:tensorflow:From /home/crytting/anaconda3/envs/kt/lib/python3.7/site-packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.
INFO:tensorflow:Reading data files from ./t2t_data/kt_problem-train*
INFO:tensorflow:partition: 0 num_data_files: 4
WARNING:tensorflow:From /home/crytting/kt/tensor2tensor/tensor2tensor/utils/data_reader.py:275: tf_record_iterator (from tensorflow.python.lib.io.tf_record) is deprecated and will be removed in a future version.
Instructions for updating:
Use eager execution and:
`tf.data.TFRecordDataset(path)`
WARNING:tensorflow:From /home/crytting/kt/tensor2tensor/tensor2tensor/utils/data_reader.py:37: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.cast instead.
WARNING:tensorflow:Shapes are not fully defined. Assuming batch_size means tokens.
WARNING:tensorflow:From /home/crytting/kt/tensor2tensor/tensor2tensor/utils/data_reader.py:233: to_float (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.cast instead.
INFO:tensorflow:Calling model_fn.
INFO:tensorflow:Setting T2TModel mode to 'train'
INFO:tensorflow:Using variable initializer: uniform_unit_scaling
INFO:tensorflow:Building model body
WARNING:tensorflow:From /home/crytting/kt/tensor2tensor/tensor2tensor/models/transformer.py:156: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.
Instructions for updating:
Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.
Traceback (most recent call last):
  File "/home/crytting/anaconda3/envs/kt/bin/t2t-trainer", line 33, in <module>
    tf.app.run()
  File "/home/crytting/anaconda3/envs/kt/lib/python3.7/site-packages/tensorflow/python/platform/app.py", line 125, in run
    _sys.exit(main(argv))
  File "/home/crytting/anaconda3/envs/kt/bin/t2t-trainer", line 28, in main
    t2t_trainer.main(argv)
  File "/home/crytting/kt/tensor2tensor/tensor2tensor/bin/t2t_trainer.py", line 400, in main
    execute_schedule(exp)
  File "/home/crytting/kt/tensor2tensor/tensor2tensor/bin/t2t_trainer.py", line 356, in execute_schedule
    getattr(exp, FLAGS.schedule)()
  File "/home/crytting/kt/tensor2tensor/tensor2tensor/utils/trainer_lib.py", line 400, in continuous_train_and_eval
    self._eval_spec)
  File "/home/crytting/anaconda3/envs/kt/lib/python3.7/site-packages/tensorflow_estimator/python/estimator/training.py", line 471, in train_and_evaluate
    return executor.run()
  File "/home/crytting/anaconda3/envs/kt/lib/python3.7/site-packages/tensorflow_estimator/python/estimator/training.py", line 611, in run
    return self.run_local()
  File "/home/crytting/anaconda3/envs/kt/lib/python3.7/site-packages/tensorflow_estimator/python/estimator/training.py", line 712, in run_local
    saving_listeners=saving_listeners)
  File "/home/crytting/anaconda3/envs/kt/lib/python3.7/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 358, in train
    loss = self._train_model(input_fn, hooks, saving_listeners)
  File "/home/crytting/anaconda3/envs/kt/lib/python3.7/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1124, in _train_model
    return self._train_model_default(input_fn, hooks, saving_listeners)
  File "/home/crytting/anaconda3/envs/kt/lib/python3.7/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1155, in _train_model_default
    features, labels, model_fn_lib.ModeKeys.TRAIN, self.config)
  File "/home/crytting/anaconda3/envs/kt/lib/python3.7/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1112, in _call_model_fn
    model_fn_results = self._model_fn(features=features, **kwargs)
  File "/home/crytting/kt/tensor2tensor/tensor2tensor/utils/t2t_model.py", line 1414, in wrapping_model_fn
    use_tpu=use_tpu)
  File "/home/crytting/kt/tensor2tensor/tensor2tensor/utils/t2t_model.py", line 1477, in estimator_model_fn
    logits, losses_dict = model(features)  # pylint: disable=not-callable
  File "/home/crytting/anaconda3/envs/kt/lib/python3.7/site-packages/tensorflow/python/layers/base.py", line 530, in __call__
    outputs = super(Layer, self).__call__(inputs, *args, **kwargs)
  File "/home/crytting/anaconda3/envs/kt/lib/python3.7/site-packages/tensorflow/python/keras/engine/base_layer.py", line 554, in __call__
    outputs = self.call(inputs, *args, **kwargs)
  File "/home/crytting/kt/tensor2tensor/tensor2tensor/utils/t2t_model.py", line 323, in call
    sharded_logits, losses = self.model_fn_sharded(sharded_features)
  File "/home/crytting/kt/tensor2tensor/tensor2tensor/utils/t2t_model.py", line 400, in model_fn_sharded
    sharded_logits, sharded_losses = dp(self.model_fn, datashard_to_features)
  File "/home/crytting/kt/tensor2tensor/tensor2tensor/utils/expert_utils.py", line 231, in __call__
    outputs.append(fns[i](*my_args[i], **my_kwargs[i]))
  File "/home/crytting/kt/tensor2tensor/tensor2tensor/utils/t2t_model.py", line 428, in model_fn
    body_out = self.body(transformed_features)
  File "/home/crytting/kt/tensor2tensor/tensor2tensor/models/transformer.py", line 280, in body
    **decode_kwargs
  File "/home/crytting/kt/tensor2tensor/tensor2tensor/models/transformer.py", line 217, in decode
    **kwargs)
  File "/home/crytting/kt/tensor2tensor/tensor2tensor/models/transformer.py", line 156, in transformer_decode
    1.0 - hparams.layer_prepostprocess_dropout)
  File "/home/crytting/anaconda3/envs/kt/lib/python3.7/site-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
    return func(*args, **kwargs)
  File "/home/crytting/anaconda3/envs/kt/lib/python3.7/site-packages/tensorflow/python/ops/nn_ops.py", line 2979, in dropout
    return dropout_v2(x, rate, noise_shape=noise_shape, seed=seed, name=name)
  File "/home/crytting/anaconda3/envs/kt/lib/python3.7/site-packages/tensorflow/python/ops/nn_ops.py", line 3021, in dropout_v2
    " be scaled. Got a %s tensor instead." % x.dtype)
ValueError: x has to be a floating point tensor since it's going to be scaled. Got a <dtype: 'int32'> tensor instead.

it looks like the it throws the following error: is empty, maybe that error was forgotten to be put into?

HI, did it work for you now? can you please let me know as I am also looking into the similar one

Same problem arises when I run transformer_test


Feature table results

DO NOT APPROVE THIS PR!!! rebasing complete, but no way to test while app is down. wait until meeting tmrw (4/16) to approve.


Pass over the full Chapter 11

This PR does a full pass over Chapter 11 and cleans up any outstanding issues. This includes:

[x] A huge number of typo and wording fixes
[x] A lengthier explanation of canvas state
[x] Renaming draw_to_screen to be part of draw all along
[x] Being consistent about when we call color_to_sk_color, which is now renamed parse_color to match parse_blend_mode
[x] Fix a few bugs in expected=False blocks
[x] Explicitly add rect fields to each drawing command?
[x] Pass over the "Go Further" blocks
[ ] Move the blending + compositing section into the blend modes section?

Let's review + merge this, and then think about merging two sections. There are enough changes here already!


[BUG] System.IO.IOException: The process cannot access the file 'C:\Users\guens\AppData\Local\Bloxstrap\Versions\version-b71c150c7c1f40de\WebView2Loader.dll' because it is being used by another process.

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[x] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[X] I did not answer truthfully to all the above checkboxes.

Bloxstrap Version
v2.8.2
What problem did you encounter?
I put on test mode, tried to see if it worked, and then when it finished loading, the bloxstrap settings popped up in my screen again! i tried a 2nd time, did the same time, after countless times, it still did the same thing. please fix this!
Bloxstrap Log
![Screenshot 2024-12-26 182301](https://github.com/user-attachments/assets/21bff640-33ed-4d43-bf27-1fef58998faf)

yes i did have a bloxstrap excetion imma show the image again

can you send your log file?

was roblox already running when this error appeared?

no it wasnt open.

i cant record since my laptop doesnt allow me to

ever since i turned on force roblox reinstallion it gave me a exception

imma come back in like a hour or 30 minutes

is there anyway to put this off

i know im commenting too much but i just found this yesterday

the issue is fixed now. thank you for helping!


"cut: no record found" warnings via "zed lake query" but not "zq"

Repro is with Zed commit 0440b15.
While #2749 verified fine, I noticed something else strange in passing that probably deserves a closer look.
Working with the test data https://github.com/brimdata/zed-sample-data/blob/main/zng/conn.zng.gz, I can cut ts values from all the records via zq without complaint.
$ zq -version
Version: v0.29.0-356-g0440b15a

$ zq -z 'cut ts' ~/work/zed-sample-data/zng/conn.zng.gz
{ts:2018-03-24T17:15:21.255387Z}
{ts:2018-03-24T17:15:21.411148Z}
...

$ zq -z 'cut ts' ~/work/zed-sample-data/zng/conn.zng.gz > /dev/null
[no output, so... no errors or warnings]

However, if i load the same data into a Pool and run the equivalent Zed query, now I get a bunch of warning messages.
$ rm -rf $ZED_LAKE_ROOT

$ zed lake init
using environment variable ZED_LAKE_ROOT
lake created: file:///Users/phil/logs

$ zed lake create -S 5MB -p logs -orderby ts:desc
pool created: logs

$ zed lake load -p logs ~/work/zed-sample-data/zng/conn.zng.gz
1srBN6Qff1zoxMsgffsrKrHNlDy committed 17 segments

$ zed lake query -z 'from logs | cut ts' > /dev/null
cut: no record found with columns ts
cut: no record found with columns ts
cut: no record found with columns ts
cut: no record found with columns ts
cut: no record found with columns ts
cut: no record found with columns ts
cut: no record found with columns ts
cut: no record found with columns ts
cut: no record found with columns ts
cut: no record found with columns ts
cut: no record found with columns ts

The warnings unfortunately don't give me much to go on in terms of knowing what these records might be that allegedly lack a ts field. If I extract the data out in its entirety, once again zq doesn't report any problem.
$ zed lake query -z 'from logs' > conn.zson

$ ls -l conn.zson
-rw-r--r--  1 phil  staff  375421623 May 21 11:15 conn.zson

$ zq -z 'cut ts' conn.zson > /dev/null
[no output, so... no errors or warnings]

I saw this too and believe it happens because the parallelizer creates multiple trunks of the query each with their own cut proc then for inputs that don't have enough scannable segments to give to each parallel paths, the ones that don't get any data complain.

I think we should close this issue and create a new issue to solve this at compile time as the first step toward a generics subsystem for compile-time type checking and field introspection (e.g., for field auto complete in the app).  This new issue can be an epic that we can break into related tasks that build on the basic concept of computing this alongside the seek index at segment write time:
count() by typeof(this)

Actually instead of closing this outright, we should disable the message for lake queries that have parallelism and put up a PR for this that closes this.

Verified in Zed commit 90ac977.
Repeating the repro steps, now instead of the superfluous warning messages, we get the same silence we saw with zq, which is appropriate given the particular query.
$ zed -version
Version: v0.29.0-361-g90ac9777

$ rm -rf $ZED_LAKE_ROOT

$ zed lake init
using environment variable ZED_LAKE_ROOT
lake created: file:///Users/phil/logs

$ zed lake create -S 5MB -p logs -orderby ts:desc
pool created: logs

$ zed lake load -p logs ~/work/zed-sample-data/zng/conn.zng.gz
1t06a3zUwtI8k8PIwi7anVHNkJK committed 17 segments

$ zed lake query -z 'from logs | cut ts' > /dev/null
$ echo $?
0

The longer-term fix that would bring this warning back for zed query when appropriate is tracked in #2769. The metadata described there would provide the information necessary to determine up front if the segments of data in the queried Pool entirely lack the fields named in the query and hence provide early feedback to the user before the query is even run, such as in this case informing them that the cut would never return anything.
Thanks @mccanne!