Ignore exceptions based on type

Is it possible to add exception types to settings on the admin panel, so those types of exceptions are not calculated towards the quota.

@ejsmith what if we had a plugin that allowed you to ignore exceptions based on exception type. Like System.OperationCanceledException and even supported wild cards. That way if you have an exception totally blowing up you could ignore it in project settings until you fixed it.
It would be a stop gap. The negative is that it would potentially block you from seeing other valid exceptions.

Yeah, I think that would be nice.

This functionality is currently being tested and will be released next week with new clients depending on how dog fooding goes. This will be controlled short term by adding a project configuration setting key @@error:System.OperationCanceledException with a value of false. You can control any event type even with wild cards..
key: @@feature:* value: false (Turns off the submission of all feature usages)
key: @@log:* value: Info (Sets the min log level to info)


Fix srcset parsing

Replace srcset with parse-srcset to address https://github.com/apostrophecms/sanitize-html/issues/367.
Additionally, fix tests with invalid srcset containing both width descriptor and pixel density descriptor. Only zero or one of those is allowed.

There are also some more tests with both the width and pixel density properties. If you want to fix those as well we'd appreciate it. Maybe leave some with pixel density instead of width.


Dockable container is blocking mouse input to area nodes in a child viewport

I'm using this plugin for some of my UI layout, and some of my panels have 3D viewports in them. In the 3D scene, I have Area nodes that have mouse_entered and mouse_exited signals on them. When I nest these viewports in a DockableContainer, the areas do not trigger the signal, even when the DockableContainer mouse filter is set to "Ignore". My hunch is that this is because the dockable container uses some tab and split containers, and when the dockable containers mouse ignore setting is changed, it is not propagating to the sub-containers.
Steps to reproduce:

Create a viewport container, with a viewport. In the viewport you need a 3D scene, with Areas and Colliders.
Nest the viewport container in something like a margin container.
Set margin container and viewport container mouse filters to "Ignore"
Set the viewport "object picking" to on.
Connect the mouse_entered and mouse_exited signals from the Area to a script in the Margin Container.
Preview the scene, hovering the mouse over the collider will trigger whatever you put in the connected function...
Create a new margin container with dockable container child, put this at the top of the scene tree. Nest the original margin container with viewport onto the dockable container node.
Set the new margin container and dockable container mouse filter mode to "ignore"
Preview the scene. The signals will no longer trigger when mouse hovers over the area.

I was able to get this to work by adding this line to a script on the top level node:
func _input(event):
	$DockableContainer/MarginContainer/ViewportContainer/Viewport.unhandled_input(event)

Maybe I missed this documented somewhere, but it would be helpful for others.
Perhaps there could be a checkbox in the dockable container that can handle this, so that it is more user friendly.

Unfortunately, this is a known unintuitive behaviour of Viewports + ViewportContainers in Godot, in a quick search I found two open issues about it (https://github.com/godotengine/godot/issues/17326, https://github.com/godotengine/godot/issues/26181) =(
You can also move this workaround to your ViewportContainer and handle this in _gui_input like in this answer if you want, it may be a little better than making your top level node have this responsibility.

Perhaps there could be a checkbox in the dockable container that can handle this, so that it is more user friendly.

Apart from ViewportContainers, that are explicitly made to handle Viewports, it doesn't make sense trying to track Viewports as an edge case on general purpose Containers like DockableContainer.


JSON path prompt debug facilitation

Description
Update the JSON path base prompt to include an identifier that can be parsed from json_query.py. A parsing function was added to json_query.py to more accurately return the JSON path query string, and if not found an error clearly explaining the issues is returned to the user.
Fixes # https://github.com/run-llama/llama_index/issues/7587
Type of Change
[x] New feature (non-breaking change which adds functionality)
(1) Updates the default JSON path prompt to include an identifier that can be parsed with regex
(2) Adds a regex parsing function that finds the JSONPath prompt. If not found provides clearer error handling for trouble shooting
How Has This Been Tested?
[x] I stared at the code and made sure it makes sense
[x] Tested by initializing a JSONQueryEngine initialized with an Azure openAI LLM service context and making various queries to ensure that JSON path was being parsed correctlly from the LLM response.
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
[ ] I have made corresponding changes to the documentation
[ ] I have added Google Colab support for the newly added notebooks.
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I ran make format; make lint to appease the lint gods

@dylan1218 Looks like this change breaks some unit tests -- can you fix those up?
Also, run make lint to fix the linting CI


Pwd and Env setup for Extension

As of now it seems the extensions just works off the base directory of the current workspace with no env setup as well. The extension would be much more useful if default pwd could be changed and if .cshrc or .bashrc could be used to setup env.

I will add the output file name and its location as an extension setting that can be changed. For example the either the file can be generated when given an absolute path or when given a path relative to the workspaceDir. Thanks for the idea.


Ability to connect to private blockchain networks

Should work with this:
https://github.com/CityOfZion/neo-privatenet-docker

Base on my understanding, there's lack of RPC API in private net. @birmas can you share your experience so far?
Otherwise, there is (undocumented) plan to be able to inject endpoints replacing its default list.

Evaluated as feature request #97


Update security

This updates the security policy and links to the SECURITY.md file in the .github folder.
Reduces the maintenance of the README.md file while there is a SECURITY.md file in place.

Thanks!


Support for BMT-01 BBQ Grill Thermometer?

Any chance of supporting the BMT-01 BBQ Grill Thermometer? https://sonoff.tech/product/gateway-and-sensors/bmt01/
It would be an ideal sensor for a Home Assistant system. Having HA announce when the target temperature's been reached would be very useful!

I don't think if this device can work without phone. You can check all devices list in the /config/.storage/sonoff/.


Raise HTTPError when it's necessary

This commit makes sparkler raise an HTTPError when a HTTP error such as
404 NotFound error occurs. Otherwise, the error messages can be
confusing like this.
AttributeError: 'str' object has no attribute 'get'

Thanks, I somehow missed this. It's very old now, but looks good. :)


Removed requirement to save new files

Description

This PR removes the requirements to save new files (created from the menu bar or the associated shortcut).
Instead it created a temporary file in the application support directory and opens it in a new tab.
Currently, these temporary files are treated as project files. They don't have to be saved and will not be deleted automatically from the application support directory.
Related Issues

Closes #1070

Checklist

[x] I read and understood the contributing guide as well as the code of conduct
[x] The issues this PR addresses are related to each other
[x] My changes generate no new warnings
[x] My code builds and runs on my machine
[x] My changes are all related to the related issue above
[ ] I documented my code

Screenshots

Nice work! Please fix https://github.com/CodeEditApp/CodeEdit/actions/runs/4714420293/jobs/8360950803?pr=1238#step:3:191 SwiftLint errors.

Instead it created a temporary file in the application support directory and opens it in a new tab.
i dont't see this file being removed at some point, will it get removed after the user presses save/save as?

I'll change the dir to the suggested temp dir.
Regarding the deletion:
Currently no files are deleted. I wanted to combine the deletion with #1173, but that turned out to be non trivial. For now I'll implement the deletion for this pr.

@jhoogstraat How is the progress of implementing deletion?

@CodeEditApp/maintainers does anyone want to pick up where @jhoogstraat left off? There is still some good work here I'd hate to lose.

Hey, i am not totally inactive. Professional work does get in the way of voluntary open source work, sadly. I'll try to continue contributing to this project when time allows, because I think it is great project. I anyone wants to join in on this specific issue, I gladly accept any help.

@austincondiff Yes I took it over to my local repo. The behavior of the code is not really what we want I think, but the requirements in the issue are not really clear, technically. Perhaps it should be refined.
@jhoogstraat That's alright man. If you let know who you are on the Discord, that way people can contact you more easily.

@matthijseikelenboom how is this issue not clear? Can I provide additional clarification?
Also, you mentioned the behavior of this code is not what we want. How so and what did you have in mind?

Well, yeah it depends haha. I've looked at the behavior of VSCode when creating a new file and they don't persist to disk until you save, so there is no temp file. What seems to happen when you close the editor with those new untitled files is that if VSCode detect those files in the workspace, it creates a backup in its Application Support folder. Then when you restore the workspace by opening the app and remove or save those files, the backup is removed.
@thecoolwinter About the temporaryDirectory variable, I personally think it's in a really obscure location on the disk. It's also difficult to retrieve files from there and link them back to the correct workspace. I'm not sure how an editor like VSCode deals with this. It seems like it creates a hash... I'm not sure

VSCode actually does create backup files when you start editing, see /Users/<user>/Library/Application Support/Code/Backups. Just not when creating a new editor tab. The changes are not lost, if VSCode should crash.

True, but the point is that it doesn't persist a file to disk when creating a new file

This is not possible currently, right?

Closing due to inactivity.

@jhoogstraat feel free to reopen if it is not yet done and you'd like to work on this again.


add arp requests via virtual interface

Adds a configmanager service that performs an ARP request for the inbound and outbound ethernet addresses every 30 seconds. A separate lcore is fully assigned to this service.
Ethernet addresses can still be statically configured by setting them in the config.
ARP requests are performed for all the IP addresses configured in the ip_dst_map. This allows sending directly to different routers.
In case there is a gateway between the LF and the router the ARP request is not replied. We therefore try to identify if there is a gateway inbetween via ip route show some_target_ip. This is still a bit sketchy. (If the lookup succeeds then the ARP request is made for the gateways ip address.)
(Some changes in worker.c are only additional logging that can be removed before merging.)

Open discussion points:

Currently the ARP lookup obviously only covers IPv4. Do we also want to consider IPv6 already now?
Is it necessary to assign an lcore completely for the configmanager service?
ARP is not a secure protocol. DOS could happen if an adversary responds to the ARP requests. Are we worried about this?
How to improve the lookup if a router is behind a gateway?


location is required param

/azp run automation - sdk

Can one of the admins verify this patch?

/azp run automation - sdk


Merge Adhearsion-IVR?

For easier IVR building in Adhearsion.
For:

This is a feature many will want to use

Against:

The existing plugin is immature and somewhat unstable

A possible compromise is to include it in the Gemfile by default


Explore new icons to replace smiley

Porting issue #3440 here.
Looking into options of switching the icon to a less distracting icon based on feedback.

Would it make sense to perhaps offer an option to just hide the smiley from the status bar? Either with an option in the UI like:

and/or including a property in user settings to hide it?
I've looked into the work involved to PR my suggestions and it seems like it would be a pretty trivial amount of work.
It seems like there is a cult of dislike surrounding the smiley, which is... quite funny given the nature of the icon. I also realize the smiley may be a consistency thing since I've seen it across all MS products lately.

@Yahkob this is a good idea. A PR would be welcome. 😄

@bgashler1 wondering if this might be better on your radar. How do I move things to the UX backlog?
ping @chrisdias relevant for your UX process deliberation.

Awesome sounds good @waderyan. Could you or anyone else help me to understand the best practice internally to modify user settings (I'm assuming this would be the most relevant place to toggle UI state)? I tried looking through the docs for any sort of internal API like setUserSetting(k, v) but most of the docs only have information pertaining to extensions and not internal APIs.

@waderyan / @Yahkob:
We're introducing a concept soon (in tandem with #9717) for users to be able to right click pieces of UI contributed by extensions.  The context menu would have the option for you to hide such UI.

We could possibly apply this to parts of the core UI, as well, including the feedback widget.  I will keep this request in mind as we continue to iterate on this concept.

Until this issue is properly addressed, it is possible to remove the icon ourselves with DevTools:
Help > Toggle DevTools > Console
document.querySelector(".monaco-workbench>.part.statusbar>.statusbar-item.right").style.display = "none";

A pattern we've been using lately is to allow hiding of components via the context menu, it would probably make sense to be consistent in the status bar:

/cc @isidorn

Yeah we need to adress the status bar overflow sooner or later. And the current patterns make sense.

Closing this off in favor of https://github.com/Microsoft/vscode/issues/7893, will copy my proposal over there.


implemented ability to use multiple different dropdowns in a row

don't merge, still under development

Fine by me too. @SandraVW wants to have a quick look before we merge this?

Can't approve, but I give a nice 👍


j.clients.ssh.loadSSHAgent(createkeys=True) doesn't create a new key

Was originally reported in https://github.com/Jumpscale/lib9/issues/82
Partly fixed in 9.3.0, please back port to 9.2.0

Installation information

jumpscale version: 9.2.0
operating system: Ubuntu 16.04

Detailed description

Was also fixed in 9.2.0 now, see: https://github.com/Jumpscale/core9/commit/c056d15b7b3880ea0909d855b64fdfb40fec5aea


clarify meaning of serverless computing

Clarifies that the restriction is on activity that places an undue burden on our servers disproportionate to the benefits provided to users

Ok


Uploading Top-Left Logo Image

Hi guys,
I'm having trouble locating in the file structure where to reference to the logo that should appear on the top left of the blog. I see where to reference a logo image for the favicon but not the top left icon as the demo. Also is there a recommended size?
Or has this been dropped in favor of uploading a logo in the admin panel? Thx.

@wanzihua that is correct, you can do this from the admin panel, try following these steps:

Log into your blog: yourblog.ghost.io/ghost
Click General under the settings section
You'll find the option to upload or change your logo below the Blog Logo label

For a reference this is the image used in the demo. The img element containing the logo is set to a height of 38px and a width of auto to keep the proportion of the image.
Let me know if this solves the problem 👍

Thank you @eibt. Also, can you tell me the font name is for the theme. Especially the font of your "Boo" text in the logo?

Hi @wanzihua! This theme uses Open Sans (https://fonts.google.com/specimen/Open+Sans) and Lato (https://fonts.google.com/specimen/Lato), the font in the logo is Open Sans Semibold :)

@wanzihua It's been a while since this question is open so it's a good time to close it , If you have any other questions please open a new issue and I'll be happy to answer 👍


Project still maintained/developed?

Hi, Is this project still being developed or maintained. I see from your comment in #22 that you had intended to do a release in late Jan 2022. You appear not have have made any changes since.
I had been thinking about developing just this sort of tool in Rust before I found paperoni, and would be happy to work with you on it, or if you are no longer interested in the project, to adopt it.

Hi @kemitix. Thank you for showing interest in it!
I haven't had much time to work on any features or releases for paperoni so it might as well be considered to be archived for now. I would recommend forking it if you're looking to get any new things out for it, it's MIT licensed so you can do as you wish (within reason).
One caveat to keep in mind is that the HTML library used to parse the html content: kuchiki is archived so any changes to those parts may not be as trivial.

Thanks for the reply. I've done some updates to dependencies, and replacing kuchiki would be the next task.

The work I've been doing is here: https://git.kemitix.net/kemitix/paperoni


Symmetrical ALiBi

Hey!
Recent papers from FAIR used symmetrical ALiBi that is handy for bi-directional attention contexts, but it seems it is not supported in flash attention? We basically need to add a ALiBi matrix after QK calculation.
More info is here: https://github.com/ofirpress/attention_with_linear_biases/issues/5

It's supported.

wow, so i just put alibi to arguments and it would work?
slopes = torch.Tensor(get_slopes(attn_heads)).cuda()*-1
alibi = slopes.unsqueeze(1).unsqueeze(1) * relative_position
alibi = alibi.view(1, attn_heads, maxpos, maxpos)

You should read the docstring to see what to put in the alibi_slopes.


Fix: merge from main to dev branch

Description
Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

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

sync up hot patch from main branch


arabic display

I just ask for support Arabic lang. in terminal. make possible to display  output from rtl

/duplicate https://github.com/xtermjs/xterm.js/issues/701


Remove deprecated WaitingForControlPlaneAvailableReason in v1beta2

Pending merge of https://github.com/k3s-io/cluster-api-k3s/pull/88
The WaitingForControlPlaneAvailableReason should be removed in v1beta2

Any reason why this reason should be removed?

Because the comment says so.
I did not investigate further, just trusted the comment and opened the issue so we don't forget.

ok, i see. Since this is copied from capi, and capi still keep this condition, maybe we shall wait for capi to cleanup first
https://github.com/kubernetes-sigs/cluster-api/blob/main/bootstrap/kubeadm/internal/controllers/kubeadmconfig_controller.go


How to configure the migration assembly

Hi,
I am trying to create a migration assembly, hosting migrations only while its db context is in another project. The though setting is the following:
Northwind.Core.Repositories.Sql holds the DbContext
Northwind.Sql.Migrations holds the migrations (used as startup project)
Following below manual, steps 1-3 seem to work okay. Then, if I try to run the command to add migration command in the VS Package Manager Console, I get the following error:
Your target project 'Northwind.Sql.Migrations' doesn't match your migrations assembly 'Northwind.Core.Repositories.Sql.
Change your migrations assembly by using DbContextOptionsBuilder.
E.g. options.UseSqlServer(connection, b => b.MigrationsAssembly("Northwind.Sql.Migrations"))

I somewhat believe the error is okay, but since the 'Default Project' is Northwind.Sql.Migrations where would I be adding the above MigrationAssembly line? Attempts to add a host builder (as program.cs and/or startup.cs) etc into the migration project are ignored by the add-migration command in PowerShell. Is it really necessary in such case to add a command line paramet each time?
Thanks,
Aron

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: b545eeff-6c33-3cc0-09ce-a3ad342d7438
Version Independent ID: 34bc1bac-7338-d8ab-390d-8c5e88a48c10
Content: Using a Separate Migrations Project - EF Core
Content Source: entity-framework/core/managing-schemas/migrations/projects.md
Product: entity-framework
Technology: entity-framework-core
GitHub Login: @bricelam
Microsoft Alias: avickers

Brilliant; you try something 15 seconds after you have raised an issue seems to solve your trouble.
Instead of using a 'class library' as described in step 1, I changed to 'Console Application' with start up object being my Program.cs. This seems also be the entry point for Package Manager Console commands then:
 public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
            .ConfigureServices(services =>
            {
                services.AddDbContext<NorthwindContext>(
                                options => options.UseSqlServer("<connectionstring>",
                                            sqlServerOptions => sqlServerOptions.MigrationsAssembly(typeof(Program).Assembly.GetName().ToString())));
            });
    }

I think, such a hint would be beneficial on the help page. For some reason, most of the examples I found earlier aim to launch a web app to kick off migrations....
Aron


Ancient Scrolls available in creative inventory

Describe the feature
All of the Ancient Scrolls should probably be available in the creative inventory. Currently there does not seem to be any way to get them in creative without looking for structures which may contain them. This makes it quite annoying to test things using Great Spells in creative.
Additional context
No response

You can use a subcommand of the /hexcasting command to get great spell scrolls in creative.


LFSingleThreadCachingTest fails on testc-packet-ubuntu2010-intel-1

https://github.com/AdoptOpenJDK/TSC/issues/197
jdk_lang_0 => deep history 11/13 passed. - Reran in Grinder successfully on a different machine - https://ci.adoptopenjdk.net/job/Grinder/6015/ - upstream bug
Any other details:
The following passes on https://ci.adoptopenjdk.net/computer/test-ibmcloud-rhel6-x64-1/ but fails on https://ci.adoptopenjdk.net/computer/testc-packet-ubuntu2010-intel-1/
https://trss.adoptopenjdk.net/output/test?id=600881252bad78506651d8f7
[2021-01-20T12:59:50.370Z] command: build LFSingleThreadCachingTest
[2021-01-20T12:59:50.370Z] reason: Named class compiled on demand
[2021-01-20T12:59:50.370Z] elapsed time (seconds): 0.0
[2021-01-20T12:59:50.370Z]
[2021-01-20T12:59:50.370Z] ACTION: main -- Failed. Unexpected exit from test [exit code: 137]
[2021-01-20T12:59:50.370Z] REASON: User specified action: run main/othervm LFSingleThreadCachingTest
[2021-01-20T12:59:50.370Z] TIME:   213.73 seconds

Note: This machine is now test-docker-ubuntu2010-x64-2

Ok, jdk_lang has passed 100% of the time on the most recent runs, and there's no sign of an exclusion.
However, we've not had a recent run on the specifically-mentioned failing machine, so here's a 100-string grinder for that specific test, and a single run of jdk_lang.

100 runs, 100 tests passed. Advocating closure.


Correctly handle 400 status code response

When a ReindexOnServerResponse comes back as 400 status code, deserialize the response so that Failures is populated with more details for why things failed.
Use the -1 special case in AllowedStatusCodes in the dispatch call, similar to UpdateByQuery and DeleteByQuery; IsValid will still be false as it checks Failures which will be deserialized and not be empty. Success on ApiCallDetails will be true however.
Closes #2309

LGTM 👍

Ported to 2.x 774da690cb90dd50909f3934cd8d2a1be27537d8
Ported to master 300e39002c155f3b92148e65503231fece896e2b


Popup/new windows seems to tear, quickly disappear/reappear, and go off frame occasionally for fraction of second when clcking on moving it.

I must have gone about creating the window the wrong way? It keeps blinking/flashing a lot. I have tested in multiple terminals (ExtraTerm, Gnome Terminal, Tilix, and Yakuake)
Here is an example of the flashing:
https://i.imgur.com/sT3JOEx.gifv
https://i.imgur.com/b0OmaCI.gifv
Here is one I just took, the quality is lacking in exchange for much higher framerate. You can definitely see the crazyness.
https://i.imgur.com/YtnKnGQ.mp4
I don't believe I am doing anything incorrectly in code for the screen tearing/jitter, etc?
(P.S. Aside from these silly issues. I absolutely love the way things are starting to come out. It definitely takes some time and effort, but it really am starting to like the outcome)
func CreateTableDialog(btn *ui.Button, tableTitle string) {
	tableDialog := new(TableDialog)

	// --- Obtain terminal overall size ----------------------------------
	cw, ch := term.Size()

	// --- Save current values to temp value until saved -----------------
	tmpAssetData = AssetDetail

	// --- Create new popup window for table data ------------------------
	tableDialog.View = ui.AddWindow(cw/2-75, ch/2-16, ui.AutoSize, ui.AutoSize, TxtAssetCodes)
	ui.WindowManager().BeginUpdate()
	defer ui.WindowManager().EndUpdate()
	tableDialog.View.SetGaps(1, ui.KeepValue)
	tableDialog.View.SetModal(true)
	tableDialog.View.SetPack(ui.Vertical)

	tableDialog.Frame = NewFramedWindowInput(tableDialog.View, tableTitle, nil)

	// --- Create data table ---------------------------------------------
	td := ui.CreateTableView(tableDialog.Frame, 145, 15, 1)
	ui.ActivateControl(tableDialog.Frame, td)

NewFramedWindow is just a smaller helper with some defaults that I can over ride by passing something in. Mostly for practice and helping make things a bit cleaner.
func NewFramedWindowInput(parent *ui.Window, title string, params *FramedInputParams) *ui.Frame {

	if params != nil {
		SetValues(params)
	}

	frameWindowReturn := ui.CreateFrame(parent, defaultWidth, defaultHeight, defaultBorder, defaultScale)
	frameWindowReturn.SetPaddings(defaultPadX, defaultPadY)
	frameWindowReturn.SetPack(defaultOrientation)
	frameWindowReturn.SetTitle(title)
	return frameWindowReturn
}

Sorry, nevermind. I found it better to go with a map, as I had additional data to store and maps don't retain order anyways. So all is well!

Interesting effect. I did not move windows much with a mouse and did not notice it before. But after trying to move a windows in maindemo with mouse around fast, I experienced the same issue. I am not sure how to fix it - I'll look into it later

No problem. It is appreciated. It usually happens the most if you move one, but there are times when it also happens when scrolling up/down/left/right in a table or text field. It seems to only happen when there is one window overlapping another, and it is the top window that does it in my experience so far.


Possibly lazy load credentials

Would it be possible to change credentials to be lazy loaded instead of looking for ~/.aws/config|credentials on aws_driver load? The issue I'm running in to is the recipe is attempting to create ~/.aws/config but require 'chef/provisioning/aws_driver' happens at compile time before the config file created. Thus, a failure occurs.

@dblessing thanks for filing this.  Do you have a workaround right now?  If not, you should be able to force your template/file resource to converge during compile time.


neatvi: new package at 07

Description of package
A small vi/ex editor for editing bidirectional UTF-8 text http://litcave.rudi.ir/
Checklist

[x] Latest upstream version.
[x] I agree to maintain this package (required).
[x] I agree to notify KISS if I can no longer maintain this package (required).

Thanks :+1:


[Bug]: starship prompt initialization goofed up

Current Behavior (bug)
devbox shell
Starting a devbox shell...
_zimfw_source_zimrc:source:3: no such file or directory: /var/folders/kj/6g7rq7fj67n2tgctd9291w140000gn/T/nix-shell.XXXXXX.w9jz0Xd5/devbox2244932488/.zimrc
Failed to source /var/folders/kj/6g7rq7fj67n2tgctd9291w140000gn/T/nix-shell.XXXXXX.w9jz0Xd5/devbox2244932488/.zimrc
_zimfw_source_zimrc:source:3: no such file or directory: /var/folders/kj/6g7rq7fj67n2tgctd9291w140000gn/T/nix-shell.XXXXXX.w9jz0Xd5/devbox2244932488/.zimrc
Failed to source /var/folders/kj/6g7rq7fj67n2tgctd9291w140000gn/T/nix-shell.XXXXXX.w9jz0Xd5/devbox2244932488/.zimrc
/Users/gregweber/.zshrc:source:112: no such file or directory: /var/folders/kj/6g7rq7fj67n2tgctd9291w140000gn/T/nix-shell.XXXXXX.w9jz0Xd5/devbox2244932488/.zim/init.zsh
(devbox)
\[\]bravo2\[\] on \[\] \[\]\[\]main\[\] \[\][\[\]\[\]\$\[\]\[\]?\[\]\[\]]\[\] via \[\]🐹 \[\]\[\]v1.21.0\[\]\[\]

Expected Behavior (fix)
Normal shell prompt. In devenv I set the following and I get a nice starship prompt:
  # https://github.com/cachix/devenv/blob/main/examples/starship/devenv.nix
  starship.enable = true;
  starship.config.enable = true;

Additional context
Please include the output of devbox version -v and
a copy of your devbox.json file.
devbox version -v
Version:     0.5.11
Platform:    darwin_arm64
Commit:      1052c4e37c16ce0df5d60afb8c82076cd290eee8
Commit Time: 2023-08-10T23:32:09Z
Go Version:  go1.20.7
Launcher:    0.2.0

@gregwebs it appears that you have some code in your zshrc to setup starship? Could you share that so I can try to repro this?

Starship should work if you do eval "$(starship init zsh)"

command -v starship >/dev/null && eval "$(starship init zsh)"

yeah, running the eval in the devbox shell does work.
I can run it in the init_hook if I install the starship package in devbox- so that seems like a pretty good workaround!
It does still first print out the errors in the ticket description.

oh, my dotfiles are public here: https://github.com/gregwebs/dotfiles

@gregwebs great, thanks for linking to the dotfiles. I think we needed to support Zim via ensuring the .zimrc is also read by devbox shell.  I've sent a PR for the fix, which should come out in the next release -- I believe there's one scheduled for this week.


bounded device

i have problem to find device.
i think this library must show all bounded devices to connect instead of scan
is possible add this method to this library ?
thanks

sorry i must posted this issue in esc_pos_bluetooth repository
https://github.com/andrey-ushakov/esc_pos_bluetooth/issues/16


C# inference of Pix2pixHD

Hi, I trained a model using Pix2PixHD then I exported it to onnx and I would like to do inference in C# using UWP.
The input of required by Pix2PixHD is:

1 image of semantic labels (512x1024 Grayscale)
1 image instances (512x1024 Grayscale)
Amount of labels used as hot vertors during training ("--label_nc 16" for instance)

I can test my model in python but I have no idea how to bind it in C# so I really appreciate any assistance.
This is how my model looks
And this is the generated code from Visual Studio:
`
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Windows.Media;
using Windows.Storage;
using Windows.Storage.Streams;
using Windows.AI.MachineLearning;
namespace Onnx_test_02
{
public sealed class Input
{
    public TensorFloat label; // shape(1,1,512,1024)
    public TensorInt8Bit inst; // shape(1,1,512,1024)
}

public sealed class Output
{
    public TensorFloat synthesized_image; // shape(1,3,512,1024)
}

public sealed class Model
{
    private LearningModel model;
    private LearningModelSession session;
    private LearningModelBinding binding;
    public static async Task<Model> CreateFromStreamAsync(IRandomAccessStreamReference stream)
    {
        Model learningModel = new Model();
        learningModel.model = await LearningModel.LoadFromStreamAsync(stream);
        learningModel.session = new LearningModelSession(learningModel.model);
        learningModel.binding = new LearningModelBinding(learningModel.session);
        return learningModel;
    }
    public async Task<Output> EvaluateAsync(Input input)
    {
        binding.Bind("label", input.label);
        binding.Bind("inst", input.inst);
        var result = await session.EvaluateAsync(binding, "0");
        var output = new Output();
        output.synthesized_image = result.Outputs["synthesized_image"] as TensorFloat;
        return output;
    }
}

}
`

When I run the model using WinMLRunner I get the following screens:
I think my onnx file is in working order but I just need to feed the right information.
https://i.imgur.com/girv34w.png
https://i.imgur.com/3CvBW7U.png

Hi @aviel08 - without knowing what form your data is in, it's hard to know how to connect it to the binding objects. The bindings tell you what they need:
    public TensorFloat label; // shape(1,1,512,1024)
    public TensorInt8Bit inst; // shape(1,1,512,1024)

But that's all the information we have from the model. Try looking at the various samples to see different ways of connecting data to the inputs. Otherwise, can you post what form your data is in and then we can try to connect it?


infinite loop

there's a test case that makes it possible for my algorithm to get into an infinite loop

Challenge Name
https://www.freecodecamp.com/challenges/drop-it
Issue Description

processor speed keeps increasing,
freecodecamp tab freezes
Browser Information

Version:	39.0.2256.71 - Opera is up to date
Update stream:	Stable
System:	Windows 10 64-bit (WoW64)
Your Code

while(!func(arr[0])){arr.shift();}

@alevis There seems to be a problem in your code.
In the condition for the while loop, try using the correct condition (i.e. the second argument func instead of function)
Here's the code that'll solve the problem:

function dropElements(arr, func) {
  while(!func(arr[0])) {
    arr.shift();
  }
  return arr;
}

dropElements([1, 2, 3], function(n) {return n < 3; });

@ryzokuken thanks for catching the typo.
However whenever I navigate to http://www.freecodecamp,com/challenges/drop-it my code gets executed right away resulting in the infinite loop. If there was a way to stop code execution when I navigate to that page, that would solve it.

Try clearing the browser cache. I suppose your solution is stored locally

check this out: https://github.com/freecodecamp/freecodecamp/wiki/FreeCodeCamp-Disable-Code-Autorun
try to add query string run=disabled to your URL

@alevis check out the link that @ivantedja has pointed out above. If you get stuck or have questions with a challenge in the future, please first ask questions to the Help Room. Happy coding!


Add a screen where you can switch to Dark/Light/Auto mode

We need one more item in the Settings (System section)

Then you can change the mode to

Light
Dark
Auto

Zeplin:
https://zpl.io/8lkGeAw
https://zpl.io/bee6kjp

Let's skip this one for now


Does besu support /eth/v1/config/spec api?

Description
Ethereum supports the following apis:
https://ethereum.github.io/beacon-APIs/#/Config/getSpec
And I want to call  /eth/v1/config/spec as follows.
curl -X 'GET' \
  'http://<IP_ADDRESS>:8545/eth/v1/config/spec' \
  -H 'accept: application/json'

Steps to Reproduce (Bug)

run curl command above

Expected behavior:

return the config on chain

Actual behavior:

the response is
Resource not found
%

Logs (if a bug)
2023-12-29 16:05:20.602+08:00 | vert.x-eventloop-thread-1 | DEBUG | JsonRpcHttpService | Opened connection from <IP_ADDRESS>:51734. Total of active connections: 1/80
2023-12-29 16:05:20.602+08:00 | vert.x-eventloop-thread-1 | DEBUG | B3PropagatorExtractorMultipleHeaders | Invalid TraceId in B3 header: null'. Returning INVALID span context.
2023-12-29 16:05:20.604+08:00 | vert.x-eventloop-thread-1 | DEBUG | JsonRpcHttpService | Connection closed from <IP_ADDRESS>:51734. Total of active connections: 0/80

Versions (Add all that apply)

Software version: besu commit be5cc68b6069ca2f718d08c95994e1a764576391
Java version: 17.0.9
OS Name & Version: macOS x86 14.1
Kernel Version: Darwin B-Q1EKMD6R-0128.local 23.1.0 Darwin Kernel Version 23.1.0
Docker Version: 24.0.7
Consensus Client & Version if using Proof of Stake: No, just a local private network with one besu client

Smart contract information (If you're reporting an issue arising from deploying or calling a smart contract, please supply related information)

Solidity version 0.8.23+commit.f704f362.Darwin.appleclang

Additional Information (Add any of the following or anything else that may be relevant)

Besu setup info - config.toml

# 节点数据存储路径
data-path="/Users/mjsky/CLionProjects/anole-besu/tmp/besudata"

# Network
#bootnodes=["enode://001@123:4567", "enode://002@123:4567", "enode://003@123:4567"]
bootnodes=["enode://011f758e6552d105183b1761c5e2dea0111bc20fd5f6422bc7f91e0fabbec9a6595caf6239b37feb773dddd3f87240d99d859431891e4a642cf2a0a9e6cbb98a@<IP_ADDRESS>:30303"]

#p2p-host="<IP_ADDRESS>"
#p2p-port=1234
#max-peers=42

# JSON-RPC 配置
rpc-http-host="<IP_ADDRESS>"
rpc-http-port=8545
# WebSocket 配置
rpc-ws-host="<IP_ADDRESS>"
rpc-ws-port=9101

rpc-http-api=["ETH","DEBUG","MINER","NET","PERM","WEB3","ADMIN","EEA","PRIV","TXPOOL","TRACE","PLUGINS","CLIQUE","IBFT","ENGINE","QBFT"]

rpc-http-cors-origins=["all"]
host-allowlist=["*"]
rpc-ws-enabled=true
rpc-http-enabled=true

# Chain
genesis-file="/Users/mjsky/CLionProjects/anole-besu/genesis.json"

# Mining
miner-enabled=true
miner-coinbase="0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"

#tx-pool-limit-by-account-percentage=1
#min-gas-price=0

# 日志级别
logging="DEBUG"

Hi @meijiesky - besu is an execution client and the API's you're looking for are only served by consensus clients.  See the docs here for an explanation.
You can find documentation on besu's API's here.


Fix to issue #183

ActivationRuleGroup#execute()  has NullPointerException

Coverage remained the same at 89.267% when pulling a1848e27617ecce9a52bd3153196a05d6af4394c on ruanjiehui:master into 34328ab1aab1448e0f7c2efb25bef7bb1de4687c on j-easy:master.

OK,I wil update a new PR with check null and a new test case.

@benas I use selectedRule != null to check null.And add a test case.

Thank you for the updates! Rebased and merged your changes as 45f0a5ba84a47b4bd6b3918735fcb756ec16149a.
I also added you to the contributors list. Thank you for your contribution!


Filter results

Filter results
CCA
Overview
This pattern allows a user to search or filter a list of items that have been returned by the system, for instance looking for only pubs or properties in a certain postcode that are in a list of properties. This is similar to search, but the user will already have been presented with a list of results that they want to reduce.

Is it useful and unique?
Filtering data seems to be a need on a number of services
Research on this pattern
Not sure what research has been carried out so far, will check with emac-BSL team

@fordie Any updates for this issue?

Our UR is off until Thursday, so I'll catch up with her then. They did a little bit of testing in our last round of research, but I'll ask them to do some more next week.

@stevenaproctor We're using this approach to refine results where usual closed checkbox filtering isn't appropriate, the prototype should be out for testing in the coming weeks.

Filter is on the GOV.UK Design System backlog.

Moved to Filter a list on the GOV.UK issues backlog


Update CONTRIBUTING.md

Updated guidelines with simplified details and graphics.

@Grabstertv The most interesting part is that the Headspace icons are different in the guides and in the library. Don't forget to update to your variant.

Will do when i get the time


Custom recognizers won't work

Hello.
For some reason custom recognizers don't work on my current presidio instance.
I'm following the documentation:
I post into api/v1/analyzer/recognizers/spaceship
{ 	"value": { 		"entity": "SPACESHIP", 		"language": "en",  		"patterns": [ 			{ 				"name": "spaceship regex", 				"regex": "\\W*(spaceship)\\W*", 				"score": 0.9 			} 		] 	} }
And then I try to run the analyzer posting into /api/v1/projects/testing/analyze in two ways:
{ 	"text":"They went inside the spaceship",  	"analyzeTemplate": { 		"allFields": true 	} }
Response:
"No results"
{ 	"text":"They went inside the spaceship",  	"analyzeTemplate": { 		"fields": [ 			{ "name": "SPACESHIP" }                 ] 	} }
Response
"rpc error: code = Unknown desc = Exception calling application: No matching recognizers were found to serve the request."
Any thoughts ?
Regards.

Hello @apresmoi, could you please provide some more details on your deployment? Custom recognizers by API require a Kubernetes deployment with Redis (deployed together with Presidio)
cc @eladiw

Closing as more info from the issue opener was not received.

I assume the services were deployed using the build.sh script. The services in the script were not configured properly and the analyzer did not communicate with the recognizers store.
PR #260 is fixing the build script and all tests cases manined in this issue pass.

hi @navalev and @omri374, is this mean custom recognizers by API can be done with deployment using docker on local?
I tried to run echo -n '{"value": {"entity": "ROCKET","language": "en", "patterns": [{"name": "rocket-regex","regex": "\\W*(rocket)\\W*","score": 1}]}}' | http -f POST http://<IP_ADDRESS>:8080/api/v1/analyzer/recognizers/rocket
but the response is
HTTP/1.1 500 Internal Server Error
Content-Length: 0

I also try to get all recognizers enable using
http http://<IP_ADDRESS>:8080/api/v1/analyzer/recognizers responded with
HTTP/1.1 301 Moved Permanently
Content-Length: 64
Content-Type: text/html; charset=utf-8
Date: Mon, 05 Oct 2020 02:41:52 GMT
Location: /api/v1/analyzer/recognizers/

Moved Permanently.

Tried with  http http://<IP_ADDRESS>:8080/api/v1/analyzer/recognizers/ but got null instead of the list of recognizers
HTTP/1.1 200 OK
Content-Length: 4
Content-Type: application/json; charset=utf-8
Date: Mon, 05 Oct 2020 04:15:38 GMT

null

I'm also getting the same responses as @kevin-yauris when submitting the same requests. Furthermore, when sending text to analyzer, I'm getting the same errors/responses as @apresmoi.
Steps to recreate:

Set up AWS EC2 Ubuntu 18.04 instance and SSH in
Prepare the development environment similar to steps here: https://medium.com/@mileshill_40155/install-microsoft-presidio-on-ubuntu-18-04-3b83f67e6bb0
Try sending http requests to analyzer via API container (which looks like it defaults to port 8080). e.g. echo -n '{"text":"John Smith lives in New York. We met yesterday morning in Seattle. I called him before on<PHONE_NUMBER> to verify the appointment. He also told me that his drivers license is AC111921", "analyzeTemplate":{"fields":[]}  }' | http -F --verify=no  http://<IP_ADDRESS>:8080/api/v1/projects/1/analyze

Any help would be appreciated.

@kevin-yauris check out https://github.com/microsoft/presidio/issues/381 and see if this solves your problem.


System.NullReferenceException in Hdf5.ReadStringAttributes

When trying to load model weights exported from Python Tensorflow 2.5.0 (ISR RDN) a System.NullReferenceException is thrown while reading 'layer_names' at Hdf5Attributes.cs:134. It looks like the pointer fails to resolve inside Marshal.ReadByte.
The local variable count is 124 although the length of the list presented inside HDFView is 414.

Please find the model attached for debugging purposes.
https://drive.google.com/file/d/1VOmjS0hfCJBtOB13rfunxw7oR7ItW224/view

Hi, I cannot access the file. getting:
"You need access
Ask for access, or switch to an account with access. Learn more"

I've adjusted access to the file. Hope it works better now.

yes, I managed to download it. Will check and update you

Hi @svenrog, I have managed to read the attributes:

please make sure to use the latest version and specify the following attributes:

        public void ReadStringAttributes()
        {
            string filename = @"E:\artifact-cancel.hdf5";
            var openFileId = Hdf5.OpenFile(filename);
            Hdf5.Settings.CharacterPaddingType = CharacterPaddingType.NULLTERM;
            Hdf5.Settings.CharacterSetType = CharacterSetType.ASCII;
            var data = Hdf5.ReadStringAttributes(openFileId, "layer_names","");
           Hdf5.CloseFile(openFileId);
        }

Thanks for the help. I'll bump this over to the Tensorflow.Net repo where that code resides.

Thanks for the help. I'll bump this over to the Tensorflow.Net repo where that code resides.

What do you mean by "I'll bump this over to the Tensorflow.Net repo where that code resides."?

I was just talking about the dependencies of the packages I'm using in my project.

The SciSharp-guys are using a forked version of your code, so I figured I'd post my question here.
https://github.com/SciSharp/HDF5-CSharp

Ah I see 🙂


Support for Application Commands

Application commands are commands that an application can register to Discord. They provide users a first-class way of interacting directly with your application that feels deeply integrated into Discord.

Relevant Documentation:

User Commands
Message Commands

@mrshmllow go for it! -- but an FYI that the dev has seen lots of changes so you may need to catch up in #52 and #47

schools been pretty busy but I've been keeping up some of the changes

Will be fixed at v1b


Pressing + during video crashes console

Perhaps we need a flag to check if a video is playing and redirect the + button at that time to do a left mouse click to skip the video scene.

Fixed in PR #20


UI: Can't dismiss a dropdown

Dropping down another one or choosing an option is the only way to dismiss a dropdown right now.

closed with [#388 5763106]


Fixing Documentation

All comments below are from the perspective of a user looking into https://knative.dev/docs/getting-started/build-run-deploy-func/
(It seem to duplicate part of the information from https://knative.dev/docs/functions/ but not in a very clear way that is helpful as a quick start)

func run [--registry <registry>]
No indication in the tutorial as to what value to set when following the Install Knative using quickstart path (e.g. how to set it to local docker, and other example registries)
Also, no similar indication in kn func - therefore resulting in:
kn func run
   Building function image
Error: registry required to build function, please set with `--registry` or the FUNC_REGISTRY environment variable
Error: exit status 1

The use of invoke  should be done from a second cli (since the first one is busy with run) this is unclear from the tutorial

I am not a fan of describing in knative docs the option of using func out-side of kn.
I think it is an unnecessary duplication and best dropped from the tutorial and documentation.

In the section about deploying - again it is unclear how to deploy locally with func deploy --registry <registry>
It seems the behavior of --registry under run and that under build is not the same... which is confusing.
kn func run --registry local
   🙌 Function image built: docker.io/local/hello:latest
Function already built.  Use --build to force a rebuild.
Function started on port 8080
Initializing HTTP function
listening on http port 8080
^C
kn func deploy --registry local
   🙌 Function image built: docker.io/local/hello:latest
Please provide credentials for image registry (index.docker.io).
? Username:

I expected deploy to end with Image in repository, which was also done by run but instead I am being asked for username... it is unclear as a reader a username of  what?

func build seem to not require me to set --registry , but there is no documentation how to use it further to run a service.

Overall it is best if the quickstart will show a clear path for a working service in knative under kind. What I was able to do by following the tutorial is (1) to get the service running locally on my machine, and (2) push the image to the local docker - I was unable to get to a working service in kind.
Having multiple path is not useful, I would start with a quick path to get a service in kind, then describe an alternative to see it working locally s well. (edited)

This applies to docs not only in QuickStart:
FUNC_REGISTRY described in docs?
Is there any working example on setting up a registry correctly?

/kind documentation


Adding check for existing directory and creating if doesn't exist

Pull Request
The issue or feature being addressed
Fixes #2352
Details on the issue fix or feature implementation
Checks if output directory exists. If it doesn't then it creates before trying to write to the file

Thanks for the PR - could you add a test for this scenario here please?


How to properly handle model names?

I used something like this in my production code:
models_aws[-1]
Before 0.0.10 it was sonnet-3.5, and after 0.0.10 it became Haiku. Did not notice it for a while. What would be the correct way of using model names?
I could do smth like this
model = next(model for model in models_aws if 'claude-3-5' in model)
but feels ugly.

@just-kir I'd recommend using the string explicitly since the models_aws var is simply a list of model names, especially in production settings due to inadvertent changes like this.


the function onChangeComplete run two times

I found that if I click the slider, without moving the slider thumb (so not not changing the value), onChangeComplete will get called three times

Manual fix (hack) for fix case:
import React, { Component } from 'react'
import Slider from 'react-rangeslider'

class Horizontal extends Component {
  constructor (props, context) {
    super(props, context)
    this.timer = null;
    this.state = {
      delay: props.delay || 100
      value: 10
    }
  }

  handleChangeStart = () => {
    console.log('Change event started');
  };

  handleChange = value => {
    this.setState({
      value
    });
  };

   /**
    * Here we use timer for fix
    */
  handleChangeComplete = () => {
      const {onComplete = () => {}} = this.props;
      const {value, delay} = this.state;

      clearTimeout(this.timer);
      this.timer = setTimeout(function() {
         // once
         onComplete({value});
      }, 100);
  };

  render () {
    const { value } = this.state
    return (

        <Slider
          min={0}
          max={100}
          value={value}
          onChangeStart={this.handleChangeStart}
          onChange={this.handleChange}
          onChangeComplete={this.handleChangeComplete}
        />

{value}

    )
  }
}

export default Horizontal

I have the same problem. Thanks for the hack which works but I don't think this is a good long-term solution.
I noticed that the problem only occurs on touch devices like iPad. For me the bug doesn't happen on my desktop computer. Therefore I assume this has something to do with the all so well known ghost-click issue on mobile devices.

I can confirm that this issue is happening on Edge/ IE 11 browsers as well.


Potential bug on camera optimizers operation

I am confused about the operation on camera optimizers at https://github.com/nerfstudio-project/nerfstudio/blob/9528a3f717fe28a6c6500199b5b37d4f2c6e10ca/nerfstudio/cameras/cameras.py#L837-L838
Instead I suppose it should be c2w = pose_utils.multiply(camera_opt_to_camera, c2w)  to apply the pose adjustment in camera_opt_to_camera onto the original pose c2w.

To me this looks like just confusing naming, where c2w @ camera_opt_to_camera is equivalent to world_from_camera @ camera_from_camera_opt, which gets us world_from_camera_opt / camera_opt_to_world. (does this make sense?)
IMO this brings up a good point that we should flip all of these variable names though, the A to B convention is really frustrating compared to B from A when we're using left-multiplied transformation matrices. 🙂

Thanks for your response! Yes I think your explanation makes sense but I'm still confused when I'm trying to add a custom pose optimizer. Since my dataset only has pose errors on z-axis (in world coordinates), I make my custom camera_opt_to_camera something like
1 0 0 0
0 1 0 0
0 0 1 \delta z

In this case, I find c2w = pose_utils.multiply(c2w, camera_opt_to_camera)  would go wrong because the transformation in z-axis is applied before the rotation in c2w while c2w = pose_utils.multiply(camera_opt_to_camera, c2w) results in correct transformation. Could you figure out how to make a custom camera_opt_to_camera that only optimizes z-axis pose in world coordinates?

I was confused by this operation as well. But then I realize it has to be considered as part of the procedure of view dir generation
 directions_stack = torch.sum(directions_stack[..., None, :] * rotation, dim=-1)
which is equivalent to wolrd_view_dir = pixel_dir @ rotation.T
The transpose operation thus implies the reversed order of camera_adjustment matrix and the pose matrix.


Keep content stop working o. 1.17.0

Keep content option stop working on 1.17.0 (when change project)

@PixelT this was a known bug on the beta channel, and the quick hack was to disable the context switching, i was hoping to have more time to work on a solution, but alas, they outrunned me... will try to give a solution fast! thanks for the heads up

@PixelT will send a more stable (i hope) for this in a bit

please check new version 1.1.0 and provide feedback if possible.


[Feature Request] Auto-Update options per Extension

I saw https://github.com/microsoft/vscode/issues/52116 and created this issue anyway because I think that issue is a) too old b) has too many other things going on.

For me, personally, I'd like a simple way to enable/disable automatic extension updates per extension. I really care about updates for many of them and want to read the changelog before I update but for some, like Copilot, who get several updates a day, I really just want to always be on the latest.
Copying section 7 from the above:
Auto-Update options per Extension

Users could opt-out of Auto-Update for specific extensions, with toggle button next to Disable/Uninstall in Extensions Sidebar (under gear icon menu) and next to those buttons in Extensions Detail Page.
This could allow users to stick with previous versions before new high-risk permissions became required
This could allow avoiding updating to problematic versions of extensions until issues are resolved.
This could allow users to manually review/approve updates based on reviews and changelog for higher (security or reliability) risk extensions
This could be controlled per extension without disabling globally as may be desired by default for most extensions.
Can be set per extension to "Default" vs Auto-Update vs. Disable Automates, like with Firefox, with Default behavior controlled through global setting.
Could provide Undo Update button or choose from version history (like with Chrome/Firefox extension stores) on extension details page, to enable rollback to previous version after an update causes issues, instead of just disabling until if/when ever fixed.

Have you tried to select specific version for extension? This should effectively force version and prevent updates.

Have you tried to select specific version for extension? This should effectively force version and prevent updates.

No, would that still show if there was an update available?

It should show.
Also September 22 update had few updates to Extensions including Ignore updates for an extension. Check it out

Supported auto updating options per extension/publisher

This is enabled when auto update mode is disabled or set to onlySelectedExtensions (new config)


yaml syntax highlighting not showing distinct colors for field and values

Description
When using nightfox colorschemes, the syntax highlighting for yaml filetypes are off, the strings and fields all have the same colour, with the only colour distinction coming from numbers/booleans.

Reproduced using the steps below
This is the output of :TSHighlightCapturesUnderCursor after a :syntax on.

For reference, the same init.lua file using folke/tokyonight.nvim colorscheme gives the correct expected output

PS: I've seen the recently raised #262 talking about the same problem, but I couldn't understand the solution (if there was any).
Behavior
Expected behavior
The syntax highlighting should look similar to that of tokyonight's (shown above), with distinct colours for field keys and values.
Configuration
Relevant nightfox's configuration...
Reproduce

Create a minimal1.lua file and a.yaml (see below for file contents).
nvim --clean -nu minimal1.lua a.yaml. Restart neovim if needed, once packer installs everything required. Run :syntax on if needed. (:TSHighlightCapturesUnderCursor should then show the result I shown above)

In case you think that it is because there is no yaml language server installed, I've also provided a minimal2.lua file which installs the language server via mason.

Clear the tmp nvim site directory if you are running this after the previous config reproduction. (rm -rf /tmp/nvim or smth to that effect) Just so we get a fresh start.
Create a minimal2.lua file and a.yaml (see below for file contents).
nvim --clean -nu minimal2.lua a.yaml. You will need to restart neovim a couple times to install all the relevant plugins & language server. Run :syntax on if needed. (:TSHighlightCapturesUnderCursor should then still show the result I shown above)

FILES

a.yaml
colors:
  - name: blank
    files:
      - config.yaml
  - other-number: 2
  - other-bool: false

minimal1.lua
-- this template is borrowed from null-ls
local on_windows = vim.loop.os_uname().version:match("Windows")

local function join_paths(...)
    local path_sep = on_windows and "\\" or "/"
    local result = table.concat({ ... }, path_sep)
    return result
end

vim.g.loaded_remote_plugins = ""
vim.cmd([[set runtimepath=$VIMRUNTIME]])

local temp_dir = vim.loop.os_getenv("TEMP") or "/tmp"

vim.cmd("set packpath=" .. join_paths(temp_dir, "nvim", "site"))

local package_root = join_paths(temp_dir, "nvim", "site", "pack")
local install_path = join_paths(package_root, "packer", "start", "packer.nvim")
local compile_path = join_paths(install_path, "plugin", "packer_compiled.lua")
local mason_path = join_paths(install_path, "plugin", "mason")

local ts_config = function()
    local ts = require("nvim-treesitter.configs")
    -- add only what you need to reproduce your issue
    ts.setup({
      ensure_installed = { "yaml" },
      auto_install = true,
      highlight = {
        enable = true,
      },
      playground = {
        enable = true,
      }
    })
end

local function load_plugins()
    -- only add other plugins if they are necessary to reproduce the issue
    require("packer").startup({
	    {
		    "wbthomason/packer.nvim",
		    {
			    "EdenEast/nightfox.nvim",
			    config = function()
				    vim.cmd([[colorscheme nightfox]])
			    end
		    },
		    "folke/tokyonight.nvim",  -- only for comparison, not necessary for reproducing bug
		    {
			    "nvim-treesitter/nvim-treesitter",
			    config = ts_config,
		    },
		    "nvim-treesitter/playground",
	    },
	    config = {
		    package_root = package_root,
		    compile_path = compile_path,
	    },
    })
end

if vim.fn.isdirectory(install_path) == 0 then
    vim.fn.system({ "git", "clone", "https://github.com/wbthomason/packer.nvim", install_path })
    load_plugins()
    require("packer").sync()
else
    load_plugins()
    require("packer").sync()
end

minimal2.lua
-- this template is borrowed from null-ls
local on_windows = vim.loop.os_uname().version:match("Windows")

local function join_paths(...)
    local path_sep = on_windows and "\\" or "/"
    local result = table.concat({ ... }, path_sep)
    return result
end

vim.g.loaded_remote_plugins = ""
vim.cmd([[set runtimepath=$VIMRUNTIME]])

local temp_dir = vim.loop.os_getenv("TEMP") or "/tmp"

vim.cmd("set packpath=" .. join_paths(temp_dir, "nvim", "site"))

local package_root = join_paths(temp_dir, "nvim", "site", "pack")
local install_path = join_paths(package_root, "packer", "start", "packer.nvim")
local compile_path = join_paths(install_path, "plugin", "packer_compiled.lua")
local mason_path = join_paths(install_path, "plugin", "mason")

local ts_config = function()
    local ts = require("nvim-treesitter.configs")
    -- add only what you need to reproduce your issue
    ts.setup({
      ensure_installed = { "yaml" },
      auto_install = true,
      highlight = {
        enable = true,
      },
      playground = {
        enable = true,
      }
    })
end

local function load_plugins()
    -- only add other plugins if they are necessary to reproduce the issue
    require("packer").startup({
	    {
		    "wbthomason/packer.nvim",
		    {
			    "EdenEast/nightfox.nvim",
			    config = function()
				    vim.cmd([[colorscheme nightfox]])
			    end
		    },
		    "folke/tokyonight.nvim",  -- only for comparison, not necessary for reproducing bug
		    {
			    "nvim-treesitter/nvim-treesitter",
			    config = ts_config,
		    },
		    "nvim-treesitter/playground",

		    -- and with lsp server installed
		    { "williamboman/mason.nvim" },
		    { "williamboman/mason-lspconfig.nvim" },
		    { "neovim/nvim-lspconfig" },
	    },
	    config = {
		    package_root = package_root,
		    compile_path = compile_path,
	    },
    })
end

if vim.fn.isdirectory(install_path) == 0 then
    vim.fn.system({ "git", "clone", "https://github.com/wbthomason/packer.nvim", install_path })
    load_plugins()
    require("packer").sync()
else
    load_plugins()
    require("packer").sync()
end

-- Custom config for LSP
require("mason").setup({
    install_root_dir = mason_path,
})
require("mason-lspconfig").setup({
    ensure_installed = {"yamlls"},
    automatic_installation=true,
})
require("lspconfig").yamlls.setup{}

Additional info / context
$ nvim -v
NVIM v0.8.1
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by brew@Monterey

Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/local/Cellar/neovim/0.8.1/share/nvim"

MacOS 12.5.1, Kitty terminal emulator.

Silly me, the suggested solution was to turn off treesitter's highlight for yaml.
    require("nvim-treesitter.configs").setup({
        highlight = { enable = true, disable = { "yaml" } },
        -- your other treesitter configs
    })

and indeed it seems to work.

Found that there was an issue with yaml and found that I was disabling yaml highlight in my config. I can reproduce and fix.


Allow proxying cluster metrics from all components through YT proxies

Motivation
We want to expose an API for fetching metrics for the whole cluster solely from YT proxy hosts.
This is useful when the cluster provider does not want to expose monitoring ports for all components to an external client, constricting all interaction with YT to HTTP/RPC proxies and UI.
In the future, it could also allow collecting metrics from CHYT and other services run inside operations (potentially even user operations) without implementing a standalone endpoint discovery mechanism for finding the monitoring endpoints of the corresponding jobs.
Technical details
I will outline a very loose plan below.
Each http proxy will support a new route/command (without authorization), something along the lines of /fetch_metrics?shard_index=i&shard_count=n where i < n, which will return a portion of the metrics in the format specified by headers. The format will be specified in the same way as it would have been specified when pulling metrics from a monitoring endpoint (e.g. -H "Accept: application/x-solomon-spack" -H "Accept-Encoding: zstd").
This can be used to form a sharded list of targets my-cluster-proxy-balancer.yt/api/v4/fetch_metrics?shard_index=0&shard_count=20, my-cluster-proxy-balancer.yt/api/v4/fetch_metrics?shard_index=1&shard_count=20, ..., my-cluster-proxy-balancer.yt/api/v4/fetch_metrics?shard_index=19&shard_count=20.
It should also accept a list of components as a parameter.
The implementation will consist of an enriched TSolomonExporter (or a new extension of this class) that will be configured by a number of endpoint providers (similar to DiscoverVersions).
We can implement something similar to TSolomonExporter::AttachRemoteProcess, but instead of working through a separate DumpSensors call we will collect metrics similar to how an end-user would collect them, by calling the existing solomon handle with some format specifiers. The results can then be parsed and joined using encoders/decoders from monlib.
The point of using the existing exporter is to avoid duplicating the existing output format selection and encoding (~this).
The endpoint providers will be configurable on the server side, but maybe it won't be too hard to make this configurable dynamically and make it simple to add/remove components that can be discovered through Cypress.

TODO: Think about whether we want this command in RPC proxies.


signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0x7743608041

I am having an issue of fatal signal 7 sigbus error i dont know how to reproduce this error it appears randomly but mostly when my data is fetched
This is the Error :----------
Build fingerprint: 'Micromax/E6746/E6746:10/QP1A.190711.020/1618569804:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2021-11-09 09:23:55+0530
pid: mypid, tid: ..., name: ...ui  >>> com.myid <<<
uid: .10..
signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0x7743608041
    x0<PHONE_NUMBER>c80c91  x1<PHONE_NUMBER>000002  x2<PHONE_NUMBER>000000  x3<PHONE_NUMBER>608041
    x4<PHONE_NUMBER>608041  x5<PHONE_NUMBER>608041  x6<PHONE_NUMBER>608041  x7<PHONE_NUMBER>608041
    x8<PHONE_NUMBER>608041  x9<PHONE_NUMBER>608041  x10<PHONE_NUMBER>608041  x11<PHONE_NUMBER>608041
    x12<PHONE_NUMBER>000002  x13<PHONE_NUMBER>c80c91  x14<PHONE_NUMBER>60b0c1  x15<PHONE_NUMBER>e849e8
    x16<PHONE_NUMBER>000002  x17<PHONE_NUMBER>00001a  x18<PHONE_NUMBER>e14000  x19<PHONE_NUMBER>608041
    x20<PHONE_NUMBER>608041  x21 00000077b8522ab0  x22<PHONE_NUMBER>608041  x23<PHONE_NUMBER>608071
    x24<PHONE_NUMBER>c80851  x25<PHONE_NUMBER>c80b91  x26<PHONE_NUMBER>dc3000  x27 00000076ec2f3360
    x28<PHONE_NUMBER>000000  x29<PHONE_NUMBER>e84c68
    sp<PHONE_NUMBER>dac000  lr<PHONE_NUMBER>0dc814  pc<PHONE_NUMBER>608041
backtrace:
      #00 pc<PHONE_NUMBER>008041  <anonymous:7743600000>

Flutter doctor -v
[√] Flutter (Channel stable, 2.5.2, on Microsoft Windows [Version 10.0.19042.1052], locale en-IN)
    • Flutter version 2.5.2 at C:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 3595343e20 (6 weeks ago), 2021-09-30 12:58:18 -0700
    • Engine revision 6ac856380f
    • Dart version 2.14.3

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\help\AppData\Local\Android\sdk
    • Platform android-S, build-tools 30.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 2020.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[√] Connected device (3 available)
    • IN1 (mobile) • 5PHEU8SS9DWSRG8X • android-arm64  • Android 10 (API 29)
    • Chrome (web) • chrome           • web-javascript • Google Chrome 95.0.4638.69
    • Edge (web)   • edge             • web-javascript • Microsoft Edge 95.0.1020.40

• No issues found!

Hi @Mayank985, Thanks for filing the issue. please provide the flutter run -v  logs containing the crash log (pleas e provide it in a text file as the output will be long) and a minimal and complete reproducible code to reproduce the issue.
Thanks

Hi @Mayank985, Thanks for filing the issue. please provide the flutter run -v  logs containing the crash log (pleas e provide it in a text file as the output will be long) and a minimal and complete reproducible code to reproduce the issue. Additionally, it would be great if you could update your issue description explaining what were you trying to do when the crash occurred.
Thanks

I don't know how to reproduce it. It always occurs randomly.
I have one question that what if I publish app which crashes does it effects my account ??

I don't know how to reproduce it. It always occurs randomly.

In order for this issue to be actionable we would need at least the complete  crash logs, You can try certain things to fins the cause.

If you see a random crash try to repeat that pattern in the app
Check if the issue occurs only in debug or release mode
Whether the crash happens on a virtual or real device whether on a specific android version or all versions?

I have one question that what if I publish app which crashes does it effects my account ??

If you meant the crash minimal functionality for playstore, I think you should check this https://support.google.com/googleplay/android-developer/answer/9898783#zippy=%2Cexamples-of-common-violations, But I am not sure why would you upload a app to playstore which crashes on the other the impact will mainly be on your users.

I don't know how to reproduce it. It always occurs randomly.

In order for this issue to be actionable we would need at least the complete crash logs, You can try certain things to fins the cause.

If you see a random crash try to repeat that pattern in the app
Check if the issue occurs only in debug or release mode
Whether the crash happens on a virtual or real device whether on a specific android version or all versions?

I have one question that what if I publish app which crashes does it effects my account ??

If you meant the crash minimal functionality for playstore, I think you should check this https://support.google.com/googleplay/android-developer/answer/9898783#zippy=%2Cexamples-of-common-violations, But I am not sure why would you upload a app to playstore which crashes on the other the impact will mainly be on your users.

I have tried to repeat that pattern for more than 5-7 times but it doesn't crash that time.
Fun Fact : tomorrow after 4'o  clock i have used it for more than 2 hrs but it dosen't crash even 1 time this is so strange situation. I am using flutter for more than 6 month but never seen this kind of error. What to do ? I don't know anymore.

Note: C:\flutter.pub-cache\hosted\pub.dartlang.org\firebase_core-1.7.0\android\src\main\java\io\flutter\plugins\firebase\core\FlutterFirebaseCorePlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\flutter.pub-cache\hosted\pub.dartlang.org\cloud_firestore-2.5.3\android\src\main\java\io\flutter\plugins\firebase\firestore\FlutterFirebaseFirestorePlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\flutter.pub-cache\hosted\pub.dartlang.org\cloud_firestore-2.5.3\android\src\main\java\io\flutter\plugins\firebase\firestore\streamhandler\TransactionStreamHandler.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: C:\flutter.pub-cache\hosted\pub.dartlang.org\firebase_analytics-8.3.3\android\src\main\java\io\flutter\plugins\firebaseanalytics\FirebaseAnalyticsPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\flutter.pub-cache\hosted\pub.dartlang.org\firebase_analytics-8.3.3\android\src\main\java\io\flutter\plugins\firebaseanalytics\FirebaseAnalyticsPlugin.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
WARNING: [Processor] Library 'C:\Users\help.gradle\caches\modules-2\files-2.1\org.robolectric\shadows-framework\4.3\150103d5732c432906f6130b734e7452855dd67b\shadows-framework-4.3.jar' contains references to both AndroidX and old support library. This seems like the library is partially migrated. Jetifier will try to rewrite the library anyway.
Example of androidX reference: 'androidx/test/runner/lifecycle/Stage'
Example of support library reference: 'android/support/annotation/NonNull'
This error shows when i try to build apk. Is that error because this ?

WARNING: [Processor] Library 'C:\Users\help.gradle\caches\modules-2\files-2.1\org.robolectric\shadows-framework\4.3\150103d5732c432906f6130b734e7452855dd67b\shadows-framework-4.3.jar' contains references to both AndroidX and old support library. This seems like the library is partially migrated. Jetifier will try to rewrite the library anyway.
Example of androidX reference: 'androidx/test/runner/lifecycle/Stage'
Example of support library reference: 'android/support/annotation/NonNull'

This error shows when i try to build apk. Is that error because this ?

The above error is in hexadecimal and Its not readable so we can't really make any sense out of it. But I Would advise you to try migrating your project to androidX and see if that makes any difference you may follow this docs for migration.


Checkout branches other than master?

How does one go about checking out branches other than master?  I see the .drone.yml in this directory has a git field in the yaml, but I haven't found the documentation for it.  Trying out
git:
  branch: source

doesn't seem to do the trick.

@cboettig the branch cannot be specified in the .drone.yml. The branch is provided by the post-commit hook (sent from GitHub, Bitbucket, etc). Drone uses this information to automatically checkout the correct branch.

Right; of course. It would be handy if this could be set in the interactive
drone configuration for the repository though.
Meanwhile the code to check branches that was posted in #672 works fine for
me (I started following that thread after encountering that issue as well,
and it fit the bill so perfectly I mistook it as a reply to this issue), so
feel free to close this.
Thanks again for the quick reply and for providing such an excellent tool.

Not sure if this helps, but you can also "white list" branches. This will instruct Drone to skip any branches not enumerated in the list:
image: gcc
script:
  - make
  - make test

# drone will skip any branch that isn't in this list
branches:
  - master
  - staging


Restricted fn scopes

We currently make no difference between closures and functions, so the following is valid:
let foo = 2;
fn bar() {
  let baz = foo + 1;
}

We'll simply have to restrict function scopes.

Beware that this is still valid Rhai code, if the user calls bar via Engine::call_fn.  The variable foo can be provided in an external scope (in which case it would essentially be the same as the let foo = 2; here.
So, maybe a switch is needed to specify whether any scope (especially functions) is allowed to have undeclared variables.

Or, say, that foo inside bar can be recognized if it is in the scopes definition file?

Ah this complicates it. I'll have to make a distinction between declarations in scripts and defintion files.

It still might need to be considered, because a lot of Rhai usage is calling functions directly with call_fn.

I don't think we can express per-function external scopes since I don't want to alter the Rhai syntax the slightest. We can allow comments similar to // @ts-ignore to suppress resolution errors.

We can allow comments similar to // @ts-ignore to suppress resolution errors.

OK.  So you want to restrict the check within the parser itself.  That's ok...
How about a simple syntax in the function or script's doc-comment?
//! This is my script
//!
//! # Expected Scope Variables
//!
//! @def global_variable: int         ' a global variable that can be used for all functions

/// This is my function
///
/// # Expected Scope Variables
///
/// @def scope_variable: String    ' a variable that is only available when calling func
fn func() {
    let x = "variable = " + scope_variable;
    print(x);
}

As long as we agree on a standard syntax, the user can easily work this out as documentation itself, or filter the lines out.

I'll have to think about it, but I like your proposal.

I implemented your proposal, and it will work just fine:
/// ```rhai-scope
/// let name: ?;
/// ```
fn hello() {
    return name;
}

However parsing after parsing is always tricky, currently errors are swallowed and spans are incorrect, meaning that hover and go to definitions will go to wrong locations.
In order to correct these, we just have to adjust the offsets so that the beginning of the code block is not 0 but rather its actual position in the file. However to do this I'd probably refactor the code that adds symbols to the HIR because we are recursively parsing expressions and we are passing down a lot of stuff.

Is it in your parser or do you want me to add that offset option to Rhai's parser?

However parsing after parsing is always tricky

It truly is.  Trick is to provide an initial value to the position when starting to render.
Also, those /// stripped will also change the character position offset for each line...

Is it in your parser

Yes, I parse the docs when adding the function to the HIR.

It truly is. Trick is to provide an initial value to the position

Yes that is the plan, I just don't want to further bloat the recursive code that adds things to the hir with even more parameters, so I'll create some sort of context where I can shove stuff like the starting offset.

I just don't want to further bloat the recursive code

But you already need to pass in the current position in order to be able to "add on" to it, right?  So you already have that parameter, or you keep the current position inside a variable.
The current line number is easy - you simply start with a larger number.  The character offset for each line, however, I do agree will be a problem since you'd need to have a way to know how much it is for each line.

But you already need to pass in the current position

The add_expression receives the syntax node of the fn expression, but the doc comments are not part of it, right now I only temporarily pass down the parsed comments without any position information. There are a lot of stuff passed down and propagated, so I'll need a refactor anyway.

Also it gets even more complicated, we need to parse each comment code block as a whole, the following will completely bork positions:
/// ```rhai-scope

/// /// Doc of "name"

/// let name: ?;
// Hello I'm a comment between doc comments
/// ```
fn hello() {
    return name;
}

I don't think I'll handle these, if these issues pop up for users, we can detect splits between doc comment code and just throw a warning or error for them.

Can you simply ignore whitespace and so all these comment blocks become a single block with the blank lines skipped over during tokenization?
Probably not easily as you're keeping a parse tree, not a syntax tree, so whitespace matters...

I can't ignore anything, the syntax tree has to remain lossess. Ignoring whitespace and comments would throw off pretty much all positions, because the IDE doesn't ignore them either.

But I stand by my last comment for now, I don't want to spend any significant effort on dealing with this unless it actually becomes a problem.

Yeah.  Agree to that 100%.  Better have something reasonable going than worry about the edge cases right now.

BTW, just found out that you only handle the case for three back-ticks, immediately followed by rhai-scope.
In fact, the MarkDown code block standard handles the following variants:

Backticks ` or tildes ~
Three or more backticks/tildes (can be more than three), but the closing must have the same number
The language code can be separated from the backticks/tildes by whitespace

Therefore, the following should be allowed:
~~~~~ rhai-scope
let x: int;
~~~~~

Let's not worry about a code block not starting immediately, but with whitespace before, for the time being...

I initially wanted to use a markdown parser for this, and if we want to handle every edge-case, we will use one. I did not think this alone would warrant an additional dependency.

I initially wanted to use a markdown parser for this, and if we want to handle every edge-case, we will use one. I did not think this alone would warrant an additional dependency.

True in that.  Still, I think we should at least recognize tildes ~ instead of only backticks.  Many people have the habit of using ~~~.

BTW, does //! work on a global level?
Seems to work fine for /// on functions, but not in //!.

I've implemented this for functions only, for global definitions, you can use definition files.

Ah OK.


Query paging API: hardening, robustness, explicitness

Motivation
Query paging API has shown to be unclear for users:

{query,execute}_paged had misleading name (#940),
paging_state was a magic Bytes instance (#987),
{query,execute} would silently return only the first page if page size was specified on a statement,
users would naturally resort to {query,execute} as the methods with the simplest names, even though they should be used with SELECTs with caution:
with no page size set, an unpaged SELECT query would have high latency and memory footprint, and could event time out,
with page size set, only first page would be returned (see the previous big point).
it was easy to forget about iterating over pages based on paging_state, as it was just a field on QueryResult,
there was lack of examples of a loop together with {query,execute}_paged.

This PR seeks to address those problems before we attack the Giant Request Execution Refactor™ (GRER™) (#978).
What's done
The core idea incorporated:
Shift responsibility about whether to page or not from statements (by setting page_size to Some or None) to Session's methods.
Separate paged and unpaged API promotes conscious choice by users and thus prevents API misuse.
Detailed changes

Strongly typed PageSize is introduced, which restricts the inner i32's range to positive integers. This is important, because passing nonpositive integer as a page size silently makes the query unpaged. All APIs now accept PageSize, and it's user's responsibility to create a PageSize, handling possible errors thrown upon its construction.
Paging state is made strongly typed. Two new types are introduced: PagingState and PagingStateResponse. PagingState is, underneath, just an Option<Arc> over the raw bytes from the DB. The idea is that PagingState is passed as an argument to request execution API to ask for resuming the query (continuing it) from the point specified by given PagingState. PagingStateResponse is returned always by the DB from paged requests - with information about either more or no more pages being available. PagingStateResponse is easily convertible into PagingState, so that user can use it in in a loop.
PageSize is made mandatory on statements. Henceforth, paged API will always use it and unpaged API will always ignore it.
{query,execute} methods have _unpaged prefix appended and they always perform an unpaged query (ignoring the PageSize specified on a statement).
{query,execute}_paged are renamed to {query,execute}_single_page. The name %_paged has long confused users. The new name indicates explicitly that only a single page is fetched with a single call to those methods.
{query,execute}_single_page pass page state explicitly. As an attempt to make paged queries' API more explicit, robust and self-explanatory, PagingStateResponse is decoupled from QueryResult. Instead, it's returned from {query,execute}_single_page as a second field of a pair, helping users not to forget about it.
Moreover, internal and external APIs which expect that the query is not paged now warn if a "more pages" page state is returned from a query.
select-paging example is modified to showcase the suggested way to use {query,execute}_single_page.
Documentation is adjusted to the introduced changes.

Fixes: #940
Fixes: #987
Pre-review checklist

[x] I have split my patch into logically separate commits.
[x] All commit messages clearly explain what they change and why.
[ ] I added relevant tests for new features and bug fixes.
[x] All commits compile, pass static checks and pass test.
[x] PR description sums up the changes and reasons why they should be introduced.
[x] I have provided docstrings for the public items that I want to introduce.
[x] I have adjusted the documentation in ./docs/source/.
[x] I added appropriate Fixes: annotations to PR description.

So let's drop PageSize type and perform panicking check in set_page_size methods.

I suggest a slightly different thing: let's make PageSize not occur in the public API, but still be passed around in the internal codebase. This way we make sure that we won't forget about a panic anywhere - because we must handle an error on try_into() - I suggest unwrapping it.

In checklist you marked that All commits compile, pass static checks and pass test. - is that really the case? I would expect commit session: make {query,execute} methods unpaged to break something if it really prevents usage of unpaged queries. If it doesn't break any test then it sounds like our tests are lacking.

Good catch. Let's see if any test breaks.

So let's drop PageSize type and perform panicking check in set_page_size methods.

I suggest a slightly different thing: let's make PageSize not occur in the public API, but still be passed around in the internal codebase. This way we make sure that we won't forget about a panic anywhere - because we must handle an error on try_into() - I suggest unwrapping it.

Makes sense

In checklist you marked that All commits compile, pass static checks and pass test. - is that really the case? I would expect commit session: make {query,execute} methods unpaged to break something if it really prevents usage of unpaged queries. If it doesn't break any test then it sounds like our tests are lacking.

Good catch. Let's see if any test breaks.

Sad news... everything has passed.

v1.1: addressed all Karol's comments apart from PageSize panics, which is TODO.

v1.1.1: Clippy fix

Yeah, I guess it is fine to postpone all docs expressions, but ideally we want people to use paging and live on the safe side unless they know what they are doing.
Quickly walked through most of the actual changes and they look fine to me. But let's not forget to update docs and user-facing info so actually prevent them from ending up in the same state as they were prior to this series.
Sorry for the spam :)

Yeah, I guess it is fine to postpone all docs expressions, but ideally we want people to use paging and live on the safe side unless they know what they are doing.
Quickly walked through most of the actual changes and they look fine to me. But let's not forget to update docs and user-facing info so actually prevent them from ending up in the same state as they were prior to this series.
Sorry for the spam :)

You made great job pointing out those bad practices in docs, thanks!

v1.2: removed PageSize from public API, panicking on non-positive integer passed.

v 1.2.1: mentioned that setters panic with non-positive numbers given.

v1.2.2: fully removed PageSize from public API - I forgot about getters - and made it pub(crate).


Cleanup the asuswrt component

Description:

Get the list of wireless interfaces from nvram so tri-band routers
work
ARP checks don't work reliably for ap mode so remove it, associated
list seems pretty solid
Match on 'mac' instead of 'ip' since we can't use it for ap mode
The client_info_tmp nvram reference, Asus removed it some time ago
Update AsusWrtResult

Some more background discussion on this in #4189
Checklist:
If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass

Would be nice if you could take a look at #8187? Perhaps you could address that issue too as part of this PR. Thanks.

Yup, I'll give that a look.

Let's address #8187 in a new PR so we can keep moving! 🏃♀

Thanks! 🐬

My ASUS RT-AC53 doesn't have the wl command :(
still doesn't work for me #8112

@maweki I don't have that model so not much I can do to help there.  It's also not one supported by Merlin's fork so I'm guessing it doesn't follow the same firmware structure as the other.  Without a working wl command (or equivalent), I'm afraid there's nothing to be done.


Potential typo?

See typo on line that is shown in an error when a widget is missing:
https://github.com/decaporg/decap-cms/blob/9dc2fbd3acc96344b7d4a95862b338db04c3bd24/packages/decap-cms-widget-list/src/ListControl.js#L674

haha 💩 happens 😅

Closed in #7249


Add SwiftOCR

Great addition, thanks.
Seems an interesting project for photographed receipts, signs and such. Rather unfortunate that it cannot be used outside a Mac environment without jumping through some hoops.


Upgrade to govuk-dependabot-merger v2

Retain the old allow-list style behaviour for now, just auto merging updates to govuk_publishing_components, as we're lacking security scans and code coverage information stipulated by RFC-167 before we can consider auto-merging all dependencies by default.
Trello: https://trello.com/c/0FUL9Cv7/2541-upgrade-our-publishing-apps-to-govuk-dependabot-merger-v2

I think you may need to configure Dependabot version updates to take advantage of Dependabot merger.

@AgaDufrat actually it's already there: https://github.com/alphagov/govuk-dependabot-merger/blob/1ec77fdd6aeda9f4773aa1ed45e81e439f54b9b1/config/repos_opted_in.yml#L26

I meant adding dependabot.yml https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates#enabling-dependabot-version-updates

Ahhh, missed that too. Thanks


wireframe updates

wireframed major components with static HTML, added some dynamic abilities to kube-component, added font-awesome for glyphs since removed from bootstrap4

Changes Unknown when pulling e06d8690677f8cde09f15dc981a878f89d5493de on jordanrinke:new_ui into ** on supergiant:new_ui**.

Changes Unknown when pulling e06d8690677f8cde09f15dc981a878f89d5493de on jordanrinke:new_ui into ** on supergiant:new_ui**.


Add translation interface

close #815
In this PR:

[x] added translation interface for all models used in the storefront (eg. title, description, seo_title, seo_description ...)
[x] Changed the way Category's URL is generated due to extra queries fired (it uses slug instead of building fully nested category path)
[x] prepared storefront for displaying translated properties (just add translations and you’re ready to go!)
[x] tests
[x] docs
[ ] migrations

Things that Needs to be done after merging this PR:

[ ] interface for adding translations in the dashboard
[ ] graphql api for translations

Screenshots

Pull Request Checklist

[x] Privileged views and APIs are guarded by proper permission checks.
[x] All visible strings are translated with proper context.
[x] All data-formatting is locale-aware (dates, numbers, and so on).
[x] Database queries are optimized and the number of queries is constant.
[x] The changes are tested.
[x] The code is documented (docstrings, project documentation).

Functionality is fully working (excluding some debugging code left), but have few potential drawbacks:

MPTT models do not come well with the translations, some internal logic used for getting children/ancestors is breaking the prefetches. It's especially visible for the navigation, producing whooping 30 database queries per page.
solution: As Menu can be changed in a limited number of places, I propose we parse it to JSON, store on the model, and serve the JSON version to avoid all the queries.

On the Order, there's product_name as string used for identifying a purchased product, at this moment it's saved as a translated version(the one that customer saw at the checkout)
solution: Add product_name_translated or product_name_native to allow easier identifying purchased products. The translated version could be used in the storefront, while native - in the dashboard

In future we should also implement the translation fallback logic from gettext but I think it's a separate task: https://code.djangoproject.com/ticket/29144

I've also fixed #2220 in this PR

Helper function that can be used for creating polish translations for all the content:
https://gist.github.com/Pacu2/6f4d08f037f468ba411c66de44435a16

Migrations will be added after merging #2422

@Pacu2 could you add tests to check when json_content of the top and the bottom menu is empty, home doesn't crash? (it does crash right now)

The internal logic of MPTT models (eg. Category) used for getting ancestors/descendants is breaking the prefetches.  The number of queries is rising as we're moving down the categories tree.
The menu was reworked into JSON to avoid it, categories hopefully will be dropped soon.

We will also have to add some docs explaining how it works, but I'll open a separate issue for that.

@Pacu2 I still have Saleor crashing when I migrate from an older menu, so when the menu is empty and no populatedb was done (json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)).

@NyanKiyoshi There was some miscommunication on what was the empty menu, I thought u meant menu unassigned from settings, not the one that was left after creating the store, without running the populated command.
Should be fixed on https://github.com/mirumee/saleor/pull/2522/files