Release 1.0.11 broken on python3 with virtualenv

I'm not sure of the exact scope of the breakage, but I have found prompt_toolkit to be reliably non-importable in a clean Python >= 3.5 virtualenv on a vanilla system. The affected version is 1.0.11; 1.0.10 works as expected.
plucas@plucas-vm:~$ virtualenv --python python3 venv
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/plucas/venv/bin/python3
Also creating executable in /home/plucas/venv/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
plucas@plucas-vm:~$ venv/bin/pip install prompt-toolkit==1.0.11
Collecting prompt-toolkit==1.0.11
  Using cached prompt_toolkit-1.0.11-py3-none-any.whl
Requirement already satisfied: six>=1.9.0 in ./venv/lib/python3.5/site-packages (from prompt-toolkit==1.0.11)
Collecting wcwidth (from prompt-toolkit==1.0.11)
  Using cached wcwidth-0.1.7-py2.py3-none-any.whl
Installing collected packages: wcwidth, prompt-toolkit
Successfully installed prompt-toolkit-1.0.11 wcwidth-0.1.7
plucas@plucas-vm:~$ venv/bin/python -c "import prompt_toolkit"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/plucas/venv/lib/python3.5/site-packages/prompt_toolkit/__init__.py", line 16, in <module>
    from .interface import CommandLineInterface
  File "/home/plucas/venv/lib/python3.5/site-packages/prompt_toolkit/interface.py", line 27, in <module>
    from .input import StdinInput, Input
ImportError: cannot import name 'StdinInput'
plucas@plucas-vm:~$ venv/bin/pip install prompt-toolkit==1.0.10
Collecting prompt-toolkit==1.0.10
  Using cached prompt_toolkit-1.0.10-py3-none-any.whl
Requirement already satisfied: wcwidth in ./venv/lib/python3.5/site-packages (from prompt-toolkit==1.0.10)
Requirement already satisfied: six>=1.9.0 in ./venv/lib/python3.5/site-packages (from prompt-toolkit==1.0.10)
Installing collected packages: prompt-toolkit
  Found existing installation: prompt-toolkit 1.0.11
    Uninstalling prompt-toolkit-1.0.11:
      Successfully uninstalled prompt-toolkit-1.0.11
Successfully installed prompt-toolkit-1.0.10
plucas@plucas-vm:~$ venv/bin/python -c "import prompt_toolkit"
plucas@plucas-vm:~$ echo $?
0

Python 2 is unaffected:
plucas@plucas-vm:~$ virtualenv --python python2 venv
Running virtualenv with interpreter /usr/bin/python2
New python executable in /home/plucas/venv/bin/python2
Also creating executable in /home/plucas/venv/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
plucas@plucas-vm:~$ venv/bin/pip install prompt-toolkit==1.0.11
Collecting prompt-toolkit==1.0.11
  Downloading prompt_toolkit-1.0.11-py2-none-any.whl (248kB)
    100% |████████████████████████████████| 256kB 3.3MB/s
Requirement already satisfied: six>=1.9.0 in ./venv/lib/python2.7/site-packages (from prompt-toolkit==1.0.11)
Collecting wcwidth (from prompt-toolkit==1.0.11)
  Using cached wcwidth-0.1.7-py2.py3-none-any.whl
Installing collected packages: wcwidth, prompt-toolkit
Successfully installed prompt-toolkit-1.0.11 wcwidth-0.1.7
plucas@plucas-vm:~$ venv/bin/python -c "import prompt_toolkit"
plucas@plucas-vm:~$ echo $?
0

I have not tested whether this affects Python 3 outside of a virtualenv, but I would assume it is likely.

Note that this means that right now, any new installs of ipython when using python3 will fail:
$ ipython
Traceback (most recent call last):
  File "/home/plucas/venv/bin/ipython", line 7, in <module>
    from IPython import start_ipython
  File "/home/plucas/venv/lib/python3.5/site-packages/IPython/__init__.py", line 49, in <module>
    from .terminal.embed import embed
  File "/home/plucas/venv/lib/python3.5/site-packages/IPython/terminal/embed.py", line 18, in <module>
    from IPython.terminal.interactiveshell import TerminalInteractiveShell
  File "/home/plucas/venv/lib/python3.5/site-packages/IPython/terminal/interactiveshell.py", line 16, in <module>
    from prompt_toolkit.enums import DEFAULT_BUFFER, EditingMode
  File "/home/plucas/venv/lib/python3.5/site-packages/prompt_toolkit/__init__.py", line 16, in <module>
    from .interface import CommandLineInterface
  File "/home/plucas/venv/lib/python3.5/site-packages/prompt_toolkit/interface.py", line 27, in <module>
    from .input import StdinInput, Input
ImportError: cannot import name 'StdinInput'

Thanks for pointing out. Looking into this right now! Something should have gone wrong building the package.

Just came in to report this, went to pip install --upgrade to check the version, and noticed there's now a 1.0.13. Now looking good under that version. :)

Ok, great. I took me three tries before I got the build right. That's why we're jumping from 1.0.10 to 1.0.13. Thanks a lot for reporting.

Thanks for the quick resolution.


package search integration

Code completion for GAV and  hint for new version available
//DEPS org.apache.commons:commons-lang3:3.9.0

You mean artifact search I assume ? That would be cool.

Implemented with version 0.11.0


Pagination to pull records on all DAOs

I'm using the Daohaus Xdai API (https://api.thegraph.com/subgraphs/name/odyssy-automaton/daohaus-xdai) to create a dataset of DAOs. What I want to know is how to deal with pagination and get all records?
import json
import requests

def run_query():
    q = """
        {
            moloches {
                id
                totalShares
                totalLoot
            }
        }
        """
    # The Graph DAOhaus xDAI endpoint
    response = requests.post(
        'https://api.thegraph.com/subgraphs/name/odyssy-automaton/daohaus-xdai',
        '',
        json={"query": q}
        )

    if response.status_code == 200:
        result = response.text
        daos = []
        # put each moloch record into a list
        for dao in json.loads(result)['data']['moloches']:
            data = dict()
            data["dao_hash"] = dao["id"]
            daos.append(dao)
        # return count of moloch records added to list
        return print(len(daos))
    else:
        raise Exception("Query failed. Return code is {}.   {}".format(response.status_code, q))

if __name__ == "__main__":
    run_query()

This short example returns 100 records. There are far more DAOs than that on the xDAI network I assume if correct - how does the API handle pagination?

I don't know if you still have this problem, but there is a guide in TheGraph API
You can find more info on this issue: grasia/dao-analyzer#39
You can find a working example in this file, or searching more through that project files
Hope this helps!


TODO: Figure out a way to do recursive mappings with LinqKit

Pretty sure I did this already
TODO: check if that's true


Add surface meshes into SciLean

Super excited seeing progress on this so soon!

@lecopivo This now works. The examples run and we check that the surface meshes of the bunny and the sphere have euler charateristic 2.

This is dead, right? And I can close it


Remove Uneccesary Charts and Improve Layout

-Removal of charts and improvement of layout. (siddharta has been working on a simple layout that all guis will share to create familarity.
If the task is too lengthy, then a simple removal of the charts and improvement of the tabs would work.
If you look at the app without the charts it would be very slim.

Disabled charts setting implemented in this commit: https://github.com/KomodoPlatform/BarterDEX/commit/32c1fceb7e5a6b901cccce8e60e729983c081199


Fix test.ts due to websocket cert expiry

The test.ts file needs fixing for the websocket certificate expiring.

You forgot to make a PR, and I didn't see the commit. It is fixed now.

Hi 👋🏻 Yes sorry I didn't have enough time to submit the PR. Glad it's fixed now though 🙂👍


Auto rotate always landscape bug on mame4droid emulator on android

The always landscape or auto rotate on app settings reborn has bug on mame4droid emulator.

Correct Landscape (Device Auto Rotation)

Phone Specs
Android 6.0.1
Mali-450 GPU
2GB RAM
Xposed Installer 3.1.5 by dvdandroid

Xposed Framework v90-beta3 package by topjohnwu
Root Manager Magisk 20.4 by topjohnwu
Xposed & Magisk Logs.zip

Android 6.0.1

This module is a fork for Android 8.0+. For lower OS versions use the original module located here

Android 6.0.1

This module is a fork for Android 8.0+. For lower OS versions use the original module located here
Some developers make the interface (layouts) strictly for portrait orientation. Forced landscape can create clipping of the interface.

already tried the old version but always/force landscape doesn't work 🥺


Question: what is the overhead of these collectives?

What is the overhead of transforming cupy tensor to jax tensor? is this zero copy operation or is there copying of the buffers involved? If so, is it zero copy for both directions?
https://github.com/alpa-projects/alpa/blob/main/alpa/collective/worker_nccl_util_cupy.py#L68-L128
Thanks in advance <3

@OrenLeung No overhead. It is zero-copy

@zhisbug thanks for answering :)


Integrating metadata mapping

This PR applies the Metadata Mapping feature which is being introduced in the Doucment Manager.
Each subscriber can register mapping with the Metadata object. A single subscriber (in the Document Manager) can then take care of the details of reading and writing to the PHPCR node.
In addition, having the field information in the Metadata exposes which fields can be queried on in a query builder or domain specific query language.
This PR also includes the QueryBuilder.

I have added the query builder interation to this PR.

Closed in favor of #1332


Improve Android plugin v1 setup and dependency resolution process

Godot version:
3.2.2.beta
Issue description:
Based on feedback from @DrMoriarty (see #37916), the setup process of the new v1 Android plugins should be simplified and easily allow support for remote and local plugin dependencies.

To facilitate the setup process for Android plugins, a configuration file is introduced:

The config file extension is .gdap which stands for Godot Android Plugin.

The config format is a follow:

[config]

name="MyPlugin"
binary_type="local"
binary="MyPlugin.aar"

[dependencies]

local=["local_dep1.aar", "local_dep2.aar"]
remote=["example.plugin.android:remote-dep1:0.0.1", "example.plugin.android:remote-dep2:0.0.1"]

The config section and fields are required and defined as follow:

name: name of the plugin
binary_type: can be either local or remote.  The type affects the binary field
binary:

if binary_type is local, then this should be the filename of the plugin aar file in the res://android/plugins directory (e.g: MyPlugin.aar).
if binary_type is remote, then this should be a declaration for a remote gradle binary (e.g: "org.godot.example:my-plugin:0.0.0").

The dependencies section and fields are optional and defined as follow:

local: contains a list of local .aar binary files the plugin depends on. The local binary dependencies must also be located in the res://android/plugins directory.
remote: contains a list of remote binary gradle dependencies for the plugin.

The config file must also be located in the res://android/plugins directory. The Plugins field in the Android export window will be updated to now take a list of plugin config files.

@DrMoriarty I believe the config file defined above should address the issues you add with the new Android plugin system. Let me know if you have feedback on its format.

@m4gr3d Very good! But can we also add some parameters to add custom maven repositories for dependencies and some option to add gradle plugin like section global in old gradle.conf

@DrMoriarty Unfortunately these are outside of the scope, as we are limited by the capability of the gradle build system at compile time.
Anything else (including the old gradle.conf mechanism) would be a hack and would make the system more fragile and complex to develop and support in the future.
What functionality do you think the new system would not be able to support?

@m4gr3d Ok, in my godot plugin for appodeal I add maven repository "url 'https://adcolony.bintray.com/AdColony'" for additional mediation SDKs.
Without such thirdparty dependencies appodeal sdk became mostly useless.

The declaration of custom repository by url should be possible. I thought you were referring to repositories like mavenCenter() or google() which are actually object in the build.gradle file and thus much harder to generate from a config file.
Can you provide an example dependency to the custom "url 'https://adcolony.bintray.com/AdColony'" repo so I can validate if that's doable.

For example you can check on:
repositories {
    maven {
        url "https://artifactory.appodeal.com/appodeal"
    }
}

dependencies {
    implementation 'com.appodeal.ads:sdk:2.6.3.+'
}

Typical mediation settings from https://wiki.appodeal.com/ru/android/integratsiya-android-sdk-2-6-3/mediation-wizard

@DrMoriarty I opened #38174 (for the master branch) and #38175 (for the 3.2 branch) if you want to give it a try.

Writing down what we discussed on IRC here:
Instead of having to pick .gdap files manually to populate the custom_template/plugins array, I suggest instead to have the editor parse all .gdap files in res://android/plugins/ automatically to extract the metadata, and then show a list of installed plugins with a checkbox to toggle them, directly in the Android export presets.
This way installing a plugin will only require to put the .aar and matching .gdap file in res://android/plugins/ (which could be done by the plugin provider on the asset library).
I think we can assume that if a user installs a plugin, they want it enabled by default, so I'd suggest doing that in the export presets.
Note that this imply that changes to the filesystem might require re-parsing the .gdap files automatically. Not sure if it's best to do on any change, or only when accessing the export dialog.

so with using the inverse scale the controller size is again correct; but setting the scale breaks the current setup of having the right controller mesh scale set to [-1, -1, -1] to get a mirrored controller:


module 'pyrealsense2' has no attribute 'pipeline'

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
D435i

Firmware Version
(2.36)

Operating System & Version
Linux (Ubuntu 14/16/17)

Kernel Version (Linux Only)
Python 3.7.3

Platform
Raspberry Pi

SDK Version
legacy / 2.36.0

Language
Python

Segment
Robot

Issue Description
I`ve installed pyrealsense through this guide https://github.com/acrobotic/Ai_Demos_RPi/wiki/Raspberry-Pi-4-and-Intel-RealSense-D435.
When i run the example codes in thonny or terminal it's saying "Attribute error module 'pyrealsense2' has no attribute 'pipeline' "

Hi @Lakhsmidhar   I hope that the link below will be helpful to you.
https://support.intelrealsense.com/hc/en-us/community/posts/360048396854/comments/360012486393

Hi @Lakhsmidhar   Do you require further assistance with this case, please?    Thanks!

Hi @Lakhsmidhar   Do you require further assistance with this case, please?    Thanks!

Case closed due to no further comments received.

Case closed due to no further comments received.

Late response, posting so it could help others who may be interested to try out.
I was facing this problem as well (w/ Ubuntu 18.04, Python 3.6.9 with D400 FW version: D400_Series_Minor_FW_5_12_11_0). Below steps worked for me:

Create a virtual env: $python3 -m venv rsvenv
Activate: $source rsvenv/bin/activate
Upgrade pip:  python3 -m pip install --upgrade pip
python3 -m pip install pyrealsense2
Install any other packages as required (for me - numpy, scipy, opencv-python, matplotlib, pyglet etc.)

Thanks so much @sshesh for sharing the method that was successful for you with the RealSense community!   :)


Add a way to abort feed refresh through a keybind

Newsboat version:
$ newsboat -v

Newsboat 2.26.0
System: Linux 5.15.13-arch1-1 (x86_64)
Compiler: g++ 11.1.0
ncurses: ncurses 6.3.20211021 (compiled with 6.3)
libcurl: libcurl/7.81.0 OpenSSL/1.1.1m zlib/1.2.11 brotli/1.0.9 zstd/1.5.1 libidn2/2.3.2 libpsl/0.21.1 (+libidn2/2.3.0) libssh2/1.10.0 nghttp2/1.46.0 (compiled with 7.80.0)
SQLite: 3.37.2 (compiled with 3.37.0)
libxml2: compiled with 2.9.12

Currently to my understanding, there isn't a way to abort a currently running reload/reload-all-feeds job through an action bound to a key. It'd be useful to have that as a keybind to stop reloading if r/R is unintentionally pressed. The alternative is to quit Newsboat and restart it.
Steps to reproduce the issue: N/A
Other info you think is relevant: N/A

#1896 (if it gets finished) will add an internal mechanism to do this, and then it'll be fairly easy to implement this feature.


Performant in-process log stripping

Sometimes we want to avoid logging sensitive information, post processing isn't ideal for this case so it must be done in process.
We can achieve this with a serialiser generator, which should be a separate module
Once created we can add a section to the readme about handling sensitive info
Cc @mcollina @emilyrose

We need to support this in the web framework modules too!

This is the only thing that is preventing us from seriously evaluate this tool!
Looking forward!

@XVincentX, this is already possible, but probably not easy nor documented :D.
@davidmarkclements we should test this in the context of hapi-pino and pino-http. Probably we need options added there too.

@XVincentX got a first pass going on here https://github.com/davidmarkclements/pino-noir won't be long coming :)

@mcollina agreed - maybe pino-noir should be included in pino-http and hapi-pino by default and just pass a filter object through - is that your position?

Ok, https://github.com/davidmarkclements/pino-noir is fully working, version 0.0.1 publish to npm too
Works for top level keys and nested keys, does not yet support wildcards, we need to run benchmarks & profile but it should be quite fast since we avoid copying objects to redact nested values by piggy backing on the subsequent JSON.stringify loop
@emilyrose would love to get your feedback for pino-noir API

@mcollina - just to say, since all inputs are strings (or array of strings), we can obv go faster by removing closure scope and compiling a string and passing to new Function, and again apply this same thinking to _.get and _.set - however, I'd like to benchmark the diff if it's not significant enough I'd rather not use new Function (esp. because there's a chance log input might contain data from a user source)

That sounds great. Let me marinate the new things and I'll give it a try.

@davidmarkclements, just now getting back to GitHub.
It looks beautiful! I love it.

@emilyrose - I've started on wildcard functionality on the plane, it's not quite there - my time is limited next couple of days so -  I'll push anyway in case you want to bring it to land (@XVincentX feel free to PR too!) - immediate steps after that are setting up an integration benchmark, we can copy the object logging benchmarks from pino, and put pino-noir in the middle to benchmark general usage, and wildcard usage

I'd love to but I am not sure I'm the right person (time/competencies ratio) to do that!

@davidmarkclements what's the status of this?

it needs a few hours input to get wildcard done - just need the time

done :)

oh wait, need to add to pino readme - doing

Oh yah this is done


No services listed in 2.x docs

Bug Report
Current Behavior:
https://ui-router.github.io/ng2/docs/latest/ doesn't list any services nor other classes in the right sidebar. Nor does the search work for the available services. Last version for which this works is 7.0.0.
Expected Behavior:
It should list all available service for angular-ui-router 2.x, like e.g. StateService and the search bar should be usage to find them as well.

Hmm ui-router is clearly still being released and not being able to discover its API seems like a major showstopper in dev usability. Is there someone how could have a look?


I discovered this issue while trying to catch a memory leak in our build tool. The way cosmiconfig loads '.js' config prevents it from ever getting garbage collected, even if userland code no longer needs. require-from-string package creates a new Module record which then permanently stored in memory. You can see it with this sample:
const cosmiconfig = require('cosmiconfig');

const loadRC = require.resolve('cosmiconfig/lib/loadRc.js');

function loadOnce() {
    const explorer = cosmiconfig('example');
    return explorer.load(__dirname)
        .then(() => console.log(require.cache[loadRC].children.length))
}

let count = 1000;
function loop() {
    if (count > 0) {
        count--;
        loadOnce().then(loop);
    }
}

loop();

Provided there is a non-empty example.config.js nearby, you should see that require.cache[loadRC].children.length grows by 1 after every load and never gets cleaned up.

That's a bummer and also very interesting, @SevInf. Thanks for investigating it. Do you have any recommendations that might fix it?

Thanks for investigating it

+1 from me as well.
Is this a bug in require-from-string or is the problem related to how cosmiconfig uses it?

@davidtheclark it looks like replacing require-from-string with something like import-fresh fixes it. I can send pull request tomorrow.
@sudo-suhas from require-from-string point of view, I think, this behavior is correct, it just might not align that well with cosmiconfig.

Thanks @SevInf. Isn't [import-from](https://github.com/sindresorhus/import from) more suited to the purpose than import-fresh?

Sorry. Closed by mistake.

@sudo-suhas I think by the time it gets to loadJs cosmiconfig have already figured out the absolute path to the file, so import-from won't add anything new to a plain require here.
I assumed require-from-string is used instead of require to bypass require.cache. Is it true? If so, import-fresh will preserve this behavior.

Honestly not too sure. Perhaps @davidtheclark can clarify. AFAIK there is no intent to bypass require.cache. Also see https://github.com/sindresorhus/import-from/issues/4#issuecomment-304430710.

@SevInf @sudo-suhas: For a little background you can read https://github.com/davidtheclark/cosmiconfig/issues/21 and https://github.com/davidtheclark/cosmiconfig/pull/51.
The summary: We were using require-from-string because it allowed us to avoid reading the file multiple times and to stay asynchronous. Those are the things we would sacrifice, I think, if we switched to require. What do you think about the trade-offs?

Ok, so far I've submitted a patch to require-from-string, doing the cleanup: floatdrop/require-from-string#9.
I'm still not entirely sure it belongs there, let's see what maintainers say. But if it won't be merged, I think we still can continue to use require-from-string and do this cleanup in cosmiconfig instead.

I tried to upgrade deps so that this issue would be fixed. However, faced an issue due to jest + require-from-string which is failing a lot of tests. Have created a PR floatdrop/require-from-string#10 which will fix the issue.

Fixed and released in 3.0.1 🎉


Account Button

@mansir93 please, what's going to be the use of the Account button in the navigation bar?

I'm not certain with that but you can change it or add more options

Alright sure


The updater file is missing! ubuntu 20.04 server install 4.3.1 issues

The updater file is missing!
i have the following bin
daedalus-4.3.1-mainnet-18992.bin
i then change the rights
chmod +x ./daedalus-4.3.1-mainnet-18992.bin
when i run
[launcher:Error:9] [2021-09-28 13:40:43.54 UTC] The updater file is missing!
[launcher:Notice:9] [2021-09-28 13:40:43.54 UTC] Starting the wallet with arguments: WalletArguments {getWalletArguments = []}
/nix/store/kl6lr3czkbnr6m5crcy8ffwfzbj8a22i-bash-4.4-p23/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_GB.UTF-8)
/nix/store/kl6lr3czkbnr6m5crcy8ffwfzbj8a22i-bash-4.4-p23/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_GB.UTF-8)
Fontconfig warning: no  elements found. Check configuration.
Fontconfig warning: adding /var/cache/fontconfig
Fontconfig warning: adding fontconfig
(electron:71837): Gtk-WARNING **: 13:40:44.910: cannot open display:
[launcher:Notice:9] [2021-09-28 13:40:45.29 UTC] Wallet exited with exitcode: ExitFailure 1
[launcher:Notice:9] [2021-09-28 13:40:45.29 UTC] Daedalus exited with ExitFailure 1, will shutdown cardano-launcher
any help?
thanks

Please move this issue to https://github.com/input-output-hk/daedalus


feat(reset): do not Get() workspace when resetting

🚧 DRAFT because this needs to include Kong/go-kong#8 as a Go module. Otherwise ready for review 🚧
Part of #218 (handles reset).
Before this commit, deck reset --workspace=X performs a GET
on :8001/workspaces/ in order to tell whether the workspace
exists.
This prevents a user with full privileges within the workspace
from resetting it, because a typical "workspace admin" role
(that is, having endpoint=* actions=* within the workspace) does
not permit GETting /workspaces/.
After this commit, deck reset no longer tries to GET a workspace
before resetting it. Author's intention is that this change does not
modify workspace resetting semantics.

When the calling user has endpoints=* actions=* on the workspace: no
change in behavior

When the calling user has partial permissions to endpoints in the
workspace: workspace reset will fail with a partially reset state.
Removing the Get check does not change this behavior.

When the calling user has no write permissions to any endpoints in the
workspace: no resetting takes place and the workspace is left intact. No
change in behavior here either.

There is one visible change, though:

When the calling user has broad permissions but the workspace does not
exist: entity listing operations fail with 404 and a message that workspace
was not found)

Per #218.

Closing this PR - will modify workspaceExists() to use in-workspace privileges instead.


fix(api): add external_url while a replacement is found for auth/studio

Fixes https://github.com/supabase/cli/issues/2527
Currently, the external_api_url is not read from the config.toml.
I know there is an ongoing subject about mutualizing auth/studio url but it requires too much changes.
This would save me a lot of time :D

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

0 of 0   changed or added relevant lines in 0 files are covered.
10 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.08%) to 59.972%

Files with Coverage Reduction
New Missed Lines
%

internal/storage/rm/rm.go
5
83.72%

internal/gen/keys/keys.go
5
12.9%

Totals

Change from base Build<PHONE_NUMBER>4:
-0.08%

Covered Lines:
6357

Relevant Lines:
10600

💛  - Coveralls


Global caching of Reflection

I am not sure if it is already done by .NET natively or by a Library but I tihkn it could be a great addition to the Framework to enable caching of Reflection info during the runtime of the application. I mean, it can drastically improve the performance of an app which use Reflection on the same types a lot.
ReflectionCache.Enable(); // To enable global caching
ReflectionCache.Disable(); // To disable global caching

There could be a single method to enable/disable caching and everything (caching) is done as a black box. Each time a method like GetType() or GetProperties() is called, the data will be retrieved either from the existing method if no cache or from the cache directly.

Interesting idea. You could build this yourself. I'd be curious if you did and reported the win. We're unlikely to go the pure back box route but a reflectioncache route would be interesting on top.

Black box would be necessary if you want it to affect, say, Entity Framework.

@jnm2 Indeed. My first thought was to cache everything when a user/library calls a method in the Reflection namespace. So .NET code should be updated to handle that.
Otherwise, the alternative would be to create a library on top of Reflection which either cache or use the Reflection method by (re)writing the same properties & methods you can find in the Reflection namespace.

Reminds me of https://github.com/mgravell/fast-member#fast-access-to-net-fieldsproperties.

Yep, kind of. But it should support constructors and methods too.

As we are still waiting on you to try out the recommendation suggested, I am going to go ahead and close this issue. Kindly raise a new issue in the appropriate repo as mentioned in dotnet/1275

Wow, that was like 170 years. :)
@kalaskarsanket No problem. I think we all evolved from there.


Can multiple gpu will reduce the accuracy compared to single gpu?

Can multiple gpu will reduce the accuracy compared to single gpu?

Data parallelism should get the same result on single device if batch size remains the same.

This issue is closed due to lack of activity in the last 90 days. Feel free to ping me to reopen if this is still an active issue. Thanks!


"No motion" http link is different on wiki page and on settings page.

The wiki page https://github.com/seydx/homebridge-camera-ui/wiki/HTTP-Config indicates the link as http://IP:HTTPPORT/motion/reset?My%20Camera but the settings page of camera.ui indicates it as http://IP:HTTPPORT/reset?My%20Camera.

Thx will merge the pr soon


Align badge theming with the GUI badge

Fixes #61959

Not sure if no-results class should be deleted from the element.

Looks great but yeah the no-results class can be removed, please do that too

@roblourens, there is now an unused parameter count (I didn't see it)
https://github.com/Microsoft/vscode/blob/0817eb5df51f810d5a543f93a71e16c713a62570/src/vs/workbench/parts/preferences/browser/preferencesWidgets.ts#L649-L651

Thanks, I just cleaned it up


[CT-230] DBT seed converts empty strings to nulls

Describe the bug
DBT seed process converts

,"",
,,
,NULL,

all above cases to NULLs
I would say atleast quoted empty strings should be allowed to be as blank as its being explicit enough to be used as blank: ,"",
Steps to reproduce
Add any csv seed file with data like below:
column1,column2,column3
NULL,"",
All the above three columns produce NULLs in database table
Expected results
NULL,,NULL
Atleast second column in the above example can be left alone to be blank in order to have an option in seed process to add blanks in database tables
Actual results
NULL,NULL,NULL
System information
Which database are you using dbt with?

snowflake

The output of dbt --version:
installed version: 1.0.1
   latest version: 1.0.1

Up to date!

Plugins:
  - snowflake: 1.0.0

@snagapuri-mdsol  thanks for opening this! We are still going to stick to the behavior for empty strings in CSVs. Since it is implemented in python standard CSV reader, and it seems to be standard outside python.
To achieve the specific result you want, you can opt for a "placeholder" empty string value (e.g. EMPTY), coupled with a staging model that wraps around the seed.


Cannot use variable named end or begin

This was supposedly fixed in https://github.com/facebook/reason/pull/622 but it probably broke somewhere.
Today I had a funky case where I passed defined end as an argument to a function:
let f ::x ::end => {
  x;
};

This just causes a warning that end was not used. However if I use end in the function body I get an error.
This is also reproducible if you use end or begin as variable names although in that case the error is more obvious because it happens on the line of definition. When you name an argument using one of those errors you get an Invalid Token error down the line.
I am on Reason 1.7.4 from opam.

Just checked with Reason 1.13.5 @ 1a03661 - the same error.

I encountered this as well, but when using end in a record.

Fixed through #1541. Will ship this week


P4-OVS: add support for multiple cpu architectures

Tested with aarch64 and x86_64
Signed-off-by: Asaf Ravid<EMAIL_ADDRESS>

https://cbjenkins-fm.devtools.intel.com/teams-nex-epgsw-ipdkci/job/nex-epgsw-ipdkci/job/GitHub_MultiBranch_Pipelines/job/ovs/job/PR-20/ Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/nex-epgsw-ipdkci/GitHub_MultiBranch_Pipelines/ovs/PR-20-2/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/8fc262f5f7b682bd6196d29a38b0a1404eb89d3c

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/nex-epgsw-ipdkci/GitHub_MultiBranch_Pipelines/ovs/PR-20-6/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/1e95e00a1fb3111847c5c6cdaad60b686ea8ca3b

Result:ABORTED JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-7/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/53119442e60b5c54903e23ae856ea537d8b3b4a2

Result:FAILURE JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-9/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/53119442e60b5c54903e23ae856ea537d8b3b4a2

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-10/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/f35ff6024c2e2764e2d9701c3b1ea1c501f8a8cc

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-11/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/29b54ca332bf126545337f9e08d7e4a34fab492b

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-12/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/d7aa659e9817056f8d404ee4e193974534b9e8d3

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-13/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/c07de4fea79191e87c73220eb2e27e8705ac0dc6

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-14/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-15/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-16/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-17/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-18/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-19/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-20/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-21/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-22/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-23/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-24/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-25/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-26/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-27/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-28/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-29/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-30/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-31/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-32/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:FAILURE JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-33/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-34/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-35/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:ABORTED JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-36/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

Result:ABORTED JenkinsConsole:https://s3.ipdk.io/ovs/PR-20-37/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/7f1ecf9218e158aacb8df4ab1ea1de9c1bb6dc31

I find it funny that the Jenkins job just keeps trying to run against this for some unknown reason. Regardless, I'm closing this one.


Make process shim path relative

This fixes #1141. Just need to make sure the shim path is made relative.

Thanks Colin!


[TFB-1455] Document how to create a TF bug report

It's s a Jira ticket about creating Jira tickets. It's a meta-Jira-ticket!  Anyway, we're going to have opinions on how people do this, so we need to document them. This should be linked in a few places (contributor guide, website at the very least).
Items to cover:

[ ] How to log in
[ ]     The required fields for a bug report
[ ]     Content expectations for each of the required fields
[ ]     How to follow up on a bug report you've opened (add comments to the ticket, email a ticket link to the dev@ list)

Armen Martirosyan researched other FOSS projects to see how they do it. They often have bug templates. Started looking into doing that.
VMB suggests postponing that until later.
Armen's going to give this another go w/the tool/configuration we have now.
Comments from Casey Cain (from the Zoom chat):
To report a bug, submit to jira.tungsten.io - be specific? Maybe include screenshots? There may be new people to JIRA so be a bit more comprehensive.
If there is a problem with the toolchain, like accessing or a change to a service... go to support.linuxfoundation.org


No longer seems to work in prepatch

It will work the first time after refresh sometimes, but mostly doesn't add a category anymore like it used to.

Thanks for the report, I’ll try and fix it soon.
Right now I’m just waiting on the overhaul from AdiBags to land, since the API should change a bit.
On Thu, Oct 27, 2022 at 16:57, outlawzgosu @.***> wrote:

It will work the first time after refresh sometimes, but mostly doesn't add a category anymore like it used to.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

@outlawzgosu should be fixed with v1.0.0, can you give it a spin?

Closing as resolved in 2850fd94152f401090a4f958287a0a965d2384fa

Sorry for the late reply. Yes it does work like before. This issue seems to be gone. Thank you very much.


WIP - feat: Implement PubSub Deadletter & Single/Multi Routing

Description
This PR implements issues #341 and #321 to add DeadLetter support and Single/Multi Routing support based on rules
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #341 #321
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests
[x] Extended the documentation

Discussion point: currently it is per pub sub, per topic so if a default topic routes to /default it will be unique to that pubsub and topic. Do we want to have certain routes callable by different pubsubs and topics?
E.g. can we call /default from pubsub a and pubsub b or topic c and topic d?


hypershift-operator: async Cluster delete

implements https://issues.redhat.com/browse/HOSTEDCP-86
HostedCluster controller should not block waiting for the removal of the underlying Cluster.
This is hard to test due to https://issues.redhat.com/browse/HOSTEDCP-85 but can be verified like this
$ oc delete hostedcluster -n clusters --all
hostedcluster.hypershift.openshift.io "example-1" deleted
hostedcluster.hypershift.openshift.io "example-2" deleted
^C
[sjennings@cerebellum hypershift]$ oc get clusters -A -ojson | jq '.items[] | .metadata.deletionTimestamp'
"2021-02-17T17:13:17Z"
"2021-02-17T17:13:17Z"

Note the deletionTimestamp on the underlying clusters set at the same time

Looks good, just a couple of style comments

/lgtm


feat(dbbrowser): Optimize the visualization of MySQL table DDL, supporting empty string ''

What type of PR is this?
type-feature dbbrowser
What this PR does / why we need it:
Optimize the visualization of MySQL table structure design to arrange the generation of field
information, supporting strings enclosed in single quotes ('').
Which issue(s) this PR fixes:
Fixes #1317
Special notes for your reviewer:
This PR also has a corresponding frontend PR.
https://github.com/oceanbase/odc-client/pull/37
Additional documentation e.g., usage docs, etc.:

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


CUI-7341 : Accessibility improvements for ActionBar

The changes fixes 2 issues :

ActionBar items which has selectable elements at 2nd level e.g. coral-fileupload are not selectable.
Offscreen ActionBar items are accessible.

Description

Added code to find selectable elements in an ActionBar item if no selectable element found at first level.
Added code to set aria-hidden="true" to hide offscreen items from being read by screen-reader.

Related Issue - CUI-7341

Motivation and Context

How Has This Been Tested?

Manually tested with keyboard navigation.

Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.

aXe reported a11y issues ARIA hidden element must not contain focusable elements see https://api.travis-ci.com/v3/job/283770285/log.txt

@majornista  aXe reported a11y issues ARIA hidden element must not contain focusable elements. Should we hide offscreen items by "display:none"? WDYT?

@majornista aXe reported a11y issues 'ARIA hidden element must not contain focusable elements.' Should we hide offscreen items by "display:none"? WDYT?

I think the better approach would be to use visibility: hidden so that the offscreen items can still be measured.

@majornista  Added visibility:hidden . Please review.

@icaraps @majornista  Can we merge this PR? All the checks are passing and suggestions are incorporated.

Can you still go through items with the keyboard if an item is hidden ? e.g tab into the actionbar then use left-right arrow.
Also does it work if the hidden item is not the first one ?

Can you still go through items with the keyboard if an item is hidden ? e.g tab into the actionbar then use left-right arrow.
Yes
Also does it work if the hidden item is not the first one ?
Yes

You can verify at http://igurjar:4502/assets.html/content/dam , select first folder 'test_sss'

@majornista  Opened CUI-7352 for ESC key issue.

@indra2gurjar and @icaraps I think that both the overlay mixin and the granite view handle the Esc key in the capture phase, so I'm not sure we can stopPropagation within Coral to prevent the granite view from deselecting all items and closing the action bar. This may be an issue that has to be handled in granite.


Store string with double-double quotes

Hi, When I inspect my local storage in firefox , I see that string value are saved with double-double quotes i.e. language :""en""
Altrought the retrieval is fine, I found this weird.

Yes, these extra double-quotes make this code fail in my app.
            $window.addEventListener('storage', function (event) {                 if (event.newValue === 'somestring') {                   //                 } }


Most efficient way to encode arguments

Checklist

[X] I've read the README
[X] I've searched for existing GitHub issues

I have an app that implements realtime Metal rendering pipelines @ 60 FPS. My arguments (filter, render, shader pipelines) won't change for 99.9% of the time, so it seems that the best method of storage & encoding is via a Metal buffer. We also make use of triple buffering for our rendering, creating MTLBuffers of 3x the size of the parameters (with proper alignment).
I'm trying to replace parts of it with MetalPetal, but I'm confused as to what is the best way to encode arguments. I've been trying to use MTIDataBuffer in the following way:
class UniformBuffer<T> {
    var buffers: [MTIDataBuffer]
    var maxBuffersInFlight: Int
    var index: Int = 0
    var current: MTIDataBuffer {
        buffers[index]
    }

    init(data: T, context: RenderContext) {
        maxBuffersInFlight = context.maxFramesInFlight
        buffers = (0..<maxBuffersInFlight).compactMap { _ in
            MTIDataBuffer(values: [data], options: .storageModeShared)
        }
    }

    func update(_ data: T) {
        index = (index + 1) % maxBuffersInFlight
        buffers[index].unsafeAccess { (buffer: UnsafeMutableBufferPointer<T>) -> Void in
            buffer[0] = data
        }
    }
}

While this works, it creates 3x buffers instead of a contiguous buffer (worse performance?). It also incurs a bit of performance hit due to the fact that the argument encoder is looking up buffers in a cache every time. I'm also concerned whether this fact counter-affects the triple buffering and may reuse the same single MTLBuffer under the hood?
If I am OK with managing my MTLBuffers manually, how can I use them in conjunction with MetalPetal? Is there a better way to optimise resource usage?

I think you are doing pretty well under the current framework limitation.
You can do a little "hack" if you want, using MTIGeometry, to fully customize the command encoding part. You can access the command encoder in the MTIGeometry protocol. Store the buffer in your MTIGeometry object and encode that buffer yourself.
Examples of implementing MTIGeometry:
https://github.com/MetalPetal/MetalPetal/blob/f9b78897bd4214bb097f352a1bde0a4f4a1e2ddb/MetalPetalExamples/Shared/BouncingBallsView.swift#L16-L23
https://github.com/MetalPetal/MetalPetal/blob/f9b78897bd4214bb097f352a1bde0a4f4a1e2ddb/Frameworks/MetalPetal/MTIVertex.m#L233-L240
Examples of using MTIGeometry:
https://github.com/MetalPetal/MetalPetal/blob/f9b78897bd4214bb097f352a1bde0a4f4a1e2ddb/MetalPetalExamples/Shared/BouncingBallsView.swift#L56-L57

it creates 3x buffers instead of a contiguous buffer (worse performance?)

The 3x buffers only create once. It's a one-time cost, using a contiguous buffer won't help much.

It also incurs a bit of performance hit due to the fact that the argument encoder is looking up buffers in a cache every time.

Have you measured the performance of this part? This should be super fast. The cache uses the object address directly for the key hashing and object comparison, also, the hash table is very small (you usually only have one MTLDevice).

I'm also concerned whether this fact counter-affects the triple buffering and may reuse the same single MTLBuffer under the hood?

As I mentioned earlier. The cache uses the object's pointer/address, so it does not have any counter-affects on the triple buffering.

For further improvements on filter argument encoding, I'm thinking about adding APIs to register custom argument encoders. I'll let you know when I have some designs to discuss.

You can do a little "hack" if you want, using MTIGeometry, to fully customize the command encoding part

Interesting! I'll definitely try that, although it does feel like quite a workaround.

The 3x buffers only create once. It's a one-time cost, using a contiguous buffer won't help much.
True, thanks for confirming.

Have you measured the performance of this part? This should be super fast.
Fair point; I haven't. If the cache uses object addresses I agree with you, this shouldn't be a problem for speed or accuracy. Thanks for explaining!

For further improvements on filter argument encoding, I'm thinking about adding APIs to register custom argument encoders. I'll let you know when I have some designs to discuss

Definitely do! Maybe MTIRenderPipelineKernel should be extended to support a parameter encoding closure instead of a parameter dictionary? For example, I would love to have the convenience of using calls like kernel.makeImage to quickly generate a full viewport image but with custom fragment buffer encoding. So something like a:
MTIRenderPipelineKernel(encoding: @escaping ((MTLRenderCommandEncoder) -> Void), dimensions: MTITextureDimensions, pixelFormat: MTLPixelFormat = .unspecified)```

and matching `makeImage`.

I also wanted to ask about texture usage. If I regenerate the same image (but with different parameters) every frame, how can I do so in the most performant way possible? Doing it manually I would reuse a single texture (assuming dimensions are the same) but with a `loadAction: .clear`, but I noticed my MetalPetal pipeline has `loadAction: .dontCare` so I am assuming it is creating a new texture for each frame. If so, how can I optimise resource usage there?

I also wanted to ask about texture usage. If I regenerate the same image (but with different parameters) every frame, how can I do so in the most performant way possible? Doing it manually I would reuse a single texture (assuming dimensions are the same) but with a loadAction: .clear, but I noticed my MetalPetal pipeline has loadAction: .dontCare so I am assuming it is creating a new texture for each frame. If so, how can I optimise resource usage there?

MetalPetal uses a texture pool internally. It allocates and resues textures from the pool. (You can call context.reclaimResources() to drain the pool)
So it does not create a new texture for each frame.
MetalPetal uses donotCare by default for performance purposes only. We assume that you draw every pixel of the texture so the device does not need to clear the texture before each draw (since every pixel will be overwritten). You can change the loadAction: .donotCare by providing a custom MTIRenderPassOutputDescriptor.


Remove dependency on DependencyInjection and instead use DependencyInjection.Interfaces on Http.Extensions

https://github.com/aspnet/HttpAbstractions/blob/dev/src/Microsoft.AspNet.Http.Extensions/project.json#L7

/cc @Praburaj

@davidfowl Http.Extensions seems to have dependency over DependencyInjection as it requires ActivatorUtilities to instantiate the middleware object in the UseMiddleware extension. Not sure if there is an alternate for this.

Merged https://github.com/aspnet/HttpAbstractions/commit/93deb0b440ad2a1b6ff40cd747d6c3de704e458e


Change language for gift card "Mailed?" field

On staging when we add a gift card for new sign-ups under the "Mailed?" field it says "Created!"

After adding gift card this field should say "Yes"

Updated on staging via commit fd888db3bfcb0bc7d3a9fa5a4da79f96ebb2a048

We are coming across a similar issue to #201. We are not getting the proper messages after adding a gift card to indicate that this action has been successful.
Removing "Waiting on Merge" until this issue is resolved.

Fixed with https://github.com/smartchicago/kimball/commit/d4c1b09f36db0da66ea48d33b51e11678a39aa73


Documentation incomplete depending on how the module is imported

Problem Description
If a submodule is directly imported, Spyder fails to display the full documentation.
For example, if I import the pyplot module as
import matplotlib.pyplot as plt

the help panel in the editor does not show the extended documentation for the module, for example plt.scatter(...) (in the image below, notice the No further documentation available):

If I change my import to
import matplotlib as mpl

then, when I type mpl.pyplot.scatter(...) the documentation is complete:

The help panel for the IPython console, instead, works properly, independently on how I imported the module.
What steps reproduce the problem?

import matplotlib.pyplot as plt
plt.scatter() does not show the full docstring.

What is the expected output? What do you see instead?
The help panel for plt.scatter() should display the full docstring.
 We'll take a look at this in a future release.

It does not show anything using either methods for me, No documentation available
import matplotlib.pyplot as plt
or
import matplotlib as mpl
import numpy as np works
windows 10,
spyder 4 beta 1
python 3.6 from miniconda

Duplicate of #5522


Chat content rendering exception.

What operating system are you using?
Windows
What browser are you using?
Chrome
Describe the bug
Sorry the bug #43  isn't fixed in Docker Image (V1.1.5->latest).

Chrome Console has no error output.

Associated issue #43
Input

Output

Docker Image

What provider are you using?
OpenAI
What prompt did you enter?
<div>
  Hello World
</div>
Please explain this code snippet.

Console Logs
No response
Participation

[ ] I am willing to submit a pull request for this issue.

We have launched v1.1.6, try to pull the latest image.

In v1.1.6, this problem seems to be fixed, thanks!🥳

We have launched v1.1.6, try to pull the latest image.

In v1.1.6, this problem seems to be fixed, thanks!


glibc fails to build (static declaration issue)

While building glibc going through the fresh install process for GKISS, I am getting the following error (abusing discord as a CDN here, additionally sorry for screenshot of text but I am not even into GUI yet):
https://media.discordapp.net/attachments/313639629146423296/885299296369532928/20210908_180114.jpg
Any workaround? I've made sure I am using GNU Awk and GNU Grep, so I don't know what it could be if it is indeed user error.

This seems to be caused by bison 3.8. You can temporarily 'kiss fork bison; cd bison; sed -i 's/3.8/3.7.6/g' version; kiss c; kiss b' and rebuild glibc with the old bison, and upgrade it again. I'll look for a proper fix.


Allow configuration of StreetView UI elements

When opening streetview from the map UI elements inside the streetview like the zoom buttons are at the default positions.
Request: Allow these the be configured like in the maps view.

Any updates?


⚠ Samsung has degraded performance

In 96d3487, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2386 ms

Resolved: Samsung performance has improved in 3c30e96.


v0.3.0 release

Support persistence
Discard mmap package  (this package maybe has bugs about Flush function)
Discard EntryIdxMode options: HintAndRAMIdxMode and HintAndMemoryMapIdxMode
Add new EntryIdxMode options: HintKeyValAndRAMIdxMode and HintKeyAndRAMIdxMode
Fix when fn is nil
Update README && CHANGELOG

if you want high performance write without sync , choose the version of the nutsdb before v0.3.0, It use mmap to improve the write performance，one million data only 2 seconds.
Current version  v0.3.0 temporary  discard mmap package, use sync and support  ACID transactions.


Add getGoogleMapsMapType function

Related to: https://github.com/CartoDB/cartodb.js/issues/1734
NOTE
Now you need to pass the map to the get function because of WAX:
var map = new google.maps.Map(document.getElementById('map'), {
  zoom: 10,
  center: {lat: 41.850, lng: -87.650}
});

var mapType = client.getGoogleMapsMapType(map);

map.overlayMapTypes.push(mapType);

This could be optimized in the future when WAX is removed.

client.getGoogleMapsMapType(map); could probably check if google is defined.

What about the CARTO attribution? Not sure how Google Maps handles this.

@iago we could extract some logic, but for example leaflet goes with this._map.getContainer().style.cursor = 'pointer'; and gmaps with this._map.setOptions({ draggableCursor: 'pointer' });. I think we could extract only the _triggerLayerFeatureEvent function.
@alonsogarciapablo I think it is a good idea to check goggle (and also leaflet) in the getGoogleMapsMapType and getLeafletLayer functions.
We need to check how attribution is done in gmaps :+1:

It is not possible to change the attribution. So we are done!


Enhancement: api optimization

Is there any method to exclude unnecessary fields from "/api/{identity}" repsone? (entries from other pages, unnecessary fields)
It responds a lot of not displayed information and even sensitive.
it has a very long response on not very big database with relations.
I've tried to modify "find_all" method, but i didn't find way to exclude unnecessary field from  already generated sqlalchemy statment.
I don't understand how "get_list_query()" works either, it returns very complicated class.
My attempts to form statement by myself lead to errors in other places. It seems that custom select class creates something that need for other program components.
also i didnt realy understant what this code making. It append relations field and increases the sql query several times but relation fields already included in statement (it slows down request by more than 2 times):
async def find_all(
...
        for field in self.fields:
            if isinstance(field, RelationField):
                stmt = stmt.options(joinedload(getattr(self.model, field.name)))

Please provide more information by filling the feature request template so I can properly address the issue. Thank you

Is your feature request related to a problem? Please describe.
When you open the page /admin/{model}/list, an API fetch request is made to (hypothetically) /admin/api/{model}?skip=0&limit=20&order_by=id%20asc. This request is where the whole problem lies. It returns a lot of unnecessary data.

It retrieves all records instead of only those displayed on the page.
It displays fields that are excluded from the list view.
It fetches all related model instances and all related model instances of those related models and so on.

This leads to the following issue: if all models in the database are connected, opening any page retrieves all records from the database of all models at once.
Moreover, even sensitive data that is hidden from viewing and editing is displayed in API response.
Describe the solution you'd like
I tried to edit sqla\view.py: def "find all." This function constructs the SQL query and executes it. However, I couldn't achieve the desired outcome. The main issue is that I couldn't find a way to exclude unnecessary fields from the statement. Also, rewriting the logic for forming the query was unsuccessful because a custom statement class is used as a base, and I don't understand how it works. When creating an instance, it immediately includes those unnecessary fields.

Methods for Fetching Data:

get_list_query(self) -> Select:

This method returns a SQLAlchemy Select expression, serving as the base statement for the find_all method. By default, it uses select(Model) to fetch all columns from the model.
You can override this method to control which columns are selected or to add additional WHERE clauses without directly modifying the find_all method.

find_all(self, request: Request, skip: int = 0, limit: int = 100, where: Union[Dict[str, Any], str, None] = None, order_by: Optional[List[str]] = None) -> Sequence[Any]:

This method is responsible for fetching a list of records from the database based on the provided parameters. It utilizes the get_list_query method as the base statement and applies filtering(search builder or full-text search ), pagination (skip and limit), and ordering (order_by) based on the provided arguments.
Eager Loading: It eagerly loads related models specified in the fields attribute.

for field in self.fields:
    if isinstance(field, RelationField):
        stmt = stmt.options(joinedload(getattr(self.model, field.name)))

get_count_query(self) -> Select:

This method returns a SQLAlchemy Select expression, serving as the base statement for the count method. By default, it's set to select(func.count(primary_key)).
If you override the get_list_query method and add additional WHERE clauses, ensure to add the same conditions here to display the correct item count in the list view.

count(self, request: Request, where: Union[Dict[str, Any], str, None] = None) -> int:

This method counts the total number of records. It uses the get_count_query method as the base statement

Serialization for Frontend:
After fetching the necessary data using the find_all method, the retrieved records are serialized to JSON before being sent to the frontend.  Only _edit_url and _detail_url are added as a meta information. The serialization process only includes the fields specified in the fields property.
https://github.com/jowilf/starlette-admin/blob/8d242352c25b5d2e60e88d528c551f65668e0141/starlette_admin/views.py#L475
Note: As you can see the code does the opposite of what you described. If you are indeed experiencing the problems you mentioned, you might consider filing a bug report

limit parametr didnt affect on anything

This is difference between enabled and disabled this part of code
        for field in self.fields:
            if isinstance(field, RelationField):
                stmt = stmt.options(joinedload(getattr(self.model, field.name)))

Response of server is the same and on functionality of crm it didn't affects (i have a lot of relations) but time of execution is can be 9th time slower (lite on screen)

Can you please show example of get_list_query(self) -> Select of excluding/showing specific fields? I can't find any way to do this. These are my attempts, they didn't work:

self.get_list_query().select(Client.id, Client.first_name) returns all fields in api return anyway
I didn't see any methods where i can define fields or exclude in self.get_list_query()
If i'm trying to sqlalchemy base select class, this leads to error
statement:
stmt = select(User.id, User.first_name)
traceback:
AttributeError: 'int' object has no attribute 'id'

You can use the fields property of the ModelView class to customize which fields are included in the admin view. https://jowilf.github.io/starlette-admin/tutorial/configurations/modelview/#fields.
The total count is computed with the count() methods which generates a SELECT COUNT(id) FROM .... query. You can put the limit at 1 to see how many items is returned by the api.
It seems that there is a missing check for eager loading of RelationField -> and not field.exclude_fields_from_list
for field in self.fields:
    if isinstance(field, RelationField) and not field.exclude_fields_from_list:
        stmt = stmt.options(joinedload(getattr(self.model, field.name)))

However if you exclude the field from the admin view (by removing it from the list of fields -> See) it will not be included
it would be helpful if you could share a minimal code

You can use the fields property of the ModelView class to customize which fields are included in the admin view.

But if i want to exclude only from list view. It can be record that have thousands records with relation to him and every of them will be executed and all of them information. I dont want to show this information on list view and dont want to execute it all every list view. But want to have option to edit.
It can be some sensitive data that i didnt want to close for editing for someone who has edit access.

The total count is computed with the count() methods which generates a SELECT COUNT(id) FROM .... query. You can put the limit at 1 to see how many items is returned by the api.

Total count number is not the issue. The problem is that there is no need to fetch all possible thousands records just to draw 20 of them on frontend. And then fetch all of them again to draw the second page to display the next 20 records.
    async def find_all(
        self,
        request: Request,
        skip: int = 0,
        limit: int = 100,
        where: Union[Dict[str, Any], str, None] = None,
        order_by: Optional[List[str]] = None,
    ) -> Sequence[Any]:
        session: Union[Session, AsyncSession] = request.state.session
        stmt = self.get_list_query().offset(skip)
        if limit > 0:
            stmt = stmt.limit(limit)
        if where is not None:
            if isinstance(where, dict):
                where = build_query(where, self.model)
            else:
                where = await self.build_full_text_search_query(
                    request, where, self.model
                )
            stmt = stmt.where(where)  # type: ignore
        stmt = stmt.order_by(*build_order_clauses(order_by or [], self.model))

>         for field in self.fields and not field.exclude_fields_from_list:
>             if isinstance(field, RelationField) and not field.exclude_fields_from_list:
>                 stmt = stmt.options(joinedload(getattr(self.model, field.name)))

        if isinstance(session, AsyncSession):
            return (await session.execute(stmt)).scalars().unique().all()
        return (
            (await anyio.to_thread.run_sync(session.execute, stmt))
            .scalars()
            .unique()
            .all()
        )

AttributeError: 'HasOne' object has no attribute 'exclude_fields_from_list'
At least this error occurred on sqlmodel version.

it would be helpful if you could share a minimal code

Ok, I'll create an example and send it

AttributeError: 'HasOne' object has no attribute 'exclude_fields_from_list'

Sorry, The correct attribute to use is exclude_from_edit, not exclude_fields_from_list. This draft pull request #251 fixed it. Could you please confirm whether this fix resolves your problem?

The problem is that there is no need to fetch all possible thousands records just to draw 20 of them on frontend.

As mentioned earlier starlette-admin apply a limit and offset according to sqlalchemy documentation. If all the data is being fetched for each page in your case, you can submit a bug report with more detail. To investigate further and understand the queries being executed, you can add echo=True to SQLAlchemy's engine configuration. This will log the SQL requests, allowing you to see if the limit and offset clauses are properly applied in the generated queries.

@Ilya-Green could you confirm whether your issue is solved or not?

I believe the issue has been resolved in version 0.11.1.  Feel free to reopen if the problem persists


az monitor metrics list should have a parameter for the unit

Related command
az monitor metrics list
Is your feature request related to a problem? Please describe.
I would like to define the results per a pre-specified unit, which today is not possible. Nowadays, for instance, I would like to know the memory usage in bytes, and the command only returns results in a percentage of memory usage. The same for hard disk.
Describe the solution you'd like
The solution is to add a parameter called --unit with possible values per metric. For instance, percentage or bytes.
Describe alternatives you've considered
An alternative solution is to add a field in the JSON results with the total amount of memory or hard disk in bytes, so I can calculate it.

Thank you for opening this issue, we will look into it.


Support for Non-1:1 Resolutions

Does MS-Diffusion support resolutions other than 1:1? I encountered an error with a resolution of 1280x768. Could you advise on modifying the code to support this?

https://github.com/MS-Diffusion/MS-Diffusion/blob/f7e470b1ae0929233a9f3641609895673a5eb172/msdiffusion/models/attention_processor.py#L141-L142
You can modify here to get a correct attention masks for non-square images.


Speed up download time with Webpack #194

I notice that the node_module folder is included in the tag of the publication and need it at run time, but it's very big. I modified to use Webpack to package the project, In my sel-hosted, the Set Up Job step saves 30 seconds. so I recommend using it and remove node_module from tag.
I submitted an RP #194  and I tested it very well

hey, @mayong43111 Thanks for your contribution. This request and PR will be reviewed and a decision will be taken post that.

thank you @BALAGA-GAYATRI , This change is very important to me. My GitHub Enterprise Server and Runner network is not very good, Sometimes it even takes two minutes to download this action.

Could someone please look at this problem

Hi @mayong43111 Sorry for the delayed response. In the last quarter, we did not plan any enhancements. I'm looking at your PR now and will reach out to you for committing to this change.

We are heavenly depending on this action, but it almost take one minute to download while other actions are done in seconds. Can you have a look at this to decrease the download size?
@BALAGA-GAYATRI


projectOPFOR

Requester: Mirrow
Link:
http://steamcommunity.com/sharedfiles/filedetails/?id=735566597
Reason:
Project OPFOR is a ~1,5 GB mod that adds multiple new factions to the game. This will increase the variety in enemies (not just Russia and CSAT) and will open up the possibility for more believable and immersive (no more woodland camo in Takistan) scenarios.

@projectopfor this mod brings together a multitude of new factions to help with the immersion into a MilSim environment. The FPS changes that happen on the server are a little to no difference. Until implemented (Spawned in on the server) the server runs as intended, once spawned the mod causes about an average of .5 FPS drop server sided. But the server will usually catch up once the units set their routes and go about their day. First Battalion has used this mod (in the early stage as LeightsOPFOR Pack) and before the cross battalion mod list it @projectopfor was used. As for the member side of things they don't really notice a difference. But when Mission makers/planners come together this mod allows for a whole new set of missions and immersion to expand the horizons of any and every mission maker.


Performance question

Hello,
I'm not quite sure if this is the right place to ask this, but I have a question about the performance of the search.
I currently have an array of ~81k indexes, with 3 keys each, only searching by one ("Name"). It currently takes ~3.8s to return 0 results (if I search something that doesn't match, and ~4.9s if I search something that does), with these settings:
$fuse = new \Fuse\Fuse($locationData, [ 	"keys" 				=> ["Name"] 	, "threshold" 		=> 0.2 	, "distance"		=> 10 	, "includeScore"	=> true 	, "includeMatches"	=> true ]);
My data (imported as JSON) looks like this:
Array (     [0] => Array         (             [Name] => ACCOMACK             [ListingCount] => 191             [Type] => county         ) )
It looks like that all the time simply just comes from the size of the data, as with logging the times, I constantly got ~4s to reach the 9th match in a search. It also looks like that 'Fuse->analyze()' is run twice, as with a simple increment, the 9th match returns that it was the 160663 run of the function. Although, bypassing that (is_string was false, and is_list reactivated analyze as a string) didn't seem to improve the speed at all.
Here's an example of the timings it took to search (only logging when a match was found): http://prntscr.com/n2v14q
Is there a better format I can use for the data, or is this just a limitation of having 81k+ items to search through?
I'm not sure what other information you need, but let me know if I can provide anything else. I don't have any public page set up with this to test it against at the moment, but if you need, I can probably get that set up.
The data that I'm searching through has 5 distinct parts, so I tried also searching through each separately. When logging the time specifically, increased the total time by ~0.3s. When not logging, specifically, reduced the total time by ~0.8s (while also returning 40 more results)
PHP 7.2
Running on a DreamHost server (not sure of specs)
Thanks,
Tony.

Hey,
first, thanks for the work you've put into this issue.
I'm afraid I cannot help you directly. Fuse for PHP is a strict 1:1 port of Fuse.js, therefore it inherits all its benefits and limitations. I also don't have any expertise in the computer science behind its search algorithm.
However, since you stated that your data is stored as JSON, you could try to perform the same search with Fuse.js and check on its performance. In my experience, this can be quite a lot faster (because JavaScript VMs are just more advanced than the PHP interpreter I suppose), but it should not be faster by orders of magnitude. If so, this would be most likely a bug in my port.
That said, I could very well imagine that your issues have to do with the size of your data set — fuzzy search over 81k entries sounds like quite a lot of work for the CPU. But again, I'm not an expert on any of this.
So, long story short: I unfortunately cannot help you directly, but I'd advise you to try your search with Fuse.js. If it's a LOT faster, notify me and I'll try to find an according bug in this port. If it's not, feel free to ask for help on performance over at their repository.
If you're not familiar with JavaScript, feel free to hit me up — I'd happily provide you with a binary you can use in the CLI to run a Fuse.js search (essentially a script for Node.js, bundled up with pkg).

I have tried out the JS version a bit, and the main reason for wanting to try out the PHP version is that it's still a really large dataset to have to send to a user, and this is running on WordPress websites, so no node.js or serverside JS (that I'm aware of).
However, in a quick test, I imported my 81k results into the console on https://fusejs.io/, set up the same options, and did a search. It completed in ~0.284s, so much quicker (and this isn't a good computer) with a 4 character search string. ~0.308s with an 8 character search string, ~0.654s with an 18 character search (2 word) string (with 4 matches).
Here's a sample search from the Fuse.js site: http://prntscr.com/n362ks. Here's the same search in PHP: http://prntscr.com/n364ry (note that ~0.450s is used just as the AJAX call, and ~0.77s to download the content, so still ~14s to search this longer term).
Maybe (as you mentioned) JS is just that much faster than PHP, but I figured you'd be a better source to ask about it than the original Fuse.js team since it does seem more PHP specific in general.

That's in fact a huge discrepancy. However, I could very well imagine this being a JS vs. PHP performance thing, maybe even just in some specific areas relevant to search.
At least I couldn't find any hints for a bug on my side. 🤔

Thanks for looking into it some more, I'm also still looking into it a bit, and looking at just creating my own "fuzzy" search using soundex and levenshtein. I just need to figure out how to score it, but even with using both of those, it's able to compare my string against the 81k results in ~0.4s. It certainly does something, but needs some more logic for "good" searches. Here's what I've set up so far: http://prntscr.com/n3tdox
As for Fuse, here's my current (probably bad) timing logging for the different functions: http://prntscr.com/n3t3lh
As you can (maybe, like I said, probably bad logging) see from the times, "search", "innerSearch", and "analyze" are definitely where the speed decrease is, and "analyze" is being doubled up.
I'm still trying to understand a bit of how this actually works, and it's a bit odd from how I understand it. A search is done, and it goes -> search -> innerSearch -> analyze -> search -> are we now not in a loop? I realize that this is a better question for the Fuse.js team, and they could probably explain it, but for now I'm just trying to narrow down a bit more of where the time comes from, and look at that specifically. If I were smarter I'm sure I could figure it out, but I'm not a developer, so ¯_(ツ)_/¯, we'll see what happens.
I'll update if I find something that I think is wrong, or causing a problem.

For a dataset of 81k records (generated a random one with faker.js), the results are even more extreme for me.
The PHP search takes 13.05 seconds where the Node search is about 0.5.
I'll try to profile the PHP script, but I'm not sure how well it will go, I've got literally zero experience with that.

Okay, so take everything below with a grain of salt — as I said, I'm completely unexperienced on the topic. I think the performance differences here are actually due to performance optimizations Node.js (or rather the V8 engine) does to the code while the PHP runtime does not.
The PHP performance profile indicates that a lot of time has been spent in the score function which is in itself very, very simple and not computation-heavy at all. However, during the search it's called a whopping 914k times:

The call count seems to be the crucial factor here. I'll demonstrate this with a small example.
I've written a PHP script that defines a simple function and calls it 100k times.
function inc($num) {
  return $num + 1;
}

$count = 0;
for ($i = 0; $i < 100000; $i++) {
  $count = inc($count);
}

echo $count;

On my machine, this takes 0.11 seconds to run. The equivalent JS running through Node.js takes 0.09 seconds. Nothing fancy so far.
If I increase the call count just by the factor 10 though — from 100,000 to 1,000,000 — the numbers are vastly different: It feels pretty natural that PHP takes roughly 10x the time to run, it's now at 0.84 seconds. The Node.js script however still takes just 0.09s. That means PHP execution times scales linearly with the number of function calls while the execution time for Node.js stays constant.
(Funny enough, this optimization seems to bail out after a certain amount of loop runs. From 10,000,000 calls onward, Node.js scales linearly with the number of calls es well.)
Conclusion: The immense differences we're experiencing with Fuse.js vs Fuse.php actually seem to be owed to the optimization work the JavaScript runtime is able to do while the PHP runtime is not. Given the sheer time and engineering power that is put into V8 by Google, this shouldn't be surprising, however I didn't expect just how extreme this skews the performance in JavaScript's favor.

Wow, thanks for that, much better information than I was getting haha. I don't know anything about profiling PHP, so I'll look into that as well.
But yeah, I suppose it is mostly just their speed differences, though I feel like it's very odd that Bitap/score.php is called 914k times! I still don't know exactly how Fuse works though, and it does work, so I'm sure there's a reason.
Thanks again for looking into it, I'll just have to try out my own fuzzy search, or I was also looking at lz-string which has a PHP counterpart to compress my 81k results and send it to the browser to use with Fuse.js (which will be a much better experience than having to ajax call back to the site to use something in PHP).
I haven't tried the PHP part yet, but with just the js lz-string, it's able to compress the ~4.6MB JSON to a ~19KB txt file (in ~1.8s). That compression is crazy (~99.6%?), but I can definitely deal with sending that to the browser to parse instead.
I'll close this, and again I appreciate you looking into it.

My pleasure. 🙂
19KB over the wire should be fine. The bigger problem could be weaker CPUs (i.e. cheap smartphones, if your site is supposed to run on those) which have to unpack and index and search all this data again.
That said, I've just cobbled together a very simple levenshtein-based fuzzy search that performs the search on the 81k dataset in 0.37 seconds (as opposed to the 13 seconds for Fuse). It literally has no features beyond fuzzy matching (no preference for exact matches etc.) but it's kinda fast, even in PHP. 😉
function searchByKey($data, $query, $key) {
    return array_values(array_filter($data, function ($item) use ($query, $key) {
        return levenshtein($item[$key], substr($query, 0, strlen($item['Name']))) < 3;
    }));
}

$result = searchByKey($locationData, 'some location, 'Name');

Maybe it can be useful. 🙂

Thanks, I'll check it out. We'll have to see how it goes with the logic for scoring, and sorting based on quality of a match :p
Also, I think that I'm still going to run into an issue with PHP for the LZCompression... Fatal error: Maximum execution time of 30 seconds exceeded in /LZCompressor/LZUtil.php on line 100
Makes sense, if something in PHP takes 13s, and 0.5s in JS, then something in JS that takes 1.5s probably is going to take 30s+ in PHP (very generally speaking).

Having the same issue but significantly multiplied. Doing very similar name lookup but on nearly 600k users... and lookups are taking +/- 1min 25s each... and i have to process a few thousand rows so even with making these into Jobs... running overnight still only processed 1/3 of my batch (1200ish rows).
Wondering if a work around would be to send me 60M array of usernames to browser and initialize the Fuse library there and then make individual AJAX requests for each row to my laravel backend once name matching is done. Problem with this is if it hit a browser timeout I'm kinda screwed (unless i try implement some "re-try a.k.a continue from last completed row? doesn't seem ideal).
I like the tools results... speed is just killiing me though. Advice?

A data set of 600k entries definitely is subject to a proper database software. Fuse doesn't even create an index for the data it holds.
Unfortunately I don't have any proper advice there though. I've even ported Fuse in the first place because existing fuzzy search solutions I've found in database software weren't as sophisticated as I'd have liked them. (Which is pretty natural — the "fuzzier" the search, the harder it is to create a proper search index for it.)
If you're using MySQL and your dataset exclusively contains natural words from the English language, you may try the SOUNDEX approach. My use cases didn't meet these constraints though, therefore I haven't tried this approach and can't tell how well it works.

Coming back to this, just for the record:
I gave the 81k records approach another try, and the situation significantly improved – the search performed in about 550ms. 🥳
This certainly has multiple reasons – I'm on a newer development machine now, I'm running PHP 7.4 – but the reason I tried again is that I just finished the port of Fuse.js v6 which brought great performance improvements that this project benefits from as well. 🙂


Refactor MiqExpression.operands2rubyvalue

Purpose or Intent
Removes a couple of dead paths in MiqExpression.operands2rubyvalue
@miq-bot assign @gtanzillo
@miq-bot add-label core, technical debt

@imtayadeway The changes look right but I can't tell if it handles the callers/receivers.  Is this covered sufficiently by tests?

Here's the code coverage for the lines concerned:

The stuff in red wasn't touched by this PR :smile:


Building with Xcode / iOS

Hi,
Do you have any pointers / ideas on how to build for Xcode, preferably with iOS targets and all relevant architectures?
I don't have any prior experience with cmake, but I tried the following.

Commented out unix makefiles generator in PreLoad.cmake
-set (CMAKE_GENERATOR "Unix Makefiles" CACHE INTERNAL "" FORCE)
+# set (CMAKE_GENERATOR "Unix Makefiles" CACHE INTERNAL "" FORCE)

Ran cmake in subdir with the Xcode generator
cmake .. -GXcode

Opened the generated OpenFHE.xcodeproj in Xcode

Let Xcode Autocreate Schemes from the dialog:
"The project “OpenFHE” contains a large number of targets, which may cause a large number of schemes to be automatically created. If you prefer, you may instead manually create only the schemes you need."

Ran into a bunch of "Implicit conversion loses integer precision" warnings that Xcode treats as errors

Tried to disable warnings on implicit conversions to 32 bit types from the project's build settings, but it didn't seem to have any effect.

Please ask your question at https://openfhe.discourse.group/


Can't turn off Report PSM Ambiguity

I usually uncheck the Report PSM Ambiguity checkbox.
In version 282, that worked as expected.
In version 285, it did not.  The output shows peptide ambiguity. (I double checked the prose.txt to be sure and it was set to FALSE).

I searched a yeast file with default settings (trypsin, classic search, etc) and the ambiguity checkbox worked as expected - I unchecked it and didn't get any PSMs with ambiguous sequences. I looked in the PSM and Peptides.psmtsv files and searched for the "|" character in the full sequence and base sequence columns. Can you attach your .toml file? That might help reproduce the issue

\bison\share\Users\Frey_temp transfer stuff\Report Ambiguity problem in MMv285
I put relevant files in this folder on my Bison.   Dragging the toml file here had GitHub saying they don't support that file type.
thanks.

I still haven't been able to reproduce this - using the .toml and file provided in 285 gives the expected (no ambiguity) output. I'm going to leave this issue open in case we can eventually figure out how to reproduce this...

I was able to reproduce this in 285 when I drag in the .toml (ReportAllAmbiguity = false) and then set a file-specific parameter (protease = trypsin). I ran the search and the resulting PSM files contain ambiguity. I double-checked the output .toml and it does indeed still say ReportAllAmbiguity = false.
This should have already been fixed in #1305 but I will double-check to make sure that it's no longer a bug.
For this search did you specify any file-specific settings? If so, that's probably the problem. If not, we'll have to track down another bug...

Yep if this is the bug described in my previous post, it's fixed in 286

I realized this morning that since it's a calibrated file, and calibration writes suggested ppm tolerances (file-specific settings) that that's what likely caused the problem. So you probably didn't set any file-specific settings but since you calibrated and that generated file-specific settings, the subsequent search task got messed up

OK, so that explains that.   so then, you think v286 should be fine?

Yeah, this is fixed in 286. I'm going to close this issue but if it recurs of course feel free to reopen or make a new issue.


Support more redirect status codes - 303, 305.

This changes header_rewrite to not complain about status codes in the 300 range for set-redirect. The core also needed a tweak to support status codes 303 See Other and 305 Use Proxy.

I think this is a "bug", and not a new feature. Cherry-picked to 7.1.x.


groth16 Prove panic due to incomplete marshalling of ProvingKey

After writing a ProvingKey to a bytes.Buffer and reading it back, groth16.Prove panics when trying to access InfinityA and InfinityB because they aren't handled by the corresponding marshaling functions. The formats []bool and int aren't supported by the gnark-crypto marshaller either.
Here's a minimal example that reproduces the behavior:
import (
	"bytes"
	"testing"

	"github.com/consensys/gnark-crypto/ecc"
	"github.com/consensys/gnark/backend"
	"github.com/consensys/gnark/backend/groth16"
	"github.com/consensys/gnark/frontend"
)

type Circuit struct {
	X frontend.Variable `gnark:"x"`
	Y frontend.Variable `gnark:",public"`
}

func (circuit *Circuit) Define(curveID ecc.ID, cs *frontend.ConstraintSystem) error {
	x3 := cs.Mul(circuit.X, circuit.X, circuit.X)
	cs.AssertIsEqual(circuit.Y, cs.Add(x3, circuit.X, 5))
	return nil
}

func TestCubicEquationMarshalled(t *testing.T) {
	assert := groth16.NewAssert(t)

	var cubicCircuit Circuit

	r1cs, err := frontend.Compile(ecc.BN254, backend.GROTH16, &cubicCircuit)
	assert.NoError(err)

	{
		var witness Circuit
		witness.X.Assign(3)
		witness.Y.Assign(35)

		pk, _, err := groth16.Setup(r1cs)
		assert.NoError(err, "generating public data should not have failed")

		buf := new(bytes.Buffer)
		_, err = pk.WriteTo(buf)
		assert.NoError(err, "writing proving key to buffer should not have failed")

		pkCopy := groth16.NewProvingKey(ecc.BN254)
		_, err = pkCopy.ReadFrom(buf)
		assert.NoError(err, "reading proving key back from buffer should not have failed")

		_, err = groth16.Prove(r1cs, pkCopy, &witness, nil)
		assert.NoError(err, "proving with good witness should not have failed")
	}

}

Thanks for raising this issue, should be fixed with this commit

Wonderful, thanks, that was unbelievably fast. Working great.


invidious: unstable-2023-09-18 -> unstable-2023-10-07

Description of changes
Update invidious.
cc @infinisil @sbruder @999eagle
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 259743 run on x86_64-linux 1

1 package built:

invidious

Result of nixpkgs-review pr 259743 run on x86_64-linux 1

1 package built:

invidious


incorrect formatting of raw strings

the code formatting for many of the snippets 'breaks' when it sees quote-pairs inside raw strings r#"like "this" eg"#, it would unhighlight the word 'this'. probably because it's not highlighting the raw stirng just the "" pairs between the ## 's
I know this is probably not a bug with /this/ repository but I wouldn't know where to look to actually fix it

Thanks for the report. I guess this is in mdbook or commonmark cc @azerupi

Syntax highlighting is handled by highlight.js. It could be that it is already fixed upstream but that we are just not up-to-date. If this bug is still present in the latest version I guess it should be fixed there first.
Anyways, I added a tracking issue on the mdBook repo :)

This is being tracked in https://github.com/azerupi/mdBook/issues/269.


Hardware Schematic Question

I got a question about your hardware schematic:

Why are you supplying power both via the VIN pin and the 3.3V pin? Wouldn't it be one or the other?
Thanks!

The 3v3 pin is not an "input" pin at; least not here. The 3V3 are needed for the level shifter as a reference voltage. Then you apply 5V to the other side of the level shifter as the second reference voltage.  The uppper side of this board is a "seperate" circuit.

Interesting!!! But what are we level shifting for? I don’t see anything else connected that would make use of the 3.3V?

The ESP is 3.3V, the strip works with 5V (although 3.3V works in most cases). This is why level shifting is a good idea. Also for protection.
Have a look here: https://learn.adafruit.com/adafruit-neopixel-uberguide/powering-neopixels#driving-5v-neopixels-from-3-dot-3v-microcontrollers-5-22


Question about cross validation

I try to validate on my own data-sets. But when I look at the code I'm confused.
In the facenet.calculate_roc, I see
k_fold = KFold(n_splits=nrof_folds, shuffle=False)
But KFold is used to split the dataset when using cross validation.I'm confused that I just want to validate my pre-trained model so I shouldn't split my dataset.
Can someone help me understand this? Thanks advance.

The distance threshold is selected using cross validation.

The distance threshold is selected using cross validation.

I'm sorry, but I have the exact same question. Can you tell me why we should use K-Fold to split the test dataset? The best distance threshold we can calculate without splitting the test dataset. We still do not perform the training operation in this calculations.


Trouble with Creating new Routing Profiles

Hello. This looks very useful! Thanks for the effort. I tried this tonight but it failed at line 603 of the copy command. Let me know if you have any suggestions or ideas. Thank you again for your efforts.
Parameter validation failed:
Unknown parameter in input: "NumberOfAssociatedQueues", must be one of: InstanceId, Name, Description, DefaultOutboundQueueId, QueueConfigs, MediaConcurrencies, Tags
Unknown parameter in input: "NumberOfAssociatedUsers", must be one of: InstanceId, Name, Description, DefaultOutboundQueueId, QueueConfigs, MediaConcurrencies, Tags

Also ran into this.  It looks like in AWSCLI version 2.7.30, the describe-routing-profiles was updated to include additional fields from the api in the output JSON.  However, the create-routing-profile command does not accept these fields, and so it errors out on the creation.
As a temporary measure, I ran the scripts with version 2.7.29.  The prior version installs are here: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-version.html.  You will likely want to update the CLI afterwards if you need the features added by the updated CLI.

Also ran into this. It looks like in AWSCLI version 2.7.30, the describe-routing-profiles was updated to include additional fields from the api in the output JSON. However, the create-routing-profile command does not accept these fields, and so it errors out on the creation.
As a temporary measure, I ran the scripts with version 2.7.29. The prior version installs are here: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-version.html. You will likely want to update the CLI afterwards if you need the features added by the updated CLI.

Thank you Tim for posting this solution:-) It is going to help me for sure! But I have one concern as I hope that having too many installations of aws-cli on my machine is not going create a ".dll hell" kind of problem. Just concerned before installing version 2.7.29 over my current version viz. 2.8.8. Your quick response is appreciated.

Thank you all for your report. I have fixed the issue in version 1.3 and tested successfully on AWS CLI 2.8.6. Please download the new script and try again.


Increase tooltips fade-out delay

Tool tips make it difficult to click the “Read more…” — perhaps a delay before the tooltip fades?

Fixed in v0.8.43


Wrong link to issues in HACS

Hello, as you can see in the screenshot, issues for rd200v2 in HACS is pointing to other repo.

Thanks. It will be fixed in next release


Add multiple runtimes to CI/CD

Pyshgp claims to support multiple versions of Python 3.x and we should confirm this expectation is being met with with CI.

Found this example which makes this seem pretty easy: https://github.com/excitedleigh/virtualfish/blob/aa3d6271bcb86ad27b6d24f96b5bd386d176f588/.circleci/config.yml

Fixed by #127


Plugin does not work after "maximize" the IR

Expected behavior
Tooltips should show up, no matter which view option user chooses
Actual behavior
After maximizing the IR tooltips are not shown any longer
Steps to reproduce the issue
Create an IR whith the "Maximiz" Button enabled.
Start IR. Hovering over the designated column shows tooltip.
Use the Maximize Button. Tooltips will not show up.
Switch back to "normal" view. Tooltips show up again
APEX version (4.2.6 / 5.0.3)
5.0.3
Used web server / version and platform (ORDS 3.0.3 / Tomcat 7 / Apache 2.4 / Linux x64)
ORDS
Used web browser / version and platform (Chrome 48 Mac / Firefox 44 Windows)
Windows FF

Hi @pettinger
can you please try to add the Tooltip DA not on page load instead use event "After Refresh" with your IR region as affected element.
You can also try to alter the event scope from "static" to "dynamic"...

@Dani3lSun Thats exactly how i configured the da. otherwise it would not work after pagination

OK, I will try to reproduce your issue and come back to you!
Hope I can make it until the end of this weekend!;)

Ok I found the class that creates the problem...If the maximize button is pressed a class called "js-regionIsMaximized" is added to the body, in css in looks like this:
.js-regionIsMaximized {
    visibility: hidden;
}

The hidden visibility also hides the tooltip...

@pettinger I found some workaround to get it working, not the best solution but it works...

Give your IR region a static ID
add this JS snipped on page load DA:

$('.t-Button--noUI[aria-controls="YOUR_STATIC_ID"]').click(function(){
  $('#t_PageBody').removeClass('js-regionIsMaximized');
  if ( $('#wwvFlowForm').hasClass('js-regionIsMaximized')) {
    $('#wwvFlowForm').removeClass('js-regionIsMaximized');
  } else {
    $('#wwvFlowForm').addClass('js-regionIsMaximized');
  }
});

This removes the problematic class "js-regionIsMaximized" from the body and adds it to the wwvflow form. This have to be done because only removing it from body shows the menubar of the app, back adding it to the form hides the menubar again...
I will search for an nicer solution but it works for now.

This would be nicer, because it works for all regions with maximize button:
$('.js-maximizeButtonContainer').click(function() {
    $('#t_PageBody').removeClass('js-regionIsMaximized');
    if ($('#wwvFlowForm').hasClass('js-regionIsMaximized')) {
        $('#wwvFlowForm').removeClass('js-regionIsMaximized');
    } else {
        $('#wwvFlowForm').addClass('js-regionIsMaximized');
    }
});

No need for a static ID anymore...

Just as an Idea: Wouldn't it be better to grab the Tooltip Text from a hidden Column/Item instead? In that case i could format the content of the Tooltip. AFAIK there is not HTML formatting allowed in the "title" property-

Ok this is another thing, which have nothing to do with this issue...
but you can use html in an attribute but standard browser behavior doesn´t display it as actual html, but escaped...
The tooltip plugin can do it, the only thing you have to do is to set "Content with HTML" option to true...