Styles: Cards in group have unequal image heights

Cards in a card group have unequal width depending on their content. Instead, the width of all cards should be the same.
I think this is happening because the Card Group css uses 1fr to allot space whereas it should probably use percentages instead. Example: repeat(4, 25%) instead of repeat(4, 1fr)
See the cards in this example: https://www-preview.ilo.org/es/acerca-de-la-oit

Hey @Shashika6 thanks for working on this, I think I've phrased the problem incorrectly. The issue that @inesdgomes originally raised and that I misdiagnosed is that the images in the cards are different heights.
In this situation, it's clear that longer words will force cards to be unequal widths. We can't control that, but we should be able to make sure that the heights of the images inside the cards remain the same.
I'm going to close your first PR, because I don't think we should break words just to keep things the same width, that's a very blunt solution.
Instead, what I'd recommend doing is, in the feature cards, add specific flex rules on the ilo--card--image--wrapper and ilo--card--content classes. As you'll see in the below example, I did this and got ok results.

You'll want to carefully consult the Figma designs for this component to get as close as possible to the intended ratio between the images and the content area and then do lots of testing in Storybook to make sure that there aren't any edge cases that this breaks.
Examples:

What happens when there's lots of text?
What happens where the image is portrait instead of landscape?

Let me know what you think.

hey @justintemps, Tried implementing a fix for this with the flex rules that you provided and also tried a few other things but there is at least one case that breaks the card.
Heres how it looks like for flex 0 0 45%

Large screen

Testing responsiveness on large screen with 4 cards.

One card in a large screen.

@inesdgomes see @Shashika6's comment above. This seems like a complicated problem to fix, for a minor problem that only occurs when you're trying to squeeze four cards into a space where you should really only have three. I think we should close this issue, what do you think?

Do we want to achieve something like this?
https://github.com/international-labour-organization/designsystem/assets/36326203/68c7c8ff-c054-4e12-9e53-621511750994

right now, we don't have a min-width for those cards, and that's the main issue: the screen implementation you are looking at utilizes minmax

grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));

we are trying to pass amount of card as a class to style them correctly

But if we want to use a grid we can do fit-content and utilize as much space as the parent gives us, or we can use flexbox with min-width too

Hey team, I don't know if this could help or not but have we tried working with these breakpoints we created a while ago? This would solve the problem when we resize our screen because it should automatically move to a more "tablet" look https://www.figma.com/file/TnVsWy6VobbHzZdbHdx3Rb/ILO-Page-Templates?type=design&node-id=3980%3A44686&mode=design&t=cjmAwAxdGif8pRGI-1 @justintemps @GGKapanadze


submit industry info changes

add function to intrventiondataservice that calls a PATCH request with changes to industry information
BehaviourSubject added to interventionDataService to track changes across components. call subject.next({...subject.value, ...this.changes}) in each component when form inputs change to update the subjects value with the latest changes.


Fix demux to_ascii for fasta files

Previously, this function would fail with fasta files because the call to qual.astype would fail (because qual is None when the file is fasta)

Coverage increased (+0.02%) to 79.31% when pulling b04394c0b820082f5d5e16b3287430db3c06f9cd on adamrp:demux_fasta_formatter into da407f650ce67619aaabf61d620e382f39621c22 on biocore:master.

:+1: @wasade do you mind taking a look?

:+1:

Merge?


[11.x] Handle circular references in model serialization

This is a companion PR to #51582 which resolves the issues raised around serialization of models that have circular references in relations.
TL;DR:
This PR makes some minor changes to how the main recursive operations on Models work to prevent getting into infintite recursion down a stack of circular references, which leads to a stack overflow. It does this by preventing recursive calls to the same method on an object.
What are circular references?
Put simply - circular references occur when two objects hold a reference to each other. In the context of this PR, it's when a model holds a relationship to another model which in turn holds a relationship back to the first instance. For example, if you had a user with multiple posts, and you wanted to give each post a reference back to the original user, you might do something like this:
$user->posts->each->setRelation('user', $user);

This would mean that each post has a link back to the original user, not to another copy of the user.
Why would you want to do this?
There are many reasons, but the most common reason that I encounter is authorization. What if you had a policy similar to this for posts:
class PostPolicy
{
    // ...
    public function view(User $user, Post $post): bool
    {
        return $post->published_at?->greaterThan(now()) || $post->user->is($user);
    }
    //...
}

Note that the post references it's own copy of the user object. When you're looping through posts on an index page you can easily eager-load the user (Post::with(['user'])->get()), but if you're pulling the posts for a particular user, you either have to:

Eager-load the user on the posts ($user->load(['posts.user']);) which leaves you with multiple copies of the user that you already had.
Deal with N+1 queries as each post runs a query to pull out its user - again, something that you had already pulled out of the database.
Set the relation to the existing model, and end up with a circular reference.

Setting the relation is the most memory efficient, database efficient, and has some other benefits like being able to naviagate back and forth between the user and posts without generating more queries, e.g.

@foreach($user->posts as $idx => $post)
  <x-post :$post :position="$idx + 1" />
@endforeach

user, $post]) }}">{{ $post->title }}
({{ $position }} / {{ $post->user->posts->count() }})

How does this cause problems?
For the most part, it doesn't. I've used this pattern many times on many projects, and PR #51582 would make it possible to set the inverse relation automatically in a number of situations.
The issue is when it comes to serializing a model that has circular relations. When you call toJson() or toArray() on a model with circular relations, or you attempt to send that model to a queue, or you simply want to just call push() to save the model and any of it's dependent children. Essentially any time where it tries to walk down the stack of relations recursively, you'll end up in this loop:
>>> dump($user->toArray());
[
    'id' => 1,
    'posts' => [
        0 => [
            'id' => 1234,
            'user' => [
                'id' => 1,
                'posts' => [
                    0 => [
                        'id' => 1234,
                        'user' => [
                            'id' => 1,
                            'posts' => [// ... all the way to a stack overflow

I don't know how many people have experienced a SegFault in PHP, but it's... not a fun issue to diagnose.
How does this PR fix that issue?
This adds a new internal method to models called once() withoutRecursion(). This keeps track of the call stack and will prevent the same method from being called on the same instance of an object more than once within that stack. So instead of that call stack above, you end up with something like this:
>>> dump($user->toArray());
[
    'id' => 1,
    'posts' => [
        0 => [
            'id' => 1234,
            'user' => [
                'id' => 1,
            ],
        ],
        1 => [
            'id' => 2345,
            'user' => [
                'id' => 1,
            ],
        ],
        2 => [
            'id' => 3456,
            'user' => [
                'id' => 1,
            ],
        ],
    ]
];

Because toArray() was called on $user at the top level, it doesn't get called again, so it doesn't dig down again, but because each post is a unique object, toArray() can get called on each of them.
A Couple Of Questions That You Might Want Answered
Is this backwards compatible?
Yes. This won't break any existing code because any code that would have encoutnered this problem wouldn't be working. The only concerns are if someone has already defined a once() method on a model (in which case I'm happy to change this method name if you'd prefer - I was just keeping consistency with the other existing functionality for the once() helper).
Why not use the once() helper?
For two major reasons:

It's not recursion safe

It expects a call to complete so that it can store the value before it can prevent subsequent calls to the method. This means that if the method is recursive, it will never complete. The change that I've made here accepts a "default" value which will be stored as the return value before the method is called, meaning that any recursion will return early with the default value instead of continuing to dig itself deeper.

once() would keep the result for the rest of the request, even if the model changed

We don't want to prevent ->toArray() from changing its result if the models or relations change. Each time it gets called we want to actually pull the result at that point in time. We only want the "once" behaviour to persist within the context of that one call stack. This is particularly important for ->push() - you don't want to store the result of $model->push() and never actually call it again.
Has anyone other than you even encoutnered this?
Yep! @reinink has talked about Optimizing circular relationships in Laravel, @stancl made a package to add hasManyWithInverse(), and @stayallive extended that, with an specific note about dealing with recursion.
Even if the inverse() pull request never gets merged, I believe that this would still be a valuable fix for models.

I like this PR in general!
Are there performance / memory implications with these changes? Maybe some benchmarks would be great with the before and after comparison.

That's a very difficult question to answer because the "before" case that this PR is targeting would have resulted in a stack overflow, so the test would be "it works at all" vs "Segmentation Fault".

Yeah, I meant regarding a non-circular toArray call, because it also uses the without Recursion part.

Yeah, I meant regarding a non-circular toArray call, because it also uses the without Recursion part.

So there would be extra memory usage due to attributesToArray() being cached in case there's recursion. I could mitigate against it but it would only add extra complexity to address something that is probably not (and I'm already not 100% happy with the current increase to complexity for toArray(), but I'm hedging memory usage against processing time in response to @Tofandel 's review).

@samlev really dig the PR, but unfortunately it is a pretty big hit on performance. For example, just seeding 1000 users into the database and doing return User::all()->toArray() from a route. That toArray call is 2x slower on this PR compared to current 11.x branch. I jump from roughly 40-50ms on my machine to about 100ms on this PR.

@taylorotwell There's definitely some ways to clean it up more. I'm guessing that the speed issue is the additional call to attributesToArray() which could actually be done as an "on demand"/"when needed" - I was just trying to avoid adding even more complexity.

@samlev we may just have to give the extra complexity a shot - hopefully won't be too bad. I don't think we can stomach a 2x performance hit for all Eloquent serialization.

@taylorotwell this new update should negate the performance penalty for non-circular relations (and should more or less resolve @Jubeki 's concerns about increased memory usage).
The only other "improvement" that I can think of would be to get extremely meta by forcing toArray() to be called recursively:
public function toArray()
{
    return $this->withoutRecursion(
        fn () => array_merge($this->toArray(), $this->relationsToArray()),
        fn () => $this->attributesToArray(),
    );
}

which would have the effect of only calling attributesToArray() once to fulfill the second toArray() call and give the default value. So the call stack would go something like this (visualising recursive call stacks in text is hard...):
toArray() {
  withoutRecursion() {
    toArray() {
      withoutRecursion() {
        attributesToArray();
      }
    }
    relationsToArray();
  }
}

@samlev Indeed I don't see the performance regression anymore. Nice! Will do a final review in the morning and try to get this merged. 👍

Good to see this being handled, but isn't using a flag a better approach? Regarding performance?
Something like this:
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;

class Item extends Model
{
    // recursion flag
    protected $visited = false;

    public function item(): BelongsTo
    {
        return $this->belongsTo(Item::class);
    }

    public function items(): HasMany
    {
        return $this->hasMany(Item::class);
    }

    public function toArray(): array
    {
        if ($this->visited) {
            // TODO: improve the fallback case, maybe an array
            // with a single marker value to filter out later?
            return [];
        }

        $this->visited = true;

        try {
            return parent::toArray();
        } finally {
            $this->visited = false;
        }
    }
}

With this test code:
<?php

use App\Models\Item;
use Illuminate\Support\Facades\Artisan;

Artisan::command('circular', function () {
    $parent = Item::query()->create();
    $parent->items()->create();
    $parent->items()->create();
    $parent->items()->create();

    $parent->load(['items']);

    // set parent instance manually to create the circular reference
    $parent->items->each->setRelation('item', $parent);

    $this->info($parent->toJson(\JSON_PRETTY_PRINT));

    // print twice to show the visited property is cleared nicely
    $this->info($parent->toJson(\JSON_PRETTY_PRINT));
});

Yields this output:
$ php artisan circular
{
    "updated_at": "2024-08-22T05:28:24.000000Z",
    "created_at": "2024-08-22T05:28:24.000000Z",
    "id": 1,
    "items": [
        {
            "id": 2,
            "item_id": 1,
            "created_at": "2024-08-22T05:28:24.000000Z",
            "updated_at": "2024-08-22T05:28:24.000000Z",
            "item": []
        },
        {
            "id": 3,
            "item_id": 1,
            "created_at": "2024-08-22T05:28:24.000000Z",
            "updated_at": "2024-08-22T05:28:24.000000Z",
            "item": []
        },
        {
            "id": 4,
            "item_id": 1,
            "created_at": "2024-08-22T05:28:24.000000Z",
            "updated_at": "2024-08-22T05:28:24.000000Z",
            "item": []
        }
    ]
}
{
    "updated_at": "2024-08-22T05:28:24.000000Z",
    "created_at": "2024-08-22T05:28:24.000000Z",
    "id": 1,
    "items": [
        {
            "id": 2,
            "item_id": 1,
            "created_at": "2024-08-22T05:28:24.000000Z",
            "updated_at": "2024-08-22T05:28:24.000000Z",
            "item": []
        },
        {
            "id": 3,
            "item_id": 1,
            "created_at": "2024-08-22T05:28:24.000000Z",
            "updated_at": "2024-08-22T05:28:24.000000Z",
            "item": []
        },
        {
            "id": 4,
            "item_id": 1,
            "created_at": "2024-08-22T05:28:24.000000Z",
            "updated_at": "2024-08-22T05:28:24.000000Z",
            "item": []
        }
    ]
}

Of course, there is this dangling array on the child elements' parent references, but this is just a proof of concept.
I thought on hacking with the Model@relationsToArray() method to filter them out, but didn't want to invest time on it before asking for feedback.

Yes, adding a marker will remove the dangling ones:
<?php

namespace App;

enum Visited
{
    case VISITED;
}

Changed model to account for the marker:
<?php

namespace App\Models;

use App\Visited;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;

class Item extends Model
{
    // recursion flag
    protected $visited = false;

    public function item(): BelongsTo
    {
        return $this->belongsTo(Item::class);
    }

    public function items(): HasMany
    {
        return $this->hasMany(Item::class);
    }

    public function toArray(): array
    {
        if ($this->visited) {
            return [Visited::VISITED];
        }

        $this->visited = true;

        try {
            return parent::toArray();
        } finally {
            $this->visited = false;
        }
    }

    public function relationsToArray(): array
    {
        // filters out visited relations
        return \array_filter(parent::relationsToArray(), fn ($item) => $item !== [Visited::VISITED]);
    }
}

Updated output (with a single toJson() call):
$ php artisan circular
{
    "updated_at": "2024-08-22T05:43:34.000000Z",
    "created_at": "2024-08-22T05:43:34.000000Z",
    "id": 1,
    "items": [
        {
            "id": 2,
            "item_id": 1,
            "created_at": "2024-08-22T05:43:34.000000Z",
            "updated_at": "2024-08-22T05:43:34.000000Z"
        },
        {
            "id": 3,
            "item_id": 1,
            "created_at": "2024-08-22T05:43:34.000000Z",
            "updated_at": "2024-08-22T05:43:34.000000Z"
        },
        {
            "id": 4,
            "item_id": 1,
            "created_at": "2024-08-22T05:43:35.000000Z",
            "updated_at": "2024-08-22T05:43:35.000000Z"
        }
    ]
}

Of course, instead of overriding those methods on user land, we can consider incorporating them upstream.

Just for easiness to reproduce (e.g. copy and paste), here is the migration I used:
<?php

use App\Models\Item;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    public function up(): void
    {
        Schema::create('items', function (Blueprint $table) {
            $table->id();
            $table->foreignIdFor(Item::class)->nullable()->constrained();
            $table->timestamps();
        });
    }

    public function down(): void
    {
        Schema::dropIfExists('items');
    }
};

Reproducible repo: https://github.com/rodrigopedra/circular
P.S.: moved overrides to a trait

@rodrigopedra the minor difference between the two implementations here is that the nested children will still have the relation, they just won't have the relation of the relations.
So with your example (timestamps removed for brevity):
{
    "id": 1,
    "items": [
        {
            "id": 2,
            "item_id": 1
        },
        {
            "id": 3,
            "item_id": 1
        },
        {
            "id": 4,
            "item_id": 1
        }
    ]
}

The implemntation in this PR would still have the "item" on each of the children:
{
    "id": 1,
    "items": [
        {
            "id": 2,
            "item_id": 1,
            "item": {
                "id": 1
            }
        },
        {
            "id": 3,
            "item_id": 1,
            "item": {
                "id": 1
            }
        },
        {
            "id": 4,
            "item_id": 1,
            "item": {
                "id": 1
            }
        }
    ]
}

This doesn't seem super important, but it's more "accurate" as to the actual state of each object, and more consistent with the result if you had eager-loaded the relations (e.g. Item::with('items.item')).
There's more to it, but we also have the potential for a method that causes recursion to call another method that might cause recursion, and we don't want to prevent that second call from happening but we still want to be sure that everything is cleaned up after any individual call to toArray() or push() or getQueueableRelations().
Doing it with a static weak map also opens up possibilities with inspecting levels of recursion (e.g. static::getRecursionCache()->count() would tell you how many individual objects of the current class are currently in play in the current call stack - something that might be useful for diagnostics or observability, or even just limiting the size of the call stack). WeakMaps "clean up" after themselves - or more to the point they don't prevent objects from being garbage collected - so we also don't really have a risk of orphaned records, or holding on to extra memory for any longer than we need to.

@rodrigopedra yours has an edge case when the relation collection is shared while current PR does not:
$sharedItem = new Item(['name' => 'shared']);

$itemA = new Item(['name' => 'a']);
$itemA->setRelation('shared', $sharedItem);
$itemB = new Item(['name' => 'b']);
$itemB->setRelation('shared', $sharedItem);

$items = Collection::make([$itemA, $itemB]);

$parent = new Item(['name' => 'parent']);
$parent->setRelation('items', $items);

$sharedItem->setRelation('items', $items);

dd($parent->toArray());

Output:
array:2 [
  "name" => "parent"
  "items" => array:2 [
    0 => array:2 [
      "name" => "a"
      "shared" => array:2 [
        "name" => "shared"
        "items" => array:2 [
          0 => array:1 [
            0 => App\Visited {#1671
              +name: "VISITED"
            }
          ]
          1 => array:1 [
            "name" => "b"
          ]
        ]
      ]
    ]
    1 => array:2 [
      "name" => "b"
      "shared" => array:2 [
        "name" => "shared"
        "items" => array:2 [
          0 => array:1 [
            "name" => "a"
          ]
          1 => array:1 [
            0 => App\Visited {#1671}
          ]
        ]
      ]
    ]
  ]
]

@samlev thanks, I noticed that when looking at the tests. And you are right, that'd be more accurate.
@donnysim while digging into the PR's code, I moved away from using this marker. But, thank you so much for reviewing it, and for the insights.
@samlev I updated my test repo, and also created a fork to use the same test set as yours (Minus the test cases that, I commented out that I don't quite get the assertion being 0):
https://github.com/rodrigopedra/framework/commit/e2616f3edb38080768ba4350d3cffc5613424f21
I didn't want to push a new PR, as I don't want to overtake this one.
I understood from your test cases that my alternative implementation was missing the mixed function recursion. So I incorporated the stack trace you have in yours.
Can you review it? I believe it is a simpler approach, and avoids a static global WeakMap.
Nonetheless, thank you very much for this PR, I had to deal with manually unsetting relations on many projects before.

@donnysim, on my POC repository, I added a second command to account for the use case you mentioned.
Follow its README and run php artisan shared
Thanks again for the insights.

The big problem with the flag is if you call the method multiple times after having changed attributes for example, which in theory the withoutRecursion doesn't have
It's a bit of a functional programming vs OOP

@Tofandel as an internal/protected property, that would only happen if someone overrides it manually in an unintended way.
Yet, the same can happen with the static cache. One could just assign a new WeakMap instance to the cache and blow things up.
When I saw the tests I moved away to a single flag, due to the mixed recursive method call, as a single flag prevented that use case.
(check the DatabaseConcernsPreventsCircularRecursionTest and look for the PreventsCircularRecursionWithRecursiveMethod@callOtherStack method)
But I'd still go for a per-instance stack than a global WeakMap. That is just as a matter of preference, the current state of this PR is a great addition, IMO.

I was talking about your original implementation in comments, your new implementation is almost the same as the one proposed in this PR and uses a WeakMap of the callstack as well

@Tofandel it has a different approach for not caching the first ever $default value.
On this PR's implementation, the first ever $default value is cached for future reference, on mine it uses the then current value from the next recursive call.
But nonetheless, apart from the cross recursive calls between different functions, which clearly don't work with the single flag approach, I wonder how keeping a map of call stack hashes is much different than the flag approach, regarding your functional vs OOP comment.
I moved away from the single flag implementation to accommodate the cross recursive calls for different functions. Although I think that for the serialization use case it would be totally fine, as none of the currently affected methods reference each other.
It is ok if you don't want to stretch this further, and thanks again for reviewing my code =)

Thanks @samlev - really well done PR.


Allow manual book order sorting

Desired Feature: Allow Book order sorting, similar to how this works within books for chapters/pages

This is related with https://github.com/BookStackApp/BookStack/issues/126

I would also like to see this added.

how about being able to choose "Specific Shelf" for the application homepage?
that would be a great compromise
then you could have one shelf and set it to the home page
I'd imagine that's fairly easy to implement, and the dropdown is already there so no clunkiness
and it wouldn't break existing use-cases

@agent4125 Related to #1519 and #2315

For now, just a small tweak about the default order in the shelves : just edit app/Entities/Controllers/BookshelfController.php file and remove the line below. It will set the default sort order to name (as it will be the first on the list).

        $listOptions = SimpleListOptions::fromRequest($request, 'shelf_books')->withSortOptions([
-            'default' => trans('common.sort_default'),
            'name' => trans('common.sort_name'),
            'created_at' => trans('common.sort_created_at'),
            'updated_at' => trans('common.sort_updated_at'),
        ]);

To set the default order to created_at, just put the created_at line above all the others (so it will be the first item in the array).
PS: to set the default order in the shelves view, edit the order following the line $listOptions = SimpleListOptions::fromRequest($request, 'bookshelves')->withSortOptions([

This would be great. Having a Book on Shelf sorting option like chapters and pages would allow a more enforced structure.

@sfahmy Just to confirm, you can already manually sort the order of books on a shelf (By editing the shelf). This issue is for defining a manual order for the top-level /books view.

Thanks. I hadn't realised the distinction because I don't use shelves. Hence the top level view for me is just a list of books. I wonder if it would make sense to have a default top shelf if there are no shelves so that the same mechanism can be used?

Hello,
I'm discovering BookStack, and I find it pretty awesome !
It would be great if we could manualy order shelves as it works already with books.
Meanwhile, I can force order by prefixing shelves titles but it's not as pretty.
Best regards.


How do I set defines included through the toolchain?

Hello! Some macros such as UINT_MAX are defined in files through the toolchain. One example of this is clang's limits.h https://clang.llvm.org/doxygen/limits_8h_source.html
How can I make DWYU aware of these? Is it possible for it to be aware of the toolchain at all? If not, a suboptimal solution could be to do something like what is done for extra_ignore_include_paths where we hardcode a list of includes available. FWIW I've been hardcoding a subset of the defines I care about via a patch and it's worked fine for my use case, but if there is a better way to do this that would be ideal. The reason defines may matter is they affect which includes are used.
Thanks!

It is an open TODO to incorporate the Bazel C++ toolchain as source for which headers are available to the targets.
It is hard to come with a generic solution to all potential cases involving defines without hooking into the compiler itself (which this project actively decided against for better or worse). I might introduce an interface to hard code whatever defines a user wants to be always set 🤔 Can't promise anything concrete yet though.


Discord won't work (desktop viewport) due to a lack of horizontal scrolling

The discord webapp will not let me scroll horizontally when using it in WebApps. (in desktop mode as the mobile mode does not allow logging in online)

how do you enable desktop viewport?

how do you enable desktop viewport?


feat: debugger error navigation

Description
Property pane navigation on click of a widget error or log from the debugger. Navigation to a field works if the log has the required meta data here it would be the property path. With the help of the property pane config and the widget's properties we generate the payload to set the required panel, tab, section states. Factory class to clearly separate out the logic for the different entities.
PR fixes following issue(s)
Related to https://github.com/appsmithorg/appsmith/issues/16408
Fixes https://github.com/appsmithorg/appsmith/issues/25465
Fixes https://github.com/appsmithorg/appsmith/issues/25462
Media
https://github.com/appsmithorg/appsmith/assets/67054171/138caa19-fd95-42db-b188-ae271202d68b
Type of change

New feature (non-breaking change which adds functionality)

Testing

How Has This Been Tested?

[x] Manual
[ ] Jest
[x] Cypress

Test Plan
https://github.com/appsmithorg/TestSmith/issues/2450
Issues raised during DP testing
https://github.com/appsmithorg/appsmith/pull/25505#issuecomment-1643969393
https://github.com/appsmithorg/appsmith/pull/25505#issuecomment-1651882039
Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[x] Speedbreak features have been covered
[x] Test plan covers all impacted features and areas of interest
[x] Test plan has been peer reviewed by project stakeholders and other QA members
[x] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/build-deploy-preview skip-tests=true

/build-deploy-preview skip-tests=true

/ok-to-test

/ok-to-test

/build-deploy-preview skip-tests=true

@akash-codemonk
Issues found during DP testing  : https://ce-25505.dp.appsmith.com/
Issue 1 : Navigation does not work if we use search in property pane.
https://www.loom.com/share/a8cca459974147ba9bc9fe868ee99de5?sid=211622b7-63d9-4fcf-81b6-61afa0ed9983
Issue 2 : Auto scrolling is not happening to locate the error in chart widget if we have more than 1 series data
https://www.loom.com/share/a1cfaa8333a7437591fff11faa4e00ca?sid=e9703eac-d0d7-4927-9e81-9a51a3873e79

Issue 1 : Navigation does not work if we use search in property pane. https://www.loom.com/share/a8cca459974147ba9bc9fe868ee99de5?sid=211622b7-63d9-4fcf-81b6-61afa0ed9983

Expected, we will keep the search.

Issue 2 : Auto scrolling is not happening to locate the error in chart widget if we have more than 1 series data https://www.loom.com/share/a1cfaa8333a7437591fff11faa4e00ca?sid=e9703eac-d0d7-4927-9e81-9a51a3873e79

For this particular field everything under chart series is considered as one field. You can try collapsing the section, it will open. Expected.

/ok-to-test

Issue 3 : Navigation to error field not working on switching between layouts for code scanner widget
Issue 4 : Menu button widget : Debugger error navigation not working when switching from static to dynamic menu item source

Expected. Ideally the error shouldn't be visible in the debugger. Out of scope of this PR. We won't enable back static mode as we are not interested in updated any values.

Issue 5 : Unable to locate the error field from the one menu item to other menu item
Issue 6 : Tabs widget : Error is not locating from tab 1 to tab 2
Issue 7 : Table widget : Unable to locate the error in a column from a column

5, 6, 7 are the same bug. Fixed, will be available in the updated DP.

Issue 8 : Table widget : Error field is not showing in JS toggled mode on for columns

Expected, ideally the error shouldn't be there on the debugger. Out of scope of the PR. Switching back to js will update the values which we don't intend to do.
@kavitasmoolya

/build-deploy-preview skip-tests=true

/build-deploy-preview skip-tests=true

/ok-to-test

/build-deploy-preview skip-tests=true

/build-deploy-preview skip-tests=true

/ok-to-test

Retesting status :
Below issues retested and working fine
Issue 10 : JSON form widget : property link is not expanding for elements inside the JSON form Ex : Style panel > icon

Issue 9 : Table widget : Navigation to error in a new column does not work
Issue 7 : Table widget : Unable to locate the error in a column from a column
Working fine : https://www.loom.com/share/24edcdc7fb20436b90e018f1e0a18e6b?sid=eb627266-a16e-48fd-ad74-6508c315575b
Issue 5 : Unable to locate the error field from the one menu item to other menu item :
Working fine : https://www.loom.com/share/b4baf1cf18d848e6bcdb735412d6504c?sid=a096508e-da04-4803-8229-b648b406ba24
Issue 6 : Tabs widget : Error is not locating from tab 1 to tab 2
Working fine : https://www.loom.com/share/72af62cfa67d490d8b4f67b572a1bd86?sid=015fbfed-c0b7-4bdc-8a07-09fe20391f5b

@akash-codemonk
Please look into below issues
Table widget:

[ ] validation when collapsed does not expand

[ ] Cloning page containing table clears the errors on cloned page & original page

Widget name refactor

[ ] Widget with error gets cleared from the debugger and comes back only when widget property is edited

Modal widget

[ ] clicking on error belonging to child widget does not show the modal widget, only opens the property pane of the child widget
[ ] adding a list widget to a modal and causing an error on the container, like Animate Loading: 90 shows an error for the container when modal is closed and does not navigate the the specific error

Tab widget

[ ] Page refresh clears error present on nested tab scenario
[ ] Child widget (audio widget scenario) does not show when clicked widget, only shows property pane of the clicked widget

/build-deploy-preview skip-tests=true

/ok-to-test

[x]  validation when collapsed does not expand
[x]  clicking on error belonging to child widget does not show the modal widget, only opens the property pane of the child widget
[x]  Child widget (audio widget scenario) does not show when clicked widget, only shows property pane of the clicked widget

Fixed

[ ]  Cloning page containing table clears the errors on cloned page & original page
[ ]  Widget with error gets cleared from the debugger and comes back only when widget property is edited
[ ]  Page refresh clears error present on nested tab scenario

Expected. Removal/addition of errors in the debugger is out of scope.

[ ]  adding a list widget to a modal and causing an error on the container, like Animate Loading: 90 shows an error for the container when modal is closed and does not navigate the the specific error

Expected. There is no UI field for this error, so it does not navigate to it. Ideally the error shouldn't be there.
@kavitasmoolya

[x]   validation when collapsed does not expand
[x]   clicking on error belonging to child widget does not show the modal widget, only opens the property pane of the child widget
[x]   Child widget (audio widget scenario) does not show when clicked widget, only shows property pane of the clicked widget

Fixed

Working fine now.
@akash-codemonk

/ok-to-test

/ok-to-test

/ok-to-test


Add Sakupen Circles X Gangsta Paradise X Super idol by Unknown

Song Name
Sakupen Circles X Gangsta Paradise X Super idol
Artist Name
Unknown
Source
Youtube
Youtube Link
6QVc17M7feI
Direct File Link
No response
Song ID
360804
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 77183024

reject
artist must be descriptive


Mempool space

Bitcoin Core fee estimation is not very accurate. With this change, meempool.space api will be used as a preferred estimation method per BTC fees. The fee estimations are fetched through a Shift mirror server.

rebased ^

Pushed a new update:

removed the fee caching
created different fee targets for mempool.space
removed the deletion of duplicated fees from account.FeeTargets()
addressed the other comments

@benma PTAL :pray:
I feel like we could refactor a bit more, moving the fee handling part from the account to the coin. But I think it's better to do it in a separate PR, to keep things simple.

rebased

@benma Thanks for the review and for catching the bugs. I think I only checked that the fees were displayed properly in the interface and I didn't test an actual signing, so I missed the error you got.
Now it should be good.

@benma Thanks for the review and for catching the bugs. I think I only checked that the fees were displayed properly in the interface and I didn't test an actual signing,

I also didn't do any signing - the fees dropdown is disabled until you add an address/amount, and at that point it already failed.

I also didn't do any signing - the fees dropdown is disabled until you add an address/amount, and at that point it already failed.

I was curious and checked: it actually worked with just the amount until you add an address, because it needs both the address and the amount to make the TX proposal (which was the failing part). This is how I didn't notice the error :D

When I go to the send-screen, the fee-targets endpoint is called many times, which means there are many requests to the server. I fixed this in https://github.com/BitBoxSwiss/bitbox-wallet-app/pull/2730.

Awesome :heart:  Thanks a lot


Pass log_level to mutated container

Q
A

Bug fix?
yes

New feature?
no

API breaks?
no

Deprecations?
no

License
Apache 2.0

What's in this PR?

Just pass log_level to mutated container
Why?

We want to remove unnecessary logs from end container
Checklist

[x] Code meets the Developer Guide
[x] User guide and development docs updated (if needed)
[ ] Related Helm chart(s) updated (if needed)

If this is related to the previous log level PR, the probably the environment variable name should begin with VAULT_: 07a03ba#diff-203b8812e7300d02adf4c89070655c8eR119

yes, thanks.


Several bugs in import / export of coefficients / poles & zeros

[ ] *.npy files can be exported in various formats (float, hex, ...). When the format is set differently during import, errors occur. Is this the way it should be?
[ ] The gain factor k is not stored / retrieved during export / import of poles and zeros. Should there be a third column for k?

integrate into #144,


Make builder plugins optional in production

I think it would be great to have less dependencies in our deployments. We could have a way to load dev plugins like require, but effectively optional. That way the modules below can be in devDependencies cutting down on deployment size.
ss-jade
ss-less
ss-sass
ss-hogan
ss-some-fancy-templater
ss-angular

Agreed.


CI - Add S3 Assets Upload workflow

please speak with @luizstacio - this was a request from him to devops team to create a S3 upload github actions pipeline- he is aware as this is his request

going to close this - @luizstacio reach out to me when your team is ready for this

@arboleya @camsjams this is to enable the distribution of the fuels package via CDN.


Re-connect to all wallet accounts

Hi,
First, thank you for a great project.
I understand that is possible to pass the autoSelect parameter to connect to re-connect to a wallet, but this only connects one account of that wallet. I was wondering if there is a way to re-connect accounts of the wallet.
Thanks.
Best.

Hey @zned45 thanks for this feature request! We have put it on our product road map and will update this issue as we progress on this feature.

Hey @zned45 there is not any current wallet provider API's (that we know of) that allow for requesting specific accounts to be connected, so the user will need to do that themselves manually. If a wallet implements an API that allows for that, we could look at implementing.
Closing this issue for now, but feel free to reopen if you know of a wallet API that has this functionality.


Pax-exam fails on java10

https://groups.google.com/forum/#!topic/ops4j/ECLrw9YezoQ

Related to:

https://github.com/DozerMapper/dozer/issues/612


How do we handle background on the body element?

e.g. See bug crbug.com/565930. If we don't resize the body, then a background on the body element wont fill the viewport.
First step is to see how this handles on Safari today.

background-attachment: fixed was the problem and Safari doesn't support that at all. The solution here is to continue resizing fixed attachment background even if there's no relayout.


Keyguard: Fix Turkish translation

When the device is 100% charged, the "Charged" string
on the lock screen is translated into Turkish;
"Ödeme alındı", English equivalent; "Payment received".
So when the device is fully charged, it displays
"Payment received" in English on the screen.

Crowdin please.

@akhilnarang This section is not on crowdin

https://github.com/ResurrectionRemix/android_frameworks_base/commit/97f512f8f225041bcf73a91e466b7f9f04b0d2ac


Initialize destinations for destination REST API

The most relevant changes are in quasar.run.Quasar. There are other changes that are necessary for subsequent PRs with the actual API implementation.
Part of [ch7014]
Changes are breaking because of changes in quasar.run.Quasar.apply.

Released as 128.1.0-107524a

🛑up since I'll need to make changes in this branch for dependent PR reviews.

Closing in favor of #4202


visualization program

I wonder whether this code has not provided the code of the visualization program, using the TFA trained model for test? I have reproduced TFA and trained the model with this code. And I want to take an image to see the effect of the detection with visual interface.Could you help me？Thanks a lot！

You can see the inference.py I implemented, which detects all images in a folder and displays the detection bboxes on the image. And this program can draw the heatmap image, welcome to star, the link is https://github.com/LiangYang666/mmfewshot/blob/liang/tools/detection/inference.py

I wonder whether this code has not provided the code of the visualization program, using the TFA trained model for test? I have reproduced TFA and trained the model with this code. And I want to take an image to see the effect of the detection with visual interface.Could you help me？Thanks a lot！

You can see the inference.py I implemented, which detects all images in a folder and displays the detection bboxes on the image, and it can draw the heatmap too. welcome to star, the link is https://github.com/LiangYang666/mmfewshot/blob/liang/tools/detection/inference.py

I wonder whether this code has not provided the code of the visualization program, using the TFA trained model for test? I have reproduced TFA and trained the model with this code. And I want to take an image to see the effect of the detection with visual interface.Could you help me？Thanks a lot！

You can see the inference.py I implemented, which detects all images in a folder and displays the detection bboxes on the image, and it can draw the heatmap too. welcome to star, the link is https://github.com/LiangYang666/mmfewshot/blob/liang/tools/detection/inference.py

Thank you very much for your help. Your ideas are very valuable. I will read the code you provided carefully.

I wonder whether this code has not provided the code of the visualization program, using the TFA trained model for test? I have reproduced TFA and trained the model with this code. And I want to take an image to see the effect of the detection with visual interface.Could you help me？Thanks a lot！

You can see the inference.py I implemented, which detects all images in a folder and displays the detection bboxes on the image, and it can draw the heatmap too. welcome to star, the link is https://github.com/LiangYang666/mmfewshot/blob/liang/tools/detection/inference.py

PRs are welecomed!

Please, does this link still exist? Is it possible to send a complete one? Thank you very much.

Please, does this link still exist? Is it possible to send a complete one? Thank you very much.

Always available, maybe the link is not set up, please copy it and open it ，https://github.com/LiangYang666/mmfewshot/blob/liang/tools/detection/inference.py

我使用了此链接提供的inference.py文件，但是报了以下错误：PermissionError: [Errno 13] Permission denied: './test_images\heatmaps'  请问该如何解决？

我使用了此链接提供的inference.py文件，但是报了以下错误：PermissionError: [Errno 13] Permission denied: './test_images\heatmaps' 请问该如何解决？

可能是没权限或文件不存在吧

我使用了此链接提供的 inference.py 文件，但是报了以下错误：PermissionError： [Errno 13] Permission denied： './test_images\heatmaps' 请问该如何解决？

可能是没权限或文件不存在吧

请问有解决的方法吗？我目前需要使用这一功能，可以提供下思路吗


Replace our custom Cypress upload_file function with cypress-file-upload plugin

Our implementation will break on Chrome >=73, and the module is better maintained and tested than our version.
Our implementation is also copy+pasta'd about 3 times throughout the codebase (search for upload_file).
https://github.com/abramenal/cypress-file-upload

Hey @jesstelford I would like to work on this, let me know if I need to know anything important before I do

Hi it seems like @Vultraz is working on this?
Wanted to confirm, thanks


Handle/simulate 404 error?

Currently if user tries to access the url which doesn't exist browser shows him "index.html". Is it possible to handle this situation?

This situation should be sovled by the sever side configs.For example,the Nginx config can handle the 404 error.


Read the PR guidelines but need further clarity before submitting.

Hey @sindresorhus, I read the guidelines that you made with much effort but looks like my awesome list is not compatible here,  I made it because I liked it without knowing about your 'awesome' thing.
here's the link - https://github.com/zriyansh/awesome-os/
Everything can be followed according to the guidelines but I cannot format it in --
[Name](link) - description
as the list requires adding more details, so I used tables instead, have a look.
I have not yet run awesome-lint on the list.
If you think this list can find a place here, let me know so I can reformat it according to the need.
Thanks for your time.

unicorn

The list is a collection of all big and small open-source projects and clones of Linux, Windows, and macOS operating system and their software.

I see no reason why you have to use tables for this. Tables in this case actually makes it worse. It's a bad experience on mobile and it's super annoying to edit, so it will be harder for users to contribute.


Added revm test project.

Dismembered from PR #553.

I'll rebase this so that it passes the new check.

looks like the queue feature is broken or something.

There should only be a single commit in this pr


Manually uploaded files get corrupted on download

Hey there
I'm programmaticaly upload files, using custom script.
When i try to download files through filemanager, all the files except .txt gets corrputed. The files that i'm trying to download are .zip
This only happened on deployment server!
any help will be appreciated!
thank you

Anyone who can help me ?

SOLVED !!
public function getDownload()
{
//ADD THIS LINE
ob_end_clean();
//END ADDED LINE
return response()->download(parent::getCurrentPath(request('file')));
}


In the "Report" folder I only see StepDurations.csv

Hi,
In the "Report" folder I only see StepDurations.csv and I can't find the other files to generate the reports.
I appreciate your help,
Thanks.

Can you upload logs https://github.com/Appdynamics/AppDynamics.DEXTER/wiki/Log-Files to show us what happened? Clearly the job didn't finish.

I'm getting same error, not able to generate any reports using the latest version of dexter.

Please send job file and logs. Can't help without them.

In the reports section, I am seeing it create a folder for the Excel file, not the file.

Saving Excel report C:\AppD.Dexter.Out\SaaSTest-Reduced-10-2019\Report\kemper-test.saas\KA - AgentIn.2813\SEP\MetricGraphs.SEP.kemper-test.saas.KA - AgentIn.2813.201910010400-201911010400.xlsx
Unable to save Excel file C:\AppD.Dexter.Out\SaaSTest-Reduced-10-2019\Report\kemper-test.saas\KA - AgentIn.2813\APP\MetricGraphs.APP.kemper-test.saas.KA - AgentIn.2813.201910010400-201911010400.xlsx
Report Metric Graphs Metrics for Errors (11 entities, 744 timeranges)
Unable to save Excel file C:\AppD.Dexter.Out\SaaSTest-Reduced-10-2019\Report\kemper-test.saas\KA - AgentIn.2813\BT\MetricGraphs.BT.kemper-test.saas.KA - AgentIn.2813.201910010400-201911010400.xlsx
ERR CallsAndResponse starting for 11 entities [0].Unable to save Excel file C:\AppD.Dexter.Out\SaaSTest-Reduced-10-2019\Report\kemper-test.saas\KA - AgentIn.2813\BACK\MetricGraphs.BACK.kemper-test.saas.KA - AgentIn.2813.201910010400-201911010400.xlsx
ERR CallsAndResponse complete
Saving Excel report C:\AppD.Dexter.Out\SaaSTest-Reduced-10-2019\Report\kemper-test.saas\KA - AgentIn.2813\TIER\MetricGraphs.TIER.kemper-test.saas.KA - AgentIn.2813.201910010400-201911010400.xlsx
Saving Excel report C:\AppD.Dexter.Out\SaaSTest-Reduced-10-2019\Report\kemper-test.saas\KA - AgentIn.2813\NODE\MetricGraphs.NODE.kemper-test.saas.KA - AgentIn.2813.201910010400-201911010400.xlsx
Unable to save Excel file C:\AppD.Dexter.Out\SaaSTest-Reduced-10-2019\Report\kemper-test.saas\KA - AgentIn.2813\SEP\MetricGraphs.SEP.kemper-test.saas.KA - AgentIn.2813.201910010400-201911010400.xlsx
Saving Excel report C:\AppD.Dexter.Out\SaaSTest-Reduced-10-2019\Report\kemper-test.saas\KA - AgentIn.2813\ERR\MetricGraphs.ERR.kemper-test.saas.KA - AgentIn.2813.201910010400-201911010400.xlsx
Unable to save Excel file C:\AppD.Dexter.Out\SaaSTest-Reduced-10-2019\Report\kemper-test.saas\KA - AgentIn.2813\ERR\MetricGraphs.ERR.kemper-test.saas.KA - AgentIn.2813.201910010400-201911010400.xlsx
Unable to save Excel file C:\AppD.Dexter.Out\SaaSTest-Reduced-10-2019\Report\kemper-test.saas\KA - AgentIn.2813\TIER\MetricGraphs.TIER.kemper-test.saas.KA - AgentIn.2813.201910010400-201911010400.xlsx
Unable to save Excel file C:\AppD.Dexter.Out\SaaSTest-Reduced-10-2019\Report\kemper-test.saas\KA - AgentIn.2813\NODE\MetricGraphs.NODE.kemper-test.saas.KA - AgentIn.2813.201910010400-201911010400.xlsx

I already noticed this and fixed it in the next upcoming build. For now, the Metric Graphs report is broken - there isn't anything you can do to work around that.

I already noticed this and fixed it in the next upcoming build. For now, the Metric Graphs report is broken - there isn't anything you can do to work around that.

Is it fixed ? I'm getting same error.
OpenQA.Selenium.WebDriverException: unknown error: Chrome failed to start: exited normally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location C:\Program Files (x86)\Google\Chrome\Application\chrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeDriverService service, ChromeOptions options, TimeSpan commandTimeout)
at OpenQA.Selenium.Chrome.ChromeDriver..ctor(String chromeDriverDirectory, ChromeOptions options, TimeSpan commandTimeout)
at OpenQA.Selenium.Chrome.ChromeDriver..ctor(String chromeDriverDirectory, ChromeOptions options)
at AppDynamics.Dexter.ProcessingSteps.ExtractAPMEntityDashboardScreenshots.Execute(ProgramOptions programOptions, JobConfiguration jobConfiguration) in C:\appdynamics\AppDynamics.DEXTER\src\ProcessingSteps\Extract\ExtractAPMEntityDashboardScreenshots.cs:line 179

The call stack you are showing is not from Entity Metric Graphs report. That is fixed, will be released next week

Fixed in https://github.com/Appdynamics/AppDynamics.DEXTER/commit/8659a926954337413ea08d1e58dd343b3cbf2cbc


refactor(logging): updated log messages

Codecov Report

Merging #314 (048ee81) into master (4e38fae) will increase coverage by 0.03%.
The diff coverage is 26.56%.

:exclamation: Current head 048ee81 differs from pull request most recent head 4e683f7. Consider uploading reports for the commit 4e683f7 to get more accurate results

@@            Coverage Diff             @@
##           master     #314      +/-   ##
==========================================
+ Coverage   44.70%   44.74%   +0.03%
==========================================
  Files          50       50
  Lines        3042     3042
  Branches      531      533       +2
==========================================
+ Hits         1360     1361       +1
+ Misses       1505     1504       -1
  Partials      177      177

Impacted Files
Coverage Δ

src/Validator.ts
40.76% <0.00%> (ø)

src/WSManProcessor.ts
25.45% <0.00%> (ø)

src/actions/CIRAConfigurator.ts
20.00% <0.00%> (ø)

...repositories/factories/AMTDeviceVaultRepository.ts
20.00% <0.00%> (+0.48%)
:arrow_up:

src/routes/admin/profiles/editProfile.ts
54.08% <0.00%> (ø)

src/utils/SecretManagerService.ts
14.28% <0.00%> (ø)

src/ProfileManager.ts
50.49% <16.66%> (ø)

src/WebSocketListener.ts
30.18% <20.00%> (ø)

src/DomainCredentialManager.ts
46.66% <25.00%> (ø)

src/actions/Deactivator.ts
58.82% <50.00%> (ø)

... and 6 more

Continue to review full report at Codecov.

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


Drop Python 3.7 support

Currently we run tests for Python 3.7 and have make sure everything works.
I propose to drop support for 3.7 in the next release and remove the tests. The current version might or might not work on 3.7 but we won't fix 3.7 related issues.
Some issues:

macos-latest on Github actions doesn't support 3.7 (requires this fix: https://github.com/actions/runner-images/issues/9770 )

Python 3.7 has reached its end of life, so dropping support for it seems reasonable. According to pypistats most users are on Python >=3.9.

I'm also fine with dropping support for Python 3.7.
https://peps.python.org/pep-0537/#schedule-last-security-only-release


update for may release

@corivera , FYI, your PR contains format changes to other extensions, It would be easier for me to pick your vnext extension changes. I have included your changes in my PR

merging directly.


[Java][DateTime] Fix arbitrary order in parsed elements

Fixes XXXX
Description
Fixes arbitrary differences in order found when retrieving elements from the output of BaseMergedDateTimeParser::dateTimeResolution, which created a disparity against the same output in C# and JavaScript.
Specific Changes
We changed the type of the res variable to LinkedHashMap, since with the original type HashMap, there's no certainty of the order the values will be retrieved in.
Testing
Successful Java build.cmd execution

Merged in MS


Fix AWS region validation for SES destinations

Signed-off-by: Joshua Li<EMAIL_ADDRESS>Description
When validating if aws region exists, use getName() instead of .name because it.name returns US_WEST_2 instead of us-west-2.
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

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

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[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.

Codecov Report

Merging #302 (0997237) into main (68bd46f) will increase coverage by 14.25%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##               main     #302       +/-   ##
=============================================
+ Coverage     65.61%   79.86%   +14.25%
=============================================
  Files           136       60       -76
  Lines          4292     1644     -2648
  Branches        707      421      -286
=============================================
- Hits           2816     1313     -1503
+ Misses         1296      323      -973
+ Partials        180        8      -172

Flag
Coverage Δ

dashboards-notifications
79.86% <ø> (ø)

opensearch-notifications
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

.../notifications/action/PublishNotificationAction.kt

...rch/notifications/action/SendNotificationAction.kt

...fications/action/UpdateNotificationConfigAction.kt

...search/notifications/spi/setting/PluginSettings.kt

...tions/spi/transport/WebhookDestinationTransport.kt

...ch/notifications/model/NotificationEventDocInfo.kt

...ations/resthandler/NotificationEventRestHandler.kt

...fications/action/DeleteNotificationConfigAction.kt

...ch/notifications/action/GetPluginFeaturesAction.kt

...rch/notifications/resthandler/PluginBaseHandler.kt

... and 65 more

Continue to review full report at Codecov.

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


sys.dm_io_virtual_file_stats does not have a database_name column (docs says it does)

On this page:
https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-io-virtual-file-stats-transact-sql?view=sql-server-ver15
The documentation says database_name is a column in this function. It's not, at least not in SQL Server. Needs to have the "Does not apply to:: SQL Server 2008 through SQL Server 2019." labeling on it that the other unavailable columns have. Thanks!

@BrentOzar -- Brent, thank you for your feedback.  I am updating this article.

@markingmyname -- Mark, please review private PR 17873.


Fix JIT to support notebook environment

Closes #6320.
This fixes source retrival of JIT to support IPython and notebook environment such as Jupyter.
When JIT is used under Python interpreter, it now recommends using IPython:
>>> import cupy
>>> a = cupy.array([0.4, -0.2, 1.8, -1.2])
>>> relu = cupy.vectorize(lambda x: (x > 0.0) * x)
>>> print(relu(a))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/maehashi/Development/cupy/cupy/_functional/vectorize.py", line 87, in __call__
    result = func._emit_code_from_types(in_types, ret_type)
  File "/home/maehashi/Development/cupy/cupyx/jit/_interface.py", line 38, in _emit_code_from_types
    return _compile.transpile(
  File "/home/maehashi/Development/cupy/cupyx/jit/_compile.py", line 138, in transpile
    tree, source = _parse_function_object(func)
  File "/home/maehashi/Development/cupy/cupyx/jit/_compile.py", line 82, in _parse_function_object
    raise ValueError(
ValueError: JIT needs access to the Python source code for <function <lambda> at 0x7f5ce05ccaf0> but it could not be retrieved within the Python interactive interpreter. Consider using IPython instead.

IPython interpreter:
In [1]: import cupy

In [2]: a = cupy.array([0.4, -0.2, 1.8, -1.2])

In [3]: relu = cupy.vectorize(lambda x: (x > 0.0) * x)

In [4]: print(relu(a))
[ 0.4 -0.   1.8 -0. ]

Jupyter notebook:

/test mini

Does it mean we longer need the workaround (#5071) of setting a custom getsource() function (say from dill)?

We noticed that dill.source.getsource is not reliable in several cases and should not be recommended to users. e.g.,:
>>> import dill
>>> x = lambda: 100
>>> y = lambda: 200
>>> dill.source.getsource(x)
'y = lambda: 200\n'

As there are no alternate getsource functions available that works within Python interpreter, I'm thinking it's ok to remove _getsource_func feature.

/test mini

/test mini

@asi1024 Failed to backport automatically.

Not cleanly cherry-picked


Support parse definition in vendor, for issues/242

Describe the PR
Support parse definition in vendor, for issues/242
https://github.com/swaggo/swag/issues/242
Relation issue
https://github.com/swaggo/swag/issues/242
Additional context
I found that this tool can work well, expect for parsing this file: https://github.com/swaggo/swag/blob/master/operation.go
Which file is in this repo~~ So I ignored this repo when parse vendor folder

Codecov Report

Merging #331 into master will increase coverage by 0.05%.
The diff coverage is 88.88%.

@@            Coverage Diff             @@
##           master     #331      +/-   ##
==========================================
+ Coverage      87%   87.05%   +0.05%
==========================================
  Files           7        7
  Lines        1277     1282       +5
==========================================
+ Hits         1111     1116       +5
  Misses        103      103
  Partials       63       63

Impacted Files
Coverage Δ

gen/gen.go
68.88% <100%> (+0.7%)
:arrow_up:

parser.go
88.82% <87.5%> (+0.06%)
:arrow_up:

Continue to review full report at Codecov.

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

LGTM

Thx!

@a180285 @pei0804 would you help add parseVendor flag doc in https://github.com/swaggo/swag#swag-cli?

@a180285
Can you? or I write?

@pei0804
I forget to update the doc before you notice me.
I can update docs tomorrow. If you are urgent to update the doc, you can help to update it.

OK I write.

Thanks


Fix a bug of wrongly computing sizeInBytes in the lowering of KrnlGlobal

Jenkins Linux ppc64le Build #10498 [push] ... started at 09:02

Jenkins Linux ppc64le Build #10498 [push] ... failed after 2 min 42 sec


Create New Component for Filtering

Depends on this issue

[ ] Display options for General Education, Department, Course Level, School
[ ] Changing filter options will change course names => new batch api request => change search results

Also consider adding major / minor filtering options as suggested in #234

investigate PPAPI changes
look into how we change PPC's query
update query call
propagate changes to front end
UI changes


Duplicate files copied in APK lib/armeabi-v7a/libblasV8.so

Execution failed for task ':app:packageDebug'.

Duplicate files copied in APK lib/armeabi-v7a/libblasV8.so
File 1: D:\workspace\react-native\Ieasy\android\app\build\intermediates\exploded-aar\com.fivehundredpx\blurringview\1.0.0\jni\armeabi-v7a\libblasV8.so
File 2: C:\Users\fangzhen\AppData\Local\Android\Sdk\build-tools\23.0.1\renderscript\lib\packaged\armeabi-v7a\libblasV8.so

why it works wrong? How can i solve it

Check your Android plug for Gradle, it should be 1.5.0 or later.
buildscript {     // ...     dependencies {         classpath 'com.android.tools.build:gradle:1.5.0' // this should be 1.5.0 or higher         // ...     } }

Could not resolve all dependencies for configuration ':app:classpath'.
Could not find com.android.tools.build:gradle:1.5.0.
Searched in the following locations:
https://github.com/500px/500px-android-blur/raw/master/releases/com/android/tools/build/gradle/1.5.0/gradle-1.5.0.pom
https://github.com/500px/500px-android-blur/raw/master/releases/com/android/tools/build/gradle/1.5.0/gradle-1.5.0.jar

After adding your line

Seems this one can be closed


Geosearch brings back records that sometimes don't make sense

when searching for 'Miami' for examples, there are many city POIs returned - these responses include the City name and state/country in the name. when they appear in the app, it's easy to understand what these are. there are also many responses that just say 'Miami' -- it's not easy for the user to understand what this location is...

these candidates don't have enough information to be useful for the user.
options to resolve:

add a category filter to the request to only bring back a select type of POI. Reference for categories: https://developers.arcgis.com/rest/geocode/api-reference/geocoding-category-filtering.htm
include the type characteristic in the list for the user
also bring back "Place_Addr" with the initial request and include that in the list for the user

a few example candidates being returned from the Miami search:

@HeatherEisan

@jessnoo
Including the type characteristic may not work as there could be two or more "Miami, Shopping Center" that are located at different places.
Using place_addr in the address list may not work as this field does not return a value with every candidate result. It is often empty ""
We feel that option 1 makes most sense i.e., using category filters. This way users will have more control over what gets displayed in search results. Please see screenshot for an e.g.,

@CTLocalGovTeam Agreed, however please do not expose the placenamesearch filtering options in the configuration file. the filters that you have identified above will work for this release.

@jessnoo just to confirm, are you suggesting we should hard code these filter options (for POIs) and not expose them in the configuration file?

@CTLocalGovTeam Initially yes, however, we have reevaluated. Please move forward with exposing the PlaceNameSearch configuration options in the config.js as you have proposed.


⚠ Bofrost.be has degraded performance

In f01e958, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2927 ms

Resolved: Bofrost.be performance has improved in 5eceb86 after 21 minutes.


mask inputs are not cleared on node.reset()

Reproduction
https://formkit.link/761a3cfde8f0e843e2d6b1dc982227e4
Describe the bug
Expected behavior: all inputs are cleared when node.reset() is called inside the form submit handler.
Reproduced behavior: The mask input value is not being cleared; the other inputs are cleared correctly.
Note: It seems to be a cosmetic issue. A second form submit causes the required validation to trigger, indicating the value was internally cleared, but the form is still visually filled.
Environment
• OS: Arch Linux (Kernel 6.1.45-1-lts) using Gnome Desktop
• Browser: Google Chrome
• Version: 116.0.5845.96

Can confirm this is an issue. When a mask input receives a input() with an "empty" value it fails to update the mask minimal reproduction for future me to deal with:
https://formkit.link/9dce3114bffb1f42dc06929b32736794

+1


phpdoc_short_description should not add a comma to inheritdoc

When a phpdoc description is only made by {@inheritdoc}, the phpdoc_short_description fixer should not add a final comma.
With the current behavior, the final phpdoc description is {@inheritdoc}. (with final comma), while it should stay untouched, since the final comma is added to the description of parent (that is supposed to already have a final comma), ending with a double final comma.

with final comma

full stop

Can I see a code sample please?

Because our tests show that this isn't happening and that this works fine:
https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/1.10/Symfony/CS/Tests/Fixer/Symfony/PhpdocShortDescriptionFixerTest.php#L268

When a phpdoc description is only made by {@inheritdoc}

That's not a short description. That's why the short description fixer doesn't treat it as one.

Never mind. I was misspelling "inheritdoc" in my code.
Thank you anyway

This is still happening: please see: http://stackoverflow.com/questions/40077784/sublime-text-3-phpcs-plugin-adding-fullstops/40080189#40080189

$ php --version
$ php-cs-fixer --version

?

Please provide example of docblock that is incorrectly changed

php version is 7.0
php-cs-fixer version is 1.12.0.
You can see in this image down the very bottom a correctly formatted piece of code, and then up the top its adding full-stops, and also I get commas added onto the end of blocks. Its causing issues with our dev team because their Sublime text 2, Atom, and Net beans PSR2 standards don't add these full-stops and commas, so huge chunks of code are being edited making git a nightmare.

So, what is happening again?
Issue was about phpdoc_short_description playing with {@inheritdoc}.
Your case is completely different.
It's not about bad job made by a rule, it's about a rule you don't wanna use.

Also, if you decide anyhow to follow some CS rules, I would suggest to adjust whole repo first as separated PR/commit.

ok Thanks very much. i will turn that rule off and check what is happening. This wasn't the right place for this but you have lead me to a solution, so i'm a happy user thanks

BTW,

My commits are almost unreadable this is because my PSR2 coding standard is adding full-stops and commas to the end of lines.

I hope you are aware that PHP CS Fixer (not phpcs) is running Symfony's ruleset by default, not PSR-2

No I am not aware. I was under the impression it was being set to PSR-2 standard from these lines:
// Additional arguments you can specify into the application     "php_cs_fixer_additional_args": {         "--standard": "PSR2",     },

I dunno where you take it from. It's not from PHP CS Fixer documentation.

Thanks anyway you have pointed me in the right direction, i can sort it from here :)


narsil: 1.3.0-350-ga51756908 -> 0360f09304cb1d76be8bf5a8b9abf34d05892fbc

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for narsil is: Unofficial rewrite of Sil, a roguelike influenced by Angband
meta.homepage for narsil is: https://github.com/NickMcConnell/NarSil/
meta.changelog for narsil is: https://github.com/NickMcConnell/NarSil/releases/tag/0360f09304cb1d76be8bf5a8b9abf34d05892fbc
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0360f09304cb1d76be8bf5a8b9abf34d05892fbc in filename of file in /nix/store/kfsx2lb5nz6w1ihicg394z10frd029ql-narsil-0360f09304cb1d76be8bf5a8b9abf34d05892fbc

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

narsil

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/kfsx2lb5nz6w1ihicg394z10frd029ql-narsil-0360f09304cb1d76be8bf5a8b9abf34d05892fbc \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A narsil https://github.com/r-ryantm/nixpkgs/archive/a5868a62628be7420b745e55ed1f18b4aab832a2.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/a5868a62628be7420b745e55ed1f18b4aab832a2#narsil

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/kfsx2lb5nz6w1ihicg394z10frd029ql-narsil-0360f09304cb1d76be8bf5a8b9abf34d05892fbc
ls -la /nix/store/kfsx2lb5nz6w1ihicg394z10frd029ql-narsil-0360f09304cb1d76be8bf5a8b9abf34d05892fbc/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

narsil

Maintainer pings
cc @nanotwerp @x123 for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

I believe something went wrong here or the upstream had a brief tag this triggered on, as https://github.com/NickMcConnell/NarSil/releases/tag/0360f09304cb1d76be8bf5a8b9abf34d05892fbc doesn't exit.
I believe the correct version to bump to is 1.4.0, which I'll submit in a separate PR.


HTTPS Support

Would be great to support HTTPS as an option for local testing. Something like how Webpack Dev Server does it: https://webpack.js.org/configuration/dev-server/#devserverhttps
Would be willing to potentially PR it.

That's awesome!! Thank you so much!


FAQ #android_location links to developer Bluetooth docs

Where to find the issue

https://www.coronawarn.app/en/faq/results/#android_location "[Google/Android]: When activating exposure logging or Bluetooth I'm asked to activate my location. Do I have to do this?"

https://www.coronawarn.app/de/faq/results/#android_location "[Google/Android]: Beim Einschalten der Risiko-Ermittlung bzw. von Bluetooth bekomme ich Meldungen zur Aktivierung der Standortverwendung. Muss ich das aktivieren?"

Describe the issue
The FAQ articles:

https://www.coronawarn.app/en/faq/results/#android_location "[Google/Android]: When activating exposure logging or Bluetooth I'm asked to activate my location. Do I have to do this?"

https://www.coronawarn.app/de/faq/results/#android_location "[Google/Android]: Beim Einschalten der Risiko-Ermittlung bzw. von Bluetooth bekomme ich Meldungen zur Aktivierung der Standortverwendung. Muss ich das aktivieren?"

link to the Google developer documentation https://developer.android.com/guide/topics/connectivity/bluetooth Bluetooth overview which contains 8 pages of very detailed documentation about programming an app to use Bluetooth. Most of the information provided in this link does not address the issue described in the FAQ and the small amount of relevant information is already covered in the focused articles:

https://support.google.com/android/answer/9930236?hl=en About the Exposure Notifications System and Android location settings

https://support.google.com/android/answer/9930236?hl=de COVID-19-Benachrichtigungssystem und Android-Standorteinstellungen

Suggested change
The link to Bluetooth overview invites readers to go through 8 pages of information which does not add value to the article. The link should therefore be removed from the FAQ article.

Unless there is an objection, I will submit a PR to remove the unnecessary link to Bluetooth overview in the FAQ #android_location.

@MikeMcC399 Good morning, thanks for the suggestions. PR will be appreciated indeed!

Good morning @dsarkar! Thank you for the confirmation!

I have submitted PR #2864.


Create a way to upload the images in the wiki

In the github wiki pages, we cannot just embed the images. The images should stay in some server/url and we can provide the url.
This issue to figure out where we want to save the screenshots for wiki articles.

This appears to be working now. For example, https://github.com/google/earthenterprise/wiki/Google-Earth-Enterprise-Client-(EC). Can this issue be closed?


Services should have instructions for running in dev as well as prod

Currently the Services sections just explains how to create services in production and use them in your app.
I think these pages should also explain how to simulate the service in dev, so you’d have documentation for the prod and dev setup in the same place
So, for example, in the S3 docs, I’d expect all the convox services create s3 stuff, but then I’d also want to see an explanation of how to use convox/aws-s3 to simulate it locally.

 https://github.com/convox/site/issues/321

 Docs: Local services


Merge 2.2 to master

Pulling latest 2.2 changes up into master.

FYI - once we finish the last of the mondo repo merges, I'll re-enable the bot to create these PRs


Remove FOSUserBundle dependency

Hi friends,
I think this bundle can't depends on FOSUserBundle.
I think is better to rename entity UserRefreshToken to RefreshToken, and save username in this entity as string.
The entity then will have 4 fields:
id, refresh_token, username, valid
With username we could revoke every refresh_token, for example if a user request to close sessions.
What do you think?

I'm working on branch https://github.com/gesdinet/JWTRefreshTokenBundle/tree/remove-fosuserbundle about this

Closed by #5


feat[isObjectOf]: discover symbol properties in predObj

Ref #94, #95

Rebased and fixes snapshots, because inspect is updated.


Allow state access role to be updated

Depends on #157
Closes #147
Allows a state object to be updated with a new role
Waiting on some UI here and testing

This needs to be updated to the new refactored master, so that I can work on the front-end with new libraries.

Still WIP. @JackWilb is there a way to pull from server a list of uID that the state are shared with and their access? this way the front end can display the list of uID and access, allowing the user to change.

Rebased after #172


re_datastore: standardize the payload schema for insertion

Standardize and put into writing insert-payload schema

should the entire payload be a list, for client-side batching?
how strict do we want to be? how dynamic to we want to be?
what are we allowed to do? what is forbidden?

is having the same component present multiple times legal?
is passing no instances legal?
etc

See https://github.com/rerun-io/rerun/issues/1619


Multiline breaker not work correctly in k8s

Description:
The multiline breaker was not work at the beginning of parse. The events received were single line but not as multiline configured.  After sometimes, it worked as expected.
Configuration:
logsCollection:
containers:
multilineConfigs:
- namespaceName:
value: default
podName:
value: gogen*
useRegexp: true
containerName:
value: cputime-perfmon
firstEntryRegex: ^\d{2}/\d{2}/\d{4} \d{2}:\d{2}:\d{2}.\d{6}
- namespaceName:
value: default
podName:
value: gogen*
useRegexp: true
containerName:
value: change-security-1102-windows
firstEntryRegex: ^\d{2}/\d{2}/\d{4} \d{2}:\d{2}:\d{2} [AaPp][Mm]
Log sample
12/29/2021 00:00:36.993565
collection="CPU Load"
object=Processor
counter="% Idle Time"
instance="1"
Value=10
12/29/2021 12:00:37 AM
LogName=Security
SourceName=Microsoft-Windows-Eventlog
EventCode=1102
EventType=4
Type=Information
ComputerName=BobbyGenovese-mbp13
TaskCategory=Log clear
OpCode=Info  RecordNumber=2450
Keywords=Audit Success
Message=The audit log was cleared.
Subject:
Security ID:    S-1-5-21-1850455071-2977647103-2170296691-1000
Account Name:   HaePugliese
Domain Name:    SPLUNK5
Logon ID:       0x77220
@tigrannajaryan
@rockb1017

Hi @polarG, this config format does not appear to be for this library. Are you sure this is correct repository?

this is with fluentd agent. if you believe this is a bug, create an issue here.
https://github.com/signalfx/splunk-otel-collector-chart
and can you post the values.yaml snippet wrapped in ``` ?

Closing this issue based on @rockb1017's comment.


Fix #2909 - Make RelationalConnection check connection state on open

Makes sure EF will only open a connection if it is closed, and only close a connection that was opened by EF.

:shipit:


New vulnerability detected in Node dependency axios

Master branch failed with:
 Issues with no direct upgrade or patch:
  ✗ Cross-site Request Forgery (CSRF) [High Severity][https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459] in<EMAIL_ADDRESS>    introduced by<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>  No upgrade or patch available

https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459
There is a documented workaround that we can use or wait for a new axios patch.

This is pretty deep in swagger-ui-reacts usage, so I don't think we'd be able to configure the workaround. Will probably have to wait for a patch

The issue in axios seems very active so I would expect a patch soon.

Bumped version in https://github.com/argoproj/argo-workflows/pull/12111

The issue in axios

For reference: https://github.com/axios/axios/issues/6006, https://github.com/axios/axios/issues/6022


Android: Open story in incognito and change Copy to clipboard action to only hold URL

One of my feeds has started using JS to scramble the page contents and sticking an overlay ad begging visitors to pay. I've found I can combat this practice by opening the link in incognito/private mode or by pasting the link into a browser with outline.com. Could this process be integrated directly into Newsblur on Android?
As an alternative, the "Send to" action for "Copy to Clipboard" should only copy the URL, not the text of the headline. At least with that I can paste directly into the outline.com site in my browser without having to paste into some text editor first.

@caleb-allen Is this a possibility as a preference? On iOS it's not.

Agreed on Copy to Clipboard should only keep the URL.

Currently there is no path to open a story programmatically in incognito mode from inside the app.
When the Copy to clipboard action is used, the entire sent payload is copied.
There are two ways of sending a story from the context menu.
Send link to... - payload = title + url
Send story to... - payload = title + url + story content
An idea would be to change the Send link to... payload just to the story's url.
Another one would be to create a parent Send to > in the context menu with 3 children like Sent story link ... (url), Send story brief... (title +url) and Send story content... (title + url + content)
@samuelclay Do you have a preference or suggestion?

Let's have the Story Link option and the url + title + content option. Folks who want url + title are probably using a service that uses oEmbed meta tags to automatically display a url preview. I know SMS and Slack are both great at this.


Added pre-commit and trivy scan configs

Closed in favour of https://github.com/IABTechLab/uid2-client-java/pull/68


Search shows jq errors

Describe the bug
Running the following command gives you errors coming from jq.
To Reproduce

devenv search scala
see output

// prefix trimmed
pkgs.xgboost                                        1.5.2                                                                                Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library
pkgs.xgboostWithCuda                                1.5.2                                                                                Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library
pkgs.xrootd                                         5.5.1                                                                                High performance, scalable fault tolerant data access
pkgs.yggdrasil                                      0.4.7                                                                                An experiment in scalable routing as an encrypted IPv6 overlay network

jq: error (at <stdin>:40): object ({"_type":"l...) is not valid in a csv row
option  type  default  description
------  ----  -------  -----------

Found 182 packages and 2 options for 'scala'.```

**Version**

devenv: 0.5

and also shows a lot of deprecation warnings, I'll look into it.

yeah, I'm not that bothered by the deprecations :)
seems like this also happens for search nix and search rust, so possibly every query that has options. I'm on aarch64-darwin.

We use a dedicated jq for some npm stuff that is running in our projects. I dont know the root cause, but it might fix the command if you also use the pkgs Version of jq 🤔
  packages = [
    pkgs.jq
  ];


Questions + Error 500: Input to reshape is a tensor with 451584 values, but the requested shape has 150528

Hello,
I use NSFWJS with this docker projet: https://github.com/andresribeiro/nsfwjs-docker
(by @andresribeiro)
But, when I use GIF image, I have this error:
Error 500: Input to reshape is a tensor with 451584 values, but the requested shape has 150528
Why? How can I fix this?
Questions: Currently, to test an image, I test it without worrying about its size? Does NSFWJS take care of resizing it automatically? Or do I have to do a resize myself? With ImageMagick before?
Thanks! :)

NSFWJS usually resizes the image for you.   Can you supply the gif  you're having trouble with?
Does the gif work on NSFWJS.com?

NSFWJS usually resizes the image for you. Can you supply the gif you're having trouble with?
Does the gif work on NSFWJS.com?

Great! Yes, I have attached 2 GIF images with this error.

Source: https://www.zupimages.net/up/1143869364.gif

Source: https://www.zupimages.net/up/880196740.gif
When I try the files on NSFWJS.com, I don't have any error. Why there is error on docker projet?
Thanks!

are you using classifyGif command?  or classify?

are you using classifyGif command? or classify?

I use this projet: https://github.com/andresribeiro/nsfwjs-docker
I called the API with this CURL command line:
curl -F<EMAIL_ADDRESS>"http://localhost:3333/single/multipart-form"
So I don't know which function is actually called. But, there is the code here: https://github.com/andresribeiro/nsfwjs-docker/blob/main/src/getPrediction.ts
I think it's this:
const prediction = await model.classify(tfImage)


unset PROJ_LIB

Document the proj error and the required unset PROJ_LIB command

https://github.com/SCECcode/UCVMC/issues/116#issue-605048996

This is only needed if using anaconda to setup the software stack


filtering keyboard wont go away for jira configuration on config-ui

Describe the bug
Have to manualy remove keyword after selecting what I needed

Expected behavior
Keyword got removed after selection

Should not have duplicate items

@klesh This means you have a duplicate field defined in your JIRA Instance. The duplicate field should be removed from JIRA. The UI already prevents the same Tag from being selected twice.

@klesh JIRA doesn't appear to allow duplicate Issue Types to be created -- can you confirm why you have a duplicated Story tag on your JIRA Instance?

This may get moved to v0.10.0 release since it's more of a usability trait than a code issue. The text input acts like a search/filter to assist with selecting a specific tag. The default behavior of the component does not clear what you type after making a selection, because only a Tag selected will be stored. Any user-type text will not get saved accidentally if it isn't erased anyway, so this won't necessarily cause a problem.
I will look into a way to enhance this to see if we can clear the search terms after a selection is made.

It turns out the core component will take care of clearing the query, I will get a small fix implemented.
# BlueprintJS MultiSelect State Interface
export interface IMultiSelectExampleState {
    allowCreate: boolean;
    createdItems: IFilm[];
    fill: boolean;
    films: IFilm[];
    hasInitialContent: boolean;
    intent: boolean;
    items: IFilm[];
    openOnKeyDown: boolean;
    popoverMinimal: boolean;
    resetOnSelect: boolean; <------- This should clear the search query on select.
    tagMinimal: boolean;
}


Support for BindingContext in FileProcessListener

Current Behavior
Implementations of Rule have access to the BindingContext, granting them the ability to perform complex analysis within the scope of the entire compilation unit. On the other hand, the FileProcessListener (and AbstractProcessor, etc) APIs do not provide any way to access the BindingContext, limiting their ability to resolve types, functions, and so forth.
Expected Behavior
In order to enable the same level of analysis for implementations of FileProcessListener, the API should provide them a BindingContext against which references can be resolved.
Context
I am in the process of implementing "occurrences counting" metrics for our codebase such as "number of invocations of function A" and "number of constructor calls to classes which implement interface X". Complex queries such as this require a BindingContext, but the provided mechanism for making such queries, AbstractProjectMetricProcessor, does not provide it.

Yep, noticed the same.
We could either introduce new functions with KtFile and BindingContext or use @JvmOverloads for not introduce a breaking change.

We could either introduce new functions with KtFile and BindingContext or use @JvmOverloads for not introduce a breaking change.

I took a quick look at this.
I think that the breaking change here is unavoidable with @JvmOverloads as its not allowed on interface methods:
https://github.com/detekt/detekt/blob/2de31f1b7e1887238157275b0511240197089da5/detekt-api/src/main/kotlin/io/gitlab/arturbosch/detekt/api/FileProcessListener.kt#L18-L22
What we could do, is use @JvmDefault and provide something like:
@JvmDefault
fun onProcess(file: KtFile, bindingContext: BindingContext) {
    onProcess(file)
}

But we would need to add a compiler flag. Is this something we want to do?

What we could do, is use @JvmDefault and provide something like:
@JvmDefault
fun onProcess(file: KtFile, bindingContext: BindingContext) {
    onProcess(file)
}

But we would need to add a compiler flag. Is this something we want to do?

Is there a benefit in using @JvmDefault instead of a plain interface function calling onProcess(file)?

Is there a benefit in using @JvmDefault instead of a plain interface function calling onProcess(file)? I guess less bytecode because it is the 'official' java way on the JVM.

Yes but I think I overlooked the API change here. According to eclipse.org adding a API method should always be considered a breaking change (as our clients might already have a method with the same signature).
In this specific case, If we don't use @JvmDefault this is going to break compatibility towards our Java users as they will need to implement the onProcess(KtFile, BindingContext) method. Adding the @JvmDefault will make sure that a default method is generated, hence users of this interface won't be forced to implement the onProcess(KtFile, BindingContext) method.
However, I expect the majority of our users to use Kotlin to code their custom rules/processors. Therefore, we should be fine with just:
fun onProcess(file: KtFile, bindingContext: BindingContext) {
    onProcess(file)
}

and we should probably not be worried about our Java users (as we probably don't have any).


Delay PlaidLink initialization

I am building a mobile webapp which allows user to select their bank from a list of banks (with institution set in each PlaidLink component. The current behavior of PlaidLink is once it's rendered, a number of initialization will occur, which makes the performance of the loading quite slow. I am wondering if there is a way to postpone the init steps, that is, making calls to Plaid servers only when a button is clicked.

This should be fixed now in https://github.com/plaid/react-plaid-link/pull/81/
v2.0.0 was just released, so please test it out by checking the updated README and let me know!
There's also a storybook to test using Hooks and the Component wrapper:
https://plaid.github.io/react-plaid-link


⚠ RPC server - Figment Solana has degraded performance

In c8e84e4, RPC server - Figment Solana ($FIGMENT_SOLANA_RPC_URL) experienced degraded performance:

HTTP code: 200
Response time: 367 ms

Resolved: RPC server - Figment Solana performance has improved in e52b557.


BUGFIX: Insert extra checks for StaticText.html

Output containerClassAttribute (if set) and only output element.properties.text if set.
Otherwise the result might be an empty <p> tag within the form.
FLOW-375 #close

Wrong branch - this PR should be made against the 3.0 branch and will then be merged into the higher branch(es).
Then again, adding a div could be breaking for some people, depending on the styling…

Hi, the merge strategy was still undefined back then (i think) :)
I could do without the container div and the option to set a containerClassAttribute. But the empty <p> tag should not occur if no text is set (just a headline). Can we agree on that? If so, I'll open another PR targeting 3.0

I agree to the change, yes - just the addition of the div would be a change of behavior that I'd consider breaking.


Add soft link to Python3 on CentOS

This is in support of various things that may assume there is a python3 executable (like virtualenv). I've added it to CentOS as it's not clear to me if paths are the same on Ubuntu.
I don't think this will cause any conflicts or issues with anything else. I wouldn't be opposed to having this controlled by a variable defaulting to "don't" though.
(I've also removed several sets of trailing spaces.)

@allenluce This looks okay, but can you resubmit using dev as the base branch instead of master? I don't think I can change the base branch at my end.

@allenluce Never mind, I figured out how to change the base branch. This will be merged into dev first before I promote it to master.


Add displayName and emailSignature when displayOption is null.

Thanks for trying to contribute to K-9 Mail :+1:
As far as I can tell, your change doesn't really do anything. What problem are you trying to solve?

Just making the format consistent.

Please fix the issues reported by spotless.


node test failure: "Math client.should handle a single request"

https://grpc-testing.appspot.com/job/gRPC_master/15407/config=dbg,language=node,platform=linux/testReport/junit/(root)/Math client/should_handle_a_single_request/

I don't think we are seeing this anymore, feel free to reopen if otherwise.


esbuild do not read the jsxImportSource in deno.json

Emm. I think it should read it , and if there is one, it should add something like
/** @jsxRuntime automatic */
/** @jsxImportSource<EMAIL_ADDRESS>*/

to the top of entrance file, but now I need to add such thing myself.. I think esbuild should do such kind of thing..

https://github.com/Decodetalkers/styled-components-deno/blob/master/example/src/main.tsx
Now I add it myself.. but I do not think this should exist in my source file..

Ok.. seems I should add it myself..


Include certain values to check for in params of verification LEEF-2 Reclassification_and_Data_Cleaning - Verification.qmd

The following variables should be in the params:

[x] timestamps
[x] species per measurement method
[ ] moving frames per method
[ ] ...

Do you mean before or after filtering out classes that are only present in the classifier to improve classification?

Vectors containing the species which should be present in the final RRD. So after reclassification, cleaning, filtering, etc.

Bemovi 16

Coleps_irchel
Colpidium
Stylonychia2
Paramecium_caudatum
Paramecium_bursaria
Euplotes
Loxocephallus

Bemovi 25

Coleps_irchel
Colpidium
Stylonychia2
Paramecium_caudatum
Paramecium_bursaria
Euplotes
Loxocephallus
Debris_and_other (not needed in final RRD but needed for detection of faulty videos)

Bemovi 25 cropped

Loxocephallus
Debris_and_other (not needed in final RRD but needed for detection of faulty videos)

Flowcam

Chlamydomonas
Cryptomonas  (probably died out so not present)
Loxocephallus
ColpidiumVacuoles
Debris (not necessarily --- Ask Romana)
DigestedAlgae
Small_unidentified
DividingChlamydomonas
ChlamydomonasClumpsLarge
ChlamydomonasClumpsSmall
CiliateCysts (not necessarily --- Ask Romana)
CystsWhite (not necessarily --- Ask Romana)
DigestedWhite (not necessarily --- Ask Romana)
Small_cells

Flowcytometer

Bacteria
Algae

Thanks. Will put them in the document soon. After that, I will close the issue.

Ups - only partly solved

This is the final list:
Bemovi 16

Coleps_irchel

Colpidium

Stylonychia2

Paramecium_caudatum

Paramecium_bursaria

Euplotes

Loxocephallus

Bemovi 25

Coleps_irchel

Colpidium

Stylonychia2

Paramecium_caudatum

Paramecium_bursaria

Euplotes

Loxocephallus

Debris_and_other

Bemovi 25 cropped

Loxocephallus

Debris_and_other

Flowcam

Chlamydomonas

Loxocephallus

Debris

DigestedAlgae

Small_unidentified

DividingChlamydomonas

ChlamydomonasClumpsLarge

ChlamydomonasClumpsSmall

CiliateCysts

CystsWhite

DigestedWhite

Small_cells

Flowcytometer

Bacteria

Algae


enable lepp-stack

Summary
How was it tested?

Current dependencies on/for this PR:

main

PR #1388

PR #1390

PR #1394
PR #1393

PR #1396

PR #1403
PR #1402

PR #1395

PR #1389

PR #1392

PR #1399

PR #1401
PR #1400

PR #1406   👈
PR #1405
PR #1404

PR #1398
PR #1397

PR #1391

This comment was auto-generated by Graphite.