Add Optimistic Adam

Feature request: Add Optimistic Adam, an optimistic variant of Adam introduced in [1]. Among other things, it addresses the issue of limit cycling behavior in GAN training.
Perhaps it can be implemented by combining scale_by_adam with scale_by_optimistic_gradient using chain.
References:

Constantinos Daskalakis, Andrew Ilyas, Vasilis Syrgkanis, Haoyang Zeng. Training GANs with Optimism. ICLR 2018. OpenReview. ArXiv.

Below is a possible implementation:

import argparse

import jax
import optax
from jax import lax, numpy as jnp
from matplotlib import pyplot as plt, rcParams

def optimistic_sgd(learning_rate, strength):
    return optax.scale_by_optimistic_gradient(-learning_rate, -strength)

def optimistic_adam(learning_rate, strength):
    return optax.chain(
        optax.scale_by_adam(),
        optax.scale_by_optimistic_gradient(-learning_rate, -strength),
    )

def optimistic_adam_wrong_order(learning_rate, strength):
    return optax.chain(
        optax.scale_by_optimistic_gradient(-learning_rate, -strength),
        optax.scale_by_adam(),
    )

def bilinear_utility_fn(params):
    """Bilinear saddle point.
    Has a unique Nash equilibrium at the origin."""
    x, y = params
    z = x * y
    return jnp.stack([z, -z])

def dirac_gan_utility_fn(params):
    """Dirac GAN: https://arxiv.org/abs/1801.04406.
    Has a unique Nash equilibrium at the origin."""
    x, y = params
    z = jnp.logaddexp(0, x * y)
    return jnp.stack([z, -z])

def parse_args():
    p = argparse.ArgumentParser()
    p.add_argument("--game", type=str, default="bilinear")
    p.add_argument("--lr", type=float, default=1e-3)
    p.add_argument("--iters", type=int, default=10**5)
    p.add_argument("--strength", type=float, default=1e-1)
    return p.parse_args()

def main():
    args = parse_args()

    match args.game:
        case "bilinear":
            utility_fn = bilinear_utility_fn
        case "dirac_gan":
            utility_fn = dirac_gan_utility_fn
        case _:
            raise NotImplementedError(args.game)

    def update(state, _):
        params, opt_state = state
        jac = jax.jacobian(utility_fn)(params)
        grads = jax.tree.map(jnp.diag, jac)
        updates, opt_state = opt.update(grads, opt_state, params)
        params = optax.apply_updates(params, updates)
        return (params, opt_state), params

    _, ax_distances = plt.subplots()
    _, ax_params = plt.subplots()

    for label, opt in [
        ("SGD", optax.sgd(args.lr)),
        ("Adam", optax.adam(args.lr)),
        ("Optimistic SGD", optimistic_sgd(args.lr, args.strength)),
        ("Optimistic Adam", optimistic_adam(args.lr, args.strength)),
    ]:
        params = jnp.array([1.0, 2.0])
        opt_state = opt.init(params)
        _, params_hist = lax.scan(
            update, (params, opt_state), length=args.iters
        )
        distances_to_origin = jnp.hypot(*params_hist.T)
        ax_params.plot(*params_hist.T, label=label, lw=1)
        ax_distances.plot(distances_to_origin, label=label, lw=1)

    ax_params.legend()
    ax_distances.legend()
    ax_params.set(title="parameters")
    ax_distances.set(xlabel="iteration", ylabel="distance to origin")
    rcParams["savefig.dpi"] = 300
    plt.show()

if __name__ == "__main__":
    main()

Outputs for --game=bilinear:

Outputs for --game=dirac_gan:

I can submit a PR to create an optax.optimistic_adam function.

this is great @carlosgmartin !
Would you be willing to contribute such example to the example gallery (https://optax.readthedocs.io/en/latest/gallery.html)? I think this would be very valuable even if there's the somewhat related https://optax.readthedocs.io/en/latest/_collections/examples/ogda_example.html , but I think both examples could be complementary. What do you think?
I would also be OK with adding the solver optimistic_adam to optax (although that would require a bit of work on docstring + tests for this solver)

@fabianp Done: #1089.


Create an MDR frontend (Landing page, with routers to the MD & MDH, contact us, etc...)

https://mawaqit.net/en/
we will be making use of react-router-dom library indeed plus quick tutorials of YT and GPT

initially try it with MDH

Componentization is needed as the Landing page is insanely heavy


sysbox 0.6.1 does not support K8S 1.23.x fsGroup PodSecurityContext making all kind of non-host volumes useless

Install an Ubuntu image with a EmptyDir volume and a Longhorn volume on a Kubernetes 1.23.16 cluster created with Rancher 2.7.3 RKE1 on Ubuntu 20.04 (22.04 does not work with sysbox installer, see https://github.com/nestybox/sysbox/issues/567) and specify "fsGroup: 1000" in the pods securityContext as described here https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#configure-volume-permission-and-ownership-change-policy-for-pods
You will see that the empty dir volume as well as the longhorn volume will be mounted as:
drwxrwxrwx   2 nobody nogroup 4096 May 24 17:02 data
drwxrwsr-x   3 nobody nogroup 4096 May 24 15:39 data2

Even if you do not use the fsGroup security context, the volumes are mounted the same.
When running the pod without sysbox runtime, everything works as exptected, i.e., with fsGroup 1000, the volumes are mounted at GID 1000 and without fsGroup they are mounted as group ID 0.

With RKE2, K8S 1.25.9 and Ubuntu 22.04, the Longhorn volume mount with fsGroup pod security context works, however mounting a secret with fsGroup set, still mounts the secret with nobody:nogroup.

@FFock, thanks for reporting this one.
A couple of questions:

Could you please obtain journalctl -u sysbox-mgr output in the k8s node where sysbox was installed?
Could you obtain a findmnt within one of the sysbox pods where you observe the volume issue?

Thanks.

@rodnymolina, sure, I can provide the requested data. Can I sent it on a private channel?

@FFock, sure, please ping on slack.

@FFock just an fyi, we ran into a similar issue ourselves, it was resolved by using a 0.6.2 prerelease.  We've been running that version in test and prod for a couple of weeks now with no issues.  We did make a clone of that specific version to use, however.

we ran into a similar issue ourselves, it was resolved by using a 0.6.2 prerelease. We've been running that version in test and prod for a couple of weeks now with no issues.

Thanks @joncbenderkh for chiming in.
FYI, to use sysbox-deploy-k8s with the Sysbox v0.6.2 pre-release, simply replace the image: line in the sysbox-install YAML with this one:
image: ghcr.io/nestybox/sysbox-deploy-k8s:v0.6.2-dev

We should be releasing Sysbox v0.6.2 later this week.


Find out if I can remove year from the license notes

Relevant question.

No, I cannot. The solution is to use [year of creation]-[year of last modification].
See the related blog post.


We need better language to express login

2FA gives two meanings in the word login.
The default Email/Password authentication:
Sending Email/Password and they are matched, login is completed.
2FA:
(1) sending Email/Password and they are matched, and
(2) sending Token and it is matched, login is completed.
We have no words to describe the user status (1).
On the other hand,
we have the Session::login() method to log the given user in.
But when using 2FA, the login is not completed after calling the method.
This is confusing.

IMO the term "login" should denote once authentication is complete, i.e. the user has no further Auth steps to take.
Correct me if I am wrong, but there is no "server state" after the email is sent but before the token is exchanged, right? Why do we need to define that limbo?

Ohhh, no, I see I was wrong: Session has to record the user prior to Email2FA completing the verification. The thread on the other PR makes a lot more sense now 😅
Here's my opinion: I don't think auth()->user() should not return a User until login is complete. For 2FA this means "after token verification". This means either:

Using an intermediate session state to define a "pending" login
Or using an actual token that is only created once credentials pass (this is probably less secure since intercepting the token would allow anyone to login)

Yes, the current implementation is based on 1FA and the login concept does not match 2FA.
auth()->user() returns a "pending" login User.
Session::login() does not complete the login, so it makes a User "pending" login state.

The login event should be fired or not when registration process is completed?

I don't think login event should be fired during registration.
https://github.com/codeigniter4/shield/pull/126#discussion_r872918103

Same thing applies to the email activation process. Users are automatically logged in to the application after verifying their email address. The didLogin event should also be fired. https://github.com/codeigniter4/shield/pull/99

My opinion: anything that results in an authenticated user should trigger login. This is how I expect developers to use this event so if we allow some scenarios where that isn't true it could be very confusing. Other events that happen to result in an authenticated user, like registration, should either trigger login (plus their own event) or be changed so the user is not authenticated (i.e. register first, then use the new credentials to login from the form).

I think a "pending" state would be an accurate addition here.

anything that results in an authenticated user should trigger login.

We need to discuss about it.
See #131

auth()->user() returns a "pending" login User.

PR #132 will change it.

What should the login() method do?
Currently, it is not clear what this method does.
https://github.com/codeigniter4/shield/blob/d136ff7e3c4341e35a2559e43ca29e5fe5640114/src/Authentication/Authenticators/Session.php#L335-L338

Do you still have questions on this? Or did you get it cleared up while going through your other PR?
Basically - it does any session maintenance needed for security, sets a value in the session we can check to see if they're logged in, stores an instance of the user object so it can be retrieved from auth()->user() and sets a remember token for the user if they need it.

I still have my doubts about whether the current login() method (my other PR does not change it) is the right one.

What are your concerns with it?

The login() method may not complete the login. It cannot guarantee that the login is completed.
The pending login state depends on whether the identity for the action is stored in the DB.
But the login() does not care about pending state now.

I noticed that the value of the session variable does not accurately represent the current state.
Right now we can't know if it is pending login or not from the session value.
I think it should be fixed.
And if we fix it, we might be able to refactor the code to be more concise depending on the session variable.

I believe this has been fixed now. Can we close this @kenjis ?


admin study page shows duplicated studies

For admins we should filter out public studies so they are not duplicated in the admin/public section.

Fixed on: https://github.com/biocore/qiita/pull/2639


Support for MicroProfile OpenTracing?

Most of the template doesn't apply, but I'm leaving it here.
I'm wondering if the Apache SkyWalking team is interested in implementing the MicroProfile OpenTracing spec?  I had sent an email on the dev list, but I suspect you may not be using your dev list (yet).  Please check that email for more information.
Please answer these questions before submitting your issue.
What version of sky-walking are you using?
What version of your OS?
What version of your JRE?
What company or project?
What did you do?
If possible, provide a way for reproducing the error. e.g. demo application, component version.

Closing this. Because More than 3 months, no active comments at all.


[FlatList] Pass data prop instead of props to _updateViewableItems in _onScroll

Motivation
This is a simple bugfix. _updateViewableItems expects the data prop, as it calls getItemCount on it. Without this, onViewableItemsChanged updates twice for each scroll position, once from _onScroll with the incorrect results, and once from _updateCellsToRender with the correct results. This means the callback nigh-on unusable.
Test Plan
I simply logged the results of onViewableItemsChanged and made sure they were correct.

+@sahrens


PassThru driver on C# , Help

Hello.
I try to Make PassThru driver on C# .
for example i have exported function :
[DllExport(CallingConvention.StdCall,ExportName = "PassThruReadVersion")]
 public static J2534Err test_version(int deviceId,  ref IntPtr firmwareVersion,  ref IntPtr dllVersion,  ref IntPtr apiVersion)
 {
     firmwareVersion = Marshal.AllocHGlobal(80);
     firmwareVersion = Marshal.StringToHGlobalAnsi(dll_string);

   Marshal.FreeHGlobal(firmwareVersion);
   return J2534Err.STATUS_NOERROR;
 }

but i have the problem , the application cannot read string from dll .
I test with c# Wrapper , but i don't receive random string.
Can you help me with this case ?
The Wrapper read code
        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
        public delegate int PassThruReadVersion(int deviceId, IntPtr firmwareVersion, IntPtr dllVersion, IntPtr apiVersion);
        public PassThruReadVersion ReadVersion;

        public J2534Err ReadVersion(int deviceId, ref string firmwareVersion, ref string dllVersion, ref string apiVersion)
        {
            J2534Err returnValue = J2534Err.ERR_FAILED;
            try
            {
                IntPtr pFirmwareVersion = Marshal.AllocHGlobal(120);
                IntPtr pDllVersion = Marshal.AllocHGlobal(120);
                IntPtr pApiVersion = Marshal.AllocHGlobal(120);

                 returnValue = (J2534Err)m_wrapper.ReadVersion(deviceId, pFirmwareVersion, pDllVersion, pApiVersion);
                if (returnValue == J2534Err.STATUS_NOERROR)
                {
                    firmwareVersion = Marshal.PtrToStringAnsi(pFirmwareVersion);
                    dllVersion = Marshal.PtrToStringAnsi(pDllVersion);
                    apiVersion = Marshal.PtrToStringAnsi(pApiVersion);
                }

                Marshal.FreeHGlobal(pFirmwareVersion);
                Marshal.FreeHGlobal(pDllVersion);
                Marshal.FreeHGlobal(pApiVersion);
            }
            catch(Exception er) { Console.WriteLine(er.Message); Console.WriteLine(er.StackTrace); Debug.WriteLine(er.Message); Debug.WriteLine(er.StackTrace); }
            return returnValue;
        }

On c++  work , for example :
PANDAJ2534DLL_API long PTAPI PassThruReadVersion(unsigned long DeviceID, char *pFirmwareVersion, char *pDllVersion, char *pApiVersion) {
	#pragma EXPORT
	//if (!loadedFine) return ERR_DEVICE_NOT_CONNECTED;
	//auto res = LocalReadVersion(DeviceID, pFirmwareVersion, pDllVersion, pApiVersion);

	auto res = STATUS_NOERROR;

	strcpy(pFirmwareVersion,"1.0.0");
	strcpy(pDllVersion, "1.0.0");
	strcpy(pApiVersion, "1.0.0");
        return res;
}

. .
The question is related to:

DllExport -version:
Copy-paste from Data tab:

⚠ (Remove this section after reading. Click Preview tab for convenience)
! Important

Please use our wiki first. +Available Q&A list.

Please try to use MSDN, stackoverflow, and other relevant places for understanding common practice with P/Invoke, scalar & unmanaged native types, marshaling, .net-domains, multithreading, ... ~something other. Because this is not directly related to our project to teach programming. We can try to help anyway, but please have a conscience.

Before ask anything

Do not put inside message any very long text data ( ~10 Kb+ time for attachments ). Means only as file (text-based, or zip, etc). Because of notifications through email. It's really ... 100K+

Make also sure you have all rights to publish any data (attached src, log, etc). Responsibility is solely on you.

Try to use only GitHub for your attachments and screenshots instead of other places. It's free, it's enough.

Please try to use basic formatting to avoid code dancing 🕺 across the page.

Thanks for reading!

Hello,
remove ref from ref IntPtr that's like over through over here and ... in general your wrapper is too complicated and not safe in case of possible memory leaks; use try/finally for FreeHGlobal etc.
Okay, tl;dr, let's try to look at something related:
play with tests:

https://github.com/3F/DllExport/blob/master/src/DllExport/assets/NetfxAsset/Basic.cs
https://github.com/3F/DllExport/blob/master/src/DllExport/UnitedTest/NetfxAssetBasicTest.cs

play with docs (+video):
https://github.com/3F/DllExport/wiki/Examples-Part-2
Let me know if this doesn't help

Thanks for the quick reply, I tried it without ref, then I don't get any data at all, with ref I get a random string.
Thanks for the additional materials, before writing to you I read them and tried them.


Can't load edits involving lane reversals

Occurs in both scenario ("VIP commute") and sandbox mode. I previously made and saved edits. Now, I'm not able to load those edits using the drop down menu to load edits in the map editing screen.
More details:
-> Corresponding .json file for edits exists in the data/player/montlake folder for the edits that I want to load
-> If I try to save other edits with the same name as the "missing edits", I get a message saying that edits with that name already exist and asking if I want to overwrite. So, the file system is able to see the file even if the menu that loads edit files doesn't list it.
-> I am able to save and load other edits without a problem (e.g. doesn't seem to be a FILO issue or something like that)
-> Changing the name of the file and the "edits_name" field in the .json file to a new name doesn't solve the problem. The edits are still not listed in the menu of available edits files to load under the new name.
Tried including here the edits file that the game does not recognize, but Github is unjazzed about attaching .json files. Appended .txt to file name for upload purposes.
Vee Eye Pee.json.txt

The game filters out edits that are invalid. Either there's a bug compressing the list of commands when saving (so your edits were valid originally, but after saving they broke) or you hit something like the other bug, where the edits are valid, but when loading them, the representation becomes invalid again. I can figure it out from the .json, thanks!

Sorry for the delay. This is in the same spirit as the other bug with determining if traffic signal edits are valid during loading. When loading edits with a sequence of reversing lanes and changing lane types, it's important to check that the basemap hasn't changed entirely since the edits were made. For example, if somebody updates OSM and says a road only has 3 lanes, not 5, but somebody had edits referring to one of the extra lanes. The bug is happening even when the basemap isn't updated, because to validate command 5 in an edit list, you need to apply commands 1-4. That's a bit expensive to do for every single command for all edits when opening the load dialog.
Some ideas:

List all files in the loader, then when you select one, actually try to apply it. If it fails, display an error message and go back to listing files. Doesn't quite work for determining if built-in proposals apply to a particular map.
Can maybe filter out invalid commands automatically from edits and preserve the rest? Would need to make a copy and not erase original edits.

Sorry it took so long to sort this out. I'm going to tentatively declare victory. I've changed the saved edits to store a blanket override of all changes to one road, instead of individual commands to toggle one lane at a time. This deals with the out-of-order problem. I've also finished the piece that automatically upgrades edits in the "old" format to the new one; it should be invisible to you when it works.
Some of your old edits won't import, though -- the ones here and in #234 included. Fixing those up might be very hard and possibly not worth it. Going forward, I think you should be able to mix any edits however you like, save, load, etc, but unless you have old edits that won't import now and are important to preserve, I'm going to close this out, along with #234.


plugin v3.0.0 missing Environment Variables in Artifactory tasks

We followed the Atlassian upgrade process from Bamboo 2.8.3 -> 2.10.4 by disabling the plugin, upgrading, then upgrading the plugin. Now, when opening any Artifactory Maven task for configuration, the Environment Variables field is empty. It also does not seem to be applied in the builds.
It is still present in the schema, e.g. at taskDefinition config key builder.artifactoryGradleBuilder.environmentVariables, however, if we save the task configuration again the key is silently overwritten with an empty value.
So, basically, all our plan Environment Variables are gone, we can't add them back, and the upgrade is blocked.
possibly related to issue #96 ?

@spring-buildmaster thanks for opening this issue.
We have created a snapshot version of the plugin, containing a fix for the bug.
Can you please install the plugin and check if the problem is resolved?
The snapshot version can be downloaded from here:
https://oss.jfrog.org/oss-snapshot-local/org/jfrog/bamboo/bamboo-artifactory-plugin/3.0.x-SNAPSHOT/bamboo-artifactory-plugin-3.0.x-SNAPSHOT.jar
The relevant commit: https://github.com/jfrog/bamboo-artifactory-plugin/commit/f1cbbe56f8bf754907ce33ffa616c383900b2a44.
Your feedback for it is highly appreciated.

Thank you for the quick fix. This patch has fixed the issue with the missing Environment variables.
Issue #96 persists, so probably unrelated.


Fix interrupt other app play music.

Description
Other app play music, when video_player play video disposed, then other app music was interrupt.
This Fix can wake up other app resume play music.
Related Issues
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] The analyzer (flutter analyze) does not report any problems on my PR.
[ ] I read and followed the Flutter Style Guide.
[ ] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[ ] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[ ] I updated CHANGELOG.md to add a description of the change.
[ ] I signed the CLA.
[ ] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

@kingiol please can you sign the CLA

@kingiol please can you sign the CLA

Closing as duplicate of https://github.com/flutter/plugins/pull/3382

Closing as duplicate of https://github.com/flutter/plugins/pull/3382


How does Gunicorn workers improve Superset's performance?

I'm using 10 gunicorn workers to run superset.

When multiple users are accessing superset at the same time, will these workers get split among the users?
While loading a dashboard, only 6 queries are running concurrently, is there a way to increase that number?

🏷 #question

@max-123-rich it depends on how you have Gunicorn configured. For more information on the concurrency options, check out Gunicorn's design documentation: http://docs.gunicorn.org/en/latest/design.html#design
There is a limit imposed by browsers on the number of concurrent connections you can have open to a single domain. That may be what you're running into. You can get around that via domain balancing requests (splitting requests between multiple domains).

@max-123-rich it depends on how you have Gunicorn configured. For more information on the concurrency options, check out Gunicorn's design documentation: http://docs.gunicorn.org/en/latest/design.html#design
There is a limit imposed by browsers on the number of concurrent connections you can have open to a single domain. That may be what you're running into. You can get around that via domain balancing requests (splitting requests between multiple domains).

Hi @willbarrett
I enable function sharding domain and add 5 sub domains on superset_config.py
This dasboard contain 14 tables which query into postgresql superset db and now requests are now split into different domains  but the performain is not getting better (Left use sharding domains and Right use single domain). Now instead of having stalled time, I have more wait time for server to response.
Is it because docker default config doesn't have enough worker or threads to handle requests of sharding domain or other reasons. And how would I config to get more workers, threads in superset docker.
Please help me with this. Thank you a lot


[refactoring] remove find_sessoin with name

Because of further refactoring require remove name usage in create/drop_index  from dispather

@kotbegemot Can I merge it?


cloudflared install command for Debian type system fails

Expected Behavior
https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/#deb-install includes the steps to install the cloudflared agent on deb based systems, it is expected that either the package would simply be downloaded or that the package would be downloaded and installed.
Actual Behavior
Grabbing the wget command for Linux "deb" includes the dpkg command to install the package, but it is missing the appropriate characters to allow the dpkg command to run, either semicolon or && operators. Running the command as-is appears to hang on Ubuntu 20.04.
Section that requires update
The command in the docs is in the .deb install section:
$ wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb dpkg -i cloudflared-linux-amd64.deb

If it should call on dpkg to install it automatically then it could look like this, including the && operator:
$ wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && dpkg -i cloudflared-linux-amd64.deb

or, if in two steps, it could look like this:
$ wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
$ dpkg -i cloudflared-linux-amd64.deb

Additional information
Any other details or screenshots you think are relevant.

PR #3905

Thank you for the suggestion! PR has been approved and merged.


[face mesh] GPU inference on Google Colab

I'm using the Colab notebook(https://colab.research.google.com/github/kevinash/awesome-ai/blob/main/notebooks/5_FacesAndExpressions/MediaPipe_Face_Mesh.ipynb#scrollTo=BboTB-FAMfPo) to run face mesh landmarks model on static images. The model runs fine on CPU. How do I run inference using the colab gpu?

Hi @waleedrazakhan92 , MediaPipe Python package only contains CPU graphs. If you need to run any GPU graphs, see #1651 (comment).


Ability to specify external command to generate acquisition uid

Included in this PR

New option uid_ext_command to specify external command to run.
Single non-deterministic file from acquisition source files will be used in the command.
Non-zero or empty string returned by command will prevent acquisition from being uploaded.
Non-zero exit of external command will fail and abort reap attempt

Actions Before Merge

[x] Create Proof Of Concept
[ ] Decide final implementation details
[ ] Add final implementation details here...
[ ] Abort and fail reap attempt on external command error

@gsfr
I don't like the current implementation of assuming source dicoms will be in a folder named the same as the zip, however, it was the quickest path to this POC so I didn't have to worry about state set before the zip is created, and after it's created and we have the metadata object. I feel strongly that this option does belong in the dicom_reaper module.
How would you feel about passing a set_acq_uid() function down to dcm.pkg_series that could be used if provided? I'm open to other approaches, as my python-foo is still weak.

Rebased and added a new commit. This is untested and likely buggy, but I wanted to show it to you, @ryansanford, for feedback on general approach.
Command line looks like this:
--metadata acquisition "Referring Physician" ReferringPhysicianName

@gsfr  Thanks. I should be able to check this out before I leave.

@gsfr pushed change to fix an issue with subprocess call. Feel free to refactor to more elegant approach. I only tested that narrow use case. I'll review with a more critical eye tomorrow.

Thanks. I'm going to refactor that just a tad. Also note that I have updated the original description of this PR. I don't think that an empty string return value should prevent reaping. Non-zero exit also doesn't currently prevent reaping, but it probably should.

What is the purpose of the latest commit? Does the previous code not work?
http://stackoverflow.com/q/10563613

@gsfr I pushed a change so a single file from the series gets passed, rather than the original filename that's no longer valid after it's renamed.
Behavior with a non-zero return from the external command is an empty metadata value and does not prevent the upload. It would be nice to have a defined return/exception interface on pkg_series() so we can fail the operation with predictable results to any callers.

My bad on the first point and agreed on the second point. I can take that on once you agree on the general design and have tested the current implementation.

Thanks for the python tip @gsfr
I agree with the general design. Cursory testing with static, dicom tag name, and external command is working for me.
👍

@ryansanford I've added basic error handling. Please give it a whirl. We now error out on non-zero return of external command and proceed zero return, even with an empty string.
--metadata acquisition CustomFieldName @true


Using any special character breaks the plugin

Description
I was using the plugin normaly but then noticed that up to one point my new roles did not show at all in my chat/tab/scorebaord. After trying everything to fix it, it could not be fixed, so i purged the database and remade it from scratch (backups were corrupt). then when i did all the roles again, everything worked up to the point where i created the role with the special sign again ( : ). so i guess that is what causes the plugin to break
(i have essentialsX + essentialsXChat installed for chat plugin and https://www.spigotmc.org/resources/tab-1-5-1-21-1.57806/ as my tab plugin, and on both everything works fine with all roles until i create that one role)
Reproduction Steps
/lp editor
[in editor]
create a new role that has in the displayname and prefix the sign ":" and save it
Give an player on the server the role
Expected Behaviour
the role will show up on the chat, tablist and scoreboard (used placeholder api and never had any issues up to this point)
Server Details
CraftBukkit- version 3871-Spigot-d2eba2c-3f9263b (MC: 1.20.1) (API Version 1.20.1-R0.1-Snapshot)
LuckPerms Version
v5.4.139
Logs and Configs
https://gist.github.com/MakeItGame/8447477739aedf6ca5ae487957eb54e4
https://gist.github.com/MakeItGame/fcb5553d63cde0c4ad2c56978e33f4d5
https://gist.github.com/MakeItGame/1c30f6caac797eb70f1b39a2021a7812
Extra Details
No response

The term "displayname" in LP is slightly misleading - it is not for user-facing display. It's only for overriding the internal name of the group. 99.9% of servers have no reason to touch it. User-facing display should use meta (i.e. prefixes/suffixes or a custom meta key) - this is the proper resolution of your problem.
Had you tried to set this display name ingame, LP should have thrown an error and not permitted the invalid displayname. Unfortunately, we know the editor bypasses at least one safety check, it seems this is a second safety check it bypasses.

It seems I was mistaken when I said this was an illegal displayname - I cannot reproduce any issues on Paper 1.21.1-116, LP v5.4.141, and PlaceholderAPI v2.11.6 - running /lp group default setdisplayname :invalid works as expected and causes no issues.
However, upon further inspection of your logs, it appears your server has been reloaded several times, which is unsupported (why?). If you can reproduce after a restart with no errors, and provide evidence that Luckperms is throwing an error and not just display plugins, please re-open this issue.


Create ru_ru.json

Russian translate

i don't know russian personally, but i looked through this using a translator and it seems good enough


Custom script output only appears after script finishes with tail = true

I've written a simple python script:
import time
for i in range(3):
    print(i)
    time.sleep(1)

and saved it as ~/.config/polybar/log. I also added
[module/log]
type = custom/script
exec = python ~/.config/polybar/log
tail = true

to my polybar config.
However, 0 only appears in the bar after the script finishes. I would expect the output to appear as it is generated (0, 1, 2 every second). Am I misunderstanding how tail is supposed to work?

I haven't tried this, but try using python -u

Aha! That was it. Thank you!

I spent hours trying to track this down. My script was not showing half the time, then it seemed to update at random intervals.
Can this be added to the docs? Here would be a good place to mention this.
It seems to happen when the main python thread blocks at any point.

@tomasz13nocon Done: https://github.com/polybar/polybar/wiki/Module:-script


Trying to use page.$$eval to interact with a specific element in returned array

Steps to reproduce
Tell us about your environment:

Puppeteer version: 1.5.0
Platform / OS version: Mac OS Sierra 10.12.6
URLs (if applicable):
Node.js version: 8.11.3

Hi I am still pretty new to this, but basically I am trying to interact (click/type) with a specific element that is returned from the array created by await page.$$eval() but can't figure out how to
Here is my code:
test(
    'should enter in title on second line',
    async () => {
      await page.$$eval('#title', el => el[1].type('test title'));
    },
    300000
  );

However this doesn't seem to interact with the element that is returned at the [1] index, as there are two elements with the same id of title on this specific page.
I tried running Array.from(document.querySelectorAll('#title')) in my console and get the following back:

So I know the element is there to be interacted with, just not sure if I am interacting with it correctly.
Any help is appreciated, thanks so much!

If I understand correctly, the function argument in page.$$eval() is executed in the browser context, while el[1].type() needs puppeteer context. Try this:
const element = (await page.$$('#title'))[1];
await element.type('test title');

Thanks so much @vsemozhetbyt this worked beautifully!

@vsemozhetbyt just for my own understanding, would you be able to explain why
const element = (await page.$$('#title'))[1]; await element.type('test title');
would work and not
const element = await page.$$('#title')[1]; await element.type('test title');

The difference is in the operator precedence: await has lower precedence than [] (property accessor), so we should use parentheses.


Snowflake connector requires passphrase

The snowflake connector requires a passphrase.
How to reproduce the bug

Configure new database connection with the URI<EMAIL_ADDRESS>Add security extra:

{
    "auth_method": "keypair",
    "auth_params": {
        "privatekey_path":"/certs/my_cert.p8"
    }
}

Click Finish
See error

Expected results
The connection should work successfully.
Actual results
Error An error occurred while creating databases: 'privatekey_pass' appears.
Environment
(please complete the following information):

Firefox 109.0.1 (64-bit)
superset version: Superset 0.0.0-dev (
python version: Python 3.8.16
any feature flags active:

FROM apache/superset:latest

USER root

RUN pip install snowflake-sqlalchemy

USER superset

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[✅] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[✅] I have reproduced the issue with at least the latest released version of superset.
[✅] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
Here are other possible configurations and their errors:
{
    "auth_method": "keypair",
    "auth_params": {
        "privatekey_path":"/certs/my_cert.p8",
        "privatekey_pass": ""
    }
}

Error: An error occurred while creating databases: Password was given but private key is not encrypted.
{
    "auth_method": "keypair",
    "auth_params": {
        "privatekey_path":"/certs/my_cert.p8",
        "privatekey_pass": null
    }
}

Error: ERROR: 'NoneType' object has no attribute 'encode'
Solution(s)
Add logic to accept private key as is if no passphrase is provided.

Hi, is there any update on this or a workaround to use a private key without password?

Any update on this issue?

Tempted to close this as stale... and I swear this has been reported elsewhere, but giving a ping to @villebro as well, who might have run into this situation.

I hit this same issue this morning


Car60completeness bar

requires https://github.com/fjelltopp/meerkat_car/pull/76 (though won't break without)


Add Vector3 Projecting and Rejection to Raymath

Add two useful vector operations, Projection and Rejection to Raymath.

@Dial0 thanks for the addition! :)


document $unset / debug mode

like here http://goo.gl/1loHz
but add to mongoosejs.com

closing, dup of #332


Release a 4.2.3 with Django 1.7 support

Hi, do you think could release master as a 4.2.3 release ? We are using Django 1.7 and we have the problem that multiple choide field does not have a label anymore (problem fixed in master).
Thank you for django-select2 it's a great library.

@bdauvergne as you are the 3rd person to ask:
I don't feel all to comfortable about releasing the current master, as a lot of behavior is sill untested.
BUT, the master is more stable than the current release.
Taking this into consideration: @applegrew feel free to release, I'd go for 4.3.0 considering the new support for python3 and django 1.8

The best way to have people debug the current master is to release it with the bugs ! :)

@bdauvergne say what? One should always aim for a stable release, no matter what. That why we have automated testing. How do you upgrade 3rd party code than? I need to rely on packages being tested.
BTW, the community is rather large for a django package.

Version 4.3.0 pushed to pypi. Let me know if you see any issues with latest version.

 :)


deep link properties parameters is empty in Android

I follow installation and link steps in https://docs.branch.io/pages/apps/react-native/
in iOS deep link working fine and data passes successfully
but in Android
link open chrome then play store
and sometimes open app directly but even parameters data is returned empty like this:

should i update onStart() in MainActivity file?

and in Manifest.xml file this is right or should update it?
<application
   android:name=".MainApplication"
   ....
>

also when check 'web to app' the dashboard i found this:

'"react-native-branch": "^3.0.0-beta.1",'
implementation "io.branch.sdk.android:library:3.0.4"

Hi MoeMamdouh,
The reason you are facing this issue is that the basic setup has not been done properly. You have not entered a URI scheme on the link settings page. If you have not set up your app to support them, please review the documentation page on the subject. Kindly refer to this document to configure your dashboard: https://docs.branch.io/pages/dashboard/integrate/.  For react native setup, please refer the step by step guide from this doc: https://docs.branch.io/pages/apps/react-native/.

Hi @deeptiBranch
thank you for your reply,
but i already follow the document and also entered a URI scheme in the link settings page.
any help please?

Hi @MoeMamdouh. Have you compared your app with the examples in the repo, particularly
webview_example? That's probably helpful. If you can't find a discrepancy there, could you please post all relevant sections of your AndroidManifest.xml? It should look something like this:
    <application android:name=".MainApplication" android:allowBackup="true" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme">
        <activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:windowSoftInputMode="adjustResize" android:launchMode="singleTask">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
            <!-- Branch intent-filter -->
            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <data android:scheme="rnwebview" android:host="open"/>
                <data android:scheme="https" android:host="ms9y.app.link"/>
                <data android:scheme="https" android:host="ms9y-alternate.app.link"/>
                <data android:scheme="https" android:host="ms9y.test-app.link"/>
                <data android:scheme="https" android:host="ms9y-alternate.test-app.link"/>
            </intent-filter>
        </activity>
        <activity android:name="com.facebook.react.devsupport.DevSettingsActivity"/>
        <!-- Branch keys -->
        <meta-data android:name="io.branch.sdk.BranchKey" android:value="key_live_gmvPhLx7x9cW5Qh4x80dVcphxviJom1r"/>
        <meta-data android:name="io.branch.sdk.BranchKey.test" android:value="key_test_oaCHnPu3yWd42Pn2F4YfIgdlBAmPac1G"/>
    </application>

thank you @jdee
Yes i already realize my fault but sorry forget to mention it and close the issue.
in AndroidManifest.xml i  put schemes in to splash activity not in main activity.
this was the problem.


⚠ Processors has degraded performance

In bf16c13, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 61 ms

Resolved: Processors performance has improved in e886cd6.


Stop using the deprecated Azul manifest endpoint

There's a new manifest endpoint which the matrix service should be using (@hannes to elaborate).

@calvinnhieu to follow up with @hannes-ucsc for details.

Followed up with @hannes-ucsc - the new endpoint uses 301 redirects. Matrix will need to update to honor 301s with retries.

… with retries and Retry-After.

@hannes-ucsc How long can this retry loop take? I'm seeing failures even after setting up exponential backoff and retrying on 301?

@parthshahva 4min, today on production for a manifest with no filters applied. You should not apply exponential back-off and instead trust the Retry-After header. Please make sure to use the new endpoint: /manifest/files (for 301/302 status code with Retry-AfterandLocationresponse headers) or/fetch/manifest/files` for a Javascript-friendly version that sends those three things as a JSON body in a 200 response.

@parthshahva, before I forget, it just occurred to me that we should ask the Data Browser team to handle the manifest request retry loop client side. That way we wouldn't waste server side resources and could potentially offer better UI feedback (display "The matrix hand-off manifest is being prepared …" and then "The Matrix is being prepared …"). What do you think?
@NoopDog, this would be the same as what you do for the Terra hand-off today.

@hannes-ucsc Would this mean that the data browser keeps retrying on the manifest url and then passes the manifest url to matrix service once successful? I'm assuming that once it is generated it is cached? How long is it cached for?

@parthshahva

Would this mean that the data browser keeps retrying on the manifest url and then passes the manifest url to matrix service once successful?

Yes.

How long is it cached for?

One day at present.

See https://app.zenhub.com/workspaces/dcp-5ac7bcf9465cb172b77760d9/issues/humancellatlas/data-browser/647.

Closing as data browser is handling this


Create tokenizer with offsets support for BERT (or similar) embeddings

To implement part 3 of the CoNLL demo, we need to convert each document in the CoNLL-2003 corpus into a dataframe with 3 columns:
<span of token> | <label of token> | <embedding of token>

Once we have such a dataframe, we can quickly train up multiple models on the prebuilt embeddings and use those models to zero in on incorrectly-labeled entities in the data set.
To create this dataframe, we need to retokenize the corpus using the tokenizer that the BERT embeddings are designed for. That tokenizer's code can be found here.
Unfortunately, the BERT tokenizer does not output the character (or code point) offsets of the tokens that it produces. To use this tokenizer, we need to modify the implementation in tokenization.py so that it produces begin and end offsets for every token.I recommend that we contribute this functionality back to the official BERT models as a pull request, so that we don't need to worry about our changes getting stomped on in the future.
Potential alternate approach: Look through the changes and comments of https://github.com/huggingface/transformers/pull/2674 to figure out how to enable huggingface's implementation of tokenization for BERT embeddings that captures character offsets, assuming such an implementation exists.

@frreiss looks like huggingface transformers can return offsets for tokenizers if based on Rust, not just Python. For BERT, they have FastBertTokenizer that seems like what we want:
In [16]: from transformers import BertTokenizerFast

In [17]: tokenizer = BertTokenizerFast.from_pretrained('bert-base-uncased')

In [18]: tokenized_text = tokenizer.encode_plus(text, return_offsets_mapping=True)

In [19]: tokenized_text
Out[19]:
{'input_ids': [101,
  101,
  2040,
  2001,
  3958,
  27227,
  1029,
  102,
  3958,
  27227,
  2001,
  1037,
  13997,
  11510,
  102,
  102],
 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
 'offset_mapping': [None,
  (0, 5),
  (6, 9),
  (10, 13),
  (14, 17),
  (18, 24),
  (25, 26),
  (26, 31),
  (32, 35),
  (36, 42),
  (43, 46),
  (47, 48),
  (49, 55),
  (55, 58),
  (58, 63),
  None]}

In [20]: text
Out[20]: '[CLS] Who was Jim Henson ? [SEP] Jim Henson was a puppeteer [SEP]'

In [21]: text[:5]
Out[21]: '[CLS]'

In [22]: text[6:9]
Out[22]: 'Who

Great to hear! So it looks like we are unblocked for the next step. Let me close out this issue and open a separate one to track part 3 of the CoNLL demo more broadly.


Deno.land releases have stopped ~3 years ago

Currently, the latest version of Ramda available on deno.land is 0.27.2, which was pushed around 3 years ago. From what I can gather, ramda on deno.land is actually a mirror of a repo by the apparently abandoned functional.land project, and as a result deno.land/x/ramda refers to functionalland/ramda as upstream instead of here.
Is there any hope of either:
a) The deno.land releases being somehow fixed to refer back to this repository? (Admittedly, I don't know what deno.land/x's policy even is for something like this)
b) A new module name being claimed on deno.land referring to this repo (i.e. deno.land/x/ramdajs)
c) The README fixing the deno.land imports to refer to more recent versions, since Deno is able to import from arbitrary URLs - i.e. just use jsdelivr's GitHub functionality
?

I was looking into this just now and came to the issues page to submit this very thing when I saw you beat me to it 🤣
The MR that added mod.ts and egg.js was https://github.com/ramda/ramda/pull/3054 submitted by @sebastienfilion, who also owns functionalland/ramda. From what I can discern, that fork was publishing to deno.land in leu of ramda/ramda doing it until that MR was merged. However, this repo never actually took over doing that.
@kedashoe What exactly is the release process? I know you've been doing it, but how? I see a scripts/prepublish, but not publish. And there is not github workflow either
Aside from npm I see jsdelivr is updated too, so that's good. There is a bower.json (lol) in the project, I'm pretty sure we can remove that

make
which uses https://github.com/davidchambers/xyz

Ack! I missed the Makefile in the root dir. Ok so xyz does npm publish, so what about jsdelivr? The release strategy of ramda ties in very well with Gitflow. We could make develop branch, have MRs go into that, and automate releases on master with Github Actions. Even make develop release a beta npm tag. That's how I have it over on ramda/types, but without the automation. I keep telling myself I'm going to get that setup but never have the time and keep doing release there manually as well

so what about jsdelivr

Maybe https://github.com/ramda/ramda/blob/c2a4b953141869dd0d2b716a3d3a752056672904/package.json#L68 ?

fwiw I would rather not use github actions, it is already automated bar running a single command. And it is so much easier to update/debug/etc running everything locally

Ok so maybe jsdelivr is automated with that prop in package.json in some way via npm publish. I'm not familiar with jsdelivr myself. Aside from open source publishing to npm, I'm most familiar with internal Artifactory instances for packages and Gitlab for container registries

And it is so much easier to update/debug/etc running everything locally

lol yeah that's always the worst part of it. Having a main/develop develop do have a beta or canary npm tag would be handy though

Jsdelivr basically just mirrors npm and GitHub. So "switching" to it would just be a matter of updating documentation to refer to its links.
In my project I have "ramda/"<EMAIL_ADDRESS>in my import map, which basically just takes the mod.ts from here,  same way it worked with deno.land/x/ but using this repo as the base.


update the aws dependency to support to aws-sdk-v3

Changes Unknown when pulling d12985af654618d23b0f22601a03ecb6043081d6 on GetRedii:chore/update-aws-sdk-dependency into ** on winebarrel:master**.

Changes Unknown when pulling d12985af654618d23b0f22601a03ecb6043081d6 on GetRedii:chore/update-aws-sdk-dependency into ** on winebarrel:master**.

Changes Unknown when pulling d12985af654618d23b0f22601a03ecb6043081d6 on GetRedii:chore/update-aws-sdk-dependency into ** on winebarrel:master**.

Changes Unknown when pulling d12985af654618d23b0f22601a03ecb6043081d6 on GetRedii:chore/update-aws-sdk-dependency into ** on winebarrel:master**.

Changes Unknown when pulling d12985af654618d23b0f22601a03ecb6043081d6 on GetRedii:chore/update-aws-sdk-dependency into ** on winebarrel:master**.

Changes Unknown when pulling f7b9b6085ac836dd8b7aaa824ea5b72c0d880b7f on GetRedii:chore/update-aws-sdk-dependency into ** on winebarrel:master**.

Changes Unknown when pulling f7b9b6085ac836dd8b7aaa824ea5b72c0d880b7f on GetRedii:chore/update-aws-sdk-dependency into ** on winebarrel:master**.

Changes Unknown when pulling f7b9b6085ac836dd8b7aaa824ea5b72c0d880b7f on GetRedii:chore/update-aws-sdk-dependency into ** on winebarrel:master**.

Thanks!
Sorry for the late merge

v0.2.0.beta has been released.
However this version installs many gems...
I will fix it in a few days

beautiful - I need this on elasticbeanstalk and that for whatever reason doesnt like pointing gem definitions at github,  so your speediness here is MUCH appreciated!

I'm getting an error on deployment:
`Message
LoadError: cannot load such file -- aws-sdk/signers/v4
Traceback
LoadError: cannot load such file -- aws-sdk/signers/v4
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb", line 292, in require
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb", line 292, in block in require
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb", line 258, in load_dependency
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb", line 292, in require
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/faraday_middleware-aws-signers-v4-0.2.0.beta/lib/faraday_middleware/aws_signers_v4_ext.rb", line 1, in <top (required)>
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb", line 292, in require
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb", line 292, in block in require
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb", line 258, in load_dependency
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb", line 292, in require
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/faraday_middleware-aws-signers-v4-0.2.0.beta/lib/faraday_middleware/request/aws_signers_v4.rb", line 2, in <top (required)>
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb", line 292, in require
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb", line 292, in block in require
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb", line 258, in load_dependency
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb", line 292, in require
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/faraday_middleware-aws-signers-v4-0.2.0.beta/lib/faraday_middleware/aws_signers_v4.rb", line 7, in block in module:FaradayMiddleware
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/faraday-0.13.1/lib/faraday.rb", line 213, in block in load_middleware
File "/opt/rubies/ruby-2.3.4/lib/ruby/2.3.0/monitor.rb", line 214, in mon_synchronize
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/faraday-0.13.1/lib/faraday.rb", line 195, in middleware_mutex
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/faraday-0.13.1/lib/faraday.rb", line 212, in load_middleware
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/faraday-0.13.1/lib/faraday.rb", line 186, in lookup_middleware
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/faraday-0.13.1/lib/faraday/rack_builder.rb", line 226, in use_symbol
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/faraday-0.13.1/lib/faraday/rack_builder.rb", line 93, in request
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/searchkick-2.3.1/lib/searchkick.rb", line 59, in block in client
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/client.rb", line 115, in block in initialize
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/faraday-0.13.1/lib/faraday/connection.rb", line 88, in initialize
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/http/faraday.rb", line 38, in new
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/http/faraday.rb", line 38, in __build_connection
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/base.rb", line 138, in block in __build_connections
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/base.rb", line 130, in map
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/base.rb", line 130, in __build_connections
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/base.rb", line 40, in initialize
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/client.rb", line 114, in new
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/client.rb", line 114, in initialize
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport.rb", line 26, in new
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport.rb", line 26, in new
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/searchkick-2.3.1/lib/searchkick.rb", line 54, in client
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/searchkick-2.3.1/lib/searchkick/query.rb", line 198, in execute_search
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/searchkick-2.3.1/lib/searchkick/logging.rb", line 13, in block in execute_search
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/notifications.rb", line 166, in block in instrument
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/notifications/instrumenter.rb", line 21, in instrument
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/activesupport-5.1.3/lib/active_support/notifications.rb", line 166, in instrument
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/searchkick-2.3.1/lib/searchkick/logging.rb", line 12, in execute_search
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/searchkick-2.3.1/lib/searchkick/query.rb", line 81, in execute
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/searchkick-2.3.1/lib/searchkick.rb", line 100, in search
File "/opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/searchkick-2.3.1/lib/searchkick/model.rb", line 29, in searchkick_search
File "/var/app/current/lib/tasks/reindex_if_necessary.rake", line 13, in block (3 levels) in <top (required)>`

😢
Thank you so much for your report!
I can not fix it right away...
please wait for a few days.
I will investigate the cause.

I released v0.1.8 using aws-sdk v2.

Currently, I am developing a new gem for aws-sdk-v3.
This gem does not support aws-sdk-v3.
see https://github.com/winebarrel/faraday_middleware-aws-sigv4
Please use v0.1.8 If you use aws-sdk-v2.


chore: Add Close to service

Description

References

Review Checklist

[ ] I have added documentation for new/changed functionality in this PR or in openfga.dev
[x] The correct base branch is being used, if not main

Codecov Report

Merging #15 (144c5e4) into main (6702e77) will increase coverage by 0.24%.
The diff coverage is 72.72%.

@@            Coverage Diff             @@
##             main      #15      +/-   ##
==========================================
+ Coverage   53.38%   53.62%   +0.24%
==========================================
  Files          25       25
  Lines        2465     2467       +2
==========================================
+ Hits         1316     1323       +7
+ Misses       1053     1048       -5
  Partials       96       96

Impacted Files
Coverage Δ

cmd/openfga/openfga.go
47.93% <72.72%> (+5.07%)
:arrow_up:

Continue to review full report at Codecov.

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


Unable to call dzsave: wrong number of arguments

Recently I upgraded libvips to 8.6.2 and ruby-vips to 2.0.9.
My scripts for generating image pyramids unfortunately stopped to work and the error I get is simply:
Vips::Error: unable to call dzsave: you supplied 3 arguments, but operation needs 2
However it should still work as I'm calling dzsave simply like this:
image.dzsave('/home/user/test', options)
If I call it like this, it works:
image.dzsave('/home/user/test')
but I need to supply the 'options' argument.
Is it still supposed to work like it used to or am I missing something?
Thanx

Hello @sickrandir, there were some very minor changes, and ruby-vips now supports named parameters, but it should still work. I made an example:
require 'vips'

im = Vips::Image.new_from_file ARGV[0]

puts "saving to x1 .."
im.dzsave "x"

puts "saving to x2 with an option .."
im.dzsave "x2", overlap: 2

puts "saving to x3 with a hash of options .."
options = {overlap: 2}
im.dzsave "x3", options

What code is failing for you, and what was the previous version you used?

Thanks for the fast answer! Using your code I realized that the problem could be in the ruby upgrade that I also did (2.2.3 to 2.3.6), not in ruby-vips.
My code was quite old and I defined the opts hash the old ruby way:
opts = { "overlap" => 2, "tile_size" => 512}
If I define it like this:
opts = {overlap: 2, tile_size: 512}
the line of code:
image.dzsave '/home/user/test', opts
starts to work again!
Thanx

Huh strange, this works for me:
require 'vips'

im = Vips::Image.new_from_file ARGV[0]

puts "saving to x1 .."
im.dzsave "x"

puts "saving to x2 with an option .."
im.dzsave "x2", overlap: 2, tile_size: 512

puts "saving to x3 with a hash of options .."
options = {overlap: 2, tile_size: 512}
im.dzsave "x3", options

puts "saving to x4 with an old-style hash of options .."
options = {:overlap => 2, :tile_size => 512}
im.dzsave "x4", options

With ruby 2.3.3.

Sorry for not answering for so long. The code you posted worked also for me. It's the version with strings as keys that does't work anymore for me:
{ "overlap" => 2, "tile_size" => 512}
I changed the definition and all it's working.
Thanx

Ah, I see! Yes, that makes sense, I should have thought of it. Yes, Symbols are required now, I think.


Botty No Longer Detects D2R Window When Running on Host and D2R Running in VM

Botty Version
Current master as of 2022-02-17
Describe the bug
Botty can't detect the D2:R window. I reported this would be a problem.  For reference here:
https://github.com/aeon0/botty/pull/453
It is related to that PR and other changes with python using the Win32 api instead of templates.
To Reproduce
Steps to reproduce the behavior:

Start botty.
It fails to detect the D2:R window.

Expected behavior
It detects the D2:R window.
Additional info
@AlekseyLesnoy, @VladimirMakaev, @mgleed  I thought the agreed approach was that the Win32 api would be used first and if it failed it would default back to the old method.  It is not defaulting back to the old method.  Instead, it doesn't find the window at all and cannot start.  I am only finding this now because my VM and other host machine are running compiled versions which I didn't update until today.
Potentially related commits or pulls
https://github.com/aeon0/botty/commit/95c4431206548475c8ec66d9443dd2b6dd46807e
https://github.com/aeon0/botty/pull/483

@aeon0 decided to remove asset matching support in this commit to simplify the code and also removed monitor configuration requirements
https://github.com/aeon0/botty/commit/8907a46073d65d108f556957247ba227431733e1

if the goal of the pixel bot was to be undetectable a vm won't ever be able to detect a process, sdk, or anything on its host.  that's my use case; to be extremely undetectable.  the only option for detection would be forensics on mouse movement and character behavior.
mouse and keyboard won't passthrough unless you run python/botty from an elevated command prompt so open a command prompt/powershell as adminstrator.

@codahq Not trying to be that guy, but what's the advantage / point to sending mouse and keyboard inputs from your host into the VM?
In an ideal setup, imo, Botty should be running within the VM that way you can close it and let it do its own thing without overriding your host.

@Ezro WinAPI events from our keyboard & mouse can be detected that are not coming from physical device, which can theoretically flag activity for botting. By using VM you'd channel the input through the virtual drivers that would be detected by the game as actual input devices. So the game would have 0 way to detect if any mouse or keyboard automation is used. I'm actually interested in the use case myself as it's a good way to develop and test changes on multiple accounts simultaneusly.

@codahq are you using Hyper-V window? I'm thinking of a fix that would allow to configure a window to search. E.g. by title or by process.

yes, i'm using hyper-v since it's the cheapest, most available way to setup gpu partitioning.

@codahq Not trying to be that guy, but what's the advantage / point to sending mouse and keyboard inputs from your host into the VM?
In an ideal setup, imo, Botty should be running within the VM that way you can close it and let it do its own thing without overriding your host.

are you trolling because i just answered this.  my comment above i already explained this.  in the future if the d2:r executable or b.net launcher implemented more detection features they would potentially be able to scan for active processes, executables or sdks, etc. on the system where d2r runs.  if it's not running on the system because it's running on the host it won't be detected that way.
maybe your ideal setup is running everything in the same vm but it is not mine.  i've been running botty for a long time with d2r in a vm and botty on the host.  the commit https://github.com/aeon0/botty/commit/8907a46073d65d108f556957247ba227431733e1 as VladimirMakaev pointed out changed that.

@codahq are you using Hyper-V window? I'm thinking of a fix that would allow to configure a window to search. E.g. by title or by process.

yes, i'm using hyper-v since it's the cheapest, most available way to setup gpu partitioning.

@codahq Not trying to be that guy, but what's the advantage / point to sending mouse and keyboard inputs from your host into the VM?
In an ideal setup, imo, Botty should be running within the VM that way you can close it and let it do its own thing without overriding your host.

i just answered this.  my comment above i already explained this.  in the future if the d2:r executable or b.net launcher implemented more detection features they would potentially be able to scan for active processes, executables or sdks, etc. on the system where d2r runs.  if it's not running on the system because it's running on the host it won't be detected that way.
maybe your ideal setup is running everything in the same vm but it is not mine.  i've been running botty for a long time with d2r in a vm and botty on the host.  the commit https://github.com/aeon0/botty/commit/8907a46073d65d108f556957247ba227431733e1 as VladimirMakaev pointed out changed that.

@Ezro WinAPI events from our keyboard & mouse can be detected that are not coming from physical device, which can theoretically flag activity for botting. By using VM you'd channel the input through the virtual drivers that would be detected by the game as actual input devices. So the game would have 0 way to detect if any mouse or keyboard automation is used. I'm actually interested in the use case myself as it's a good way to develop and test changes on multiple accounts simultaneusly.

@VladimirMakaev @codahq
Here's a simple keylogger to output the WinAPI SetWindowsHookExA (wrapped by keyboard lib):
import keyboard
import os

keyboard.add_hotkey('f12', lambda: os._exit(1))

def print_pressed_keys(e):
    print(f'{code for code in keyboard._pressed_events}\t{e}')

keyboard.hook(print_pressed_keys)
keyboard.wait()

From me running the keylogger and Botty, I can see that the keystrokes look identical:
# Botty
<generator object print_pressed_keys.<locals>.<genexpr> at 0x000001FDAC5D6200>  KeyboardEvent(g down)
<generator object print_pressed_keys.<locals>.<genexpr> at 0x000001FDAC5D6200>  KeyboardEvent(g up)
<generator object print_pressed_keys.<locals>.<genexpr> at 0x000001FDAC5D6200>  KeyboardEvent(f down)
<generator object print_pressed_keys.<locals>.<genexpr> at 0x000001FDAC5D6200>  KeyboardEvent(f up)
# Me
<generator object print_pressed_keys.<locals>.<genexpr> at 0x000001FDAC5D6200>  KeyboardEvent(f down)
<generator object print_pressed_keys.<locals>.<genexpr> at 0x000001FDAC5D6200>  KeyboardEvent(f up)
<generator object print_pressed_keys.<locals>.<genexpr> at 0x000001FDAC5D6200>  KeyboardEvent(g down)
<generator object print_pressed_keys.<locals>.<genexpr> at 0x000001FDAC5D6200>  KeyboardEvent(g up)

Do we have any evidence or way to prove that the inputs are detectable?

@Ezro https://github.com/boppreh/keyboard/issues/21

i didn't mention inputs but i thought it was a very interesting additional detection method that could potentially be leveraged.  i'm referring more to common cheat detection methods.  like pb for example would basically act like a virus scanner and scan the hard drive.  or vac scans memory and processes and uses signing code detection.  if it's not on the system it's not going to be detected and it doesn't matter how innovative blizzard gets because it just won't be there to detect.  the only option they would have for detection would be forensics.  don't focus on just the inputs because while that's also an important aspect it's bigger than that.

My personal usecase for this is 1 window with a paladin, another window with a sorc on different accounts. And I'm testing code on one or another without relogin

Both of those makes a lot of sense. Thanks for the explanation

@codahq Please test if PR is solving a problem for you. Also checkout how to configure settings for this

@codahq Please test if PR is solving a problem for you. Also checkout how to configure settings for this

@VladimirMakaev yeah, the pr fixes the issue of finding the window and gets me back up and running.  i really appreciate the willingness here to provide something to accommodate this existing use case.
i wish i had collected some data on the compiled version of 0.6.4 before i switched to pulling branches because it feels like i'm having more issues related to performance afterwards.  but i've also introduced a lot of variation that could be throwing that off.  i switched from my fake lightning sorceress to a teleporting hammerdin.  and i'm obviously coming from 0.6.4 to 0.6.7.  is OCR running now along side template matching?  or is having to using an offset or anything done for this PR potentially adding more processing time?  i feel like every time it searches for a lot of templates (like chaos navigation) or does a lot of looting like the platforms in chaos i get more slowdowns than i did on the sorc.  is that possible or am i just worrying too much?

I'll close this issue as the problem is #resolved now and it's merged into master. I'd try to decompose the other concern you've raised and submit a specific issue with description / comparison. But in the nutshell a bunch of things changed between releases and it's been a long time so there could as well be a performance problem that we don't know about


Duplicate code in the project-structure and repositories plugins

The code to include subprojects is both in org.example.project-structure.settings.gradle.kts and in org.example.repositories.settings.gradle.kts, so I think it should be removed from the repositories plugin.
Thanks.

Thanks for letting me know! Fixed now.


Acker function does not support basicReject

The Acker only allows for Ack and NAck, but not Reject
https://github.com/profunktor/fs2-rabbit/blob/f5012a889ff5468e2d69c7cbe2a1cbbdf2793ca1/core/src/main/scala/dev/profunktor/fs2rabbit/program/AckingProgram.scala#L40

See https://www.rabbitmq.com/api-guide.html#recovery-and-acknowledgements for discussion of basicReject. Reject is useful for supporting deadletter exchanges

This should be fairly easy to add :wink:

PR here https://github.com/profunktor/fs2-rabbit/pull/301 :-)


obsidian: 0.13.31 -> 0.14.2

Description of changes

https://github.com/obsidianmd/obsidian-releases/releases/tag/v0.14.2
filename for darwin needed updating (obsidian -> Obsidian)
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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 166186 run on aarch64-darwin 1

1 package built:

obsidian


Polyglot Array type mismatch leads to a confusing Type Error

This task is automatically imported from the old Task Issue Board and it was originally created by Radosław Waśko.
Original issue is here.

Steps to reproduce

Create a new project.
Put the following code at polyglot/java/foo/bar/Foo.java:package bar;

public class Foo {
    public static void bar(String[] strs) {
        for(String s : strs) {
            System.out.println(s);
        }
    }
}

Put the following code at src/Main.enso:from Standard.Base import all

polyglot java import bar.Foo

main =
   Foo.bar [1,2,3].to_array

Expected
A type error that explains that an array of String was expected but an array of Long/long has been provided.
It may not be possible to find out that its String[] that is required, due to the complexity of method overloading and multiple alternatives being available. So I'm not sure what a good solution here is, but the way it is displayed currently leads to confusion. Maybe at least adding the type of elements in the array - Unsupported argument types: [Array of Long] would make it a bit clear that - 'yes we have an array but its underlying type is wrong'.
Actual
Execution finished with an error: Unsupported argument types: [Array]
        at <enso> Main.main(src/Main.enso:6:4-27)

An error which says that the method has got an unsupported argument type "Array". But the type of expected argument is array. The real difference is in the type of elements which does not match the expected type.
Comments:
Changing the Java signature to public static void bar(java.util.List<String> strs) would solve the problem, I guess. This is deeply in the Truffle Host Java Interop and changing this to work with String[] isn't easy. Either a patch to Truffle or maybe targetTypeMapping. (jaroslavtulach - Aug 15, 2022)

Seems like this is no longer an issue. On the latest develop (https://github.com/enso-org/enso/commit/1f8511dab2d3cf6c49c959f71b180f9c4bd40995), the actual error message is:
Execution finished with an error: Cannot convert '1'(language: Java, type: java.lang.Long) to Java type 'java.lang.String': Invalid or lossy primitive coercion.
        at <java> org.graalvm.truffle/com.oracle.truffle.host.HostEngineException.classCast(HostEngineException.java:65)
        at <java> org.graalvm.truffle/com.oracle.truffle.host.HostInteropErrors.cannotConvertPrimitive(HostInteropErrors.java:69)
        at <java> org.graalvm.truffle/com.oracle.truffle.host.HostToTypeNode.convertImpl(HostToTypeNode.java:218)
        at <java> org.graalvm.truffle/com.oracle.truffle.host.HostToTypeNode.doCached(HostToTypeNode.java:119)
        at <java> org.graalvm.truffle/com.oracle.truffle.host.HostToTypeNodeGen.executeAndSpecialize(HostToTypeNodeGen.java:92)
        at <java> org.graalvm.truffle/com.oracle.truffle.host.HostToTypeNodeGen.execute(HostToTypeNodeGen.java:51)
        at <java> org.graalvm.truffle/com.oracle.truffle.host.HostLanguageService.toHostType(HostLanguageService.java:130)
        at <java> org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotToHostNode.doDefault(PolyglotToHostNode.java:59)
        at <java> org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotToHostNodeGen.executeAndSpecialize(PolyglotToHostNodeGen.java:44)
        at <java> org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotToHostNodeGen.execute(PolyglotToHostNodeGen.java:30)
        at <java> org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotList$Cache$GetNode.doCached(PolyglotList.java:296)
        at <java> org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotListFactory$CacheFactory$GetNodeGen.executeAndSpecialize(PolyglotListFactory.java:271)
        at <java> org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotListFactory$CacheFactory$GetNodeGen.executeImpl(PolyglotListFactory.java:219)
        at <java> org.graalvm.truffle/com.oracle.truffle.polyglot.HostToGuestRootNode.execute(HostToGuestRootNode.java:124)
        at <java> org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotList.get(PolyglotList.java:104)
        at <java> java.base/java.util.AbstractList$Itr.next(AbstractList.java:371)
        at <java> bar.Foo.bar(Foo.java:7)
        at <enso> Main.main(src/Main.enso:7:5-28)

which is not confusing any more. Closing as "no longer an issue".


swaylock: Handle possible fail on password realloc

This was briefly discussed in #527 and I had this in my stash so I might as well push it.
It makes things a bit safer regarding the password buffer in swaylock, so you can't crash swaylock by filling up the memory with a really long password.

Good call. I like this approach.

I'm still not sure why we even want a buffer of more that 1024 bytes, but I guess someone could have some fancy device that can enter a really long password.  I don't see any reason not to support the edge case.

true


vscode.dev PWA fails to start offline after cached file expires

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.65.2 (vscode.dev)
OS Version: Chrome OS 99.0.4844.86 (Platform 14469.58.0)

Steps to Reproduce:

Open the VS Code PWA
Disconnect internet
Reset the cache by waiting about 30 minutes (or the browers default cache time) or by clearing cached files in the clearing the browser history page
refresh the page (not using Ctrl + Shift + R)
Error occurs

Error Screenshot:

I believe this can be mostly solved by setting a Cache-Control http header for the js file with a max-age of 2592000 (30 days), and immutable, so that reloading it does not reset the cache.

Hi @joyceerhl,
I'm using it to edit a local folder.

Yes, here is a screenshot:

The file path does not appear here.

Very interesting. When vscode.dev starts up, you should see a few log messages from SW like this:

What does yours show?

It's looks similar, except for these error messages. I noticed that the first one is the same file that is not being cached:

Got it. This is an issue with our CDN, which is currently resolved in https://insiders.vscode.dev and will be released next month on https://vscode.dev.


Background color of non-editor tabs depends on most recently focused editor

For example, when I open Light Table, the welcome screen has a dark background.  If I open a file that uses a theme with a light background and switch back to the welcome screen, it now has a light background.  If I open another file with a theme with a dark background, the welcome screen will take the background of the most recently focused editor.
This doesn't break anything, but it is a bit disconcerting.

I've confirmed this on osx 10.10 with two differently themed files and the plugin manager. I used the following user.behaviors:
 [:editor :lt.objs.style/set-theme "solarized"]
 [:editor.cljs :lt.objs.style/set-theme "xq-light"]

I noticed that the plugin manager only took on the background color of the previous editor tab when I clicked between them. If I switched tabs via keyboard e.g. Cmd-Shift-[], the plugin manager retained the correct background color. Since the bug is only triggered when clicking between tabs, the light background tab doesn't have to be adjacent to the plugin manager.


Created container with Ubuntu20.04

Signed-off-by: Mohammad Abdul Awal<EMAIL_ADDRESS>

@vsureshkumarp , I have pushed another revision. Please have a look. Thanks.


feat: Add ScottPlot Uno Platform QuickStart

Add ScottPlot Uno Platform QuickStart
Related PR: feat: Add Uno Platform Sandbox and Quickstart links

Hi @swharden, let me know if you need anything else for this PR please

Thanks a lot for merging the changes @swharden!


ERROR: No video formats found; please report this issue on https://yt-dl.org/bug - (2020.03.24-1.fc32)

[dennis@localhost Audio Files]$ youtube-dl -x --audio-quality 0 --audio-format mp3 -o "Omid (Hope) - Thievery Corporation.%(ext)s" https://youtu.be/NCnQEA-eI30
[youtube] NCnQEA-eI30: Downloading webpage
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
[dennis@localhost Audio Files]$ youtube-dl --verbose -x --audio-quality 0 --audio-format mp3 -o "Omid (Hope) - Thievery Corporation.%(ext)s" https://youtu.be/NCnQEA-eI30
[debug] System config: ['--prefer-free-formats']
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '-x', '--audio-quality', '0', '--audio-format', 'mp3', '-o', 'Omid (Hope) - Thievery Corporation.%(ext)s', 'https://youtu.be/NCnQEA-eI30']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2020.03.24
[debug] Python version 3.8.3 (CPython) - Linux-5.6.14-300.fc32.x86_64-x86_64-with-glibc2.2.5
[debug] exe versions: ffmpeg 4.2.3, ffprobe 4.2.3
[debug] Proxy map: {}
[youtube] NCnQEA-eI30: Downloading webpage
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 796, in extract_info
ie_result = ie.extract(url)
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/common.py", line 530, in extract
ie_result = self._real_extract(url)
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 2364, in _real_extract
self._sort_formats(formats)
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/common.py", line 1327, in _sort_formats
raise ExtractorError('No video formats found')
youtube_dl.utils.ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
[dennis@localhost Audio Files]$

Thanks - my use case is fixed with /2020.05.29/ I'll let the Fedora maintainer know.