i do not have a tool bar or backspace funtion

VSCode Version: Code 1.10.2 (8076a19fdcab7e1fc1707952d652f0bb6c6db331, 2017-03-08T14:02:52.799Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions:

Extension
Author
Version

statusbar-commands
anweber
0.1.0

scanner-js-twain-wia-javascript-browser-scan
asprise-scan-ocr
2.0.2

python
donjayamanne
0.6.0

vscode-nupkg
eridem
0.0.4

scriptcsRunner
filipw
0.1.0

code-runner
formulahendry
0.6.14

nuget-reverse-package-search
jesschadwick
0.1.61

vscodeilviewer
josephwoodward
0.0.1

docomment
k--kato
0.0.14

csharpfixformat
Leopotam
0.0.16

quicksnippet
mousetraps
0.0.1

csharp
ms-vscode
1.8.0

PowerShell
ms-vscode
0.10.0

sublime-keybindings
ms-vscode
2.0.1

vs-keybindings
ms-vscode
0.1.3

material-icon-theme
PKief
2.0.0

ClassyNaming
reflectiondm
1.0.0

vscode-icons
robertohuertasm
7.3.0

vim
vscodevim
0.6.5

wandbox-vscode
wraith13
2.1.1

Steps to Reproduce:

@zues1bh VS Code does not have a "toolbar" by design. Please watch the following introduction to learn how VS Code works: https://code.visualstudio.com/docs/introvideos/quicktour
What do you mean by "backspace function"?

I cannot back space when I am writing code. I have to highlight and cut all
unwanted text.
On Mar 15, 2017 5:27 AM, "Andre Weinand"<EMAIL_ADDRESS>wrote:

@zues1bh https://github.com/zues1bh VS Code does not have a "toolbar"
by design. Please watch the following introduction to learn how VS Code
works: https://code.visualstudio.com/docs/introvideos/quicktour
What do you mean by "backspace function"?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/22657#issuecomment-286701411,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZKk7Xz7SEh0eNOuNzprSRTZtZMflmKhks5rl70bgaJpZM4Mdu2n
.

So you don't have a Backspace ('←') key?

no response -> closing


Error executing vim.schedule lua callback

Hai,
I have error
Error executing vim.schedule lua callback: UnhandledPromiseRejection with the reason:                                                                          ...m-data/lazy/laravel.nvim/lua/laravel/services/status.lua:40: attempt to index local 'info' (a nil value)                                                    stack traceback:                                                                                ...m-data/lazy/laravel.nvim/lua/laravel/services/status.lua:40: in function <...m-data/lazy/laravel.nvim/lua/laravel/services/status.lua:39>

My Config
	{
		"adalessa/laravel.nvim",
		dependencies = {
			"tpope/vim-dotenv",
			"nvim-telescope/telescope.nvim",
			"MunifTanjim/nui.nvim",
			"kevinhwang91/promise-async",
		},
		cmd = { "Laravel" },
		keys = {
			{ "<leader>L", "", desc = " 󰫐 Laravel" },
			{ "<leader>La", ":Laravel artisan<cr>" },
			{ "<leader>Lr", ":Laravel routes<cr>" },
			{ "<leader>Lm", ":Laravel related<cr>" },
		},
		event = { "VeryLazy" },
		opts = {},
		config = true,
	},

Neovim Version = 0.10.1
Terminal = Wezterm
OS         = Windows 11

Thanks

Hi @pojokcodeid I have pushed a change https://github.com/adalessa/laravel.nvim/commit/fab6b423b7d4730e68ee1411be426794a9da2d9b
Looks for your case the command about is not returning what is expected.
What version of laravel are you using ?
Now it should not fail, but could be missing the status info for status bar,
Please test and let me know.

I'm using laravel 11
now returns an error if opening a file

Thanks for reporting this, I have pushed a change to properly handle the error.
The underline error is in your system where the config defines to use sqlite but your environment does not have the driver.

after synchronization
now returns a different error message

I think this is related to another case, not sure what happen there, but I added code to catch it. Please test

thanks
already ok


Color Identity as filter not working

It appears the query ignores color identity filters. For example:
Card.where(power = 15).where(color_identity = 'G').all()
Returns four cards, only one of which has green (the other three are None). This happens even when the other cards are an actual color and not just colorless. When mixing and matching queries, the color identity is always ignored.

Each Resource class (Card, Set, Supertype, Type, Subtype, Changelog) passes the kwargs you give it to QueryBuilder, which uses those kwargs to make API calls. As a result, you need to use the API parameters and not the class fields for your kwards in Resource.where()
The API uses colorIdentity, not color_identity, because the API doesn't adhere to Python conventions.
You can test the query resulting from your Card.where() call by entering it into your browser at https://api.magicthegathering.io/v1/%r?%p1=v1&p2=v2...
%r is the resource name (plural) (ex. cards, sets)
%pn and %vn are the parameters and values (ex. power=15, colorIdentity='G')
Here's the API result of the query your function call would produce.
Try
Card.where(power=15, colorIdentity='G').all()
You can see the API result from your browser


Add a navigation bar

As the portfolio gains more information, it may make sense to add a navigation bar. This bar should include the logo on the left side but only once the page has scrolled down a bit.

@NoahCardoza Can you assign @obasekiosa and me to this issue?

✨  Assigned ✨

@NoahCardoza We were a bit confused about the instruction from Will - does "This bar should include the logo on the left side but only once the page has scrolled down a bit" mean that the nav bar does not appear until the page has scrolled down? Also, should the logo remain at the center at first and then move to the left when the page has scrolled down?

It shouldn't matter too much about the final placement of the image. Do whatever you guys think would work best!
I'm personally a fan of sticky headers so they are always accessible no matter how far down the user scrolls. Sometimes the border/box for the header will be "invisible" until the user starts scrolling, which might be what Will was getting at.
I did a little Googling for examples and didn't find exactly what I was looking for but isn't this cool?


createSvg vs getSvgTexture

In the Doc is written to use
lng.Tools.createSvg(cb, stage, url, w, h)
Is the right way?
What is cb and stage and there are available in the App?
Actually I've tried getSvgTexture:
Svg: {
            x: 10,
            y: 200,
            zIndex: 2,
            color: 0xFFFFFFFF,
            texture: lng.Tools.getSvgTexture('./static/tryit.svg', 300, 300),
        }

and it works, following the style of the others methods.
Should be the doc updated?

Hey @MattiaPontonioKineton,
getSvgTexture is more useful as it is a higher level interface that uses createSvg under the hood. Documentation could indeed use an update in that regard.
Best regards

@g-zachar What are the parameters 'cb 'and 'stage' ??

CB is the callback functionSTAGE is an object with the data of the stage (with everything inside, like the canvas and his properties, childrens, etc…) Jesus A. Hernandez de<EMAIL_ADDRESS>http://macadas.no-ip.infohttp://www.twitter.com/tutihttp://www.flickr.com/jhderojashttps://www.linkedin.com/in/jhderojas/ De: KadeejaBaiEnviado: miércoles, 22 de abril de 2020 15:22Para: WebPlatformForEmbedded/LightningCC: SubscribedAsunto: Re: [WebPlatformForEmbedded/Lightning] createSvg vs getSvgTexture (#88) @g-zachar What are the parameters 'cb 'and 'stage' ??—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or unsubscribe.
	Libre de virus. www.avg.com

@jhderojasUVa @g-zachar can You please provide an example of how to use that inside a Lightning.Component in order to use lng.Tools.createSvg | Lightning.Tools.createSvg?
@erikhaandrikman could You please reopen the issue?


Re-implement and fix event music

Currently in the process of finding all events with custom music. Once complete, music dumps, play times and loop need to be found and implemented.
Animal Crossing Events:

Cheery
Halloween
New Year Countdown
New Years Day

City Folk/Wild World Events:
New Leaf Events:

Christmas
Easter
Festivale (Carnival)
Fireworks
Halloween
Harvest Festival
New Year Countdown
New Years Day (Gantan)

This might be the next big feature of the extension! Let me know if I can help with this in anyway.
PD: I believe this should be marked as a new feature instead of an enhacement.

Glad to see this brought up again!
I've already written the code for detecting events and running their respective music files, some time ago, which should be functional.
Once all the event's song files are added, it should suffice to uncomment the block of code at line 60 in /scripts/background/AudioManager.js, which changes the song's filename to the name of whatever event is currently ongoing, with ".ogg". This lies inside the method playHourSong() at line 52.
To add events and their filenames, see the getEvent() function at line 58 of /scripts/background/TimeKeeper.js

Thanks for that! The main reason why it was temporarily removed was because not all games had corresponding event music, and it was causing errors because of this.
We'll definitely uncomment that part and fix up everything eventually, we just have to find every event song for every game and do a few touch-ups here and there.


Fix the shuffle timing to always re-shuffle after an epoch #1416

This PR fixes #1416

LGTM. Thank you for the fix!

Can you write a test for this patch? Please check if data is shuffled in each epoch.

Thank you for your feedback. I wrote easy tests. If necessary, more thorough tests are possible. I also added the same tests to MultiprocessIterator.

Thank you! It looks enough. LGTM


Big PR to bring things up to date with work from another project

Sorry this is a big PR! Honestly though there's not a ton new compared with what's been going on in the Light Partitioning project where a lot of this was being cooked up. This is mostly to just port over a few months' work there into the main AQ2 world. So it should largely be copy/pasting code of code that you've already seen.
Major updates:

Add in the basics for pulling temp, N, & P
Manually broke up the process of downloading by parameter to help w/ memory usage
Add a "strict" version of cleaning processes
Created a basic automated bookdown process for documenting harmonization
Some other changes to how datasets are exported/read/etc. to help w/ memory usage

I just need a high-level review: do things look right, not a line-by-line read.

This looks great to me! If you are satisfied with things, go ahead and merge with the main branch!


make genre page cards, use dummy data for now

@Aadarsh805 can I contribute to this issue?

I can work on this. Please assign me this issue

@Aadarsh805 can I contribute to this issue?

yes sir, go ahead assigned you

I can work on this. Please assign me this issue

You can work on the navlist of genre page, there is another issue on that, I'll assign you on that if you wanna work on it, just drop a comment on that issue

Hey @Aadarsh805 can you tell whether browse page already exists?

Hey @Aadarsh805 can you tell whether browse page already exists?

yes we have a genres page already but we are updating it to the new UI

Hey @Aadarsh805 can you please tell me where the Routes are present?

can u assign me this task if it is not done yet


This repo publishes outdated AppImages

Maybe these serve a purpose which is unknown to me....
If not, please check if you REALLY want to have this repo publishing outdated AppImages on its GitHub releases page.

Indeed they are rather old by now. But we need a 32-bit AppImage that we can link on http://appimage.org for people to test - in order to counter the argument that "AppImage only works for 64-bit Intel machines".

Suggestion:

Remove the Scribus one (it's 64-bit) or update it.

Add an explicit release note on to the release page for the Subsurface one, hinting at its 32-bitage; also add a link to the "official"64-bit Subsurface release page.

(Admittedly I hadn't realized that the Subsurface one was about i686...)

Thanks for the suggestion, done.

Thing is, that the current layout of the Subsurface download page isn't very clearly structured, and your link doesn't even go to the Linux page directly. There is only one Linux link to the currently released AppImage.
Hence I would like to see a change of this sentence:

"Official, recent Subsurface downloads (including AppImages) can be found at https://subsurface-divelog.org/"

to:

"The most recent official Subsurface downloads for Linux (including AppImages) can be found at https://subsurface-divelog.org/download/.
Regular, almost daily builds which showcase ongoing developments are tagged as 'continuous' and available as pre-releases on the official Subsurface GitHub releases page: https://github.com/Subsurface-divelog/subsurface/releases."

Thanks for your attention to detail. Done.

Thanks for responsiveness :-)


Discussion around cvt

The cvt function (defined here: https://github.com/tokio-rs/mio/blob/aa84849c612a8887fab92581e8101369e0b2c4eb/src/sys/unix/mod.rs#L43-L66) is helper function to convert a system call return value into an io::Result.
I'm personally not a fan of it. It is just a single if statement and I think it's better to just inline this in the code.
At the very least it could do with a better name.

I am not a fan of the cvt function as it is either, but IMO reducing duplication of code like this is good.
Instead, what about a macro? That would remove the requirement for the IsMinusOne trait:
macro_rules! try_sys {
    ($e:expr) => {{
        let res = $e;
        if res == -1 {
            return Err(io::Error::last_os_error());
        } else {
            Ok(res)
        }
    }};
}

What if we remove the return and just return an io::Result from the macro. Then we use the result, e.g.:
try_sys!(libc::kqueue()).map(|kq| Selector { kq })

Sure but then I would avoid “try” in the name as that tends to mean return early on error.

sys_call? Maybe we add libc:: in the macro, so it becomes sys_call!(kqueue()).

syscall! would be fine, but i wouldn't implicitly add libc:: as i think that would make reading it more confusing.


Add Random operator.

Add a symbolic operator for random number generation.
Only two types of random numbers are supported at the moment:

Uniform U(0,1) random numbers.
Normal N(0,1) random numbers.

Example
To use it, you currently need to supply the num_output argument to specify the size of the output.
Here is an example Python code
import mxnet as mx

R = mx.sym.Random(num_output=32, random_type="gaussian")
A = mx.sym.Activation(data=R, act_type="relu")

A_exec = A.bind(ctx=mx.cpu(), args={})
A_exec.forward()
print A_exec.outputs[0].asnumpy()

This PR may not be ready for merging yet, for the following reasons:
I have not found a way to do shape inference automatically because there are no inputs to this operator and the current InferShape interface seems to be purely feedforward.  I would appreciate any comment on how shape inference can be done automatically.
Rationale for Random layer
I would like to use this operator for drawing random parameters of other layers, for example using weights=R, where R is a Random layer.  To make this convenient, in principle, the downstream layers (say, a fully connected layer) know the size of their parameter array and could "backpropagate" the shape information to the output of the Random layer, but this seems not supported by the InferShape interface at the moment.  See also the comment in the current InferShape implementation of the commit.

you can pass in the shape from api interface (like passing in num_filters), check operators/reshape-inl.h for reference. Other than that there are no way of figuring out the shape of a variable without input.

PS: This is useful to implement denoising autoencoder.

@piiswrong Ok, I changed the code to use target_shape instead.
@winstywang Agreed, that is what I plan to use it for; however, I see two principal issues at the moment:

The lack of automatic shape inference makes this operator cumbersome to use (and easy to misuse).  I believe the best way forward is to consider a more general shape inference scheme that specifies dependencies explicitly.  This way an operator can state which information it needs to know in order to complete unspecified shape information.  For example, a simple method would be that the caller of InferShape can tell whether any change to the shapes have been made.  It calls InferShape for all operators repeatedly until no further change happens.  This would allow backpropagation of shape information so that we no longer need the target_shape parameter in the Random operator.
Parameters in MXNet are currently fixed size, independent of the batch size.  When implementing something like stochastic variational Bayes we would need one (random) parameter per instance.  I am currently thinking of the best way to implement this in a generic manner.

Example
An example of how to use the code is
import mxnet as mx

R = mx.sym.Random(target_shape=(int(32),), random_type="gaussian")
A = mx.sym.Activation(data=R, act_type="relu")

A_exec = A.bind(ctx=mx.cpu(), args={})
A_exec.forward()
print A_exec.outputs[0].asnumpy()

Sorry for the redundant commits above, I am still getting used to github PRs.

Hi @nowozin
Could you do a rebase and remove the extra commits

closing due to less active on this thread. This PR can be readily merged in if the redudant commits are combined http://mxnet.readthedocs.org/en/latest/contribute.html#how-to-combine-multiple-commits-into-one

@nowozin Any future progress? Random operator in the C++ side will be useful for accelerating RL algorithms.

This is supported by #2511


Feature: "Smart" datasets

The idea is building on https://github.com/mimiro-io/datahub/issues/204, but adding the possibility to provide extra parameters when fetching data from the dataset's endpoints.
A smart dataset would not store data it self, and therefore needs to be backed by another dataset (of any kind?). As such one could call it a dataset-facade, a virtual dataset, or a dataset projection as well.
The main characteristic of a smart dataset is the ability to attach a transformation script to it. It should probably even be mandatory to provide a transformation script. The script would - like job transformations or ad hoc queries - prescribe an interface function, in which batches of the underlying dataset and the optional request parameter are injected. The script can then implement static rules and request parameter to transform the underlying dataset on the fly.
The proposed feature is also similar to https://github.com/mimiro-io/datahub/issues/196, but not quite as feature rich. The main idea is to provide a way to dynamically filter datasets - based either static transform rules, dynamic request parameters, or both.

suggested script interface:
function transform_entities(entities, requestPayload) {
    return entities;
}

Given javascript's dynamic function parameter handling, this signature makes smart datasets compatible with job transform scrips, which have the signature function transform_entities(entities) { return entities; }.
The optional requestPayload does not have a predefined type/shape, it should be up to each specific smart dataset to establish a specific interface. Technically, the only requirement would be that requestPayload should be (de)serializable to a javascript-readable object across the given http->golang->goja-runtime boundaries in datahub.
requestPayload is optionally provided by users as body to GET requests for the given smart dataset.
A smart dataset only applies the transform script in GET requests. POSTing to a smart dataset should be rejected, possibly with an error message indicating what the underlying dataset is so that users can POST to that endpoint instead. A reason to reject POSTS is that reading from and writing to a dataset must be symmetrical: a batch that is fetched and reposted to the same dataset should be a no-op. Since the transform in smart datasets can produce vastly different outputs, this symmetry is not given.

It can also be a good idea to look at https://github.com/mimiro-io/datahub/issues/201 together with this, because storing transform scripts with a dataset is related to storing it "correctly".

@rompetroll in the function signature what do the 'entities' relate to? and should there be some config in addition to the actual transform that could get passed in. I am thinking that the transform could pull from a named dataset but rather than that be hardcoded in the transform that it could be a runtime parameter. There could be other config that the transform needs.

That is a good point, instead of being a facade in front of a specified dataset (which provides the 'entities' in the signature), this could be entirely virtual dataset, with the ability to query into one or many physical datasets as required. In that case the requirement would only be that it produces a valid UDA batch, so the signature could be.
function build_entities(requestPayload) {
    const entities = [];
    return entities;
}

One difficulty here would be support for UDA batches with continuation tokens. If we restrict the feature to be driven by one specified underlying dataset, then it is possible to just re-use the continuation tokens of the underlying dataset.
For a completely synthetic dataset, the javascript API probably would need to provide a way to work out continuation tokens in the transform code, and possibly som internal APIs to support that. e.g. a GetEntityVersionsSince(timestamp)


Using JFoenix

Hi! I'm new using java (with netbeans) and I've done everything this tutorial says (except for the gradle thing). I've include jfoenix.jar to my JavaFX Application, but now I don't know how to start using all this beautiful components. Can someone help me please? thank you!

I recommand that you learn how to make JavaFX applications, everything will be clear then.
There are basically two main way to make GUI. Either you use pure java code for both your component definition and your applicaiton logic, or you can use fxml for the first and java for the second.
I recommand the second way with the WYSIWYG tool "Scene Builder". You should then download Scene Builder and add JFoenix to it like the following picture:

You can then add JFoenix components from Scene Builder.
So basically I recommand that you learn how to build JavaFX applications and then it will be very easy to understand how to use JFoenix.

Hi! Thanks for yout quick answer! I figure out (with all demos included) how to add an specific component to my UI by code. Now, I'll try to lear more of javaFX. Thanks for your advice!

Please i have imported the jar file and i uses these beautiful components but i have a problem the JFXDatePicker can't be draged with me , anyone can help me ?
Thank .


Add documentation of rgbds to man pages and cleanup code

Copied from the old html documentation and fixed where it was needed.
Work in progress.
Fixes https://github.com/rednex/rgbds/issues/4

There are a lot of things that can be improved, but at least it is complete now.

This is still not perfect, but it's good enough for now. It can always be improved.


add boot_service function for init.d

boot() {
		procd_open_instance "waitnet"
		procd_set_param command "/usr/share/AdGuardHome/waitnet.sh"
		procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-1} ${respawn_retry:-1}
		procd_close_instance
}

if i write like this ,init won`t start it
so we need to add a function in rc.common for procd which will call boot_service
boot() {
		rc_procd boot_service "$@"
		if eval "type service_started" 2>/dev/null >/dev/null; then
			service_started
		fi
}

Procd is not maintained in this repository. I am not sure what you want to achieve with the script above but it seems to me like you want to block init? Maybe consider using hotplug scripts instead - they're better suited to react on network events without having to block the init process.

in order not to block init,i use procd_open_instance.if i put the sh in the boot function ,it will block the init for sure


Some recipes I am purchasing arent installing correctly into the library

I have bought a couple clothing packs (that are not that old) and they will have issues and errors when trying to use them, even after adding the recipes to the global library.
Is there an easy way to update recipes to whatever the latest standard is for UMA?

Unity Version: 2019.4.18f1
UMA Version: 2.11.5
Rendering Pipeline: Built in

The most common reason for this is Unity losing references during the package import.  If that's not the problem, you can make sure that everything in the recipe is in the library, by running the "Rebuild from project" option in the File Menu of the Global LIbrary.

Okay I will try that thank you!


Data Type Transformation

In my Database there is a field saved as tinyint(1) where 1 and 0 stand for true and false.
When using Medoo
'prices' => [
    'courtage[Bool]'
]

does not turn a 0 to FALSE and a 1 to TRUE.
Is there a way to achieve this or am i missing something?

I tried now something like this, but no luck so far:
'courtage' => Medoo::raw('IF(<courtage>, "TRUE", "FALSE")')

Could you like to info me that what's database and version you are using?
And the full code for this Medoo function call, data output.

Server: <IP_ADDRESS> via TCP/IP
Server-Typ: MariaDB
Server-Version: 10.1.19-MariaDB - mariadb.org binary distribution
Protokoll-Version: 10

public function getObjectById($id) {

    $data = $this->db->select('objects',
       [
        "[>]prices" => ["id" => "oid"],
       ],
       [
       'courtage' => Medoo::raw('IF(<courtage>, "TRUE", "FALSE")')
       ],
        ['id' => $id, "LIMIT" => 1]
    );

    if (empty($data)) {
        throw new \Exception('No object found', 400);
    }
    return $data[0];
}

What's was the var_dump() output about this code?
$data = $this->db->select('objects', [
	'courtage [Bool]'
], [
	'id' => $id
]);

var_dump($data);


Remove env vars

Coverage remained the same at 100.0% when pulling 68dd77c1b8fddee484e06674f82ac0a8c80079c3 on remove-env-vars into 0ece7ce4e69328d3806511dae7c217a4ee76088c on master.


Update gke-operator to latest release

Updated go.sum now that RC6 is actually tagged

Had to fix pkg/apis/go.mod too


Purpose of bot_user_id in Authorization docs

Description
I've searched and haven't been able to find any clarifying information on the purpose or reason for the botUserId being stored with authorizations in the authorization section of the documentation.

Is it just there to help the example? I'm currently building out an integration and questioning whether or not I should store bot_user_id on the install model. From my understanding the bot_user_id is needed for the users.info endpoint in order to obtain the bot_id which allows the app to ignore messages from itself.
Is it ok to disregard the bot_user_id after this use case? Would i ever need the bot_user_id in the future at some point? The latter question may be more of an application specific question, so i guess at the very least I'm questioning why the botUserId was being saved in the example documentation for multiple authorizations.
https://slack.dev/bolt/concepts#authorization
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[ ] enhancement (feature request)
[ x ] question
[ ] documentation related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[ x ] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[ x ] I've read and agree to the Code of Conduct.
[ x ] I've searched for any related issues and avoided creating a duplicate issue.

bot_user_id is used in a built-in middleware ignoreSelf which allows ignoring many of the events generated by the app's bot user. https://github.com/slackapi/bolt/blob/%40slack/bolt%401.4.1/src/middleware/builtin.ts#L276

@seratch so if im understanding correctly, bot_user_id is used to aid the ignoreSelf method, but is not required? if bot_id is missing, an error is thrown here https://github.com/slackapi/bolt/blob/%40slack/bolt%401.4.1/src/middleware/builtin.ts#L243
but for bot_user_id it doesn't seem to be a requirement? https://github.com/slackapi/bolt/blob/%40slack/bolt%401.4.1/src/middleware/builtin.ts#L252
doesn't look like an error is thrown if bot_user_id is missing

You're right. bot_user_id is not required for the middleware at the moment.

@seratch thanks for clearing that up


GDScript: Out of order member resolution

Implements out of order member resolution
-- this was allowed in some specific places, but this PR pulls it out into its own function to make the behavior consistent
-- and allow more complex ordering
class members are now resolved just before they are needed
-- This means class members will always have resolved types before used, else an error is pushed
same goes for members of external classes
-- This fixes alot of dependency errors.
also fixes a few minor bugs:
-- singleton datatypes now get properly resolved in extends
-- Object and Variant no longer allow array syntax (Variant[int] doesn't parse)
-- pushes an error if a native enum doesn't exist when resolving a type
those were all just missing a line or 2
fixes #68069
fixes #69479
fixes #67085
fixes #69763
fixes https://github.com/godotengine/godot/issues/68017
may fix #44375 (didn't read the all the comments, but it addresses the problem in the most recent ones)

Does this address https://github.com/godotengine/godot/issues/61159?

@MewPurPur i can checkin a bit, but my instinct is no

@anvilfolk and @adamscott thank you for reviewing!

Technically this could be expanded to allow the analyzer to resolve individual members of other scripts, allowing member dependencies both ways between script interfaces, but i'm not sure anyone has a use for that 🙂

Technically this could be expanded to allow the analyzer to resolve individual members of other scripts, allowing member dependencies both ways between script interfaces, but i'm not sure anyone has a use for that 🙂

Wouldn't this actually be really neat now that cyclic dependencies are possible? Could probably come up with a small interesting case like:
# A.gd

var a := B.b_func()

static func a_func() -> int:
  return 42

# B.gd

static func b_func() -> int:
  return A.a_func()

Something like that?

@anvilfolk exactly! i do kinda wanna see how difficult it is, so i'll put it on my todo list 😄
who knows, maybe its dead simple

i added braces inside resolve_class_member() to make the diff much more readable

@MewPurPur no, this doesn't fix https://github.com/godotengine/godot/issues/61159, but i found the bug.
https://github.com/godotengine/godot/pull/69518 fixes that

I cannot NOT underline the great teamwork between you both, @rune-scape and @anvilfolk. <3

Technically this could be expanded to allow the analyzer to resolve individual members of other scripts, allowing member dependencies both ways between script interfaces, but i'm not sure anyone has a use for that slightly_smiling_face

Wouldn't this actually be really neat now that cyclic dependencies are possible? Could probably come up with a small interesting case like:
# A.gd

var a := B.b_func()

static func a_func() -> int:
  return 42

# B.gd

static func b_func() -> int:
  return A.a_func()

Something like that?

Here's what I added in the GDScript tests with #67714:
https://github.com/godotengine/godot/blob/5704055d30499cc63672d44001760a98abfbfc08/modules/gdscript/tests/scripts/analyzer/features/preload_cyclic_reference.gd#L1-L4
https://github.com/godotengine/godot/blob/6f1d4fd8871155efcb29d115a7168879948e1cf3/modules/gdscript/tests/scripts/analyzer/features/preload_cyclic_reference_a.notest.gd#L1-L12
https://github.com/godotengine/godot/blob/6f1d4fd8871155efcb29d115a7168879948e1cf3/modules/gdscript/tests/scripts/analyzer/features/preload_cyclic_reference_b.notest.gd#L1-L10

oh, thats right, the status is set to resolved Before it gets resolved, so that does already work, huh
looks like it was dead simple!

On that note, I think it'd be really neat to add a unit test showcasing something that wasn't possible before but is now possible, so that out-of-order member resolution is never lost from this point forward :)
All in all, I think this is an excellent PR! Really appreciate @rune-scape and their patience in letting me pick at their code and generally being an annoying little .... :)
After being stuck in line-by-line code, I just want to double check that I understand the big picture:
Instead of resolving functions first, then class members, and having a specific order in which things are allowed to depend on one another, this PR basically does "on demand" resolution. If a function, variable, subclass, whatever, called member depends on something else, you immediately attempt to resolve it.
If, while resolving one of those dependencies you find that one of the things you are attempting to resolve is RESOLVING, i.e., in the process of being resolved as well, then you have cyclic types and are unable to resolve from then on and you throw an error.
However, if you managed to resolve this big long line of type dependency all the way to the end (probably at builtin/native types or GDScript classes with no further dependencies?), then everything along that line has been resolved. You're likely to eventually try to re-resolve some of those (e.g. the for loop for members in resolving class interfaces/body) but every resolve function has a check on whether something's already been resolved, and you can skip doing that work again. No harm no foul.
Ultimately, it passes every unit test and fixes a couple of issues. The code looks lovely, needing only a couple teeny tiny optional tweaks. With the addition of a unit test showcasing GDScript's new capabilities, I'd say merge merge merge :)
This was a lovely opportunity to learn more GDScript internals - thanks @rune-scape <3

Congrats for your PR, @rune-scape!
I second the idea to create unit tests though! A great way to make sure we don't mess up your work in the future. 🙃

@anvilfolk Yes! Exactly!
i am working on unit tests, and also now that @adamscott pointed out that dependencies between members in scripts can already exist, im working on resolving individual members of other scripts, for better error messages

letting me pick at their code and generally being an annoying little .... :)
thank you for picking at my code! it's better now :)

@rune-scape Don't forget to rebase your branch, just to be sure to test your code with the latest merges.

I ran @KoBeWi's huge project as a test for your PR. Here's an error that I got.

Seems that it doesn't like casting of nodes.

I really do think that there ought to be a big project that peeps working on GDScript should test against. I don't know whether @KoBeWi's project is public, but I know @unfa works liblast, which is open-source, so maybe that's the way to go?

I ran @KoBeWi's huge project as a test for your PR. Here's an error that I got.

Seems that it doesn't like casting of nodes.

Here's the MRP:
69471_oomr_infer.zip

@anvilfolk Sure, we can use Liblast too to test!

@adamscott
thanks for that info, i'm about to push a fix for that

Wanna test? Be my guest!
Here's instructions for cloning the Liblast repo (some people have trouble because they forget about LFS):
https://codeberg.org/Liblast/Liblast#_how_to_edit_the_game

@rune-scape It fixed KoBeWi's project! Runs flawlessly, from what I could tell. Thanks!

there's currently not too many crazy things this PR allows, mostly because there's still so many limitations on resolution order (mostly between scripts), but i'm looking at the changes needed to lift most of them and make dependencies between scripts do what you expect (or at least what i expect)

@rune-scape got another test for you that's giving me trouble.
class_name OuterClass

class InnerClass:
	enum MyEnum { V0, V2, V1 }

func outer_inner_class(e : InnerClass.MyEnum) -> void:
	print(e)

Does this work in this PR?

@anvilfolk yes, that resolves fine in this branch

Needs rebase.

i added a single tiny test, but https://github.com/godotengine/godot/pull/69907 is needed to test dependencies between scripts, and a couple more type resolution bugs are also making my life hard 😢
i also took the opportunity to improve my code :)

Looks like the PR you mentioned is in! :) I take it merging should wait until the bugs are ironed out?

that was fast!, yes, i want to make some more complex tests now before this gets merged

ok, it took a while to figure out, but tests are added and they helped me find a few bugs! it's finally done

Nice! Look forward to seeing this merged so I can fix conflicts with the enum PR! :)

Thanks!

I think this PR broke something in Autoloads.
on ec4de82ab:
MRP works
on 6debf86d5:
I get Parser Error: Cannot find member "audio_player" in base "".
MRP: var_from_autoload_test.zip

@lufog Can you create an issue?

@adamscott, to be honest, I don't even know how to properly formulate it. But I'll try.

@lufog thank you for the project! i think i found the mistake

I don't even know how to properly formulate it.

You can formulate it like "Autoloads broken: cannot find members" and copy/paste what you wrote here in the issue.
It will be easier for @rune-scape to create a PR that links to your issue.

  My biggest issue that I'm having trouble isolating is from an autoload that loads a bunch of resources that creates instances from a named base class.  I get this
Parser Error: Could not resolve class ItemBase
one of the other issues that was easily fixed was a reference from an autoload to another autoload
play3D(null, Game.player.global_position, key, 1.0, parms)
clearly this is lazy but it worked and being a "simple" scripting language I would figure we still want the compiler to be able be ok with stuff like this

@dmaz Please create issues and link them to this PR. Commenting here doesn't really help fixing your issues.

yeah for sure... just haven't been able to isolate class one into an example yet


return non-0 exit status on error(s)

e.g.
$ php tmrr.php e Denpa_Music_Collection_v1.0.torrent

--- Unprocessed files: ---

File: Denpa_Music_Collection_v1.0.torrent
Error type: This is an invalid hybrid or v2 torrent.
v1 torrents do not support displaying file hashes.

$ echo $?

0  # expecting non-0 exit code here

Hello, error status is always displayed in the end, before that, there could be some successful output from valid v2 files.
I'm not sure if it's necessary to send exit code here, but I'm open to suggestions.

i've found this is a very easy fix by adding to this line:
			exit(1); }

(die()  always exit with a 0 status)


IP adaptater Openvino

Hi, I'm a newbie in stable diffusion, but is it possible to add ipadaptater to Fastsdcpu? I found this in openvino's doc: https://docs.openvino.ai/2023.3/notebooks/278-stable-diffusion-ip-adapter-with-output.html. There is also controlnet https://docs.openvino.ai/2023.3/notebooks/235-controlnet-stable-diffusion-with-output.html.
And for fastsdcpu are you using your own code or the code in the doc?

@aalleexxii For FastSD CPU we are using OVStableDiffusionPipeline

Ok thanks


fix: update to eye v10.24.15

fix: update to eye v10.24.15

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

npm package (@latest dist-tag)
GitHub release
v16.28.15

Your semantic-release bot :package::rocket:


TS2304: Cannot find name 'TimerHandler'

First of all, your editor is great.
Now to my problem.
I want to create a little wrapper to use your editor with react.
But now when i try to transpile my project i get the following errors:
node_modules/suneditor/src/lib/util.d.ts(440,44): error TS2304: Cannot find name 'TimerHandler'.
node_modules/suneditor/src/lib/util.d.ts(453,43): error TS2304: Cannot find name 'TimerHandler'.
node_modules/suneditor/src/lib/util.d.ts(597,52): error TS2304: Cannot find name 'TimerHandler'.

I'm using:

React 15.4.2 (i know old shit but for my projekt i need to use this version)
TypeScript 2.4.2
NodeJS 8.17.0

Is TimerHandler something global or only is this type definition missing?

I added "skipLibCheck: true" to my tsconfig.json file.

The 2.39.0 version has been updated.
If this issue has not been resolved, please reopen this issue.
Thank you.


More options for get_post_parameters

This PR adds more options for context.get_post_parameters. The user can get the point estimator from the posterior, by setting which to 'mpe' (max-posterior estimation), 'median' (marginalized medians), 'random' (random sample from walker).
This solves #186

pre-commit fails due to this https://github.com/PyCQA/docformatter/issues/293


Trainer add args doesn't add default root dir

🐛 Bug

When using parser = Trainer.add_argparse_args(parser), it's supposed to put all Trainer's arguments in the argparse with default values. Though currently it doesn't add default_root_dir and you get the error:

'Namespace' object has no attribute 'default_root_dir'

It does add default_save_path which is deprecated.
To Reproduce
Code Sample
import argparse
from pytorch_lightning import Trainer

parser = argparse.ArgumentParser(description='demo')
parser = Trainer.add_argparse_args(parser)
args = parser.parse_args()

print(args.default_root_dir)

A similar unit test could also be made, if not there already.
Environment
* CUDA:
        - GPU:
                - GeForce RTX 2080 Ti
                - GeForce RTX 2080 Ti
                - GeForce RTX 2080 Ti
                - GeForce RTX 2080 Ti
                - GeForce RTX 2080 Ti
                - GeForce RTX 2080 Ti
                - GeForce RTX 2080 Ti
                - GeForce RTX 2080 Ti
        - available:         True
        - version:           10.1
* Packages:
        - numpy:             1.18.1
        - pyTorch_debug:     False
        - pyTorch_version:   1.4.0
        - pytorch-lightning: 0.7.3
        - tensorboard:       2.2.0
        - tqdm:              4.45.0
* System:
        - OS:                Linux
        - architecture:
                - 64bit
                -
        - processor:         x86_64
        - python:            3.6.7
        - version:           #75-Ubuntu SMP Tue Oct 1 05:24:09 UTC 2019

Did you tried to update to 0.7.5. Maybe it is already solved.

Hi @olineumann, yes updating did resolve this. However, the profiler arg is now broken. The same demo code above with profiler gives the same error 'Namespace' object has no attribute 'profiler'.

What do you mean 'with profiler'? Do you mean Trainer(..., profiler=True)? But you don't initialize a Trainer.
Running your code or this below won't crash with any error on my machine.
import argparse
from pytorch_lightning import Trainer

parser = argparse.ArgumentParser(description='demo')
trainer = Trainer(profiler=True)
parser = trainer.add_argparse_args(parser)
args = parser.parse_args()

print(args.default_root_dir)

add_argparse_args  is supposed to add the args from trainer to parser. But it doesn't do that for a few args. In this case profiler, previously the issue was for default_root_dir.
Try the following code by running:
python demo.py --profiler True or  other possibly accepted way python demo.py --profiler  with the following code:
import argparse
from pytorch_lightning import Trainer

trainer = Trainer()
parser = argparse.ArgumentParser(description='demo')
parser = trainer.add_argparse_args(parser)
args = parser.parse_args()

print(args.profiler)

Any update?

I just created a PR. After looking at the code I found out that add_argparse_args is checking the argument types and is only adding attributes of type str, float, int or bool. The profiler attribute could be of type bool so it should be a bug.
I saw that get_init_arguments_and_types() is returning profiler as argument but only of type BaseProfiler. After updating typing annotation of profiler argument it worked. Should be available in the next version.
See PR #1794

A similar issue is with the pickling of the profiler when it's a Profile object & the trainer tries to save the hparams.
TypeError: can't pickle Profile objects

Example code:
import argparse
from pytorch_lightning import Trainer
from pytorch_lightning import profiler
from pl_bolts.models.gans import BasicGAN

trainer = Trainer()
parser = argparse.ArgumentParser(description='demo')
parser = trainer.add_argparse_args(parser)
args = parser.parse_args()
model = BasicGAN()

trainer = Trainer.from_argparse_args(
        args, profiler=profiler.AdvancedProfiler())
trainer.fit(model)

Can't reproduce your issue on pl version 0.7.6rc1. On my machine it runs with profiler on and saves checkpoints without crashing. Also this wouldn't belong to the topic of this issue imo. This would be a bug in saving routine.


[ Article Submission ] hahaha

Heading
Hi dizemba
Summary
la
Head Picture URL
la
Body
la
Author Name
la
Date
2024-12-11
Category
Technology
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thank you for submitting your article! 🎉
We appreciate your effort and will review it within 7 days. Meanwhile, please ensure the following:

[ ] Your submission aligns with our goals and mission.
[ ] It does not market you or your company.

Our team will get back to you once the review is complete. Feel free to reach out if you have any questions or updates. 🚀


Create a basic form to get websites to block and timings

The main page (as of now), can have a form through which the user can enter the URLs of websites which they want to block and also the timings at which they want to block it.

How about we ask in terminal itself?? @MadhavBahlMD


(ssh, agent): Fix login issue when password is not provided

some fix of the bug from issue [#4035]

Add support for empty pass logins on FreeBSD devices and the web interface

Add breaking change disclosure as per reviewer's recommendation


Fix Deprection typo

The deprecation warning has a typo, causing an exception instead of the deprecation warning to display.

Thanks


Send a message to the user when his jobs are done

By default using the internal message system, but allow the user to configure if they want to receive an email.
It was brought up during the Workshop that it will be useful to avoid "polling" the system.

I guess the set up should be for all jobs and not per-job (at creation), right? Also, should this be an option for all users and we should always have on but can be edited on the "edit user info" page?

You mean in a per-workflow basis? No, the idea was per job. And the idea is to use the internal messaging system, but the user can choose to receive emails rather than use the internal messaging system.

Nop. I was thinking that the user will select if they want to receive an email during job creation. Basically that the option is per workflow vs. a general user setting.

@adswafford , @josenavas, what do you guys think?

Not sure, we can discuss on the call today - I would prefer a general user setting.

After discussing we decided that emails will be per workflow (when you hit "Run") and have the option to notify: owner and shared-with. The email is gonna be sent at error of full workflow end.

This has been addressed and now users can opt in to get messages every time there is a job status change. The option is in the user profile.


Request to make license explicit for p4lang/p4-spec repository files

Someone asked me in a personal message about the license of the files in this repository.  It would make sense if it was intended to be Apache 2 like it is for other p4lang project code/files, but except for this mention in the README, and many of the PSA example programs, I don't see any mention of Apache in the files of this repository:
Only members of the P4.org community may propose changes to the P4 language specification, and all contributed changes will be governed by the Apache-style license specified in the P4.org membership agreement.

In particular the P4_16 spec grammar.mdk file has no mention of license inside of it.  Is it desired to have a separate mention of license in each such source file?  Rely on the top level README mention above?  Perhaps add a separate LICENSE file at the top level and have the README link to it?  Something else?
I'm happy to add an explicit license notice to the grammar.mdk file in a PR, if that seems reasonable, plus any other non-Madoko source-program-like files in this repository, if that is decided as a reasonable change to make.

Often for content one uses Creative Commons licenses rather than Apache.


[YouTube] Could not search videos exceeded getting-started#quota

when I try to search a video I get this error:
Could not search videos
The request cannot be completed because you
have exceeded your quota.
Raycast version: Lasted
Description
Steps To Reproduce

follow these instrutions
Add api ky to extension

Fixed. I was not using a new project specficially for raycast. I created a new project in google cloud and that fixed it


Error: failed to run custom build command for openssl-sys v0.9.72

Steps taken/Steps to reproduce

clone the the repo (error: failed to run custom build command for openssl-sys v0.9.72)
cd to the cloned repo
run cargo build --workspace
build fails with the following error

  Compiling serial_test_derive v0.8.0
   Compiling getset v0.1.2
   Compiling wasm-bindgen-macro-support v0.2.80
   Compiling zeroize_derive v1.3.2
   Compiling prost-build v0.10.4
   Compiling darling_macro v0.14.0
error: failed to run custom build command for `openssl-sys v0.9.72`

Caused by:
  process didn't exit successfully: `/home/user/trunk/pyrsia/target/debug/build/openssl-sys-e8353e4b38e637ff/build-script-main` (exit status: 101)
  --- stdout
  cargo:rustc-cfg=const_fn
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
  OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
  OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_DIR
  OPENSSL_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=OPENSSL_STATIC
  cargo:rerun-if-env-changed=OPENSSL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
  run pkg_config fail: "`\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"` did not exit successfully: exit status: 1\nerror: could not find system library 'openssl' required by the 'openssl-sys' crate\n\n--- stderr\nPackage openssl was not found in the pkg-config search path.\nPerhaps you should add the directory containing `openssl.pc'\nto the PKG_CONFIG_PATH environment variable\nNo package 'openssl' found\n"

  --- stderr
  thread 'main' panicked at '

  Could not find directory of OpenSSL installation, and this `-sys` crate cannot
  proceed without this knowledge. If OpenSSL is installed and this crate had
  trouble finding it,  you can set the `OPENSSL_DIR` environment variable for the
  compilation process.

  Make sure you also have the development packages of openssl installed.
  For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora.

  If you're in a situation where you think the directory *should* be found
  automatically, please open a bug at https://github.com/sfackler/rust-openssl
  and include information about your system as well as this message.

  $HOST = x86_64-unknown-linux-gnu
  $TARGET = x86_64-unknown-linux-gnu
  openssl-sys = 0.9.72

  ', /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.72/build/find_normal.rs:180:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

Expected Behavior
cargo build --workspace shouldn't throw errors
Experienced Instance of the bug
Rust:
rustc 1.61.0 (fe5b13d68 2022-05-18)
cargo 1.61.0 (a028ae4 2022-04-29)
OS:
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.4 LTS
Release:	20.04
Codename:	focal
Pyrsia
main (62b8562f2f8a126a07727abc28b8c9057f3acc7c)

You'll need to install libssl-dev, as mentioned in the error output:

Make sure you also have the development packages of openssl installed.
For example, libssl-dev on Ubuntu or openssl-devel on Fedora.

This is also listed in our local dev setup guide: https://github.com/pyrsia/pyrsia/blob/main/docs/get_involved/local_dev_setup.md#installing-system-dependencies

@tiainen I see another problem, this time related to "cmake" (prost-build), the logs shown below. However, I don't see "cmake" being mentioned in the installing-system-dependencies doc. I'll create a PR and add the mentioned dependencies to the doc (unless I am missing something and it's mentioned somewhere).
error: failed to run custom build command for `prost-build v0.10.4`

Caused by:
  process didn't exit successfully: `/home/user/trunk/pyrsia/target/debug/build/prost-build-131bfc147b2a643b/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-changed=/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/prost-build-0.10.4/third-party/protobuf/cmake
  CMAKE_TOOLCHAIN_FILE_x86_64-unknown-linux-gnu = None
  CMAKE_TOOLCHAIN_FILE_x86_64_unknown_linux_gnu = None
  HOST_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-unknown-linux-gnu = None
  CMAKE_GENERATOR_x86_64_unknown_linux_gnu = None
  HOST_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-unknown-linux-gnu = None
  CMAKE_PREFIX_PATH_x86_64_unknown_linux_gnu = None
  HOST_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-unknown-linux-gnu = None
  CMAKE_x86_64_unknown_linux_gnu = None
  HOST_CMAKE = None
  CMAKE = None
  running: "cmake" "/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/prost-build-0.10.4/third-party/protobuf/cmake" "-Dprotobuf_BUILD_TESTS=OFF" "-DCMAKE_INSTALL_PREFIX=/home/user/trunk/pyrsia/target/debug/build/prost-build-bdc13d87fe4bf023/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_ASM_COMPILER=/usr/bin/cc" "-DCMAKE_BUILD_TYPE=Debug"

  --- stderr
  thread 'main' panicked at '
  failed to execute command: No such file or directory (os error 2)
  is `cmake` not installed?

  build script failed, must exit now', /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.48/src/lib.rs:975:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

@tiainen The PR  #882  contains minor suggestions to update the docs, the goal is to remove obstacles for a new user (based on my experience).

As mentioned by @fishseabowl there is a PR that attempts to remove CMake from "prost", more info here: https://github.com/tokio-rs/prost/issues/646 and here https://github.com/tokio-rs/prost/pull/620 so no sure what we should do, wait until is fixed or just merge this one and wait until the prost library is closed.

The updated docs reflect required dependencies, eventually we might want to remove CMake when "prost" no longer depends on it but for now it stays.


Passing errors down to Widgets

Prerequisites

[x ] I have read the documentation;
[ ] In the case of a bug report, I understand that providing a SSCCE example is tremendously useful to the maintainers.

Description
Is there any reason why the StringField, NumberField, BooleanField etc don't pass the error schema down to the widgets they render?
I have implemented most of the input components with a custom component library which can display errors as part of their functionality. It would be neater to show errors using these controls rather than displaying errors separately using a Field Template. Is there any fundamental reason that the errors aren't passed down to the widgets?

+1 This looks really wired. Is implementing all the input components (which is really not elegant) is the only way to avoid that?

@iplus26 the first part of what you require has been merged in #826 so the fields are receiving raw errors. As I have entirely custom fields this covers my use case, however if you still require the default bootstrap controls to display errors differently you'll need to create a PR.
@glasserc when do you plan to do the next release?

I've tried to cut version 1.0.1, please tell me if that provides what you need.

@glasserc Just tried it out and working as expected. Thanks

@llamamoray yes, the show of the errors is working, but when I get errors from backend and set them to the form through the extraErrors prop as was written in doc after the field was changed, error is still there. Please, tell me how I can fix it, cant find the info about that case


MSFT_xExchReceiveConnector returns always false when using custom permissions

MSFT_xExchReceiveConnector retunrs always false, when you are using custom permissions on the connector. An example would be an anonymous relaying connector:
It will show also the permissiongroup custom, but you can't use custom to set permissions.
A way to fix this would be to remove 'Custom' as a return PermissionGroups. For anonymous relaying we could add a switch('AllowAnonymousRelay'=$true/$false) to add 'NT AUTHORITY\ANONYMOUS LOGON' to this connector.
@mhendric : What do you think?

Hey Ingo,
I agree this is an issue that needs to be fixed. I think we should do something a little more flexible though, in case people want to do custom permissions other than just open relay perms. Possibly something like this:
-Always ignore Custom in PermissionGroups
-Add the following [Hashtable] parameters:
ExtendedRightAllowEntries
ExtendedRightDenyEntries
-For the above, Key == UserName, Value = Right. As in:
ExtendedRightAllowEntries = @{"NT AUTHORITY\ANONYMOUS LOGON"="Ms-Exch-SMTP-Accept-Any-Recipient"}
-To check if the permission(s) exist, look within the following:
(Get-ReceiveConnector NAME | Get-ADPermission | where {$.IsInherited -eq $false -and $.User -eq "USERNAME"}}).ExtendedRight
Looking even further, we may want to eventually add some properties for just standard AccessRights, but I'd say unless someone requests it, don't worry about it for now.

Hi Mike,
this was a good idea to have it more dynamic. I'm done, but currently I'm stuck with the pull request:
https://github.com/PowerShell/xExchange/pull/42
I updated my fork and now I get the error in appveyor. Any experience with this?
Ciao,
Ingo

It looks like there's a conflict between your README.ME change and the one I did in https://github.com/PowerShell/xExchange/pull/41. I'd sync the latest README.ME and then try to add your comments to it again.

Issue resolved in: https://github.com/PowerShell/xExchange/pull/42


Fixed slack logo broken

Signed-off-by: afzal442<EMAIL_ADDRESS>Fixes #29
Slack logo added to its position

@afzal442 thanks, seems it's the old slack logo. @yochannah I think for now we can use that logo?

seems fine for now!
On Tue, Aug 3, 2021 at 10:49 PM Isaac Miti @.***> wrote:

@afzal442 https://github.com/afzal442 thanks, seems it's the old slack
logo. @yochannah https://github.com/yochannah I think for now we can
use that logo?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/codeisscience/journal-policy-tracker-frontend/pull/30#issuecomment-892189463,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACGXRDTLQRMKDPFXP27DSK3T3BQAFANCNFSM5BOKLCTA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

@yochannah I'll go ahead and merge this


Vqe tutorial

replace "runtime" by "Qiskit Runtime"
differentiate Qiskit Runtime Program, and Qiskit Runtime Service
Replace Server by Cloud

These changes are now included in #11 🙂


Apply % threshold instead of hot pixel filter in preprocessing

Hi, I have had issues with the hot-pixel filtering method not removing outlier pixels that are immediately adjacent to each other (since the function replaces the hot pixel intensity with the maximum value in the 8-neighborhood of the pixel).
One alternative would be to replace with the minimum or mean value of the 8-neighborhood, or zero, however it may be advantageous (to other users as well) to have the option of a % upper threshold, where the top X % of pixel intensities are changed to zero. I have tried to implement this in CellProfiler using RobustThreshold in the Threshold module but it does not seem to handle multipage tiffs like SmoothMultichannel does. Any thoughts on this? Sorry if this is not the right place to post.

Hi @a-rayford, I've given this another thought: since we cannot possibly incorporate all possible options for preprocessing IMC data, I won't add this functionality at this point, but stick to the "standard" way of hot pixel filtering as published by Zanotelli et al. The steinbock framework is however flexible enough to allow for custom operations (e.g. the code above) in between, e.g., steinbock preprocess imc images and downstream commands. I will therefore close this issue for now and hope for your understanding; maybe we can revisit this later, once the community has settled on a strategy.
On a side: I'm aware that the steinbock Python API is still largely undocumented. I hope I'll get to this soon, especially for the functions from the steinbock.io module (e.g. the ones used above).


TypeError: pluginmatcher() got an unexpected keyword argument 'name'

PS C:\Windows\System32> streamlink kick.com/video/bc5ad9f9-1f6c-414d-8ff8-f540f3ddcdea best
Traceback (most recent call last):
File "runpy.py", line 196, in _run_module_as_main
File "runpy.py", line 86, in run_code
File "C:\Program Files (x86)\Streamlink\bin\streamlink.exe_main.py", line 18, in
File "C:\Program Files (x86)\Streamlink\pkgs\streamlink_cli\main.py", line 927, in main
setup_streamlink()
File "C:\Program Files (x86)\Streamlink\pkgs\streamlink_cli\main.py", line 751, in setup_streamlink
streamlink = Streamlink({"user-input-requester": ConsoleUserInputRequester(console)})
File "C:\Program Files (x86)\Streamlink\pkgs\streamlink\session.py", line 96, in init
self.load_builtin_plugins()
File "C:\Program Files (x86)\Streamlink\pkgs\streamlink\session.py", line 437, in load_builtin_plugins
self.load_plugins(plugins.path[0])
File "C:\Program Files (x86)\Streamlink\pkgs\streamlink\session.py", line 453, in load_plugins
mod = load_module(module_name, path)
File "C:\Program Files (x86)\Streamlink\pkgs\streamlink\utils\module.py", line 14, in load_module
spec.loader.exec_module(mod)
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "C:\Program Files (x86)\Streamlink\pkgs\streamlink\plugins\kick.py", line 21, in
@pluginmatcher(
TypeError: pluginmatcher() got an unexpected keyword argument 'name'
anyone use this plugin lately?

Are you using the latest streamlink version?

ah, that was the problem, now I have that Captcha error #1  :(

Nice! Unfortunately, as far as I'm aware there's no straight forwarder solution until KICK launches an official dev api :(


Not working with symfony serve webserver

When I use symfony tool as a webserver with serve I get an error after redirect to /recover/install in the console:
PHP Fatal error:  Uncaught Symfony\Component\Dotenv\Exception\PathException: Unable to read the "/var/www/shopware/public/../.env" environment file. in /var/www/shopware/vendor/symfony/dotenv/Dotenv.php:484

Then if i touch .env, i get another one that Doctrine PDO MySQL is wrongly configured.
The options 'driver' or 'driverClass' are mandatory if no PDO instance is given to DriverManager::getConnection().

Please just close if symfony local webserver is just not supported.

Thanks for the report @beberlei. We've never used the symfony webserver internally so it could be broken. But I think it might be a good idea to support it.
We'd love to receive a pull request which fixes this issue. Otherwise we'll take a look into it within the next weeks. :)

Would be a really good idea to support it. It's much faster than docker or vagrant on macOS because it runs directly on the machine without any virtualization.

Got it working with symfony binary. Had the same issue as @beberlei, but my mistake was to try to get an already setup'ed application to run with symfony cli.
What I did:
git clone git@github.com:shopware/development.git
cd development
git clone git@github.com:shopware/platform.git
symfony php bin/setup
As URL to your /public folder I used https://localhost:8000
symfony server:start
The above setup assumes that there is no other symfony server running and we get the first free port 8000.

So it seems not to be broken entirely. For the moment, I'll close this issue. Feel free to create a pull request for supporting it, if anything needs to be changed.


Custom comparison level and comparison

Defines library CustomLevel and CustomComparison.
CustomLevel
Provides a wrapper for supplying a sql_condition. It additionally allows automatic best-effort translation between dialects (powered by sqlglot), so that users don't need to worry so much about writing dialect-dependent SQL.
See test additions for examples of this working in practice.
The way it works currently when we create a (dialected) level,:

sql_condition is parsed by sqlglot, using an optional dialect the user can specify
try to translate to the specified dialect (even if it is the same as the 'initial' form)
if this fails, just return the original sql_condition (which may be wanted if it is e.g. custom stuff, or new features sqlglot doesn't know about)

This does mean that SQL expressions can end up more complicated than that specified by user, so may be worth having some kind of flag to turn this transpilation off? That would also catch potential situations where sqlglot ends up spitting out an invalid expression (as was happening with levenshtein + sqlite initially due to extension-specific stuff, necessitating an alias in our linker)
CustomComparison
A wrapper for supplying a comparison as a list of levels. Any levels which are defined as simple dicts will be coerced t CustomLevels, so that:

we have consistent types, which is useful for things like checking whether levels are null levels (see e.g. #1765)
we automatically get the translation ☝ capabilities of CustomLevel

That happens with a simple **kwargs but should probably be replaced with a proper deserialisation method once we set that up consistently.
Also included:

blocking rules in new tests to speed them up (most of the time now is making spark, where applicable)

Not included:

automatic coercion to CustomComparison, as not clear to me atm when that should happen (but would be useful so that we get the translation even if we define all our comparisons in dict form)

Went a bit back-and-forth in terms of what the best behaviour should be in terms of the automatic translation stuff in CustomLevel - so if anyone has any thoughts / if there are situations I haven't considered please let me know!

Some thoughts on auto-transpilation:

Few users switch dialects, so as a feature it's not terribly important
Sqlglot 'roundtrips' are imperfect, so I think we should avoid 'self-transpiling' (e.g. parse_one(sql_str, dialect=x).sql(dialect=x) does not necessarily output sql_str).  It would be surprisingly to the user to see their SQL changed, and could possibly have efficiency implications.
I think attempting to auto-transpile to other dialects is a good idea on a best-efforts basis.

One thing that seems fiddly here is users
- are likely to provide custom SQL in a specific dialect without setting a base dialect
- are unlikely to provide 'undialected' custom SQL i.e. in sqlglot's base dialect, because what even is that
On that basis, I think we should assume that the custom SQL corresponds to the dialect in use by the linker, unless otherwise specified.
On this topic, there's another place in the 'un-dialected' API we're thinking about adding support for arbitrary sql:
from splink.comparison_level_library import ExactMatchLevel
ExactMatchLevel("lower(first_name)")

When supplying aribtrary expressions in this way, Splink will simply add _l and _r and leave the rest of the expression unchanged:
lower(first_name_l) = lower(first_name_r)
I think we can follow the same pattern here

Consider:

from splink.comparison_level_library import CustomLevel
import sqlglot

sql = "datediff('month', l.date, r.date) = 2"

sqlglot.parse_one(sql, dialect='duckdb').sql(dialect='duckdb')
> OUTPUT1: DATE_DIFF('month', l.date, r.date) = 2
sqlglot.parse_one(sql).sql(dialect='duckdb')
> OUTPUT2: DATE_DIFF('date', l.date, 'month') = 2

CustomLevel(sql, 'lab').get_comparison_level('duckdb').as_dict()
> OUTPUT3: {'sql_condition': "DATE_DIFF('date', l.date, 'month') = 2", 'label_for_charts': 'lab'}
CustomLevel(sql, 'lab', 'duckdb').get_comparison_level('duckdb').as_dict()
> OUTPUT4:  {'sql_condition': "DATE_DIFF('month', l.date, r.date) = 2", 'label_for_charts': 'lab'}

Appreciate this is subective but I think outputs 2 and 4 are least surprising (obey the principle of least surprise) to a user who's doing some linking in duckdb. (i.e. to a user who's just doing some standard, non-cross-backend linking)

Yeah, I see what you mean. Definitely don't like the idea of the unexpected self-transpilation - was just trying to get something that worked without users needing to (necessarily) specify dialects.
But I think you're right - best to only do this when is there is a direct clash of dialects (i.e. mismatch between level-specified dialect and that which we use to create) 👍


GPT doesn't support  sparsity?

When i set SPARSITY_SUPPORT=ON in cmake file, and run multi_gpu_gpt example, and i find that use_sparse_gemm is false in https://github.com/NVIDIA/FasterTransformer/blob/main/src/fastertransformer/layers/attention_layers/DecoderSelfAttentionLayer.cc#L519 , so we don't suppport sparse gemm for gpt , right ? and do we have any plans to support it? is it difficult ?Thanks.

We don't support it and not have plan now.


Speed up infoview

I didn't do a lot of testing so far (and I'm heading for dinner now), but the performance should be much better now.  The flickering of the tooltips has also been fixed.

The CursorMoved never causes a rerender now.  This means that the hover/tooltip highlighting is updated separately from the main render.  The handler only figures out if the hover has changed, and if so, updates the tooltip and hover highlighting.
Floating windows have their own render cycle (i.e., clicks in a floating window only rerender that floating window).  Right now, a click in a floating window causes the infoview and all other floating windows to rerender as well (with a lot of flickering if you're in the fifth nested floating window).

There are two main regressions:

Undo functionality has been removed.  Rish said he doesn't use it, and it adds quite a bit of complexity.
Nested tooltips in Lean 3.  They work, but whenever you open one you land back in the infoview and have to tab through again.

Fixes #181.

I think this is just a matter of structuring the divs correctly. We could just add a div wrapper around the element with the click event as what would have the actual tooltip.

So this would only work if we don't have nested clickable divs. We incidentally already do have this kind of wrapper in Lean 3, and it looks like Lean 3 doesn't make nested clickable divs, so I haven't had this issue there.
Lean 4 looks like it's a different story. We're directly attaching the tooltips to the clickable divs, which is easy enough to fix with a wrapper. BUT it uses nested clickable divs, so even if we used a wrapper the click would happen for the grandparent.
But I'd argue that wanting certain events not to be inherited by tooltips is exception rather than the rule. This was indeed my expected behavior when tooltips were inline. It should be easy to add the ability to mark particular events as not inheritable by tooltips.

It should be easy to add the ability to mark particular events as not inheritable by tooltips.

Or rather, more generally, we could add a new map to divs to indicate whether to block its children from looking for particular events above it. Then we could even use this ability in the normal buffer (e.g. if we want to bring inline tooltips back and continue to support this).

But I'd argue that wanting certain events not to be inherited by tooltips is exception rather than the rule. This was indeed my expected behavior when tooltips were inline. It should be easy to add the ability to mark particular events as not inheritable by tooltips.

It looks like propagating events to the tooltip's parent is more useful than I'd thought.  I've put in your earlier suggestion of adding a wrapper around the tooltips that prevents certain events from being propagated.

Excellent! However I'd still really like to get back to the old abstraction here, where tooltips are just seen as essentially an extension of the main buffer, i.e. they were effectively inline tooltips that just happen to be in a different window. I feel like we've backpedaled and arrived at the same level of complexity that we had before.
The old way of doing things also made it very easy to restore your position on rerender, because updates to the path in the tooltip would also update your path in the root buffer. There are great optimizations in here but I don't think that they needed to come at the cost of any existing features.
Having said that, as long as we can find some way to get Lean 3 nested tooltips to work here, I'm happy to merge and incrementally introduce refactors in separate PRs.

I've now fixed the nested tooltips in Lean 3 with a very simple trick: when we rerender the parent, we don't close and reopen the tooltip.  Instead we just reuse the old tooltip window (if it is at the same path).  This works much smoother than the old approach (no more flickering!).

However I'd still really like to get back to the old abstraction here, where tooltips are just seen as essentially an extension of the main buffer, i.e. they were effectively inline tooltips that just happen to be in a different window.

Can you explain to me why you think this is the way to go?  Maybe I am misunderstanding you, but rerendering the parent when the tooltip changes is exactly what we're trying to avoid at all costs.  The scenario I always have in mind is that I have a few thousand lines of trace messages and I want to look at the implicit arguments of some expression in the trace.  The easiest way to achieve that is just to never access the huge parent at all.

I feel like we've backpedaled and arrived at the same level of complexity that we had before.

The html.lua file is 200 lines shorter now.  I'm not sure if all of that can be attributed to the tooltip handling, but there were a lot of special cases for tooltips.

Is there something I can do to help on this PR? I may have an hour or so tomorrow to look at it.

IMHO we should restore the (five line-long) event handler, merge this PR, and then continue the refactoring in a new PR.

SGTM. After this there would be two more regressions which we need to fix:

When closing nested Lean 3 tooltips with the "x" button, it can drop you into any window.
Lean 3 clear all was removed entirely (what I stubbed in df9f670 only applied to Lean 4).

OK, sounds like there's agreement for now then. I pushed a commit I believe restoring the handler. Heading off for a few hours but if I have some time after class I'll play with the branch just to make sure it seems I haven't broken anything with that commit and then merge.


Euler Methods For Ordinary Differential Equations | Algorithms | Python

Euler Methods For Ordinary Differential Equations
Euler methods for solving ordinary differential equations will be added.
New Script
Please add/delete options that are not relevant.

[x] Adding New Code
[ ] Improving Code
[ ] Improving Documentation
[ ] Bug Fix

Programming Language
Please add/delete options that are not relevant.

[x] Python

Self Check

Ask for issue assignment before making Pull Request.
Add your file in the proper folder
Clean Code and Documentation for better readability
Add Title and Description of the program in the file

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Discord server ✉ - https://discord.gg/FXyh2S3
Happy Coding,

I want to take this on!

@brtymn assigned to you

Hey! I would like to take this issue since it's still open!


Luke admin url - 404 Not Found with Solr 5

Hello,
Does this connector work with Solr 5 ? I get an error when running the mongo-connector command because the Luke request handler (i.e. admin/luke?show=schema&wt=json) cannot be found.
'''
...
declared_fields = self.solr._send_request('get', ADMIN_URL)
File "/usr/local/lib/python2.7/dist-packages/pysolr.py", line 331, in _send_request
raise SolrError(error_message)
mongo_connector.errors.OperationFailed: [Reason: Error 404 Not Found]
'''
Do you know how to install it (or any other document manager) with Solr 5 ?
Thank you for your help,

http://stackoverflow.com/questions/28398644/how-do-i-query-via-url-the-solr-admin-lukerequesthandler-to-get-collection-ind

@fabricecetic Did you get what you needed? Is it ok if I close this issue?

Yes, I finally found a solution writing my own Solr5 document manager where I append the name of the index in the url (in the constructor of the DocManager class):
self.url = url+'/my_index'

Thank you for your help,

I am encountering a similar problem. fabricecetic, would you be willing to explain your solution to me in further detail?


[fix][broker]ManagedLedger metrics fail cause of zero period

Motivation
ManagedLedgerMBeanImpl will execute method refreshStats immediately after it is created, but if refreshStats is executed too fast, will throws IllegalArgumentException.

refreshStats execute immediately
https://github.com/apache/pulsar/blob/fd9489771959f3e722656e4b70d4bd891a13f690/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerFactoryImpl.java#L198-L199

throw IllegalArgumentException if executed too fast
https://github.com/apache/pulsar/blob/1de80e0684ec5c13b6edcd217af62d74d8677f04/pulsar-common/src/main/java/org/apache/pulsar/common/stats/Rate.java#L62-L64

ManagedLedgerMBeanImpl.refreshStats will immediatelly execute after create
Modifications
Skip refreshing stats, just like ManagedLedgerFactoryMBeanImpl.refreshStats
https://github.com/apache/pulsar/blob/1de80e0684ec5c13b6edcd217af62d74d8677f04/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerFactoryMBeanImpl.java#L38-L44
Documentation

[ ] doc-required

[x] doc-not-needed

[ ] doc

[ ] doc-complete

/pulsarbot rerun-failure-checks

/pulsarbot rerun-failure-checks

/pulsarbot rerun-failure-checks


Log stream is not working

Scenario:

set up an ASP.NET Core web application with Azure.AppServciesDiagnostics logging provider
publish to Azure enable application log to file system and enable application log to file system
open log stream

the log doesn't show.
Diagnostics:

through console, if manually create a file under log files folder and add content to it, the content will appear in log stream. that means the azure web site log stream is working.
serilog, the file sink used here, may not successfully trigger the azure log stream.

https://github.com/serilog/serilog-sinks-file/issues/18

@pakrym good to close?


Unable to start a cluster with a custom storage pool

There may be an issue using user-specified storage pools for cluster start.
To reproduce this issue, you must

Verify that ocne cluster start works without any providers.libvirt.storagepool value in the cluster config or defaults.yaml.
Then create a custom directory pool using virsh commands and an xml like the following

<pool type="dir">   <name>my-pool</name>   <target>           <path>/some/path/to/store/volumes</path>   </target> </pool>

Create a cluster config that has the providers.libvirt.storagepool field set to the newly created pool

Run cluster start with the created cluster config

sudo systemctl status libvirtd.service should show an error like the following

Cannot access storage file '/some/path/to/store/volumes/ocne-control-plane-1.qcow2' : Permission denied
The likely issue is that running cluster start with a custom image pool causes ocne to create volumes with incorrect permissions or ownership.

This is likely an SELinux issue.  If this is reproducible with selinux=enforcing, try setting it to permissive and try again.

I was running into issues on a custom pool with selinux=enforcing, when I set selinux=permissive, I was able to spin up the cluster.

When I initially got this to work a couple of days ago with setting selinux=permissive, I was still creating a storage pool under the directory of /var/lib/libvirt. When I tried creating a storage pool under a different directory, I began running into permissions issue. When I edited the directory itself, its parent directories, and the storage pool permissions to allow the qemu user access to this directory, creating a storage pool in a different location worked as expected. This also requires selinux to be still set to permissive.


Simulate tile server throughput with k6 load test

Overview
I looked through the CloudFront request logs for the last few outages using variations of the following Athena query:
WITH logs AS
    (SELECT *,
         parse_datetime( concat( concat( format_datetime(date,
         'yyyy-MM-dd'), '-' ), time ),'yyyy-MM-dd-HH:mm:ss') AS datetime_ts
    FROM prd_cloudfront_logs
    WHERE date = date '2020-09-10')
SELECT time_taken, status, to_iso8601(datetime_ts) as datetime, request_ip, request_protocol || '://' || host_header || uri || '?' || url_decode(query_string) as url
FROM logs
WHERE datetime_ts
    BETWEEN timestamp '2020-09-10 12:24:00'
        AND timestamp '2020-09-10 12:35:00'
        ORDER BY datetime_ts ASC

Here is an excerpt of requests around the time that health checks timed out:

I observed that tile requests were being served in less than half a second, but it took 8 seconds to serve the first tile with a query string attached. It took 24 tile requests for overall request latency to climb to 30 seconds, after which health checks timed out.
After being unsuccessful in trying to replay the exact requests exported from Athena, I attempted to simulate an incident by filtering by contributor 139 and zooming in on a random spot, Rio de Janerio. As soon as I zoomed in, the application stopped responding, and within 30 seconds ECS terminated the tasks due to health check timeouts.
Connects #1084
Testing Instructions
Here is an example of the load test being ran with the same parameters as production (2 ECS tasks w/ 1 vCPU and 3 workers, db.t3.small).
running (01m39.1s), 00/10 VUs, 10 complete and 0 interrupted iterations
default ✓ [======================================] 10 VUs  01m38.9s/10m0s  10/10 shared iters

    ✗ is status 200
     ↳  15% — ✓ 15 / ✗ 80

    checks.....................: 15.78% ✓ 15   ✗ 80
    data_received..............: 331 kB 3.3 kB/s
    data_sent..................: 33 kB  336 B/s
  ✗ failed requests............: 84.21% ✓ 80   ✗ 15
    http_req_blocked...........: avg=3.86ms   min=2.72µs   med=5.44µs   max=57.99ms  p(90)=27.22ms  p(95)=27.95ms
    http_req_connecting........: avg=1.31ms   min=0s       med=0s       max=12.56ms  p(90)=10.62ms  p(95)=11.42ms
    http_req_duration..........: avg=43.95s   min=114.49ms med=59.97s   max=1m0s     p(90)=1m0s     p(95)=1m0s
    http_req_receiving.........: avg=69.82µs  min=0s       med=0s       max=592.2µs  p(90)=166.43µs p(95)=326.99µs
    http_req_sending...........: avg=122.86µs min=43.58µs  med=109.51µs max=390.14µs p(90)=169.59µs p(95)=230.21µs
    http_req_tls_handshaking...: avg=1.91ms   min=0s       med=0s       max=20.26ms  p(90)=14.85ms  p(95)=16.02ms
    http_req_waiting...........: avg=43.95s   min=114.26ms med=59.97s   max=1m0s     p(90)=1m0s     p(95)=1m0s
    http_reqs..................: 95     0.958233/s
    iteration_duration.........: avg=1m27s    min=1m5s     med=1m34s    max=1m38s    p(90)=1m38s    p(95)=1m38s
    iterations.................: 10     0.100867/s
    vus........................: 5      min=5  max=10
    vus_max....................: 10     min=10 max=10

The k6 cloud interface shows that request times steadily increase, as in the Athena logs, until they timeout.

Checklist

[ ] fixup! commits have been squashed
[ ] CI passes after rebase
[ ] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines

Below is a table of results for a few different configuration combinations. Each of the tests attempted to execute 95 consecutive tile service requests via one (1) virtual user with distinct cache keys to help negate the throughput benefits of a CloudFront cache.
Changes to the test configuration applied can be seen in https://github.com/open-apparel-registry/open-apparel-registry/compare/804301b...96ae924.

Option
Instances
Service vCPU
Service RAM (GB)
Database instance type
Gunicorn workers
Failed requests
Requests/sec
p95

1
2
4
8
db.t3.small
9
94
0.65
13.53s

2
4
4
8
db.t3.small
9
1
0.53
20.79s

3
2
4
8
db.t3.medium
9
0
0.72
12.73s

4
4
4
8
db.t3.medium
9
3
0.69
13.28s

5
2
4
8
db.t3.large
9
0
0.76
11.03s

6
4
4
8
db.t3.large
9
0
0.67
14.27s

7
2
4
8
db.t3.xlarge
9
0
1.52
5.86s

8
4
4
8
db.t3.xlarge
9
0
1.38
6.77s

Some general observations:

It appears as though the most constant bottleneck is the database (and the tile service database queries it is attempting to satisfy)
As the expensive queries begin to pile up, database query queuing time increases, which increases the overall latency of web requests
However, not having enough service instances can lead to a high rate of failures, quickly (see Option 1)
Things seem to get progressively better as the database instance type is increased, even if database vCPU count remains the same (see Options 3-8)
Upgrading to a db.t3.large appears to provide the best value in terms of vertically scaling the database; the db.t3.xlarge is approximately twice the cost, but also reduces the p95 by half (see Options 5-8)

Before the modifications introduced in 804301b...96ae924, I was running a set of load tests. Below is a table of results.
Each of the tests attempted to execute 95 consecutive tile requests, batching requests that occurred at the same time in the HAR file, and sleeping between each batch to replicate user interaction (e.g. zoom, wait a second, zoom again). I invalidated the CloudFront cache between each test to remove that from the equation.

Option
Instances
Service vCPU
Service RAM (GB)
Database instance type
Gunicorn workers
Failed requests
Requests/sec
Request duration (p95)

1
2
1
8
db.t3.small
3
80
0.95
1m0s

2
8
1
8
db.t3.small
3
88
1.45
59.98s

3
2
4
8
db.t3.small
9
95
0.87
59.97s

4
2
1
8
db.t3.xlarge
3
15
0.69
44.36s

5
8
1
8
db.t3.xlarge
3
3
1.25
53.33s

6
2
4
8
db.t3.xlarge
9
26
1.17
1m0s

Some general observations:

The strategy of scaling up the number of Gunicorn workers in an ECS task yielded the worst results on each database class (See Options 3 and 6).
As Hector also observed, the database appears to be the most constant bottleneck.
On the smallest database, increasing the ECS task count increases the amount of failures (See Option 2). However, increasing the ECS task count in addition to upgrading to a db.t3.xlarge actually decreases the amount of failures (See Option 5).
I didn't consider testing on instances with the same vCPU count since CloudWatch showed the bottleneck to be entirely CPU Utilization. However, since one of our partners is testing staging today, I can't run additional tests just yet.
It appears that upgrading the database to an instance with more vCPUs is the best way to work around the problem. Doubling the vCPUs with the jump from a db.t3.small to a db.t3.xlarge led to an 82% decrease in failed requests (96% with Option 5). However, going off of on-demand RDS pricing, our database cost would increase 8x. If we tweaked the ECS task count, Fargate cost would increase 4x. It's possible AWS Savings Plan + RI coverage could help mitigate some of the cost.

I think using the simplified version of the test is valuable because it allows the services to run with less failures, which provides a greater chance to extract signal vs. noise. We can always reevaluate those outcomes against the more aggressive version of the test afterwards.
It seems pretty clear that the database is the bottleneck, and that settling on either a db.t3.large or db.t3.xlarge is a recommendation that puts us in a better position to satisfy requests. What's less clear to me is the sweet spot of web request responding units (either more service instances with lower Gunicorn worker counts, or less service instances with higher Gunicorn worker counts). For example, I kept mine constant at 9, but if I had more time, I would have liked to try lower counts. You have more of a mix, but the high failure rate makes it harder to feel confident in coming to strong conclusions.
I think there could be value in doing another round of tests that keeps the cardinality of certain variables low, but tries to identify that sweet spot. For example, only target db.t3.large and db.t3.xlarge database instance types, and only allocate 2 vCPUs per service instance, but test 2-4 combinations of service instances along with 2-4 combinations of Gunicorn worker counts.
Another option could be to just stick with the database instance type increases as the primary recommendation and leave the other variables as-is. We can let that run as an experiment for a sprint to see how the number of outages compares, but also commit to reviewing resource utilization and access logs to see where access patterns came close to causing problems, but didn't.

I ran another set of load tests to see how making the tweaks outlined in #1091 would effect performance.
Options 1-3 use a 1:1 ratio of Gunicorn workers to vCPUs.

Option
Instances
Service vCPU
Service RAM (GB)
Database instance type
Gunicorn workers
Failed requests
Requests/sec
Request duration (p95)

1
2
1
8
db.t3.xlarge
1
87
1.25
59.98s

2
4
1
8
db.t3.xlarge
1
79
0.81
59.98s

3
8
1
8
db.t3.xlarge
1
71
1.23
59.98s

Options 4-6 use a 4:4 ratio of Gunicorn workers to vCPUs.

Option
Instances
Service vCPU
Service RAM (GB)
Database instance type
Gunicorn workers
Failed requests
Requests/sec
Request duration (p95)

4
2
4
8
db.t3.xlarge
4
47
0.93
59.98s

5
4
4
8
db.t3.xlarge
4
25
0.69
1m0s

6
8
4
8
db.t3.xlarge
4
16
0.83
59.98s

These results actually look fairly worse than the initial load tests I ran, where we left the Gunicorn worker formula alone ((2 x vCPUs) + 1 ) and simply horizontally scaled the task instances.
At a high level, vertically scaling the database seems to provide the biggest boost, while horizontally scaling the number of ECS tasks (See Option 5 in the original load test) appears to be the best tweak we can make on the application side.

Did you get a chance to test PostgreSQL 12?

Please try taking another pass with your original load test configuration against staging with https://github.com/open-apparel-registry/open-apparel-registry/pull/1109 applied to see if you can reproduce results similar to these below:
    checks.....................: 100.00% ✓ 95   ✗ 0
    data_received..............: 382 kB  24 kB/s
    data_sent..................: 32 kB   2.0 kB/s
  ✓ failed requests............: 0.00%   ✓ 0    ✗ 95
    http_req_blocked...........: avg=3.2ms    min=100ns    med=300ns    max=76.77ms  p(90)=13.84ms  p(95)=25.51ms
    http_req_connecting........: avg=1.2ms    min=0s       med=0s       max=13.81ms  p(90)=4.96ms   p(95)=11.5ms
    http_req_duration..........: avg=390.17ms min=173.87ms med=342.48ms max=857.44ms p(90)=593.98ms p(95)=649.76ms
    http_req_receiving.........: avg=77.33µs  min=18.1µs   med=44.8µs   max=992.1µs  p(90)=97.62µs  p(95)=261.18µs
    http_req_sending...........: avg=52.99µs  min=15.8µs   med=42.1µs   max=325.7µs  p(90)=73.86µs  p(95)=101.44µs
    http_req_tls_handshaking...: avg=1.68ms   min=0s       med=0s       max=39.11ms  p(90)=7.21ms   p(95)=13.39ms
    http_req_waiting...........: avg=390.04ms min=173.75ms med=342.39ms max=857.32ms p(90)=593.91ms p(95)=649.68ms
    http_reqs..................: 95      6.037107/s
    iteration_duration.........: avg=6.49s    min=1.3s     med=5.03s    max=15.67s   p(90)=11.08s   p(95)=13.38s
    iterations.................: 10      0.635485/s
    vus........................: 1       min=1  max=10
    vus_max....................: 10      min=10 max=10

Please try taking another pass with your original load test configuration against staging with #1109 applied to see if you can reproduce results similar to these below:

Wow!!! Awesome!!! My results looked identical. I loaded up the application in my browser and tried to drive it hard. It's not super responsive, but it works.
Also, I scaled the database back down to a db.t3.small. It works in my browser, and here are the results of a load test:
    checks.....................: 100.00% ✓ 95   ✗ 0
    data_received..............: 381 kB  24 kB/s
    data_sent..................: 32 kB   2.0 kB/s
  ✓ failed requests............: 0.00%   ✓ 0    ✗ 95
    http_req_blocked...........: avg=11.11ms  min=2.86µs   med=5.44µs   max=193.69ms p(90)=72.21ms  p(95)=75.01ms
    http_req_connecting........: avg=3.94ms   min=0s       med=0s       max=35.01ms  p(90)=33.36ms  p(95)=34.17ms
    http_req_duration..........: avg=1.07s    min=229.77ms med=1.04s    max=1.95s    p(90)=1.58s    p(95)=1.71s
    http_req_receiving.........: avg=143.31µs min=44.21µs  med=102.18µs max=1.79ms   p(90)=146.68µs p(95)=371.77µs
    http_req_sending...........: avg=119.64µs min=40.92µs  med=121.45µs max=439.1µs  p(90)=166.57µs p(95)=180.79µs
    http_req_tls_handshaking...: avg=6.49ms   min=0s       med=0s       max=129.38ms p(90)=37.78ms  p(95)=40.37ms
    http_req_waiting...........: avg=1.07s    min=229.48ms med=1.04s    max=1.95s    p(90)=1.58s    p(95)=1.71s
    http_reqs..................: 95      5.907857/s
    iteration_duration.........: avg=7.96s    min=2.98s    med=6.63s    max=15.88s   p(90)=11.86s   p(95)=13.87s
    iterations.................: 10      0.62188/s
    vus........................: 0       min=0  max=10
    vus_max....................: 10      min=10 max=10

I upgraded the database to PostgreSQL 12, still on a db.t3.small, just to see how that would influence the results.
I lost the logs for the first load test, but the iteration duration was around ~30 seconds. I believe the database was just warming up because subsequent load tests were much better.

1
    checks.....................: 100.00% ✓ 95   ✗ 0
    data_received..............: 385 kB  24 kB/s
    data_sent..................: 32 kB   1.9 kB/s
  ✓ failed requests............: 0.00%   ✓ 0    ✗ 95
    http_req_blocked...........: avg=10.39ms  min=2.93µs   med=5.37µs   max=158.78ms p(90)=73.33ms  p(95)=76.29ms
    http_req_connecting........: avg=4.01ms   min=0s       med=0s       max=37.01ms  p(90)=33.64ms  p(95)=34.4ms
    http_req_duration..........: avg=1.3s     min=220.45ms med=1.44s    max=2.36s    p(90)=2.02s    p(95)=2.12s
    http_req_receiving.........: avg=179.6µs  min=57.76µs  med=95.68µs  max=2.32ms   p(90)=290.46µs p(95)=533.19µs
    http_req_sending...........: avg=117.29µs min=40.43µs  med=113.35µs max=292.43µs p(90)=159.77µs p(95)=199.63µs
    http_req_tls_handshaking...: avg=5.35ms   min=0s       med=0s       max=106.75ms p(90)=36.84ms  p(95)=41.46ms
    http_req_waiting...........: avg=1.3s     min=220.3ms  med=1.44s    max=2.36s    p(90)=2.02s    p(95)=2.12s
    http_reqs..................: 95      5.79664/s
    iteration_duration.........: avg=8.44s    min=3.78s    med=7.38s    max=16.2s    p(90)=11.9s    p(95)=14.05s
    iterations.................: 10      0.610173/s
    vus........................: 1       min=1  max=10
    vus_max....................: 10      min=10 max=10

2
    checks.....................: 100.00% ✓ 95   ✗ 0
    data_received..............: 381 kB  24 kB/s
    data_sent..................: 32 kB   2.0 kB/s
  ✓ failed requests............: 0.00%   ✓ 0    ✗ 95
    http_req_blocked...........: avg=3.21ms   min=2.58µs   med=5.09µs   max=98.3ms   p(90)=17.86ms  p(95)=19.08ms
    http_req_connecting........: avg=700.12µs min=0s       med=0s       max=6.84ms   p(90)=4.75ms   p(95)=5.45ms
    http_req_duration..........: avg=1.18s    min=216.27ms med=1.19s    max=2.35s    p(90)=1.88s    p(95)=2.04s
    http_req_receiving.........: avg=125.21µs min=40.5µs   med=97.43µs  max=958.53µs p(90)=147.3µs  p(95)=346.26µs
    http_req_sending...........: avg=114.19µs min=44.83µs  med=110.91µs max=598.49µs p(90)=143.13µs p(95)=189.47µs
    http_req_tls_handshaking...: avg=2.31ms   min=0s       med=0s       max=76.89ms  p(90)=12.34ms  p(95)=13.3ms
    http_req_waiting...........: avg=1.18s    min=216.07ms med=1.19s    max=2.35s    p(90)=1.88s    p(95)=2.04s
    http_reqs..................: 95      6.01092/s
    iteration_duration.........: avg=8.13s    min=2.98s    med=7.1s     max=15.62s   p(90)=11.88s   p(95)=13.75s
    iterations.................: 10      0.632728/s
    vus........................: 1       min=1  max=10
    vus_max....................: 10      min=10 max=10

p95s across the board look to be a bit lower and the application feels more responsive in my browser.