aurelia vNext, bindable working unexpected

@fkleuver
@bindable({ attribute: 'name' }) AttributeName = 'Im missing!!'

Looks like it adds just a new variable to class called "name"
Expected behavior is that it will use "AttributeName"
Sample:
https://stackblitz.com/edit/aurelia-vnext-bug001?file=helloWorld.ts

Nice find! this particular scenario was not unit tested yet, so that's about to change :)

What the hydrate element instruction looks like:
{
  "res": "hello-world",
  "instructions": [
    {
      "value": "some-text",
      "dest": "name"
    }
  ]
}

dest should be AttributeName, instead of name. It's an issue with template compiler unable to understand aliasing.

Interesting. So this is not binding being "slow", but rather everything else being too fast :P
In vCurrent, we're using micro tasks at various places throughout the lifecycles. The reason why bindings are always done before attached is called is because attached is queued in a second-layer microtask after the microtask that the bindings run in.
In vNext, the TaskQueue is gone from the core and everything is completely synchronous except for updates to the DOM. You can overcome this by awaitng a promise of flushing the "new TaskQueue" which is changeSet.
What you found though is actually a bug that I need to fix, because binding updates certainly must propagate to downstream custom elements before attached is called.
I also noticed you seem a little thrown off by the lifecycle changes. Here is the HelloWorld custom element implement by hand: https://stackblitz.com/edit/aurelia-vnext-clarifications?file=helloWorld.ts
This is without the @customElement decorator, to show you how vNext roughly works under the hood. Keep in mind I'm skipping a few checks that vNext does because they're not relevant to the situation (such as shadow dom stuff)

@fkleuver It could also be an issue with @bindable decorator not specifying the right attribute for template compiler to understand too. Could also be the combination of both. Glad you got a fix though

@fkleuver

Interesting. So this is not binding being "slow", but rather everything else being too fast :P
In vCurrent, we're using micro tasks at various places throughout the lifecycles. The reason why bindings are always done before attached is called is because attached is queued in a second-layer microtask after the microtask that the bindings run in.
In vNext, the TaskQueue is gone from the core and everything is completely synchronous except for updates to the DOM. You can overcome this by awaitng a promise of flushing the "new TaskQueue" which is changeSet.

I still think all @bindables should be set before the bound/attached is called.
This feels a little weird to flush changes in the bound to get bound variables.
But maybe its just me. I understand flushing to update UI, but not internal variables. 🙈

I also noticed you seem a little thrown off by the lifecycle changes. Here is the HelloWorld custom element implement by hand: https://stackblitz.com/edit/aurelia-vnext-clarifications?file=helloWorld.ts
This is without the @customElement decorator, to show you how vNext roughly works under the hood. Keep in mind I'm skipping a few checks that vNext does because they're not relevant to the situation (such as shadow dom stuff)

Thanks for making this👍
Forked it so I dont loose it and can use it to learn more.
I did look at parts lifecycle after I got fusbox to use ts source by adding ts:main to package.json (used src folder... hoping it worked 😂, had issues with sourcemaps working correctly, but think that is issue or something I did wrong in my fusebox config )
I think there is a bug in the bound() callback, made own issue on it yesterday.
https://github.com/aurelia-v-grid/vGrid/issues/100
Great if you can have a look at this and correct me if Im thinking wrong

I still think all @bindables should be set before the bound/attached is called.

Correct and this is how it works. As I clarified further on, there is currently a bug. The bug only applies to binding from one custom element to another. It queues the updates but it should only queue updates that end up at the DOM. this PR will fix that and you will not need to flush anything during bound.

I think there is a bug in the bound() callback, made own issue on it yesterday.

I'll reply in that issue

OK, just had to make sure.
Closing this issue since being worked on  😄
Thanks again for taking the time to respond.


feat: auto-detect clusterendpoint for eks

Fixes #3192
Description
Adds auto-detection of the clusterEndpoint if it's eks, based on the provided clusterName.
I updated the naming of both api variables in the LaunchTemplateProvider because I got a naming complaint during execution of make presubmit with the new eksapi, so I changed ec2api to keep it consistent.
How was this change tested?

manually

Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[ ] No

Release Note

This release introduces a new feature that automatically detects the cluster endpoint for EKS if it is not set.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@ellistarn @jonathan-innis Anything else I should add?

@jonathan-innis I just moved the resolving out of the launchtemplate, the endpoint address is then stored in the settings for the rest of the execution.

Oh, I just saw that auto-formatting changed the layout of the markdown quite significantly, I'll revert the change and update only the single line.

Can you also add a unit test (with mocking on the EKS API) to ensure that we are able to resolve this value if it isn't set?

@jonathan-innis sure thing, please have a look, if I found the right spots 😄


Move #edit_by to ApplicationForm

Context
DO NOT MERGE UNTIL BACKFILL IS COMPLETE
The edit_by field lives on application_choices, and is duplicated as a result. It should live on the application_form.
Changes proposed in this pull request

Change the various services that deal with edit_by  to use the new edit_by attribute on ApplicationForm

Guidance to review
An additional migration will need to happen which populates the edit_by attribute for each application form and then drops the edit_by column on the application_choices table.
Link to Trello card
https://trello.com/c/IbvLIdCn/1573-move-editby-to-application-form
Things to check

[x] This code doesn't rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

An additional migration will need to happen which populates the edit_by attribute for each application form

I think that should be part of this PR, right? Otherwise merging this will lead to every application having a edit_by: nil.

Yea sorry I should have made it explicit in the comments the backfill needed to go in first.

I think this should be good for a re-review now 👍 The application forms edit_by is now updated when the applcation_choice is with the flag off.

On the review app, this submitted application form has an application choice with a nil edit_by; I think this is just bad seed data. When I ran the migrations, it set the edit_by: nil on the main application form https://apply-for-te-1573-chang-l8jeb1.herokuapp.com/support/applications/2/audit


fix: [M3-8126] - Fix Linode Create form events based on feedback

Description 📝
Ignore me for now.
There are more changes to make in this PR. Opening it as a WIP because we will need its preview link to test with the backend.
TODO:

[ ] Revert the v2 changes after testing handleFormFocus.

Changes  🔄
List any change relevant to the reviewer.

...
...

Target release date 🗓
Please specify a release date to guarantee timely review of this PR. If exact date is not known, please approximate and update it as needed.
Preview 📷
Include a screenshot or screen recording of the change
:bulb: Use <video src="" /> tag when including recordings in table.

Before
After

📷
📷

How to test 🧪
Prerequisites
(How to setup test environment)

...
...

Reproduction steps
(How to reproduce the issue, if applicable)

...
...

Verification steps
(How to verify changes)

...
...

As an Author I have considered 🤔
Check all that apply

[ ] 👀 Doing a self review
[ ] ❔ Our contribution guidelines
[ ] 🤏 Splitting feature into small PRs
[ ] ➕ Adding a changeset
[ ] 🧪 Providing/Improving test coverage
[ ] 🔐 Removing all sensitive information from the code and PR description
[ ] 🚩 Using a feature flag to protect the release
[ ] 👣 Providing comprehensive reproduction steps
[ ] 📑 Providing or updating our documentation
[ ] 🕛 Scheduling a pair reviewing session
[ ] 📱 Providing mobile support
[ ] ♿  Providing accessibility support

Will reopen and update in the future.


Nothing is displayed

Hey I'm glad to see that how active you have been for resolving the problems with this plugin.
Here i have an issue,
I followed along your quick start guide.
Here is my Controller's index method:
public function index()     {         $nodes = $this->DataTables->find('Nodes', 'all', [             'contain' => ['Apps', 'Categories']         ]);         $this->set('nodes', $nodes);         $this->set('_serialize', array_merge($this->viewVars['_serialize'], ['nodes']));     }
Here is my index.ctp:
$options = [     'ajax' => [         'url' => $this->Url->build() // current controller, action, params     ],     'data' => $nodes,     'deferLoading' => $nodes->count(), // https://datatables.net/reference/option/deferLoading     'columns' => [         [             'name' => 'Nodes.id',             'data' => 'id',             'visible' => true,             'searchable' => false,         ],     ],     'order' => [0, 'asc'] // order by username ]; echo $this->DataTables->table('Nodes', $options, ['class' => 'table table-striped']);
In AppController i've also added helpers:
 public $helpers = [         'DataTables' => [             'className' => 'DataTables.DataTables'         ]     ];
public function initialize()     {         parent::initialize();         $this->loadComponent('DataTables.DataTables');     }
But when i browse to index.ctp, i get nothing, no error, no table nothing is being displayed.
I can't figure out what i'm doing wrong, can you please help me figure this out.
Here is my script and CSS in layout:
echo $this->Html->script([         'code.jquery.com/jquery.min.js',         '//cdn.datatables.net/1.10.11/js/jquery.dataTables.min.js',         'https://cdnjs.cloudflare.com/ajax/libs/datatables/1.10.11/js/dataTables.bootstrap.min.js',         'DataTables.cakephp.dataTables.js',     ], ['block' => true]);
$this->Html->css(['https://cdnjs.cloudflare.com/ajax/libs/datatables/1.10.11/css/dataTables.bootstrap.min.css'])

I believe you have to set the ajax.dataSrc option to 'nodes' in your example. See https://datatables.net/reference/option/ajax.dataSrc
So you would set $options = [ 'ajax' => [ 'dataSrc' => 'nodes', 'url' => $this->Url->build() …

No setting dataSrc didn't solved my problem.
here is my code:
$options = [     'ajax' => [ 'dataSrc' => 'nodes', 'url' => $this->Url->build()],     'data' => $nodes,     'deferLoading' => $nodes->count(), // https://datatables.net/reference/option/deferLoading     'columns' => [         [             'name' => 'Nodes.id',             'data' => 'id',             'visible' => true,             'searchable' => false,         ],     ],     'order' => [0, 'asc']  ]; echo $this->DataTables->table('Nodes', $options, ['class' => 'table table-striped']);

Did you check the Javascript console in your browser if there are any errors? This sounds like there is a problem on the client side. You can also use the 'view source' feature of your browser to see what is printed by the table() command.

Here is the error in console:
 Uncaught ReferenceError: initDataTables is not defined
Here is my view source:

I think you have an error in your script block, it reads

'//cdn.datatables.net/1.10.11/js/jquery.dataTables.min.js',

so I guess the protocol part of the URL is missing.

Could you solve your issue?


Account Switcher - Discord Source - [Issue Report]

Downloading site does not work, it shows URL error. Have tried with multiple browsers but still.

Download here: https://github.com/l0c4lh057/AccountSwitcher


Telegram web issue

If backspace is pressed in the Telegram Web chat, it will go back to the previous page

Resolved by #12

@chrfwow: Thanks to a fix by @maximbaz, it should be fixed now. I've uploaded the newest version to Chrome's WebStore and it should be available within an hour. I'm really sorry I let that bug slip through. I'll be increasing the tests I run before each version in the future.


Upgrading Saltcorn droplet from beta.17 to rc1 fails

Initially everything worked as expected, but after the usual warnings about deprecated packages nothing happened anymore. Foolishly enough I reloaded the page and the server has refused to connect ever since. I've restarted the droplet and accessed the console to manually restart saltcorn, but I get the following error message:
saltcorn@salt:/root$ saltcorn serve
Error reading mjmlconfig :  Error: EACCES: permission denied, open '/root/.mjmlconfig'
    at Object.openSync (node:fs:596:3)
    at Object.readFileSync (node:fs:464:35)
    at readMjmlConfig (/usr/local/lib/node_modules/@saltcorn/cli/node_modules/mjml-core/lib/helpers/mjmlconfig.js:38:43)
    at handleMjmlConfig (/usr/local/lib/node_modules/@saltcorn/cli/node_modules/mjml-core/lib/helpers/mjmlconfig.js:146:7)
    at Object.<anonymous> (/usr/local/lib/node_modules/@saltcorn/cli/node_modules/mjml-core/lib/index.js:506:27)
    at Module._compile (node:internal/modules/cjs/loader:1356:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1414:10)
    at Module.load (node:internal/modules/cjs/loader:1197:32)
    at Function.Module._load (node:internal/modules/cjs/loader:1013:12)
    at Module.require (node:internal/modules/cjs/loader:1225:19)
    at require (node:internal/modules/helpers:177:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/@saltcorn/cli/node_modules/mjml/lib/index.js:12:41)
    at Module._compile (node:internal/modules/cjs/loader:1356:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1414:10)
    at Module.load (node:internal/modules/cjs/loader:1197:32)
    at Function.Module._load (node:internal/modules/cjs/loader:1013:12) {
  errno: -13,
  syscall: 'open',
  code: 'EACCES',
  path: '/root/.mjmlconfig'
}
app-locale create error [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@saltcorn/cli/node_modules/@saltcorn/data/dist/app-locales'] {
  errno: -13,
  code: 'EACCES',
  syscall: 'mkdir',
  path: '/usr/local/lib/node_modules/@saltcorn/cli/node_modules/@saltcorn/data/dist/app-locales'
}
    Error: ENOENT: no such file or directory, open
    '/usr/local/lib/node_modules/<EMAIL_ADDRESS>    Code: ENOENT

As a side note: maybe it would be helpful to have an option in the CLI to upgrade/downgrade/install a different version in case an update makes the UI inaccessible

you current directory is /root to which you do not have write permissions

also maybe you did an upgrade as root?

you current directory is /root to which you do not have write permissions

:facepalm: true, however running from / yields the same error:
saltcorn@salt:/$ saltcorn serveapp-locale create error [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@saltcorn/cli/node_modules/@saltcorn/data/dist/app-locales'] {
  errno: -13,
  code: 'EACCES',
  syscall: 'mkdir',
  path: '/usr/local/lib/node_modules/@saltcorn/cli/node_modules/@saltcorn/data/dist/app-locales'
}
    Error: ENOENT: no such file or directory, open
    '/usr/local/lib/node_modules/<EMAIL_ADDRESS>    Code: ENOENT

also maybe you did an upgrade as root?

I doubt it, I simply pressed the upgrade button in the system settings. Hadn't even logged into the console as root before that

you also dont have write permission on / you should run from home (cd ~). But this will only solve the mjml config problem.
Check which saltcorn is running by which saltcorn. On the digitalocean droplets, and i believe also with systems installed with npx saltcorn-install, this should be /home/saltcorn/.local/bin/saltcorn - it should be somewhere in the saltcorn users home dir.
but for some reason your system is running from somewhere in /usr/local/lib - you could do npm install -g @saltcorn/cli --unsafe as saltcorn, then check if /home/saltcorn/.local/bin/saltcorn exists, if it does then delete the dir that which saltcorn is running from as root

Well this has produced a new error so I'd call it a success:
saltcorn@salt:~$ saltcorn serve
node:internal/errors:496
    ErrorCaptureStackTrace(err);
    ^

Error: Code: ERR_MODULE_NOT_FOUND; The provided arguments length (2) does not match the required ones (3).
This is caused by either a bug in Node.js or incorrect usage of Node.js internals.
Please open an issue with this stack trace at https://github.com/nodejs/node/issues

    at new NodeError (node:internal/errors:405:5)
    at assert (node:internal/assert:14:11)
    at getMessage (node:internal/errors:451:5)
    at new NodeError (node:internal/errors:379:21)
    at legacyMainResolve (node:internal/modules/esm/resolve:218:9)
    at packageResolve (node:internal/modules/esm/resolve:903:14)
    at moduleResolve (node:internal/modules/esm/resolve:973:20)
    at defaultResolve (node:internal/modules/esm/resolve:1193:11)
    at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:403:12)
    at ModuleLoader.resolve (node:internal/modules/esm/loader:372:25) {
  code: 'ERR_INTERNAL_ASSERTION'
}

Node.js v18.19.0

I had to remove the /usr/local/bin saltcorn, seems I installed the CLI as root again because naturally the root user had no access to it. Any idea what might have caused this new error?

never seen that, any idea @christianhugoch ?

best thing to do is probably start again:
rm -rf /home/saltcorn/.local/lib/node_modules
npm install -g @saltcorn/cli --unsafe
npm install -g sd-notify

That (and restarting the droplet) resolved it, thank you very much!


Fix the Travis CI status badge URL

Does what it says on the box: the badge is green now.
Additionally, all the links that were pointing to the old  iponweb/luavela repo were updated with luavela/luavela.

@igormunkin - well you can merge it, can't you?

@eliasdaler, it seems either I don't have the proper grants or maybe the new github interface is too complicated for me -- anyway, I failed to find the green button.
Nevertheless, I guess our rule for two LGTMs still stands, doesn't it?
Summon @igelhaus for the help.

Thanks for help guys! I was quite busy at work :-(


github action enforce pr continuous integration rules

implement #233
Github action plays the continuous integration pipeline, i.e. mypy, pytest and npm build when opening a Pull Request.

As a developper, I can it in local using the command alfred ci. I can also run specific part of pipeline using alfred.ci.mypy or alfred ci.pytest

More info
the PR also fix the type for windows developper when they use mypy.
Todo

[x] configure github action for controlling branches and pull-requests on ubuntu (python 3.10, 3.11, 3.12)
[x] configure github action for controlling branches and pull-requests on macos (python 3.10, 3.11, 3.12)
[x] configure github action for controlling branches and pull-requests on windows (python 3.10, 3.11, 3.12)
[x] implement the alfred ci.mypy command
[x] implement the alfred ci.pytest command
[x] implement the alfred build pipeline
[x] implement the alfred ci pipeline
[x] github action badges for continuous integration appear on the readme

Should we coordinate the merge of this with the rest of the dev team?
Since I think it might disturb their work a bit if they're not aware it's going on

Should we coordinate the merge of this with the rest of the dev team?
Since I think it might disturb their work a bit if they're not aware it's going on

We can, currently the build is running smoothly : https://github.com/FabienArcellier/streamsync/pull/23


Elasticsearch 1.5

@mparent61 @MichaelButkovic
Kind of dipping my toes in the water here. Basically just copied the configuration for the elasticsearch role.

This repo is deprecated, my fault for not marking it / deleting it.
Everything in this repo was moved into a subfolder of ansible-playbooks, so should be easy move: https://github.com/theonion/ansible-playbooks/tree/master/roles


Action with no text

When you create an action that just has an image and no text, you get a flash of [No Text] before the image renders.

On which platform?

If Android; possibly related to @mpost's fix of #721

Platform is android. Yes it is the same issue, I just had the verbiage wrong. I tested this with tabris 1.7 and it is still happening for me. I will try to put together an example tonight.

The described behavior is correct. We show this place holder text upfront.

https://github.com/eclipsesource/tabris-js/issues/721 is in fact not the attempt to remove this place holder text but to make sure that user provided text is always shown.
When loading the image locally you would not see the text when the images are loaded very quick.
On a side note... you should ALWAYS provide a text for your actions since you can long press on an action showing you a tooltip of the meaning.

We have removed the placeholder text for Tabris.js 2.0. Closing this for now.


cutekeayboard are not work with InputFields in Dialog or Popup

When you have a Dialog or Popup with a Inputfield an focus them, the keyboard will be open in the background.
The reason i have found in the patch of QtVirtualKeyboard. The Dialog and Popup seams to be exec() instead of show(), that blocks all other work.
The Patch make the current inputField to the parent of the InputPanel. So the InputPanel is always enabled. I have tried by my self and it solve the issue.
https://codereview.qt-project.org/c/qt/qtvirtualkeyboard/+/292472/10

Closed with #23


make -C infer fails on Mac OSX

I tried to follow all the steps carefully, but when I got to this stage it failed. I'm trying to build for using with Xcode/Objective C:
make -C infer
...
...
INFER_ANALYZE_MODELS=1 /Users/Stuart/infer/infer/models/c/../../bin/infer -o /Users/Stuart/infer/infer/models/c/out --models_mode --no_failures_allowed -- make -C src -j
gcc -c -w  glib.c -o glib.o
gcc -c -w  infer_builtins.c -o infer_builtins.o
gcc -c -w  libc_basic.c -o libc_basic.o
gcc -c -w  math.c -o math.o
gcc -c -w  wchar.c -o wchar.o
gcc -c -w  wctype.c -o wctype.o
gcc -c -w  xlib.c -o xlib.o
In file included from math.c:9:
./infer_builtins.h:9:10: fatal error: 'stdlib.h' file not found
#include <stdlib.h>
         ^
In file included from glib.c:9:
./infer_builtins.h:9:10: fatal error: 'stdlib.h' file not found
#include <stdlib.h>
         ^
In file included from libc_basic.c:25:
./infer_builtins.h:9:10: fatal error: 'stdlib.h' file not found
#include <stdlib.h>
         ^
In file included from wchar.c:9:
./infer_builtins.h:9:10: fatal error: 'stdlib.h' file not found
wctype.c:10:10: fatal error: 'wctype.h' file not found
#include <stdlib.h>
         ^
#include <wctype.h>
         ^
In file included from xlib.c:9:
./infer_builtins.h:9:10: fatal error: In file included from 'stdlib.h'infer_builtins.c :file9 not:
 found./infer_builtins.h:
9:10: fatal error: 'stdlib.h' file not found
#include <stdlib.h>
         ^
#include <stdlib.h>
         ^
1 error generated.
1 error generated.
1 error generated.
1 error generated.
1 error generated.
make[3]: *** [xlib.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [glib.o] Error 1
make[3]: *** [infer_builtins.o] Error 1
make[3]: *** [wctype.o] Error 1
make[3]: *** [wchar.o] Error 1
1 error generated.
1 error generated.
make[3]: *** [math.o] Error 1
make[3]: *** [libc_basic.o] Error 1
make[2]: *** [run_infer] Error 2
make[1]: *** [/Users/Stuart/infer/infer/models/../lib/specs/c_models] Error 2
make: *** [clang] Error 2

Hello @tettoffensive,
Have you installed the command-line tools? If not, could you please try running:
xcode-select --install

I ran it before and it just said this:
$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

I wonder if it has anything to do with the facebook-clang-plugin not being installed properly? I tried following the setup there but I don't really know how the if the custom clang I compiled is being used or not?

reinstalled manually from download at developer.apple.com


Show how to combine a layer with a render function and a standard layer

See #15758. This change should make it easier for users who want to combine standard layers with a layer with a custom render function.

Preview of the updated example: https://deploy-preview-15762--ol-site.netlify.app/en/latest/examples/svg-layer.html


FFXIVLauncher

Project description
Launcher for Final Fantasy XIV
There is a Arch Linux PKGBUILD for example here
First steps
pkgs.buildDotnetModule rec {
    pname = "FFXIVQuickLauncher";
    version = "6.2.31";

    src = pkgs.fetchgit {
        url = "https://github.com/goatcorp/FFXIVQuickLauncher";
        rev = version;
        sha256 = "sha256-TZAn0AC6ovGylHLGE7EO9BCjbyDEBk7n/8+XaZzr27A=";
        leaveDotGit = true;
     };

    projectFile = "src/XIVLauncher.Core/XIVLauncher.Core.csproj";

    dotnetFlags = [ "--runtime linux-x64" ];
    #dotnetBuildFlags = [ "--sc" ];

    nativeBuildInputs = [ pkgs.git ];
    runtimeDeps = [ pkgs.SDL2 ];

    dotnet-sdk = pkgs.dotnetCorePackages.sdk_6_0;
    dotnet-runtime = pkgs.dotnetCorePackages.runtime_6_0;

    nugetDeps = ./xivdeps.nix;
 }

This fails at runtime with
A fatal error was encountered. The library 'libhostpolicy.so' required to execute the application was not found in '/nix/store/yp2hd12wap9pz99yyhy3fybwm745ahhw-dotnet-runtime-6.0.4'.
Failed to run as a self-contained app.
  - The application was run as a self-contained app because '/nix/store/bdv1832m7wyd0af1169pxxnfw3pwn6nf-FFXIVQuickLauncher-6.2.31/lib/FFXIVQuickLauncher/XIVLauncher.Core.runtimeconfig.json' did not specify a framework.
  - If this should be a framework-dependent app, specify the appropriate framework in '/nix/store/bdv1832m7wyd0af1169pxxnfw3pwn6nf-FFXIVQuickLauncher-6.2.31/lib/FFXIVQuickLauncher/XIVLauncher.Core.runtimeconfig.json'.

And I don't have enough CSharp experience to understand this.
To generate xivdeps.nix you can download the source code of XIVLauncher, go into src/XIVLauncher.Core/ and run dotnet restore -r linux-x64 XIVLauncher.Core.csproj --packages ./nuget_tmp.packages, followed by nuget-to-nix ./nuget_tmp.packages > xivdeps.nix. You can get both dependencies with nix shell nixpkgs#dotnet-sdk nixpkgs#nuget-to-nix.
Metadata

homepage URL: https://goatcorp.github.io/
source URL: https://github.com/goatcorp/FFXIVQuickLauncher
license: GPLv3
platforms: linux

Fixed by #169121

To generate xivdeps.nix you can download the source code of XIVLauncher, go into src/XIVLauncher.Core/ and run dotnet restore -r linux-x64 XIVLauncher.Core.csproj --packages ./nuget_tmp.packages, followed by nuget-to-nix ./nuget_tmp.packages > xivdeps.nix. You can get both dependencies with nix shell nixpkgs#dotnet-sdk nixpkgs#nuget-to-nix.

A passthru script to generate the update script is actually provided by buildDotnetModule, you can build it with nix build -L nixpkgs#xivlauncher.fetch-deps. Running the result script that generates should push the generated lockfile to /tmp.


Display rotated 180deg

Hi @mrfaptastic ,
i just downloaded master and tried. Without any configuration change. the display was rotated 180 Degree from the previous 2.0.6 library version. I have change phase and use different driver but did not fix the issue. What was the update for this feature or where can i look for the fix?
Thanks,
TS

update:
only happen for single 1x1 panel configuration with virtual matrix panel. did not occur for chained panel. chained panel was correct as per existing configuration and behavior (serpentine, top down).
thanks!

What happens with setRotate(true) or setRotate(false)?

hi @mrfaptastic ,
single 1x1 panel configuration:

no setRotate in setup() after initialization cause the orientation to 180degree from the correct orientation (flip/upside down).
setRotate(true) in setup() after initialization cause the orientation to 90degree from the correct orientation(display is on right side and rotated vertically).
setRotate(false) in setup() after initialization is same as no 1.

2x3 panel configuration:
setRotate(true) in setup() after initialization cause the orientation to 270degree (display is on left side and rotated vertically).
correct orientation by definition is the correct display, on old version library where the input pin and the controller are at the right side of the display. i guess set rotate does not effected by this issue.

Hi @drvkmr - Hopefully you can find the code again to help implement the rotation. setRotate(bool) was a temporary hack which we can remove.

@mrfaptastic I have updated the rotation here, can you have a look and let me know what you think?
I can then do a pull request.
https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-DMA/commit/53ecf54c56babf9d557ff76e0eef254755199060

Hi @drvkmr - Thanks for this contribution. A couple of things.
Please rename the function to 'setRotation'  so it's aligned to Adafruit_GFX - I know this will break compatibility, but that is fine.
I need to test this with some physical panels, but I think we are missing the part where we recalculate the VirtualResX and Y, and swap the rows and columns around etc. as well... as  the code does the x/y co-ord mapping, what happens if somebody has a non-square chain of panels? The x or y co-ords would simply be out of bounds then and ignored? I don't know - perhaps you can test its use in the real word with say a 2x3 grid of panels or something.
https://github.com/adafruit/Adafruit-GFX-Library/blob/5ea4be3ffeae918899aeec8cbb67f87359cf0026/Adafruit_GFX.cpp#L1316


query traces by tag

Please answer these questions before submitting your issue.

Why do you submit this issue?
Bug

Bug

Which version of SkyWalking, OS, and JRE?
SkyWalking 8.3

What happened?
For example

plugin.http.include_http_headers=${SW_INCLUDE_HTTP_HEADERS:userId}
add 'http.headers' in 'core/default/searchableTracesTags'
Add a header value (userId=zhangsan) to a request
Follow the tag value (http.headers=userId=[zhangsan]) on Skywalking's tracking query page
Cannot query anything

Requirement or improvement
query body :  {"query":"query queryTraces($condition: TraceQueryCondition) {\n  data: queryBasicTraces(condition: $condition) ...
but Parsing tags parameters is "tags":[{"key":"http.headers","value":"userId"}], rather than "tags":[{"key":"http.headers","value":"userId=[zhangsan]"}]

Do you really have this tag in the span? Could you take a look at your trace?

Do you really have this tag in the span? Could you take a look at your trace?

Your query condition seems strange, shouldn't it be http.headers=userId=[zhangsan]? Why could you ignore part of the value?

Your query condition seems strange, shouldn't it be http.headers=userId=[zhangsan]? Why could you ignore part of the value?

Sorry, it's a little messy...
Here is the data stored in ES7,the key tags are stored 'http.headers' key-val...
{
"_index": "my-application_segment-20210108",
"_type": "_doc",
"_id": "94d250ef7e5944a898d1491963421abc.39.16101060532900008",
"_version": 1,
"_score": 1,
"_source": {
"trace_id": "94d250ef7e5944a898d1491963421abc.39.16101060532900009",
"endpoint_name": "{GET}/show",
"latency": 1,
"end_time":<PHONE_NUMBER>291,
"endpoint_id": "QU06OmFsYXJtMDE=.1_e0dFVH0vc2hvdw==",
"service_instance_id": "QU06OmFsYXJtMDE=.1_OGYwODdlZWNmNWIyNGYwNjk0NjJkZmI1YzBmMTk3YzZAMTkyLjE2OC40Ni4x",
"version": 3,
"tags": [
"http.headers=userId=[zhangsan]",
"http.method=GET"
],
"start_time":<PHONE_NUMBER>290,
"data_binary": "CjU5NGQyNTBlZjdlNTk0NGE4OThkMTQ5MTk2MzQyMWFiYy4zOS4xNjEwMTA2MDUzMjkwMDAwORI1OTRkMjUwZWY3ZTU5NDRhODk4ZDE0OTE5NjM0MjFhYmMuMzkuMTYxMDEwNjA1MzI5MDAwMDgagAEQ////////////ARiqxbKO7i4gq8Wyju4uMgp7R0VUfS9zaG93SANQDmIhCgN1cmwSGmh0dHA6Ly9sb2NhbGhvc3Q6ODA4OS9zaG93YhIKC2h0dHAubWV0aG9kEgNHRVRiHgoMaHR0cC5oZWFkZXJzEg51c2VySWQ9W21hbGl1XSILQU06OmFsYXJtMDEqLThmMDg3ZWVjZjViMjRmMDY5NDYyZGZiNWMwZjE5N2M2QDE5Mi4xNjguNDYuMQ==",
"service_id": "QU06OmFsYXJtMDE=.1",
"statement": "{GET}/show - 94d250ef7e5944a898d1491963421abc.39.16101060532900009",
"time_bucket":<PHONE_NUMBER>4053,
"is_error": 0,
"segment_id": "94d250ef7e5944a898d1491963421abc.39.16101060532900008"
}
}
Here is the graphql query body:
{
"query": "query queryTraces($condition: TraceQueryCondition) {
data: queryBasicTraces(condition: $condition) {
traces {
key: segmentId
endpointNames
duration
start
isError
traceIds
}
total
}}",
"variables": {
"condition": {
"queryDuration": {
"start": "2021-01-01",
"end": "2021-01-08",
"step": "DAY"
},
"traceState": "ALL",
"paging": {
"pageNum": 1,
"pageSize": 15,
"needTotal": true
},
"queryOrder": "BY_START_TIME",
"tags": [
{
"key": "http.headers",
"value": "userId"
}
]
}
}
}

Sorry, it's a little messy...
Here is the data stored in ES7,the key tags are stored 'http.headers' key-val...
{
"_index": "my-application_segment-20210108",
"_type": "_doc",
"_id": "94d250ef7e5944a898d1491963421abc.39.16101060532900008",
"_version": 1,
"_score": 1,
"_source": {
"trace_id": "94d250ef7e5944a898d1491963421abc.39.16101060532900009",
"endpoint_name": "{GET}/show",
"latency": 1,
"end_time":<PHONE_NUMBER>291,
"endpoint_id": "QU06OmFsYXJtMDE=.1_e0dFVH0vc2hvdw==",
"service_instance_id": "QU06OmFsYXJtMDE=.1_OGYwODdlZWNmNWIyNGYwNjk0NjJkZmI1YzBmMTk3YzZAMTkyLjE2OC40Ni4x",
"version": 3,
"tags": [
"http.headers=userId=[zhangsan]",
"http.method=GET"
],
"start_time":<PHONE_NUMBER>290,
"data_binary": "CjU5NGQyNTBlZjdlNTk0NGE4OThkMTQ5MTk2MzQyMWFiYy4zOS4xNjEwMTA2MDUzMjkwMDAwORI1OTRkMjUwZWY3ZTU5NDRhODk4ZDE0OTE5NjM0MjFhYmMuMzkuMTYxMDEwNjA1MzI5MDAwMDgagAEQ////////////ARiqxbKO7i4gq8Wyju4uMgp7R0VUfS9zaG93SANQDmIhCgN1cmwSGmh0dHA6Ly9sb2NhbGhvc3Q6ODA4OS9zaG93YhIKC2h0dHAubWV0aG9kEgNHRVRiHgoMaHR0cC5oZWFkZXJzEg51c2VySWQ9W21hbGl1XSILQU06OmFsYXJtMDEqLThmMDg3ZWVjZjViMjRmMDY5NDYyZGZiNWMwZjE5N2M2QDE5Mi4xNjguNDYuMQ==",
"service_id": "QU06OmFsYXJtMDE=.1",
"statement": "{GET}/show - 94d250ef7e5944a898d1491963421abc.39.16101060532900009",
"time_bucket":<PHONE_NUMBER>4053,
"is_error": 0,
"segment_id": "94d250ef7e5944a898d1491963421abc.39.16101060532900008"
}
}
Here is the graphql query body:
{
"query": "query queryTraces($condition: TraceQueryCondition) {
data: queryBasicTraces(condition: $condition) {
traces {
key: segmentId
endpointNames
duration
start
isError
traceIds
}
total
}}",
"variables": {
"condition": {
"queryDuration": {
"start": "2021-01-01",
"end": "2021-01-08",
"step": "DAY"
},
"traceState": "ALL",
"paging": {
"pageNum": 1,
"pageSize": 15,
"needTotal": true
},
"queryOrder": "BY_START_TIME",
"tags": [
{
"key": "http.headers",
"value": "userId"
}
]
}
}
}

Isn't the tag clear enough? "http.headers=userId=[zhangsan]" has in. your data. Why do you use different value to query?

Isn't the tag clear enough? "http.headers=userId=[zhangsan]" has in. your data. Why do you use different value to query?

the tags data stored in ES7 is "http.headers=userId=[zhangsan]",so I follow the tag value (http.headers=userId=[zhangsan]) on Skywalking's tracking query page,but when I click on the query,but the parsed graphql query body is
"tags": [
{
"key": "http.headers",
"value": "userId"
}
],
have I made myself clear? follow the tag value (http.method=GET) on Skywalking's tracking query page is ok.

the tags data stored in ES7 is "http.headers=userId=[zhangsan]",so I follow the tag value (http.headers=userId=[zhangsan]) on Skywalking's tracking query page,but when I click on the query,but the parsed graphql query body is
"tags": [
{
"key": "http.headers",
"value": "userId"
}
],
have I made myself clear? follow the tag value (http.method=GET) on Skywalking's tracking query page is ok.

@Fine0830 Could you take a look at this? It seems if there is = in the value, the UI doesn't put the right GraphQL parameter.

@Fine0830 Could you take a look at this? It seems if there is = in the value, the UI doesn't put the right GraphQL parameter.

@Fine0830 Could you take a look at this? It seems if there is = in the value, the UI doesn't put the right GraphQL parameter.

Sure. Let me find out it.

@Fine0830 Could you take a look at this? It seems if there is = in the value, the UI doesn't put the right GraphQL parameter.

Sure. Let me find out it.

As there are two =, they are conflict. Please use other symbols to replace one of them.

As there are two =, they are conflict. Please use other symbols to replace one of them.

As there are two =, they are conflict. Please use other symbols to replace one of them.

Could we use firstIndexOf to separate key and value?

As there are two =, they are conflict. Please use other symbols to replace one of them.

Could we use firstIndexOf to separate key and value?

key=value as the value of tag is caused by some plugins' implementation. @Fine0830

key=value as the value of tag is caused by some plugins' implementation. @Fine0830

Alright.....

Alright.....


Determine default behavior for stripping slashes from form field values

Expected behavior
I would expect form fields with string values to be properly unescaped/stripped of slashes when calling $form->get().
For example, if $_POST looks like [ "username" => "Coby'" ], I'd expect $form->get('username') to be the string Coby'.
Actual behavior
Instead, it includes a slash, e.g. Coby\'. We should probably strip slashes by default for strings, but there may be unintended consequences of this.

For reference: https://sitecrafting.atlassian.net/browse/AWBPPE-185
Fix: https://bitbucket.org/sitecrafting/awb-rebound-and-recovery/commits/70a8ae94


Medium and low priority executables are never run

The 1.2.0 release included a significant bug that prevented all medium and low priority executables from ever running. As a result, the switch reactor, event recorder, and data recorder were never run.

Fixed in 1.2.1.


how to add some ops when it does not support

I want to turn a tf model to coreml,when I use this tool to convert, it issues:
NotImplementedError: Unsupported Ops of type: Range,GatherNd,FloorDiv,SparseTensorDenseAdd,Rank,AddN,ScatterNd

I want to know how I can add some ops to it when it does not support?
Thank you!

Most of these ops are not supported by CoreML so they cannot be added to tfcoreml.
To implement unsupported layers in CoreML, there is an option of using custom layers.
However, tfcoreml does not currently provide a way to insert custom layers in the .mlmodel directly during conversion. An issue is open tracking that (#120). This will hopefully be added soon.
Before trying to add unsupported TF ops as CoreML custom layers, it might be worthwhile to figure out where these ops are being used in your TF model. Maybe they can be removed by using the TF graph transform tool and optimizing the TF graph.
You can use netron to visualize the frozen .pb file. Are these ops used in the pre-processing or post processing parts of the model? If yes, you can strip the graph of these ops and convert the remaining portion.

aseemw, thank you for your reply, I have used the TF graph transform tool to optimize the model, and it is useful, but there are ops that can't remove, I'll see the custom layers to see how to solve this.
NotImplementedError: Unsupported Ops of type: GatherNd,FloorDiv,SparseTensorDenseAdd,AddN,ScatterNd

can you attach the model or a Netron snapshot that shows how these unsupported ops are connected to the rest of the model architecture.

@aseemw I use tf.sparse_add and tf.gather_nd to mimic tf.nn.max_pool_with_argmax on CPU, because tf.nn.max_pool_with_argmax is only implemented on GPU, and I use  tf.scatter_nd to implement an unpooling op, it takes max values and their index, output an unpool maxtrix
def unpool(net, mask, ksize=[1, 2, 2, 1], scope='unpool'):
# Thank you, @https://github.com/Pepslee
  with tf.name_scope(scope):
    input_shape = net.get_shape().as_list()
    #  calculation new shape
    output_shape = (input_shape[0], input_shape[1] * ksize[1], input_shape[2] * ksize[2], input_shape[3])
    # calculation indices for batch, height, width and feature maps
    one_like_mask = tf.ones_like(mask)
    batch_range = tf.reshape(tf.range(output_shape[0], dtype=tf.int64), shape=[input_shape[0], 1, 1, 1])
    b = one_like_mask * batch_range
    y = mask // (output_shape[2] * output_shape[3])
    x = mask % (output_shape[2] * output_shape[3]) // output_shape[3]
    feature_range = tf.range(output_shape[3], dtype=tf.int64)
    f = one_like_mask * feature_range
    # transpose indices & reshape update values to one dimension
    updates_size = tf.size(net)
    indices = tf.transpose(tf.reshape(tf.stack([b, y, x, f]), [4, updates_size]))
    values = tf.reshape(net, [updates_size])
    ret = tf.scatter_nd(indices, values, output_shape)
    return ret

See PR #179


[ci:component:github.com/gardener/autoscaler:v1.21.0->v1.22.1]

Release Notes:
Gardener autoscaler now in sync with upstream v1.22.3

sync the changes till v1.22.0 of upstream autoscaler

IT retry to scale up and down the pod in case on conflicts. Retry of 5 times with interval of 10 millisecond is kept

/close
in favour of https://github.com/gardener/gardener/pull/6163


support multi thread?

Does hecate have some option to open multi thread to speed up process video?

It already does in some parts: Look for #pragma omp parallel for in video_parser.cpp.


Restrict gene curation to GCEPs only

The GCI was set up as a community curation tool, similar to the VCI, however it is now solely used by GCEPs. This ticket is to restrict access to the GCI so that it can only be edited by GCEPs.
Ability to create GDMs restricted to GCEPs (completed Dec 2020)
Ability to edit GDMs restricted to GCEPs:
Currently under discussion/scoping. Short term, only allow editors logged in as GCEPs to make any edits in the GCI. Longer term, make each GDM owned by a GCEP and then only that GCEP can edit it until the ownership is changed.
Replaced https://github.com/ClinGen/clincoded/issues/2289

SP ticket: https://broadinstitute.atlassian.net/browse/CSP-162


VIH-8482 notify not sending emails to users booked on to a hearing

JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/VIH-8482
Change description
Notify not sending emails to users booked on a hearing
This change checks if notify API request is unsuccessful and sends the email again if it is
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x ] No

/azp run

run /azp

/azp run

/azp run

/azp where

/azp where

/azp run


Need any help?

Hey, if u need any help with the plugin,
I can help :)

Thanks for the offer!
Any contributions towards the plugin development would be greatly appreciated, please feel free to submit any changes you'd like to see within the code. We have a to-do list here, which includes the features which need tackling next.

Do you have skype?

There's a Nameless Discord chat available here :)

Pull requested some changes.

and im almost done with a new getuser command.

I'll mark this issue as closed :)


chore(si): Turn off auto-deploy to tools-prod

We need to be in flux during the authoring stability project

bors merge


Doc Action URL CLI Flag

Document how to get an action and web action URL.

@bjustin-ibm, please review.

Added link to REST interface doc.

Thanks.


Fix bug in lbl!~".+" postings for matchers shortcut

We were appending to the wrong slice, so instead of removing values, we were adding them.

@jan--f do you think we should cherry-pick this into v3.0 and cut a bugfix release?

Yeah, I checked whether the bug is in the release-3.0 branch, it's not there.

Even better. Thanks for checking.


[stable/openebs]: update helm chart to 2.10.0

update chart version
update values
update README

Signed-off-by: Akhil Mohan<EMAIL_ADDRESS>Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/openebs])

do you want to send another pr to update dependency chart version?

Nope, Will do it in the same PR. Thought I will update it only once the charts are available.
Also e2e uses the helm chart from this PR during helm update testing. cc: @nsathyaseelan

@shovanmaity Updated the dependency charts in the PR.

Hi @akhilerm  can you please include this patch in this PR?
0001-fix-helm-chart-fix-indentation-issue-for-webhook-cle.txt
ref -
https://github.com/openebs/charts/pull/225#discussion_r651406055
https://github.com/openebs/charts/pull/225#discussion_r651406260

Done @shovanmaity

Done @shovanmaity

Thank you!


Support empty inputs for jnp.linalg.pinv and jnp.linalg.svd

Fixes #5331

Would a better fix be to make lax.svd do something sensible for (0, 0) arrays? Would this code then work unmodified?

Would a better fix be to make lax.svd do something sensible for (0, 0) arrays? Would this code then work unmodified?

Maybe - I chose this approach because it's what np.linalg.pinv does: https://github.com/numpy/numpy/blob/31647f1b3e56c2f2a471cd2c3a583311534173f8/numpy/linalg/linalg.py#L1997-L2000

Maybe - I chose this approach because it's what np.linalg.pinv does: https://github.com/numpy/numpy/blob/31647f1b3e56c2f2a471cd2c3a583311534173f8/numpy/linalg/linalg.py#L1997-L2000

But I'm looking at fixing the svd case; I'll see if this fix comes along for free.

But I'm looking at fixing the svd case; I'll see if this fix comes along for free.

Yes, this is fine, but I have a preference for avoiding special cases when they can fall out of a general case...

Yes, this is fine, but I have a preference for avoiding special cases when they can fall out of a general case...

Turns out this was easy to check, becuase svd of an empty array works on GPU. That leads to:
>>> jnp.linalg.pinv(jnp.zeros((0, 0))
ValueError: zero-size array to reduction operation max which has no identity

So a special case will be necessary one way or another.

Turns out this was easy to check, becuase svd of an empty array works on GPU. That leads to:
>>> jnp.linalg.pinv(jnp.zeros((0, 0))
ValueError: zero-size array to reduction operation max which has no identity

So a special case will be necessary one way or another.

Hmm, on second thought, specifying initial=-jnp.inf in the reduction is enough to fix pinv as long as SVD works. I think I'll go that route.

Hmm, on second thought, specifying initial=-jnp.inf in the reduction is enough to fix pinv as long as SVD works. I think I'll go that route.

OK, fixed the SVD as well.

OK, fixed the SVD as well.

Complex JVP test is failing, but this should be fixed by #5225

Complex JVP test is failing, but this should be fixed by #5225

Pushed a few minor tweaks to fix TPU errors

Pushed a few minor tweaks to fix TPU errors


Update eval_tensorrt_onnx.py

I think this should be updated as follows to be passed to draw_instance_predictions.
It can be fixed from another place as well, but I went with the above solution for simplicity.

You are right. I was personally changing  the line 378 in the visualizer from detectron2 by adding .pred_masks.tensor but nice solution.


Add RF API to Induction Matrix.

I use RFTools' screens to display information about my base.
While these work fine with Dynamic Tanks and the Fluid Modules for RFTools, it doesn't work for the Induction Matrix and the Energy Modules. Trying to use an Energy Module on the induction port, the only mode on the module that will work is RF/t. RF and RF% both show up as completely blank.
I have spoken to the devs of RFTools, and they say that Mekanism needs to support the RF API (I assume they mean https://github.com/CoFH/RedstoneFlux-API) to have this properly supported.

tell rftools to support tesla

I'll make a mention to them, thanks. It would be great if it could still be looked into tho.

Mekanism does support rf (cofh version), tesla (although it seems to contain some bugs). Only thing that isn't supported is Forge Energy.

Hm, then something is a little weird. I'm using HermitPack 1.5.1. I'll talk with McJty and see what he thinks. @ThatGamerBlue , I might work on it as well, schedule depending this weekend.

@thommy101 do you happen to know what bugs there might be?

I do happen to know what bugs there are:https://github.com/aidancbrady/Mekanism/issues/4116#issuecomment-270376948

Ouch, that doesn't look trivial to fix.


v1.12 Backports 2023-03-15

[ ] #24085 (@tommyp1ckles)

Once this PR is merged, you can update the PR labels via:
for pr in 24085; do contrib/backporting/set-labels.py $pr done 1.12; done

or with
make add-labels BRANCH=v1.12 ISSUES=24085

/test-backport-1.12

k8s-1.17-kernel-4.9 failed due to etcd server timeout


Fixed bearer token casing - changed 'bearer' to 'Bearer' as per OAuth Spec

Supercedes #197

RFC 6749 (Section 5.1) states that the token_type field is case insensitive.

token_type
REQUIRED.  The type of the token issued as described in Section 7.1.  Value is case insensitive.

On the other hand, the HTTP "Authorization" header is required to exactly match "Bearer" (case sensitive).
RFC 6750 (Section 1.1):

Unless otherwise noted, all the protocol parameter names and values are case sensitive.

RFC 6750 (Section 2.1):

credentials = "Bearer" 1*SP b64token

RFC 6750 (Section 4) shows an example token response which uses "Bearer" with a capital B:

"token_type":"Bearer",

So, while it's not required per spec to change the spelling in the token response, it's probably more transparent and easier to follow.


Added missing topic name from command in step 3.1

Desired topics to subscribe to are /turtle1/cmd_vel and /turtle1/pose

Thanks for the update!


Refactor thingsColor

Currently, the color is stored in a totally separate object for no apparent reason. It makes more sense for the thing or community object itself to have the color attached directly to it, rather than somewhere else.

Migrated the color info to the object itself.


FATAL ERROR: Too many stacked strings

I have a large database (817718 facts) in the form of:
actor(actor_519105,m).
actor(actor_524655,m).
actor(actor_475182,m).
actor(actor_370794,m).
actor(actor_389977,m).
actor(actor_213427,m).
actor(actor_380131,m).
actor(actor_302008,m).
actor(actor_171966,m).
actor(actor_291,m).
...

When I try to run:
from pyswip import Prolog

prolog = Prolog()
prolog.consult('test.pl')
for r in prolog.query('actor(A,_)'):
    print(r)

then is crashes with:
{'A': 'actor_44508'}
{'A': 'actor_60096'}
{'A': 'actor_66141'}
{'A': 'actor_95401'}
....
[FATAL ERROR: at Thu Aug 27 17:32:11 2020
        Too many stacked strings]

Also, if instead of print(r) I just put pass, it crashes as well.
If I do the same in Prolog then is succeeds without any issues:
['test.pl'].
set_prolog_flag(answer_write_options,[max_depth(0)]).
findall(A, actor(A,_), L).

If I use findall in Python, like:
L = list(prolog.query('findall(A, actor(A,_), L)'))[0]['L']
for r in L:
    print(r.value)

then it crashes as well.
With a smaller database this doesn't happen.
Any ideas?

I traced the issue to PL_get_chars, which crashes after a large number of query results.
Does that come from libswipl?

Saw this, don't know if it is relevant but better to have seen it and decide than not.
https://github.com/SWI-Prolog/swipl-devel/commit/ab1a13845ef5ff8c7797c2c6c7d4a86890311e99


[DOCS]: Write Installation Guide

Draft a comprehensive guide that outlines the step-by-step process for installing and setting up Dot-Box locally on different operating systems (Windows, macOS, Linux).
Could you please assign me.
Significance of the changes made
By providing clear installation instructions, we can lower the barrier for new users to get started with Draw-it-out, encouraging wider adoption of the application.
Thank You

If you have any doubt you can directly send message on our discord (https://discord.gg/rZb46cCMmK), we have created separate channels for all projects...
Thank you :)


Uniformed whitespace

Thanks
Sent from my iPod

On Sep 26, 2015, at 7:05 PM, Karthik VJ<EMAIL_ADDRESS>wrote:
Merged #34.
—
Reply to this email directly or view it on GitHub.


2017-01 DoneJS Report

This should include a summary of the monthly metrics from https://github.com/donejs/donejs/issues/726.

Issue moved to donejs/developer-relations #1 via ZenHub


face_recognition:SyntaxError: invalid syntax

face_recognition version:19.3
Python version:2.7.3
Operating System:linux

Description
face_recognition ./pictures_of_people_i_know/ ./unknown_pictures/
File "", line 1
face_recognition ./pictures_of_people_i_know/ ./unknown_pictures/
^
SyntaxError: invalid syntax
What I Did
Paste the command(s) you ran and the output.
If there was a crash, please include the traceback here.

ace_recognition ./pictures_of_people_i_know/ ./unknown_pictures/
File "", line 1
face_recognition ./pictures_of_people_i_know/ ./unknown_pictures/
^
SyntaxError: invalid syntax


Introduce scope concept

It would be nice if there would be a column for filtering so there are multiple logs.

Done, scrutinize away @sebastiandedeyne


TextBlock not updating when text changed, but font-metrics stays the same.

Code says more then 1000 words:
TextBlock will only be updated on 0 -> 1 | 9 -> 10 | 99 -> 100 | etc.
MainWindow.xaml
 <DockPanel>     <TextBlock DockPanel.Dock="Left" Height="100" TextAlignment="Center" Margin="20,75,20,0" Text="{Binding SlideStatus}"></TextBlock>     <Button Command="{Binding Click}"></Button>   </DockPanel>
MainWindowViewModel.cs
string greet;
public string SlideStatus
{
       get { return greet; }
        set { this.RaiseAndSetIfChanged(ref greet, value); }
}

int i = 0;
public void Click()
{
      SlideStatus = "Slide: " + i++.ToString() + "out of 999";
}

TextBlock will update if you resize the window, or the total length of the string changes.
This is on Version 9.1

Further investigation led me to the conclusion that not assigning a fixed width/height fixes the issue.
But i don't think this is a type of behavior we should expect from it.

Can't be reproduced anymore


Allow Queue construct to perform action sqs:ChangeMessageVisibility

Start from the Use-case
I want to be able to release a job back to a SQS queue, to be attempted in X time, from the job handling lambda.
This requires the sqs permission: SQS:ChangeMessageVisibility
Example Config
No response
Implementation Idea
Could be fixed by adding the permission to src/constructs/aws/Queue.ts
    permissions(): PolicyStatement[] {
        return [new PolicyStatement(["sqs:SendMessage", "sqs:ChangeMessageVisibility"], [this.queue.queueArn])];
    }

Makes sense to me (this permission is part of the "usage" of SQS), interesting that nobody brought that up before. @fredericbarthelet wdyt?


Feature/zod resolver

Hey 👋🏻
Little PR to add Zod resolver.
Let me know if need some changes !

What??? I was about to submit my PR for zod support, and I see yours, submitted the same day! What a coincidence!

oh wow! thanks guys, this is awesome. I just started the project yesterday and now there is a resolver for hook form. amazing.
I will sort out the AJV one first before looking into this one, give me sometimes, but I am sure between @julienfouilhe & yourself, this will be read by the time i am looking at it.

Updated !  ✅

v1 is going to have zod resolver :)

Thanks very much for your hard work @jorisre and everyone else who helped with this PR.


⚠ Bofrost.de has degraded performance

In bc2129e, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1700 ms

Resolved: Bofrost.de performance has improved in fa15d66 after 9 minutes.


Add optional initialization step to groupBy

I found that using groupBy can require some extra steps if you don't have a predefined set of keys for it to be grouped on, especially if some of the keys can be empty. I intended this change to help with that by providing a simple way to generate an initial grouping. What do you think?

Hey Eric,
Thank you for the submission.  I'll take a look at it.

Hey Eric,
I like your idea and I am trying to find a way to keep the complexity out of the functions and push it upstream in a way that is easy to use and understand without needing to read other functions.
In reality, this is really just the $init, by default we have been using array().  I agree it would be nice to have more options.
When using $init instead of $keys, everything you suggest can be done easily in other ways:
Pre-fill numeric keys:
$peopleGroupedByAge = $sequence->groupBy(fn\fnPluck('age'), array_fill(0, 120, array()));

Pre-fill using array:
$peopleGroupedByJobPosition = $sequence->groupBy($fnExtractJobTitle, array_fill_keys($jobTitles, array()));

The only reason I was considering allowing $init to be a function is for late binding.

Would you prefer to have the $init variable just be passed in directly and to include the initKeysForGroupBy function as a helper?

How about I add $init and a new function:
->groupByUsingKeys($fnExtractJobTitle, $jobTitles)

or groupByInitWithKeys

Eric,
I just pushed the ability to initialize the groupBy.  Let me know if that can work for you.

Honestly, that commit adds a lot of unnecessary complexity imho and doesn't provide any shortcuts. I wrote a3615c1cb8151b8454e66235c91683eb81a9ab20 which I think takes your previous concerns into account.
I actually strongly disagree with this section of your commit:
if ($init instanceof \Closure) {
    $init = $init();
}

If you're already accepting an arbitrary array and don't offer the ability to pass in arguments, this is equivalent to just generating the init array ahead of time and passing it in, and as such I don't think it deserves special treatment.

Unrelated: I do like your use of array_fill_keys to generate the init array. It's a lot cleaner than my route using Sequence.

Actually it is very different.  It allows for late binding/lazy evaluation of the initial value.  Meaning, the initial value will not get calculated until someone asks for a value from the sequence.
But, you are right, not very many people will understand the significance.

Fair enough. In that case I'd suggest making that more obvious in the documentation. I think you've covered most of the use cases I was going after, other than just passing an int. Just one last question:
Why are you doing $init = $init ?: array(); over just setting the default to array() and not accepting null? Just making it safer?

I flip/flop on that one.  I want to communicate that a value is not needed, null communicates that pretty clearly.  But the actual default is array() as you pointed out.  I can go either way for that one.
Do you have actual usage cases for the int key?  If you do, please add it and I'll push it through.

I think that just having the default be array() is the cleanest way to have that functionality and does a fine job of communicating that a value isn't needed. That'd be my vote.
Per the int key, it's very useful any time the output of your $fnToGroup is an int, a bool, or would otherwise result in an indexed output array. Obviously I could just pass in range(0, 1), etc., but it seems like a common enough use case that we should support it.

Closing this PR since the functionality has been added separately


Add ELK stack example to UCP 2.0

Deploy preview ready!
Built with commit fb216811b0b3a6f757a722293951405cb8c2d680
https://deploy-preview-854--docker-docs.netlify.com


Added a contributing file

This PR adds a CONTRIBUTING.md file to give some guidelines on contributions. I added a lot of you as reviewers. Please offer as much feedback as possible to make this file as neat and tidy as you can. You can use the github review interface.

Very clear! The only misleading point that I find is in the good practice : "Classes should be implemented in their .cc". Isn't it only for non-template classes? Lethe uses a lot of template classes, whose implementation is also directly in the .h, with no .cc. If I understood it right, please maybe clarify this point :)

Good point. Actually the classes implemented in their '.h' right now are due to laziness. Eventually most of them should be switched to '.cc' except for inlined functions and trivial getters :)!

As Joanne said, it's very clear!
I have a suggestion, not about contribution but about helping to use Lethe for the first time.
It should be nice to have a file explaining the solvers and the possible options. I know there's the wiki about the parameters, but it's not very explicit (to me). I'm talking about a file with the name of solvers and a short explanation about their strengths/applications with a bulleted list of principal options & features with the related examples. I think it will helps to have a big picture of the software. If it's not for new users, I should be useful for new students.
I don't know if my explainations are clear, let me know. :)

Very clear! The only misleading point that I find is in the good practice : "Classes should be implemented in their .cc". Isn't it only for non-template classes? Lethe uses a lot of template classes, whose implementation is also directly in the .h, with no .cc. If I understood it right, please maybe clarify this point :)

Good point. Actually the classes implemented in their '.h' right now are due to laziness. Eventually most of them should be switched to '.cc' except for inlined functions and trivial getters :)!

Is it really feasible for template classes? In the C++ course I took, it is well precised that for a template class, everything must be in the .h : https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c/1903999-creez-des-templates#/id/r-1913608

sorry this was the link for template functions, here is the link for template classes : https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c/1903999-creez-des-templates#/id/r-1913691

Very clear! The only misleading point that I find is in the good practice : "Classes should be implemented in their .cc". Isn't it only for non-template classes? Lethe uses a lot of template classes, whose implementation is also directly in the .h, with no .cc. If I understood it right, please maybe clarify this point :)

Good point. Actually the classes implemented in their '.h' right now are due to laziness. Eventually most of them should be switched to '.cc' except for inlined functions and trivial getters :)!

Is it really feasible for template classes? In the C++ course I took, it is well precised that for a template class, everything must be in the .h : https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c/1903999-creez-des-templates#/id/r-1913608

I asked Bruno about that this week. You have to fill the template for the class in the .cc file (like template class TestClass<2, TrininosWrappers::MPI::Vector, IndexSet>) for all the possibilities. For example, look at the bottom of the NavierStokesBase class. :)

Very clear ! I would also add a small line talk link to the wiki and also put the information content in this text file in the wiki.


4219: implement the "power" scalar function

Power function implementation and docs

Current coverage is 80.96% (diff: 71.42%)

Merging #4230 into master will decrease coverage by 0.10%

@@             master      #4230   diff @@
==========================================
  Files          1300       1301     +1
  Lines         44269      44297    +28
  Methods           0          0
  Messages          0          0
  Branches       7071       7078     +7
==========================================
- Hits          35890      35866    -24
- Misses         5738       5779    +41
- Partials       2641       2652    +11

Powered by Codecov. Last update e3d5ec4...39fd51a

Cool stuff. Merged it to master (https://github.com/crate/crate/commit/1ab91f127c8bb1ec1effa05e183975935a6206cc)


Does your apple watch unlock MBA 2011mid?

Airdrop - works. Handoff - works. Unlock with watch - doesn't work (   i cannot see the "Allow your Apple Watch to Unlock Your Mac" option.) MacOS sierra  10.12.2 MBA mid 2011. Apple watch series 1 (os 3.2)

#377 Even if you have Bluetooth 4.0 support, Apple Watch uses 802.11v for a proximity check, so unlocking the laptop using only the Bluetooth connection won't work. Also, Macbooks older than Mid 2013 don't have 802.11v support.
@bushwin's original comments:
https://github.com/dokterdok/Continuity-Activation-Tool/issues/377#issuecomment-289196925
bushwin gave this reference, where someone researched the requirement for 802.11ac and Apple Watch:
https://networkingnerd.net/2016/09/21/apple-watch-unlock-802-11ac-and-time/


[App Compliance Automation Tool for Microsoft 365 - App Compliance Automation Tool for Microsoft 365] API Review

New API Review meeting has been requested.
Service Name: App Compliance Automation Tool for Microsoft 365 - App Compliance Automation Tool for Microsoft 365
Review Created By: Mariana Rios Flores
Review Date: 08/29/2023 01:05 PM PT
Onboarding Record: https://dev.azure.com/azure-sdk/Release/_workitems/edit/16078
PR: https://github.com/Azure/azure-rest-api-specs/pull/25454
Hero Scenarios Link: Not Provided
Core Concepts Doc Link: Not Provided
Description: meeting test
Detailed meeting information and documents provided can be accessed here
For more information that will help prepare you for this review, the requirements, and office hours, visit the documentation here

Cancelled by: Mariana Rios Flores


doc: how to add a new grafana dashboard

Instruction how to add new grafana dashboard

Should I include a note about how to update a reference to the dashboard in tekton task? For example https://github.com/redhat-appstudio/service-provider-integration-operator/blob/02c2b7042a1b8cfff1fc489a964cc3142bcefcbe/.tekton/controller-push.yaml#L28

I would. It is handy

/lgtm

/lgtm


Is it possible to add a gas into the game with CraftTweaker / ContentTweaker or by any other way

I would like to add a few gases and want to know whether that's possible
Forge: <IP_ADDRESS>27
Mekanism: 1.12.2-<IP_ADDRESS>0

You can with some java code, yes


Feature/bookmarks

This PR provides a place for me to comment on differences between merged commits and those submitted on PR #445.

@scanny #445 has the latest master as base, shouldn't we rebase this as well and see if we can get some new commits merged into this branch?
regards,
Ben

@scanny
What would it take to get the bookmarks feature added to the library? If you are very time constrained, perhaps in small steps. Or otherwise, contact me directly to see if it can be done via a sponsorship.
Regards,
Ben

Hi Benjamin, I did some work on this over the weekend:

I rebased my feature/bookmarks onto the latest master, which contains the work recently completed on adding headers and footers.

I added about seven commits from your branch, up to bmk: add Document.start_bookmark().

Please review this to understand the changes I made and why, then rebase your branch on my feature/bookmarks such that your remaining commits proceed from those that have been committed here (and do not also include commits already on my feature/bookmarks branch. You may prefer to do this by cherry-picking; any way that works for you is fine with me.
Then I'll take another look.

@Benjamin-T Hi Benjamin, I did some work on this over the weekend:

I rebased my feature/bookmarks onto the latest master, which contains the work recently completed on adding headers and footers.

I added about seven commits from your branch, up to bmk: add Document.start_bookmark().

Please review this to understand the changes I made and why, then rebase your branch on my feature/bookmarks such that your remaining commits proceed from those that have been committed here (and do not also include commits already on my feature/bookmarks branch. You may prefer to do this by cherry-picking; any way that works for you is fine with me.
Then I'll take another look.

@scanny
Thanks for taking the time and adding some of my commits. Dit you also notice that I've updated the feature analysis document? I've tried to answer some of the remaining questions. If you find the answers satisfactory, perhaps that document can be added to this PR as well.

Dear @scanny
I've rebased my branch and added some commits. I've also updated the branch with an additional acceptance test. If you could take a look and see if they can be merged that would be much appreciated.
The last commit bmk: add BaseStoryPart.iter_story_parts() is a refactor proposal:
If we change the location of the 'iter_story_parts() method from the DocumentPart to the BaseStoryPart the header and footer parts can access the same method. (as well as any other storypart we might imlement in the future i.e: Comments and Endnotes.)
I haven't changed it in my current branch in order to make it more obvious what I mean.
Curious about your thoughts on the matter.
regards ,
Ben

@scanny
There are some pending commits in my feature branch. Please let me know when you've looked at them so we can move forward.
thanks for time

Ben

Hi Steve,
I somehow missed your new commits to this PR - Great stuff!
I've experimented a bit with it and discovered that even though the bookmarks added do show up in the word editor, they are somewhat different.
The main issue is that python-docx places them at the same level as the paragraph elements, whereas the word editor inserts the bookmark elements on a paragraph level. I've checked this for the body and header stories and assume that this holds for the other story-parts as well.
The current implementation results in this xml:
from docx import Document
doc = Document()
bmk = doc.start_bookmark('test')
doc.end_bookmark(bmk)
doc.save('test_bookmark.docx')

<w:document>
  <w:body>
    <w:bookmarkStart w:name="test" w:id="1" />
    <w:bookmarkEnd w:id="1" />
  </w:body>
</w:document>

Whereas the word editor creates this xml:
(Create document using python-docx --> click insert bookmark --> save file)
<w:document>
  <w:body>
    <w:p>
      <w:bookmarkStart w:name="test" w:id="0" />
      <w:bookmarkEnd w:id="0" />
    </w:p>
  </w:body>
</w:document>

@Benjamin-T I think the safest bet is to determine what the Microsoft API for Word does and reproduce that behavior. Because details like this are not documented (publicly at least), the only good assurance I've found is to duplicate the MS API behavior, which is pretty good assurance in my experience, although sometimes a mystery why it needs to be the way it is.
This is an example of why the analysis document is so important, in particular doing the thorough analysis work needed to properly create that document. I of course learned that the hard way, by reimplementing several features early on, but this is definitely a "teaching moment" opportunity :)
There are a couple ways to experiment with the Microsoft API, but they all require Windows as far as I know. In general I think using VBA right from within Word is the easiest method. I used to keep a Windows virtual machine around (on my Mac) to do that sort of thing but don't have it anymore.

Dear @scanny
Thanks for the response, I've run a test using the Word API:
See Docs
Sub Mark()
 ActiveDocument.Bookmarks.Add Name:="mark"
End Sub

Bookmark at start of document
Results in:
<w:body xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
  <w:p w:rsidR="000E0575" w:rsidRDefault="000E0575" w14:paraId="6AE70610" w14:textId="77777777" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml">
    <w:bookmarkStart w:name="myplace" w:id="0" />
    <w:bookmarkEnd w:id="0" />
  </w:p>
  <w:sectPr w:rsidR="000E0575">
    <w:pgSz w:w="11906" w:h="16838" />
    <w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="708" w:footer="708" w:gutter="0" />
    <w:cols w:space="708" />
    <w:docGrid w:linePitch="360" />
  </w:sectPr>
</w:body>

Perhaps interesting, the corresponding generated code:
using DocumentFormat.OpenXml.Wordprocessing;
using DocumentFormat.OpenXml;

namespace GeneratedCode
{
    public class GeneratedClass
    {
        // Creates an Body instance and adds its children.
        public Body GenerateBody()
        {
            Body body1 = new Body();

            Paragraph paragraph1 = new Paragraph(){ RsidParagraphAddition = "000E0575", RsidRunAdditionDefault = "000E0575", ParagraphId = "6AE70610", TextId = "77777777" };
            BookmarkStart bookmarkStart1 = new BookmarkStart(){ Name = "myplace", Id = "0" };
            BookmarkEnd bookmarkEnd1 = new BookmarkEnd(){ Id = "0" };

            paragraph1.Append(bookmarkStart1);
            paragraph1.Append(bookmarkEnd1);
            body1.Append(paragraph1);
            return body1;
        }

    }
}

Bookmark inside a run
I've also placed a bookmark using the same code with the curser inside a run:
<w:document>
  <w:body>
    <w:p w:rsidR="000E0575" w:rsidRDefault="00390F75" w14:paraId="6AE70610" w14:textId="1AE1D158">
      <w:r>
        <w:t xml:space="preserve">This is a bookmark </w:t>
      </w:r>
      <w:bookmarkStart w:name="myplace" w:id="0" />
      <w:bookmarkEnd w:id="0" />
      <w:r>
        <w:t>inside a run</w:t>
      </w:r>
    </w:p>
    <w:p w:rsidR="00390F75" w:rsidRDefault="00390F75" w14:paraId="6428D04B" w14:textId="77777777" />
    <w:sectPr w:rsidR="00390F75">
      <w:pgSz w:w="11906" w:h="16838" />
      <w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="708" w:footer="708" w:gutter="0" />
      <w:cols w:space="708" />
      <w:docGrid w:linePitch="360" />
    </w:sectPr>
  </w:body>
</w:document>

using DocumentFormat.OpenXml.Wordprocessing;
using DocumentFormat.OpenXml;

namespace GeneratedCode
{
    public class GeneratedClass
    {
        // Creates an Body instance and adds its children.
        public Body GenerateBody()
        {
            Body body1 = new Body();

            Paragraph paragraph1 = new Paragraph(){ RsidParagraphAddition = "000E0575", RsidRunAdditionDefault = "00390F75", ParagraphId = "6AE70610", TextId = "1AE1D158" };

            Run run1 = new Run();
            Text text1 = new Text(){ Space = SpaceProcessingModeValues.Preserve };
            text1.Text = "This is a bookmark ";

            run1.Append(text1);
            BookmarkStart bookmarkStart1 = new BookmarkStart(){ Name = "myplace", Id = "0" };
            BookmarkEnd bookmarkEnd1 = new BookmarkEnd(){ Id = "0" };

            Run run2 = new Run();
            Text text2 = new Text();
            text2.Text = "inside a run";

            run2.Append(text2);

            paragraph1.Append(run1);
            paragraph1.Append(bookmarkStart1);
            paragraph1.Append(bookmarkEnd1);
            paragraph1.Append(run2);
            Paragraph paragraph2 = new Paragraph(){ RsidParagraphAddition = "00390F75", RsidRunAdditionDefault = "00390F75", ParagraphId = "6428D04B", TextId = "77777777" };

            body1.Append(paragraph1);
            body1.Append(paragraph2);
            return body1;
        }

    }
}

Bookmark around specific text in run
(And also added a field to test whether the reference is also working correctly)
<w:body xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
  <w:p w:rsidR="000E0575" w:rsidRDefault="00390F75" w14:paraId="6AE70610" w14:textId="5ABFDEE5" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml">
    <w:r>
      <w:t xml:space="preserve">This is a </w:t>
    </w:r>
    <w:bookmarkStart w:name="myplace" w:id="0" />
    <w:r>
      <w:t>bookmark inside</w:t>
    </w:r>
    <w:bookmarkEnd w:id="0" />
    <w:r>
      <w:t xml:space="preserve"> a run</w:t>
    </w:r>
  </w:p>
  <w:p w:rsidR="004C3C5C" w:rsidRDefault="004C3C5C" w14:paraId="0DD6D36E" w14:textId="0579ED72" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" />
  <w:p w:rsidR="004C3C5C" w:rsidRDefault="004C3C5C" w14:paraId="3196D0A8" w14:textId="17C6E3EF" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml">
    <w:r>
      <w:fldChar w:fldCharType="begin" />
    </w:r>
    <w:r>
      <w:instrText xml:space="preserve"> REF myplace \h </w:instrText>
    </w:r>
    <w:r>
      <w:fldChar w:fldCharType="separate" />
    </w:r>
    <w:r>
      <w:t>bookmark inside</w:t>
    </w:r>
    <w:r>
      <w:fldChar w:fldCharType="end" />
    </w:r>
  </w:p>
  <w:p w:rsidR="00390F75" w:rsidRDefault="00390F75" w14:paraId="6428D04B" w14:textId="77777777" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" />
  <w:sectPr w:rsidR="00390F75">
    <w:pgSz w:w="11906" w:h="16838" />
    <w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="708" w:footer="708" w:gutter="0" />
    <w:cols w:space="708" />
    <w:docGrid w:linePitch="360" />
  </w:sectPr>
</w:body>

Have you plan to merge it soon ?


Use ufuzzy instead of fuzzysort

Fixes #60
Uses https://github.com/leeoniya/uFuzzy as a fuzzy search library instead of fuzzysort.
TODO

[x] Use built in highlighting
[x] Configure amount of fuzzyness according to option value (0-1)
[x] Calculate a (pre-)score for fuzzy search results
[x] Enable out of order fuzzy search with caching
[x] Optimize AND search by reducing haystack after each term

just looking at the code on phone...
i'm a bit confused by what's being done with the post-processing of the highlighted string. but you might be better served by customizing the highlighter opts: https://github.com/leeoniya/uFuzzy#match-highlighting

just looking at the code on phone...
i'm a bit confused by what's being done with the post-processing of the highlighted string. but you might be better served by customizing the highlighter opts: https://github.com/leeoniya/uFuzzy#match-highlighting

Yes, that's a workaround. The problem is that the search dataset is actually a complex object where multipe properties need to be searched at the same time. Most search libraries don't allow searching complex objects, so I had to concatnate the searchable properties together and later split them again.
Not really the most elegant solution, for sure.

Not really the most elegant solution, for sure.

agreed, and also the same 'hack' i recommend for this. works a treat! :D
https://github.com/leeoniya/uFuzzy/issues/7

i find that out of order matching is generally useful to have as well: https://github.com/leeoniya/uFuzzy/blob/main/demos/compare.html#L552

i find out-of-order matching is generally useful to have as well: https://github.com/leeoniya/uFuzzy/blob/main/demos/compare.html#L552

Not sure I understood this. This is not really an option, but some preprocessing on the search term / needle to create more permutations?

This is not really an option, but some preprocessing on the search term / needle to create more permutations?

yeah. i've been struggling to figure out how to roll this into some new u.search() method, but what should that method return? a big object with all the intermediate matches for every permutation? i dunno. if you have some ideas, i would like to add a single method to the api that can wrap the common steps / settings. thr big question is what it should return 🤷

This is not really an option, but some preprocessing on the search term / needle to create more permutations?

yeah. i've been struggling to figure out how to roll this into some new uf.search() method, but what should that method return? a big object with all the intermediate matches for every permutation? i dunno. if you have some ideas, i would like to add a single method to the api that can wrap the common steps / settings. the big question is what it should return 🤷
i'll try to figure it out today!

Playing around with https://leeoniya.github.io/uFuzzy/demos/compare.html?libs=uFuzzy,fuzzysort,QuickScore,Fuse&search=twili for sure helps understanding this better.
To me it looks like outOfOrder should definately be enabled for my use case. I notice that is has quite some performance impact, making it unfortunately now slower than fuzzysort, when enabled. Thanks for looking into this as an option!
Since in the UI you can just enable it as a checkbox, would it be possible to add it as a boolean option to the uFuzzy constructor options?

To me it looks like outOfOrder should definately be enabled for my use case. I notice that is has quite some performance impact, making it unfortunately now slower than fuzzysort, when enabled

you can likely speed it up by implementing a prefix cache [1][2]. beyond that i dont have any ideas about how to improve perf further with uFuzzy's core design. but i was pretty underwhelmed by fuzzysort's matches and the unpredictable score cutoff between "good" and "bad" results, so it being faster wasnt terribly relevant.

Since in the UI you can just enable it as a checkbox, would it be possible to add it as a boolean option to the uFuzzy constructor options?

probably, yeah.
[1] https://leeoniya.github.io/uFuzzy/demos/compare.html?libs=uFuzzy&prefixCache&search=super ma
[2] https://github.com/leeoniya/uFuzzy/blob/main/demos/compare.html#L511

@leeoniya : I've now cached the idxs from the last search run and am adding it as an optimization to the filter. Is this how it was meant to be? I wasn't entirely sure just from reading the interface documentation. Are there any conditions where this does not work or will cause problems? I could think of if you switch from searchging for a to b, then the old idxs would be entirely wrong and therefore I empty the cache if the search string gets back to an empty string.
https://github.com/Fannon/search-bookmarks-history-and-tabs/pull/61/commits/db43f5de796439fad410d50f6ecf18c196d8f2a1
Regarding the out of order: I'd be happy to try it out and implement it once you have it ready. Thanks!

@leeoniya: Regarding out of order performance: Maybe I'm overlooking something, but wouldn't we get much better performance characteristics when not using permutations?
So if you create one seach for each permutation of n terms, you get an exponential increase. If you instead just split the search terms, filter the data set by the first term. Then proceed to next term and filter the already reduced data set, etc.
This is how it looks when applied to simple search: https://github.com/Fannon/search-bookmarks-history-and-tabs/blob/0bdd38eb13a4552e6a742f132d363a7deea4d07a/popup/js/search/simpleSearch.js#L39-L78

@leeoniya : Ok, I've implemented out of order now for uFuzzy search, but not using permutations but the previously outlined approach. I hope I did not oversee anything.
See https://github.com/Fannon/search-bookmarks-history-and-tabs/blob/925d22972231da06633c666adb5cd5a3331d4914/popup/js/search/fuzzySearch.js#L43-L128

sorry i have some family medical stuff going on right now so can't dig in too much.
yes, beyond 3 or 4 terms the permutation explosion becomes problematic, but in my opinion these are mostly artificial scenarios, i've been able to find everything i need in 4 terms or less. sure, you need a guard or fallback to prevent UI freezes in cases with 5+ terms.
when searching each term in isolation you have to do extra book-keeping for each match and then do an array intersection (if you need AND). you also lose the ability to prioritize matches that have terms in the originally specified order without having to track match positions and process that. finally, you cannot set interIns < Infinity to restrict matches where terms are proximate to each other (for example within 10 chars). though you can do this by tracking match indices and match length.
there's probably other stuff that's not coming to mind right now, but i much prefer to take the perf hit of permutations for reasonably sized datasets and reasonable needles rather than ensuring that exceptional cases have max perf but with a :exploding_head: additional book keeping. it's a trade-off for sure.

@leeoniya : Sorry to hear that. Take the time you need! Don't expect you to prioritize this here ;)
Agree, having more than 4 search terms seems highly unlikely.
Good points you bring for understanding the trade-off here.
I'll probably go with the current implemented option for now and will revisit this once uFuzzy has out of order support built in, or a better idea how to do it comes up.


Cross Region Replication Support

Is cross region uni directional replication supported in redis via twemproxy?
Scenario -
Suppose there are two clusters A & B in region R1 & R2 respectively. All the write requests will go to cluster A in region R1 which will be replicated to cluster B in region R2 and all the read requests will go to nearest region.
Feature -
Is it possible to set up a server in twemproxy which will write to two clusters in one call (one IP+Port).
And it will have option to wait for successful write request in all the cluster, or a single cluster or quorum ok clusters.

Is cross region uni directional replication supported in redis via twemproxy?

No, it isn't part of the current features. mcrouter (if you can set up prefixes for requests in your application) may help.
Memcached has a noreply option you can configure in libmemcached that may be useful if you want to manually do asynchronous writes in your application - mixing in noreply with the occasional synchronous command would help detect disconnected connections.
Doing very simple things in c such as replicating sets/deletes/adds is possible, but not implemented, and may be inconvenient

Is it possible to set up a server in twemproxy which will write to two clusters in one call (one IP+Port).

And it will have option to wait for successful write request in all the cluster, or a single cluster or quorum ok clusters.

https://github.com/memcached/memcached/wiki/Proxy is a relatively new development that may be useful, though it may be months before there's a stable release, not familiar with the timeline for 1.7.0 and their plans may change.

The proxy is ready for preview and early testing, we are still working on "productionizing" the proxy.

The lua scripting it has may let you do quorum or customizable cluster logic in principle https://github.com/memcached/memcached/ (e.g. waiting for the first count successful responses)


Support 9p2000 (and maybe 9p2000.u)?

Currently there appears to be no way to choose between 9p2000 or 9p2000.L. There appears to be residual code from possibly an earlier time which suggests there used to be support for 9p2000.
Are there any suggestions on how this should be organized and accessed?
Do we need rust-9pL and rust-9pu and rust-9p?
Do we use different internal modules for each 9p version?
Do we use an enum and have the behavior changed on which is passed? (Most common solution)

In 2015 when I started developing rust-9p I thought it would be a great idea to support all the variants of 9P.
However, (honestly I'm not quite sure what it was but), as implementing them in a clean way was not so easy I stopped the further developing of other variants other than 9P2000.L cuz I was like who the hell wanna use bare 9P and 9P2000.u when we have 9P2000.L?

Do we need rust-9pL and rust-9pu and rust-9p?

Definitely not.

Do we use different internal modules for each 9p version?

Possibly?

Do we use an enum and have the behavior changed on which is passed? (Most common solution)

Hmm... maybe?
Each 9P variant has the different semantics.
I think Filesystem trait is the thing needed to be worked on to support all the variants because the version negotiation in Filesystem::rversion should be done by the library user.

In 2015 when I started developing rust-9p I thought it would be a great idea to support all the variants of 9P.
However, (honestly I'm not quite sure what it was but), as implementing them in a clean way was not so easy I stopped the further developing of other variants other than 9P2000.L cuz I was like who the hell wanna use bare 9P and 9P2000.u when we have 9P2000.L?

Do we need rust-9pL and rust-9pu and rust-9p?

Definitely not.

Do we use different internal modules for each 9p version?

Possibly?

Do we use an enum and have the behavior changed on which is passed? (Most common solution)

Hmm... maybe?
Each 9P variant has the different semantics.
I think Filesystem trait is the thing needed to be worked on to support all the variants because the version negotiation in Filesystem::rversion should be done by the library user.


[$500] Android – Login – Long loading when navigate via staging sign-in link as 2FA account

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.37-2
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4284910
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Open New Expensify app.
In the log in screen enter an account that has 2FA enabled (may be a high traffic account).
Verify you're asked for the magic code
Navigate to email and locate the magic link
Navigate to the staging link

Expected Result:
2FA code is asked after navigating to the magic link
Actual Result:

Open New Expensify app.
In the log in screen enter an account that has 2FA enabled (may be a high traffic account).
Verify you're asked for the magic code
Navigate to email and locate the magic link
Navigate to the staging link

Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/7384e11b-9004-4e41-a41d-d15d8ec92219
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01d5266c2ada8fef23
Upwork Job ID:<PHONE_NUMBER>666306560
Last Price Increase: 2024-02-06

I don't think this is a priority given normal users won't be using staging.


Only run tests for the package

Currently the pipelines are running all tests for every package.  The pipelines should only run the tests for the package they are building.

We have CtestRegex for CI testing (doesn't communicate with external services) and LiveTestCtestRegex for live testing. These can be set in ci.yml (https://github.com/Azure/azure-sdk-for-cpp/blob/master/sdk/storage/ci.yml#L41) ... With proper recording in place we can consolidate these down to a single regex paramater.
I think this issue can be closed.

We have CtestRegex for CI testing (doesn't communicate with external services) and LiveTestCtestRegex for live testing. These can be set in ci.yml (https://github.com/Azure/azure-sdk-for-cpp/blob/master/sdk/storage/ci.yml#L41) ... With proper recording in place we can consolidate these down to a single regex paramater.
I think this issue can be closed.

@antkmsft updated me on the new package build infrastructure. This could change how/where we run ctest.

@antkmsft updated me on the new package build infrastructure. This could change how/where we run ctest.

We're already scoping tests today.

We're already scoping tests today.


Build finished but still waiting

Describe the bug

background : I'm using my machine(winodows) as the main server and the build server, and I'm building the HelloPurr into an apk
problem : the log of build server shows "BUILD 1 FINISHED" but the building progress bar is still stuck at  "Compiling part 2(please wait)" stage.(a snapshot is attached below)
cause : I guess this is because I set the ip of the main server as a specific ip address (from cmd "ipconfig") instead of <IP_ADDRESS> and the log of build server shows that the CallbackURL remains as localhost:8888 (snapshot below). The reason I didn't use <IP_ADDRESS> is that I want to connect my phone and my App Inventor service with AI Companion and when I try <IP_ADDRESS> I found that the assests(like kitty.png) can't be transmitted to my phone(snapshot below).
my test :

If I use my specific ip address as the main server ip, the assets transmission is ok but the build problem mentioned above occurs.
if I use <IP_ADDRESS> as the main server ip, the build process is ok but the assets transmission problem occurs, and the apk successfully built can't be downloaded for the same reason.

solution : I wonder if we can set the ip of the CallbackURL somehow but I didn't find an easy way to do so(like through cmd line arguments, I tried looking it up in "How to build App Inventor from the MIT sources" but didn't found what I want, if I missed anything , I'm sorry) . Now that the build request can be received and handled by the build server, the specific ip address of the main server should already be known by the build server.I guess the CallbackURL is just not consistent with that, is this a conscious design?

Affects

[ ] Designer
[ ] Blocks editor
[ ] Companion
[ ] Compiled apps
[x] Buildserver
[ ] Debugging
[ ] Other... (please describe)

Expected behavior
When the build process finished in build server , the build process bar turns into the download window.
Steps to reproduce

.\appinventor\google-cloud-sdk\bin\java_dev_appserver.cmd --port=8888 --address=192.168.xxx.xxx \appinventor\appengine\build\war\
ant RunLocalBuildServer (in buildserver)
open 192.168.xxx.xxx:8888 , login as<EMAIL_ADDRESS>create the HelloPurr project and enter it
click build->Andriod App (.apk)

Snapshots

thank you.

@rollinggulf see this thread on the App Inventor community...
https://community.appinventor.mit.edu/t/unable-to-load-file-upon-ai-companion-connection/16887

@preetvadaliya thank you, but my problem seems to be different. I checked the HttpOnly and they were not set. Further more, I found that the first time I clicked connect -> AI Companion  , the transmission failed , but After the disconnect alert(snapshot below), I clicked connect -> AI Companion again , it worked. If I refresh the page or click connect -> Reset Connection , then in the next connecting, the transmission will fail again.

@rollinggulf Use <IP_ADDRESS> for the address of the server but in your browser access it via your computer's IP address on the LAN rather than localhost. The hostname used in the browser is also used to load the assets, but localhost will resolve to the phone on the phone, not your computer.

I'm going to close this issue for now. If you continue encountering problems please ask clarifying questions in the open source group on our community.


Setting nodeSelector merges with existing values

When setting the nodeSelector on the MySQLCluster, the existing nodeSelector on StatefulSet get merged with it. The expected behavior is to copy the nodeSelector as-is to the StatefulSet.

how about Affinity, why not work the same as nodeSelector, they are both used for scheduling.