Pseudo repository support for any kind of files

Request details
It might be awesome to have extended webdav support, as some artifacts are only zip files.
Also it would be awesome if each directory with artifacts has something like a meta.xml. Which keeps track of the latest package + hashing.
So each time a new upload was successful, it's possible to keep the track of the latest zip release.
This came in my mind as I want to upload my web client to a repository. With the same advantages like a maven repo.

I don't know much about webdav 🤔 It sounds a little bit complex, do you know about requirements and why do you think it could be helpful particularly in terms of Maven-based projects?

Hi @dzikoysk
Well, it needn't be webdav specially. Webdav might be really too complicated as you would save the artefacts on filesystem and expose them like remote filesystem. (davfs)
But something like a common repository for zip files would be helpful.
It's helpfully as developers have often various kinds of artefacts, not only jars. It would be helpful if I develop for example a client application for different kind of operating systems. I could bundle them individually but keep them together as one version. That's how I would imagine it:
Directory structure:
/release/my/project/client/xxx
myclient-linux-xxx.zip
myclient-windows-xxx.zip
myclient-web-xxx.zip
meta.xml

meta.xml:
// it keeps track of the lastest releases like for maven repositories.

I think this kind of feature is quite specific and dependent on given scenario - in general Reposilite allows you to upload any file atm to the repository, so such behavior should be probably implemented on the client side, just like e.g. Maven client. So client deploys not only those zip files, but also generates meta.xml (with metadata about those files and probably even more data you can configure during build phase) and Reposilite just stores it, so this kind of logic in a part of client and server stays quite generic. Not sure how you're deploying those files, but e.g. Gradle is pretty convenient solution for customizing any part of your build process, so you could probably write a script/plugin that handles it and it should work way better than any logic on server.

The meta.xml I assume is generated by the server currently, isn't it? I would see to update this meta.xml to updated by server, not client. As the client doesn't know the current versions. Do you know what I mean? Sure, uploading isn't a problem. I could upload a bunch of files, no matter gradle or via REST. But keep track of the current files, I would assume that the server update those meta informations.

maven-metadata.xml files are generated by Maven client, not server, that's the procedure:

User runs deployment
Maven downloads current metadata files from repository
Maven reads downloaded metadata files and adds new necessary stuff about new files
Maven deploys updated metadata files as well as other files

Reposilite, and any other repository manager, is not modyfing metadata files as it's not its responsibility. That's healthy, because it reduces a need to "guess" what clients meant when they've uploaded specified files.

So actually it means I would need to create a plugin for different buildsystems. That's what my ticket is about. It's not about maven here. It's about a simple routine here to upload generic files. (It can be a Reposilite/Javaline plugin)
Procedure:
I upload my testicals via rest against something like PUT /api/upload/{the repo}/{version}/file.
It gets the file, it updates the meta.xml and as it knows which repo and version.
And with GET /api/upload/{the repo}/version or whatever I can retrieve the current files.
With another API like GET /api/download/{the repo}/{version} or even GET /api/donwload/{the repo}/{file}/latest I could download it. file = 'myclient-linux'
I hope it's more clear why it doesn't work on client side. It's too generic for maven/gradle. As Flutter/Bazel/Cmake or what ever doesn't work with it.

I feel like you're more comfortable with this topic than I am, would you like to try to prototype this as plugin? In theory you should be able to listen for DeployEvent and generate some kind of metadata file on top of that.

I could try. :)

What's the status of this issue? :)

@dzikoysk that's a good question! I hope I've got time next week in my vacations. Then I'll be home and got a quiet place for coding. :D

I am also searching for a generic solution like this issue ticket.
It would be nice to see everything as a generic artifact.
And then, if we need maven, we can enable maven registry plugin.
If we need docker, we can enable docker registry plugin.
If we need npm, we can enable npm registry plugin.
Etc.
Basically, it would be nice to have a "universal build artifact management" system like https://cloud.google.com/artifact-registry, but open-source, lightweight and self-host.

By default, Reposilite does not generate any kind of files, so as long as there's no such requirement from given build system, it basically may work like that. Unfortunately, some ecosystems (like e.g. OCI - e.g. Docker) require dedicated API, and it'd require probably quite a lot of work to cover all of that (#1618). As far as I remember, this issue is about adding some extra metadata for non Maven builds, but I think it could be covered with 3rd party plugin these days 🤔.

I know, each ecosystem requires a lot of stuffs, so the artifacts will work with other tools of the same ecosystem. That's why I think Reposilite should be generic at least first.
And then, each ecosystem should be a separated plugin.
By the time, the community will develop all plugins for each ecosystem.

By default, Reposilite does not generate any kind of files, so as long as there's no such requirement from given build system, it basically may work like that.

Maybe I didn't understand Reposilite. So, do you mean, actually generic artifact will work already with Reposilite? Do I need gradle or maven to work with generic artifact?

I know, each ecosystem requires a lot of stuffs, so the artifacts will work with other tools of the same ecosystem. That's why I think Reposilite should be generic at least first.
And then, each ecosystem should be a separated plugin.
Given enough time, the community will develop all plugins for each ecosystem.
For undeveloped ecosystem, at least, we can have a generic artifact type as a workaround until there's a plugin.

That's how it's implemented atm, our storage system is an independent implementation that can be used by other plugins:

https://github.com/dzikoysk/reposilite/tree/main/reposilite-backend/src/main/kotlin/com/reposilite/storage

And Maven integration is implemented as a plugin on top of that:

https://github.com/dzikoysk/reposilite/tree/main/reposilite-backend/src/main/kotlin/com/reposilite/maven
https://github.com/dzikoysk/reposilite/blob/main/reposilite-backend/src/main/kotlin/com/reposilite/maven/application/MavenPlugin.kt

Ofc UI is written with an assumption that there's just Maven atm, because that's our primary target, but that's something that we could work on if needed.

Maybe I didn't understand Reposilite. So, do you mean, actually generic artifact will work already with Reposilite? Do I need gradle or maven to work with generic artifact?

All you need to upload content to Reposilite is to make PUT/POST (we support both even tho Maven uses only PUT) with credentials (token + secret) specified as basic auth and it'll accept anything you'd like to put in given repository. Example:

https://maven.reposilite.com/files/assets/twitter.gif

Oh, nice! Then, this is exactly the solution I need.
Thanks for your very quick replies and detailed answers!!!
I am going to try Reposilite next week for my home lab.

Sure, let me know how it works for you. Even if Reposilite won't fulfill your requirements, it could be nice to have some kind of feedback that we could reconsider during e.g. Reposilite 4.x etc. :)

Sure, let me know how it works for you. Even if Reposilite won't fulfill your requirements, it could be nice to have some kind of feedback that we could reconsider during e.g. Reposilite 4.x etc. :)

I did a quick try and I like Reposilite. However, I think it would be nicer if Reposilite could learn from https://docs.gitea.com/next/usage/packages/overview
So, basically for home lab, I think the best option would be just using gitea, which could be used for 3 purposes at once: git repository, artifact repository and CI.
For more complicated setup requirements, such as small business, we could

replace gitea packages with Reposilite (when it's similar or better than gitea packages)
replace gitea actions with ex. Drone

Well, by default Reposilite targets jvm projects and that's the priority - I need to filter feature requests, because I'm simply unable to provide a good support for all of these tools. Build tools that don't require any extra handling should work ootb, but Integrations like e.g. containers (OCI) brings a whole new spec. Atm I can only say, that they're plans to support containers & npm, I just didn't have time for it yet.

I feel like this issue is a bit outdated & doesn't request a particular feature. Reposilite is able to host non-Maven related files, so in general it can be used as a generic repository for any kind of files. If someone has some issues related to that area, feel free to open a new issue that is focused on a specific use-case - it'll be easier to figure out further steps for us in terms of that support :)


Remove the old Redis dependency

We're adding a new dependency in #3536 for 2.2.
In 3.0, let's remove Microsoft.AspNetCore.DataProtection.Redis package.
cc @anurse @Tratcher @DamianEdwards @Eilon

We never shipped Microsoft.AspNetCore.DataProtection.Redis so we just renamed it in 2.2. No work left here.


How do we restrict OpenCL to use ARM CPU only, vs. Mali only?

If we want to benchmark performance that we get from OpenCL kernels making only the CPU, and then only the GPU, or both, any suggestions on that?
PS: Great job! The embedded world needed this.

Hi,
Thanks for your support !
By default the library will use the default cl::Context and default cl::CommandQueue
We haven't actually tried that, but I imagine it should be as simple as setting the cl::CommandQueue and cl::Context manually at the beginning of your test:
    CLScheduler::get().default_init();
    cl::Context context( CL_DEVICE_TYPE_CPU ); /* or CL_DEVICE_TYPE_GPU */
    cl::CommandQueue queue( context);
    CLScheduler::get().init(context, queue);

Let me know if this does what you want.
Using both at the same time will be more tricky as currently the Runtime scheduler will use only a single queue. However this would be definitely possible if you were using the library at the Core level (i.e only the CLKernels not the CLFunctions) but that would be more work.
Hope this helps,

Please reopen if it doesn't solve your problem


Feature request: customizable drag and select triggers

I'd like to prioritize box selection over dragging the canvas, but allow both of them. To do that, I'd like to be able to appoint left mouse button drag to box selection (which is now shift-lmb-drag) and middle mouse button drag to canvas move (which is not lmb-drag).
I can imagine this being a configurable option though

Got here looking for the same feature

+1
Middle mouse to pan the canvas would be super useful for us.

Thanks for this feature request. We could add a property for configuring the mouse button to drag the pane quite easily as d3-zoom already supports this. Open questions:

Should we really expose the option for the middle mouse button? This won't work on trackpads etc.
How should we call the new prop? Something like dragPaneMouseButton? Maybe there is a better idea.
What options should this prop accept? 0 (left), 1 (center), 2 (right)?

How about exposing a function via a hook. Any advanced scenario can then be
implemented by the user.
For example, by using use-gesture https://use-gesture.netlify.app/
On Mon, Aug 8, 2022, 16:49 Alex L @.***> wrote:

Thanks for this feature request. We could add a property for configuring
the mouse button to drag the pane quite easily as d3-zoom already supports
this. Open questions:

Should we really expose the option for the middle mouse button? This
won't work on trackpads etc.
How should we call the new prop? Something like dragPaneMouseButton?
Maybe there is a better idea.
What options should this prop accept? 0 (left), 1 (center), 2
(right)?

Hi @chrtze https://github.com/chrtze, thanks for the response. For our
use case we actually would want to use both the left mouse and the middle
mouse to pan under slightly different circumstances.

Left mouse click & drag: this pans when clicking & dragging on the
background canvas. Left clicking on a node moves the node around the canvas.
Middle mouse click & drag: this is an explicit pan & drag for
mouse users, so clicking on a node and dragging does not move the node, it
drags the entire canvas. For trackpad users they get this functionality
from 2 finger swiping.

This seems to be a fairly common behaviour on canvas style apps, I think?
So for us, I suppose maybe the flag would be a boolean like
panOnMiddleMouseDrag, but that seems pretty specific. Maybe panOnMouseDrag
that accepts an array. e.g. [0, 1, 2] with default as [1], or ['left',
'middle', 'right'] with default ['left']. Naming is hard 😄
—
Reply to this email directly, view it on GitHub
https://github.com/wbkd/react-flow/issues/1767#issuecomment-1208229702,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACJ5ZP2YHEOHJD2DCNWF7LVYEM7BANCNFSM5KBVCPQQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


how to change the swig type to types in c#

Description:

RDKit Version: 2017.9 alpha from nuget
Platform: win 7

how to output the type of SWIGTYPE_p_std__vectorT_unsigned_int_t

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            RDKit.Initialize();
            RWMol mol = RWMol.MolFromSmiles("C1CCCC1");
            uint num = mol.getNumBonds();
            double mw = RDKFuncs.calcMolLogP(mol);
            uint ringnum= RDKFuncs.calcNumRings(mol);
            SWIGTYPE_p_std__vectorT_unsigned_int_t hehe = RDKFuncs.calcMQNs(mol);
            Console.WriteLine(num);
            Console.WriteLine(hehe);

        }
    }
}

output:
5
GraphMolWrap.SWIGTYPE_p_std__vectorT_unsigned_int_t

@greatlse It looks like this isn't properly wrapped in C#.  I can take a look in a few days and see if I can resolve this, and I assume, some other missing wrappings.

It’s a bit strange, because the java build uses exactly the same code and that works fine for me on windows

Of course, I am building from github and this is an old build

But the same thing happens to me when I build the csharp wrappers from the github modern_cxx builds.


Equip CrackShot Guns via Command

It would be extremely useful if there was a way to equip Sentinel NPCs with CrackShot weapons outside of manually running /npc equip, i.e. especially in cases where NPCs and Sentinels are created via console. Please correct me if I'm wrong, but I believe there's currently no other way to equip weapons other than a player needing to do so by hand?
Much appreciated.

Write a Denizen script + use the equip command + probably an item script to represent whatever additional data CrackShot needs.
https://guide.denizenscript.com/


Jupyter book build issue - causing nightly build to fail

In the nightly build in this repo as well as other cookbooks, the Jupyter Book build step is failing with an error coming from Sphinx (full error here):
AttributeError: module 'docutils.nodes' has no attribute 'meta'

Thanks for the report @rmshkv, I noticed this too.
I'm not sure if this is related to issues with our Sphinx theme ( https://github.com/ProjectPythia/sphinx-pythia-theme/issues/39). @erogluorhan has been working on getting the theme up to date (https://github.com/ProjectPythia/sphinx-pythia-theme/pull/58).

i'll take a look ASAP

Looks like that when pip is installing our creaky old sphinx-pythia-theme, it is now updating the various sphinxcontrib libraries that are pinned in the conda environment from ProjectPythia/cookbook-actions#92 . Wonder if there is a way to pin libraries in pip as well?

I'm not pip expert, but I think that is usually done in the requirements.txt file.
This is an unforunately legacy of the fact that the conda-forge recipe for our sphinx theme has been broken for years.

It's becoming more and more clear to me that we need to find a way to separate the environment description for the book build from the environment description for the notebook execution.
The first is generic and should be identical for every cookbook. It should be contained within a "Cookbook Infrastructure" package that can be maintained and versioned independently of the content of each Cookbook.
Whatever temporary fix we come up with here (possibly like https://github.com/ProjectPythia/ERA5_interactive-cookbook/pull/9) is going to need to be propagated across every existing Cookbook repo -- and then removed again once the upstream dependency issues get sorted out.
Related to #118 and https://github.com/ProjectPythia/cookbook-gallery/issues/86

Assuming we can deploy a new sphinx-pythia-theme in conda-forge that has appropriate dependencies which play nicely with current versions of Sphinx and Jupyterbook, I think the only "book-specific" packages that we would need are jupyter-book and sphinx-pythia-theme. But that assumes of course that the new sphinx-pythia-theme does not again fall victim to obsolescence, necessitating ever-more complicated pins!

Any fixes for this? I'm trying to update https://github.com/ProjectPythia/cookbook-template/issues/160 and not sure how to proceed; should I merge with this broken?

@ahuang11  let's see how @erogluorhan 's work with ProjectPythia/sphinx-pythia-theme#58 looks with this cookbook.

I think we can close this now as we've update our Pythia theme, which has fixed this and several other repos' nightly builds. See the discussion for more information about the theme update.

Hey @rmshkv, for using the updated theme in your ongoing cookbook work, please do not forget to check out the How to transition existing cookbooks part of the discussion to see how cookbook-template has been updated to start using the updated theme.


I dont understand how to install it

Can you explain me how to install this extension, please?

same

ahh nevermind i realize how to use it lol

ahh nevermind i realize how to use it lol

How did you get it working?

How does it work?


const references to floats do not work with object calls

The following was written in VS2013 in 64-bit:
void testFloat(const float& f, luabind::object& o)
{
    o(f);
}

static const char TEST_LUA[] =
"function testFloat(f)\n"
"    print('Out: ' .. tostring(f));\n"
"end";

int _tmain(int argc, _TCHAR* argv[])
{
    lua_State* L = lua_open();
    luaL_openlibs(L);
    int error = luaL_loadstring(L, TEST_LUA) || lua_pcall(L, 0, 0, 0);

    luabind::open(L);
    luabind::object obj = luabind::globals(L)["testFloat"];
    testFloat(1.0f, obj);

    system("pause");

    return 0;
}

This throws with "Trying to use unregistered: float const * __ptr64".
For whatever reason the float is being interpreted as a class instead of a primitive value.
Any idea how this can be fixed?

The default converter switch in native_converter.hpp doesn't match refs to native types to the native type converter. Refs to native can occur since perfect forwarding is in place.
At least const-ref should be allowed for cpp-to-lua (maybe even non-const-ref), but the other way around I would like to forbid, since it cannot achieve what the user might want to try (and would mean to keep an object for the lvalue-ref around on the stack during calls). Maybe a compilation error would be best then.
I will have a look.

Perfect forwarding doesn't appear to solve it because the specialization is not being chosen when the type is a reference.
I have tried modifying native_converter.hpp to specialize on const and const& (as you do with types like bool) for integral and floating-point types and it appears to fix the problem.
    template <typename T>
    struct default_converter < T const, typename std::enable_if< std::is_integral<T>::value >::type >
        : integer_converter<T>
    {
    };

    template <typename T>
    struct default_converter < T const&, typename std::enable_if< std::is_integral<T>::value >::type >
        : integer_converter<T>
    {
    };

    template <typename T>
    struct default_converter < T const, typename std::enable_if< std::is_floating_point<T>::value >::type >
        : number_converter<T>
    {
    };

    template <typename T>
    struct default_converter < T const&, typename std::enable_if< std::is_floating_point<T>::value >::type >
        : number_converter<T>
    {
    };

Does this make sense to you?

Yeah, that's what I meant, since perfect forwarding is in place, these refs show up at the converter switch, they were swallowed by call-by-value before I believe.
Anyways, ltjax was so nice as to send a pull-request with his changes, I believe this problem is amongst one of his fixes.

If it doesn't fix your problem, then I will have a look at your fix. Maybe to_cpp should be disabled in case of ref (and maybe const ref).

I don't entirely understand what was changed but it appears to have been solved in this latest pull. Thanks!


scala-exercises.org looks for snapshot versions

When evaluating any stdlib exercise, I get:
Evaluation failed : Unresolved Dependency : Error downloading org.scala-exercises:exercises-stdlib_2.13:0.6.0-SNAPSHOT not found: /app/.ivy2/local/org.scala-exercises/exercises-stdlib_2.13/0.6.0-SNAPSHOT/ivys/ivy.xml not found: https://repo1.maven.org/maven2/org/scala-exercises/exercises-stdlib_2.13/0.6.0-SNAPSHOT/exercises-stdlib_2.13-0.6.0-SNAPSHOT.pom not found: https://oss.sonatype.org/content/repositories/releases/org/scala-exercises/exercises-stdlib_2.13/0.6.0-SNAPSHOT/exercises-stdlib_2.13-0.6.0-SNAPSHOT.pom not found: https://oss.sonatype.org/content/repositories/snapshots/org/scala-exercises/exercises-stdlib_2.13/0.6.0-SNAPSHOT/exercises-stdlib_2.13-0.6.0-SNAPSHOT.pom
This actually seems to be true of circe and perhaps all exercises:
Evaluation failed : Unresolved Dependency : Error downloading org.scala-exercises:exercises-circe_2.13:0.6.0-SNAPSHOT not found: /app/.ivy2/local/org.scala-exercises/exercises-circe_2.13/0.6.0-SNAPSHOT/ivys/ivy.xml not found: https://repo1.maven.org/maven2/org/scala-exercises/exercises-circe_2.13/0.6.0-SNAPSHOT/exercises-circe_2.13-0.6.0-SNAPSHOT.pom not found: https://oss.sonatype.org/content/repositories/releases/org/scala-exercises/exercises-circe_2.13/0.6.0-SNAPSHOT/exercises-circe_2.13-0.6.0-SNAPSHOT.pom not found: https://oss.sonatype.org/content/repositories/snapshots/org/scala-exercises/exercises-circe_2.13/0.6.0-SNAPSHOT/exercises-circe_2.13-0.6.0-SNAPSHOT.pom

I can confirm that. None of the exercises are working anymore.

The pipeline is blocked at the moment because we can't do new final releases due to this issue. We are working on it to restore as soon as possible.

The issue has been fixed, could you please check again? Thanks.
Closing this for now.

Confirmed, this is fixed. Thanks!


feat(component): add Pagination

fix #39

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Data returned by apollo service query does not include __typename

When your query contains the __typename field is is stripped out.
This makes working with interfaces and store updates very hard.

This is likely caused by the way we're using Ember.copy to copy from the query result to an Ember.Object (copy ignores private fields like __typename, I think). Unfortunately it wouldn't be solved by #20 either. Is there a better way to copy so that such fields are preserved? Or do you have any ideas for how to bridge the gap between ApolloClient and Ember's object model?

@n1ru4l I guess the problem is with Ember.copy, that does not copy properties beginning with __. And it's used in the service because Apollo client returns a immutable object, but Ember expects an extensible object.

@bgentry if the object to be copied implements the Ember.Copyable interface, then Ember.copy will delegate to the object's copy() method and return the result. We could return an ApolloResultObject instead of a Ember.Object and implement Ember.Copyable. Our implementation could be the same of Ember.copy but copying __typename.
Or we could use JSON.parse(JSON.stringify(data)) instead.
@n1ru4l Could you try to alias __typename to something like typename?
query {
  myThing {
    otherThing
    typename: __typename
  }
}

The extensibility/immutability is one part of it. The other issue is that Ember needs to know when the result has changed (when to rerender/recompute), which gets handled automatically by copying into an Ember.Object.

@viniciussbs adding our own copy implementation seems like the most straightforward way to solve this as you said.

@n1ru4l I've tested a query using typename: __typename and it worked. You can change the alias to what fits better to your case. And if this solves your problem, I think we could include this into the README as a caveat while we don't have a proper solution.

I've opened a issue on Ember's repo because I think we should be able to tell Ember that some properties prefixed with __ are not some of its internal properties.

@viniciussbs Thank you for the workaround, I will try that tomorrow!

Looks like this will not get fixed any time soon. The workaround described by @viniciussbs does indeed work, nevertheless I would like to have a own copy implementation instead of mapping trough all objects when doing a optimistic response or similar.
I could do a PR for this.
@bgentry What is your opinion on usinge the Copyable Mixin which is marked as private?

There's a documentation for Ember.Copyable. But we could also save a copy function on addon/utils and use it.
I suggest we create something that could be used inside apps. I would use it inside my updateQuery reducers used inside fetchMore for pagination. That's where I ended up using JSON.parse(JSON.stringify(data)).
Here is an exemple of my macro that creates reduce functions for my Relay-style paginations:
import Ember from 'ember';

const { get, set } = Ember;

// HACK: `Ember.copy` ignores property `__typename` that Apollo relies on.
function copy(object) {
  return JSON.parse(JSON.stringify(object));
}

export default function pushEdges(connectionPath) {
  let edgesPath = `${connectionPath}.edges`;
  let cursorPath = `${connectionPath}.pageInfo.endCursor`;

  return (previousResult, { fetchMoreResult }) => {
    let newEdges = get(fetchMoreResult, edgesPath);
    let newCursor = get(fetchMoreResult, cursorPath);
    let newResult = copy(previousResult);

    if (newCursor) {
      set(newResult, cursorPath, newCursor);
    }

    get(newResult, edgesPath).pushObjects(newEdges);

    return newResult;
  };
}

@viniciussbs There is a documentation for it however it is marked as private, so I asked @locks and he confirmed that private mixins should not be used outside of ember-core. Since we would have to utilize Ember.Copyable to implement a custom copy function that reuses the Ember.copy implementation I do not think this is a good solution unless Ember.Copyable becomes public. Therefore the JSON.parse(JSON.stringify(object)) approach seems best to me unless there could be a more performant way to copy the object.

Stringify + parse would be way too inefficient. I'd rather whitelist specific additional keys to be copied if necessary.

@bgentry So would like to reimplement Ember.copy which relies on the marked as private Ember.Copyable?

We can call Ember.copy and then manually copy __typename. I can't say I like it, but I like it a lot more than stringifying and parsing again 🤷🏼♂

I guess the data object returned by Apollo is frozen, so we can't "rename" __typename.
We can use the default implementation and change it to copy whitelisted keys as @bgentry has suggested. We can remove the part that handles objects that implement Ember.Copyable because it's not our case.
Keys that could be whitelisted: meta fields and introspection fields.
// Original implementation

if (key.substring(0, 2) === '__') {
  continue;
}

// ember-apollo-client implementation

if (_isEmberInternalKey(key) && !_isGraphQLInternalKey(key)) {
  continue;
}

function _isEmberInternalKey(key) {
  return key.substring(0, 2) === '__';
}

function _isGraphQLKey(key) {
  let keys = [
    '__typename',
    // ...
  ];

  return keys.indexOf(key) !== -1;
}

@n1ru4l this is fixed in #44, please take a look if you can

@bgentry Project got trashed, I do not think that I will use this library anytime soon. Sorry :(


Update README.md

@LCCarmody this is just a demonstration that travis works now! Thanks. You can merge this irrelevant PR or reject (just a typo fixed), but take a look at https://travis-ci.org/monarch-initiative/MAxO


Support python 3.11

Python 3.11 changed the behavior of the format string for a class Foo(str, Enum) but also introduced a new class StrEnum that keeps the old behavior.
I added a ctapipe.compat module that encapsulates the version dependent behavior needed for ctapipe and added the previous implementation for StrEnum there.
Numba also needs to be at least 0.57 for python 3.11.

Seems we have to wait for a numba release adding python 3.11 support

just updated this to master - let's see if there are still issues

Yes, still no numba for 3.11

Tests are now passing using the 0.57rc1 nunba pre release

I am not sure if the CI system allows for such conclusions, but: the python 3.11 test suite ran one minute faster than the python 3.10 tests (11 min vs. 10 min). Which would be a really nice improvement for just updating to a new python minor version release!


add fxtwitter rewriting

this should always rewrite links of the form 'https://twitter.com/${query}' to the form 'https://fxtwitter.com/${query}'
[not tested yet]

Can we move this into it's own separate file please?

Can we move this into it's own separate file please?

Sure, I will move it out, should we move all event handlers into their own files, or how should we organize it?


add bootstrap authenticator which is used by oauth-server and kube-apiserver

And the openshift-apiserver
This gives us a common spot for it.

/lgtm


feat(kalert): component reskin [KHCP-8967]

Summary
Jira
Figma
KAlert component reskin
Links:

Kongponents sandbox
Kongponents docs preview

PR Checklist

[ ] Conventional Commits all commits follow the conventional commit standards outlined in the main README.
[ ] Tests coverage: test coverage was added for new features and bug fixes
[ ] Docs: includes a technically accurate README

The KToaster.cy.ts component test will keep failing until https://github.com/Kong/kongponents/pull/2020 is merged and this branch is updated with latest from alpha branch


Miscellaneous docs, CODEOWNERS cleanups

Review commit-by-commit.

This change is

test-docs-please

Coverage decreased (-0.1%) to 43.371% when pulling d577a848415e950b7ea2668433635d4259c40754 on joestringer:submit/misc-20181129 into b4abf40fe6a35f1255ff8ff44f068224c8bf8840 on cilium:master.

test-docs-please


Add Ubuntu 20.04 support

Pull Request (PR) description

This Pull Request (PR) fixes the following issues

needs to wait for a bolt release...

Looks like there is no puppet-bolt package for Ubuntu 20.04. Should we skip that for now?

I'd wait for the release as I need the integration tests to be sure, it works.

Seems like this is working OOTB. :green_heart:

@dhoppe you requested changes, but I think those are no longer relevant now? Mind merging?

@ekohl My request was related to Puppet 5, but we all figured out that Puppet Inc. will not provide any Puppet 5 packages for Ubuntu 20.04.


fix: Embed the wwwroot directory and it's contents in order to create a single file executable

🐛 Bug Report
Generating single-file executable not working when using FluentUI library in WPF Blazor application, which is an installation inconvenience. Also, this may be considered as a security vulnerability if someone changes the JS files inside the wwwroot folder?
💻 Repro or Code Sample

Create WPF Blazor application
Import latest version of FluentUI library
Publish the project as single-file using the following command: dotnet publish -r win-x64 --self-contained true -p:PublishSingleFile=true

😯 Current Behavior
There's a wwwroot folder next to the executable containing FluentUI assets:

🤔 Expected Behavior
Possibility to publish a WPF Blazor application (or any other BlazorWebView based application) as a single-file when using FluentUI library.
💁 Possible Solution
BlazorWebView itself has the ability to load and operate with embedded static files. However, in order for this to work when using FluentUI library, the wwwroot files should be present before publishing/embedding them. The publishing step would first have to generate the wwwroot files before they could be embedded.

Hi,
This is not an issue with the Fluent UI library, but more a general Wpf/Blazor problem, I believe.
I stopped after your step 1 of the repo steps, used your publish command and then copied the executable to a different location. If I then try to run the exe file, it does not start. It does start when run in the publish folder with all the other files present. At this point a wwwroot folder is already created in the output location (ie that comes with Blazor and not specifically from this library).
I suggest you raise an issue in the aspnetcore repo for this. Closing this for now as there is no action we can take at the moment.


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/51291

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/51430

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/118834


Capacitor 6 support

Android SDK 34+ will be mandatory after August 2024. Do you have plans to upgrade this plugin?

Same for me.. Capacitor 6 support needed

++ Update please

https://forum.ionicframework.com/t/apple-sign-in-not-working-in-simulator-and-real-device-but-works-in-browser/240952 pretty sure support is not continuing on this plugin

Oh, that is sad. What is the a actual alternative without using firebase?

The updates should be quite simple for this SDK update, though since it mostly concerns Android.

There's a pull request for this, not sure what the status is
https://github.com/capacitor-community/apple-sign-in/pull/110

I am more than happy to maintain this repo.
I kindly tagged some users who have write access in a comment in #110 asking for a merge and release - it was marked as abuse.
That being said I appreciate all of their hard work.
I also posted the PR in the Ionic discord community to see if it can gain any traction so hopefully it will.

I posted in the Discord channel.


Crash on :PeekOpen

OS
Model Name:	MacBook Pro
  Model Identifier:	MacBookPro18,4
  Chip:	Apple M1 Max
  Total Number of Cores:	10 (8 performance and 2 efficiency)
  Memory:	64 GB
  System Firmware Version:	7459.141.1
  OS Loader Version:	7459.141.1

deno
$ deno --version
deno 1.26.1 (release, aarch64-apple-darwin)
v8 <IP_ADDRESS>
typescript 4.8.3

neovim
$ nvim --version
NVIM v0.9.0-dev-83-g34c7007c3
Build type: Release
LuaJIT 2.1.0-beta3

Features: +acl +iconv +tui

setup with Packer
    use {
      "toppair/peek.nvim",
      run = "deno task --quiet build:fast",
      config = function()
        vim.api.nvim_create_user_command("PeekOpen", require("peek").open, {})
        vim.api.nvim_create_user_command("PeekClose", require("peek").close, {})
      end,
    }

execute :PeekOpen then crash with these error messages (partial)
Peek error: 2022-10-17 11:55:51.859 deno[52621:4604222] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', re
ason: 'NSWindow drag regions should only be invalidated on the Main Thread!'
*** First throw call stack:
(
^I0   CoreFoundation                      0x00000001bd8dd148 __exceptionPreprocess + 240
^I1   libobjc.A.dylib                     0x00000001bd627e04 objc_exception_throw + 60
^I2   CoreFoundation                      0x00000001bd9080cc _CFBundleGetValueForInfoKey + 0
^I3   AppKit                              0x00000001c03eb930 -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisab
led] + 372
^I4   AppKit                              0x00000001c03d692c -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 948
^I5   AppKit                              0x00000001c03d656c -[NSWindow initWithContentRect:styleMask:backing:defer:] + 56
^I6   5a78a907fb3b54a23d6ec12156baa6a1009 0x000000010a648fd0 _ZN7webview6detail22cocoa_wkwebview_engineC2EbPv + 672
^I7   5a78a907fb3b54a23d6ec12156baa6a1009 0x000000010a648d0c _ZN7webview7webviewC2EbPv + 72
^I8   5a78a907fb3b54a23d6ec12156baa6a1009 0x000000010a647afc _ZN7webview7webviewC1EbPv + 56
^I9   5a78a907fb3b54a23d6ec12156baa6a1009 0x000000010a647a50 webview_create + 56
^I10  deno                                0x00000001054d804c ffi_call_SYSV + 76
^I11  deno                                0x00000001054d7778 ffi_call_int + 1176
^I12  deno                                0x0000000104bb1b98 _ZN8deno_ffi12make_sync_fn28_$u7b$$u7b$closure$u7d$$u7d$17h66d69179d40fd057E +
1644
^I13  deno                                0x0000000104bab9b0 _ZN105_$LT$extern$u20$$u22$C$u22$$u20$fn$LP$A0$RP$$u20$.$GT$$u20$R$u20$as$u20$v
8..support..CFnFrom$LT$F$GT$$GT$7mapping4c_fn17h081844fa7f6729ccE + 64
^I14  deno                                0x0000000105672308 _ZN2v88internal12_GLOBAL__N_119HandleApiCallHelperILb0EEENS0_11MaybeHandleINS0_
6ObjectEEEPNS0_7IsolateENS0_6HandleINS0_10HeapObjectEEENS8_INS0_20FunctionTemplateInfoEEENS8_IS4_EEPmi + 684
^I15  deno                                0x00000001056719fc _ZN2v88internal21Builtin_HandleApiCallEiPmPNS0_7IsolateE + 224
^I16  deno                                0x00000001062de26c Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit + 108
^I17  deno                                0x000000010625c844 Builtins_InterpreterEntryTrampoline + 292
^I18  deno                                0x000000010625c844 Builtins_InterpreterEntryTrampoline + 292
^I19  deno                                0x0000000106259dfc construct_stub_create_deopt_addr + 312
^I20  deno                                0x0000000106387220 Builtins_ConstructHandler + 704
^I21  deno                                0x000000010625c844 Builtins_InterpreterEntryTrampoline + 292
^I22  deno                                0x000000010625c844 Builtins_InterpreterEntryTrampoline + 292
^I23  deno                                0x000000010625c844 Builtins_InterpreterEntryTrampoline + 292
^I24  deno                                0x000000010625c844 Builtins_InterpreterEntryTrampoline + 292
^I25  deno                                0x000000010625c844 Builtins_InterpreterEntryTrampoline + 292
^I26  deno                                0x000000010625c844 Builtins_InterpreterEntryTrampoline + 292
^I27  deno                                0x000000010625c844 Builtins_InterpreterEntryTrampoline + 292

Same with:
NVIM v0.8.0
Build type: Release
LuaJIT 2.1.0-beta3
MAC OS Monterey

@elcih17 @ariel-frischer
Can you try this branch?
use({ 'toppair/peek.nvim', run = 'deno task --quiet build:fast', branch = 'separate-process' })

@toppair the recommendation worked! Nice job :)

@toppair It worked! Thanks!

I have/had the same problem, and I tried the workaround with the branch, but it emitted a different error:
Peek error: error: Uncaught (in worker "webview") (in promise) TypeError: Deno.dlopen is not a function
    return Deno.dlopen(file, symbols);
                ^
    at prepare (file:///Users/username/.local/share/nvim/site/pack/packer/start/peek.nvim/public/webview.js:2897:17)
    at async file:///Users/username/.local/share/nvim/site/pack/packer/start/peek.nvim/public/webview.js:4025:13
error: Uncaught (in promise) Error: Unhandled error in child worker.
    at Worker.#pollControl (deno:runtime/js/11_workers.js:153:21)

@andrewferrier
Doesn't look like you're using correct branch
Uncaught (in worker "webview")
There shouldn't be a worker anymore. There may be some problem with the build, make sure to completely remove peek and install it again from that branch.
Do you use packer or some other plugin/method to manage packages? My guess is that maybe you just checked out the branch in plugin directory. If that's the case you also need to run deno task build:fast in that directory.
Are you on mac too?

I have/had the same problem, and I tried the workaround with the branch, but it emitted a different error:
Peek error: error: Uncaught (in worker "webview") (in promise) TypeError: Deno.dlopen is not a function
    return Deno.dlopen(file, symbols);
                ^
    at prepare (file:///Users/username/.local/share/nvim/site/pack/packer/start/peek.nvim/public/webview.js:2897:17)
    at async file:///Users/username/.local/share/nvim/site/pack/packer/start/peek.nvim/public/webview.js:4025:13
error: Uncaught (in promise) Error: Unhandled error in child worker.
    at Worker.#pollControl (deno:runtime/js/11_workers.js:153:21)

I can confirm that this error is coming for me as well. I have tried fresh installs using both the default branch and the separate-process branch. I used packer for installing.
My config is the default provided by you, barring a workaround for #5

@CodePurble
Can you provide the output of deno task build (no fast) in plugin's directory?

Sure @toppair
Warning deno task is unstable and may drastically change in the future
Task build deno run --allow-run --allow-net --allow-read=. --allow-write=. --allow-env --no-check scripts/build.js
Bundle file:///home/ramprakash/.local/share/nvim/site/pack/packer/start/peek.nvim/client/src/script.ts
Bundle file:///home/ramprakash/.local/share/nvim/site/pack/packer/start/peek.nvim/app/src/webview.ts
Emit "public/script.bundle.js" (13.36KB)
Bundle file:///home/ramprakash/.local/share/nvim/site/pack/packer/start/peek.nvim/app/src/main.ts
Emit "public/webview.js" (284.72KB)
Emit "public/main.bundle.js" (1.94MB)

and also, just FYI:
deno --version
deno 1.26.2 (release, x86_64-unknown-linux-gnu)
v8 <IP_ADDRESS>
typescript 4.8.3

@CodePurble You're on linux and I believe the original error from this issue is mac specific, so it's not related.


embed recaptcha execute and reset methods

Changelog

Embed window.grecaptcha method inside the hook
Updated tests and documentations
Updated hook jsdoc return type

Motivation

This will make easier to create typescript mappings for this project and avoid the need to declare new window methods on projects that use this lib

Your PR looks great! I only have one minor holdback.

thanks @tomliangg, addressed these problems!

Published 1.0.5;
Release notes: https://github.com/tomliangg/react-hook-recaptcha/releases/tag/1.0.5


Add faster rails to MTR Mod

Hello MTR Mod, I want to suggest adding faster rails to MTR Mod.
I want to add 3 types of rails:
Super Quartz Rail Connector (500 max speed)
Super Diamond Rail Connector (750 max speed)
Super Netherite Rail Connector (1250 max speed)
I want to make a very long high-speed railway, a straight line that takes minutes to ride a train through 50,000 blocks. Super rail connectors require at least 1 block of netherite.
CRAFTING RECIPES:
Super Netherite Rail Connector

Super Diamond Rail Connector

Super Quartz Rail Connector

Please add this to Minecraft Transit Railway. Thank you!

It will make some super highspeed lines like Maglev easier that now.

It will make some super highspeed lines like Maglev easier that now.

Thank you!
FACT: I was originally going to suggest to add maglev rails with much higher speed and maglev rail nodes, with maglev depots and maglev stations, but I feel like that's too much.

This would be a nice addition, but there have been instances where people were asking for faster rails, but they were declined for some sort of reason.

There have been instances where people were asking for faster rails, but they were declined for some sort of reason.

Maybe because it's you @saleem0915! You try to deny/decline people's suggestions because they didn't have Patreon. If you dare tell that this guy do not have Patreon or something, this suggestion could be denied because he didn't subscribe to Patreon!
See, you told this guy that if he dosen't have patreon, the suggestion will be denied! Then he said no, POOF! This guy's suggestion is denied.

Back to the content. The biggest question is that the chunk loader may not afford the speed. Because of the poop code of Bugjump(you know who i am say about), it may cause memory leak, and crash like windows memory security limition or watchdog errors.
Exactly, The highest speed of maglev speed is 590km/h(Japan Maglev Center Line), max test speed is 620km/h(CF600).  This digit of normal railway is 515km/h(TGV), max test speed is 605km/h(CRH380AM). So we think that we just need the rails about 600km/h.
So that, I'd like to change these speeds into 350, 400, 500, 600.

Instead, there's a PR about custom speed rails. We can build the solution on this code.

Duplicate of #373


Improve article 2006.04635

Exact location of issue
figure 3
Problem details
subfigure covered each other

it should look like

Desktop (please complete the following information)

OS: Windows
Browser chrome, firefox

Missing packages here: tocloft.sty, floatrow.sty, multitoc.sty, minitoc.sty
This could be related to needing support for floatrow.sty, but it could also be a sizing error with the current subfigure code in latexml.

The figure in question has the TeX source:
\begin{figure}[h!tbp]
  \centering
  \begin{minipage}[b]{0.25\textwidth}
    \includegraphics[width=\textwidth]{z_winrate_ibr.pdf}
    \includegraphics[width=\textwidth]{z_winrate_fppi.pdf}
  \end{minipage}
  \hfill
  \begin{minipage}[b]{0.74\textwidth}
    \includegraphics[width=0.95\textwidth]{z_ibr_qre_hot.pdf}
    \includegraphics[width=0.95\textwidth]{z_fppi_qre_hot.pdf}
  \end{minipage}
\caption{Transitivity Meta-Games: Top: IBR, Bottom: FPPI-2. Left: 1v6, Right: QRE in 7-player.}
\label{l_fig_dip_nash_league}
\end{figure}

so this indeed comes down to improving the latexml flex figure model to cover {minipage} panels.

The overlap is now avoided. This doesn't match the PDF sizes precisely yet, but it is certainly an improvement.
I will keep the issue open for a little longer.


Fixed method abortIf async boolean & Added runnable interface, called when task is aborted

Instead of doing:
        this.tasker.newChain()
                .abortIf(() -> {
                    if (!(sender instanceof Player)) {
                        this.send(this.messageConfig.notPlayer, sender);
                        return true;
                    }
                    return false;
                })
                .execute();

We can do:
        this.tasker.newChain()
                .abortIf(() -> !(sender instanceof Player),
                        () -> this.send(this.messageConfig.notPlayer, sender))
                .execute();

I will assume this is abortIfThen: your method is too implicit and does not cover many cases. It is already planned to extend the chain API with the methods similar to Delayer to resolve things like .abortIf(textEvent -> !textEvent.isCancelled()) with abortIfNot. Should probably be available in coming days.

In the meantime, this is how we do it: https://github.com/OkaeriPoland/okaeri-tasker/commit/99ed98136c43139841522716065b6f877c82274a

Resolved in https://github.com/OkaeriPoland/okaeri-tasker/commit/ded22e65a311bb9847e3eae96531fbb84d494bf5. Available in 1.1.9 release.


We could improve the tests by adding checks

We could check if the pods are running correctly and if the service is created in the case of a public challenge.

@sroettger this is done, right?

We don't check that the service is publicly available but we test now that
the healthcheck succeeds (if there is one)
On Mon, Dec 7, 2020 at 11:27 AM sirdarckcat<EMAIL_ADDRESS>wrote:

@sroettger https://github.com/sroettger this is done, right?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/kctf/issues/135#issuecomment-739826290, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AEM2JHVZ2UMVESOVLGKOA3DSTSUX3ANCNFSM4QUTUEWA
.


Add ExampleEmbed for ArchiveFS.Stream usage

For #307 (https://github.com/mholt/archiver/issues/307#issuecomment-1015110919): works very nice!
As a side note: can't happen that http.Dir is already what your DirFS tries to achieve?
net/http is a huge dependency, I wouldn't want to replace it, maybe just borrow the code, or look at the handling of some edge cases...

As a side note: can't happen that http.Dir is already what your DirFS tries to achieve?

Nah, our DirFS does achieve what it needs to; just seems odd that os.DirFS doesn't implement ReadDir. I don't think we have a need for http.Dir.
Thanks for the example, but it doesn't compile and pass CI (missing resources).


collapse plugin renders a rising scrollbar on bootstrap navbar

Plunker: https://plnkr.co/edit/2H4yZfl6zSM0WmVzaba8?p=preview
Make sure the right panel is wide enough so that the navbar does not collapse and you will see a horizontal scrollbar (on initial load / refresh) that floats upwards starting from the bottom of the navbar.
The scrollbar does not appear if the navbar content is added to the file directly instead of using ng-include.
Removing the navbar-right content makes the scrollbar appear to go away but an element is still floating upward which can be detected as it passes over the 'Left' text.
Found this while upgrading from 0.13.4. It was introduced in 0.14.0.
(Edit: changed plunker URL to go straight to preview)
(Edit: mention that this comment is related to ng-include)

ng-include is an anti-pattern - there is no good use case for it.
Not able to reproduce this - what OS/browser are you seeing this on?

DIdn't know ng-include was an anti-pattern. That's how the angular-fullstack generator sets up the nav bar component.
I am on Win 7 and am able to repro in FF 44.0.2 and Chrome 48.0.2564.109 m
After expanding the right panel in the plunker to show the uncollapsed nav, the preview must be refreshed using the Refresh button in the plunker

I tried it with a directive and the behavior is similar to ng-include. When the directive is in the top-level page, the navbar displays fine but when the navbar directive is in a view, then the issue occurs.
Plunkr with a directive: https://plnkr.co/edit/MnGQHgXW8pod42xexkkp?p=preview
I've reproduced all 3 scenarios in this plunker
v1: The original issue using ng-include
v2: No issue when navbar directive is in index.html
v3: Issue when navbar directive is in a view

+1 - I have got the same problem with the horizontal scrollbar.

+1 - I have got the same problem with the horizontal scrollbar.
https://in-frame.com:8088/angular#/home

im using ng-include too, i thought it was because of collapse. but when i patch the collapse with earlier version the scroll when changing page / refresh doesnt disappear.
im currently already changing to 3 version.
i forgot the first version. but it start with 0.1*.* -> 1.4.0 -> 1.1.0
both collapse scrollbar and navbar scrollbar doesnt disappear.

+1 - Encountering this issue as well

The problem is when navbar open and close at the same moment.
If in first plunker change
$scope.isCollapsed = true;
to
$scope.isCollapsed = false;
result: no rising scrollbar.

Best example for new version!)
http://stackoverflow.com/questions/38004168/navbar-dropdown-with-angular-and-ui-router-wont-work

Encountering this as well.
Kolkov's suggestion to initialize the isCollapsed = false works, but it means that on small screens, the hamburger dropdown defaults to open.  On the hamburger menu itself, you get a vertical errant scroll bar, which I was able to disable by setting its overflow to hidden, but this is obviously not optimal.

@kolkov in this link the navbar isn't with angular-animate.

i'm with the same problem, if I add angular-animate the scrollbar appear without angular-animate it desapear.

woooooowww, I think a solution, if I put the css class in my code, working for me
.navbar-collapse.in {
overflow-y: hidden;
}

I've been struggling with this same issue for ages. I can't seem to figure out a working solution.

is there any example of this solution used.

Im still having this problem even after using that css class

@wesleycho The plunker still shows the scrollbar issue after changing the angular-ui-bootstrap version to 2.1.3. Using the second link above: https://plnkr.co/edit/MnGQHgXW8pod42xexkkp?p=preview

it would be best if somebody puts up working example of the solution before closing the issue

I also still see this issue with the latest version of angular bootstrap ui

Please somebody who has solved this issue put up a an updated Plunker example.

@jadir-junior  could you provide example of working example

@wesleycho This issue was introduced by commit 533a9f0 which switched to using $animateCss. I did some tracing and found that the watcher is called twice and therefore collapse() is called twice. The second execution of collapse() is what produces the rising scrollbar.
The Angular docs for $watch have this to say

Be prepared for multiple calls to your watchExpression because it will execute multiple times in a single $digest cycle if a change is detected.
...
After a watcher is registered with the scope, the listener fn is called asynchronously (via $evalAsync) to initialize the watcher. In rare cases, this is undesirable because the listener is called when the result of watchExpression didn't change

@stevebread  did you solve it?

@Rafi993 I can get it to work by patching collapse.js but I'd rather have an official fix. If you are ok to patch it locally, replace this line in collapse.js (or ui-bootstrap-tpls.js if you are using bower)
scope.$watch(attrs.uibCollapse, function(shouldCollapse) {

with
scope.$watch(attrs.collapse, function(shouldCollapse, shouldCollapseOldValue) {
          if(shouldCollapse === shouldCollapseOldValue) return;

I had to look into this some more because I realized that collapse() is not being called twice, the page I was testing with had a second collapsible component in addition to the menu and that's why I was seeing 2 calls. The above fix still works for the navbar but the second collapsible component displays open even though collapse=true
So what's needed then is that if a component is collapsed by default it should have the correct markup i.e. if collapse attribute is true by default, then the element should have collapse class as well. This is how the bootstrap menu is defined. If you are not already doing this then I recommend doing it because it will avoid unnecessary collapse animations when the page renders and the directive doesn't have to try to handle this case.

Meanwhile this issue is really fixed, this piece of CSS could be a workaround:
.collapsing.in {
  overflow: hidden;
}

then please post a working plunker example @MohsenEkhtiari

Sure,
Plunker: https://plnkr.co/edit/BCLseK8C7MEI2ZQijjcS?p=preview

@MohsenEkhtiari Your fix didn't work for me. I had to use .in-remove-active to fix it:
.collapsing.in-remove-active {
    overflow: hidden;
}

@jonaszuberbuehler I have this scrollbar when navbar is opening not when it is collapsing or collapsed. Could you provide a plunker case which needs your fix?

@MohsenEkhtiari Yes, https://plnkr.co/edit/6TJ4socmsTRicOVoAJUJ?p=preview. I know, ng-include is considered an anti-pattern and should be replaced. But I suppose the code in the plunkr should work.

@MohsenEkhtiari Still can see the horizontal scrollbar (latest Chrome on Ubuntu 15.10)

.fix.navbar-collapse {
  overflow-x: hidden;
}

<div class="collapse fix navbar-collapse" uib-collapse="navCollapsed">

Did the trick for us.


Ship precompiled HTML and CSS files with the debugger

[ ] currently each developer has to run webpack once after pulling or cloning the repository, which should not be necessary.
[ ] the binary assumes that the html and css files are placed at a fixed location. These html and css files should be baked into the binary if the feature gui_debugger is enabled during compilation.

We could also just check in the bundled version or host the viewer on gh-pages.


Question about email address

Hi,
I'm seeing that user accounts package creates (which is great bye the way) creates the following in the database
email: {
      verificationTokens: [
        {
          token: "MdMadUAQNcpEv05JK58mP1O3RE-kEuOQSD75gr6lD5d",
          address<EMAIL_ADDRESS>          when: ISODate("2015-06-08T10:03:49.949Z")
        }
      ]
    },

emails: [
    {
      address<EMAIL_ADDRESS>      verified: false
    }
  ],

Is this correct and if I want to update a users email address which one is correct to use?
Also how will this work with http://docs.meteor.com/#/full/accounts_createuser when creating a user on the client

Hello @almogdesign,
actually useraccounts is using the regular API from the accounts package and does not directly modify the DB in any way.
I guess the email stuff is mainly connected to the password login so lets have a look also at the password API and in particular to Accounts.changePassword which you can call from a method or wherever you need it to update a user's password.
In case you'd like to set a new password form the server-side Accounts.setPassword is what you're looking for.
About the creation of new users from the client-side, I suggest you to call a server-side method which check all permissions and the likes and eventually calls Accounts.createUser in a safe side...
Let me know if you need more pointers!


Implement target gzip request compression

Description
Implement optional target gzip request compression.
This can reduce bottlenecks on the networking layer from the RFS workers.

Category: New Feature
Why these changes are required?
What is the old behavior before changes and new behavior after changes?

Issues Resolved
MIGRATIONS-1964
Is this a backport? If so, please add backport PR # and/or commits #
Testing
Docker integ-type tests added as well as unit tests.
Tested in AWS, You can see in the image the decrease in "bytesSent" and overall more consistent throughput.
More testing needs to be done to identify the cases where performance is increased.
Testing, 1 task, no target cluster throttling:  "cpu": "4096", "memory": "8192", "platform": "ARM"
Left, no compression. Right, compression

Check List

[x] New functionality includes testing

[x] All tests pass, including unit test, integration test and doctest

[x] New functionality has been documented
[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

All my outstanding comments have been addressed @gregschohn I'm not sure if all of your concerns have been addressed - I'll defer to your approval.


Updated Notice file to 2022

Updated Notice file to 2022

Coverage increased (+0.03%) to 67.565% when pulling c43285440afb5ce63f21364827379f3ed58758f6 on Shoothzj:update-notice-year into 4df4bccb1f52831b889548a2d00bba63a1b57b62 on apache:master.


need requirements.txt

Please add  a requirements.txt file to avoid library conflicts.

Hi @VenkatKarthik-squad. For this project we use pyproject.toml for dependency management. If you need a requirements.txt file for your workflow, you can generate one dynamically using pip freeze after installing the dependencies with pip install ., or directly with this command: pip install . && pip freeze > requirements.txt.


Override site metadata

For admin I can override the site metadata as follows:
admin.site.site_header = 'your_header'
admin.site.site_title = 'site_title'
admin.site.index_title = 'index_title'

But it seems like public_admin has not site. Is there a way to adjust this metadata?

I can actually do the following:
public_admin.site_header = 'your_header'
public_admin.site_title = 'site_title'
public_admin.index_title = 'index_title'

But it seems to have no effect.

Actually nevermind .. sorry for the noise. It works :)
Should I submit this as a doc PR?

How have you sorted that out? Can you share here?

It works exactly like this:
https://github.com/cuducos/django-public-admin/issues/26#issuecomment-1864853299

Ah, ok. So, since it's Django standard I don't think we need extra docs on that. Thank you so much : )


[AutoPR cognitiveservices/data-plane/Face] typo: cognitiveservices/data-plane/Face

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4828

Build output:

This PR has been merged into https://github.com/Azure/azure-sdk-for-java/pull/2270


Don't throw exception when attempting to leave a room when not joined

This is already deployed to production. It was used to make client-side event flow simpler in the case of kick operations.

See https://github.com/ppy/osu/pull/14291 for rationale.
Even if the client didn't explicitly try to leave the room on its own in the kick case, there are still plausible scenarios wherein a user is being kicked at the same time that they're trying to leave the room "normally" (not as a response to the kick), causing the exception either way.


DB sanitization uniform format

What are you trying to achieve?
According to the db spec, the db.statement value can be sanitized, but it is not defined how to do so.
Currently, the sanitization is being dealt with differently in few places.
I suggest to add a uniform format that will describe how to do the sanitization.
(It will be best if this format will apply to all different DB's and syntaxes)
Different implementations examples:

JS mongo db - implements the sanitization by replacing the information with question marks
Python pymongo - implements the sanitization by deleting the information completely, and leaving the query method name only
Python elasticsearch (WIP)  - suggests to replace the information with a string that will explain that the data is sanitized

I suggest a few options to replace the value with:

Keep the method name, and add a sanitized text.
for example: db.statement = "SELECT {query information is sanitized}"
advantages: quite easy to implement, easy to keep consistent across libraries.
dis-advantages: will require to research whether all different libraries can handle this format effectively.

Simple text that will describe that the value is sanitized.
for example: db.statement = "query information is sanitized"
advantages: easy to implement, easy to keep consistent across different libraries.
dis-advantages: doesn't supply basic information about the query that could be useful.

Replace the values with question marks.
for example: db.statement = "SELECT ? FROM ?"
advantages: keeps more amount of information, while still not exposing sensitive or private data.
dis-advantages: harder to implement, harder to keep consistent across libraries.

I would like to hear opinions about the suggested solutions, or hear different ideas.
Additional context.
open-telemetry/opentelemetry-specification#3104 - Issue regarding changing the recommendation to sanitize the information by default.
open-telemetry/semantic-conventions#708 - Issue about missing examples for sanitization in specs.

possible language for SQL queries:

replace all literal values with ?

should normalization be part of this or not? e.g.

normalize in (?, ?, ?, ?, ...) to in (?)

or

normalize in (?, ?, ?, ?, ...) to in (_more10_50_) to give an idea of number of items in the inlist

Keep the method name, and add a sanitized text.
for example: db.statement = "SELECT {query information is sanitized}"
advantages: quite easy to implement, easy to keep consistent across libraries.
dis-advantages: will require to research whether all different libraries can handle this format effectively.

I wouldn't say is necessarily easy, because how do you decide the "main" method on a statement that have multiple methods such as update and select. Or statements that start with WITH, how the method is decided.

Replace the values with question marks.
for example: db.statement = "SELECT ? FROM ?"
advantages: keeps more amount of information, while still not exposing sensitive or private data.
dis-advantages: harder to implement, harder to keep consistent across libraries.

For this one I think is more helpful for the user but agree it will required a harder level to implement and keep consistency. For example, on CockroachDB the replacements were something as follows:
placeholders: $1
strings: '_'
anything else: _
When there was IN clause, it would be replaced by one of the values: __more1_10__, __more10_100__,  _moreX__ (with X the between 100 and 1000, such as 100, 200, 300,...) or __more1000_plus__. That created a nice balance of separating groups that would use different plan executions, but at the same time keeping cardinality lower of different possible final strings, since the list can be quite big (I saw cases with 20k+ values in a list)
Another thing to consider on this option is level of sanitization, because is more common for the values to be hidden, but not the columns, so it would need options for sanitazing just the value or the value + columns.

thoughts from SIG meeting:

general statement for all dbs - replace all string and numeric literals with some placeholder (maybe ?)

from SIG meeting:

don't sanitize placeholders themselves (e.g. https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/11379)


[i2c] Interrupt type alignment and FIFO watermark changes

This PR combines two interconnected changes:

Interrupt type alignment (change fmt_threshold and rx_threshold to Status) (#21209).
Introduction of watermarks/thresholds on target FIFOs, introducing 'acq_threshold' and 'tx_threshold' as Status type interrupts (#16444).

In response to #16444, the fmt_overflow and tx_overflow interrupts are dropped because they are not useful. They are replaced with the two new 'threshold' interrupts.
At the same time as extending the interrupt/threshold logic to include the Target mode FIFOs, the programmed threshold values and level status indicators are extended to accommodate the 64-byte FIFOs of the current design and - in anticipation of future deployments - extends support to 256-byte FIFO depths.
The DV sequences are updated to avoid heavily impacting the pass rates, but some further work is required on the DV front, not least to exercise the new functionality.

Issue 21755 created to track DV tests broken or made less reliable by this PR or others.

The failure of the CW310 SiVal non-ROM_EXT Tests CI check is most likely unrelated to this PR; see this discussion.

I just re-ran the 4 chip-level I2C-related tests locally for some extra confidence.

Also //sw/device/tests:aon_timer_wdog_lc_escalate_test_fpga_cw310_rom_with_fake_keys timing out in CW310 ROM Tests seems to be unrelated to the changes in this PR


Connection error on download

I'm trying to run demos/demo.py but returns connection error after a while. I think that the model links are not working anymore
Downloading: "http://dl.yf.io/dla/models/imagenet/dla34-ba72cf86.pth" to C:\Users\xxxxx/.cache\torch\hub\checkpoints\dla34-ba72cf86.pth
Traceback (most recent call last):
  File "C:\Users\caros\anaconda3\lib\urllib\request.py", line 1346, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "C:\Users\caros\anaconda3\lib\http\client.py", line 1285, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "C:\Users\caros\anaconda3\lib\http\client.py", line 1331, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "C:\Users\caros\anaconda3\lib\http\client.py", line 1280, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "C:\Users\caros\anaconda3\lib\http\client.py", line 1040, in _send_output
    self.send(msg)
  File "C:\Users\caros\anaconda3\lib\http\client.py", line 980, in send
    self.connect()
  File "C:\Users\caros\anaconda3\lib\http\client.py", line 946, in connect
    self.sock = self._create_connection(
  File "C:\Users\caros\anaconda3\lib\socket.py", line 844, in create_connection
    raise err
  File "C:\Users\caros\anaconda3\lib\socket.py", line 832, in create_connection
    sock.connect(sa)
TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

Hi, the demo model artifact is still downloadable (e.f. for person model, you can manually download it here: https://aws-cv-sci-motion-public.s3.us-west-2.amazonaws.com/SiamMOT/demo_models/person.zip)


Flake8 3.o incompatibility?

Hey guys,
I've found that all my PyBuilder builds have started failing with the release of Flake8 3.0 (released 2016-07-25).
My flake8.err contains some stacktraces, the most interesting line is:
AttributeError: 'FlakesChecker' object has no attribute 'with_doctest'
I'm not sure if this is a bug within Flake8 3.0 or an incompatibility between the PyBuilder Flake8 plugin and the new Flake8 version but I thought I should let you know.

Hmm. Thanks for reporting. I think it must be a flake8 issue because we only use the CLI interface, not the API. Will investigate.

On 27 Jul 2016, at 07:38, BackroomGibbon<EMAIL_ADDRESS>wrote:
Hey guys,
I've found that all my PyBuilder builds have started failing with the release of Flake8 3.0 (released 2016-07-25).
My flake8.err contains some stacktraces, the most interesting line is:
AttributeError: 'FlakesChecker' object has no attribute 'with_doctest'
I'm not sure if this is a bug within Flake8 3.0 or an incompatibility between the PyBuilder Flake8 plugin and the new Flake8 version but I thought I should let you know.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I just tried with latest Flake8 version (3.0.2) and didn't find an issue. I think they already fixed it.

Interesting. I've updated my build scripts to specifically install Flake8 version 2.6.2 and they're working again. We've seen the issue with 3.0.2 on multiple multiple machines. All running Windows, I haven't tested it on Linux.
Some more information about my setup:
Python: 2.7.11 (Anaconda release)
Flake8: 3.0.2
PyBuilder: 0.11.8
The Flake8 settings that I'm using in the build.py script:
project.set_property('flake8_include_scripts', True) project.set_property('flake8_exclude_patterns', 'lib') project.set_property('flake8_break_build', False) project.set_property('flake8_max_line_length', 160)
Finally, I've attached my flake8.err log. Strangely the error line that I originally reported isn't in the log, but there's still a lot of stacktrace in there.
flake8.txt
Not sure if this will help you reproduce it or not. My feeling is it's a Flake8 issue, it looks like they've already had to produce some additional releases to fix bugs in their 3.0.0 release, this might just be one that they haven't fixed yet.

Try 0.11.9.dev version please and let us know.

I just tried with PyBuilder-0.11.9.dev20160720123431 and I'm getting the same problem.
The build hangs after printing:
←[1m[INFO] ←[0;0m Executing flake8 on project sources.
And the same error is in the flake8.err log file.

I just looked at the stacktrace you posted. It originates and terminates in Flake8. It's a flake8 bug, nothing to do with PyB as far as I can tell. Probably Windows-related.

Yeah, that's what I thought. Thanks for your help.

https://travis-ci.org/pybuilder/pybuilder/jobs/148233855 <-- seems like the 2.6 build is hanging because of flake?

I just restarted it, maybe it was flickering. But sure looks like it.

It does hang every time. We could downgrade - they actually don't have 2.6 in the warehouse metadata tags anymore so this probably means 2.6 support was dropped.

We could also consider dropping 2.6 support ourselves, having one last release that supports 2.6 should be good enough for the people still stuck in a red hat dungeon.

@mriehl I say we take off and nuke the entire site from orbit, it's the only way to be sure.

This is fixed in 0.12.x


generate higher resolution dots image

Part of my decision to use SVG originally was to ensure a sharp image, but we lost that when converting back to png. This should fix.
I chose 400ppi after looking at pixel densities of various apple devices. This can probably be tweaked to find optimal intersection of resolution and file size.
In any case, it's crisp now!
I added width back to the <img> tag in readme, as the height/width on the SVG is lost during conversion.

conflicts for some reason, could you amend?

Sure, yeah no problems.
I wonder if dots.png should be gitignored since it is auto-generated? Just means you would need to run a build before packaging/publishing the theme to the vscode marketplace

i think the marketplace pulls the image from git

Ah ok, I thought it might work like npm where you can publish things that aren't part of the repo, eg. ignored files. Nevermind then!

i copied these changes over into master, thanks again! :-)

OK no worries. Didn't have time to do it today, cheers for getting it in


fix encoding error while reading from UTF-8 file + add .gitignore + run linter

List of changes

Fix encoding error while reading from UTF-8 file
Add .gitignore
Run black linter over the code - https://github.com/psf/black

It looks like a lot of changes, but it is because of .gitignore and black linter. The only part that has been changed is:
def next_file(file: str) -> None:

    global tex, tex_lines, tex_lines_clean, in_env, envs
    try:
        with open(file, mode="r", encoding="utf-8") as content_file:
            tex = content_file.read()
    except:
        print("Could not open '%s'" % sys.argv[1])
        print(f"Error: {traceback.format_exc()}")
        sys.exit(1)


add number 4

Contributed number 4

Thank-you for this fantastic contribution! Contributions like this are the reason why I do this. This will really improve the experience for our users. Keep up the good work! 🙌


[SPARK-47618][CORE] Use Magic Committer for all S3 buckets by default

What changes were proposed in this pull request?
This PR aims to use Apache Hadoop Magic Committer for all S3 buckets by default in Apache Spark 4.0.0.
Why are the changes needed?
Apache Hadoop Magic Committer has been used for S3 buckets to get the best performance since S3 became fully consistent on December 1st, 2020.

https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html#ConsistencyModel

Amazon S3 provides strong read-after-write consistency for PUT and DELETE requests of objects in your Amazon S3 bucket in all AWS Regions. This behavior applies to both writes to new objects as well as PUT requests that overwrite existing objects and DELETE requests. In addition, read operations on Amazon S3 Select, Amazon S3 access controls lists (ACLs), Amazon S3 Object Tags, and object metadata (for example, the HEAD object) are strongly consistent.

Does this PR introduce any user-facing change?
Yes, the migration guide is updated.
How was this patch tested?
Pass the CIs.
Was this patch authored or co-authored using generative AI tooling?
No.

Hi, do you have any concern on using S3 Magic Committer by default, @steveloughran ?

Also, cc @viirya

Thank you, @viirya .

All tests passed.

LGTM from my side. Thank you @dongjoon-hyun

Thank you for review, @yaooqinn and @viirya .
I might overlook the other object storage side-effect cases. I'll convert this PR to Draft and test with Google Cloud Storage at least.

I have no problems with the PR; we have made it the default in our releases.
This could be a good time to revisit "why there's some separate PathOutputCommitter" stuff; originally it was because spark built against releases without the new PathOutputCommitter interface. This no longer holds: could anything needed from it be pulled up into the main committer?
One recurrent troublespot we have with committing work is parquet; it requires all committers to be a subclass of ParquetOutputCommitter, hence the (ugly, brittle) wrapping stuff. Life will be a lot easier if parquet didn't mind if it was any PathOutputCommitter -it would just skip the schema writing.
Of course, we then come up against the fact that parquet still wants to build against hadoop 2.8. Everyone needs to move on, especially as hadoop java11+ support is 3.2.x+ only.

Thank you for your feedback, @steveloughran . Ya, as you mentioned, this is blocked by exactly those two configurations.
spark.sql.parquet.output.committer.class=org.apache.spark.internal.io.cloud.BindingParquetOutputCommitter
spark.sql.sources.commitProtocolClass=org.apache.spark.internal.io.cloud.PathOutputCommitProtocol

Oh, I must be clear.
Unlike spark.hadoop.fs.s3a.* configuration, the following are applied to all FS globally. We cannot do that for non-S3A filesystem. That's the side-effect I need to remove in this PR.
spark.sql.parquet.output.committer.class=org.apache.spark.internal.io.cloud.BindingParquetOutputCommitter
spark.sql.sources.commitProtocolClass=org.apache.spark.internal.io.cloud.PathOutputCommitProtocol

So both those bindings hand off to PathOutputCommitterFactory(), which looks for a committer from the config key mapreduce.outputcommitter.factory.class
FileOutputCommitterFactory: classic committer
NamedCommitterFactory: class in mapreduce.outputcommitter.named.classname
then fallback to mapreduce.outputcommitter.factory.scheme.SCHEMA factory definition.
The idea being; you get an fs specific one unless asked for.

the parquet one is there because parquet is fussy about its committer subclasses; that should be reviewed (where?)
and PathOutputCommitProtocol is probably surplus now that spark can use PathOutputCommitter everywhere...

I removed Stale tag.


fix bumpversion

It messes up version replacement

This might be helpful. https://github.com/peritus/bumpversion/issues/147


ES6 'import' challenge

Not able to solve challenges related to import statement on Windows 8 Chrome 67.
Even though I provide a valid import statement it says invalid.
Example: import {
capitalizeString
} from "string_functions"
Link: https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/es6/understand-the-differences-between-import-and-require

Apologies! I was using multiple lines for import statement. Once I used the import statement in single line and added semicolon at the end it started working.


API/Compliler: Initial support for SortedMap return type

It's next step for Map support (#99)
SortedMap -> TreeMap

done.


Clueless

i don't know how to run it aslo do i have to download colorama>=0.4.4
discord.py>=1.5.1
pyinstaller
pynput
pyarmor
requests
ipapi
IPy
geocoder
carrier
timezone
bs4
json
hashlib
httpx_socks
urllib
concurrent.futures
oncurrent.futures
pyautogui
pywebcopy
discord.py
pypresence
all of this? to make it work and do i need python 3.9?

yes and 3.9 above


What is the status of the project?

It is still active or happening in another repository? (amazing even in the current state, but just wondering)
Thank you!

Sorry for the late reply. Please see #152


Bias Wave

This is a draft PR for now...still lots to go but can start code level discussion here to move some of it off of slack.
The intention of this PR is to implement a new "bias wave" module that calculates equivalent parameters as the bias_step operation but using small sine waves on the bias line which can be processed using fourier analysis which is a bit cleaner in the presence of large halfwave plate synchronous signal.

Ok, I think this is ready to test. It currently can take data at multiple frequencies but only runs the analysis on the lowest frequency to calculate the DC parameters. We can add in analysis functions later for calculating time constants with multiple frequencies (there's some inline comments with placeholders for those things to go).
This should probably come with an accompanying PR in socs to add an agent task but that can come after testing. I'm going to convert from draft to full PR so you all can start reviewing but I we will wait until we have taken some test data on SATP1 or SATP3 before merging.

Spent some time looking through this this morning. I think it looks good and I agree its ready to test as soon as we have a telescope we can try to run it on. That being said i'm not a total expert when it comes to sodetlib code writing. But I think this captures what Yuhan and I were doing in notebooks. Do I need to approve this commit before being able to test it, or should we test it and then approve after that?

Spent some time looking through this this morning. I think it looks good and I agree its ready to test as soon as we have a telescope we can try to run it on. That being said i'm not a total expert when it comes to sodetlib code writing. But I think this captures what Yuhan and I were doing in notebooks. Do I need to approve this commit before being able to test it, or should we test it and then approve after that?

Please test on this branch, I'm not confident that the data taking won't just fail because I have a missed colon at this point...(I mostly don't think that's true bc I did run a linter on this but I think you get my point). So checkout this branch on the server you want to test on then run the data taking and analysis fn's and confirm that everything looks good. Post whatever plots/etc are useful from your testing here in the review to show that you've tested that it works and that can serve are your approval to merge.

Sounds good Max. We will do that. Hopefully we can work it in to the SATp3 schedule when observing again, I think things have been down for a few days? In any case I'll interface with Yuhan, Sam, and folks at the site to test in this branch. thanks!

Sounds good Max. We will do that. Hopefully we can work it in to the SATp3 schedule when observing again, I think things have been down for a few days? In any case I'll interface with Yuhan, Sam, and folks at the site to test in this branch. thanks!

Ok, sounds good! Let me know when you get a chance to take a stab at it. I can try to be available to help debug any issues that arise.


fix: 24473 Deepliink - Keyboard displayed upon splash screen

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/24473
PROPOSAL: https://github.com/Expensify/App/issues/24473#issuecomment-1681538086
Tests

Open new chat page by deeplink
Verify that in "New chat" tab keyboard appear after splash screen is dismissed

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Tap on https://staging.new.expensify.com/new/chat
deeplink (e.g. in notes)
Verify that in "New chat" tab keyboard appear after splash screen is dismissed

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/113963320/87d07eed-a8f0-41e9-9ab0-4ba5d2bda3e1

Android: mWeb Chrome

https://github.com/Expensify/App/assets/113963320/f4139863-c13b-4d2e-9001-0a62023219fa

iOS: Native

https://github.com/Expensify/App/assets/113963320/2749abbc-f1ea-4d87-ab6c-31e9ec2a9982

iOS: mWeb Safari

https://github.com/Expensify/App/assets/113963320/30ce62d3-75c2-4993-a1fe-cfe2fe34496e

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/113963320/4a7fd49a-0bda-4df7-9527-c9cb5339bc75

MacOS: Desktop

https://github.com/Expensify/App/assets/113963320/8ba5ae17-2475-4cf7-a4fb-c1bbc030b591

@tienifr is this ready to review? I think it's still failing lint

thanks! @jjcoffee can you please do the checklist?

@danieldoglas Ah apologies this one slipped through the cracks, as @tienifr hadn't commented on the issue that the PR is ready :smile: I'll add it to my list, but can't promise I'll get to it today!

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@tienifr, just saw that it's conflicting. can you please take a look into it?

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/danieldoglas in version: 1.3.96-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 1.3.96-15 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/danieldoglas in version: 1.3.98-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/roryabraham in version: 1.3.98-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅