need to return read response back to caller through async callback from on_read()

Hi,
I started out with the http_client_async.cpp example for this task.
I intend to use beast for implementing a wrapper api, that my client can use.
The client's requirement is of an async_send(request  req, callback cb) api, which will send the request and get the response of the request in the cb callback asynchronously.
Which means, i need to somehow finally call cb through io_context once the response is successfully read in the on_read() handler in the example.
How can i achieve this simple task?
I also stumbled upon the echo_op.cpp example which basically creates a custom async operation, where it callbacks the custom completion_handler.Is this example the only answer to my quesion?
Or is there a simpler way?
Thanks.

You "call a callback through an io_context" by posting a completion handler to the io_context's executor.
auto ioc = net::io_context();
auto e = ioc.get_executor();
net::post(e, []() {
 // some code here
});

@madmongo1 Thanks, this worked.
Though this solution works, but how does it compare with creating a custom async operation?
Can you think of any disadvantages of using net::post over working a custom async operation as shown in echo_op.cpp example?

@ashjas A custom async operation, otherwise known as a composed operation, is essentially:

a function object
associated with an executor
passes itself as the handler to async operations that it initiates.
has captured a completion handler
during one of its invocations, it will complete by calling its captured completion handler, as if by post() to the associated executor.

Fundamentally, the final completion is, or is equivalent to a post(e, handler);

@madmongo1
Thanks for yor inputs.
Though my orig question is solved, i have one more doubt regarding beast usage with maintaining keep_alive sessions.
I have seperated the the REST operation into two seperate classes:
connect_session and talk_session.
class connect_session
{
//members:
 mResolver;
 mStream;
 static io_context;
//methods:
on_resolve();
on_connect()
};

class talk_session
{
//members:
connect_session& conn;
req;
res;
buffer;
//methods:
on_write();
on_read();
};

So basically, i maintain a registry of connections mapped to "host:port" so that these connections can be reused for talking to and fro. specially benifitial for ssl connections. For every request, i create a seperate talk_session object so , the req/resp/buffer being overwritten etc, is out of the question.
With the above implemented, i am facing the issue, where i get strange errors inside on_read()
errors are like: bad version , header_limit exceeded etc.
On inspection,i found that from the talk_session class, the on_write and on_read operations are simultaneously accessing the conn.mStream object for writng/reading, which needs to be fixed.
So i think the solution to this is to post the talk_session async operations on the mStream's strand.
so that the operations from talk_session are sequenced from multiple threads.
to achieve this,how do i call  async_write() and async_read() using the mStream's strand for this sequencing to be in effect?
i am already calling async_write in the standard way:
http::async_write(m_Conn.getStream(), req_,
        beast::bind_front_handler(
            &talk_session::on_write,
            shared_from_this()));

So passing m_Conn.getStream() isnt sufficient for sequencing.
Thanks.

Though my orig question is solved

Great, so I'll close this issue.

to achieve this,how do i call async_write() and async_read() using the mStream's strand for this sequencing to be in effect?

There are two constraints you must satisfy:

there must be no concurrent access to an io object or stream - you have used a strand for this, so that's fine.
Only one async_read and async_write may be outstanding at any one time. For reads that's not an issue since you normally perform an async_read and then dispatch on the result. For writes, if you are initiating the communications (rather than just responing to a request) you must implement a write queue. You would then pick items off the queue, async_write them, and in the handler, check the queue for the next write.


Make favourite button disappear after 1 second

As a user, I want to receive a message to know that my cocktail has been added to my favourites list. I want this to appear every time I add a new cocktail
It is done when -

A message appears letting a user know a cocktail has been added to their favourites
The message disappears after a few seconds so that it can reappear for new cocktails


None remove ff jira admin check

@bgvozdev Does this need to be closed?

@bgvozdev Do we need to close this pr?


Cannot resolve module 'vue-paginate'

I followed the steps what you had said in README, like this:  Vue.use(require('vue-paginate'));
But when I executed webpack, I got error messages and webpack complained the error.
Module not found: Error: Cannot resolve module 'vue-paginate' in /User/path/my_js_dir
 @ ./src/js/myscript.js 18:18-41

myscript.js is the js script file where I imported vue-paginate in.
So I decided to change the using way.  Vue.use(require('vue-paginate/dist/vue-paginate.js')).
Now, although webpack complained some warning messages, I passed whole compiling procedure.
But this time, my browser told me plugin.apply is not a function.
I would paste context codes in there:
Vue.use = function (plugin) {
	    /* istanbul ignore if */
	    if (plugin.installed) {
	      return;
	    }
	    // additional parameters
	    var args = toArray(arguments, 1);
	    args.unshift(this);
	    if (typeof plugin.install === 'function') {
	      plugin.install.apply(plugin, args);
	    } else {
	      plugin.apply(null, args); < ---------- There
	    }
	    plugin.installed = true;
	    return this;
	  };

How does this problem happen?
Maybe the index.js of vue-paginate module should be contained in an immediately-invoked function?
THX.
My environments:

npm 3.8.9
Vue 1.0.24
vue-paginate 2.1.0
webpack 1.13.1 -- add babel loader. { test: /\.jsx?$/,   exclude: /(node_modules|bower_components)/, loader: 'babel?presets[]=es2015'},

If you didn't set UglifyJsPlugin in webpack, everything is ok.
I would ignore the error messages which emerged in UglifyJsPlugin of webpack.
So you could close this issue.

I have the same issue.
Can't find any solution yet..

Hey guys! Thanks for filling this issue. Actually, this error occurs because I'm not compiling the plugin properly. This now should be fixed, just update to version 2.1.1.
Thanks for using the plugin :).

The error remains to exist.. after update to 2.1.1


Update DOCS.md

Updated 2. url description to explain limitation of calls with 2 arrays and updated 7. crontab with examples for 2 arrays

@Johnnexto merged ! 🚀


Feature: Add dependabot, or something similar

Summary
Add a depdabot to auto-update kotlin dependencies.
Problem Definition

Some kotlin dependencies can be out of date, and would be fine to update regularly. Would be nice to automate this as much as possible.
Proposal
Add a dependabot to the service repo.
Only update specified dependencies (if possible)

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

Closed with: #566


Update Approve, Reject multisig operation Screens

Approve, reject for transfers with proxy
Approve, reject for staking with proxy
The account schema is: signatory ➝ multisig ➝ proxied account

Dev comments:

Add support of signing multisig operations with proxy (3 sp):
Add info about proxied wallet on the confirmation screen

@tuul-wq description for multisig proxy operation screens is in the doc

Status verification: ⏳
What has been verified:

Aprove operation
Reject operation

Found during testing:
https://github.com/novasamatech/nova-spektr/issues/1774


Added helper functions for channel and user lists to make the API a bit ...

...more friendly
Added support for the following methods: chat.delete, chat.update, channel.history, channel.list, users.list, auth.text, channels.info, channels.invite, channels.join, channels.leave, channels.mark, channels.setPurpose, channels.setTopic, emoji.list, stars.list
I hope you'll forgive a slight reordering of some of your original code

Hey there, any chance this could be merged?  I used your library for my first slack script, but needed a few more features like setTopic for the channel, so switched to slackclient instead.  After some frustration in that it doesn't do much in terms of error handling and so on, I though it would be great if I could carry on using your lib instead.  I'm happy to contribute back fixes and patches if required.

By all means feel free.

Nice - I had some comments a few months back - if you could attend to those I'd be happy to merge in the changes.


node-gyp does not run seemlessly across platforms

Linux Node Version: node v12.10.0 | npm v6.11.3 | node-gyp v5.0.4
Windows Node Version: node v12.10.0 | npm v6.11.3 | node-gyp v5.0.4
Linux Platform Info: Linux arch 5.3.1-arch1-1-ARCH SMP PREEMPT Sat Sep 21 11:33:49 UTC 2019 x86_64 GNU/Linux
Windows Platform Info:

OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.18362 N/A Build 18362
System Type:               x64-based PC

Linux Compiler: gcc version 9.1.0 (GCC)
Windows Compiler: MSVC 19.21.27702.2
Module: openrpg-libs

Verbose output (from npm or node-gyp):
Here is the binding.gyp:
{
  "targets": [
    {
      'target_name': 'prebuild',
      'type': 'none',
      'actions': [
        {
          'action_name': 'build_core',
          'message': 'Building ORPG Core...',
          'inputs': [''],
          'outputs': [''],
          "action": [
            "node run build"
          ]
        },
      ],
    },
    {
      "target_name": "roll",
      "include_dirs": [
        "include"
      ],
      "link_settings": {
        "conditions": [
          ["OS=='linux'", {
            "libraries": [
              "<(module_root_dir)/build/lib/openrpg/libroll-parser.so"
            ]
          }],
          ["OS=='win'", {
            "libraries": [
              "<(module_root_dir)/build/lib/Release/roll-parser.lib",
              "<(module_root_dir)/build/lib/Release/roll-parser.exp"
            ]
          }]
        ],
      },
      "sources": [
        "<(module_root_dir)/wrappers/roll/rollAddon.cpp",
        "<(module_root_dir)/wrappers/roll/rollWrapper.cpp"
      ]
    }
  ]
}

Output of npm install (error number 1):
><EMAIL_ADDRESS>install /home/user/Documents/projects/OpenRPG
> node-gyp configure build --verbose

gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   '/home/user/.nvm/versions/node/v12.10.0/bin/node',
gyp verb cli   '/home/user/.nvm/versions/node/v12.10.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'configure',
gyp verb cli   'build',
gyp verb cli   '--verbose'
gyp verb cli ]
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| linux | x64
gyp verb command configure []
gyp verb find Python Python is not set from command line or npm configuration
gyp verb find Python Python is not set from environment variable PYTHON
gyp verb find Python checking if "python" can be used
gyp verb find Python - executing "python" to get executable path
gyp verb find Python - executable path is "/home/user/bin/python"
gyp verb find Python - executing "/home/user/bin/python" to get version
gyp verb find Python - version is "2.7.16"
gyp info find Python using Python version 2.7.16 found at "/home/user/bin/python"
gyp verb get node dir no --target version specified, falling back to host node version: 12.10.0
gyp verb command install [ '12.10.0' ]
gyp verb install input version string "12.10.0"
gyp verb install installing version: 12.10.0
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 12.10.0
gyp verb build dir attempting to create "build" dir: /home/user/Documents/projects/OpenRPG/build
gyp verb build dir "build" dir needed to be created? null
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: /home/user/Documents/projects/OpenRPG/build/config.gypi
gyp verb config.gypi checking for gypi file: /home/user/Documents/projects/OpenRPG/config.gypi
gyp verb common.gypi checking for gypi file: /home/user/Documents/projects/OpenRPG/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn /home/user/bin/python
gyp info spawn args [
gyp info spawn args   '/home/user/.nvm/versions/node/v12.10.0/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/home/user/Documents/projects/OpenRPG/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/user/.nvm/versions/node/v12.10.0/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/user/.cache/node-gyp/12.10.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/user/.cache/node-gyp/12.10.0',
gyp info spawn args   '-Dnode_gyp_dir=/home/user/.nvm/versions/node/v12.10.0/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/user/.cache/node-gyp/12.10.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/home/user/Documents/projects/OpenRPG',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp verb command build []
gyp verb build type Release
gyp verb architecture x64
gyp verb node dev dir /home/user/.cache/node-gyp/12.10.0
gyp verb `which` succeeded for `make` /usr/bin/make
gyp info spawn make
gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/home/user/Documents/projects/OpenRPG/build'
  LD_LIBRARY_PATH=/home/user/Documents/projects/OpenRPG/build/Release/lib.host:/home/user/Documents/projects/OpenRPG/build/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../.; "node run build"
/bin/sh: node run build: command not found
make: *** [prebuild.target.mk:13: .] Error 127
make: Leaving directory '/home/user/Documents/projects/OpenRPG/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/user/.nvm/versions/node/v12.10.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:196:23)
gyp ERR! stack     at ChildProcess.emit (events.js:209:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Linux 5.3.1-arch1-1-ARCH
gyp ERR! command "/home/user/.nvm/versions/node/v12.10.0/bin/node" "/home/user/.nvm/versions/node/v12.10.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build" "--verbose"
gyp ERR! cwd /home/user/Documents/projects/OpenRPG
gyp ERR! node -v v12.10.0
gyp ERR! node-gyp -v v5.0.3
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `node-gyp configure build --verbose`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Output of npm install (error number 2):
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
/bin/sh: ./Release/.deps/..d: No such file or directory
make: *** [prebuild.target.mk:13: .]  System Linux 5.3.1-arch1-1-ARCH
gyp ERR! command "/home/user/.nvm/versions/node/v12.10.0/bin/node" "/home/user/.nvm/versions/node/v12.10.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build" "--verbose"
gyp ERR! cwd /home/user/Documents/projects/OpenRPG
gyp ERR! node -v v12.10.0
gyp ERR! node-gyp -v v5.0.3
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `node-gyp configure build --verbose`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

edit2: I apologize if the title does not accurately explain the issue, but honestly I don't know what title would..
So to explain the above issue. I am attempting to create a package that uses node-gyp to wrap some C++ libraries into a node module. On Windows, the above configuration works without much of a hitch. The build output on Windows warns of a cyclical error (I have no clue why...) but compiles fine without any errors. On Linux, this build fails with the above error output (error number 1). The main error here is /bin/sh: node run build: command not found. This issue can be fixed (sort of) by changing the binding.gyp prebuild action from "action": ["node run build"] to directly just preform the build script via "action": ["node", "build.js"]. It is important to point out that changing it to  "action": ["node build.js"] does not work either. On Linux it appears that the action line needs each individual string to be its own action, and it cat's it all together, whereas on Windows, it can take each full command as its own action in the array. Making this change on Linux makes the cyclical error from Windows (???) prevalent, as it just enters an endless make loop, so now the full command becomes  "action": ["node", "build.js", "rebuild"] (rebuild is a cla that build.js take that will clear the build/ directory, and.. well.. rebuild.). The build.js compilation succeeds, but the node-gyp then fails with the above error number 2. I have no clue what this error means, nor how to go about fixing it. It is likely due to the fact that we nuke the build folder as a part of the prebuild action, but without that, it just sits in and endless loop. Making this same change also fails on Windows, but for a completely different reason. On Windows it seems to pass "rebuild" to build.js as "..\\rebuild" instead for some reason... this means that the same changes made on Linux completely breaks the Windows build as well.
Clearly things do not seem to work the same way with node-gyp across platforms. This discrepancy can be solved by using the conditions array, like I do with the roll target. I am not opposed to this, but even accounting for the platform changes, it still does not want to run properly on Linux.
My end goal is to run this build.js script as a part of the compilation process, as the node module being built relies on dynamic libraries built from that script. The script needs to be run as a part of node-gyp instead of being a node preinstall script, because electron-rebuild uses the binding.gyp to recompile, but nukes the build folder first, meaning the libs that are built in the initial pass get nuked with it. The means that using the node preinstall script is simply not an option.
Any insight into my issues would be greatly appreciated.
edit: formatting fixes

@incomingstick Your review please?

@cclauss I'm sorry, I don't understand the question. Did I forget to add something in my issue?
Perhaps this will help? I will try to summarize my issues here:

on Windows you can run an action "action": ["node build.js rebuild"] but on Linux it has to be formatted as "action": ["node", "build.js", "rebuild"], and with longer commands this can get extremely excessive. On Windows the same change creates some odd behavior where it seems to pass "rebuild" to build.js as "..\rebuild".
running a pre-build script as a target somehow causes a cyclical make build causing it to infinitely recurs on itself only on Linux, though Windows will warn about it. It builds without recursion on Windows.

At the end of the day I am looking to know the proper way to run a build script before node-gyp builds its targets.
My repo in quesiton can be found here.
It can be used as an npm package here.
I hope this helps!

For anyone else looking at this, the code in question that might help this make sense is https://github.com/incomingstick/OpenRPG/blob/8692600a86163f1d6700c66b6abbc3f89fd11cfd/binding.gyp#L6
I don't think I've never used GYP actions and I don't see many projects doing so either so perhaps this functionality just doesn't get enough of a workout. We can see if anyone else watching this repo has an idea of what might be going on but I suspect your best bet might be to try and debug this yourself by poking around in the Python and watching what it does to your input.
There's also a bunch of changes over in https://github.com/refack/GYP3 what we haven't picked up here that may impact this, you could try swapping out the gyp in node-gyp here with that one to see if it makes a difference for your usecase at all. That's just a wild guess and might be one of the things I'd try as I stumbled around blindly in the Python.
Although, tbh, I would personally rely much less on GYP logic than on what could be achieved with npm scripts, raw JavaScript or some other utility that already exists, like https://github.com/prebuild/prebuild (although I don't know if that achieves what you're trying to do).

I have switched to using cmake-js instead of node-gyp.
Thank you for your time.


Dependency exclusion

Added logging of the excluded dependencies. Also changed the excluded_deps file so that inject and inject-java projects are included in the report

Can it exclude also inject-kotlin and inject-kotlin-test?

They should be excluded now


404 with custom post type

That's a weird thing, or a noob thing, i don't know but im trying to access in a single post page from a list and i get a 404. Let me show you my liitle code:
Here is the list, a page called "servicios" where i pull the list of "servicios" (the custom post type):
// page-servicios.php
<?php

$context = Timber::get_context();
$context['servicios'] = Timber::get_posts("post_type='servicios'");

Timber::render('page-servicios.twig', $context);

That's work, i'm getting all "servicios" without problems here. The problem per se is when i click the link of any post, it returns me a 404 (but no the 404 template).
The default single.php works, i create a blog in the same web and it works fine, but no with the custom post, so i create another single for it:
// single-servicios.php
<?php

$args = array(
    'post_type' => 'servicios'
);

$context = Timber::get_context();
$post = Timber::query_post($args);
$context['post'] = $post;

Timber::render('single-servicios.twig', $context);

Stupidly simple, but nope, it doesn't work... here is a capture of the "single-servicios":

Any idea? :/

In your WordPress dashboard, go to Settings > Permalinks then re-save it.

My template exploded D:
Now i can't see the lists on any page

It means that the correct template is loaded however there is an error in single-servicios.php. You don't need to define the $args anymore. So your single-servicios.php should only look like this:
$context = Timber::get_context();
$post = Timber::query_post();
$context['post'] = $post;
Timber::render('single-servicios.twig', $context);

Haha The problem is that now before carrying on the list, no longer charge, now simply recognizes nothing.
I do not know if I explain myself, this:
<?php

$context = Timber::get_context();
$context['servicios'] = Timber::get_posts("post_type='servicios'");

Timber::render('page-servicios.twig', $context);

Is not working anymore, no idea why, just the templates "page-servicios.twig" don't charge.

Don't use a page for post type archives. Just use the archives template. The problem here is that your post type slug conflicts with the page slug. I could give you a comprehensive solution but I am on mobile right now. You should be able to figure it out on your own.

Hm, im really noob on this, is my second site in wp and i always used timber, but don't know how to use the archive... Not only for use with taxonomies and that? let me see.

Quick workaround would be changing the slug of your page. So instead of using servicios, just use some other page slug.

It works a little, the lists reapeared, the 404 error is gone, but the "single" still show nothing... anyway i learned some new today, i'll trying to solve this, sure i'll have more doubts with this but well, you helped me a lot.
Don't close this issue rigth now, I'll try a few things to try to solve it.

Hi @nanotime, have you resolved this? Thanks

Yep, solved. Simple, i'm was using same names in a page and custom-post singular name, so it cause some conflicts, the solution was to use the record template.

Thanks for getting back to me @nanotime and glad its sorted!


DanNet IRIs as paths

Currently, dashes are used to mark DanNet resources, e.g. https://wordnet.dk/dannet/data/word-s21077586.
In future, it might be beneficial to present these as full paths, e.g.  https://wordnet.dk/dannet/data/word/s21077586. Clojure does seem to support slashes inside keywords, even if it somewhat breaks the UX of the language.
Of course, the expectation of a full path is that https://wordnet.dk/dannet/data/word also represents a resource of some kind. Maybe this could be a list of all resources of that type? Also represented internally in the dataset using the same IRI.

Another issue is how transit decodes keyword. It uses (keyword s) in the handler for ":" (keywords) which works fine with a single slash (namespace divider), but breaks with more than one.
I tried this alternative handler which does allow for multi-slash keywords:
(fn [s]
  (let [[ns identifier] (str/split s 2 #"/")]
    (if identifier
      (keyword ns identifier)
      (keyword s))))

It turns out that that slashes are actually not allowed in the identifier/local name part of QNames. I was informed by Paula Gearon of this fact.
In order to solve my "issue" I had even spent two hours mocking up this protocol/min-lib, but it is not needed now: https://github.com/kuhumcst/qname/blob/main/src/dk/cst/qname.clj
Eric Scott (who makes ont-app) will maybe pick up some of the pieces as he liked the design.
Anyway, I am closing this issue and salvaging whatever I can of the issue/72 branch.


use Persei in objc project

I want to use Persei in my objc project, but can't define MenuItem because it's Struct. So I simply changed MenuItem to class and subclass of NSObject. Maybe the requirement is a little weired and the solution has potential risk. What's your suggestion? @Yalantis Whatever, thanks for sharing Persei!

Hello, @NilStack

Hello, @NilStack
struct is used to prevent unexpected changes of MenuItem
When we're declaring MenuItem as a class - user can change any of it's values with no restriction.
Is there any way to rewrite your view controller on swift?

Hi, @dimazen :
Thanks for your response and suggestion.


Bair Robot Pushing SV2P Evaluation Metrics

Description
When running SV2P algorithm on the BAIR Robot Pushing dataset, having the evaluation metrics not be an empty array means that the model crashes when trying to evaluate. After saving the model, it attempts to run evaluation, which should include PSNR and SSIM, but instead generates a tensor mismatch error.
...
Environment information
OS: Ubuntu 18.04

For bugs: reproduction and error logs
Steps to reproduce:
1) Generate BAIR robot pushing dataset
2) Run SV2P

Error logs:

Hi, I meet the same problem. Have you solved it?


Initial properties view doesn't expand image selection drop down to full width

Describe the issue
Initial properties view doesn't expand image selection drop down to full width
To Reproduce
Drag a notebook to the canvas and open the properties
Screenshots or log output

Expected behavior
Drop down has full width
Deployment information
Describe what you've deployed and how:

Elyra version: 2.1.0rc5
Operating system: [rhel 7.9]
Installation source: [dev docker image]
Deployment type: [e.g. local docker installation]
Browser: FF 85.0.2

@ajbozarth - is this related to #1442 and the new canvas version as well?

@akchinSTC I confirm that at least the behavior in #1442 is exactly the same - so this here is most likely a duplicate issue

If you want to build your own version of the container image then the change discussed here https://github.com/elyra-ai/elyra/issues/1442#issuecomment-801137389 should resolve the problem if it's indeed caused by the later canvas version.

@romeokienzler - in the interest of keeping organized, I'm going to close this issue as a duplicate of #1442 and we can move any conversations over to that thread.

sure, thanks a lot! @akchinSTC


Moving AWS s3 api to v2

Work in progress to move the s3 apis to v2. Still need to test all of the branches and make sure its a good idea.

Messy but I think this is ready to be looked at. trying to make a way to remove dangling $folder$ files which get dropped into s3 likely by a 3rd party reader.


Updating crates.io index sometimes takes very long

When building a project with cargo, sometimes cargo starts with "updating crates.io index". Sometimes this process takes very long. Today I observed this this step displaying "resolving deltas" for maybe 5 minutes.
This is surprising because getting the index from scratch after deleting is ~/.cargo/registry is faster than updating the existing index. (I'm assuming this cargo step doesn't touch other directories.)  If doing it from scratch is faster, than why isn't cargo doing that?
I observe this from time to time but it happens rarely enough that I didn't bother reporting it until now. I do not know how to reproduce it reliably. I have also observed this happening to other people new to Rust and cargo because this step takes so long for what feels like no reason. This was frustrating for them.
There are probably good reasons for the current behavior. I still feel this is worthy of a bug report. Maybe there could be heuristics to determine when getting the index from scratch would be faster.
Here is a description of my setup in case it helps debug the performance problem. I use cargo daily on projects with many dependencies. My machine runs Linux, has an SSD, 8 core / 16 thread recent processor, 32 GB RAM. My internet download speed is 100 Mbit/s. Nothing else significant was running when cargo was slow.
Version
cargo 1.66.0 (d65d197ad 2022-11-15)
release: 1.66.0
commit-hash: d65d197ad5c6c09234369f219f943e291d4f04b9
commit-date: 2022-11-15
host: x86_64-unknown-linux-gnu
libgit2: 1.5.0 (sys:0.15.0 vendored)
libcurl: 7.83.1-DEV (sys:0.4.55+curl-7.83.1 vendored ssl:OpenSSL/1.1.1q)
os: Arch Linux Rolling Release [64-bit]

This is a known long-standing bug with libgit2. The process of a clean clone of a repository is linear in the history, but the process of updating into an existing repository is quadratic. Also cargoes index is big and can have a lot of history. We regularly squash the history to try and reduce the problem. sparse-registry will hopefully be stabilized soon removing git from downloading the index at all. There is also work to switch from libgit2 to gitoxide which would also avoid this problem.

I'm going to consolidate in https://github.com/rust-lang/cargo/issues/11014

Thanks for the explanation and linking to the other issue. I could have sworn I searched for open "resolving deltas" issues and it didn't find that one.


Cannot get phantom to show up on other side of NAT

I have an unusual networking situation where a friend and I share an internet service by necessity.
He has a router for the main service, I have another for mine that is behind his. I run DHCP/NAT on both in order to separate our chromecasts and rokus and other devices from eachother. I'm trying to port forward phantom through my router so he can see it on his network and join from his console. The configuration of phantom is typical and it works fine on my LAN and forwards everything to my server hosting provider, my friend does not own a desktop to host phantom on himself, so no easy solution on his side of the network.
I've forwarded every port mentioned in the documentation (the readme) and even a few I saw in the terminal out of hope. Am I missing something? I've forwarded 19132, but also 52460 & 56230 as I saw them mentioned in the terminal.
Running Ubuntu server 20.04
Thank you

Hey @y2k3100, thanks for all the details on your network setup, it’s super helpful! Right off the bat, I’m going to guess that the dual router setup is preventing broadcast packets originating on the main network from reaching yours. Routers typically do not forward broadcasts; they only transmit them within their own network.
I’m guessing: when your friend opens Minecraft, it sends out broadcasts to look for LAN servers, and these are hitting his router and going no further than that. To get phantom working, you’d need those broadcasts to reach your network and your PC running phantom.
How are your local IP ranges, gateway IPs, and subnet masks configured on these networks?
One option might be to turn your router into just a switch without any DHCP, so that both you and your friend are on the exact same network.
A simpler solution would be for your friend to run phantom on his network too. This shouldn’t require any port forwarding.

Ah, I knew I was just missing something simple, It was getting late in my timezone, sorry.
Broadcast packets, of course the client is sending broadcast packets. I can see that in resource monitor and wireshark now..
Welp. I don't want to disable DHCP and link us in a basic LAN configuration. I'll probably find something cheap to stick Ubuntu server and phantom on and plug it into his router sometime. I might even still have an Aspire One somewhere.
Thanks for pointing me to the obvious answer, sorry for my tired brain moment.


Update service tabs more often

previous: bug
fixed:

Reviewer: @jfurrow

Kenny put up this PR hours before I did T__T


Automatic arch detection

https://github.com/jurplel/install-qt-action/blob/7933445fc5670b1ef4eeedb981cf8f14647f2e1a/src/main.ts#L78-L93
should check for target == "android" on line 90, right?

Confirmed in aqt: https://github.com/miurahr/aqtinstall/blob/a10cb470d03aeccad67cbc1e9579496ea7a5f23f/aqt/installer.py#L157-L174


Fix Double Callback

This PR is aimed at fixing the double callback issue that arose from MongoDB Runner.

:shipit:


Move WebView content from ref topic to conceptual topics.

Docs Build status updates of commit 56fd2e1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/webview2/concepts/security.md
:white_check_mark:Succeeded

microsoft-edge/webview2/concepts/versioning.md
:white_check_mark:Succeeded

microsoft-edge/webview2/howto/debug.md
:white_check_mark:Succeeded

microsoft-edge/webview2/reference/win32/0-9-538/icorewebview2.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

#sign-off and merged.


RFC: Flate Reader/Writer API inconsistency compared with Gzip

When comparing the API provided by Gzip::Writer and Gzip::Reader on the open class method:

Gzip::Reader.open
Gzip::Wrtier.open

Noticed that Flate::Reader and Flate::Writer provide this auto-closing functionality on .new instead, without providing a matching .open method:

Flate::Reader.new
Flate::Writer.new

Considering Flate and Gzip compression/decompression interfaces, a parity between the two, at least from the top level, will be much appreciated.
Looking at the current usage in the codebase, the &block version of either Flate::Reader or Flate::Writer is ever used, making a case to perhaps introduce the consistency change.
Thank you in advance for your time and looking forward your comments. :heart: :heart: :heart:

@mverzilli @bcardiff @RX14 thoughts?

@luislavena I think it makes sense, do you want to take a stab at it?

@mverzilli yeah, was thinking on unify the API using .new for all the cases. Don't have the time this week but will invest some hours early next one.
Cheers.

Actually, for the auto-closing behavior I'd use .open instead of .new. Just because it feels a bit weird to create and close from the constructor. What do you think?

.open is the standard for constructors which call #close. Anything with a .open should also have a .new with the same args.

Yes, I think we're on the same page. So 👍 to unifying the APIs, 👎 to just using .new

Actually, for the auto-closing behavior I'd use .open instead of .new. Just because it feels a bit weird to create and close from the constructor.

That means remove the block constructor? Right now .new with block performs #close.

If I understand correctly:

Flate::Reader.new changes to Flate::Reader.open
Flate::Writer.new changes to Flate::Writer.open

In both cases, there is no longer a .new constructor that accepts a block and performs the #close action.
Thank you for your feedback.

.open is the standard for constructors which call #close. Anything with a .open should also have a .new with the same args.

Will love to have those conventions of the stdlib listed somewhere 😉

Good idea! Would the repo's wiki be a good place to start that?

Good idea! Would the repo's wiki be a good place to start that?

If not mistaken, part of the standard library style is already documented:
https://crystal-lang.org/docs/conventions/coding_style.html
So I think makes sense to add the stdlib conventions there too.
Cheers.

Sounds good to me.


[Paladin] - adding darkmode support

Darkmode is not set for this sheet, and I got requests from some players who would like to be able to use the sheet in darkmode.
This makes the roll template usable while in darkmode

Character Sheet Info Roll20 Internal Use only.


False warnings about X400/X500 Addresses in Proxy Addresses

Nearly all Exchange OnPremises topologies are still using X400 Addresses (from old Exchange 5.x setups many years ago). They never enen think about removing them (not being aware that they are there).
We also have X500 addresses which are for "Cross Forest Migrations" and they contain the "LegacyExchangeDN" to allow delivery to migrated mailboxes.
I see a  lot of errore about characters in ProxyAddresses in combination with X400/X500. The reason are "Spaces" in the X400/X500 Address. I tried to find a description about valid characters for these types but was not successfull. But all my addresses were created by the Exchange ProxyDLLs and i'm sure they to it right. so i assume, that  is a valid character for these types.

We are seeing the same issue. X400 ProxyAddresses containing spaces are throwing a "character" error. These were all created by Exchange. They don't seem to have any impact to our AAD Synchronization though - it's successful.

Please see the update on our efforts to refactor the code.

I updated the character checks for proxy address to allow spaces, will go out in the next release. Thanks for letting us know about this opportunity to improve.

On this one - doing some research and seeing a (,) char in some x400/500 addresses, which will also be flagged as invalid.
We could ignore and not check any addresses starting with an "x" or make it more specific to the x.400/x.500 and ignore those? Thoughts from folks on the best way to handle these "special" addresses?

I found the spec for the x500 & x400 addresses and each now have their own regex. If further issues are found will be a quick and easy update to adjust for these.

This will go out in the <IP_ADDRESS> release, closing the issues as fixed. Thanks!


[Bug][Android] MediaElement custom position bar doesn't work

Description
On the MediaElement control on Android, my custom position bar doesn't work. However, it does work on iOS.
This is all because setting MediaElement.Position on Android doesn't actually update the Position value. I confirmed this with the following code:
// Set position to 1 min
mediaElement.Position = new TimeSpan(0,1,0);

The Position property doesn't change after running this code on Android.
Steps to Reproduce

Run the attached sample.
Browse to the last page in the list (Custom Position Bar).
Play the video.
Drag the slider to later in the video.

Expected Behavior
Slider is draggable and the video plays from the new seek point.
Actual Behavior
Slider is draggable but the video keeps on playing from the beginning.
Basic Information

Version with issue: 4.5-pre4
IDE: VS Mac 8.4.5
Platform Target Frameworks:

Android: API 28

Reproduction Link
WorkingWithMediaElement.zip

I think this might be fixed by #381

Could we easily verify that this bug is fixed by the referenced PR?

Could we easily verify that this bug is fixed by the referenced PR?

I'm seeing this issue on Android on all the latest versions of XF and the Toolkit.

The reference PR re-wrote how Position is handled. However there is an outstanding issue where you can't seek increments smaller than 300ms. Another user was investigating whether this limitation is still required with the new implementation.

Then I'm ruling this one as done and we'll have the other one for the <300ms to investigate that. If this is not correct to anyone in here let me know and I will reopen it

I'm setting Position in the MediaOpened event and it doesn't work on Android. Video just plays from the beginning. This should be re-opened.


Short solution needed: "What's Redis default port" (redis)

Please help us write most modern and shortest code solution for this issue:
What's Redis default port (technology: redis)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

What's Redis default port


error: Not a constant expression running flutter in google3 codebase

Getting the following error running flutter in the google3 codebase
'[REDACTED]/cache_config.dart': error: Not a constant expression.

Duplicate of #32268

Hi @a-siva please do not post internal code-base paths in GitHub.


how to delete server session after sign out?

i use meteor accout-ui.
how to delete server session after sign out?

Server Session is not per user, it is globally. So you can simply set the value to something falsy.


speech recognition service is not available on system on Android 11 Beta

I am Getting speech recognition service is not available on system on latest android 11 beta.
I am using:
Ionic version 4.
Ionic webview version: 4.2.0.
Cordova-android: 9.0.0
My Target sdk version: 30
In older version of android speech recognition is working as expected.

you should check, if the "Google App" play.google.com/com.google.android.googlequicksearchbox is installed:
on most Android systems I've come across, the default/system speech recognition engine is the one that is provided by that app (and since this cordova plugin relies on the system's engine, at least one must be installed)

I have this app installed on my phone but am still getting this error.  Is there anything else that I could try?

nor on Android 11 production (Samsung 8+ S20 FE 5G)

In Android 11 it's neccessary to enable manually the speech recognition feature (https://developer.android.com/training/basics/intents/package-visibility-use-cases). Adding next code in AndroidManifest.xml worked for me:
<queries>
  <intent>
    <action android:name="android.speech.RecognitionService" />
  </intent>
</queries>

It Work for me.

In Android 11 the connection to the voice recognition service must be done manually (https://developer.android.com/training/basics/intents/package-visibility-use-cases). Adding next code in AndroidManifest.xml worked for me:
<queries>
  <intent>
    <action android:name="android.speech.RecognitionService" />
  </intent>
</queries>

@dteso That idea sounds amazing, how can I add this to my AndroidManifest.xml, if 'cordova platform add' build by himself the android folder?

AndroidManifest

Add this code in file "config.xml"

...
...


Alteration to index-discovery script to only (re-)index specific type of IndexableObject

Description
Alteration to index-discovery script to only (re-)index specific type of IndexableObject
Instructions for Reviewers

With -t option, help output logs options of types of IndexableObject with indexing factory
Not compatible with -b option since this clears entire index first (& expect to rebuild it in its entirety)
Compatible with -f to force reindex specific type of IndexableObject

Test option -t

Clear solr search core
Run ds index-discovery -t MetadataField => Verify all metadata fields are indexed
Also testable with: ClaimedTask, Collection, Community, Item, PoolTask, XmlWorkflowItem, WorkspaceItem

With -f option:

Alter config so more things are indexed on an Item, eg virtual metadata for an item with relationship
Run ds index-discovery -f -t Item => Verify the changes are indexed & only the Item docs are reindexed

Checklist

[x] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & integration tests). Exceptions may be made if previously agreed upon.
[x] My PR passes Checkstyle validation based on the Code Style Guide.
[x] My PR includes Javadoc for all new (or modified) public methods and classes. It also includes Javadoc for large or complex private methods.
[x] My PR passes all tests and includes new/updated Unit or Integration Tests based on the Code Testing Guide.
[x] If my PR includes new libraries/dependencies (in any pom.xml), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
[x] If my PR modifies REST API endpoints, I've opened a separate REST Contract PR related to this change.
[x] If my PR includes new configurations, I've provided basic technical documentation in the PR itself.
[x] If my PR fixes an issue ticket, I've linked them together.

@tdonohue : Added validation for the type option value, with list of allowed types.

Removing "needs documentation" flag as docs exist at https://wiki.lyrasis.org/display/DSDOC8x/Discovery#Discovery-DiscoverySolrIndexMaintenance


Error: Directory index is already disposed for Project [...]

Thrown when two project windows were open, reflecting two distinct instances of the project in different directories.

Thank you for reporting. The issue has been already reported in #109 and fixed.
It will be pushed with the next release.

Cool. Thanks!

Fix has ben released just right now with v1.1.2


Initial isFieldValid returns true when field is empty and uses required validator.

On calling v.isFieldValid and passing an element it appears to use the cached version even though it has not previously run.
From the code for isFieldValid I can see the validation is set up to run on the debounce timeout, which I have set to 0 on bootstrap.
This results in isFieldValid returning true even though it has not called the validator. The validator fires after the function returns and evaluates to false. There is no async code.
I'm going to work around this by using the callback.
Is it an error that the state is returned as true when it has not been through a validator? From the docs on this function it's not obvious that the return state is cached.
Would you consider an alternative (which I'll help with) if the debounce is 0, calling the validator and returning the state immediately?
That might still make the return value unreliable if debounce is not 0 though.
Basic idea of what I am doing is below;
<input type="text" data-val="true" data-val-required="Please enter."id="ElementX" name="ElementX" value="" />
// Bootstrap was set with v.debounce = 0;

// On a button click, check if empty field is valid.
let isValid = v.isFieldValid(element));

// Returns true

Thank you
Ryan

You're absolutely correct that the debounce is making an otherwise synchronous validation async so it immediately returns true. We should fix that.
It's worth mentioning here that returning the cached value is what happens "by design" if there's a remote or other Promise-returning validator involved. Ideally the method would return a Promise<bool>, but that's a breaking change. Maybe v2?

That might still make the return value unreliable if debounce is not 0 though.

This is also correct, and we should fix that.

validateField() should always call the underlying validator, undebounced.
Only the change/input handler should be debounced.

I actually have a branch in progress (for #100) that's adjusting how the callback is wired/unwired, so I can include this fix in that change.

Well, thank you very much. Sorry to pile stuff on to your plate.

Give this a try? https://github.com/haacked/aspnet-client-validation/pull/110

Not sure if Phil has made his changes from review. Let me know when the review is good to test.

I fixed the bug Phil found. 👍  Please test!


UfligyJS un-necessarily pinned at the latest and buggy release

https://github.com/webpack-contrib/uglifyjs-webpack-plugin/blob/master/package.json#L50
pins uglify to 3.4.9
But there are some bad uglify-js bugs with 3.4.9:
https://github.com/mishoo/UglifyJS2/issues/3245
https://github.com/mishoo/UglifyJS2/issues/3257
https://github.com/mishoo/UglifyJS2/issues/3260
and now as a consumer of this plugin I cannot specify the uglify-js version in my parent package.json in order to use a non-buggy release.

If yes, feel free to send PR and we release patch version

Sure, done.

I think it must be only in peerDependencies to control it outside package

@Delagen it is plugin, and he should use this as dependencies

@evilebottnawi UglifyJS is very unstable at this branch, so it will broke project sometimes if version does not fix to certain revision

@Delagen use lock files

@Delagen Better use https://github.com/webpack-contrib/terser-webpack-plugin

@evilebottnawi Thanks for this recommendation. I'll try it


Edit build status badge

/test

Closing the PR since test-infra needs some fix

/test

/test all

/retest

/lgtm


Only print nonzero cost

Fix #246

Codecov Report

Merging #305 into master will increase coverage by 0.13%.
The diff coverage is 92.85%.

@@             Coverage Diff              @@
##             master     #305      +/-   ##
============================================
+ Coverage     83.55%   83.69%   +0.13%
- Complexity      377      384       +7
============================================
  Files            60       60
  Lines          1192     1202      +10
  Branches        156      162       +6
============================================
+ Hits            996     1006      +10
  Misses          107      107
  Partials         89       89

Impacted Files
Coverage Δ
Complexity Δ

test_runner/src/main/kotlin/ftl/util/Billing.kt
97.67% <92.85%> (+0.7%)
17 <0> (+7)
:arrow_up:

Continue to review full report at Codecov.

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


Ratios not displaying correctly

Line 216 of buttons.py, this formula is used to calculate for telegram:
( current_coin_price / other_coin_price ) - 0.001 * '{scout_multiplier}' * ( current_coin_price / other_coin_price ) ) - sh.target_ratio )
The 0.001 should be atleast gathered from the variable the binance_trade_bot uses. If that isn't possible, it should be 0.002.
Line 131 of Edeng's binance trade bot uses:
coin_opt_coin_ratio - transaction_fee * self.config.SCOUT_MULTIPLIER * coin_opt_coin_ratio - pair.ratio
And a couple lines above that:
transaction_fee = self.manager.get_fee(pair.from_coin, self.config.BRIDGE, True) + self.manager.get_fee(                pair.to_coin, self.config.BRIDGE, False)
The resulting transaction_fee = 0.002 (for VIP 0 binance without any discounts).

Thanks for pointing it out, we are aware of problems in the calculation method and will push a fix as soon as we have some time!

Is this still the case? We had some improvement for the ratio calculation, can you confirm?


Add transaction submission coordination to horizon leveraging Redis

Implement new OpenSubimssionList using redis
Implement new SequenceProvider using redis
Implement new ResultsProvider using redis

I think this is not an urgent issue to be resolved but an enhancement for the future when we suffer from bad performance. Closing for now.


nlog crashed on ubuntu16.04

Bug
NLog version: 5.0.0-beta11
Platform: .NET Core2.0
Current NLog config (xml or C#, if relevant)

And here is my test code
static void Main(string[] args)
{
string path = Path.Combine(Environment.CurrentDirectory, @"config/NLog.config");
var config = new XmlLoggingConfiguration(path);
LogManager.Configuration = config;
Logger logger = LogManager.GetLogger("Example");
logger.Trace("zoo...");
}
the program worked fine on windows,but crashed on ubnunt.

Please post he config, error message and stacktrace

add the following code before the program exit,and there is no crash
LogManager.Shutdown();

OK, thx for the feedbac


Checks to run on submitted marker files

Marker files are submitted under src/markers/
Files must be named {taxonomy_id}_markers.tsv - any other name will prompt an error  # HARD FAIL
3 columns  - headers and contents as follows # HARD FAIL

Taxonomy_node_ID
clusterName
Markers

CS202002013_123
GABAergic
ensembl:ENSMUSG00000070880|ensembl:ENSMUSG00000098326

CS202002013_179
Glutamatergic
ensembl:ENSMUSG00000053025|ensembl:ENSMUSG00000032503

### content checks:
All dendrogram nodes must be present # WARNING
Taxonomy_node_ID must be valid # HARD FAIL
clusterName must(?) match clusterName in dendrogram # WARNING
 Markers must match regex .+\:.+ with multiple entries delimited by |.    # HARD FAIL
Checks for these should be added to GitHub actions - running under CI but also as an independent test - ideally with email.  Otherwise just do via PRs.

Error/Warning check levels added. Now we hard fail only in one check:

Taxonomy_node_ID must be valid # HARD FAIL

 === Marker Nodes' Dendrogram Existence Checks :
Invalid Taxonomy_node_ID 'CS202002013_235' in the marker file (CS202002013_markers.tsv). Id not exist in the dendrogram.
Invalid Taxonomy_node_ID 'CS202002013_233' in the marker file (CS202002013_markers.tsv). Id not exist in the dendrogram.
Invalid Taxonomy_node_ID 'CS202002013_232' in the marker file (CS202002013_markers.tsv). Id not exist in the dendrogram.
Invalid Taxonomy_node_ID 'CS202002013_250' in the marker file (CS202002013_markers.tsv). Id not exist in the dendrogram.

related github action

All updates completed and merged to master.


Lib doesn't seem to work without retrolamda

It seems that retry(RxReprint.retryNonFatal(5)) doesn't work when not using retrolamda.
After the first (non-fatal) error, the fingerprint reader no longer seems to be listening for any input, and it no longer emits any errors nor codes.
How to reproduce
I changed these lines in the sample app with the code below:
RxReprint.authenticate()
                .doOnError(new Action1<Throwable>() {
                    @Override
                    public void call(Throwable throwable) {
                        AuthenticationFailure e = (AuthenticationFailure) throwable;
                        showError(e.failureReason, e.fatal, e.errorMessage, e.errorCode);
                    }
                })
                .retry(RxReprint.retryNonFatal(5))
                .subscribe(new Subscriber<Integer>() {
                    @Override
                    public void onCompleted() {

                    }

                    @Override
                    public void onError(Throwable e) {

                    }

                    @Override
                    public void onNext(Integer integer) {
                        showSuccess();
                    }
                });

Tried this on a nexus 6p (running android 7.1.1) and on an emulator with the 7.1.1. image.
However! Adding plenty of breakpoints seemed to solve the issue..

Retrolambda is unrelated to this issue. What appears to be happening is that some change was made in Nougat that causes the fingerprint manager to silently fail when starting an auth request for some undocumented period of time after one was cancelled. Reprint.authenticate should still work fine.
I don't know of a way to fix this without changing the RxReprint api back to the 1.x version. I'm open to suggestions.

@ajalt Is there any new development regarding this issue?

@bernardo-macedo As far as I can tell, this is a bug in Nougat's fingerprint manager. The only way that I can find to work around this is to go back to an API like I had in Reprint 1.1, where the observable keeps emitting items until authentication succeeds or you're locked out.
If you have any input on what you'd like to see in the API, let me know.

@bernardo-macedo @joen93 : The newest release has an updated API that should work around the bug. Let me know if you still have problems, or if you have any feedback on the new API.


Fix texture creation and add tests

This will need more work in order to know exactly which version supports which type of texture.

I have commented-out some tests. Will open related issues.


[AGP 3.0] - Build failure reason org.gradle.execution.TaskSelectionException: Task 'spoonDebug' not found in root project ''. Some candidates are: 'stopDebug'.

Details:
Trying to update from Android Gradle Plugin 2.3.3 to 3.0.0.
With 2.3.3:
spoon - Runs all the instrumentation test variations on all the connected devices
spoonDebugAndroidTest - Runs instrumentation tests on all the connected devices for 'debugAndroidTest' variation and g

With 3.0.0:
spoon - Runs all the instrumentation test variations on all the connected devices

Error:
Build failure reason org.gradle.execution.TaskSelectionException: Task 'spoonDebug' not found in root project 'android'. Some candidates are: 'stopDebug'.

Duplicate of https://github.com/stanfy/spoon-gradle-plugin/issues/155

@autonomousapps Thanks. That issue should be renamed as it is not Gradle's fault, it is the Android Grade Plugin fault.

I'll leave that to a maintainer to figure out :)
Btw, if you look at the PR associated with that other ticket, you'll find a solution using a snapshot build that will get you rolling again.

@autonomousapps I hope that the make a release soon!


OIDC support for Github Actions

Describe the solution you'd like
https://github.blog/changelog/2021-10-27-github-actions-secure-cloud-deployments-with-openid-connect/

Adding this for reference:
https://github.com/marketplace/actions/azure-login#sample-workflow-that-uses-azure-login-action-using-oidc-to-run-az-powershell-windows

I have now tested this and it works well. Will however wait until it is supported in the non-preview version of Azure CLI before updating the main workflows.


[question] how do create custom rules for custom mappings

i saw that there is an map_c_w = true, its work fine for c-w.
but i want to map the auto delete double brackets for control+backspace
mine is mapped like this:
-- insert mode
inoremap("<c-bs>", "<c-w>")
inoremap("<c-h>", "<c-w>")

-- normal mode
nnoremap("<c-bs>", "i<c-w>")
nnoremap("<c-h>", "i<c-w>")

-- command mode
vim.cmd [[
noremap! <C-BS> <C-w>
noremap! <C-h> <C-w>
]]

these mappings work. for backwards delete.
but i cant delete double brackets.
how do i create a custom rule to delete brackets with control+backspace
before            insert                         after
func(|)           ctrl+backspace        func

should i do a recursive map? is is possible with custom rule?

i got it fixed by doing recursive map. now control+backspace is treated just like control+W
vim.cmd [[
map! <C-BS> <C-w>
map! <C-h> <C-w>
]]


feat: Allow updating the copyright

Is it a ?

[ ] Bug Report

[x] Feature Request

[ ] Chore

Feature Request
Feature Description
Right now, the app supports Creating copyright for an Event. It should also support updating an existing Copyright for an Event.
Would you like to work on the issue?
Yes
Parent issue
#619

@srv-twry Status. Please comment so I may open it

@iamareebjamal Please open it now, I'm ready to send the PR.


[WIP][GWS] management

Coverage decreased (-0.09%) to 79.853% when pulling ad89e426830ae03dcca51e932acc06f8b5f8d6f5 on sunny4381:features/management into 4b2a27269689a373df64b687ece0234b5721b4f9 on shirasagi:dev/gws.

Coverage decreased (-0.1%) to 79.734% when pulling e6819a722ad933bff0979a8fcbeca76a7512a71e on sunny4381:features/management into fffec6c0d0f5b96abad61a0728f25028db2f3ff7 on shirasagi:dev/gws.

Coverage decreased (-0.1%) to 79.747% when pulling 54d0e32ea331199cbef1d61bd001afe8a16bca7f on sunny4381:features/management into fffec6c0d0f5b96abad61a0728f25028db2f3ff7 on shirasagi:dev/gws.

Coverage decreased (-0.07%) to 79.791% when pulling 0f73b6d9dc3a653292e5a918e06a11e3e2998e13 on sunny4381:features/management into 241664e15b95511cc4152cdbad2192127c0226c7 on shirasagi:dev/gws.

Coverage decreased (-0.03%) to 79.733% when pulling 064e130320c479c82011ad1721c8d0288796bb09 on sunny4381:features/management into 94e9678d56b601a9ca5b9525e9114d01a01c4f7b on shirasagi:dev/gws.

Coverage decreased (-0.03%) to 79.731% when pulling 064e130320c479c82011ad1721c8d0288796bb09 on sunny4381:features/management into 94e9678d56b601a9ca5b9525e9114d01a01c4f7b on shirasagi:dev/gws.

Coverage increased (+0.1%) to 79.877% when pulling 9e3276e1e37dd532b0b4ee61ddb3134e239ff6da on sunny4381:features/management into 94e9678d56b601a9ca5b9525e9114d01a01c4f7b on shirasagi:dev/gws.

Coverage increased (+0.09%) to 79.854% when pulling bc172b05056642e0bef168543ba6d2247d58c687 on sunny4381:features/management into 94e9678d56b601a9ca5b9525e9114d01a01c4f7b on shirasagi:dev/gws.

Changes Unknown when pulling ee2fca9fee8a65661d8c6817256d89ea33f3f542 on sunny4381:features/management into ** on shirasagi:dev/gws**.

Coverage decreased (-0.07%) to 80.168% when pulling 6bb2afcc6ed983fb43ed5f065c42cd1f69ae0c00 on sunny4381:features/management into 61ab46f154c2e426049af468fb2a8754ae8ae29a on shirasagi:dev/gws.


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-31-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4952

Questions ?
Please refer to the Backport tool documentation


How to resolve user/group ?

This package looks promising, however I have little trouble understanding how to even start using it...
What/how should I resolve the user/group in AUTH_FUNCTION ? Sorry I don't get it from this documentation.
I also tried to use the built in session auth method and it fails with AssertionError: Starlette SessionMiddleware must be installed to access request.session
FYI using the FastApi so code looks like this:
from fastapi import FastAPI
from ratelimit import RateLimitMiddleware, Rule
from ratelimit.auths.session import from_session
from ratelimit.backends.redis import RedisBackend
from starlette.middleware.sessions import SessionMiddleware

app = FastAPI()
app.add_middleware(
    SessionMiddleware,
    secret_key='aaa'
)
app.add_middleware(
    RateLimitMiddleware,
    authenticate=from_session,
    backend=RedisBackend(),
    config={
        r"^/": [Rule(second=1), Rule(group="admin")],
    },
)

For your code, you should reverse the order in which the two pieces of middleware were added. You must let the session middleware take effect before the ratelimit middleware.
AUTH_FUNCTION is a function for retrieving user and user group information from ASGI scope. If you don't know ASGI scope, you can refer to the documentation.

For your code, you should reverse the order in which the two pieces of middleware were added. You must let the session middleware take effect before the ratelimit middleware.
AUTH_FUNCTION is a function for retrieving user and user group information from ASGI scope. If you don't know ASGI scope, you can refer to the documentation.

Thanks for your feedback, I think I should add more tutorials. This part of the documentation is really not detailed enough.

Thanks for your feedback, I think I should add more tutorials. This part of the documentation is really not detailed enough.

Thanks for prompt reply!
Yes, the readme could do with some basic examples to help others understand how it works.
Now I sorta get it. I thought the scope as of something internal of this package... I should go & read the ASGI spec first :smile: I haven't touched Python for few years & all these types / async is awesome but hard to digest at first.

Thanks for prompt reply!
Yes, the readme could do with some basic examples to help others understand how it works.
Now I sorta get it. I thought the scope as of something internal of this package... I should go & read the ASGI spec first :smile: I haven't touched Python for few years & all these types / async is awesome but hard to digest at first.

I closed this issue previously as I got what I wanted to eventually succeed.
I would strongly recommend that you add some more examples of what asgi-ratelimit is capable of doing... I almost walked away when I read the readme and it seemed to be a "basic" package. Turns out it's quite flexible...! So more examples = more happy users... ;-)
After few hours of hacking around your package & FastApi sources I came up with a code that meets my expectations (short version for simplicity).
The below is somehow an example of rate limiting based on user's subscription account that is obtained through their api-key.
from typing import Tuple

from fastapi import Depends, FastAPI, Security
from fastapi.security import APIKeyQuery
from ratelimit import RateLimitMiddleware, Rule
from ratelimit.backends.redis import RedisBackend
from starlette.datastructures import QueryParams

app = FastAPI()

client_id = APIKeyQuery(name="api-key")

async def verify_client(api_key: str = Security(client_id)):
    # needs to check if api_key exists & is allowed to use this service at all
    if api_key not in <database>:
        raise HTTPException(...)

@app.get("/", dependencies=[Depends(verify_client)])
async def whatever():
    return {...}

async def my_auth(scope: Scope) -> Tuple[str, str]:
    api_key = QueryParams(scope["query_string"])
    # perform query to database/redis to check what level of account subscription
    # is assigned to given api_key
    return api_key, <your_custom_group>

app.add_middleware(
    RateLimitMiddleware,
    authenticate=my_auth,
    backend=RedisBackend(),
    config={
        r"^/": [Rule(second=1, group="free"), Rule(second=5, block_time=100, group="basic")],
    },
)

Biggest surprise to me (this is undocumented) is that one can join rule names together with group, so one can have rate limits per time unit per group :tada:
thanks for your amazing code :heart:

I closed this issue previously as I got what I wanted to eventually succeed.
I would strongly recommend that you add some more examples of what asgi-ratelimit is capable of doing... I almost walked away when I read the readme and it seemed to be a "basic" package. Turns out it's quite flexible...! So more examples = more happy users... ;-)
After few hours of hacking around your package & FastApi sources I came up with a code that meets my expectations (short version for simplicity).
The below is somehow an example of rate limiting based on user's subscription account that is obtained through their api-key.
from typing import Tuple

from fastapi import Depends, FastAPI, Security
from fastapi.security import APIKeyQuery
from ratelimit import RateLimitMiddleware, Rule
from ratelimit.backends.redis import RedisBackend
from starlette.datastructures import QueryParams

app = FastAPI()

client_id = APIKeyQuery(name="api-key")

async def verify_client(api_key: str = Security(client_id)):
    # needs to check if api_key exists & is allowed to use this service at all
    if api_key not in <database>:
        raise HTTPException(...)

@app.get("/", dependencies=[Depends(verify_client)])
async def whatever():
    return {...}

async def my_auth(scope: Scope) -> Tuple[str, str]:
    api_key = QueryParams(scope["query_string"])
    # perform query to database/redis to check what level of account subscription
    # is assigned to given api_key
    return api_key, <your_custom_group>

app.add_middleware(
    RateLimitMiddleware,
    authenticate=my_auth,
    backend=RedisBackend(),
    config={
        r"^/": [Rule(second=1, group="free"), Rule(second=5, block_time=100, group="basic")],
    },
)

Biggest surprise to me (this is undocumented) is that one can join rule names together with group, so one can have rate limits per time unit per group :tada:
thanks for your amazing code :heart:

Thank you for sharing and suggestions. Compared to writing documentation, I am better at writing code. However, good advice, I will write more documents to explain how to use this library.
By the way, if you are free, can you help me improve the documentation?

Thank you for sharing and suggestions. Compared to writing documentation, I am better at writing code. However, good advice, I will write more documents to explain how to use this library.
By the way, if you are free, can you help me improve the documentation?


Anyway to get multikey input?

Trying to send inputs to an Arduino board (remote car project with WASD keys) via bluetooth and using serialport library for that. I need to be able to detect multiple keys being pressed at once. E.g. WS pressed together. I assume an event should return something like an array of the inputs returned together that occurred at that time.

You should listen to keydown keyup events, have time window what you treat as "pressed at once" and act how you want when such combination happens.
It's what it's, when you are interested in combinations without Ctrl, Alt, it becomes harder.

remote car project with WASD keys

take inspiration for input system implementation from game engines.


Data Job Debugging Plugin

What is the feature request? What problem does it solve?
Deployed data jobs can fail for multiple reasons. Usually, the solution for troubleshooting the errors is to investigate execution logs or reproduce the error locally.
This works in most cases, but does not work when the component that fails does not produce logs, if logs are missing altogether or if a dependency (either of vdk or the data job itself) fails for some reason.
To solve such issues, it would be nice to have troubleshooting tools as part of vdk, which can do a thread dump for example and send it to an endpoint, or log some specific information about the execution.
Suggested solution
One solution could be to have a plugin that can be part of vdk package bundle, and which has debugging/troubleshooting tools that can be configured in case a deployed data job needs to be debugged remotely.
Additional context
Add any other context or screenshots about the feature request here.

Related Pull Request: https://github.com/vmware/versatile-data-kit/pull/1423

Triaged. Closed as being already resolved.


Devise Email Validation

Hello,
in our application we use devise_token_auth, but right now we need to be able to use a solution implemented in devise (namely, the possibility to scope the login to subdomains, as seen here). The problem is that devise_token_auth ignores Devise's email validation and makes it own, thus preventing this feature from being used.
Making this change won't be easy, though, since adopting Devise's email validation will result in considerable changes and probably in breaking behaviours in projects that use devise_token_auth.
Still, having the same kind of validations in devise_token_auth seems a bad choice and ideally it should be fixed.

Hey @BrunoRomes just submitted a PR for a similar issue because it seems there's no way of adding "subdomain" into the finder methods regardless of the email validations. I'd like your feedback https://github.com/lynndylanhurley/devise_token_auth/pull/382

Hey @neutronz , nice PR.
Although I can't try it out now (we adopted another solution), it seems your PR really solved the problem without producing undesired side effects (congratulations).
The only change I would make is to define the set_auth_hash! only once (right how you defined it in app/controllers/devise_token_auth/concerns/set_user_by_token.rb and app/controllers/devise_token_auth/passwords_controller.rb

PR is closed and last post was 2 years ago, closing this one out for now


Check for technical support contacts as part of new hub turn-up

As part of https://github.com/2i2c-org/infrastructure/issues/3048#issuecomment-1907195217, we now have an airtable be the 'source of truth' for who is allowed to initiate support requests. This PR adds an item in the checklist for new hub turn up, making sure we validate that there is a technical contact for this hub.
The airtable in use may change soon as well as the terminology (as partnerships works on it https://github.com/2i2c-org/infrastructure/issues/3048#issuecomment-1909011115). But it is important to have a verification step here, so we don't let whatever airtable it is be out of date.
Ref https://github.com/2i2c-org/infrastructure/issues/3048#issuecomment-1907335901

@sgibson91 great suggestion! I moved it up - what do you think?


Temporary fix cross and CI

Didn't find a better way. Can delete this file after a new version of cross is released

@bors r+

:pushpin: Commit c6723a9486a30a2fb1c896780a8ec4b32fc700ad has been approved by Amanieu
It is now in the queue for this repository.

:hourglass: Testing commit c6723a9486a30a2fb1c896780a8ec4b32fc700ad with merge f59eeaca751fa381ba2a99d3491fe8f0ef3584fb...

:sunny: Test successful - checks-actions
Approved by: Amanieu
Pushing f59eeaca751fa381ba2a99d3491fe8f0ef3584fb to master...


Improve list users search

Preflight Checklist

[X] I could not find a solution in the existing issues, docs, nor discussions
[X] I have joined the ZITADEL chat

Describe your problem
When an organization has lots of users, the "Add a Manager" dialogue does a Contains search filter for Login names on the ListUsers endpoint. In my case there are 700k+ users in the same org. The request takes ages to return and probably the contains search does a sequential scan,
Describe your ideal solution
Do not use the contains operator for text searches on basic text columns. Instead, we should investigate implementing better Text Search in PosgreSQL, which allows building specialized index columns for fuzzy searching.
Version
v2.56.0-rc.4
Environment
ZITADEL Cloud
Additional Context
No response

moved this to bugs and small issues, estimated at around an hour


floyd run --data xxx:yyy fails in new floyd-cli==0.10.19 (but is fine in previous version)

Running floyd run --data path/to/dataset:data throws Error: Missing .floyddata file, run floyd data init first. The same command works fine in the same folder after downgrading back to 0.10.18.

Thanks for the report, we will be pushing out a hotfix version soon.

I have released a new version to address this issue, thanks again for the report!

Thanks for the quick fix, the extra typing in shell will no longer distract me from spending precious GPU minutes :)

Glad that you liked the simplification! Kudos to @mckayward :)


has-changes doesn't work as expected

It return yes somehow when all changed files match the ignore_patterns. "hack/.notableofcontents" is mismatched:
PATHS: *
IGNORE_PATHS: docs/* ci/jenkins/* *.md hack/.notableofcontents plugins/*

...

* Changed files are:
docs/antctl.md
docs/multicluster/antctl.md
hack/.notableofcontents
* Changed files after filtering with patterns are:
docs/antctl.md docs/multicluster/antctl.md hack/.notableofcontents
* Changed files after filtering with ignore_patterns are:
hack/.notableofcontents
Setting 'has_changes' to 'yes'

See the following builds:
https://github.com/antrea-io/antrea/runs/5692577240?check_suite_focus=true
https://github.com/antrea-io/antrea/runs/5692570263?check_suite_focus=true
However, I cannot reproduce the issue by calling check_changes.sh directly, not sure what's wrong.

Thanks for reporting this, I'll see if I can figure it out

@tnqn it should be fixed now
The v2 tag now points to the v2.0.1 release which means Antrea should pick up the change automatically.


GitHub Co-Pilot commit messages not synchronized / lags behind

I'm always using the latest (stable) build of VS Code and I've been using AI to generate commit messages for about a year now.
I think it's fantastic that I can save time by not having to come up with a clever commit message every time I need to make a commit. But the problem I'm facing is that a lot of the times (I would say 50% of the time) when clicking the "magic" icon in the commit message textarea box, the message that is generated is from old context; i.e. from code changes that I maybe did a few moments ago. It's as if the previous code changes are cached or something and then I have to click the magic icon 7-9 times before it realizes that I'm looking for a commit message for my latest code changes and not from the changes I did 10-30 minutes ago. And sometimes I'm force to type the message manually because it seems it's incapable of understanding what changes I've just made.
All in all it's a fantastic features that saves me tons of time but if this strange behavior would not exist it would be even better.
I hope you can take a look at it.

this still happens

this still happens

And I thought I was the only one! 😁

Since the issue has been filed we have switched to a better model, improved the context and in the latest Copilot Chat release added support for custom instructions through the github.copilot.chat.commitMessageGeneration.instructions setting. All this should result in better commit messages so I am optimistically closing this issue.


Please see if the task API works in iOS

Per thaliproject/Thali_CordovaPlugin#1261 we need to use the task API in iOS. But is it even working? Please check out https://github.com/jxcore/jxcore/blob/master/doc/api/jxcore-tasks.markdown

I've run this code
var task = {
  define: function () {
  },
  logic: function (param) {
    console.log("We are in a sub-instance now. Argument value is:", param);
    return "ok";
  }
};

var callback = function (err, result) {
  if(err) throw err;
  console.log(result);
};

var i = 0;
for (i = 0; i < 100; i++) {
    jxcore.tasks.addTask(task, {str: "hello"}, callback);
}
console.log(jxcore.tasks.jobCount());

and received these logs
https://gist.github.com/baydet/be1bcfece89a117b4f1346b44e3fffce

@enricogior @andrew-aladev It looks like the task API works on iOS so once we have finished thaliproject/Thali_CordovaPlugin#1228 (which looks to be done) then we can talk about how we want to implement a variant that uses the task API on iOS.


Performance improvements

BEGINRELEASENOTES

eede really struggles when visualizing events that consist of many objects. In this PR, a few of these points will be discussed.

Issues
Cpu

Canvas: canvas can slow down if using methods like drawBezierCurve or drawImage. For example, if using the cld full sim as test file, the tool really slows down. At first, it takes a long time to draw, but then if trying to move any object, is almost impossible due to resource consumption.
Visible objects: Related to the previous point, detecting visible objects is slow, specially at the beginning and when scrolling. The larger amount of objects, the longer it takes to detect visible objects.

Ram

MathJax: The process of creating an image, adding a src generated by MathJax, extracting the image and drawing it for MCParticle is slow and ram-consuming. Here is a comparison of memory taken if storing or not MathJax images.
 This test uses test_mc_shower.edm4hep.json on firefox (firefox is faster than chrome for me).

Proposed solutions

We can continue using canvas, however, we could stop using bezierCurve to draw relations between certain objects, because these really slow down canvas. Also, we could not draw images for MCParticle depending on the amount of objects in the collection.
We could use other alternatives to CanvasAPI, like WebGL which is faster. However, its a bit harder to use.
Use PixiJS: I think that PixiJS speed its the best option for this case (there are other similar options for 2D, but those projects aren't so active like pixi, so we can somewhat rely on the pixi community). It uses WebGL by default (or canvas if browser doesn't support) so it already has all the optimizations with a high level API. It supports "events", so we could drop a lot of the events that currently are attached to the canvas, so now each object will detect when is dragged, reducing from $O(n)$ to $O(1)$ the time needed in worst case scenario to move objects around. Sprites (image) are also very fast to render, so we could load the SVG from MathJax and transform into sprite. Finally, I think that bezierCurves are not that fast, but we can test.

In this PR, I've implemented pixijs only for MCParticle view just for demonstration, so we can try how it performs with large files.
ENDRELEASENOTES

For me the objects / text are now a bit blurry. I am not sure if that is expected or not? Or maybe it's something that can be configured somehow?

For me the objects / text are now a bit blurry. I am not sure if that is expected or not? Or maybe it's something that can be configured somehow?

Oh yes, I think is because I've not configured Pixi correctly. Also, dragging doesn't work.


WRN-19985: Fix ui test fail on jenkins(VirtualList, Scroller)

Enact-DCO-1.0-Signed-off-by: Dongsu Won<EMAIL_ADDRESS>Checklist

[x] I have read and understand the contribution guide
[ ] A CHANGELOG entry is included
[x] At least one test case is included for this feature or bug fix
[x] Documentation was added or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added

Need to change test way to use only 5-way mode(QWT-2317).
Need to skip Scroller ui-test(QWT-2662).

Resolution

Change test way for VirtualList ui-test(QWT-2137).
Skip Scroller ui-test(QWT-2662).

Additional Considerations
Links
WRN-19985
QWT-2137
QWT-2662
Comments
Test result is changed by Ux change.

I think the PR description is wrong with this code change.
And Could you please add one more validation into QWT-2137?
I think below is needed.
await expectFocusedItem(20); // or 21?

I think the PR description is wrong with this code change.
And Could you please add one more validation into QWT-2137? I think below is needed. await expectFocusedItem(20); // or 21?

I fixed PR description and add check focused item code. Thanks for review!

link https://github.com/enactjs/sandstone/pull/1217


Upgrade funcunit to syn 0.5.0

Upgrades funcunit to syn 0.5.0, which brings with it...

Universal PointerEvent support (minus rightclick)
Universal TouchEvent support (minus rightclick)
Expanded Modifier Key support
Modifier Key fixes to Ctrl
Many other bugsfixes, doc, and expanded tests

:D


Point in time based searches should provide an option to ignore missing indices

Is your feature request related to a problem? Please describe.
If a point in time is created against an index that is then deleted, searches using that point in time will fail. This is problematic if a point in time is created against all indices, and one of those indices is then dropped while the PIT is still in use. An example of this occurring is that lifecycle management may drop an old index in the middle of a search.
A minimal way to reproduce this is:

Stand up an OpenSearch cluster.
Add 2 indices -- index-1 and index-2
Create a PIT against _all
(Optionally) Test that a search with the PIT works
Delete index-2
Test that a search with the PIT fails with a 404 indicating that an index is missing.

Describe the solution you'd like
Allow PITs to specify something like allow_partial_search_results which then returns search results while ignoring missing indices similar to non-PIT searches.
Describe alternatives you've considered
This can be managed on the client by creating a new PIT and searching again, however this is cumbersome.
Additional context
Elasticsearch have tracked a similar issue in https://github.com/elastic/elasticsearch/issues/81256 and have implemented a fix to the problem described in https://github.com/elastic/elasticsearch/pull/81349

As an admin task, we should probably create a dedicated label for point-in-time search, to ensure that the right folks get their eyes on this. Those of us who follow the Search label probably don't have enough context to dive in on PIT stuff.
In the meantime, @bharath-techie  -- do you know of a project where we can assign this so that it gets some traction? Thanks!

The one in which we were tracking PIT backend tasks is closed - https://github.com/opensearch-project/OpenSearch/issues/1147
We can create a new one if needed.


raftstore: support dynamically scaling pool size (#11159)

Signed-off-by: Wenbo Zhang<EMAIL_ADDRESS>
What problem does this PR solve?
Issue Number: close #11159
What is changed and how it works?
Proposal: #11159
What's Changed: #11159
Related changes

PR to update pingcap/docs/pingcap/docs-cn:
PR to update pingcap/tidb-ansible:
Need to cherry-pick to the release branch

Check List
Tests

Integration test
Manual test

Run tiup playground to setup a cluster
Run mysql -h<IP_ADDRESS> -uroot -P 4000 to connect to the tidb
Run show config where type='tikv' and name='raftstore.store-pool-size'; to query current configuration
Run set config tikv `raftstore.apply-pool-size`=6; to increase the pool size
Run show config where type='tikv' and name='raftstore.store-pool-size'; to check current configuration
Run ps -T -p `pidof tikv-server` | grep raftstore- to check poller threads
Run set config tikv `raftstore.apply-pool-size`=2; to decrease the pool size
Run show config where type='tikv' and name='raftstore.store-pool-size'; to check current configuration
Run ps -T -p `pidof tikv-server` | grep raftstore- to check poller threads- No code

Side effects

No

Release note
raftstore: support dynamically scaling pool size (#11159)

@NingLin-P @5kbpers PTAL

@5kbpers @NingLin-P All comments have been fixed, PTAL again, thanks!

/merge


POC: Initial tests regarding Skia

Maintainer merge checklist

[ ] Title is descriptive/clear for inclusion in release notes.
[ ] Applied a Component: xxx label.
[ ] Applied the api-deprecation or api-break label.
[ ] Applied the release-highlight label to be highlighted in release notes.
[ ] Added to the milestone version it was merged into.
[ ] Unittests are included in PR.
[ ] Properly documented, including versionadded, versionchanged as needed.

Skia is a popular 2D graphics library which provides common APIs that work across a variety of hardware and software platforms.
As an example, it serves as the graphics engine for Google Chrome and many other products.
Even if the first tests solely focused on the SkParagraph feature, that will simplify and fix a ton of long-standing issues regarding text rendering (RTL, font fallback, BiDi, proper alignment, ...) if merged in Kivy, Skia could also be an opportunity to introduce other nice features (like a Lottie player, via SKottie).
In simple words: From the first tests, Skia is what we were waiting for. A long restructuring and renaming for 3.0.0 series will be needed, and that's the proper time to introduce Skia in our codebase.
With Skia we can easily render into an OpenGL texture and OpenGL FBO (and looks ANGLE is supported for https://github.com/kivy/kivy/pull/8534).
This code is absolutely not intended to be merged as-is, but it's more like an handover to bi0noid, so I can focus on other things. (being an admin, Roadmap, ... etc).
IMPORTANT:

Needs Skia dynamic libraries to be built externally, and in the correct folder (check setup.py). I will work on a tool similar to https://github.com/kivy/angle-builder to automagically handle all the builds. (The macOS one, have a visibility issue, that will be reported to Skia team).

Sketchy example code:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.clock import Clock

from kivy.graphics.texture import Texture
from kivy.graphics import Rectangle

from kivy.properties import StringProperty, ObjectProperty

from kivy.core.text.text_skia import TextSkia

class SkiaTextWidget(Widget):
    text = StringProperty("")
    tex = ObjectProperty(None)

    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self._prepare_texture()

    def on_text(self, *args):
        self._skia_render()

    def on_size(self, *args):
        self._prepare_texture()

    def _prepare_texture(self):
        print("recreating texture, size:", self.size)
        self.tex = Texture.create(size=self.size, colorfmt="rgba")
        self.tex.flip_vertical()
        self.tex.bind()

        self._skia_render()

    def _skia_render(self, tex=None):
        self.skia_text_render = TextSkia(
            self.tex.id, self.tex.size[0], self.tex.size[1]
        )
        self.skia_text_render.render(self.text, 0, "font_name", "fg_color")

        self.canvas.clear()
        with self.canvas:
            Rectangle(size=self.tex.size, texture=self.tex)

class NewTextLayoutApp(App):
    def build(self):
        self.skia_text_wid = SkiaTextWidget()

        self.lorem_ipsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue."
        self.mix_lorem_ipsum_and_emoji = "Lorem 🎉 ipsum 🌏 dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec 🎉 consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue."

        Clock.schedule_interval(self._update_skia_text, 1)

        return self.skia_text_wid

    def _update_skia_text(self, dt):
        if self.skia_text_wid.text == self.lorem_ipsum:
            self.skia_text_wid.text = self.mix_lorem_ipsum_and_emoji
        else:
            self.skia_text_wid.text = self.lorem_ipsum

if __name__ == "__main__":
    NewTextLayoutApp().run()

Current output:
https://github.com/kivy/kivy/assets/8177736/2bf6cffc-b492-4067-9e50-3ad6e59856b6

Yep i think kivy is moving into that future

Skia is also used by Flutter (and it makes sense since both are backed by Google).
And Skia is not flutter-engine, but the 2D graphics library used by them.
We're still evaluating it, but that looks like the best option at the moment.
BTW Kivy will keep its core provider strategy, so Skia will be just one (and likely the default) core provider for specific scenarios.

Just trying to bring some attention to some information... Flutter in its latest releases is moving away from Skia to their own rewritten graphics engine impeller due to several issues and performance constraints with Skia. So may be we need to take that into account too before having significant investment is Skia... though we can always have it as one of the supported core providers as suggested by @misl6

BTW Kivy will keep its core provider strategy, so Skia will be just one (and likely the default) core provider for specific scenarios.
Do you mean by default we will be moving away from SDL2/3 and be on Skia only or it will be SDL2/3 and angle and for some specific things like text the default will be Skia?

BTW Kivy will keep its core provider strategy, so Skia will be just one (and likely the default) core provider for specific scenarios.

Do you mean by default we will be moving away from SDL2/3 and be on Skia or it will be SDL2/3 and angle and for some specific things like text the default will be Skia?

ATM we do not have plans to move away from SDL2/SDL3 as a Window provider, as Skia (as a 2D graphics library) is not a replacement for that.

Came here to say this is awesome road. Skia has been a lot used for inspiration at the starts, and always wanted to use it !

Came here to say this is awesome road. Skia has been a lot used for inspiration at the starts, and always wanted to use it !

We shall have a lot of opportunities to incorporate in kivy. Great initiative.


Add support for brush entities

It will automatically decide if it will build collision or not based on the target entity's class being a child of PhysicsBody3D or not.

Thanks for the PR! There are a lot of unnecessary style changes though (for example, mesh_builder.cpp is entirely re-formatted). This makes looking at the diff for this PR kinda difficult.
I also noticed that this adds functionality that is kinda similar to #10, and that the code for this system was getting a little bit out of hand. So, I've cleaned up the code by removing the (old, broken) CSGBuilder, and added the functionality of this PR. (bc080f0131be14dffb36e631a36541b283dfb756) Please let me know if this is sufficient for you. Otherwise we can always open another issue or PR. 😊
Maybe @Macronic or @kherchel can confirm whether my recent commits still work for their custom Area3D entities? 👀

Thanks for the PR! There are a lot of unnecessary style changes though (for example, mesh_builder.cpp is entirely re-formatted). This makes looking at the diff for this PR kinda difficult.
I also noticed that this adds functionality that is kinda similar to #10, and that the code for this system was getting a little bit out of hand. So, I've cleaned up the code by removing the (old, broken) CSGBuilder, and added the functionality of this PR. (bc080f0) Please let me know if this is sufficient for you. Otherwise we can always open another issue or PR. blush
Maybe @Macronic or @kherchel can confirm whether my recent commits still work for their custom Area3D entities? eyes

sure, looks ok, I wonder why the formatting ended up like that


Unable to access trusted storage

Hello,
I am trying to dockerize an ArcGIS license.   When I authorize the license it shows like N licenses but 0 available.   I see in the lmgrd9 log some message about unable to access Trusted Storage :2
When I run this directly in linux (centos 7) with the same license it seems to show the available licenses.
I have tried volume mapping the /usr/local/share/macrovision directory along with some other things.
Were you able to get this working?   I'm wondering if "bind mounting" causes an issue. However, I tried it without doing this as well.   I tried with both this_host as well as setting that to my actual hostname.  Any help would be appreciated.  Thank you!

I only use the Docker version for checking license status, not for actually
issuing licenses.
Someone wanted to try it and I gave it a shot but neither of us succeeded.
I ended up just dedicating a Centos VM to it.
On Tue, Dec 20, 2022 at 6:00 AM mdoakes42 @.***> wrote:

Hello,
I am trying to dockerize an ArcGIS license. When I authorize the license
it shows like N licenses but 0 available. I see in the lmgrd9 log some
message about unable to access Trusted Storage :2
When I run this directly in linux (centos 7) with the same license it
seems to show the available licenses.
I have tried volume mapping the /usr/local/share/macrovision directory
along with some other things.
Were you able to get this working? I'm wondering if "bind mounting" causes
an issue. However, I tried it without doing this as well. I tried with both
this_host as well as setting that to my actual hostname. Any help would be
appreciated. Thank you!
—
Reply to this email directly, view it on GitHub
https://github.com/brian32768/docker-flexlm/issues/3, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAP6RRGG5VLAECBHTRBKRO3WOG3Y3ANCNFSM6AAAAAATERDQCQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Brian Wilson
tel:707-827-0001


Add first draft for a proposal of booking flow guidelines with deeplink

Based on branch WIP-operator-complete-api-initial-version

Hi @riclage, I isolated the "booking feed" specification from the "deeplink" specification in a single commit. An isolated PR seemed quite overkill just for that. Please tell me what you think.

Hi @riclage, I isolated the "booking feed" specification from the "deeplink" specification in a single commit. An isolated PR seemed quite overkill just for that. Please tell me what you think.