v1.16, add maintainer

This bumps to latest version, cleans up the recipe a bit, and adds me as a maintainer.
Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Closes #18
Closes #17
Closes #16
Closes #15

@conda-forge-admin please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe/meta.yaml:

No valid build backend found for Python recipe for package lazytransform using pip. Python recipes using pip need to explicitly specify a build backend in the host section. If your recipe has built with only pip in the host section in the past, you likely should add setuptools to the host section of your recipe.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

@conda-forge-admin please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to rerender for you, but it looks like there was nothing to do.
This message was generated by GitHub actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/11572103348.

@sugatoray This will help update another package on conda forge

@sugatoray

Thank you for the PR. Glad to have you onboard @mfansler.


Fix some links in 02-minimal-rust-kernel

Previously:
"mem feature" led to wrong feature
"memcpy etc. implementations" had redundant parenthesis that prevented proper rendering

Thanks!


fix bug with inferno

Hey, I'm trying to migrate from React to InfernoJS. Everything works great, except somehow in componentWillUnmount the DOM is already gone (mapDom === null) and this line throws an exception.

I think there was a typo there as well. addResizeListener should be removeResizeListener

Ill merge today evening or tomorrow morning, its fun to see that libraries work with inferno preact etc, wanna to play with too


issue #7: provide tutorial

First three chapters.
Tested locally.
Signed-off-by: Matteo Cafasso<EMAIL_ADDRESS>

Last chapter has been added. PR in review.

When i tried to generate the documentation with Sphinx, i got the following warnings :
Running Sphinx v1.5.1
making output directory...
loading pickled environment... not yet created
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 12 source files that are out of date
updating environment: 12 added, 0 changed, 0 removed
reading sources... [  8%] developer
reading sources... [ 16%] index
reading sources... [ 25%] installation
reading sources... [ 33%] setup
reading sources... [ 41%] tutorial_conclusions
reading sources... [ 50%] tutorial_hellomalware
reading sources... [ 58%] tutorial_hellosandbox
reading sources... [ 66%] tutorial_injection
reading sources... [ 75%] tutorial_installation
reading sources... [ 83%] tutorial_plugins
reading sources... [ 91%] tutorial_setup
reading sources... [100%] user

/tmp/see/doc/installation.rst:34: ERROR: Unexpected indentation.
/tmp/see/doc/installation.rst:35: WARNING: Block quote ends without a blank line; unexpected unindent.
/tmp/see/doc/installation.rst:41: ERROR: Unexpected indentation.
/tmp/see/doc/installation.rst:42: WARNING: Block quote ends without a blank line; unexpected unindent.
/tmp/see/doc/installation.rst:52: ERROR: Unexpected indentation.
/tmp/see/doc/installation.rst:54: WARNING: Block quote ends without a blank line; unexpected unindent.
/tmp/see/doc/installation.rst:57: ERROR: Unexpected indentation.
/tmp/see/doc/installation.rst:59: WARNING: Block quote ends without a blank line; unexpected unindent.
/tmp/see/doc/installation.rst:69: ERROR: Unexpected indentation.
/tmp/see/doc/installation.rst:70: WARNING: Block quote ends without a blank line; unexpected unindent.
looking for now-outdated files... none found
pickling environment... done
checking consistency... /tmp/see/doc/installation.rst:: WARNING: document isn't included in any toctree
done
preparing documents... done
writing output... [  8%] developer
writing output... [ 16%] index
writing output... [ 25%] installation
writing output... [ 33%] setup
writing output... [ 41%] tutorial_conclusions
writing output... [ 50%] tutorial_hellomalware
writing output... [ 58%] tutorial_hellosandbox
writing output... [ 66%] tutorial_injection
writing output... [ 75%] tutorial_installation
writing output... [ 83%] tutorial_plugins
writing output... [ 91%] tutorial_setup
writing output... [100%] user

generating indices... genindex
writing additional pages... search
copying images... [100%] sample.png

copying static files... WARNING: html_static_path entry '/tmp/see/doc/_static' does not exist
done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded, 12 warnings.

I don't know if they are relevant, yet you might want to fix them.

removed the unused installation.rst file

@Wenzel any further comment? Shall I merge?

My comments for the Installation section:

Why do you start by this sentence ?
Please refer to the installation documentation if problems are encountered.

It should be at the end of this section, when the user has indeed tried to install see.
Also the link points to the libvirt installation page. I expect it to point to a more complete and accurate documentation about see's installation.

These Debian packages are not strictly necessary. They are required in the Tutorial’s last chapters.
not strictly necessary -> optional ?
It's easier to understand what something is, rather than what it is not.

About vminspect, you can drop a quick description and a link to the github page

# pip3 install python-see
The only way to use see is to install a python package system wide, from pip ?
Is there another solution ?
Maybe you should provide a Dockerfile if there is no other way, because i don't want to mess with my system python packages to try a software.

The following command allows to add a user to a group. # adduser <username> <group>
I tend to prefer using usermod -a -G group1,group2 user to modify a user's group list, than adduser,
since you just want to modify and not create a new account.

To verify that KVM is available it is enough to run
Here you are loading the kvm modules.
either kvm is installed and the modules are loaded, or it is not installed, but i never had to load them manually.
If you want to test if kvm is available, it's easier to just run:
lsmod | grep kvm_intel\|kvm_amd

1,2,3 will fix.
4: The python package is the correct way to install SEE. It's up to the user to choose how and where to install the package. The tutorial is about the framework not how to set up a generic development environment. Docker in particular, does not play well with SEE.
5: the commands are equivalent, I'd rather stick to the one already used in the documentation.
6: the fact that you never had to load KVM in an OS doesn't mean it's loaded by default on all the distributions. The command will exit with 0 if the loading was successful or it was already loaded, it will prompt an error if KVM is not supported by the HW.

Also in the Plugins and Protocols section:

Refer to the Documetation to see how -> Documentation

That's all, you can merge it 👍

@Wenzel it seems the "previous"/"next" links are not supported by the theme.
https://github.com/bitprophet/alabaster/issues/18
I'll see if I can somehow workaround this.

Seems only supported way atm is via side bar: http://alabaster.readthedocs.io/en/latest/customization.html#variables-and-feature-toggles


Pull all applications from start menu folder

I would like to see a option for disabling the categoried menu in favor of displaying all shortcuts and folders from the start menu folder.

This should be labeled as [Feature Request]
As a work around: you could build the nesting yourself using the “Categories” or default the menu to show ALL


Git short revisions ignored

Currently short revisions are ignored for git.
For now dfetch tries to fetch as efficiently as possible and it fetches only a specific sha/branch/tag. And in case of 'src' entry only the directory or file mentioned.
With git as of now it seems that it is only possible to fetch a sha if it is the complete 40-char version. Short revisions are not accepted.
One option would be to do an entire clone, checkout the short sha and warn the user that he should update his manifest with the long version.
Another option would be to find some magic git command that can transform a short sha to a long one on the remote repo. So something like
git rev-parse <short-sha>

Maybe https://stackoverflow.com/a/26694941/1149326?

Maybe https://stackoverflow.com/a/26694941/1149326?

git rev-list only works on local repo as far as I can see.
An option could be to do a partial clone somewhere, find out the long sha, warn the user he should use the long sha because this is slow.

After consideration converting this into a feature and a design choice.
Changing this introduces several challenges and not much added value.


Last Message Before Death Webhook.

About the PR

This PR introduces an optional webhook feature that sends the last in-character (IC) messages of dead players before their death at the end of the round.
Why / Balance

This feature is added mainly for fun, I have taken inspiration from a simillar webhook on a SS13 server.
It doesn’t have a specific reason, but could add an amusing element to the game by capturing players’ final words.
Technical details

This is my first PR involving C#. So, if I did anything wrong, I will be glad to learn and improve.
The implementation works as follows:

When TrySendInGameICMessage is called in ChatSystem.cs, it checks if the player sent the message.
The message is then added or updated in the dictionary located in LastMessageBeforeDeath.cs.
At the end of the round, onRoundEnd is called from GameTicker.RoundFlow to send the message using a webhook.

This feature is only active if the webhook link is specified in server_config.toml.
Media

[ x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

I know it says After Death on the image... I am dumb.
Changelog

:cl: func_kenobi

add: Added an optional Webhook that will send messages said by players before their death at the end of the round.

very fun

I have encountered a problem, IGameTiming.CurTime seems to be the time of how long the server has been up, and not the round time.
Where can I get the round time from instead?

I have encountered a problem, IGameTiming.CurTime seems to be the time of how long the server has been up, and not the round time. Where can I get the round time from instead?

GameTicker has it

I have only one concern as of now.
What if a player says something inapropriate, and gets kicked / banned from the game? Player's message will still stay in the pool.
I not sure if I should be worried about this or not.
But if I need to implement this, I would probably go about it like this:
Remove the EntityUid of the player from the dict when he gets kicked/banned.
But I didn't really look at any admin code, so... not sure how I would go about implementing that without touching some sacred code.

When someone is banned or kicked you could just call a method that finds and removes their message from the message list

Oh, so I suppose there is an event listener for that, that also returns the player's uid when someone is kicked/banned?
I will look into it.

I'm not sure if there's an existing event for those or not, but it should be fairly easy to make an event if it's needed
So... uhh... I've asked around and looked around, and I don't think there is are event listeners for that.
Should I open a separate PR for this or... just jam it in here?

I'm not sure if there's an existing event for those or not, but it should be fairly easy to make an event if it's needed

So... uhh... I've asked around and looked around, and I don't think there is are event listeners for that.
Should I open a separate PR for this or... just jam it in here?

You can just add them with this if they'll be used by this PR

I've added an event listener for bans, so when a person gets banned, the message gets removed from the list.
I have one problem though, I can't find the code for the kick command! I've search far and wide, and the only semi-relevent thing I could find is GhostKick, hell, I even went through each file containing the word "kick" and all I found was some admin interface code. I am confuso.
But, honestly, thinking about it, when someone says something that bad, they'd probably get banned anyways.

I'm gonna be real LastMessageBeforeDeath looks like my cooking rn.
It's somewhat of a symptom of no easy way to do webhooks / discord notifs.
In this case I would just make a generic webhook manager (you don't need to port any existing code to use it) and then make the lastmessagebeforedeath a system which still needs a lot of pruning while still retaining similar functionality.

I am not sure I quite understand what you mean by "generic webhook manager"?

@metalgearsloth
I've refactored the LastMessageBeforeDeath as requested.
Hopefully, I did everything right. It feels and looks right at least.
I've described changes in 749d0cb.

Deleting a (moth sound?) failed a PR check. Peak SS14 coding moment.
I don't think it's related to any of my changes.

I have refactored the code as per requests (although not entirely sure).
This turned out to be harder than expected, but I think I managed to get it to work.
Also I think the bot forgot to change the status of the PR after the changes were requested. (it is relevant now I guess.)
Requesting re-review.

I think I did everything specified in the review, but I am not sure about some things, specifically not storing ICommonSession, I need to store it to check whenever the player was banned or kicked during their gameplay, which would disqualify them from getting into the webhook, but, that also could mean that if a player looses connection and reconnects, they would be disqualified too, I need a way to check directly by NetUserId, because it is persistent, I was thinking of checking if there is a mind linked to this NetUserId, but I am not sure what happens to a player's mind when they disconnect.
I need some advice on this.


[11.x] Add optional parameter for confirmed validator rule

This adds an optional parameter for the confirmed validator rule, allowing for more customization.
For example, you could do "password" => "confirmed:passwordConfirmation" if your front-end coding style required camelCase.
Providing no parameter results in the current behavior of checking the default naming convention, ie. "password" => "confirmed" checks password_confirmation.
The same behavior can be achieved with "passwordConfirmation" => "same:password" but I believe this better describes the intent of the validation by associating the confirmation with the original field, along with any other password rules that may be required.

Couldn't the casing instead be a general configuration value so it could potentially used by other rules as well?

This would be nice to have in the docs.


Gitlens unusable when author name is extremely long

Today I came across a corner case that's rendering Visual Studio Code unusable when using GitLens.
In our code we have a commit with an author which is called Victor Menéndez. For whatever reason the é character got messed up when commiting and executing a git blame or git show with the commit shows it as Victor MenÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃ.........ndez with the 'Â' character repeated thousands of times. Now this commit has files with hundreds of lines so when opening one of this files Visual Studio Code freezes and the only way to develop on this project is disabling Git Code lens.
I know it's a corner case and I know it's a weird issue on our side but it would be good if instead of freezing on extreme long author names, GitLens would stop parsing it after, let's say 100 characters. Nobody has such a long name anyway.

@getaceres is this in an open source repo I can try myself?

@getaceres I would suggest you use a .mailmap file to fix this up.
Here is a good overview of Git mailmap (while this is from Atlassian it isn't Atlassian/Bitbucket specific): https://blog.developer.atlassian.com/aliasing-authors-in-git/
Here is some Git docs on mailmap: https://www.git-scm.com/docs/git-check-mailmap
Hope that helps.


Fix Lossless+Progressive JXL and add debug options.

Setting CODEC_DEBUG in the JXL Makefile will produce a debug build (with
error messages enabled).

@RReverser can you take a look at the makefile stuff here?

This should be merged into dev, but I'm happy to take care of that.

Rebased in #848


fix log

Fix log info according to spark log change
this fixes #3084
Signed-off-by: Chong Gao<EMAIL_ADDRESS>

build

build


Added tests

Done:

component tests for default control panels
test for fetch datasource metadata endpoint
update tests for action creators

Todo:

tests for ajax call in action creators

help-needed @ascott

Build is failing, conflicts, imprecise commit message. I'm closing, you can re-open if needed when ready.


removing widget doesnt move left

hello
when i call "gridster.remove_widget" and there is only 1 row .. the widgets do not "move_left"
i.e.. if i have 4 widgets in 1 row...
widget1 | widget2 | widget3 | widget4
and i remove widget2 ...
then i end up with ...
widget1 |  | widget3 | widget4
and i was hoping to get ...
widget1 | widget3 | widget4
is this working as designed, or am i doing something wrong ?
please note that if i have more than 1 row, and i remove a widget from the first row... the widgets do "move up"...
i.e.. if i have 2 rows and 2 cols
widget1 | widget2
widget3 | widget4
and i remove widget 1.. widget 3 "moves up" and i end up with ..
widget3         | widget2
 | widget4
which is what i expect..
thanks in advance

I solved this issue
http://stackoverflow.com/questions/36358231/how-to-position-the-jquery-gridster-after-remove-a-widget/36394886#36394886


IndexedDB views backend

Motivation
#1610

Proposal
Add an IndexedDB storage backend to linera-views.
This branch uses a patched fork of indexed_db_futures because of https://github.com/Alorel/rust-indexed-db/pull/34, which will otherwise break our non-Web Wasm build.

Test Plan
A set of tests is added to CI.

Release Plan
No user-visible changes (yet).

Links

reviewer checklist
Fixes #1610.

Is there a reason for web to be a priori different from indexed_db?

web (used across the workspace) only indicates that we're compiling for the Web target, i.e. browser APIs are available.  We may wish to have different storage APIs on the Web, in the same way we support several different storage solutions on Linux.
Ideally I think that wasm32-web or similar should be a compiler target, rather than a feature, but currently it doesn't exist.  The Rust team are holding off on adding a plethora of Wasm targets until the dust settles a bit.


Integrate ngx-monaco-editor-v2 with monaco-yaml

Hi,
I am trying to integrate ngx-monaco-editor-v2 with monaco-yaml in Angular 18 without luck.
I've written a SO question because I am not able to make monaco-yaml work with ngx-monaco-editor-v2.
See here:
https://stackoverflow.com/questions/78884711/monaco-yaml-integration-with-ngx-monaco-editor-v2
Could you please give me guidance on what should I change?
Thanks

Hi, did you manage to get this working?


Core component tests

Check off as components are added to python tests. For initial tests, they may be indirectly called in tests which validate plans/analyses

[ ] 1. Materialize
[ ] 2. Index
[ ] 3. Stack
[x] 4. Literal

[ ] 5. Cast
[x] 6. Bin

[x] 7. Impute
[x] 8. Clamp
[x] 9. Row-wise Min/Max
[x] 10. Resize

[x] 11. DPMean
[x] 12. DPCount
[ ] 13. DPHistogram
[x] 14. DPCovariance

[x] 15. Add
[ ] 16. Multiply
[ ] 17. Matmul
[x] 18. Mod

[ ] 19. Equal
[ ] 20. LessThan
[ ] 21. LogicalOr
[ ] 21. Negate

[ ] 23. LaplaceMech.
[ ] 24. GaussianMech.
[ ] 25. GeometricMech.

Component list and associated tests have expanded beyond this issue


Refactor Terms Page

We need to refactor the Term page. Mostly the code but also give a slightly nicer design.
https://elliotforwater.com/terms
Tasks:

Make the /terms.tsx page follow the code standard of the rest of the application, using Css Module, remove  and add proper padding, add .divider under relevant H2.
Fix translations: Brings all text to the translation file in locales/ and give to the translation strings proper name.
Fix typo where there are any.
remove class old_container with a new one, defined in Css Module file.

Assign this to me, I'll try my best to make it readable and beautiful.

I'm gonna close this issue since it was done in PR #145


isNighttime calculation incorrect

official sunset today (2/12/17) was 5:45 pm in San Francisco.  The isNighttime method returned true at 5:31 pm.
I believe this is because it's using Date() without a time zone to calculate when sunset is.  However, in Pacific timezone, it is already reporting GMT sunset for  2/14

Thanks Andrew I believe you're right! I've noticed you've addressed this in your latest PR. I'll get this merged in ASAP as a 1.0.1 release, or perhaps as part of the 2.0.0 release that should be pushed today.
Thank you for your contributions! 👍

Wait -- I don't think my PR will fix this problem. Actually my PR is broken
too because it depends on the isNighttime function.
On Mon, Feb 13, 2017 at 4:00 AM Chris Howell<EMAIL_ADDRESS>wrote:

Thanks Andrew I believe you're right! I've noticed you've addressed this
in your latest PR. I'll get this merged in ASAP as a 1.0.1 release, or
perhaps as part of the 2.0.0 release that should be pushed today.
Thank you for your contributions! 👍
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ceeK/Solar/issues/19#issuecomment-279368195, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABjzmBHACDbHnqFSgYEWWOfONPscaxnCks5rcEXvgaJpZM4L-uH-
.

--
Please excuse my brevity. Sent from my iPhone

No problem! This is why for 2.0.0 I've a suite of tests ;)
For what it's worth, switching Date() to self.date seems to work on my end.

I've put a fix in for this in 2.0.0.


typescript sometimes uses this at module scope in es6 output

TypeScript Version:  3.1.3

Search Terms: invalid es6 output this
Code
// a.ts
export const foo = async () => {
  await Promise.resolve();
};

compile with
case 1: tsc --module es6 --target es6 a.ts
case 2: tsc --module es6 --target es5 --importHelpers
(a hybrid - es6 module with es6 target and importHelpers - works fine)
Expected behavior:
this will not be used at module scope in the generated code, since it's not valid es6
Actual behavior:
case 1:
// a.js
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
export const foo = () => __awaiter(this, void 0, void 0, function* () {
    yield Promise.resolve();
});

case 2:
// a.js
var _this = this;
import * as tslib_1 from "tslib";
export var foo = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
    return tslib_1.__generator(this, function (_a) {
        switch (_a.label) {
            case 0: return [4 /*yield*/, Promise.resolve()];
            case 1:
                _a.sent();
                return [2 /*return*/];
        }
    });
}); };

IMO case 2 is useful for using typescript's es6->5 transpilation with other tools that want es6 module format but don't care about whether the body of the module uses a subset of es6 or not; I expected that the output code would be es6 that was also valid es5 (other than imports & exports) but that turns out not to be the case at the moment.
In both cases we see this is used at module scope.  The first case is just objectively broken as this is not valid at the scope it's used in an es6 module which it supposedly is outputting.  It's also worth noting that this isn't used in the source code, so ideally typescript would be smart enough to know that __awaiter and __generator don't need it.
Playground Link: can't control the output settings in the playground to give a super useful repro, but the amd output is still interesting: http://www.typescriptlang.org/play/#src=export const foo %3D async () %3D> {
  await Promise.resolve()%3B
}%3B
Related Issues: couldn't find any

Are you concerned purely with the this reference in the call to __awaiter, or also the this reference in the helper definition? All of our helpers today use (this && this.__helper) || in their definition.

--module es6 --target es5 may seem strange, but consider that WebPack only transforms import/export statements by default.

my concern is purely var _this = this; at module scope.  I don't know what it should be; I do know it's a huge pain for integrating with rollup, which enforces it's input is valid ES6 and rejects this code as this at module scope as an invalid module.
I think rollup might be using acorn under the hood but I might be misremembering.
_this in the __awaiter call is only a problem because it's part of the reason that _this exists in the first place.  I don't know what it should be to make this a valid ES6 module.

This exact issue is still occurring with TypeScript version 4.1.3.
Consider this TypeScript playground example, with the target configuration set to ES2015. (If the target is ES2016 it's the same.)
Input:
export const foo = async () => {
  await Promise.resolve();
};

Output:
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
export const foo = () => __awaiter(void 0, void 0, void 0, function* () {
    yield Promise.resolve();
});


The record of failure to models page by clicking run model should have a delete button.

Thanks for your suggestion. I will be added with the next update.

the issue has been resolved, you can try again


ESM Version does not work

import readPkg from 'read-pkg';
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at internalCompileFunction (node:internal/vm:77:18)
    at wrapSafe (node:internal/modules/cjs/loader:1288:20)
    at Module._compile (node:internal/modules/cjs/loader:1340:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at cjsLoader (node:internal/modules/esm/translators:356:17)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:305:7)
    at ModuleJob.run (node:internal/modules/esm/module_job:218:25)
    at async ModuleLoader.import (node:internal/modules/esm/loader:329:24)
/Users/dennymueller/IdeaProjects/deltastone/ds-nx-plugins/node_modules/semantic-release-monorepo/src/index.js:1

The latest version 8.0.0 does not properly work. See the error above.
Compared to the fork semantic-release-monorepo-esm, all js Files are served as regular .js and not as .mjs. So Node does not know that it should compile it as modules.

Guessing it's because of missing type: module https://github.com/pmowrer/semantic-release-monorepo/pull/148

Yeah this would be the alternative approach.
You can either specify the whole package as module using the package.json
or explicitly export .mjs Files.
When i tried to manually switch to type: module in the local package.json. Semantic reported "MODULE_NOT_FOUND". But i see that the PR also changes the index.js so this might be the solution.

Looks like its fixed in https://github.com/pmowrer/semantic-release-monorepo/pull/148

Yes fixed


Merge master into dev 1.21 - 3/17/21

Merge master into dev-1.21 to keep in sync - SIG-Release 1.21 Docs team 3/17/21
/cc @mvortizr @tengqm @PI-Victor @ChandaniM123

/assign @savitharaghunathan

Commits 6c29835 and 45b4e5a with build errors and fixed in same PR 23492
Commit d62fa45 with build error and fixed in [PR 26782] (https://github.com/kubernetes/website/pull/26782) with commit
94eca67

/lgtm

/approve


chore(main): release 2.0.26

Auto generated release
2.0.26 (2024-10-22)
Build System

deps-dev: bump @eslint/js from 9.11.1 to 9.13.0 (#259) (855f6ca)
deps-dev: bump commitizen from 4.3.0 to 4.3.1 (#253) (e8f35bb)
deps-dev: bump eslint from 9.11.1 to 9.13.0 (#262) (7857db9)
deps-dev: bump typescript-eslint from 8.7.0 to 8.11.0 (#268) (e9868a1)
deps: bump @solidjs/start from 1.0.6 to 1.0.9 (#261) (5c16d33)
deps: bump path-to-regexp from 6.2.2 to 6.3.0 (#264) (555c40a)
deps: bump rollup from 4.21.2 to 4.24.0 (#266) (8086c7f)
deps: bump serve-static from 1.15.0 to 1.16.2 (#265) (dbf98d3)
deps: bump vite from 5.4.3 to 5.4.9 (#267) (c8f2d33)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v2.0.26
:sunflower:


clean up tasks.json

A couple of things I noticed about the draft tasks.json file we put together:

Currently, quantile levels are listed here, under #/$defs/task_ids/quantile/quantile. This is not technically wrong in the sense that the reference can be resolved without issue. But it may be confusing to readers because quantiles are not a task id, but are rather a part of the output representation specification.
We should add a boolean "round_id_from_variable": false flag

Very good point but I am not sure I understand the solution. I agree that task_id "section" is not the best place. Should I move it to the "output_types" section of the "defs" or do you suggest to completely avoid having it in the "defs" part of the JSON?
Thanks for noticing it, I will add it in the next commit

How about if we move it to the "output_types" section of the "defs"? I like the idea of illustrating that references can still be used to specify quantile levels.

I agree and like the idea too

Re: the $defs section. My understanding is that you don't even need to reflect the nested structure in the actual JSON. You could even have the array of valid quantiles under #defs/quantile/ if you wanted, unless of course what you are referencing (and want to replace by the reference) is nested itself. In that case you still reference the top level node of the structure you are referencing though. Having said that, more structure could add more traceability to where the definition is actually used but is not necessary.  Agree that putting under task_ids/ though could prove confusing.
Regarding the round_id_from_variable property, good catch it is indeed missing! I feel it is a useful property that can guide certain type of checks so am in favour of including as required boolean as @elray1 you've suggested. I also agree that the simplest in the case where round_id_from_variable = true is for the variable to be the round_id value and completely do away with the round_id_variable property.

One question I had is, if a given round has round_id_from_variable = true but multiple sets of model_task specification, the round_id variable is shared by all sets and should therefore be present in all sets, correct?

As a given round should only have 1 id, the id is shared for all specification associated with this round. I think having the round_id_from_variable at the top level of the round specification will be enough, no?

I think Anna's second comment here was more related to a forecast hub example where the round id corresponds to the value of a task id variable. I agree that in that kind of settings, the variable that is used as a round_id should appear in all of the task groups. I added a comment about this to this issue on the schemas repo.

Yes definitely. It's just that for a given model task, there can be multiple sets of valid task_id combinations.
E.g. in this example, there are two elements in model_tasks (groups of task_ids & output_types) that differ in the target variable & cdf specification: https://github.com/annakrystalli/hub-infrastructure-experiments/blob/bcb116d5f438f7ff217db74659c9d6bd5b4d274b/json-schema/modified-hubmeta-examples/complex-hubmeta-mod.json#L4-L110
I just wanted to double check that there is absolutely no situation when one of these groups does not contain the round_id variable as a task_id variable.

In this case, the round_id is specified directly as "round_id": "round-1", so we will set "round_id_from_variable": false, there is no round_id variable, and there is no requirement for a round_id variable to appear in any of these groups, right?

In the case of one of the complex example (like the one @annakrystalli  shared), I agree with @elray1 , we will have a round_id set to a specific value and "round_id_from_variable": false.
On the forecast hub example with "round_id_from_variable": true, I agree that in that settings we will need to have the associated round_id variable appearing in all of the tasks groups.

OK great! Regarding the "round_id_from_variable": true situation, there's no way to encode this requirement in the schema so it can be validated as part of initial json validation sadly but we can include the requirement in the docs as well as validate it in R after the general schema is validated.

OK, so to wrap up the original question -- I think that what we want to do is add "round_id_from_variable": false in each round's definition, at the same level as the round_id specification.

Yup! It's what's currently implemented.

ok, sounds good. Thank you!


merge from template-arlac77-github

.github/workflows/auto_approve.yml

chore: add pull_request_target (on)
chore: add Auto approved automated PR (jobs.auto-approve.steps.with.review-message)

:tada: This PR is included in version 1.11.0 :tada:
The release is available on:

npm package (@latest dist-tag)
v1.11.0
GitHub release

Your semantic-release bot :package::rocket:


Linking against RDKit requires -o out.sdf, but linking against OpenBabel does not

Hi all, thanks for this great package.
I have two builds on different computers - on a Mac linked against RDKit, and on Ubuntu linked against OpenBabel.
Using the OpenBabel build, this command runs fine:
shape-it -r reference.sdf -d testligs0.sdf -s scores.dat

Using the RDKit build, this same command fails with:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  Shape-it v2.0.0 | Jul  6 2021 06:18:11

  -> GCC:       Clang 11.1.0
  -> RDKit: 2021.03.3

  Copyright 2012 by Silicos-it, a division of Imacosi BVBA

  Shape-it is free software: you can redistribute it and/or modify
  it under the terms of the GNU Lesser General Public License as published
  by the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  Shape-it is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU Lesser General Public License for more details.

  Shape-it is linked against the RDKit (https://www.rdkit.org).
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

COMMAND_LINE OPTIONS:

  -> Reference file:    reference.sdf
  -> Database file:     testligs0.sdf
  -> Output file:       no
  -> Scores file:       scores.dat
  -> Best hits:         no
  -> Scoring only:      no
  -> Extra iterations:  no
  -> Rank by:           Shape-it::Tanimoto
  -> Cutoff:            no
  -> Output reference   yes

libc++abi.dylib: terminating with uncaught exception of type Invar::Invariant: null stream
zsh: abort      shape-it -r reference.sdf -d testligs0.sdf -s scores.dat

This can be fixed by simply including an output, i.e.
shape-it -r reference.sdf -d testligs0.sdf -o out.sdf -s scores.dat

so it's not a real problem to usage, just thought I would note it. Screening large libraries means one might not want to write out all the sdfs.
Thanks!

Confirmed. Thaks @ljmartin !


Why you stop this project

@eiriklv
I think the project is good, why not continue updating it.

Hi @geminiyellow and thanks :-) The reason why I've deprecated this is that I've moved on to other projects and simply haven't had time to maintain it for a long time. On the way I've built other starter kits/boilerplates that I've used instead. They unfortunately aren't as "complete" as this one from the bottom (i.e - they lack auth and such for instance..). One of the bigger projects we've been working on in Scandinavia Online (an application assembly platform) is going open source soon - and might fit your need though.
Anyway - If you have ideas and want to update this one I'd be happy to add you as a contributor / give you push rights in the mean time :-)

@eiriklv oh, thank you, so, waiting for you new repo.


Collom

Your pull request needs further work because of the following reason(s):

Your filename must be pon8.html
Your file does not have the .html extension.

Once you have resolved the issues, comment on this request to be re-judged
This is an automated response, beep boop.
if you think there is a mistake, contact a maintainer

38017a2264357005b8add9431a37ad58c9fa9426

This PR has been idle for more than 24 hours, and will now be closed. Feel free to re-open.
This is an automated response, beep boop.
if you think there is a mistake, contact a maintainer

38017a2264357005b8add9431a37ad58c9fa9426


worker process 27753 exited on signal 11

I am not sure if anyone got this module working.
I just tried it with nginx-1.9.13 and I got a crash of the worked process.
When I disable the configulation lines for this module from nginx.conf, then nginx works fine.

ok, I'll look into it

can you paste your stack?


Gas is deducted in the wrong place in the CREATE/CREATE2 opcodes

I believe this is a problem for the EVM trace implementation.

Is this still an issue @petertdavies?

Closing since everything involved has been rewritten since this was opened.


Doesn't work with SQLite because "storage" parameter to Sequelize

To work with a SQLite database, Sequelize needs a "storage" parameter but this handler doesn't have that ability so it always defaults to ":memory:".
I suggest the sequelizeArgs (sqlHandler.js line 47) variable needs to be updated to be able to pass the "storage" parameter.
I'd submit a Pull Request but my knowledge of Git is sadly lacking!

I had a quick look at supporting SQLite a while back and there are other issue that will need to be solved in addition to the above. I'm hoping to update the handler for the latest version of jsonapi-server soon and then I'll look into adding support for SQLite again. Meanwhile, any contributions and PRs are welcome.


Most properties in the StateChangeOptions ts interface should be optional

downshift version: 1.30.1
node version: 8.5.0
npm (or yarn) version:  Yarn 1.1.0

Problem description:
The only required property on the StateChangeOptions interface that should be required is type. All other properties should be optional.
This is a problem when using stateReducer, and you want to restructure your own version of the state you're returning. The compiler complains that it can't be assigned to StateChangeOptions.
Code:
// given this function the ts compiler will throw an error saying the signature doesn't match
const stateReducer = (stateAndProps, changes) => {
    const { type } = changes;
    if( type === clickItem ) {
        // If the item to be selected has `allowSelection = true` return `changes`
        // ... otherwise return a new obj with just the type
        return changes.selectedItem.allowSelection? changes : {type};
    }
}

Simply making the properties optional would be easy, but would be a breaking change.  The same block of code would fail "selectedItem" might not be defined. (This is easily fixed by adding ! after .selectedItem, but it is still a breaking change. )
Suggested solution:
We create a permanent (breaking) fix for the next major version: Make those properties optional.
We also create a temporary change on top of it, that that can be entered in to a minor release:
// New `RequiredStateChangeOptions` is the equivilant of the old `StateChangeOptions`
type RequiredStateChangeOptions = Required<StateChangeOptions>;

// Replace all instances of `StateChangeOptions` with the required version besides for
// the signature for `stateReducer` which will now look like this:

(state: DownshiftState, changes: RequiredStateChangeOptions ) => StateChangeOptions

I have my changes ready here and here.
Now I need to test it 😲

Hi @dovidweisz checkout https://github.com/paypal/downshift/blob/next/typings/index.d.ts

@stereobooster Thank you for pointing that out to me.
What is the reasoning for using |null? It wouldn't solve my issue, because i would still need to reconstructure the entire object; just with nulls.
Also, generic for item bothered me at first. (What if i have more than one item type) But it's growing on me.

This does make sense
interface StateChangeOptions<Item> extends Partial<DownshiftState<Item>> {
  type: StateChangeTypes;
}

but this is not precise equivalent on JS code, which is ok from my POV
stateToSet.type = stateToSet.type || Downshift.stateChangeTypes.unknown

You can open PR (against next) and we can start discuss changes.
Did I miss any of your questions? It seems you found all answers on your own.

@stereobooster Are there tests for Typescript?

@stereobooster You're right. stateToSet.type Should also be optional.

Are there tests for Typescript?

Current tests are primitive. I'm not sure how to improve this at the moment. One of the ideas was to rewrite library in TypeScript or Flow. See this discussion: https://github.com/paypal/downshift/issues/400


After signup, user gets traceback

After signing up, the user is still on /users/signup, and gets a strange traceback (even though the user is actually created):
Environment:
Request Method: POST
Request URL: http://commons.ep.io/users/signup/
Django Version: 1.3
Python Version: 2.6.6
Installed Applications:
['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'commons_core',
'south',
'django_pipes',
'userena',
'guardian',
'easy_thumbnails']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Traceback:
File "/mnt/bundles/app-17093-0f8io8/pyenv/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response
111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/mnt/bundles/app-17093-0f8io8/pyenv/src/django-userena/userena/decorators.py" in _wrapped_view
28.         return view_func(request, *args, **kwargs)
File "/mnt/bundles/app-17093-0f8io8/pyenv/src/django-userena/userena/views.py" in signup
69.             user = form.save()
File "/mnt/bundles/app-17093-0f8io8/pyenv/src/django-userena/userena/forms.py" in save
82.         new_user = UserenaSignup.objects.create_inactive_user(username, email, password)
File "/mnt/bundles/app-17093-0f8io8/pyenv/src/django-userena/userena/managers.py" in create_inactive_user
67.             assign(perm[0], new_user, new_profile)
File "/mnt/bundles/app-17093-0f8io8/pyenv/lib/python2.6/site-packages/guardian/shortcuts.py" in assign
81.         return UserObjectPermission.objects.assign(perm, user, obj)
File "/mnt/bundles/app-17093-0f8io8/pyenv/lib/python2.6/site-packages/guardian/managers.py" in assign
19.             content_type=ctype, codename=perm)
File "/mnt/bundles/app-17093-0f8io8/pyenv/lib/python2.6/site-packages/django/db/models/manager.py" in get
132.         return self.get_query_set().get(*args, **kwargs)
File "/mnt/bundles/app-17093-0f8io8/pyenv/lib/python2.6/site-packages/django/db/models/query.py" in get
349.                     % self.model._meta.object_name)
Exception Type: DoesNotExist at /users/signup/
Exception Value: Permission matching query does not exist.

if you need auto profile creation when a user is created, then try a simple app that I just released.
(https://github.com/un33k/django-bootup)
It will create and delete user profiles whenever a user is created or deleted.
BTW, I also get this error (UserenaSignup matching query does not exist.
) even though I have a matching profile.
I guess I am heading back to user my own registration app.

@un33k UserenaSignup matching query does not exist doesn't refer to a profile. It refers to a required model which manages the user account. It's generated when you add a user in the admin or signup through userena. When you manually create a user, you must create a UserenaSignup for them. You can view the model here.

I guess I am heading back to use my own registration app.

O.K. Good luck.

I can login, change profile and do everything else, only changing email address is causing this exception to occur. Now, why can't a signal on a post_save() + user take care of this in Userena? Or am I missing something here?

I can login, change profile and do everything else, only changing email address is causing this exception to occur.

The model is needed when changing e-mail address, not when performing the other actions. Nothing special here.

Now, why can't a signal on a post_save() on a user create take care of this in Userena? Or am I missing something here?

Userena expects you to use the create_user logic inside UserenaManager to create a new user. This will setup the new user with all the required fields.


Note case sentivity in help

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests

:+1:

Anything else needed before this can be committed? Thanks

It would make sense to replace "authentication backend" to "security realm" just to reference common Jenkins terms. You could also add a hyperlink to https://wiki.jenkins-ci.org/display/JENKINS/Securing+Jenkins in order to clarify it

I don't think this is correct. Is there a security realm this does not apply to?

@oleg-nenashev Updated text per your comments
@daniel-beck I'm not sure if it does or doesn't apply to all, but the mention of "case sensitivity" likely will help some others out

Is this still applicable given #9?

I would like to deploy an updated plugin and check ...


Hunting through travis.yml isnt ideal

Sorry, had remotes configured wrong and $ hub pull-request sent this to your fork instead of https://github.com/luckymarmot/API-Flow


[German, non-English] Numbers/roman numerals in strings

The code we have for handling these is currently English-only, but shouldn't be.

I'd kindly like to push this since it's really a big deal for the german version. You know yourself how many movie- and even album titles there are including a number. If I can help, just let me know.

Problem is, it's just not as simple as it sounds.
Normally, we get digits as input from Amazon.  This is perfect.  digits2roman() will deal with this fine in any language (though it may still have unicode issues -- not sure).
It gets more complex when we see number words come across (which I have seen, though this could be because they're in the slot items that way).  For these, words2roman() would have to be capable of dealing with all of the languages we support in the skill.  Not a huge deal at the moment, but later..
And finally, digits2words() is going to be the worst.  For example, a German speaking individual might have a German movie sequal in his library called something like Abenteuer in Bamsdorf Zwei.  But this same person probably also has English films in his library, like Rambo Three.
The scrapers don't usually do name things like this, but especially since titles are user-editable in Kodi, it's possible.
Do we try all languages, regardless of the language the skill is set to?  Or simply skip this check?  It's mostly meant for titles like Hawaii Five-O, which can come across like Hawaii 50 and will not match closely enough.

I see what you mean.What I don't get is why Alexa always passes the word instead of digits if I say a number in german. E.g. if I say "Rambo drei", she passes "Rambo drei". But if I say "Rambo three", she passes "Rambo 3".
I thought I read on the Alexa docu that numbers would always be passed as digits?

It is supposed to pass digits.  And it does for me using the simulator; e.g., if i type rambo drei it passes rambo 3 to the skill.
I have no idea why it's not doing this when you speak it.

I take it back.. if I type rambo drei in the simulator it passes rambo drei.  If -- still using the German skill -- I type rambo three, it passes rambo drei.
We could certainly account for this in word2num(), but honestly, this is Amazon's bug since the behavior is contrary to their own documentation.

digits2word() is something I'm not sure we want to deal with right now.  Ultimately, this shouldn't be dependent on the user's language setting.  Regardless of the user's native language, they are allowed to have media of any origin.  For instance, I'm a native English speaker, and I have French, German, Italian, and Japanese media in my library.
However, especially in light of Amazon's German bug (not passing digits), we probably should have a german2digits() function at least.  This should execute conditionally on the user's input language setting.  If language=en, we use english2digits(); if language=de, we use german2digits().
We might be able to get away with just using template strings in the current word2num() function -- will need to test.

@mcl22 suggested word2num() could be modified something like so:
def word2num(textnum):
  numwords = {}
  units = [
    "null", "eins", "zwei", "drei", "vier", "fünf", "sechs", "sieben", "acht",
    "neun", "zehn", "elf", "zwölf", "dreizehn", "vierzehnn", "fünfzehn",
    "sechzehn", "siebzehn", "achtzehn", "neunzehn",
  ]
  tens = ["", "", "zwanzig", "dreißig", "vierzig", "fünfzig", "sechzig", "siebzig", "achtzig", "neunzig"]
  scales = ["hundert", "tausend", "million", "milliarde", "billion"]

 20 = zwanzig
  21 = ein (not eins) und zwanzig
  22 = zwei und zwanzig
  23 = ...

 100 = ein (not eins) hundert
  200 = zwei hundert
  300 = ...

 110 = ein hundert (und) zehn
  220 = zwei hundert (und) zwanzig

 1000 = ein (not eins) tausend
  2000 = zwei tausend

 1234 = ein tausend zwei hundert (und) vier und dreißig

 Usually you would write 22 as zweiundzwanzig (and all the other numbers, too) in one word
  But if I let Alexa count stuff and look in the history she writes seperate words.

Have this pretty much done.  Just awaiting testing.

Here are some results. The good thing is, Alexa won't say she couldn't find "{movie} zwei/drei/..." anymore. The bad thing is that the matching unfortunately is far away from being perfect :)
Spiele Film
Searching for movie "final destination funf"
Trying to match: final destination funf
Simple match failed, trying fuzzy match...
Fuzzy match 90%
Located movie "Final Destination 2"
Spiele Film
Searching for movie "final destination vier"
Trying to match: final destination vier
Simple match failed, trying fuzzy match...
Trying to match final destination vier from <function digits2roman at 0x038F25F0>
Fuzzy match 88%
Located movie "Final Destination 2"
Spiele Film
Searching for movie "final destination drei"
Trying to match: final destination drei
Simple match failed, trying fuzzy match...
Trying to match final destination drei from <function digits2roman at 0x038F25F0>
Fuzzy match 88%
Located movie "Final Destination 2"
Spiele Film
Searching for movie "final destination zwei"
Trying to match: final destination zwei
Simple match failed, trying fuzzy match...
Trying to match final destination zwei from <function digits2roman at 0x038F25F0>
Fuzzy match 88%
Located movie "Final Destination 2"
Spiele Film
Searching for movie "Rambo drei"
Trying to match: rambo drei
Simple match failed, trying fuzzy match...
Trying to match rambo drei from <function digits2roman at 0x038F25F0>
Trying to match rambo III from <function words2roman at 0x038F2630>
Fuzzy match 100%
Located movie "Rambo III"
Spiele Film
Searching for movie "die schlumpfe zwei"
Trying to match: die schlumpfe zwei
Simple match failed, trying fuzzy match...
Fuzzy match 84%
Located movie "Die Schlumpfe 2"
Spiele Film
Searching for movie "hang over zwei"
Trying to match: hang over zwei
Simple match failed, trying fuzzy match...
Trying to match hang over zwei from <function digits2roman at 0x038F25F0>
Fuzzy match 75%
Located movie "Hangover 2"
Spiele Film
Searching for movie "hangover drei"
Trying to match: hangover drei
Simple match failed, trying fuzzy match...
Trying to match hangover drei from <function digits2roman at 0x038F25F0>
Fuzzy match 78%
Located movie "Hangover 2"
Spiele Film
Searching for movie "alien drei"
Trying to match: alien drei
Simple match failed, trying fuzzy match...
Trying to match alien drei from <function digits2roman at 0x038F25F0>
Trying to match alien III from <function words2roman at 0x038F2630>
Fuzzy match 75%
Located movie "Alien 3"
Spiele Film
Searching for movie "Halloween drei"
Trying to match: halloween drei
Simple match failed, trying fuzzy match...
Trying to match halloween drei from <function digits2roman at 0x038F25F0>
Fuzzy match 88%
Located movie "Halloween I"
Spiele Film
Searching for movie "ocean's elf"
Trying to match: ocean's elf
Simple match failed, trying fuzzy match...
Trying to match ocean's elf from <function digits2roman at 0x038F25F0>
Fuzzy match 80%
Located movie "Ocean's Eleven"
Spiele Film
Searching for movie "ocean's zwolf"
Trying to match: ocean's zwolf
Simple match failed, trying fuzzy match...
Fuzzy match 77%
Located movie "Ocean's Twelve"
Spiele Film
Searching for movie "ocean's dreizehn"
Trying to match: ocean's dreizehn
Simple match failed, trying fuzzy match...
Trying to match ocean's dreizehn from <function digits2roman at 0x038F25F0>
Fuzzy match 75%
Located movie "Ocean's Thirteen"
Spiele Film
Searching for movie "psycho zwei"
Trying to match: psycho zwei
Simple match failed, trying fuzzy match...
Trying to match psycho zwei from <function digits2roman at 0x038F25F0>
Fuzzy match 80%
Located movie "Psycho II"
Spiele Film
Searching for movie "psycho drei"
Trying to match: psycho drei
Simple match failed, trying fuzzy match...
Trying to match psycho drei from <function digits2roman at 0x038F25F0>
Fuzzy match 80%
Located movie "Psycho II"
Gonna try some bigger numbers no.

Bigger numbers, better results :)
Spiele Film
Searching for movie "zwei tausend eins maniacs"
Trying to match: zwei tausend eins maniacs
Simple match failed, trying fuzzy match...
Trying to match zwei tausend eins maniacs from <function digits2roman at 0x038F25F0>
Trying to match MMI maniacs from <function words2roman at 0x038F2630>
Trying to match 2001 maniacs from <function words2digits at 0x038F25B0>
Fuzzy match 100%
Located movie "2001 Maniacs"
Spiele Film
Searching for movie "Apollo dreizehn"
Trying to match: apollo dreizehn
Simple match failed, trying fuzzy match...
Trying to match apollo dreizehn from <function digits2roman at 0x038F25F0>
Trying to match apollo XIII from <function words2roman at 0x038F2630>
Trying to match apollo 13 from <function words2digits at 0x038F25B0>
Fuzzy match 100%
Located movie "Apollo 13"
Spiele Film
Searching for movie "Zimmer vierzehn null acht"
Trying to match: zimmer vierzehn null acht
Simple match failed, trying fuzzy match...
Trying to match zimmer vierzehn null acht from <function digits2roman at 0x038F25F0>
Trying to match zimmer vierzehn VIII from <function words2roman at 0x038F2630>
Trying to match zimmer vierzehn 8 from <function words2digits at 0x038F25B0>
Trying to match zimmer vierzehn null acht from <function digits2words at 0x038F2570>
Spiele Film
Searching for movie "Zimmer ein tausend vier hundert acht"
Trying to match: zimmer ein tausend vier hundert acht
Simple match failed, trying fuzzy match...
Trying to match zimmer ein tausend vier hundert acht from <function digits2roman at 0x038F25F0>
Trying to match zimmer ein CDVIII from <function words2roman at 0x038F2630>
Trying to match zimmer ein 408 from <function words2digits at 0x038F25B0>
Fuzzy match 80%
Located movie "Zimmer 1408"
Spiele Film
Searching for movie "vierzehn hundert acht"
Trying to match: vierzehn hundert acht
Simple match failed, trying fuzzy match...
Trying to match vierzehn hundert acht from <function digits2roman at 0x038F25F0>
Trying to match vierzehn VIII from <function words2roman at 0x038F2630>
Trying to match vierzehn 8 from <function words2digits at 0x038F25B0>
Trying to match vierzehn hundert acht from <function digits2words at 0x038F2570>
Spiele Film
Searching for movie "Haus der tausend leichen"
Trying to match: haus der tausend leichen
Simple match failed, trying fuzzy match...
Trying to match haus der tausend leichen from <function digits2roman at 0x038F25F0>
Fuzzy match 76%
Located movie "Haus der 1000 Leichen"
This one was for the addon "ZDF Mediathek 2016"
\xc3\x96ffne Addon
Trying to match: zdf mediathek zwei tausend sechzehn
Simple match failed, trying fuzzy match...
Trying to match zdf mediathek zwei tausend sechzehn from <function digits2roman at 0x038F25F0>
Trying to match zdf mediathek MMXVI from <function words2roman at 0x038F2630>
Fuzzy match 76%
Spiele Film
Searching for movie "ein hundert sieben und zwanzig hours"
Trying to match: ein hundert sieben und zwanzig hours
Simple match failed, trying fuzzy match...
Trying to match ein hundert sieben und zwanzig hours from <function digits2roman at 0x038F25F0>
Trying to match ein XXVII hours from <function words2roman at 0x038F2630>
Trying to match ein 27 hours from <function words2digits at 0x038F25B0>
Fuzzy match 76%
Located movie "127 Hours"
This one didn't work for the movie "11:14"
Spiele Film
Searching for movie "elf vierzehn"
Trying to match: elf vierzehn
Simple match failed, trying fuzzy match...
Trying to match elf vierzehn from <function digits2roman at 0x038F25F0>
Trying to match XI vierzehn from <function words2roman at 0x038F2630>
Trying to match 11 vierzehn from <function words2digits at 0x038F25B0>
Trying to match elf vierzehn from <function digits2words at 0x038F2570>

Wow for music it's really not easy. All numbers again were spoken in german and all of them are digits in my library (e.g. "2pac", "100% Leben", ...)
Spiele Musik von zwei unlimited
Searching for artist "zwei unlimited"
Trying to match: zwei unlimited
Simple match failed, trying fuzzy match...
Trying to match zwei unlimited from <function digits2roman at 0x038F25F0>
Fuzzy match 80%
Located artist "2 Unlimited"
Here I searched for the artist "089"
Spiele Musik von null acht neun
Searching for artist "null acht neun"
Trying to match: null acht neun
Simple match failed, trying fuzzy match...
Trying to match null acht neun from <function digits2roman at 0x038F25F0>
Trying to match null acht neun from <function digits2words at 0x038F2570>
The Alexa app states this: "spiele das lied diese nacht hat tausend stunden"
I tried it several times. Always with the same result.
Spiele Song
Searching for song "diese nacht"
Trying to match: diese nacht
Simple match failed, trying fuzzy match...
Trying to match diese nacht from <function digits2roman at 0x038F25F0>
Fuzzy match 90%
Located song "Die Nacht"
Spiele Musik von zwei Pac
Searching for artist "zwei Pac"
Trying to match: zwei pac
Simple match failed, trying fuzzy match...
Trying to match zwei pac from <function digits2roman at 0x038F25F0>
Trying to match II pac from <function words2roman at 0x038F2630>
Trying to match 2 pac from <function words2digits at 0x038F25B0>
Fuzzy match 89%
Located artist "2Pac"
In this case it seems to me that she can't deal with the "%". recognized this several times for different examples. The album I was looking for is called "100% Best Of".
Spiele Album
Searching for album "hundert prozent best of"
Trying to match: hundert prozent best of
Simple match failed, trying fuzzy match...
Trying to match hundert prozent best of from <function digits2roman at 0x038F25F0>
Trying to match 0 prozent best of from <function words2digits at 0x038F25B0>
Trying to match hundert prozent best of from <function digits2words at 0x038F2570>
The song I was looking for is called "1000 narben" by eisbrecher.
Spiele Song
Searching for song "tausend narben"
Trying to match: tausend narben
Simple match failed, trying fuzzy match...
Trying to match tausend narben from <function digits2roman at 0x038F25F0>
Fuzzy match 81%
Located song "Tausend Rosen"
This time I tried it with the artist and with "ein tausend" (one thousand).
Spiele Album oder Song
Searching for artist "eisbrecher"
Trying to match: eisbrecher
Simple match on direct comparison
Located artist "Eisbrecher"
Trying to match: ein tausend narben
Simple match failed, trying fuzzy match...
Trying to match ein tausend narben from <function digits2roman at 0x038F25F0>
Trying to match ein 0 narben from <function words2digits at 0x038F25B0>
Trying to match ein tausend narben from <function digits2words at 0x038F2570>
Trying to match: ein tausend narben
Simple match failed, trying fuzzy match...
Trying to match ein tausend narben from <function digits2roman at 0x038F25F0>
Trying to match ein 0 narben from <function words2digits at 0x038F25B0>
Trying to match ein tausend narben from <function digits2words at 0x038F2570>
Spiele Song
Searching for song "tausend meilen tausend worte"
Trying to match: tausend meilen tausend worte
Simple match failed, trying fuzzy match...
Trying to match tausend meilen tausend worte from <function digits2roman at 0x038F25F0>
Trying to match 0 meilen 0 worte from <function words2digits at 0x038F25B0>
Fuzzy match 82%
Located song "1000 Meilen, 1000 Worte"
Here again the app history tells me "spiele das album ein hundert ein prozent jumpstylemania". So the skill couldn't even get to the "%". The albums title is "100% Jumpstylemania".
Spiele Album
Searching for album "ein hundert ein"
Trying to match: ein hundert ein
Simple match failed, trying fuzzy match...
Trying to match ein hundert ein from <function digits2roman at 0x038F25F0>
Trying to match ein 0 ein from <function words2digits at 0x038F25B0>
Trying to match ein hundert ein from <function digits2words at 0x038F2570>
Well, I was looking for Volume 2 :)
Spiele Album
Searching for album "happy Christmas volume zwei"
Trying to match: happy christmas volume zwei
Simple match failed, trying fuzzy match...
Trying to match happy christmas volume zwei from <function digits2roman at 0x038F25F0>
Fuzzy match 88%
Located album "Happy Christmas, Volume 1"
Spiele Album
Searching for album "zehn jahre feuerschwanz live"
Trying to match: zehn jahre feuerschwanz live
Simple match failed, trying fuzzy match...
Trying to match zehn jahre feuerschwanz live from <function digits2roman at 0x038F25F0>
Fuzzy match 86%
Located album "10 Jahre Feuerschwanz - Live"
Again the "%" for album "100% leben".
Spiele Album
Searching for album "ein hundert prozent leben"
Trying to match: ein hundert prozent leben
Simple match failed, trying fuzzy match...
The following I find really strange because the albums are just called "11", "13" and "18". If spoken in english, they work.
Spiele Album
Searching for album "elf"
Trying to match: elf
Simple match failed, trying fuzzy match...
Trying to match elf from <function digits2roman at 0x038F25F0>
Trying to match elf from <function digits2words at 0x038F2570>
Spiele Album
Searching for album "dreizehn"
Trying to match: dreizehn
Simple match failed, trying fuzzy match...
Trying to match dreizehn from <function digits2roman at 0x038F25F0>
Trying to match dreizehn from <function digits2words at 0x038F2570>
Spiele Album
Searching for artist "JBO"
Trying to match: jbo
Simple match failed, trying fuzzy match...
Trying to match jbo from <function digits2roman at 0x038F25F0>
Fuzzy match 75%
Located artist "J.B.O."
Trying to match: elf
Simple match failed, trying fuzzy match...
Trying to match elf from <function digits2roman at 0x038F25F0>
Trying to match elf from <function digits2words at 0x038F2570>
Spiele Album
Searching for artist "bohse onkelz"
Trying to match: bohse onkelz
Simple match on direct comparison
Located artist "Bohse Onkelz"
Trying to match: dreizehn
Simple match failed, trying fuzzy match...
Trying to match dreizehn from <function digits2roman at 0x038F25F0>
Trying to match dreizehn from <function digits2words at 0x038F2570>
Spiele Album
Searching for album "achtzehn"
Trying to match: achtzehn
Simple match failed, trying fuzzy match...

Sent new test code to @mcl22.. just waiting for more testing again.

ok, here is the first block of results for 0.8.5
Spiele Film
Searching for movie "final destination funf"
Trying to match: final destination funf
Simple match failed, trying fuzzy match...
Fuzzy match 90%
Located movie "Final Destination 2"
Spiele Film
Searching for movie "final destination vier"
Trying to match: final destination vier
Simple match failed, trying fuzzy match...
Trying to match final destination vier from <function digits2roman at 0x0366D5F0>
Fuzzy match 88%
Located movie "Final Destination 2"
Spiele Film
Searching for movie "final destination drei"
Trying to match: final destination drei
Simple match failed, trying fuzzy match...
Trying to match final destination drei from <function digits2roman at 0x0366D5F0>
Fuzzy match 88%
Located movie "Final Destination 2"
Spiele Film
Searching for movie "final destination zwei"
Trying to match: final destination zwei
Simple match failed, trying fuzzy match...
Trying to match final destination zwei from <function digits2roman at 0x0366D5F0>
Fuzzy match 88%
Located movie "Final Destination 2"
Spiele Film
Searching for movie "Rambo drei"
Trying to match: rambo drei
Simple match failed, trying fuzzy match...
Trying to match rambo drei from <function digits2roman at 0x0366D5F0>
Trying to match rambo III from <function words2roman at 0x0366D630>
Fuzzy match 100%
Located movie "Rambo III"
Spiele Film
Searching for movie "die schlumpfe zwei"
Trying to match: die schlumpfe zwei
Simple match failed, trying fuzzy match...
Fuzzy match 84%
Located movie "Die Schlumpfe 2"
Spiele Film
Searching for movie "hang over zwei"
Trying to match: hang over zwei
Simple match failed, trying fuzzy match...
Trying to match hang over zwei from <function digits2roman at 0x0366D5F0>
Fuzzy match 75%
Located movie "Hangover 2"
Spiele Film
Searching for movie "alien drei"
Trying to match: alien drei
Simple match failed, trying fuzzy match...
Trying to match alien drei from <function digits2roman at 0x0366D5F0>
Trying to match alien III from <function words2roman at 0x0366D630>
Fuzzy match 75%
Located movie "Alien 3"
Spiele Film
Searching for movie "Halloween drei"
Trying to match: halloween drei
Simple match failed, trying fuzzy match...
Trying to match halloween drei from <function digits2roman at 0x0366D5F0>
Fuzzy match 88%
Located movie "Halloween I"
Spiele Film
Searching for movie "ocean's elf"
Trying to match: ocean's elf
Simple match failed, trying fuzzy match...
Trying to match ocean's elf from <function digits2roman at 0x0366D5F0>
Fuzzy match 80%
Located movie "Ocean's Eleven"
Spiele Film
Searching for movie "ocean's zwolf"
Trying to match: ocean's zwolf
Simple match failed, trying fuzzy match...
Fuzzy match 77%
Located movie "Ocean's Twelve"
Spiele Film
Searching for movie "ocean's dreizehn"
Trying to match: ocean's dreizehn
Simple match failed, trying fuzzy match...
Trying to match ocean's dreizehn from <function digits2roman at 0x0366D5F0>
Fuzzy match 75%
Located movie "Ocean's Thirteen"
Spiele Film
Searching for movie "psycho zwei"
Trying to match: psycho zwei
Simple match failed, trying fuzzy match...
Trying to match psycho zwei from <function digits2roman at 0x0366D5F0>
Fuzzy match 80%
Located movie "Psycho II"
Spiele Film
Searching for movie "psycho drei"
Trying to match: psycho drei
Simple match failed, trying fuzzy match...
Trying to match psycho drei from <function digits2roman at 0x0366D5F0>
Fuzzy match 80%
Located movie "Psycho II"
Spiele Film
Searching for movie "zwei tausend eins maniacs"
Trying to match: zwei tausend eins maniacs
Simple match failed, trying fuzzy match...
Trying to match zwei tausend eins maniacs from <function digits2roman at 0x0366D5F0>
Trying to match MMI maniacs from <function words2roman at 0x0366D630>
Trying to match 2001 maniacs from <function words2digits at 0x0366D5B0>
Fuzzy match 100%
Located movie "2001 Maniacs"
Spiele Film
Searching for movie "Apollo dreizehn"
Trying to match: apollo dreizehn
Simple match failed, trying fuzzy match...
Trying to match apollo dreizehn from <function digits2roman at 0x0366D5F0>
Trying to match apollo XIII from <function words2roman at 0x0366D630>
Trying to match apollo 13 from <function words2digits at 0x0366D5B0>
Fuzzy match 100%
Located movie "Apollo 13"
Spiele Film
Searching for movie "Zimmer vierzehn null acht"
Trying to match: zimmer vierzehn null acht
Simple match failed, trying fuzzy match...
Trying to match zimmer vierzehn null acht from <function digits2roman at 0x0366D5F0>
Trying to match zimmer 14 0 8 from <function words2digits at 0x0366D5B0>
Fuzzy match 92%
Located movie "Zimmer 1408"
Spiele Film
Searching for movie "Zimmer ein tausend vier hundert acht"
Trying to match: zimmer ein tausend vier hundert acht
Simple match failed, trying fuzzy match...
Trying to match zimmer ein tausend vier hundert acht from <function digits2roman at 0x0366D5F0>
Trying to match zimmer MCDVIII from <function words2roman at 0x0366D630>
Trying to match zimmer 1408 from <function words2digits at 0x0366D5B0>
Fuzzy match 100%
Located movie "Zimmer 1408"
Spiele Film
Searching for movie "Zimmer vierzehn hundert acht"
Trying to match: zimmer vierzehn hundert acht
Simple match failed, trying fuzzy match...
Trying to match zimmer vierzehn hundert acht from <function digits2roman at 0x0366D5F0>
Trying to match zimmer MCDVIII from <function words2roman at 0x0366D630>
Trying to match zimmer 1408 from <function words2digits at 0x0366D5B0>
Fuzzy match 100%
Located movie "Zimmer 1408"
Spiele Film
Searching for movie "Haus der tausend leichen"
Trying to match: haus der tausend leichen
Simple match failed, trying fuzzy match...
Trying to match haus der tausend leichen from <function digits2roman at 0x0366D5F0>
Fuzzy match 76%
Located movie "Haus der 1000 Leichen"
\xc3\x96ffne Addon
Trying to match: zdf mediathek zwei tausend sechzehn
Simple match failed, trying fuzzy match...
Trying to match zdf mediathek zwei tausend sechzehn from <function digits2roman at 0x0366D5F0>
Trying to match zdf mediathek MMXVI from <function words2roman at 0x0366D630>
Fuzzy match 76%
Spiele Film
Searching for movie "ein hundert sieben und zwanzig hours"
Trying to match: ein hundert sieben und zwanzig hours
Simple match failed, trying fuzzy match...
Trying to match ein hundert sieben und zwanzig hours from <function digits2roman at 0x0366D5F0>
Trying to match CXXVII hours from <function words2roman at 0x0366D630>
Trying to match 127 hours from <function words2digits at 0x0366D5B0>
Fuzzy match 100%
Located movie "127 Hours"
Spiele Film
Searching for movie "elf vierzehn"
Trying to match: elf vierzehn
Simple match failed, trying fuzzy match...
Trying to match elf vierzehn from <function digits2roman at 0x0366D5F0>
Trying to match elf vierzehn from <function digits2words at 0x0366D570>

and here goes the rest:
Spiele Musik von zwei unlimited
Searching for artist "zwei unlimited"
Trying to match: zwei unlimited
Simple match failed, trying fuzzy match...
Trying to match zwei unlimited from <function digits2roman at 0x0366D5F0>
Fuzzy match 80%
Located artist "2 Unlimited"
Spiele Musik von null acht neun
Searching for artist "null acht neun"
Trying to match: null acht neun
Simple match failed, trying fuzzy match...
Trying to match null acht neun from <function digits2roman at 0x0366D5F0>
Trying to match null acht neun from <function digits2words at 0x0366D570>
again the app says what I said "diese nacht hat tausend stunden"
Spiele Song
Searching for song "diese nacht"
Trying to match: diese nacht
Simple match failed, trying fuzzy match...
Trying to match diese nacht from <function digits2roman at 0x0366D5F0>
Fuzzy match 90%
Located song "Die Nacht"
Spiele Musik von zwei Pac
Searching for artist "zwei Pac"
Trying to match: zwei pac
Simple match failed, trying fuzzy match...
Trying to match zwei pac from <function digits2roman at 0x0366D5F0>
Trying to match II pac from <function words2roman at 0x0366D630>
Trying to match 2 pac from <function words2digits at 0x0366D5B0>
Fuzzy match 89%
Located artist "2Pac"
Spiele Album
Searching for album "ein hundert prozent best of"
Trying to match: ein hundert prozent best of
Simple match failed, trying fuzzy match...
Trying to match ein hundert prozent best of from <function digits2roman at 0x0366D5F0>
Trying to match C prozent best of from <function words2roman at 0x0366D630>
Trying to match 100 prozent best of from <function words2digits at 0x0366D5B0>
Fuzzy match 77%
Located album "100% Best Of"
Spiele Song
Searching for song "ein tausend narben"
Trying to match: ein tausend narben
Simple match failed, trying fuzzy match...
Trying to match ein tausend narben from <function digits2roman at 0x0366D5F0>
Trying to match M narben from <function words2roman at 0x0366D630>
Fuzzy match 86%
Located song "Narben"
Spiele Album oder Song
Searching for artist "eisbrecher"
Trying to match: eisbrecher
Simple match on direct comparison
Located artist "Eisbrecher"
Trying to match: ein tausend narben
Simple match failed, trying fuzzy match...
Trying to match ein tausend narben from <function digits2roman at 0x0366D5F0>
Trying to match M narben from <function words2roman at 0x0366D630>
Trying to match 1000 narben from <function words2digits at 0x0366D5B0>
Fuzzy match 100%
Spiele Song
Searching for song "tausend meilen tausend worte"
Trying to match: tausend meilen tausend worte
Simple match failed, trying fuzzy match...
Trying to match tausend meilen tausend worte from <function digits2roman at 0x0366D5F0>
Trying to match M meilen M worte from <function words2roman at 0x0366D630>
Trying to match 1000 meilen 1000 worte from <function words2digits at 0x0366D5B0>
Fuzzy match 98%
Located song "1000 Meilen, 1000 Worte"
this time I said the wrong "100% ...."
Spiele Album
Searching for album "ein hundert prozent jumpstylemania"
Trying to match: ein hundert prozent jumpstylemania
Simple match failed, trying fuzzy match...
Trying to match ein hundert prozent jumpstylemania from <function digits2roman at 0x0366D5F0>
Trying to match C prozent jumpstylemania from <function words2roman at 0x0366D630>
Trying to match 100 prozent jumpstylemania from <function words2digits at 0x0366D5B0>
Fuzzy match 80%
Located album "101% Jumpstylemania"
when I tried the correct "101% ..." (ein hundert ein Prozent) it didn't work
Spiele Album
Searching for album "ein hundert ein"
Trying to match: ein hundert ein
Simple match failed, trying fuzzy match...
Trying to match ein hundert ein from <function digits2roman at 0x0366D5F0>
Trying to match ein hundert ein from <function digits2words at 0x0366D570>
Spiele Album
Searching for album "ein hundert und ein"
even not if I tried the not correct version "ein hundert eins % ..."
the app history tells in both cases that I said "ein hundert ein(s) prozent jumpstylemania"
Spiele Album
Searching for album "ein hundert eins"
Trying to match: ein hundert eins
Simple match failed, trying fuzzy match...
Trying to match ein hundert eins from <function digits2roman at 0x0366D5F0>
Trying to match ein hundert eins from <function digits2words at 0x0366D570>
Spiele Album
Searching for album "happy Christmas volume zwei"
Trying to match: happy christmas volume zwei
Simple match failed, trying fuzzy match...
Trying to match happy christmas volume zwei from <function digits2roman at 0x0366D5F0>
Fuzzy match 88%
Located album "Happy Christmas, Volume 1"
Spiele Album
Searching for album "zehn jahre feuerschwanz live"
Trying to match: zehn jahre feuerschwanz live
Simple match failed, trying fuzzy match...
Trying to match zehn jahre feuerschwanz live from <function digits2roman at 0x0366D5F0>
Fuzzy match 86%
Located album "10 Jahre Feuerschwanz - Live"
Spiele Album
Searching for album "ein hundert prozent leben"
Trying to match: ein hundert prozent leben
Simple match failed, trying fuzzy match...
Trying to match ein hundert prozent leben from <function digits2roman at 0x0366D5F0>
Trying to match C prozent leben from <function words2roman at 0x0366D630>
Trying to match 100 prozent leben from <function words2digits at 0x0366D5B0>
Trying to match ein hundert prozent leben from <function digits2words at 0x0366D570>
Spiele Album
Searching for album "elf"
Trying to match: elf
Simple match failed, trying fuzzy match...
Trying to match elf from <function digits2roman at 0x0366D5F0>
Trying to match elf from <function digits2words at 0x0366D570>
Spiele Album
Searching for album "dreizehn"
Trying to match: dreizehn
Simple match failed, trying fuzzy match...
Trying to match dreizehn from <function digits2roman at 0x0366D5F0>
Trying to match dreizehn from <function digits2words at 0x0366D570>
Spiele Album
Searching for artist "JBO"
Trying to match: jbo
Simple match failed, trying fuzzy match...
Trying to match jbo from <function digits2roman at 0x0366D5F0>
Fuzzy match 75%
Located artist "J.B.O."
Trying to match: elf
Simple match failed, trying fuzzy match...
Trying to match elf from <function digits2roman at 0x0366D5F0>
Trying to match elf from <function digits2words at 0x0366D570>
Spiele Album
Searching for artist "bohse onkelz"
Trying to match: bohse onkelz
Simple match on direct comparison
Located artist "Bohse Onkelz"
Trying to match: dreizehn
Simple match failed, trying fuzzy match...
Trying to match dreizehn from <function digits2roman at 0x0366D5F0>
Trying to match dreizehn from <function digits2words at 0x0366D570>
Spiele Album
Searching for album "achtzehn"
Trying to match: achtzehn
Simple match failed, trying fuzzy match...
Trying to match achtzehn from <function digits2roman at 0x0366D5F0>
Trying to match achtzehn from <function digits2words at 0x0366D570>

Put a new version up on the PyPi test server.
In addition to correcting what's talked about here (hopefully), I've made it so it will now choose the strongest match, not just the first one that's >= 75%.

Here are the new results for movies. There is only one mismatch left:
Spiele Film
Searching for movie "final destination funf"
Trying to match: final destination funf
Simple match failed, trying fuzzy match...
heard: "final destination funf"
-- Score 90%
WINNER: "Final Destination 2" @ 90%
Located movie "Final Destination 2"
All other movies, including Final Destination 2 / 3 / 4 worked.

Here goes part 2, also only the mismatches ...
This one still doesn't get passed correctly. The song is called "Diese Nacht hat 1000 Stunden". The app history also states that it heard "spiele das lied diese nacht hat tausend stunden". But no matter how often I try it, it doesn't pass the whole string.
Spiele Song
Searching for song "diese nacht"
Trying to match: diese nacht
Simple match failed, trying fuzzy match...
heard: "diese nacht"
-- Score 90%
digits2roman: "diese nacht"
-- Score 90%
words2roman: "diese nacht"
-- Score 90%
words2digits: "diese nacht"
-- Score 90%
digits2words: "diese nacht"
-- Score 90%
WINNER: "Die Nacht" @ 90%
Located song "Die Nacht"
Here we do have the same problem as for "diese nacht ...". The album is called "101% Jumpstylemania". But it doesn't pass the whole string. I even tried several versions od 101.
The correct version would be "ein hundert ein Prozent" or "ein hundert und ein Prozent". I also tried the incorrect "ein hundert und eins %" but no success.
Spiele Album
Searching for album "ein hundert ein"
Trying to match: ein hundert ein
Simple match failed, trying fuzzy match...
heard: "ein hundert ein"
digits2roman: "ein hundert ein"
words2roman: "CI"
words2digits: "101"
-- Score 80%
digits2words: "ein hundert ein"
WINNER: "11" @ 80%
Located album "11"
Spiele Album
Searching for album "ein hundert und ein"
Trying to match: ein hundert und ein
Simple match failed, trying fuzzy match...
heard: "ein hundert und ein"
digits2roman: "ein hundert und ein"
words2roman: "CI"
words2digits: "101"
-- Score 80%
digits2words: "ein hundert und ein"
WINNER: "11" @ 80%
Located album "11"
Spiele Album
Searching for album "ein hundert und eins"
Trying to match: ein hundert und eins
Simple match failed, trying fuzzy match...
heard: "ein hundert und eins"
digits2roman: "ein hundert und eins"
words2roman: "CI"
words2digits: "101"
-- Score 80%
digits2words: "ein hundert und eins"
WINNER: "11" @ 80%
Located album "11"
And finally the album "100% Leben".
Spiele Album
Searching for album "ein hundert prozent leben"
Trying to match: ein hundert prozent leben
Simple match failed, trying fuzzy match...
heard: "ein hundert prozent leben"
digits2roman: "ein hundert prozent leben"
words2roman: "C prozent leben"
words2digits: "100 prozent leben"
digits2words: "ein hundert prozent leben"
In one case the skill seems to compare against the "prozent" and in the other case not, as you can see below.
Spiele Album
Searching for album "ein hundert prozent best of"
Trying to match: ein hundert prozent best of
Simple match failed, trying fuzzy match...
heard: "ein hundert prozent best of"
digits2roman: "ein hundert prozent best of"
words2roman: "C prozent best of"
words2digits: "100 prozent best of"
-- Score 77%
digits2words: "ein hundert prozent best of"
WINNER: "100 Best Of" @ 77%
Located album "100 Best Of"

One more things concerning numbers are the 1st, 2nd, 3rd, ... that don't work so far. But that's clear because we haven't taken care of it so far. I just recognized it for movies like "Freitag, der 13." oder "Die 5. Welle". Not sure if it's easy to implement but if it is, here is some help:

10.: erste, zweite, dritte, vierte, fünfte, sechste, siebte, achte, neunte, zehnte

For 11. - 19. you build it by number + "te" like elfte (11.), zwölfte (12.), dreizehnte (13.).
From that on you use number + "ste" like zwanzigste (20.), einundzwanzigste (21.), vierzigste (40.), hundertste (100.), tausendste (1000.), millionste (1000000.).
Hope this helps :)

And one more thing, Alexa can't find The 4400 if I say the number in german. In my library it's called "4400 - die Rückkehrer".  That's the only show where I faced this. "The 100", "2 broke girls" and "24" work, no matter if spoken in english or german.

Searching for movie "final destination funf"

Unicode/UTF-8 issue I'm sure, since that word contains an umlaut.  I've fixed it.

Alexa can't find The 4400

This is the same problem as with 'final destination fünf'.

This one still doesn't get passed correctly. The song is called "Diese Nacht hat 1000 Stunden". The app history also states that it heard "spiele das lied diese nacht hat tausend stunden". But no matter how often I try it, it doesn't pass the whole string.

Unfortunately, if Alexa doesn't pass it to us, there's not really anything we can do.

Searching for album "ein hundert und eins"
WINNER: "11" @ 80%
Located album "11"

I'm not sure this one is our fault.  The conversion functions did the right thing, and the fuzzy matcher didn't find any album called '101'.  Are you sure that's the title of the album?

And finally the album "100% Leben".

It's because German Alexa is passing '%' as 'prozent'.  In the English skill, it passes the symbol.  For the fuzzy matcher, '100 prozent leben' simply isn't close enough to '100% leben'.
'100 best of' barely matches '100% best of' as you can see.  Remember the threshold is 75%.

All done.


Add (release-please and so on)-version-information in the GHA log?

TL;DR
I'd like to suggest that the GoogleCloudPlatform/release-please-action GH action prints more "version information" in the logs. This might facilitate bug-reports/feature-requests in https://github.com/googleapis/release-please/issues related to the GHA.
Detailed design
To be more precise, the release-please issue template requests these Environment details:

OS
Node.js version
npm version
release-please version

which, AFAIK, are not directly available from the log of a GoogleCloudPlatform/release-please-action run.
Additional information
This issue is just a follow-up of this earlier comment:
https://github.com/googleapis/release-please/issues/1085#issuecomment-986898087

@erikmd the upstream release-please dependency does have a verbose mode I believe, which can be used to help debug.
We could expose this.


Enable the new model serialization for maintenance

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.


CompletionList.isIncomplete=true results in showing "stale" results when typing quickly due to cancelled requests

I'm trying to move my extension to using isIncomplete=true on Completion results to avoid preloading thousands of items in the first request. However, when I do this, the completion feels sluggish/doesn't update and I suspect it's due to how cancellations are handled.
I made a small completion provider that takes 40ms to return, and a test that types one character every 60ms (this means all requests complete without any cancellation). I include the offset of the request in the results to make it clear when updated results are shown. As expected, the completion list updates on every keystroke:

However, if I increase the completion provider to take 80ms to return (slightly longer than the delay between keystrokes), the completion list doesn't update at all until the typing stops:

My understanding is that when you type a new character, VS Code cancels the previous (in-flight) request and sends a new one. This makes sense. However, if the server returns the results anyway (perhaps it had already computed them), I think it would be a much better experience if VS Code still used those results while waiting for the next one. Otherwise, using isIncomplete=true results in completion feeling sluggish when typing slightly faster than the server is responding (server response times may increase slightly if lots of requests are being sent/cancelled, as there could be synchronous work that means they don't immediately handle the cancellation).

Here is the code I used for testing. It can be pasted into src/test/suite/extension.test.ts in a project created with yo code:
import * as assert from 'assert';
import * as vs from "vscode";

suite('Extension Test Suite', () => {

	test('Sample test', async function () {
		this.timeout(100000000000);

		registerCompletionProvider();

		const doc = await vs.workspace.openTextDocument({ language: 'plaintext', content: '' });
		const editor = await vs.window.showTextDocument(doc);

		editor.selection = new vs.Selection(new vs.Position(0, 0), new vs.Position(0, 0));
		await delay(5000);
		await vs.commands.executeCommand('editor.action.triggerSuggest');
		await delay(1000);
		await typeSlowly('aaaaaaaaaaaaaaaaaaaa');

		await delay(600000);
	});

	async function typeSlowly(text: string) {
		for (const c of text.split('')) {
			await delay(60);
			await vs.commands.executeCommand('default:type', { text: c });
		}
	}

	function delay(milliseconds: number): Promise<void> {
		return new Promise((resolve) => setTimeout(resolve, milliseconds));
	}

	function registerCompletionProvider() {
		vs.languages.registerCompletionItemProvider({ language: 'plaintext' }, {
			provideCompletionItems: async (document: vs.TextDocument, position: vs.Position, token: vs.CancellationToken, context: vs.CompletionContext): Promise<vs.CompletionList> => {
				console.log(`Request for completions at ${position.character}`);
				await delay(80); // change this between 40 and 80ms
				const res = new vs.CompletionList(
					[
						new vs.CompletionItem(`aaaaaaaaaaaaaaaaaaaa(${position.character})`),
					],
					true,
				);
				return res;
			}
		});
	}
});

Some other things that might be contributing to this feeling slower:

The completion dropdown usually moves along on each update - if the second one also moved on each keypress (before waiting for the results), it wouldn't look so different. Although, I wonder if the moving is actually the best behaviour - it seems odd that it keeps getting further and further offset from where it will actually insert the displayed value
There's no highlighting of the matched characters after a keystroke until the update arrives - highlighting in the existing results list prior to the update arriving could also make it less obvious something is taking longer


Create a docs site

The docs are currently published here
https://foyle.netlify.app/
I wanted to follow the netlify documentation and setup an ALIAS record pointing at Netlify. That required disabling DNSSEC. Google Domains told me it would take until 04/10 8pm to disable DNSSEC
As a fallback I setup an A record. I should change it to an ALIAS record once DNSSEC is disabled.
and point it at apex-loadbalancer.netlify.com

I switched foyle.io from an A record to an ALIAS record. Lets give it time and make sure it still working correctly.

This is working as expected.


Update app-service-logic-cs-api.md

Fixing some format errors and updating

Hi @jeffhollan, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;


[FSDE-1098] Add interactive documentation examples of chi vue tooltip

[x] Added interactive documentation examples of chi vue tooltip

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/1/. :white_check_mark:

You can check this PRs instance in https://7b7cf721c88ceb5043a36b4bb9c714036f63e7e6-chi-pr.enterprise.ctl.io

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/2/. :x:

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/3/. :x:

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/4/. :x:

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/6/. :white_check_mark:

You can check this PRs instance in https://462eec281f1a45b4be85ee03e8fd5bf3a7556b5c-chi-pr.enterprise.ctl.io

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/7/. :x:

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/8/. :x:

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/9/. :white_check_mark:

You can check this PRs instance in https://215eb4c86ed28c6b8b08409e5bbe9066e5f96831-chi-pr.enterprise.ctl.io

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/10/. :x:

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/11/. :white_check_mark:

You can check this PRs instance in https://21e64b320523d161146af9535b0ed17ec27fc4ed-chi-pr.enterprise.ctl.io

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/12/. :x:

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/13/. :white_check_mark:

You can check this PRs instance in https://d2d2c2da7e733939f5a73b34769edbcf7b803619-chi-pr.enterprise.ctl.io

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/14/. :x:

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/15/. :x:

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/16/. :white_check_mark:

You can check this PRs instance in https://c8d7d58db7fe922282497f9bb43e964a05060076-chi-pr.enterprise.ctl.io

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/17/. :x:

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/18/. :white_check_mark:

You can check this PRs instance in https://549bdda09ff6cf2d25268e3e2ff3e8bc60dbe5c4-chi-pr.enterprise.ctl.io

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/19/. :x:

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/20/. :x:

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/21/. :x:

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/22/. :x:

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/23/. :x:

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/24/. :x:

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/25/. :x:

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/26/. :x:

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/27/. :white_check_mark:

You can check this PRs instance in https://7ffa15988ad4121bf650eeeb69733bd21a338b08-chi-pr.enterprise.ctl.io

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/28/. :x:

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/29/. :white_check_mark:

You can check this PRs instance in https://8b4ec40de7bbffeb3c2dbfceb342d6feb71682ce-chi-pr.enterprise.ctl.io

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-97/30/. :white_check_mark:

You can check this PRs instance in https://56ef7b4a2ff72e3eb2df04671e42fe6f890c460b-chi-pr.enterprise.ctl.io


Add option to disable all headings.anchorLinks at once

Currently, the default behavior when rendering headings inside a markdown content is to use anchor links on several heading levels.
In the scenario where one needs to disable anchor links on all levels, currently the config object to pass is like that
  // nuxt.config.js
  mdc: {
    headings: {
      anchorLinks: {
        h1: false,
        h2: false,
        h3: false,
        h4: false,
        h5: false,
        h6: false,
      },
    },
  },

This is quite verbose, and, even if I don't have numbers to support this, my guess is that it is more common to be in need to disable links on all levels, rather than in some of them.
I'd like to have an option to disable all of them at once in addition to the current granular setting, maybe like this:
  // nuxt.config.js
  mdc: {
    headings: {
      anchorLinks: false
    },
  },

Thanks :v:

It seems to work on the site frontend without any noticeable problem, but I have an typescript error thrown in nuxt.config.js, if I set it to false:

Yeah. false (or boolean) needs to be represented as type for heading.anchorLinks in https://github.com/nuxt-modules/mdc/blob/main/src/types.ts

But probably also needs changes for true if one wants to activate all anchor links at once.
:shrug:

Thanks for your reply @nobkd, I guess I can ignore typescript warnings for now.
I can open a PR to add false as a valid type if it is helpful, but for adding more logic even for true at the moment I'm not knowledgeable enough of the module's inner workings to provide a good solution.
Let me know if a PR for false only could be nice.

Having true and false to enable and disable all links would be nice IMO

but for adding more logic even for true at the moment I'm not knowledgeable enough of the module's inner workings to provide a good solution.

To handle true we can check options.headings.anchorLinks before passing to runtimeConfig and generate proper object syntax if necessary
https://github.com/nuxt-modules/mdc/blob/fade64f0b505e5c4a13237f8425858decaff18b1/src/module.ts#L62

Thanks @farnabaz, would you accept two separate PR's?
I can prepare a quick one for false in a breeze, and properly implement true when I have the chance to see how it is working.

Sure, feel free to open two different PRs


[CWS] Add 7.52 release notes

What does this PR do?
Add CWS release note.

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge

/merge -c

/merge


Marten 1.5.0 - Detected package downgrade: System.Data.Common from 4.3.0 to 4.1.0

Marten (>= 1.5.0) -> Npgsql (>= 3.2.2) -> System.Data.Common (>= 4.3.0)
Marten (>= 1.5.0) -> System.Data.Common (>= 4.1.0)

@vadimline I've spent my entire morning fixing Nuget issues for other folks. This is only a warning that doesn't actually matter. If it bothers you, feel free to send a PR for it.

Agree, not critical. Will send PR for it. I think we can close this issue since it is not critical.