SortOrder type does not function properly

Bug description
Errors occur when trying to sort nested records.
Error: Type 'string' is not assignable to type 'SortOrder | undefined'.ts(2322)
How to reproduce
The code that causes the error.
const include = {
  estimates: {
    orderBy: [{ title: "desc" }],
    select: { title: true, estimateItems: true }
}

The error disappears if you use type assertion.
orderBy: [{ title: "desc" as "desc" | "asc" }]
Expected behavior
No response
Prisma information

// Add your schema.prisma
generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

model Project {
  id                   Int             @id @default(autoincrement())
  ...
  estimates            Estimate[]
  ...
}

model Estimate {
  id                 Int            @id @default(autoincrement())
  ...
  projectId          Int
  project            Project        @relation(fields: [projectId], references: [id])
  estimateItems      EstimateItem[]
}

model EstimateItem {
  id         Int      @id @default(autoincrement())
  ...
  estimateId Int
  estimate   Estimate @relation(fields: [estimateId], references: [id])
}

import { PrismaClient } from "@prisma/client";
const prisma = new PrismaClient();

const include = {
  estimates: {
    orderBy: [{ title: "desc" }],
    // orderBy: [{ title: "desc" as "desc" | "asc" }],
   select: { title: true, estimateItems: true }
  }
};

const projectList = await prisma.project.findMany(
  {include: include}
);

Environment & setup

OS: macOS
Database: PostgreSQL
Node.js version: v18.12.1

Prisma Version
prisma                  : 4.9.0
@prisma/client          : 4.9.0
Current platform        : debian-openssl-1.1.x
Query Engine (Node-API) : libquery-engine ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5 (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5 (at<EMAIL_ADDRESS>Introspection Engine    : introspection-core ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5 (at<EMAIL_ADDRESS>Format Binary           : prisma-fmt ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5 (at<EMAIL_ADDRESS>Format Wasm             : @prisma/prisma-fmt-wasm 4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5
Default Engines Hash    : ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5
Studio                  : 0.479.0

Facing the same issue. I'm shocked there aren't more (or any) other replies on this thread.

Hey @static-hiroki @NielsKersic, this is a normal TypeScript behavior called type-widening.
When you write this:
const include = {
    links: {
        orderBy: [{ url: 'asc' }],
        select: {
            url: true,
        }
    },
}

The compiler will widen the type to:
const include: {
    links: {
        orderBy: {
            url: string;
        }[];
        select: {
            url: boolean;
        };
    };
}

This in turn causes Prisma to invalidate such types, as it is incorrect and too wide. Widening is a very important concept that generally applies to any mutable variable, I recommend you read about it if you're not familiar with the concept.
In Prisma's case, and in your case, we don't want to widen it, we want the opposite. We want to narrow it down and preserve your input fully both at runtime and on type-level. Because of this, we provide a utility to achieve what you want.
const include = Prisma.validator(prisma, 'user', 'findMany', 'include')({
    links: {
        orderBy: [{ url: 'asc' }],
        select: {
            url: true,
        }
    },
})

const data = await prisma.user.findMany({
    include,
})

The Prisma.validator does the full job. It 1. validates that your inputs are correct, 2. prevents type widening on your input. Use it any time you need to extract your query inputs out of the query call.
https://www.prisma.io/docs/concepts/components/prisma-client/advanced-type-safety/prisma-validator#using-the-prismavalidator
I am therefore closing this issue. Happy to help you further if needed.

@millsp you learn something new every day. Thanks for the detailed explanation!

I resolved it by implementing some types :

interface PaginationParams {
  pageSize: number;
  nextPageToken: string;
}

export const getPaginationOptions = ({
  pageSize,
  nextPageToken,
}: PaginationParams): Prisma.PaymentFindManyArgs => {
  const paginationOptions: Prisma.PaymentFindManyArgs = {
    take: pageSize,
    orderBy: {
      createdAt: "asc" as Prisma.SortOrder, // Ensure 'asc' is cast to Prisma.SortOrder
    },
  };

  if (nextPageToken) {
    paginationOptions.cursor = { id: nextPageToken };
    paginationOptions.skip = 1;
  }

  return Prisma.validator<Prisma.PaymentFindManyArgs>()(paginationOptions);
};


Unable to Add or Delete files on Mission Page

FTS 2.1 RC1, UI 2.1
Clean install from ZTI. I am unable to add or delete files under the Data Package section. I can select a file to upload, but errors out saying 'Add Datapackage failed. Contact administrator'. If I try to delete a file, it says successful but the file remains.

@naman108 it looks like this is a secondary effect of the Enterprise Sync implementation

This is addressed by the most recent FTS Release https://github.com/FreeTAKTeam/FreeTakServer/releases/tag/v2.1.01


Slightly improved usability

server address verification
simple Email address check for from & to
default port=25 for server address

Codecov Report

Merging #316 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #316      +/-   ##
==========================================
- Coverage   74.94%   74.93%   -0.01%
==========================================
  Files         240      240
  Lines       20282    20282
==========================================
- Hits        15201    15199       -2
- Misses       4377     4378       +1
- Partials      704      705       +1

Impacted Files
Coverage Δ

container/gtree/gtree_avltree.go
96.24% <0%> (-0.94%)
:arrow_down:

os/gmutex/gmutex.go
97.87% <0%> (+2.12%)
: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 8f953da...fb8aac3. Read the comment docs.


Vim shows empty window when terminal window is resized

When I change window size of the terminal vim is running from, and a bottom pop-up window is opened through a plugin, it completely messes up vim rendering. Vim shows an empty window.
To Reproduce

Use a plugin which spawns the bottom pop-up window (like vim-which-key or CoC.nvim)
Spawn the bottom window.
Change terminal size.
Vim shows an empty window filled with theme's background color.
The issue would be fixed on hitting ESC or Enter but closes the bottom window. Also Ctrl+l fixes the issue but bottom window location would not get corrected.

Also tested on vim-gtk (gvim). Same problem. Floating popups are not affected.
Expected behavior
I expected the window to be rendered correctly at the new screen size
Screenshots
https://imgur.com/a/fetYzr2
Environment:

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Oct 11 2020 01:18:01)
Included patches: 1-1830
https://termbin.com/ah2b2
OS: Xubuntu 18.04 + i3gaps wm
Terminal: tested on both Alacritty and Xfce4-terminal

This is not reproducible with these steps.
E.g. "spawn the bottom window" - I have no idea what this does.  some popup_create() call? With what arguments?

@brammool Thanks for your quick reply and also thanks for your awesome work throughout the years, really appreciated :D
Yeah I don't know how exactly those plugins internally spawn that bottom window.
It seems for the vim-which-key plugin, the relevant parts are here and here
Most straightforward way to reproduce the bug as a user could be to install the vim-which-key plugin, add nnoremap <silent> <leader> :WhichKey '<leader>'<CR> in the vimrc, hit the leader key in normal mode, the popup window shows up after a second, then make terminal window fullscreen and restore.

To Reproduce

Use a plugin which spawns the bottom pop-up window (like vim-which-key or CoC.nvim)
Spawn the bottom window.
Change terminal size.
Vim shows an empty window filled with theme's background color.
The issue would be fixed on hitting ESC or Enter but closes the bottom window. Also Ctrl+l fixes the issue but bottom window location would not get corrected.

That's not a minimal working example.  For how to get one, see here.
Anyway here is one:
vim -Nu NONE -S <(cat <<'EOF'
    vim9script
    popup_create(['aaa', 'bbb', 'ccc'], {highlight: 'Pmenu'})
    redraw
    getchar()
EOF
)

Then, resize the terminal.  The popup is not redrawn.
The issue is similar to #7404, which is why a :redraw is needed for the popup to be drawn immediately.
But contrary to the latter, a simple :redraw is not enough to fix the issue when the terminal is resized.
I tried to install an autocmd listening to VimResized:
au VimResized * redraw

Like this:
vim9script
popup_create(['aaa', 'bbb', 'ccc'], {highlight: 'Pmenu'})
redraw
au VimResized * redraw
getchar()

But it doesn't work.  I guess VimResized is not fired while getchar() waits for input.

The issue is similar to #7404

Well, actually, the cause is not similar; it's the exact same one.

Well, if you call getchar() then Vim will block until a key is typed.  If you don't want that, well, then don't do it.

I don't use the OP's plugins, but their authors probably have a good reason to invoke getchar() while a popup is visible, and I'm not sure it would be possible for them to work around this pitfall.
As mentioned earlier, the easiest workaround I can think of would be to fire VimResized even while getchar() waits for input; so that plugin's authors can :redraw when the terminal is resized.  But I don't know whether that's possible.
I also found this todo item which might be relevant:
https://github.com/vim/vim/blob/025cb1ca8605055383c53bf2c823d7093cf29b82/runtime/doc/todo.txt#L2758-L2759
In any case, if it's working as intended, then both issues can be closed; at least #7404, for which a workaround was given that doesn't require any Vim patch.

and I'm not sure it would be possible for them to work around this pitfall.

Actually, it should be possible for them to use a popup filter, which doesn't suffer from this issue.  In fact, it would probably be even better.  Popup filters were implemented for what these plugins seem to do.
So, I tend to think that it's not really a bug.  It's just that getchar() blocks Vim, which doesn't redraw the screen.  Although, maybe :h getchar() should say something about the fact that the screen is not redrawn while Vim waits for input, and that a :redraw might be needed, or a popup filter.  As a suggestion, here is a patch:
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 9e81832a0..2fcd9ac2a 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -5173,6 +5173,11 @@ getchar([expr])						*getchar()*
                        :  return c
                        :endfunction

+		NOTE: Vim blocks while waiting for input, which prevents the
+		screen from being redrawn.  This matters when invoking
+		`getchar()` while a popup window is visible.  Instead, try to
+		use a |popup-filter|.  Otherwise, a `:redraw` may be necessary.
+
 getcharmod()						*getcharmod()*
                The result is a Number which is the state of the modifiers for
                the last obtained character with getchar() or in another way.

It's just that getchar() blocks Vim, which doesn't redraw the screen.

And some plugins authors might not be aware of popup filters, so they try to re-invent them with getchar().  If so, that's one more reason to add a NOTE at :h getchar() about popup filters.

and I'm not sure it would be possible for them to work around this pitfall.

Actually, it should be possible for them to use a popup filter, which
doesn't suffer from this issue.  In fact, it would probably be even
better.  Popup filters were implemented for what these plugins seem to
do.
So, I tend to think that it's not really a bug.  It's just that
getchar() blocks Vim, which doesn't redraw the screen.  Although,
maybe :h getchar() should say something about the fact that the
screen is not redrawn while Vim waits for input, and that a :redraw
might be needed, or a popup filter.  As a suggestion, here is a patch:

Thanks for the suggestion.  It fits in with the "There is no prompt"
remark, let's put it there.
--
A consultant is a person who takes your money and annoys your employees while
tirelessly searching for the best way to extend the consulting contract.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

in that case, let's close it here.


Throw UnsupportedOperationException for runtime configuration attempts

I read in the JavaDoc of Configuration that attempts made to change the configuration once it has been put in use will be silently ignored.
In my opinion this is a bad design. The most obvious reason being that real-world applications may wrongfully assume that they can make configuration attempts during runtime only to discover post-fact that it was a NOP. If I may be real frank here, I actually think that NOP methods is like one of the most profound evils in the world of programming and should be avoided like the plague.
But maybe even a stronger argument is that this pattern breaks away from the Java-idiom of being explicit and clear with an UnsupportedOperationException for any operation that is not supported. See the JDK type Files for example.
Let's put it this way; if there is a valid reason to do something that upsets purist object-oriented programmers that are used to their language and libraries behaving in a particular way that probably makes the most sense for the most people, how about we add that reason in the JavaDoc? For me, I want to know that the libraries and code I import into my applications are "sound" and professionally constructed. The API is a telltale sign on what lurks beneath it.
And finally, I haven't looked into the source code, but if the Configuration class is not mutable and the fact that this mutation is not supported because his state has been "committed", maybe IllegalStateException would be more appropriate to throw. But I believe this depends on the semantics of this class a bit and how the configuration takes effect in the first place.
Merci!! =)

Why was this issue closed?
Did you look into the Files JavaDoc? I found 33 UnsupportedOperationException documented, you know, thrown if user attempts to use an unsupported option. How is this any different than what we're doing?
This is what I read from Tinylog's Configuration JavaDoc:

If the framework has been initialised once, the configuration is immutable and further configuration changes will be just ignored.

Am I the only one who think this is complete madness? Is this what we would have expected the Java compiler to do if we tried to change a final variable? Silently ignoring the statement? Hey, what do we expect a Collection.unmodifiableList(), List.of() et cetera, do ... when attempts to modify them are done? Most "views" or whatever that I can think of end up with UnsupportedOperationException. But as stated earlier, IllegalStateException could also be warranted. A Java Stream for example can only be operated once, otherwise IllegalStateException. Sort of sounds like our configuration reaches a "committed" point.
But bottom line is this, I could go on all day with examples here. We do not ever never "just do nothing". Madness! Please, make Tinylog great again!

This issue is closed as it has been fixed by commit 827e86f. Originally, it was even planed to be part of tinylog 2.2.0-M1. However, due to a late push, it will be part of second milestone.

Nice, thanx! =)


Hide Ubuntu 14.10

@vincent99 This should hide the Ubuntu 14.10 from DO. Assuming I found the right place. :)
(rancher/#1666)

@vincent99 15.04 isn't officially supported by Docker per the Docker docs so I wasn't sure if we want to include it.


Fixes off-by-one when looping over a Usage range.

I found that when finding usages in a report, that usage ranges were incorrectly reported.  Given the descriptor below one less usage is reported than should be:
    0xa1, 0x02,       //     COLLECTION (Logical)
    0x05, 0x0a,       //     USAGE_PAGE (Ordinal)
    0x19, 0x01,       //     USAGE_MINIMUM (1)
    0x29, 0x08,       //     USAGE_MAXIMUM (8)
    0x05, 0x08,       //     USAGE_PAGE (LED)
    0x19, 0x4b,       //     USAGE_MINIMUM (Generic Indicator)
    0x29, 0x4b,       //     USAGE_MAXIMUM (Generic Indicator)
    0x95, 0x08,       //     REPORT_COUNT (8)
    0x75, 0x01,       //     REPORT_SIZE (1)
    0x15, 0x00,       //     LOGICAL_MINIMUM (0)
    0x25, 0x01,       //     LOGICAL_MAXIMUM (1)
    0x91, 0x02,       //     OUTPUT (Data, Var, Abs)
    0xc0,             //     END_COLLECTION (Logical)

Then, for example, using pywinusb:
>>> from pywinusb import hid
>>> device = hid.find_all_hid_devices()[-1]
>>> device.open()
>>> report = device.find_output_reports()[0]
>>> report
HID report object (Output report, id=0x0a), 7 items included

Investigating, I found that the usages are iterated using range() which goes from the minimum inclusive to the maximum exclusive while HID Usage Minimum is inclusive and Usage Maximum is also inclusive.
This PR adds one to the max to ensure that python range() generates the complete list of usage_ids.

Would fix #64

Thanks for the patch @j3hyde ! I guess this wasn't noticed before as most users are dealing with raw reports.


dashboard: update to 0514

Signed-off-by: Zheng Xiangsheng<EMAIL_ADDRESS>
What problem does this PR solve?
dashboard: update to 0514
What is changed and how it works?
dashboard: update to 0514
Check List
Tests

Manual test (add detailed scripts or steps below)

Release note

No release note

/run-all-tests

@HunDunDM 4.0 GA is closed now, so I removed the milestone. We can carry this PR into 4.x.

@hicqu This PR fixed known issues and should be carried in GA


Problems with fractional zoom (with example)

I'm using v5.1.3 and I'm trying to have the map interactions and controls adjust the zoom by 0.5 (rather than the default of 1). It seems that this ought to be easy -- so I tried:
map = new ol.Map({
    controls: ol.control.defaults({zoomOptions:{delta:0.5}}),
    interactions: ol.interaction.defaults({zoomDelta: 0.5}),
    target: document.getElementById('map'),
    layers: [
      new ol.layer.Tile({
            source: new ol.source.OSM()
      })
    ],
    view: new ol.View({
      center: ol.proj.fromLonLat([0, 0]),
      zoom: 1,
      maxZoom: 8,
    })
  });

but it doesn't work as expect. This is a jsfiddle that demonstrates the problem: http://jsfiddle.net/udfz1053/7/
In particular, if you click the PLUS sign, the zoom goes to 1.5 (this is good). If you click again, it goes to 2.5 (bad). If you now click the MINUS sign, then nothing happens at all. I suspect that the function returned by createSnapToPower is at fault, but I'm not certain what the fix ought to be. It doesn't seem right that I have to override some function inside the view object.

It's much easier to do this by configuring the view with zoomFactor: 1.5 (instead of the default of 2). The numbering of the zoom levels will change with this, so in your console.log, just display view.getZoom() / 2, and your minZoom and maxZoom in the view need to be multiplied by 2.
I have created an updated fiddle with these changes: http://jsfiddle.net/onrbek6j/.

Thanks for this solution. It still isn't clear to me what is wrong with my original solution (except that it doesn't work).
What do people believe that the + & - buttons are supposed to do? I can think of (at least options):
1 adjust the zoom by the specified amount (exactly). If the zoomDelta is 0.5 and the current zoom is 3.1, then pressing + would move to 3.6, and pressing minus would move to 2.6
2 adjust the zoom by the specified amount and then round to the nearest multiple of the adjustment amount. If the zoomDelta is 0.5 and the current zoom is 3.1, then pressing + would move to 3.5 and pressing - would move to 2.5
Also, pressing the + & - keys on the keyboard should behave the same as the buttons (assuming that they have the same zoomDelta).
If there is consensus on which of behaviors 1 or 2 is correct, then I could put up a PR to fix it. My personal feeling is that behavior 1 is correct. My rationale is that otherwise you can only end up with odd zoom numbers by using the drag-zoom option or a specific setZoom call.
[For the purposes of this ticket, it doesn't matter whether you think in zooms or resolutions]

On further reading, the current behavior of the + & - buttons seems to be documented as part of the View documentation. In which case, the bug would appear to be that the drag-zoom and the continuous two-finger zoom on OSX are the bugs as they can end up with any zoom/resolution. Now, it is fairly obvious to me that implementing the snap behavior for the drag-zoom and the continuous two-finger zoom would be wrong (as it would be a terrible user experience), the documentation seems to demand it.

@pjsg Thanks for your investigations. Based on what we currently have, the desired behavior for the +/- buttons and keys would be option 2:

2 adjust the zoom by the specified amount and then round to the nearest multiple of the adjustment amount. If the zoomDelta is 0.5 and the current zoom is 3.1, then pressing + would move to 3.5 and pressing - would move to 2.5

If you could create a pull request, that would be great.

I've also discovered that the ol/interaction/MouseWheelZoom~MouseWheelZoom always zooms by 1 increment per mousewheel click. This probably ought to be settable and probably ought to be set by ol.interaction.defaults({zoomDelta: 0.5})

THinking some more about the two options -- the second option has the unfortunate effect of making the following two sequences have different effect:
1 Zoom by 1, Zoom by 1 (say from a mouse wheel)
2 Zoom by 2 (say from a faster mousewheel)
I suspect that the goal of the resolutionConstraint is to round the zoom to an integer value when it makes sense. Thus for a zoomDelta of 0.3, the resulting values ought to be
1.0, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3.0
Another approach would be to just round to integer if within half of the zoomDelta, otherwise not.
1, 1.3, 1.6, 2, 2.3, 2.6 3   going up
and
3, 2.7, 2.4, 2, 1.7, 1.4, 1 going down.

Thinking this through I would say you're right @pjsg - option 1 produces more predictable results.

Seems to be the same as issue #6212.
Also, does anybody know what the opt_direction parameter is supposed to do? In all case that I can find, this is either omitted or set to 0. The docs aren't helpful either!
https://openlayers.org/en/latest/apidoc/module-ol_View-View.html#constrainResolution

The opt_direction option is passed to ol/array/linearFindNearest and is documented there: https://github.com/openlayers/openlayers/blob/b8c912560247271ef12eeeb41360c60385175e3b/src/ol/array.js#L65-L72

Hello,
Sorry to dig this up, but i've met the same issue. I'm using zoom levels for another thing so the proposed solution about zoomFactor can't work for me. Did someone have another solution ?
The documentation actually mentions :

zoomDelta - number - Zoom level delta when using keyboard or mousewheel zoom.

But after taking look at the ol/interaction.js, we don't use zoomDelta in constructor :
 const mouseWheelZoom = options.mouseWheelZoom !== undefined ?
    options.mouseWheelZoom : true;
  if (mouseWheelZoom) {
    interactions.push(new MouseWheelZoom({
      condition: options.onFocusOnly ? focus : undefined,
      constrainResolution: options.constrainResolution,
      duration: options.zoomDuration
    }));
}


Move the deployment configuration to master branch

Is your feature request related to a problem? Please describe.
It was suggested to move the deployment configuration to the master branch
Describe the solution you'd like
Move the configuration, so we can remove the deploy branch
Describe alternatives you've considered
N/A
Additional context
N/A

#147


Feature: Block javascript pop up ads

E.g.,
http://adage.com/article/digital/google-amp-launch-looms-search-engine-scores-follow/302599/
I'd love a way to block these intrusive style of ads. Screenshot is included.

Unless they are using a JS script that we can block, this prove extremely time consuming, even with the help of a community, because ti will involves blocking specific CSS tags in specific domains. With front-end frameworks, the tags tends to include a hash making this a lot more fickle.


Separate network and application interceptors

I wanna split the interceptors into two halves:

the “application interceptors” that get application-layer objects
the “network interceptors” that get network-layer objects

In the middle is our bridge. So users can decide whether they want a Response or a MyResponseObject.

(stealing from OkHttp’s interceptors).

Looking at OkHttp, does it make sense to defer extracting parameters in BoundAction.handle and instead pass the Request object down the network interceptor chain until it terminates with a Misk-internal Interceptor, which does the parameter extraction and basically fulfills the existing chain with the application interceptors. On the way back out that Interceptor would convert a T into a Response<T> and the network interceptors would process a bunch of Response objects.
One thing that's interesting is what if an Application Interceptor decides to return a Response? Short circuit back to Network? Disallow?

Yes, exactly.
I think Response is just a really low-level “application-layer” type.

I think that's fine as long as network layer interceptors have access to information about the target action. Otherwise interceptors like metrics and tracing won't be able to do their job.

Yup, definitely, that will propagate.

Implemented in #133


Update to 1.7.0 (again)

Updated once more to 1.7.0
Working Tournament Patches - Had to create a new harmony patch for GetMaximumBet in BTTournamentBehaviorPatches.cs
Working Morale Tweaks - Had to update patches to new function names
Working Charm tweaks - Had to update to new charm perk names
Other patches seem unaffected. More testing needed to know for sure, but the mod can be loaded, played, and configured.

I don't know how that merge keeps happening, luckily this time I was able to revert the merge and not lose the working code base. I need to learn GitHub a bit better apparently.


Add Google colab?

Pl.thks

Yes, we will implement google colab in few days. Thanks for your advice.

Yes, we will implement google colab in few days. Thanks for your advice.

I've gotten the may.mp4 inference demo working simply by following most of the provided instructions. I have not yet tried fine tuning, will report after I try.
Colab uses CUDA 12, which is not friendly to torch-ngp but it works by replacing all instances of "c++14" with "c++17" and deleting the "-use_fast_math" flag in all python scripts in all 4 torch-ngp modules. Do not downgrade any torch related module or change the CUDA installation, this will cause runtime errors.
Thanks for all your work, and happy new year.

We have just updated Google colab!
Thanks for your valuable advice!


Only generate test bindings if we're compiling tests

This branch is on my fork instead of gl-rs directly.

I opened https://github.com/rust-lang/cargo/issues/1335

Will hold off on merging until cargo gets sorted.


#536 - Improved search results by including all column

Improved search results by including all column for all actors

please explain the reason of introducing the new method getSearchedProps?

This function returns the respective table header columns based on the role. (CMO, SITE, SPO, COU)

and what is this function doing?

and what is this function doing?

Ok, I will use the existing method and commit changes.

Changes committed.

I don't see the need of adding extra properties for table headers, while you already have the property notSortable for the View column.
And there is no reason to have the getSearchedProperties function
You can simply write like this:
this.searchedProps = tableHeaders.filter(header=>header.notSortable===false).map( header => header.column)

I have written extra property "value" because the column heading and field name is different for example (deliveryDate_value, requestDate_value, status_value).

Removed value field from constant

forDeletion contains fields which we don't need in searchedProperties.
shipperID based search should be based on field shipperId and not (shipperID)
I will remove status_value if search based on status not required.

I remember that we discussed about usage of notSortable field in order to avoid inclusion of columns that we don't want.
why don't you change the shipperID to shipperId in constants?
available, assigned, dispensed could also be notSortable


Unreadable font colors for Lilac theme

Hi,
The font color for Manage NuGet Packages window is white and is very low contrast with the lilac background. How can I change this to a higher contrast color?

This is another place where the font color contrast is not very user-friendly - when I select var invoice the highlight of the other references are too dark to read

The find result highlight is also not readable

Hi @GraceWXT , thanks for reporting this problem to me: there were several wrong colors set in 'dark' mode and not 'light' as it should have been.


LibreLinkUp broken after LLU update

Abbott updated LLU on 14/JUN/2023 which has broken the G-Watch Wear integration.  After updating to LLU 4.7.0, now get HTTP 403 errors in the logs...

It appears that Abbott broke something on the back end. That's why LLU doesn't show a current reading either, only the graph and associated average readings. See my issue #6 for some more info I got from another source. Also, I was getting OK earlier (just no updated data) after updating to 4.7, before it changed to 403.

So you are also not getting any data to G-Watch Wear at the moment? Only 403's?

So you are also not getting any data to G-Watch Wear at the moment? Only 403's?

Correct, I am getting OK on auth but "FAILED: HTTP 403 -" on session request

Same here...  Looks like they fixed the LLU app overnight as it now shows the most recent reading (though the graph has the next data point 20-minutes old, with all data points after that stepping by 5-minute increments--I'm sure this is to reduce the amount of data they have to put in the JSON file).
I saw on Reddit and Facebook that Nightscout/XDrip+ is suffering the same API issue.  Another Reddit post indicated that Abbott blocked pre-4.7 API calls a week earlier than apparently had been expected...  I guess we need to hope that Trupici can push out an update ASAP...  I'm sure the others

Is Juray Antal<EMAIL_ADDRESS>still maintaining this app?

Yes, I am. I've got hundreds of emails and PMs related to this LLU change.  The fix is ready, hotifx test app is available for download in G-Watch App Users group on fb. You need to side load the watch app on the watch if you want to see your numbers - due to different test app signature.


Fix inconsistent help menu

Description
This PR modifies the help menu, to be updated to the current requirements, and to avoid the inconsistency and duplication that occured previously
Issues Resolved
https://github.com/wazuh/wazuh-dashboard-plugins/issues/6368
Evidence

Test
Verify that the help menu has the correct icons and links.
Note: it is possible to run yarn opensearch snapshot in the repo before running yarn start, this will bring up an Opensearch instance that works with the dev environments.
Check List

[ ] All tests pass

[ ] yarn test:jest
[ ] yarn test:jest_integration
[ ] yarn test:ftr

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[ ] Update CHANGELOG.md
[ ] Commits are signed per the DCO using --signoff

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (942ecfb) 66.82% compared to head (18c3b79) 55.64%.

:exclamation: Current head 18c3b79 differs from pull request most recent head 3a26d55. Consider uploading reports for the commit 3a26d55 to get more accurate results

Files
Patch %
Lines

.../core/public/chrome/ui/header/header_help_menu.tsx
0.00%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##           2.11.1     #139       +/-   ##
===========================================
- Coverage   66.82%   55.64%   -11.19%
===========================================
  Files        3284     2995      -289
  Lines       63180    59207     -3973
  Branches    10051     9439      -612
===========================================
- Hits        42221    32944     -9277
- Misses      18481    24304     +5823
+ Partials     2478     1959      -519

Flag
Coverage Δ

Linux_1
35.25% <0.00%> (-0.01%)
:arrow_down:

Linux_2
?

Linux_3
43.83% <0.00%> (-0.02%)
:arrow_down:

Linux_4
35.47% <0.00%> (-0.01%)
:arrow_down:

Windows_1
?

Windows_2
?

Windows_3
?

Windows_4
?

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Enhance the role of the Header

Three status values: parse, compile, and test (see #191 )

Possible additional optional fields:

Saved / Unsaved
User name
Profile name
Timestamp?

The display of this information could be specified in the Profile (see #19) except that if there is a profile specified (as distinct from using all default values) then the profile name should be shown in the header.
All fields in the header (after the Hash) should be including in the Hash scope.

Implement version control

If you attempt to load a file that has a valid hash, but the version number is higher (to level 1 or 2 only)  than the current, then you will get a message that you need to upgrade to that version number or, preferably, the latest version  - with instructions on how to do so.

Not now needed


No facility for testing asyncronous code

screw-unit does not contain any helpers for testing asynchronous code.  It would be great to have functions similar to QUnit's start, stop, and expect built into the framework so library users don't have to role their own.
http://docs.jquery.com/QUnit#API_documentation

This tool seems to be no longer maintained, and you @samg also might not be interested in the subject any more, but in case you still are, or for anyone else getting here:
I'm building Tree.js; a JS test framework somewhat similar to this which has a strong emphasis on handling async code well -- among others. Check it out: https://github.com/Wizek/Tree and tell me what you (all) think :)


When auditing two paths with a configuration file specifying an option for specific file(s) and a pylint section, ignored warnings from the specific file(s) are not suppressed beginning in pylama 8.2.1

Summary
All three of the following elements must be present to replicate this issue. If any one element is removed, the issue is no longer replicable:

Specify more than one path in the pylama arguments
Specify options for specific file(s) in the pylama options file
Specify a pylint options section in the pylama options file

When all three criteria are present, audit codes to ignore that are specified in the specific file section will no longer be honored.
This was working properly in pylama 8.2.0. It began failing in pylama 8.2.1 and is still failing in the latest (8.3.5).
To replicate
a.py:
def method_a():
    pass

b.py:
def method_b(unused):
    pass

pylama.ini:
[pylama]
linters = pylint

[pylama:b.py]
ignore = W0613

[pylama:pylint]
good_names = f

When using pylama 8.2.0, the W0613 warning is correctly suppressed:
$ pylama --version
pylama 8.2.0
$ pylint --version
pylint 2.12.2
astroid 2.9.0
Python 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0]
$ pylama --verbose --options pylama.ini a.py b.py
Try to read configuration from: 'pylama.ini'
Namespace(abspath=False, concurrent=False, file_params={re.compile('(?s:b\\.py)\\Z'): {'ignore': 'W0613'}}, format='pycodestyle', from_stdin=False, hook=False, ignore=set(), linters=['pylint'], linters_params={'pylint': {'good_names': 'f'}}, max_complexity=10, max_line_length=100, options='pylama.ini', paths=['a.py', 'b.py'], pydocstyle_convention=None, pylint_confidence=None, report=None, select=set(), skip=[], sort=None, verbose=True)
Run [pylint] a.py
Run [pylint] b.py
a.py:1:1 C0114 Missing module docstring [pylint]
a.py:1:1 C0116 Missing function or method docstring [pylint]
b.py:1:1 C0114 Missing module docstring [pylint]
b.py:1:1 C0116 Missing function or method docstring [pylint]

Beginning in pylama 8.2.1, the W0613 warning is emitted even though the ignore statement in pylama.ini indicates that it should be suppressed:
$ pylama --version
pylama 8.2.1
$ pylint --version
pylint 2.12.2
astroid 2.9.0
Python 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0]
$ pylama --verbose --options pylama.ini a.py b.py
Try to read configuration from: 'pylama.ini'
Namespace(abspath=False, concurrent=False, file_params={re.compile('(?s:b\\.py)\\Z'): {'ignore': 'W0613'}}, format='pycodestyle', from_stdin=False, hook=False, ignore=set(), linters=['pylint'], linters_params={'pylint': {'good_names': 'f'}}, max_complexity=10, max_line_length=100, options='pylama.ini', paths=['a.py', 'b.py'], pydocstyle_convention=None, pylint_confidence=None, report=None, select=set(), skip=[], sort=None, verbose=True)
Run [pylint] a.py
Run [pylint] b.py
a.py:1:1 C0114 Missing module docstring [pylint]
a.py:1:1 C0116 Missing function or method docstring [pylint]
b.py:1:1 C0114 Missing module docstring [pylint]
b.py:1:1 C0116 Missing function or method docstring [pylint]
b.py:1:14 W0613 Unused argument 'unused' [pylint]

As I note above, the issue goes away if:

The first path, a.py, is removed.
The [pylama:pylint] section of pylama.ini is removed.

This may be the same issue as #205, but there were not enough details in that issue for me to be sure they were the same.

@alangefe Thank you for such a detailed explanation. I've pushed the fix (8.3.1).

@klen , I've verified that this is indeed fixed in pylama 8.3.6. Thanks for the quick fix!


Dashboard can't see the device

I generated an apk file in the computer, I sent it to my mobile phone and opened the app, but the dashboard of the computer did not show the device. I refreshed the page and it's the same.So,how to fix it?

it required port forwarding

is not working and it doesn't even have a server include it when i clone it.?

Working fine. Get in touch t.me/efxtv


Fix messages extraction with babel 7

:tada: This PR is included in version 2.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Headings marked as index item does not put text in PDF outline items

I'm marking headers as index items (non-concealed) and I noticed that the PDF outline now has blank section items (untitled).
I'm using current asciidoctor-pdf and all gems freshly updated on Windows 11. Also, section-refsig and chapter-refsig have been unset.
There is a workaround, making the header names normal and duplicating them as concealed index items, but this must be a bug none the less.

This is not the behavior I observe. I expect that the outline will use the text from the non-concealed index term.
Please provide a concrete example that I can test, as it may provide details that you are not mentioning that are affecting the behavior. Also, please report which version of Asciidoctor PDF you are using (asciidoctor-pdf -v).

Hope this helps...
Asciidoctor PDF 2.3.7 using Asciidoctor 2.0.20 [https://asciidoctor.org]
Runtime Environment (ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x64-mingw-ucrt]) (lc:IBM437 fs:UTF-8 in:UTF-8 ex:UTF-8)

Sample document:
= PDF Outline Bug Reproduction
:doctype: book
:outlinelevels: 4:1
:sectnums:

== ((This is a Chapter))

This is Chapter 1.

=== ((This is a Section))

==== ((This is a Sub-Section))

Command used to convert: asciidoctor-pdf -t -b pdf -o "outline.pdf" "outline.adoc"
Keep up the good work!

The nuance is that this seems to happen when sectnums is enabled, which is rather surprising. I'll take a closer look.

FYI, -b pdf is redundant when using the asciidoctor-pdf command.

This appears to be a bug in either Prawn or the PDF format. When there's a null character in the value of an outline, it stops showing the text after that point. We'll have to remove the null character (which is used internally as a placeholder for the index term).

The null character is making it to the PDF, so it must be the PDF reader that's tripping up on it.

I'll backport this to the v2.3.x release line.


Decouple Loader from Container/Summarizer

Tracking item for related issues.  High level goal is to remove the Loader dependency for summarization.  The container should be able to work with summarization without taking a hard dependency on the loader, and the loader should be provided for less "core" use cases.

Should be closed out with completion of #4911


"Spaces" tab in user profile not working

The "Spaces" tab shows the number "2" regardless of the number of spaces the user has. Clicking on the tab shows empty 'space' -- it doesn't show existing spaces the user created, nor does it show the "2" spaces the tab indicates.

Also, there's placeholder text shown in both the "Spaces" tab ("Static content Spaces") and the "Work Items" tab ("Static content Work items").

This is an old profile page and that functionality was not implemented, just hard coded.
As of today, the latest profile page is available in prod. Note there is no longer a count in the tab as we are using infinite scroll.


Bug in gas deduction logic: out of budget transaction still goes through

From a wallet at 5c44cd22, when I set the gas budget at 200 I get a success with accounting:
Success { gas_cost: GasCostSummary { computation_cost: 41, storage_cost: 30, storage_rebate: 30 } }

(I'm transferring simple coins)
Now I run this same loop with simple coin objects (fresh out of the faucet), and the only address of the wallet is C4A844F47F241B8815AC1536562966020E3B67E3. The gas budget is now 20.
huitseeker@dapple.local➜sui/target/release(main)» for i in `cat objects`; do echo "transferring $i"; ./wallet object --id "$i"; ./wallet transfer --to 2EE081526D004F6ADEB4E14292B68A8AA00E4FB3 --object-id $i --gas-budget 20; ./wallet object --id "$i";  done                                                                                [15:26:54]
transferring 2C0E99F7A82CA421D6096A3201D68303CBBDB72C
ID: 2C0E99F7A82CA421D6096A3201D68303CBBDB72C
Version: 3
Owner: Account Address ( C4A844F47F241B8815AC1536562966020E3B67E3 )
Type: 0x2::Coin::Coin<0x2::SUI::SUI>
Error transferring object: Failure {
    gas_cost: GasCostSummary {
        computation_cost: 20,
        storage_cost: 0,
        storage_rebate: 0,
    },
    error: InsufficientGas {
        error: "Ran out of gas while deducting computation cost",
    },
}
ID: 2C0E99F7A82CA421D6096A3201D68303CBBDB72C
Version: 4
Owner: Account Address ( 2EE081526D004F6ADEB4E14292B68A8AA00E4FB3 )
Type: 0x2::Coin::Coin<0x2::SUI::SUI>
transferring 2C30C857A247AE8AC294398894EF2130A1641442
ID: 2C30C857A247AE8AC294398894EF2130A1641442
Version: 3
Owner: Account Address ( C4A844F47F241B8815AC1536562966020E3B67E3 )
Type: 0x2::Coin::Coin<0x2::SUI::SUI>
Error transferring object: Failure {
    gas_cost: GasCostSummary {
        computation_cost: 20,
        storage_cost: 0,
        storage_rebate: 0,
    },
    error: InsufficientGas {
        error: "Ran out of gas while deducting computation cost",
    },
}
ID: 2C30C857A247AE8AC294398894EF2130A1641442
Version: 4
Owner: Account Address ( 2EE081526D004F6ADEB4E14292B68A8AA00E4FB3 )
Type: 0x2::Coin::Coin<0x2::SUI::SUI>

In other terms, I managed to transfer objects w/o paying for the transfer (and I checked in the explorer this was not just locally).

Nice catch!!


chore(repo): remove forward refs, adjust types, change imports in demos

Component / Package Name: N/A
Note: Would make sure that no distinguishable changes can be seen in the demo. None to my eyes, but can't hurt to double check.
Key takeaways:

Remove unnecessary use of React.forwardRef
Change @jsx-email/components imports to @jsx-email/all
Reduce React import to typed imports where possible (although I don't think this will provide a library benefit seeing as react is only listed as a peer dependency in each package)

This PR contains:

[ ] bugfix
[ ] feature
[x] refactor
[ ] documentation
[ ] other

Are tests included?

[ ] yes (bugfixes and features will not be merged without tests)
[x] no

Breaking Changes?

[ ] yes (breaking changes will not be merged unless absolutely necessary)
[x] no

If yes, please include "BREAKING CHANGES:" in the first commit message body, followed by a description of what is breaking.
List any relevant issue numbers:

Description

Thank you @devjmetivier


Share via email - redundant access

Logged in using Twitter and confirmed my email address as<EMAIL_ADDRESS>Uploaded a document and shared that document with<EMAIL_ADDRESS>Document now lists two users even though they are the same account.

A couple things that are in progress:

We are making it so that you can't just type in an existing email address and share with it. You must pick from the selection
In cases where a bulk number of email addresses are entered VIA comma-separation, on the server-side we will be getting user accounts associated to the emails. If an email has only 1 account associated, we will use that account; If there are multiple, it will be treated as a regular email invite

I suppose there is more we can do to check if the email is associated to the current user account and reject the share w/ a 400, though I should note that accepting an email invitation to something you are already a member of is harmless.

This work is complete.


FormData.fromMap() empty list and list with one item become non-list on server

await put('/${userId}', data: FormData.fromMap({
    'emptyArray': [],
    'listWithOneItem': ['Hello'],
}));

Each of them is parsed as undefined and 'Hello' on node.js server.

same issues

await put('/${userId}', data: FormData.fromMap({
    'emptyArray': [],
    'listWithOneItem': ['Hello'],
}));

Each of them is parsed as undefined and 'Hello' on node.js server.

I found an answer. For element arrays, you have to add [] so that it can consider it as a list like this.
await put ('/ $ {userId}', data: FormData.fromMap ({
     'emptyArray []': [],
     'listWithOneItem []': ['Hello'],
}));

@geniuspegasus when you create the "FormData" to send do it like this:
FormData.fromMap(
            data,
            ListFormat.multiCompatible
)

What worked for me was only using the @Sipioteo method without the @geniuspegasus suggestion like the below.
FormData.fromMap(
{
    'arrayWithOneItem': ['Hello'],
}.
ListFormat.multiCompatible,
)

I parsed the form data using multer package with the Express server.

when i encode list like this
data['json_key'] = json.encode(listOfInt);///or something  else String .....
now can send list
MapEntry(json_key: [1])


Velocity Override doesn't work

In both Holonomic & Differential Drive, the Velocity Override I wrote in a Waypoint doesn't get saved.
Besides that, for some reason there's no support for adding starting velocity.

Fixed the velocity override issue in c7db3b9, however this will also require a PathPlannerLib change before it works on robot. I can't reproduce the not saving issue. Are you hitting the enter key after entering a value?

Yes, I pressed enter for sure.

I fixed an issue with the velocity override text boxes not showing the correct value. Maybe that is the issue you are talking about?

When setting the velocity override on the last waypoint, it doesn't seem to have an effect. Whatever value is specified is just ignored.
https://user-images.githubusercontent.com/7953350/150341161-9978cf31-8678-4660-a156-c0afc6090087.mp4
I figured out you could empty the text box and press enter to reset it to the null, which returned it to the default behavior.
https://user-images.githubusercontent.com/7953350/150341169-c90bd486-a42f-468e-af06-3e4485a89f07.mp4

This is technically functioning as expected. A velocity override of 0 is not allowed since it would create an infinite loop in the generation code. I will change it to treat a 0 as a null value to prevent this from happening though.

Fixed in 9a41c25
I believe the issues with the velocity override box have been fixed now. If there's still issues after next release then reopen this.


feat: use Map rather than Object for internal result properties

This came out of discussion around potential for prototype pollution. Use a Map rather than Object internally. Convert to Object for returning to client.
See https://github.com/pkgjs/parseargs/issues/32#issuecomment-1013948553
(Why not use Set for flags? Could, but a little easier to convert from Map to Object!)

Thanks for feedback. I'll start again rather than leave this open, as it may be a couple of weeks before I have time.


Script to deformed images

I'm making the pull request now in case you just need the functions and nothing else, but I still need to clean up the script to take command line options

Current coverage is 100% (diff: 100%)

Merging #2 into master will not change coverage

@@           master    #2   diff @@
===================================
  Files           1     1
  Lines           5     5
  Methods         0     0
  Messages        0     0
  Branches        0     0
===================================
  Hits            5     5
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last update 0579c71...9d28ecf


[Documentation] - Add builder transaction status API to gitbook

Related to https://github.com/EspressoSystems/marketplace-builder-core/issues/175.


Option to activate debug mode in all pages

Have you ever thought about the possibility to enable the Debug Mode in the whole app, setting random colors for every view in every page without the need of adding DebugRainbow.IsDebug="true in the individual pages?
That could be a option you can enable in App.xml.cs, by statically calling some method or variable of DebugRainbow to set the debug in all pages, and it would run whenever a new page is open. Is that possible?
If you could give me directions I may try and create a pull request over the next days. ;)

Sorry for not getting back to you earlier! Since it's an attached property one can set on ContentPage and the initialization of content pages might differ based on the MVVM framework you use this could get tricky. Looking at a way to get something like the following to work:
<Style TargetType="ContentPage">
    <Setter Property="debug:DebugRainbow.IsDebug" Value="true" />
</Style>

or...
<Style x:Key="debugPage" TargetType="ContentPage">
    <Setter Property="debug:DebugRainbow.IsDebug" Value="true" />
</Style>
<Style TargetType="ContentPage">
    <Setter Property="Style" Value="{StaticResource debugPage}" />
</Style>

This should work:
<Style ApplyToDerivedTypes="True" TargetType="ContentPage">
   <Setter Property="debug:DebugRainbow.IsDebug" Value="false" />
</Style>


[Input Validation] Integrate input validation component into Forget Password

Was done for sign up but not forget password yet
If not, the alert messages will be handled by Bert Alert

Closing this issue because Forget Password error messages are set by Meteor's Account methods, hence there is no need for us to define new methods to do additional user input e-mail address validation checks.
Also, after adding more user-friendly forget password messages (refer to commit 091acd5), the default behaviour was improved and is still quite usable.

Relink commit 091acd5


Support for zero-terminal SNR noise schedule + velocity prediction models

Basically asking for support for models trained on zero-terminal SNR noise schedule and velocity prediction such as the terminus series.
Huggingface link:
https://huggingface.co/ptx0/terminus-xl-gamma-v1
Current version:
https://huggingface.co/ptx0/terminus-xl-gamma-training
Reason? These fully trained from scratch models are significantly cheaper to train, requiring only a single A100 card.
While they outperform base sdxl in a significant amount of prompts, they are currently lacking Lora support, which would really help push them to the next level.

it uses XL arch, but kohya complains about the v-pred being 2.x only, and training results in broken model.

--v_parameterization and --zero_terminal_snr have been available for available for ages already.

that's what the comment i left after says.

I am waiting for these to be added for SDXL as well.

Does anybody have these terminus models in safetensors format (or any other SDXL zero-termal ones)?  Can't find any other working SDXL ztsnr models either.

it seems there are still issues due to the gray results obtained in that pull request though. there are a lot of vpred related options and it is not clear how to enable it simply.


Show BD titles on the BD cards

Stinger added the backblast titles to the /all repsonse, so we should now have the title field to display on the cards throughout the app. Update the backblast card component to display the title.

@danmcconologue do you want to give this one a shot?

Yes indeed!


Missing cargo-crev 0.7.0 tag

Hello!
there used to be a tar ball named cargo-crev-v0.X.0, but it's missing for the 0.7.0 release. Did something change? :)
Thanks!

I forgot to push the one last tag. Thanks for pointing that out. Done.


Bug in MultiScaleDeformableAttention?

Thanks for your error report and we appreciate it a lot.
Checklist

I have searched related issues but cannot get the expected help.
I have read the FAQ documentation but cannot get the expected help.
The bug has not been fixed in the latest version.

Describe the bug
In DefromableDETRDecoder, reference points of each query are calculated through sigmoid function, which means the range of them is [0,1]. However, in class MultiScaleDeformableAttention, the offsets are divided by size of each feature maps and the range of them is uncontrollable. The final range of reference points is not in [0,1], I do think it's weird and will be harmful for training.

I think that for sampling points that are out of range [0, 1], truncation may be done to limit the range of these sampling points.


Always 8 characters with uncrustify

Atom-Beautify is always typing 8 spaces as indent although the editor settings of atom are set to 4 (while using uncrustify for c++). If I set my editor to hard indention Atom-Beautify will use 8 tabs (!) as indention. I have tried changing the config file of uncrustify (in the Atom-Beautify package). Changing the config.coffee also makes no difference.

I will reopen this defect once we have access to your debug.md file.  Until that time we do not have the necessary information to debug the problem.

if you want to change the tab width from 8(Unix default) to 4:
$ atom ~/.atom/packages/atom-beautify/src/beautifiers/uncrustify/default.cfg
output_tab_size = 4 # (edit about line 14)
indent_columns  = 4 # (edit about line 42)

then change path of the C and C++ setting of atom-beautify:
~/.atom/packages/atom-beautify/src/beautifiers/uncrustify/default.cfg

if you want to change the tab width from 8(Unix default) to 4:

$ atom ~/.atom/packages/atom-beautify/src/beautifiers/uncrustify/default.cfg
output_tab_size = 4 # (edit about line 14)
indent_columns  = 4 # (edit about line 42)
then change path of the C and C++ setting of atom-beautify:
~/.atom/packages/atom-beautify/src/beautifiers/uncrustify/default.cfg

+
comment out the align_number_left

(in default.cfg , otherwise it will give an error)


Get leaflet-draw from NPM instead of Bower

The ember-leaflet addon recently switched to getting leaflet from NPM instead of Bower (https://github.com/miguelcobain/ember-leaflet/pull/145), which is the direction most Ember addons seem to be going as more people drop Bower (in fact Bower has itself marked as deprecated on NPM and directs people to Yarn and Webpack).
This PR replicates the solution implemented for ember-leaflet. It doesn't add any new dependencies, but it does make the dependence on broccoli-funnel explicit instead of transitive (ember-cli depends on it).

Awesome, thanks!

No problem! This was the only thing keeping our project on Bower, so it was well worth the trouble! 😅
I'm also happy to help sort out Travis if you want

Thanks again for the help. I just realized one error in my travis build for the Env key. That has been changes in master and published to v0.5.6. I certainly welcome all help (including Travis configuration... I don't have tons of experience there).
I have left this repo a bit stagnant. Been quite busy, so I haven't taken it quite as far as I originally hoped. I see that it fails on the Canary build. Would certainly love some help correcting that.. as it will soon enough fail on LTS  :P
Are there features or modification that would be beneficial to your project?


Incorrect Comment

https://github.com/quic/ai-hub-models/blob/4c5f86530b1b6d8f74967f60734b01f8709dbe35/apps/android/ImageSuperResolution/superresolution/src/main/java/com/qcom/imagesuperres/Utils.java#L16
Comment states that image is normalized from [-1, 1] rather than [0, 1].

Thank you for submitting this! We'll get it fixed up.

The SuperResolution app has been re-launched as part of a new AI Hub Apps repository:

https://github.com/quic/ai-hub-apps/tree/main/apps/android/SuperResolution

This issue has been resolved there. Thanks again for reporting it!


Automated testing for pipelines

As part of normal agile development, we need to have a set of automated regression tests which validates critical pipeline features which can be used for regression and release candidate testing.

@smcclem - Can you please document automation and then close this issue.

According to Vijai, targeting fro v0.5.0.

Test script added here:  https://github.com/kabanero-io/kabanero-pipelines/blob/master/pipelines/tests/test_active_collections.sh .
Also found that there are atleast 2 other teams with similar test cases.  Will work with them to consolidate into one set of tests.


Simplify and optimize insert_string template

This moves unnecessary code out of the loop in insert_string, and adds a compiler hint to both quick_insert_string and insert_string.
Result is ~0.4% faster in my benchmarks.
See benchmarks in comment below.
PS: I recommend looking at/reviewing the two commits separately, it is split up to make it easier to understand why the changes were made.

Deflatebench config
Runs: 70
Levels: 1-9
Trimworst: 40
Activated multiple generated file mode. Source: silesia-small.tar
Level 1: /tmp/deflatebench-1.tmp 270.1 MiB / 283,253,760 B
Level 2: /tmp/deflatebench-2.tmp 135.1 MiB / 141,626,880 B
Level 3: /tmp/deflatebench-3.tmp 105.1 MiB / 110,154,240 B
Level 4: /tmp/deflatebench-4.tmp 90.0 MiB / 94,417,920 B
Level 5: /tmp/deflatebench-5.tmp 90.0 MiB / 94,417,920 B
Level 6: /tmp/deflatebench-6.tmp 75.0 MiB / 78,681,600 B
Level 7: /tmp/deflatebench-7.tmp 60.0 MiB / 62,945,280 B
Level 8: /tmp/deflatebench-8.tmp 45.0 MiB / 47,208,960 B
Level 9: /tmp/deflatebench-9.tmp 45.0 MiB / 47,208,960 B
Baseline 97c115946f4162599773bef28dd1cc92c0459bf4
   text    data     bss     dec     hex filename
  93327    1272      32   94631   171a7 libz-ng.so.1

 Level   Comp   Comptime min/avg/max  Decomptime min/avg/max  Compressed size
 1      57.870%    1.835/1.869/1.882       1.190/1.230/1.243  163918126
 2      43.903%    1.812/1.849/1.859       0.620/0.639/0.648  62178636
 3      42.510%    1.713/1.724/1.731       0.464/0.481/0.489  46826710
 4      41.490%    1.673/1.685/1.693       0.382/0.404/0.412  39174432
 5      41.215%    1.818/1.834/1.843       0.370/0.402/0.410  38913920
 6      41.038%    1.820/1.834/1.840       0.314/0.332/0.340  32289128
 7      40.784%    1.998/2.006/2.010       0.248/0.265/0.271  25671760
 8      40.707%    1.925/1.944/1.951       0.187/0.197/0.203  19217358
 9      40.696%    2.141/2.157/2.165       0.176/0.193/0.200  19212387

 avg1   43.357%                1.878                   0.460
 tot                         507.061                 124.285

PR #725 03076155b4188137678d3d9c8bc75ab9b0fc4669
   text    data     bss     dec     hex filename
  93199    1272      32   94503   17127 libz-ng.so.1

 Level   Comp   Comptime min/avg/max  Decomptime min/avg/max  Compressed size
 1      57.870%    1.844/1.868/1.880       1.173/1.217/1.234  163918126
 2      43.903%    1.824/1.841/1.852       0.626/0.639/0.646  62178636
 3      42.510%    1.700/1.718/1.723       0.451/0.481/0.488  46826710
 4      41.490%    1.650/1.665/1.675       0.387/0.404/0.411  39174432
 5      41.215%    1.807/1.821/1.829       0.385/0.400/0.408  38913920
 6      41.038%    1.802/1.821/1.828       0.316/0.333/0.339  32289128
 7      40.784%    1.982/2.000/2.008       0.254/0.266/0.270  25671760
 8      40.707%    1.930/1.942/1.947       0.183/0.196/0.203  19217358
 9      40.696%    2.146/2.156/2.162       0.179/0.196/0.202  19212387

 avg1   43.357%                1.870                   0.459
 tot                         504.987                 123.968

For a fun comparison, this is a benchmark of develop from last week if. The commits since then, plus this PR totals at ~0.84% faster, and zlib-ng.so is also getting smaller, so things are moving nicely in the right direction.
Old Baseline 8832d7db7241194fa68509c96c092f3cf527ccce
   text    data     bss     dec     hex filename
  93335    1272      32   94639   171af libz-ng.so.1

 Level   Comp   Comptime min/avg/max  Decomptime min/avg/max  Compressed size
 1      57.870%    1.863/1.880/1.891       1.181/1.215/1.234  163918126
 2      43.903%    1.825/1.854/1.863       0.614/0.631/0.640  62178636
 3      42.510%    1.700/1.724/1.734       0.460/0.476/0.483  46826710
 4      41.490%    1.681/1.699/1.707       0.387/0.399/0.407  39174432
 5      41.215%    1.825/1.849/1.857       0.372/0.396/0.405  38913920
 6      41.038%    1.834/1.845/1.851       0.323/0.332/0.337  32289128
 7      40.784%    1.998/2.014/2.021       0.253/0.261/0.269  25671760
 8      40.707%    1.935/1.949/1.955       0.185/0.194/0.199  19217358
 9      40.696%    2.154/2.164/2.170       0.185/0.195/0.201  19212387

 avg1   43.357%                1.887                   0.456
 tot                         509.364                 122.992

Removing the return value did nothing for the speed in my benchmarks, but as usual that could just be cache-alignments changing and messing up.
I decided to do a combo test with the other insert_string optimization PR though, and this is the combined result:
PR #724 + #725
   text    data     bss     dec     hex filename
  93151    1272      32   94455   170f7 libz-ng.so.1

 Level   Comp   Comptime min/avg/max  Decomptime min/avg/max  Compressed size
 1      57.870%    1.829/1.862/1.876       1.176/1.221/1.238  163918126
 2      43.903%    1.803/1.835/1.845       0.608/0.640/0.652  62178636
 3      42.510%    1.693/1.709/1.716       0.463/0.482/0.493  46826710
 4      41.490%    1.648/1.668/1.676       0.389/0.404/0.412  39174432
 5      41.215%    1.801/1.817/1.826       0.377/0.400/0.410  38913920
 6      41.038%    1.800/1.818/1.827       0.321/0.335/0.341  32289128
 7      40.784%    1.985/2.004/2.012       0.248/0.263/0.272  25671760
 8      40.707%    1.930/1.943/1.948       0.190/0.198/0.203  19217358
 9      40.696%    2.143/2.157/2.164       0.186/0.195/0.200  19212387

 avg1   43.357%                1.868                   0.460
 tot                         504.378                 124.157

Good reduction of code size and overall speed improvement of close to 0.53%.
Most of the speedup is found in deflate_fast and deflate_medium (levels 2-6).

Rebased on top of current #develop (with #724).
I would appreciate some quick re-reviews to make sure I didn't mess anything new up.

Looks better now...


Description of the rule 'AvoidInvokingEmptyMembers' is incorrect

The description of this rule at "https://github.com/PowerShell/PSScriptAnalyzer/blob/development/RuleDocumentation/AvoidInvokingEmptyMembers.md" is:
"Invoking non-constant members would cause potential bugs. Please double check the syntax to make sure members invoked are non-constant."
This description seems wrong. It looks like should be 'make sure members are constant'.

Fixed:
#322


Performance drop bewteen offline and online

Thanks so much for your work, I find it very helpful.
I am confused with a problem, that I trained with qmix+cql,startcraft v1, 3m scneario, firstly offline and then online. I comment out the trainning part in the train online function, so It is actually just evaluating the performance. But I see a big performance discrepency, the offline training achieves around 20 epsiode return, but when I just evluate it in the train_online, it has a much lower return ranging roughly around [2,4]. I am very confused, and hope you could provide some help or insight into it.  Thanks so much!
Below are my episode return curves for offline and online. I aslo paste my online trainning code and part of my main() function.

def train_online(
    self,
    replay_buffer: FlashbaxReplayBuffer,
    max_env_steps: int = int(1e4),
    train_period: int = 20
) -> None:
    """Method to train the system online."""
    episodes = 0
    while True:  # breaks out when env_steps > max_env_steps
        self.reset()  # reset the system
        observations_ = self._environment.reset()

        if isinstance(observations_, tuple):
            observations, infos = observations_
        else:
            observations = observations_
            infos = {}

        episode_return = 0.0
        while True:

            if "legals" in infos:
                legal_actions = infos["legals"]
            else:
                legal_actions = None

            start_time = time.time()
            actions = self.select_actions(observations, legal_actions)
            end_time = time.time()
            time_for_action_selection = end_time - start_time

            start_time = time.time()
            (
                next_observations,
                rewards,
                terminals,
                truncations,
                next_infos,
            ) = self._environment.step(actions)
            end_time = time.time()
            time_to_step = end_time - start_time

            # Add step to replay buffer
            replay_buffer.add(observations, actions, rewards, terminals, truncations, infos)

            # Critical!!
            observations = next_observations
            infos = next_infos

            # Bookkeeping
            episode_return += np.mean(list(rewards.values()), dtype="float")
            self._env_step_ctr += 1
            """Comment out the training part
            if (
                self._env_step_ctr > 100 and self._env_step_ctr % train_period == 0
            ):  # TODO burn in period
                # Sample replay buffer
                start_time = time.time()
                experience = replay_buffer.sample()
                end_time = time.time()
                time_to_sample = end_time - start_time

                # Train step
                start_time = time.time()
                train_logs = self.train_step(experience,offline = False)
                end_time = time.time()
                time_train_step = end_time - start_time

                train_steps_per_second = 1 / (time_train_step + time_to_sample)
                env_steps_per_second = 1 / (time_to_step + time_for_action_selection)

                train_logs = {
                    **train_logs,
                    **self.get_stats(),
                    "Environment Steps": self._env_step_ctr,
                    "Time to Sample": time_to_sample,
                    "Time for Action Selection": time_for_action_selection,
                    "Time to Step Env": time_to_step,
                    "Time for Train Step": time_train_step,
                    "Train Steps Per Second": train_steps_per_second,
                    "Env Steps Per Second": env_steps_per_second,
                }

                self._logger.write(train_logs)
            """
            if all(terminals.values()) or all(truncations.values()):
                break

        episodes += 1
        if episodes % 1 == 0:  # TODO: make variable
            self._logger.write(
                {
                    "Episodes": episodes,
                    "Episode Return": episode_return,
                    "Environment Steps": self._env_step_ctr,
                },
                force=True,
            )

        if self._env_step_ctr > max_env_steps:
            break

def main(_):
config = {
"env": FLAGS.env,
"scenario": FLAGS.scenario,
"dataset": FLAGS.dataset,
"system": FLAGS.system,
"backend": "tf2",
}
env = get_environment(FLAGS.env, FLAGS.scenario)

buffer = FlashbaxReplayBuffer(sequence_length=20, sample_period=1)

download_and_unzip_vault(FLAGS.env, FLAGS.scenario)

is_vault_loaded = buffer.populate_from_vault(FLAGS.env, FLAGS.scenario, FLAGS.dataset)
if not is_vault_loaded:
    print("Vault not found. Exiting.")
    return

run_name = datetime.now().strftime("%Y-%m-%d-%H-%M-%S")
logger = WandbLogger(project="og-marl-baselines", config=config,name = run_name)

json_writer = JsonWriter(
    "logs",
    f"{FLAGS.system}",
    f"{FLAGS.scenario}_{FLAGS.dataset}",
    FLAGS.env,
    FLAGS.seed,
    file_name=f"{FLAGS.scenario}_{FLAGS.dataset}_{FLAGS.seed}.json",
    save_to_wandb=True,
)

system_kwargs = {"add_agent_id_to_obs": True}
if FLAGS.scenario == "pursuit":
    system_kwargs["observation_embedding_network"] = CNNEmbeddingNetwork()

system = get_system(FLAGS.system, env, logger, **system_kwargs)

system.train_offline(buffer, max_trainer_steps=FLAGS.trainer_steps, json_writer=json_writer)

online_buffer = FlashbaxReplayBuffer(sequence_length=20, sample_period=1)
system.train_online(online_buffer)

Hi @zhonghai1995 , this is very cool.  Let me take some time to look into why it doesn't seem to be working. Ill get back to you as soon as possible. I am working on it now.

I think I know what is going on. The QMIX system (qmix.py) has an argument called eps_decay_timesteps=50_000. This means that the qmix+cql.py system will use epsilon-greedy action selection for the first 50000 timesteps. That means your system is choosing random actions when it goes online. Try setting that value to zero.
I see in qmix_cql.py I did not expose the eps_decay_timesteps argument. So you may want to just modify the code a bit so that you can change it.
By the way, I have found IDRQN+CQL works better than QMIX+CQL.

I see and it solves the problem. thanks again!

I am glad its working. We actually also did a research project on offline-to-online MARL which you might find interesting. You can find it here:
https://instadeepai.github.io/selective-reincarnation-marl/

By the way, did you tried to use omar for discrete actions? I tried the gumbel max trck in the smac envrionments, and the performance is bad.

hi @jcformanek, I tried omar on 2ant in mamujoco, with good dataset. I used adam instead of rmsprop, increase the hidden sizes to 256, and it seems the performance is better,  roughly matches the peformance of BC and ITD3 bc in Table D.5 in your paper.  Please have a look.
https://wandb.ai/haizhong/og-marl-baselines/reports/evaluator-episode_return_offline-24-05-25-23-51-46---Vmlldzo4MDkyMjU4

I run for more seeds, now the result is across 15 seeds. and it looks like it could acheive an average of roughly 1500 reward for good dataset in 2ant scenario, worse than bc based methods, but sill better than reported in the table.
https://wandb.ai/haizhong/og-marl-baselines/reports/evaluator-episode_return_offline-24-05-26-19-54-24---Vmlldzo4MDk4NjU5

Oh that is great, thank you for sharing. We will work on updating all of the benchmark results.

https://github.com/instadeepai/og-marl/blob/68db0c007c73a06197f7b66d453ee4dd7429434e/og_marl/tf2/systems/idrqn.py#L115-L116
One more question, why you increase the env step here? thanks!

Thats used to control the epsilon greedy exploration. It only has an effect if you train online.

https://github.com/instadeepai/og-marl/blob/68db0c007c73a06197f7b66d453ee4dd7429434e/og_marl/tf2/systems/base.py#L103-L127
But you also increase the environment step here. And the default argument of explore for select action function is True, then you would increase the environment step counter twice for a single environment step，is this expected?

Oh I see. I think you are right! That would result in exploration decreasing 2x faster than I expected. You are welcome to open a PR to fix it if you like. Alternatively, I can attend to it

https://github.com/instadeepai/og-marl/blob/68db0c007c73a06197f7b66d453ee4dd7429434e/og_marl/tf2/systems/qmix_cql.py#L191-L192
I also find here cql loss is not multiplied by its weight. is this as expected? If no, please fix them

I have just merged in a fix for this and for the env_step_ctr bug. Thank you so much for finding and reporting these bugs. I really appreciate your contributions. Let me know if you find any more.

hi @jcformanek , I see you added more benchmark results for datasets from previous works, thanks for this and it is really helpful. I wonder if I want to convert the dataset of omar's mpe (other than the simple spread), how can I do it? Also, do I need to calculate the normalized score by myself? If so, where can I find the expert, random score of the datset it self? Thanks so much

I am glad you find it helpful. Ill upload the datasets for the other scenarios, we already converted them. The challenge we faced on those scenarios is that the MPE environment code they used depended on loading in a pre-trained model (PyTorch) for the adversaries. If you can properly instantiate the environment for evaluation, then everything should work fine.
With regards to normalisation, the CFCQL paper says they normalise in one way, but if you inspect the code you can see they simply normalise by dividing by the mean episode return of the dataset. You need to do the normalisation yourself, yes.

Thanks! I am trying to run this simple spread environment from offline to online, during online I need state, but in the infos obtained from step are just info_n [{}, {}, {}]. What are the states for the mpe simple spread? I could  extract this by myself, but I do not know how it is composed. Please help me. Thanks so much!

Thanks! I am trying to run this simple spread environment from offline to online, during online I need state, but in the infos obtained from step are just info_n [{}, {}, {}]. What are the states for the mpe simple spread? I could extract this by myself, but I do not know how it is composed. Please help me. Thanks so much!

I think I figure it out, the state is just the concatenation of the three agent's observations.

Yes, I think you are correct! Also @callumtilbury is uploading the other MPE vaults now. We will add the download link to the file og_marl/offline_dataset.py.

Hi @zhonghai1995 👋🏻  Here are the MPE vaults from OMAR:
    "mpe_omar": {
        "simple_spread": {"url": "https://s3.kao.instadeep.io/offline-marl-dataset/omar/simple_spread.zip"},
        "simple_tag": {"url": "https://s3.kao.instadeep.io/offline-marl-dataset/omar/simple_tag.zip"},
        "simple_world": {"url": "https://s3.kao.instadeep.io/offline-marl-dataset/omar/simple_world.zip"},
    }

Note that for the simple_world and simple_tag scenarios, the observation dimensions are not homogenous, so we pad them with -inf when appropriate.
The vault conversion code can be found here: https://bit.ly/vault-conversion-notebook. For OMAR's MPE datasets, see Example 4.
Please let us know if you have any further questions or problems! 🚀

@callumtilbury This is super helpful for me! Thanks so mcuh!


Prevent click-through

I have a clickable element below the multi select drop down, so neither hovering over options or clicking on an option works properly. How do I prevent this behaviour?
Thanks for the help!

Sorry!  It was a z-index problem!


due to Typeerror I can get the graph!

I have used the sample.json
In my case, it gives the following error:
TypeError: object of type 'map' has no len()
and shows only skull of the graph:

Hi,
I can't replicate the error. I just tried again in it works just fine for me, indeed I just updated the image in the README using sample.json
Can you call the wrapper (runner.py) and paste the full error log if it fails again.
Stefan

Couldn't replicate.

Thanks a lot @SignMyPublicKey


Don't swallow intermediate write failures in MessageToMessageEncoder

Motivation:
If the encoder needs to flush more than one outbound message it will
create a new ChannelPromise for all but the last write which will
swallow failures.
Modification:
Use a PromiseCombiner in the case of multiple messages and the parent
promise isn't the VoidPromise.
Result:
Intermediate failures are propagated to the original ChannelPromise.
Fixes #8429.

A much simpler alternative is to use the VoidPromise instead of a new, discarded, ChannelPromise for the intermediate writes. The behavior there would be to propagate the exceptions via the exceptionCaught pathway which is what the original issue actually wanted.

@bryce-anderson this will not work in some cases as the VoidPromise will not allow to add listeners in any other handler

@netty-bot test this please

@netty-bot test this please

@netty-bot test this please

@netty-bot test this please

@bryce-anderson thanks a lot!


Anything about this Government alert to VPN vendors affect Nebula?

The article describes the Government alert and the fact that over 7 vpn vendors were shown vulnerable.

Nope, entirely unrelated. Btw, I recommend joining the Slack Group we set up for nebula discussions for questions like this: https://join.slack.com/t/nebulaoss/shared_invite/enQtODY1OTg4MDkwMDM0LWI0ZmI5NDMxOTI2OGM5NzVhYjQxOTZlY2U1NWJlMDhkODJkYThhN2VkMTJjMGEzZjM5Y2YxMDhmYWMxNWE3YmY


fix(icon-view): added vertical-align

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
4 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.1%) to 82.806%

Files with Coverage Reduction
New Missed Lines
%

packages/base-modal/src/Component.tsx
1
84.43%

packages/base-modal/src/utils.ts
1
87.23%

packages/select/src/components/base-select/Component.tsx
2
72.74%

Totals

Change from base Build<PHONE_NUMBER>:
-0.1%

Covered Lines:
8633

Relevant Lines:
9562

💛  - Coveralls


[CS] Lazily process CSV instead of eagerly reading

Large CSVs may be too large to fit in memory. So read them piecemeal.

LGTM


Store output from fzf in a variable in vim

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[x] Linux (neovim)
[ ] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[ ] zsh
[ ] fish

Problem / Steps to reproduce
I have the following keybind:
nnoremap <leader>cx :vs term://cargo test \| :norm i

This opens a new terminal buffer in a vertical split with the command cargo test and automatically enters Terminal mode (from terminal normal mode).
What I'm trying to do with fzf is to select a coand from a list and then run it the same way as the keybinding.
This is what I have so far but I can't figure out how to automatically enter Terminal mode!
nnoremap <leader>cx :call s:icargo()<CR>

function! s:icargo()
    call fzf#run({'source': ['test', 'run'], 'sink': function('s:icargo_run')})
endfunction

function! s:icargo_run(cmd)
    execute ':vs term://cargo '.a:cmd.' | :norm i'
endfunction

The problem here is that fzf runs the function when it's still in the fzf buffer so it complains about the :norm i part of the command trying to enter insert mode when it's not modifiable. If I remove the \| :norm i part for the execute line, it does exactly what I want apart from entering Terminal Mode.
The reason for entering Terminal mode is so that I can just press enter when the command to ishes to close the buffer. It works great for the keybinding with the hard coded command.
Is there a way to store the selection from the fzf#run command in a variable so I can run the command separately after the fzf buffer has closed? Or maybe another way to achieve what I'm after.
I have tried an autocmd to run startinsert on the TermOpen event but it didn't seem to work.

Try replacing norm i with call feedkeys('i', 'n'), i.e.
execute 'vs term://cargo '.a:cmd
call feedkeys('i', 'n')

Related https://github.com/junegunn/fzf/issues/1566#issuecomment-495041470

Thanks! That worked perfectly =]


"Topana", "Ciorâca", "Cândelești", "Cojgărei" and "Ungureni" are listed in the drop-down menu

Description:
The villages are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Preconditions:
The website (https://peviitor-ro.github.io/ui.orase/) is up and runing. After every step delete the text you typed from the search bar.

Step 1
Write in the search bar "Topana".

Expected results
The location is listed in the drop-down menu as "Sat Topana OLT (Topana)".

Step 2
Write in the search bar "Ciorâca".

Expected results
The location is listed in the drop-down menu as "Sat Ciorâca OLT (Topana)".

Step 3
Write in the search bar "Cândelești".

Expected results
The location is listed in the drop-down menu as "Sat Cândelești OLT (Topana)".

Step 4
Write in the search bar "Cojgărei".

Expected results
The location is listed in the drop-down menu as "Sat Cojgărei OLT (Topana)".

Step 5
Write in the search bar "Ungureni".

Expected results
The location is listed in the drop-down menu as "Sat Ungureni OLT (Topana)".


Adding MyPED to React Native Showcase

@Takeno can you rebase

Now it shoud be rebased.

@facebook-github-bot shipit

@facebook-github-bot shipit

merged


Create 2022-10-14-team05.md

@FelixLQJiang Sorry but you don't upload any material in the file. Could you please check again? And also I will modify the file name to 2022-09-19-team05.md


streaming Python code

The streaming Python zed-examples did not work for me  (open failed) as given (Zed SDK 3.1). I had to make the following modifications to get it to work -
streaming_receiver.py
Changed init.set_from_stream(ip) to init.set_from_stream(ip, port)
streaming_sender.py
Added stream.port = port
Thanks!

If you didn't specify which port you are going to use, the default port is 30000


each_page not working?

I'm getting an error when I try to use .each_page -- it seems as though when there is more than 1 page the object that is yielded is the string of the next page URL instead of a ruby object containing objects from the page.  Do you see this on your side too?

here's my janky makeshift solution for getting all issues from a project, am I missing something?
current_page = client.project_issues(project_name, query: query)

issues = []
loop do
  issues += current_page
  if current_page.has_next_page?
    # remove URL prefix so client can handle it
    next_page_path = current_page.next_page.gsub(client.endpoint, '')
    current_page = client.get(next_page_path)
  else
    break
  end
end

OK, I will check it as soon as possible.

@steveklebanoff. Sorry, this is really a mistake, and I released a new 0.3.2 version and fix this bug.
Now you can use each_page method correctly.
Thanks for this issue.

cool, thanks for the fix!


[Release Enhancement] GHA Workflows to Update Versions Automatically

It would be nice to have an automated process that listens for a new tag to be pushed to the dapr/kit repo && dapr/components-contrib that updates the go.mod version accordingly so we are always up to date on changes and can automate our release candidate testing. This should be automated to minimize the manual steps in the release process.
I propose adding a GitHub Action Workflow to dapr/dapr that listens for a new tag on the dapr/kit repo && dapr/components-contrib and auto creates a Pull Request that updates that line in the go.mod file and other relevant changes (go.sum) as a result of go mod tidy.

I agree that this has to be only for RCs and release tags though, since normal master versions might contain breaking changes which will need a manual intervention. We ideally should not have a breaking change during tag cuts in dapr/kit or dapr/components-contrib. That should be handled before the tag creation by updating dapr with the right master versions of components-contrib and kit.


Asyncify

Description
Putting up a Draft PR for this to get some quick feedback. This is mainly starting with async migration for the node post processors. Still working on more testing by running notebooks.
Fixes # (issue)
Type of Change

[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Added new unit/integration tests
[ ] Added new notebook (that tests end-to-end)
[x] I stared at the code and made sure it makes sense

Suggested Checklist:

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

@sourabhdesai @logan-markewich Ok to close this one?

@masci yea let's close this


scrollParent should be calculated from reference, not popper

CodePen demo
Popper should hide when ref is out of scrollable div bounds, instead it gets hidden when ref gets scrolled outside body:
https://codepen.io/anon/pen/dVjRba
Steps to reproduce the problem

Put popper outside of reference's scrollParent
Use scrollParent as boundariesElement

What is the expected behavior?
Popper should try to keep inside reference's scrollParent
What went wrong?
Popper's scrollParent is used as boundariesElement

I believe to be experiencing the same difficulty.  Here is another demo.  https://codepen.io/brentertz/pen/vejPeK

Thanks, this looks like an easy one. If anyone wants to adopt it feel free to. I'll be happy to help if needed.

I feel like this should have been a breaking change to be honest, not a patch. We were relying on the  behavior for our app since we position popovers outside of scroll parents so they don't get hidden by overflow.

May you please provide an example to better understand how did you use it please?

We have a dropdown which may contain subdropdowns in our component library:

The first dropdown is a scroll container, in case the dropdown is too large in general (wouldn't ever want it being larger than the height of the viewport, for instance) so we would move the subdropdown element to the top level and attach the popper. Updating Popper caused this regression:

We were able to catch it early and update the popper modifiers to use window as the boundaries element, but it seems like this was a pretty big shift in existing behavior is all. I understand that this is likely the expected behavior to be fair, but given it's the default it could have caused breakage for a lot of people.

OK, I find out we can use boundariesElement: 'viewport' to prevent this issue.


Bump SpringCloud version from 2023.0.0 to 2023.0.1

Describe what this PR does / why we need it

Bump SpringCloud version from 2023.0.0 to 2023.0.1
Fixes: #3596

pls fix ci @ruansheng8

pls fix ci  请修复 ci@ruansheng8

Done


Realtime-Screen-Object-Detection

Checklist

[ ] update versions
[ ] make runnable
[ ] add yolo model
[ ] readme structure updated
[ ] readme Badges
[ ] readme demo
[ ] license
[ ] release created
[ ] Add release assets .exe
[ ] package created
[ ] docker updated
[ ] test datat
[ ] tests created
[ ] ci/cd created
[ ] settings on github repo origin changed
[ ] security
[ ] code of conduct

This is awesome! I’m excited for the YOLO implementation!

It is so close! I can see all of the detections working now in the logs. Keeping an eye on your amazing efforts. Thank you again


Update tab-based-navigation.md

You have to add tabBarOptions={{ showIcon: true }} otherwise the icon won't appear in tabs.
READ ME PLEASE!
TL;DR: Make sure to add your changes to versioned docs
Thanks for opening a PR!
The docs cover several versions of react-navigation, and in some cases there are several files (for version 1, version 2 and etc.) that all describe a single page of the docs (eg. "Getting Started").
Please make sure that the edit you're making in docs/file-you-edited.md is also included in the file for the correct version, eg. /versioned_docs/version-3.x/file-you-edited.md for version 3. If such file doesn't exist, please create it. :+1:

Thanks for the PR, but the documentation refers to bottom tabs and showIcon is for material top tabs.


Provider warning for missing api_key, api_user, and user_name even when using NAMECHEAP_* environment variables

Terraform Version
Terraform v1.4.5
on linux_amd64
+ provider registry.terraform.io/namecheap/namecheap v2.1.0

Namecheap provider version
namecheap/namecheap v2.1.0

Affected Resource(s)
The namecheap Terraform provider.
Terraform Configuration Files
Irrelevant for this report.
Debug Output
Irrelevant for this report.
Expected Behavior
The documentation, under Argument Reference, mentions that the provider arguments can be set via environment variables. This is, in fact, preferred as you shouldn't hard-code sensitive data in your Terraform configuration.
Thus, I expected to be able to declare an empty namecheap provider without any warnings:
provider namecheap {}

Actual Behavior
My IDE warns me that api_key, api_user, and user_name are required and missing:

Luckily, this is only a warning, because supplying the appropriate NAMECHEAP_* environment variables works as expected.
Steps to Reproduce
Given a Terraform config:

Add namecheap version 2.1.0 as a required provider

terraform {
  required_providers {
    # Other provider data...

    namecheap = {
      source = "namecheap/namecheap"
      version = "2.1.0"
    }
  }
}

Create a namecheap provider with no arguments:

provider namecheap {}

Depending on the capabilities of your IDE, you should have a warning of sorts pop up. For reference, I'm using IntelliJ IDEA Ultimate with the official Terraform plugin.

Important Factoids
Looking at the provider source, the properties that are logically required are also programmatically flagged with Required: true, while also having a DefaultFunc pointing to the respective environment variable.
If a property has a default, why should it be required? Or if it is required, then what is the purpose of a default value?
I would recommend Replacing  the Required: true with Optional: true because that is what these properties are.  For inspiration, the AWS provider does the same. They don't use DefaultFunc but rather a configure function to ensure that the configuration is always complete, however the end result is the same.

@matei-radu Thanks for reporting! We will take it to work!


CORS Error

Hi! I'm trying to use GetBalance/Airdrop for the ArConnect wallet and I'm encountering this issue:
I'm on Testnet (www.arweave.run) and I've also set it in 'ArConnect > Settings > Gateway > select Gateway'.
Access to fetch at 'https://www.arweave.run/mint/Zb8ECPwUAHR3il2iuTd-60aDdCBcw9oQ_FNTJCxQEjg/100000000000000' from origin 'http://localhost:5173' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
I'm not sure what to do. Please help.

Thank you for use my repository but I don’t maintenance any more...
I suppose you have 2 problems. Please ask that in Discord of Arweave.

www.arweave.run doesn’t work, I think.
CORS error is a security function of browser. I think my repository is too old so, you should update npm packages to latest .

If you want to use NFTs on Solana, I recommend to use Metaplex.
Do you know Irys (former name: Bundlr Network)?
Irys is like a storage aggregator using Arweave and support multi chain.
Metaplex use that so, we don’t need to use directly the Arweave anymore.
I made a lot of example script(NFT/Compressed NFT) of Metaplx. Look at this if you interested in.
solana-anchor-react-minimal-example/scripts/metaplex
Or check GameShift. NFT minting fee is free for now.


Labels

Pull Request Description
Adds labels to the dashboard:

Filtering assets by label
Creating new labels
Displaying labels in "Labels" column
Adding a new label to an existing asset (multi-select)

Important Notes
WIP: Use a color picker with pre-defined colors, instead of randomly generated colors
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[ ] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

@somebody1234 one additional thing.. can we have small trash icon in top right corner of the label? if user wants to remove the label they can click it.. there also should be a confirmation modal before issuing the request
DELETE /tags/<tag_id

can do tomorrow i guess. i think the main issue would be that it'd be tiny on non-retina displays. like 8px by 8px or something

maybe we could do a low opacity, but full sized trash icon on hover, to the right of the label. thoughts?

:disappointed: it seems like properly deleting labels will be a bit difficult, as we will potentially need to recursively delete labels on both the frontend and backend side? (also, the backend should probably also (somehow) have a recycle bin for labels)

I've spent a while implementing basic visual regression tests for the labels panel (and create labels modal) - I didn't get around to implementing them for the labels column and manage labels modal, nor for the drag-n-drop PR

@somebody1234 backend will take care about recursively removing it from assets. we just need to show a confirmation for the user and probably relaod list directory

also for the record lets move to use repeted params for labels filtering when calling /directories

as for reloading all directories... actually the frontend currently has no logic for that. also i think it might be quite expensive (both in redundant work on the backend, and long latency on the frontend).
after thinking about it for a bit, actually i think it should be doable to implement in the frontend as well, especially with the new variables i had to add to be able to delete it in the sidebar in the first place. i'll take a stab at it tomorrow

when I create a label and nothing more I see request GET /directories?filter_by=Active&labels= so:

something is triggering dashboard reload and I think we should not here
we send label= empty param

@PabloBuchu ah yeah. what's triggering dashboard reload is probably the list of currently selected labels...
... but that shouldn't change unless a label is actually clicked. so this is definitely a bug, will investigate tomorrow.

speaking of dashboard reload though - should we be recursively reloading the entire tree? or collapsing all folders?

did some basic testing of the new features:

recursive refresh
frontend logic for deleting labels

they seem to have no major problems, it'd be good to have more thorough testing though.
one thing i did find out though, was that... of course, if there's a nested asset with a specific label, it doesn't show up - because the parent does not have the same label. thoughts?
i think one solution would be to return all results matching the query in a flat list, another solution would be to show the parent directories, on the frontend at least - but i think that would require the frontend to do all filtering for labels...

another issue (both frontend and backend): labels with duplicate names can be created. the frontend stores label names for each asset (i believe that's what the backend returns anyway) so i don't think it makes sense to allow duplicate labels?

also: for labels created from the "labels" column:

the duplicate names seems to be a non-issue, as the filter returns some matching labels, meaning that the "create" button is disabled.
the modal currently closes after a new label is created (using the "create" button). should it stay open instead?

fwiw i don't think it's a bad thing for it to close, i'd assume if you want to create a new label you generally only want to create one at a time (or just add that single label) anyway

Small bug:

create a label, dont put it on any asset
select it
remove it
you ends up with blank dashboard without a way to clear the query params that are being sent to API

we should make sure the label is cleared from labels sent to backend after delete

ah... good catch, thanks

found another issue... the sidebar doesn't like label names that are too long.

not sure what's the best solution though. we could set a hard character limit, or manually measure text

the small bug should be fixed by the latest commit.

weird... that one labels screenshot is flaky... it worked on retry but failed again after being merged...


Should Guzzle\Stream\Stream close the resource in __destruct(), even if it is not him who opens it?

This is not an issue, just a little bit counterintutive:
$fp = fopen('myfile.txt', 'r');
$r = $client->post('http://httpbin.org/post', ['body' => $fp]);
fclose($fp); // <--- error (already closed)

Also, it's unclear if the stream will be closed in case some exception occurs in the middle of the ->post()
Theoretically, there can be cases where you don't want the stream to be automatically closed (even though i can't think of one right now :-) )

Close resource in __destoroy - it bad way.

Ah, I missed this issue when I opened mine a few months ago => exact same thing => https://github.com/guzzle/guzzle/issues/2400