Soliciting donations from the command line

A Twitter user suggests that we ask for donations via CLI like a number of other programs do.

homebrew clearly just needs to print one of those fancy "donate now" logs at the end of every install

@Homebrew/maintainers Is that worth a discussion? Some random thoughts from me:
Thoughts

One message on every install would be way too much.
One message in 1 out of 10 invocations of brew install may be more appropriate.
The message text would e. g. include the Patreon link.
Or, the message could invite users to run brew donate (which would open the Patreon URL.) A subcommand sounds silly but may actually help with conversion; people are curious, and we already know our users are CLI persons.
We’d ideally use stderr for this so we don’t break user-side scripts. (Not that we’d support those but to minimize support requests.)
To opt out, users may set HOMEBREW_NO_NAGGING=1, no matter whether they have donated or not.

Pros

A realistic chance for a steadier flow of donations. (I was quite shocked to learn that many companies take Homebrew for granted.)
When asking for a favour, hitting the right tone of voice can even net more sympathy, not less.
More sympathy → more money.
More money → better security.

Cons

Some users will be upset, no matter how we do it.
Angry users → unproductive support requests.
Not sure if a command-line tool really needs a personality. (For example, I avoid Yeoman precisely because of that.)
I like things predictable. Random nagging messages aren’t.
May break quite a large number of tests.
I’d disable nagging on my own systems in a heartbeat. (Not because I’m a soulless person; I simply hate unnecessary cognitive load.)
No data or experience as to whether nagging actually leads to more donations.

This is very very hard to get right. We need to choose the right amount of nagging, to be quite low (even every 10 installs will be quite a lot for many users). And we would probably need to have a plan with what we want to do with the money: people would be more interested to contribute to specific projects/plans for Homebrew's future.
Even if we can get it right, I am not sure we should do it. I would not be in favour, personally.

I think it might help, even though I'm fully on board with:

I’d disable nagging on my own systems in a heartbeat. (Not because I’m a soulless person; I simply hate unnecessary cognitive load.)

I agree with:

And we would probably need to have a plan with what we want to do with the money: people would be more interested to contribute to specific projects/plans for Homebrew's future.

It is indeed a very difficult thing to do, especially with homebrew mostly installing things people expect to happen anyway, I think I would be in favor of a donation request with a clear goal. (maybe even specifying that this would go towards security?)

I like the idea of a brew donate or other relatively unintrusive messaging. One idea would be an additional comment added to the file opened by brew create -- users are expected to delete the comments we leave before submitting anyways, so that's guaranteed to get at least some attention.
We might also want to look into adding messages to the Discourse instance and main website, since (IME) people tend to view those as less nagging. But that's also potentially out-of-scope for this issue.

I think a fully documented brew donate might not be a bad idea either way. Just making it easier to donate.

Not sure if a command-line tool really needs a personality. (For example, I avoid Yeoman precisely because of that.)

Homebrew already has a bit of a personality, which is potentially either a positive or a negative addition to this factor. The whole brew theme around where kegs are stored being the Cellar and formulae being poured from bottles and so on. It's been toned back a little over the years but the gentle wink towards beer lends itself to more cheekiness, as such, than most package managers.

One message in 1 out of 10 invocations of brew install may be more appropriate.

I think even this is too much. If we go down this route I'd really only like to "nag" users as part of the installation process. We already tell users as part of installation about analytics and how to disable it if desired, so I think that'd be a reasonable place to also stick a message like:

We really appreciate you using Homebrew. If you find Homebrew useful & want to support the project we welcome code contributions or you can set up a small regular donation here: https://www.patreon.com/homebrew. Thank you!

I don't have a firm objection to something like a brew donate command, but I don't think we should be prodding users for money too often. Ultimately I think Homebrew as a project suffers more from being used but not supported by major corporate entities than it does Alexandria, Chloe & Taylor not donating $1 a month each, and major corporate users will generally respond better to a direct approach I suspect.

One message in 1 out of 10 invocations of brew install may be more appropriate.

con: you have to track users
Alternate solution: randomly, in average each N invocations of brew install.

We could add it to brew help, since donating helps Homebrew. 😉

I'd say we output this the same places we output analytics messages i.e. on install and a single time for all current installs when they are on a TTY (storing that we've shown it to them in git config).  Thoughts?

why the funding is useful and why OpenCollective.

It's worth noting that the OpenCollective low-bureacracy model is less useful for us as we're already part of the Software Freedom Conservancy, a 501c3 and the Homebrew project have physical assets.

I agree with @developit that Homebrew installation and brew update are probably the best places to put a message like this.  Putting it in brew install will ultimately hit the users who need to install some helper utility or library dependency, potentially as a one-off thing for some other program.  These aren't necessarily committed users, so showing them a donate link may turn them away in the future.
However, like developit said, users who run brew update are likely returning over and over, and might be more likely to donate.  Perhaps the number of times a user has updated could be recorded somewhere and only after 5 updates is the message shown?
I also think adding a "NO_NAGGING" option is important, because there will inevitably be people who don't like it, no matter how unobtrusive it is.

How about showing it after adding a tap? I'd say it's usually a sign that you're using homebrew more than just casually. And it doesn't happen all that often.

I'd really like that we show it to users literally once and then not again. I really don't think non-trivial numbers of people who are disinclined the first time will consider if future times.
It's worth noting that I've been contacted a few times about making Homebrew websites advertising supported and always shot it down because I don't believe in a detrimental user experience just to make us more money. I think the same principle applies here; there's a difference between telling people who don't know they even can donate and asking people to donate multiple times.

Regarding donations from users versus companies, I remember Patrick McKenzie (@patio11) mentioning selling commercial licenses instead of asking for donations but not changing anything about the project. The logic being that user donations are typically small and one-off, and in some instances companies aren’t even allowed by the tax code to donate money.
I remember he even asked OSS project to sell him a license, because he has the budget from inside the company but if he writes it off as a donation, he’d get in trouble with legal. On the other hand, if he could get nothing more than an invoice saying “commercial license for X”, it’d be approved and he would be able to spend way more than as an individual.

I'm in favour of adding a donation message to https://github.com/Homebrew/install/blob/master/install and when the analytics message is printed the one time, and adding a brew donate command.
@vitorgalvao I agree with Vítor that we should offer a commercial license for Homebrew. I don't have a specific recommendation what the text of that license should be.

The only concern I have with only putting the message in install is that first time users who might otherwise contribute will skip it for the sake of finishing what they were doing or because they are unsure how useful it will be.  If there is a way to measure how much someone uses Homebrew (perhaps by the number of formulae installed?) then the message could be shown once after a threshold is hit.
Maybe I am in a small minority here, but I know that if I downloaded a new piece of freeware that immediately asked for a donation, I would skip it.  I also enjoy contributing to projects I use, but I don't go seeking out ways to spend money.  If it was only shown on install, there's very little chance I would remember to donate later on.

This is how oh-my-zsh does it, and I quite like it:

Of course if you run update each day it may be annoying, but oh-my-zsh is so nice to automatically run the update step for you only a few times per month.

	Tải Outlook for iOS

On Thu, Aug 9, 2018 at 8:55 PM +0700, "Mike McQuaid"<EMAIL_ADDRESS>wrote:
I'd say we output this the same places we output analytics messages i.e. on install and a single time for all current installs when they are on a TTY (storing that we've shown it to them in git config).  Thoughts?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@vitorgalvao said

Regarding donations from users versus companies, I remember Patrick McKenzie (@patio11) mentioning selling commercial licenses instead of asking for donations but not changing anything about the project.

I found some references:

https://twitter.com/patio11/status/428636702530633728
https://twitter.com/patio11/status/658961961678323713
https://twitter.com/patio11/status/685407912559128577

Maybe I am in a small minority here, but I know that if I downloaded a new piece of freeware that immediately asked for a donation, I would skip it.

Same, but if the brew donate command would be at the top of the man page, it'd be a good reminder iyam

Thanks a lot to everyone for your thoughts and ideas, and @developit for chiming in!

Regarding donations from users versus companies, I remember Patrick McKenzie (@patio11) mentioning selling commercial licenses instead of asking for donations but not changing anything about the project. The logic being that user donations are typically small and one-off, and in some instances companies aren’t even allowed by the tax code to donate money.

@vitorgalvao I like this idea a lot! Could such a dual licensing model possibly work with the existing agreement between Homebrew and the Software Freedom Conservancy?
While I don’t know the terms of the agreement, the Conservancy’s agreement template mentions that “any and all software […] will be distributed solely as free software.” That part where it says “solely” makes me feel a bit pessimistic.
@MikeMcQuaid @JCount @mistydemeo @reitermarkus Feel free to correct me if I’m wrong (provided you feel comfortable discussing this publicly).

@claui wrote…

While I don’t know the terms of the agreement, the Conservancy’s agreement template mentions that “any and all software […] will be distributed solely as free software.” That part where it says “solely” makes me feel a bit pessimistic.

Excerpted from https://sfconservancy.org/docs/sponsorship-agreement-template.pdf

B. The purpose of the Project is to produce, distribute, document, and improve software and/or documentation that can be freely copied, modified and redistributed, and for which modified versions can also be redistributed (“Free Software”), and to facilitate and organize its production, improvement and ease of use.
…
b. The Project Will Be Free Software. Conservancy and the Committee agree that any and all software and/or documentation distributed by the Project will be distributed solely as Free Software. Conservancy retains the sole right to determine whether the Project's software and/or documentation constitutes Free Software (as defined herein).

My read is that all software/documentation distributed by the Project must be Free Software, and I'd feel that dual licensing would qualify. It's the Conservancy's call what qualifies as Free Software, so we're best asking them if they're okay with dual licensing. I'd hope that they would be.

Let's not get ahead of ourselves here, folks. As (I'm pretty sure) the only person who has ever spent money on behalf of Homebrew I don't think experimenting with different ways to get additional funds is going to be worth the time and complexity for the benefits it will provide the project. Let's start with something small, incremental and what seems to be universally agreed: a one-time donate message that points to the donation section of our README.

I'm unsure whether soliciting funding via the CLI would be a good idea. Have you considered a funding option via https://tidelift.com/?

Hi @huntc, thanks for chiming in!
It looks like tidelift may be orthogonal to our goals; we're not trying to start a business. The homepage says:

FOR OPEN SOURCE MAINTAINERS
Tidelift gives maintainers and core teams—we call them lifters—a platform and a market for building highly profitable businesses around their projects. Tidelift provides the tools and audience necessary for lifters to get paid for delivering a professional software experience.

(caveat: I only skimmed the homepage)

Locking this thread to avoid this becoming bikeshedding; we have an actionable item now and this doesn't really need discussed beyond that. Thanks all ❤

Cool, thanks!
Closing here.


rename assets for /API_REFERENCE/

Description of the change:
Reason for the change:
Link to original source:

Closes #

Hello @justinwhall,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX


Update README.md

Note potential limitation for Home Assistant (Hass.io)
Add HACS details.

Thank you. Corrected.

is possible add it to hacs?

Yes

well, but where i can found the access token?

When you are setting up the integration, add your language and leave the token blank. On the 2nd step it will give you a link to add to your browser and log in your account, copy the url after logging in (should be a blank page on your browser) and add it as directed.

When you are setting up the integration, add your language and leave the token blank. On the 2nd step it will give you a link to add to your browser and log in your account, copy the url after logging in (should be a blank page on your browser) and add it as directed.

done. i hope will be possible send actions to the washer and maybe have a dryer and fridge in future.
this is my models:
LG   GMJ936NSHV
LG F4J7VY1W
LG RC90U2AV4Q
Washer and dryer you know what can do, fridge can set temperature and receiver alerts (doors)


[Block Request] Water Strainer

There should be a Water Strainer which uses a mesh to pick out stuff like gold nuggets and other stuff that can be found in water from Flowing water blocks instead of having luck of the sea enchantment on Sieves

There is a water strainer mod on 1.12. The 1.14 fork of ex nihilo lets you water log sieves.


Fix assert in tests_run_hooks.yml

In the tests_run_hooks.yml test script, allow the timestamp of run_before and run_after to be equal to the certificate timestamp.

[citest]

I verified the fix works on aarch64

I verified the fix works on aarch64

Thank you, @richm ! I was wondering how I could get standard-test-roles-inventory-qemu... :p
If it's not hard to run a test, could you please try this pr, as well?
https://github.com/linux-system-roles/ha_cluster/pull/106
Failed tests are tests_cib_properties_empty.yml and tests_cib_properties_one_set.yml.


[Data Tables Upload] – upload button not disabled/hidden on submit

When you click the upload button a spinner is presented, however the upload button is still visible:

Expected
The upload button is hidden while the upload is in progress


Add logdriver support

Support already seems to be in the UI (in a limited way). Add the nginx rewriting rule to the nginx config in the container.

:+1: from me, not sure how to test it either other than taking it to QA and testing in my browser.

:+1: since it doesn't impact anything. We still need the UI side of things


Add Plutus example that computes sum [1..n]

The benchmarking team uses this plutus script to test smart contracts with changing running times.

Why is there a plutus-example directory inside a plutus-example directory? Sure one of them is redundant.

Building the Plutus examples is more tricky than it seems.
(Circular dependencies, pinning dependencies to the right versions etc).
That is also why the Plutus examples have their own cabal.project file.
I do not know all the details, I'm just building on existing work by Jordan.

bors r+

bors r+

bors r+


Implemented Audio steganography

Description
Please include a summary of the change and which issue is fixed. List any dependencies that are required for this change.
Fixes #790
Replace issue_no with the issue number which is fixed in this PR
Have you read the Contributing Guidelines on Pull Requests?

[x] Yes

[ ] No

Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md
[x] My documentation follows Template for README.md
[x] My changes generate no new warnings
[x] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works.

@kaustubhgupta AudioSamples and SecretMessage folders are required for the  test script to work. If I remove them then TestCode.py will not work

@kaustubhgupta AudioSamples and SecretMessage folders are required for the test script to work. If I remove them then TestCode.py will not work

Check other changes too!

@kaustubhgupta made the changes you requested. Please review.

Made all the changes you requested. Please review further.


SMT and GEK

Hello Relf,
I am back again, with another related question.
Lest say, the problem dimension is 4, So to use GEKPLS as GEK, i need to assign n_comp=4, as you suggested me earlier.
And so, in this case, I think, i must assign 4 values to the parameter theta0: theta0=[1e-2, 1e-2, 1e-2, 1e-2]
so, the model for GEK will look like:
t = GEKPLS(n_comp=4, theta0=[1e-2, 1e-2, 1e-2, 1e-2], xlimits=fun.xlimits, delta_x=1e-2, extra_points= 1, print_prediction = False)
I hope above adaptation for GEK for 4 dimension is correct? Thanks!
Best regards,
Jay.
Originally posted by @jskgautam in https://github.com/SMTorg/smt/issues/314#issuecomment-844478257

Hi Jay,
You can use what you mentioned above but you should change extra_points = 4 to get a classic indirect GEK.
Another approach is:
1 - Compute the approximation points using First Order Taylor approximation
2- Add those approximations in your sampling points
3- Apply standard kriging
Best,
Mohamed

Thank you Sir,
It helped me a lot!
Best regards,
Jay.


If several tasks call Pool.acquire simultaneously, task hang occurs randomly.

Assume that there are task1, task2, task3 (Let's call that T1, T2, T3. and they use RedisPool) and self.minsize=1, self.maxsize=2 of Pool. (self.freesize = 1, self.size = 1)
While T1 acquired connection, T2 requests a connection to pool. (self.freesize = 0, self.size = 1)
    # Pool.acquire() -> Pool._fill_free()
    @asyncio.coroutine
    def _fill_free(self):
        while self.freesize < self.minsize and self.size < self.maxsize:
            conn = yield from self._create_new_connection()     <------------ (1) T2
            yield from self._pool.put(conn)

While pending T2 at (1), T3 requests a connection to pool and suspends at (1) and T1 release a connection. (self.freesize = 1, self.size = 1)
And then, T2 resume, acquire and release a connection (self.freesize = 2, self.size = 2)
    # Pool.acquire() -> Pool._fill_free()
    @asyncio.coroutine
    def _fill_free(self):
        while self.freesize < self.minsize and self.size < self.maxsize:
            conn = yield from self._create_new_connection()     <------------ (1) T3
            yield from self._pool.put(conn)

If T3 resumes, T3 tries to put a new connection to pool. However, T3 hangs until some task acquire connection, because it exceeds Maxsize of Pool.

fixed

awesome!


Add repository license

I can't see a license for the repository. Presumably an oversight. :)

Thanks!


Update EMA before period end

This is a feature request, most of the issue requirements are not relevant it looks like.
Okay so I understand that for trend_ema the stats used to determine buy/sell only update and trigger an order during the beginning/end of a period. This means that regardless of what is set for poll_trades, no order will be triggered until the end of the period.
I personally find that for trend_ema, the period needs to be set to be much higher than 2m in order for the algorithm to be profitable, attempting to analyze trends with short periods will end up with a lot of false flags and unprofitable orders. However I think it would be very helpful if when trades are polled it updated the ema value for the latest period so that if a large fall/climb is happening that could trigger an order before the long period is over.
I can probably write this code and do a pull request but would appreciate if someone can point me to the right direction to make this change, thanks.

Could you try just reducing the period length and increasing the number of periods used for the ema?

Hmmm doesn't seem to work quite as well, maybe giving it time between EMA comparisons is necessary for it to make smarter decisions, if that's the case my feature suggestion is not a good one. If anyone has any other thoughts on this I'd love to hear it.
What it seems to me is that if it checks for orders too often there will be too many false flags and it'll buy high sell low too often. If it checks for orders too infrequently then it will be too slow on execution. There's some happy medium where you don't do too many orders, do them generally soon enough to capture profit on big swings, and only do a few false flag orders when the price is sideways.

i think you mean an indicator thats moving faster on changes because of this dynamic adjustments like WMA or HULL (based on WMA) #1426.
maybe i will provide some strategy about this, iam also interested how this is performs here

No, you can't write this code as you think/ suggest. You're asking for something to happen in the future/ now before the interval has ended., This is all fine and dandy but not feasible due to the nature of time and up to the minute in the interval calculations.
I was as the same page as your for decades ago; clear your mind and you will find peace.


Allow users to self-report on their progress toward their Priorities (aka Behaviors)

This is the activty that should be launched from the priority/on-track notifications (trello card).
This is still WIP, but I'm sending a PR that contains the following:

ability to report on all priorities that you've selected
reported values get saved back to the API
ability to launch this from a Drawer menu item (launching from a notification is not working yet)

I'm merging this now because I want to be able to demo this from master, but I'd still like some feedback on this work @kevinzetterstrom. Namely: does the interaction among the BehaviorProgressActivity, BehaviorProgressFragment, and the BehaviorProgressTask seem to make sense.


feat: Add web support

Add passkey web support for full cross-platform compatibility.

@f-23
I will be happy to contribute and implement the web support for passkey-based authentication.


generalize label_seqs input type

This should be FeatureData[Sequence|AlignedSequence], pending a framework bug fix. @ebolyen or @Oddant1, it doesn't look like there is an issue yet for that framework bug. Can you add a link to it here when there is one?

framework has been fixed in https://github.com/qiime2/qiime2/pull/547


Fix hrp clustering

Ok if you correct for the split, does our algo results match Marcos
elsewhere?
On Fri, May 8, 2020, 4:48 AM peterwhiteenjine<EMAIL_ADDRESS>wrote:

@peterwhiteenjine commented on this pull request.
In mcos/optimizer.py
https://github.com/enjine-com/mcos/pull/44#discussion_r422098977:

     if len(sorted_indices) == 0:

         raise ValueError('sorted_indices is empty')

     if len(sorted_indices) == 1:
         return np.array([1.])

   split_indices = np.array_split(np.array(sorted_indices), 2)

   weights = pd.Series(1, index=sorted_indices)

   clusters = [sorted_indices]

   while len(clusters) > 0:

If there are an odd number of securities, array_split favors the left
branch, whereas this code favors the right. So splitting [1,2,3,4,5] with
array_split gives [1,2,3],[4,5] where this code gives [1,2],[3,4,5]. Sorry
if I missed something that compensates for that, I just wanted to make sure
we were following the paper since that split has a big effect on the
weights.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/enjine-com/mcos/pull/44#discussion_r422098977, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXTIXNN363JGACYMEB7CDDRQPWRVANCNFSM4M3OZ5CA
.

Yes, the results match other than the split. I've put back some of your old code and kept the new split as well as sorting at the end. Our results match those from Marcos' code.

Then it's not really a bug. Please close the PR
On Sun, May 10, 2020, 11:13 AM peterwhiteenjine<EMAIL_ADDRESS>wrote:

Yes, the results match other than the split. I've put back some of your
old code and kept the new split as well as sorting at the end. Our results
match those from Marcos' code.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/enjine-com/mcos/pull/44#issuecomment-626367282, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXTIXKFQQWTNNEZIEG6TZ3RQ3VFTANCNFSM4M3OZ5CA
.

Ok. Will do.
Just to make sure all is clear: our code as is produces different weights than Marcos' code because of the different splits. If I change the splitting to match Marcos', we get the same results as his code.


A new option for short names -- could potentially be useful generally

This adds support for short names in monomorphized instances. For code that relies heavily on those (such as the code produced by the Eurydice frontend), this replaces a deterministic, pretty-printed name, such as libcrux_ml_kem_ind_cca_generate_keypair_unpacked__libcrux_ml_kem_vector_neon_vector_type_SIMD128Vector_libcrux_ml_kem_hash_functions_neon_Simd128Hash_3size_t_1152size_t_2400size_t_1184size_t_1152size_t_2size_t_128size_t, by the name of the generic function, followed by a hashcode of the instantiation function's type- and expression-level arguments, and produces this instead:
/**
A monomorphic instance of libcrux_ml_kem.ind_cca.generate_keypair_unpacked with
types libcrux_ml_kem_vector_neon_vector_type_SIMD128Vector,
libcrux_ml_kem_hash_functions_neon_Simd128Hash and with const generics:
- K = 2
- CPA_PRIVATE_KEY_SIZE = 768
- PRIVATE_KEY_SIZE = 1632
- PUBLIC_KEY_SIZE = 800
- BYTES_PER_RING_ELEMENT = 768
- ETA1 = 3
- ETA1_RANDOMNESS_SIZE = 192
*/
libcrux_ml_kem_ind_cca_unpacked_MlKemKeyPairUnpacked__libcrux_ml_kem_vector_neon_vector_type_SIMD128Vector__2size_t
libcrux_ml_kem_ind_cca_generate_keypair_unpacked_32

There could probably be similar improvements for type names.

This PR now does the same for type names, provided the short names option is activated. There's also a bonus feature in which tuples of a repeated single type t get pretty-printed as t_xN where N is the size of the tuple.

(Got an everest green locally, which is not surprising since this is off by default)


fix(themes): Add tslib and @clerk/types as dependencies to @clerk/themes

Description
There is an issue with Yarn PNP requiring a package extension to safely resolve @clerk/themes. This patch resolves this issue.
Checklist

[x] npm test runs as expected.
[x] npm run build runs as expected.
[ ] (If applicable) JSDoc comments have been added or updated for any package exports
[ ] (If applicable) Documentation has been updated

Type of change

[x] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[ ] @clerk/backend
[ ] @clerk/chrome-extension
[ ] @clerk/clerk-js
[ ] @clerk/clerk-expo
[ ] @clerk/fastify
[ ] gatsby-plugin-clerk
[ ] @clerk/localizations
[ ] @clerk/nextjs
[ ] @clerk/clerk-react
[ ] @clerk/remix
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[x] @clerk/themes
[ ] @clerk/types
[ ] build/tooling/chore

This would solve build issues that we are having in our nextjs application. Build sometimes passes and sometimes fails, completely randomly.
Installing tslib as a separate dependency in the same application does not solve the issue. Also, there is no way to tell our package manager (pnpm) that this package requires this library, because it's not specified in peerDependencies. If it was the other way, we could at least try to hack this using auto-install-peers option. Either way, it seems like it's not a simple problem to solve and needs to be addressed by the clerk team.
Any ETA on when this can be reviewed?

This makes sense to me, @macalinao thanks for your contribution :)


Including the contents of the open buffers in the context when $buffers is in the prompt

This allows you to specify $buffers in the chat prompt. This will load the contents of each open buffer in the context of the prompt.

sorry for the arbitrary reformatting. This is what I'm getting whenever I save with stylua enabled. I can change that if you want. But it might be a good idea to have a standard stylua config for this repo

Thank you, @kjjuno ! I'm not sure if it wouldn't be better to only take the current buffer into account. In general, there are many open buffers an local LLMs don't have a big context window.
Maybe for now, you could choose a similar approach as in https://github.com/David-Kunz/gen.nvim/issues/50 and do it programmatically outside of gen.nvim?
Thanks again and best regards,
David

@David-Kunz That makes sense to me. It seems to depend quite a bit on which model you choose, and the hardware you have powering ollama. I have an M2 max with 32gb RAM and I've been running codellama:34b. That configuration seems to accept multiple files of context pretty well, though I certainly haven't done a lot testing to see exactly where the limit is on the size of the context.
I would be happy to follow something like https://github.com/David-Kunz/gen.nvim/issues/50 to handle multiple buffers of context. But I like the suggestion of including the current buffer for the Ask prompt. Perhaps something like this?
This is the contents of `/path/to/file.ts`

---
{current buffer contents here}
---

Regarding the following selected text within that file

---
{selected text}
---

{user prompt here}

Thank you, @kjjuno . I think we shouldn't touch the Ask prompt, otherwise it's a breaking change. Also, it would be inconsistent with all other prompts which always take the selected text.

You can sort of get around a lot of this by dynamically creating a prompt in lua code then making a temporary prompt. I created a function that will use the $register as if it were the current buffer instead since I was having issues yanking the current file before running Gen command.
In this vein, you could iterate over all loaded buffers, or do whatever you want really to create your prompt.
This is done simply like so:
function custom_thing() {
  local g = require('gen')
  g.prompts["tmp"] = { prompt = "Any string here, you can use nvim api to get the current buffer's content for example." }
  vim.cmd("Gen tmp")
  g.prompts["tmp"] = nil
}

Note: You may want to strip out any of the Gen plugin's keywords from your file like $input etc or it will prompt you when you don't expect it.
https://github.com/RingOfStorms/nvim/blob/f57d401b585df48440ab498511cbce80f86dff66/lua/plugins/gen-ollama.lua#L74-L81

Would love this feature (anything that will increase the context for the LLM). Maybe individual files in the future too!

Hi,
Yes, it's possible to dynamically set the prompts, I think for now this should be the way to go.
I'm a bit partial about the context, as usually this should be decoupled form the prompt and defined outside, example:
Bad:
prompt1 = "Simplify this text: $buffer"
prompt2 = "Simplify this text: $input"
prompt3 = "Simplify this text: $text"
-- ...

Better:
prompt = "Simplify this text: $context"
invoke(prompt, "buffer")
invoke(prompt, "input")
invoke(prompt, "text")

I have to think more about this.


EnumComboBox only runs with V2.3.2 and older

Hello, we have the Little issue, that "EnumComboBox" runs good with WPFLocalizationExtensions
V 2.3.2, but not good with a newer Version. That means, the resource translations are OK in this Combo box with the old Version, but if there is a newer Version then the Combo box items are shown as "key: …"

I have the same issue in my project. Locked to V2.3.2, since newer versions don't translate my EnumComboBox!
It would be great, if you could fix that!

please change a sample and make a PR, I tested the GapTextWpfTest and everything works fine. (see PR #244)


Failed to list *coordination.Lease: unexpected EOF

Environmental Info:
K3s Version: k3s version v1.18.9+k3s1 (630bebf9)

Node(s) CPU architecture, OS, and Version:

Linux nas 4.15.18-30-pve #1 SMP PVE 4.15.18-58 (Fri, 12 Jun 2020 13:53:01 +0200) x86_64 GNU/Linux
Cluster Configuration:

2 masters in HA using external mysql server
Describe the bug:

This is my home cluster. After a power loss which affected both masters (Mysql is on another premises so it was not affected), the scheduling on cluster is kind of broken.
Looking into logs I can see following
Oct  2 23:34:03 nas k3s[13229]: E1002 23:34:03.109996   13229 cacher.go:428] unexpected ListAndWatch error: storage/cacher.go:/leases: Failed to list *coordination.Lease: unexpected EOF
Oct  2 23:34:03 nas k3s[13229]: E1002 23:34:03.148447   13229 cacher.go:428] unexpected ListAndWatch error: storage/cacher.go:/leases: Failed to list *coordination.Lease: unexpected EOF
Oct  2 23:34:03 nas k3s[13229]: E1002 23:34:03.306655   13229 cacher.go:428] unexpected ListAndWatch error: storage/cacher.go:/configmaps: Failed to list *core.ConfigMap: unexpected EOF
Oct  2 23:34:03 nas k3s[13229]: E1002 23:34:03.987163   13229 status.go:71] apiserver received an error that is not an metav1.Status: &errors.errorString{s:"unexpected EOF"}
Oct  2 23:34:04 nas k3s[13229]: W1002 23:34:04.071522   13229 handler_proxy.go:102] no RequestInfo found in the context
Oct  2 23:34:04 nas k3s[13229]: E1002 23:34:04.072476   13229 controller.go:114] loading OpenAPI spec for "v1beta1.metrics.k8s.io" failed with: failed to retrieve openAPI spec, http error: ResponseCode: 503, Body: service unavailable
Oct  2 23:34:04 nas k3s[13229]: , Header: map[Content-Type:[text/plain; charset=utf-8] X-Content-Type-Options:[nosniff]]
Oct  2 23:34:04 nas k3s[13229]: I1002 23:34:04.073192   13229 controller.go:127] OpenAPI AggregationController: action for item v1beta1.metrics.k8s.io: Rate Limited Requeue.
Oct  2 23:34:04 nas k3s[13229]: E1002 23:34:04.214388   13229 cacher.go:428] unexpected ListAndWatch error: storage/cacher.go:/leases: Failed to list *coordination.Lease: unexpected EOF
Oct  2 23:34:04 nas k3s[13229]: E1002 23:34:04.467276   13229 cacher.go:428] unexpected ListAndWatch error: storage/cacher.go:/leases: Failed to list *coordination.Lease: unexpected EOF
Oct  2 23:34:04 nas k3s[13229]: I1002 23:34:04.857414   13229 trace.go:116] Trace[1435713186]: "List etcd3" key:/configmaps,resourceVersion:0,limit:500,continue: (started: 2020-10-02 23:34:03.80686837 +0100 BST m=+431.526402027) (total time: 1.050509371s):
Oct  2 23:34:04 nas k3s[13229]: Trace[1435713186]: [1.050509371s] [1.050509371s] END
Oct  2 23:34:04 nas k3s[13229]: E1002 23:34:04.858499   13229 status.go:71] apiserver received an error that is not an metav1.Status: &errors.errorString{s:"unexpected EOF"}
Oct  2 23:34:04 nas k3s[13229]: I1002 23:34:04.859325   13229 trace.go:116] Trace[1483488246]: "List" url:/api/v1/configmaps,user-agent:operator/v0.0.0 (linux/amd64) kubernetes/$Format,client:<IP_ADDRESS> (started: 2020-10-02 23:34:03.806821588 +0100 BST m=+431.526355250) (total time: 1.052467125s):
Oct  2 23:34:04 nas k3s[13229]: Trace[1483488246]: [1.052467125s] [1.052428814s] END

investigating a bit further I can see that I indeed cannot obtain a list of leases in kube-system namespace
╰─ kubectl get lease                                                                                ─╯
Error from server: unexpected EOF

Can you try the following:

Stop k3s on both servers; wait at least 30 seconds
Start k3s on one server; wait at least 60 seconds
Start k3s on the other server

If you continue to receive errors, please gather logs from both servers from startup onwards.Just having the tail of the logs makes it difficult to determine what the initial error was.

Sure thing
I also tried to reboot both servers.
In attached log you will find a startup sequence for one of the nodes, and a panic printout I oserved on it (outside of the launch sequence).
panic.txt
k3s.log
By the look of it, something has corrupted a core config on the db, which prevents a scheduler from running.
Probably I am going to make a backup of the current db to save that state and drop kine table to rebuild the cluster.


Comment overflow in News.

In Firefox 36.0.1 on OS X 10.9.5
Link: http://www.freecodecamp.com/stories/watch-people-code-interviewed-me-we-discuss-twitch-tv-agile-and-terakilobytes-energy-

Firefox appears to be jamming the comment-list on top of the display area for the main story.

#208


PiwikAFNetworking2Dispatcher does not define response serializers to parse the the response's correct content type

See pull request #62

Fixed.


fix(web-server): exit with code 1 when errors loading plugins from co…

…nfig
replace process.kill with disconnectBrowsers call when loading errors are detected, force test run to exit with code 1 rather than fail silently
Closes #2141

I signed it!

Thank you, looks pretty good to me. The only thing I'm concerned about is having no test for ensuring this does what we want. Could you take a look at https://github.com/karma-runner/karma/blob/master/test/unit/server.spec.js and see if you can add a test to check the behaviour of this?

I've been trying to figure out how to test this, but I'm not getting far...
All I can think of in order to test it would be to extract that behaviour out into an event listener, so that whenever the load_error event is emitted, it errors out.
Don't suppose you can nudge me in the right direction @dignifiedquire? Really want to figure this out :)

Sure thing, so you should be able to utilize the current test setup in server.spec.js to this.
This should do the trick probably, not tested it though.
it('exits with error code 1 on launch errors', (done) => {
  // Make it so that we have load errors
  server.loadErrors =  ['fail']
  // Run the start
  server._start(mockConfig, mockLauncher, null, mockFileList, browserCollection, mockExecutor, doneSpy)
  // Check that the doneSpy was called with the correct code
  expect(doneSpy).to.have.been.calledWith(1)
})

@ianrufus ping

@dignifiedquire Sorry, been distracted with other work!
So far I'm not able to put a test in... I tried your suggestion, but I've been unable to get the doneSpy to be called at all, even with reverting my change. I'm new to sinon, so there's a fair chance I'm doing something wrong.
Only thing I know of to make it testable would be to emit another event, and have that handle disconnecting with code 1, rather than calling disconnectBrowsers directly, but not sure if that's the right approach, or one that you're avoiding with the codebase?

I have the same problem, and I tried to fix @ianrufus's test, but I 'failed'.
Here what I found:
In order to call the done(code || 0) you have to:

Set the variable webServerCloseTimeout to 0 in server.js
Add fileListOnResolve() after the server._start in the @dignifiedquire snippet
Then, when you launch the tests, it will fail by saying AssertionError: expected spy to have been called at least once, but it was never called.
However, if I put some hacky console.log before and after the done(code || 0), they are all executed.

I think there is some async issue, I tried a lot of thing using the done provided by mocha, but nothing seems to work.

The current code calls dieOnError if there are loadErrors, which sets exitCode 1.


Allow to toggle the use of raw input per window

Following my issue #1400.
Features:

Enable or disable the use raw input for mouse movements (when cursor is disabled) per window
It's enabled by default and work only if the machine support it
int glfwGetWindowUseRawInput(GLFWwindow* handle)
void glfwSetWindowUseRawInput(GLFWwindow* handle, int value)
it use glfwGetInputMode / glfwSetInputMode with the new mode GLFW_RAW_INPUT
Check weather the machine support raw inputs
int glfwRawInputSupported(void)

I like the idea of glfwSetInputMode with a new GLFW_RAW_INPUT mode !

So I used glfwSetInputMode and added doc (I tried to document properly).

After several days of use under Windows (win 10, x86_64) and Linux (Debian 9, x86_64), I can confirm that it works well!

I test this feature since a week on a Minecraft launcher (about 15 000 users per day), no bug report, everything goes well!

Looks good. f48146ebaad0c0c7181e86679b0ad8118431599d in the raw-mouse-motion-control branch are my proposed changes.
TL;DR from the summary:

This renames 'raw input' to 'raw mouse motion' as there are other kinds of raw input.  The update path is restructured to avoid reinitializing all of disabled cursor mode.  Modification of shared state is moved out into shared code.  Raw mouse motion is disabled by default for compatibility.

Great!


[Feature Request] Combining --expect and --bind

Hi again @junegunn 👋
When scripting fzf, it is sometimes desirable to perform different actions upon completion depending on the key pressed, for example, in fzf-lua users use  enter to open the file and ctrl-q to send the selection to quickfix list.
Now say that instead of sending the selection to quick fix we want to send all results to quickfix, we can do that with --bind=ctrl-q:select-all+accept but the output doesn’t print the pressed keybind, for that we need to add --expect:ctrl-q, however combining both we lose the --bind as expect takes over:

The below works but the select-all+accept action is ignored

fzf --expect=ctrl-q --bind=ctrl-q:select-all+accept

I see. --expect was added before --bind was even a thing, so its implementation currently does not consider bound actions on the same key, but it really should.
A few more thoughts:

accept is implied in --expect. So additional accept shouldn't be necessary, but it should be an issue either.fzf --expect=ctrl-q --bind=ctrl-q:select-all

As I mentioned above, we had no --bind when --expect was added. So now that we have --bind, --expect actually can be thought of an action that can be bound to a key. Some ideas.

--bind ctrl-q:select-all+aceept-with-key
--bind ctrl-q:select-all+print(arbitrary string)+aceept

Got it @junegunn.
I like your ideas as they give maximum flexibility, I also thought about a simpler solution, perhaps something like --print-accept-key which adds the accept key to the output similarly to --print-query?

Yeah, I also considered that approach, but I think consolidating the features around the event binding mechanism is the way to go.
6b4358f will make --expect compatible with --bind. Also, I'll also be adding print(...) action.

Ty @junegunn!
Can confirm this works on the latest devel commit 0.52.1 (6b4358f6).


getsockopt: connection timed out

Hi,
I used kubeadm to install kubernetes on three nodes. I also installed weave as addon. So far everything works fine including the dashboard. But as soon as I follow the instructions to install heapster with influxdb (I had to use the fix from #1469 to even install it with the curren master version) the dashboard becomes unusable. It seems that almost every requests starts to timeout.
Accessing
http://localhost:8001/api/v1/proxy/namespaces/kube-system/services/heapster/
results in
Error: 'dial tcp <IP_ADDRESS>:8082: getsockopt: connection timed out'
Trying to reach: 'http://<IP_ADDRESS>:8082/'

I used kubectl proxy for it. Pinging the IP works from any of the nodes, but a wget fails with the same error.
I also tried to use release-1.2 but no success. I'm not sure if it's a issue with my setup or heapster, but as I just followed the instructions for kubeadm I don't know what I should change.
Versions:
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.1", GitCommit:"82450d03cb057bab0950214ef122b67c83fb11df", GitTreeState:"clean", BuildDate:"2016-12-14T00:57:05Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"2017-01-12T04:52:34Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}

I have the same issue with you , add the amd64 as #1469 said, either heapter timeout or Grafana time out with the Influxdb , looks like only one can connect to influxdb 8086 in the same time
2017-01-23T03:58:22.399761000Z I0123 03:58:22.397433       1 influxdb.go:231] created influxdb sink with options: host:monitoring-influxdb:8086 user:root db:k8s
2017-01-23T03:58:22.400195000Z I0123 03:58:22.397518       1 heapster.go:193] Starting with InfluxDB Sink
2017-01-23T03:58:22.400636000Z I0123 03:58:22.397535       1 heapster.go:193] Starting with Metric Sink
2017-01-23T03:58:22.417996000Z I0123 03:58:22.416795       1 heapster.go:105] Starting heapster on port 8082
2017-01-23T04:00:25.285607000Z W0123 04:00:25.281553       1 manager.go:119] Failed to push data to sink: InfluxDB Sink
2017-01-23T04:01:12.512830000Z E0123 04:01:12.507850       1 influxdb.go:150] Failed to create infuxdb: failed to ping InfluxDB server at "monitoring-influxdb:8086" - Get http://monitoring-influxdb:8086/ping: dial tcp <IP_ADDRESS>:8086: getsockopt: connection timed out
but the grafana can connect no issue , but no graphic , for heapster didnt send any data to influxdb
hope someome can help

similar problem. The network is ok. I started a busybox container and can curl the url and ping other containers, but dashboard print this.
[2017-05-09T03:59:53Z] Outcoming response to <IP_ADDRESS>:52422 with 200 status code
Skipping Heapster metrics because of error: an error on the server ("Error: 'dial tcp <IP_ADDRESS>:8082: getsockopt: connection timed out'\nTrying to reach: 'http://<IP_ADDRESS>:8082/api/v1/model/namespaces/default/pod-list/curl-3393124085-dcldc,curl2-2854614873-wgzkj/metrics/cpu/usage_rate'") has prevented the request from succeeding (get services heapster)
[2017-05-09T04:00:35Z] Outcoming response to <IP_ADDRESS>:50410 with 200 status code

And the heapster seems ok.
I0509 03:53:57.371188       1 heapster.go:72] /heapster --source=kubernetes:https://kubernetes.default --sink=influxdb:http://monitoring-influxdb.kube-system.svc:8086
I0509 03:53:57.371233       1 heapster.go:73] Heapster version v1.3.0
I0509 03:53:57.371509       1 configs.go:61] Using Kubernetes client with master "https://kubernetes.default" and version v1
I0509 03:53:57.371528       1 configs.go:62] Using kubelet port 10255
I0509 03:53:57.417024       1 influxdb.go:252] created influxdb sink with options: host:monitoring-influxdb.kube-system.svc:8086 user:root db:k8s
I0509 03:53:57.417058       1 heapster.go:196] Starting with InfluxDB Sink
I0509 03:53:57.417067       1 heapster.go:196] Starting with Metric Sink
I0509 03:53:57.425744       1 heapster.go:106] Starting heapster on port 8082
I0509 03:54:05.025078       1 influxdb.go:215] Created database "k8s" on influxDB server at "monitoring-influxdb.kube-system.svc:8086"

So, you can curl the URL that the dashboard fails on from other pods, but not from the dashboard pod?

In my cases I found the solution some weeks ago, sorry. I simply needed flannel working in my master node to give connectivity to heapster pod

I would like to confirm the solution provided by @jorgelon
Switching from networking.kope.io to networking.flannel resolved my heapster getsockopt: connection timed out issue.

also confirming @jorgelon  , it was fixed by simple running :
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml


Merge the contract language work

This is a massive PR, but almost exclusively new code. It adds three new applications

aebytecode: defines the bytecode for the virtual machine
aevm: virtual machine implementation
aering: language tools, currently parser, pretty printer and compiler skeleton

I will squash and ask for a re-review once I got 2 approvals.


test-driver.py: randomize VM tmp state dir name

Motivation for this change
The NixOS test VMs state directory is currently hardcoded to
/tmp/vm-state-$machineName.
While this is perfectly fine when building the test from a sandboxed
environment, we can run into some stray state problem across various
runs when we use the test interactively. These stray state-induced
errors can be pretty subtle to spot and debug.
We fix this problem by using a randomized and unique state dir name
for each run. This should prevent any stray state across several runs
while keeping the state of the previous ones for a potential post-run
analysis.
After a run:
~/Code/nixpkgs(nin-randomize-VM-state*) » ll -t /tmp | head -n 5
total 1324
drwx------ 2 ninjatrappeur users    4096 17 juin  11:29 nixos-test-vde-8qvseqbo-vde1.ctl
drwx------ 3 ninjatrappeur users    4096 17 juin  11:28 vm-state-server-o7qiv1q7
drwx------ 3 ninjatrappeur users    4096 17 juin  11:28 vm-state-client-gwl7rtaa
drwx------ 2 ninjatrappeur users    4096 17 juin  11:27 nixos-test-vde-sq094o70-vde1.ctl

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

I think a goal of this state file is to be able to restart a VM (when interactively used). In theory, this should work well, but this is not what I'm observing in practice! So, I always have to remove it.
Another approach could be to remove this file (by default) if it already exists. If a user wants to use it, a flag could be set to not remove it.
This would also avoid the /tmp pollution (which is not a real issue I guess).

No opinion on this matter, however if a change is going to be made the documentation in nixos/doc/manual/development/running-nixos-tests-interactively.xml should be updated accordingly. Also the Perl test driver in nixos/lib/test-driver/Machine.pm.

The use of a deterministic name is intentional so we can keep state across reboots. This is useful both for interactive use and in some tests to see whether state it kept correctly across reboots (e.g. uid assignments).

@edolstra I think a lot of people find this pretty confusing – a lot of tests fail when the state is persisted, and it's easy to chalk that up to a different change and spend a long time debugging.

@edolstra well it is obvious that it is intentional right now.
But instead of just stating this and closing the issue you could have at least tried to relate to the problems that multiple people are stating here - which i have also run into when debugging something.
You don't seem to even acknowledge the possibility that there is an issue that people are running into.
The fact that it hasn't been a problem for you doesn't mean it doesn't exist. I would appreciate if in scenarios like this there could at least be some sort of discourse:
What are the issue that people are facing? What are is the suggested solution and how does it collide with existing goals? Is there something that can be done about this that you or others are less opposed to but still addresses the issue described?
I think this would give a less hostile and more encouraging impression.

I for one would appreciate a --impure (or similar named) flag to enable that feature. In most cases I don't want shared state but sometimes I need it. It should be opt-in. Most impure things are (moving towards) opt-in in the Nix world.

@edolstra is a flag something that you could find acceptable? Where the default behavior is the current behavior and --impure would be something similar to what this PR implements?

Personally I would just add a warning like using existing state directory /tmp/vm-state-bla. That should alert interactive users that they're reusing an existing VM. IMHO that's better than silently filling up the disk with virtual machine images.
BTW, since NixOS deployments should generally be congruent (i.e. not depend on the previous state of the system), if a test fails because the previous contents of the disk, then there might be an issue with the test or the service that it's testing.

This won't work. If you terminate an instance during the test, you might end up with a screwed up file system, and NixOS shouldn't try to automatically fix this and break it further.
If have been bitten by some state on the machines in other occurences as well.
IMHO, The sane default here is to put the qcow image in a tmpdir that's cleaned up after invocation - with some flags to alternate behaviour.

Personally I would just add a warning like using existing state directory /tmp/vm-state-bla. That should alert interactive users that they're reusing an existing VM. IMHO that's better than silently filling up the disk with virtual machine images.

Stdout gets flooded by the VMs boot sequence when starting up the test driver. I'm not sure I'd notice such a warning. On top of that I'm generally more in enclined to prevent people from using a footgun altogether rather than warn them they're about to use a footgun.

IMHO that's better than silently filling up the disk with virtual machine images.

That's a fair point!
I could add a --impure flag to this PR allowing you to keep the state after the VM run (ie. the current behavior). On a default run, we could erase the VM state altogether to prevent /tmp to get necessarily filled.
^ Does that sound like a fair middle-ground to you? Would you be up to merge such PR?

I would name that something more specific, like --keep-vm-state but :+1: for that over debugging time

Implemented this solution there: https://github.com/NinjaTrappeur/nixpkgs/commit/052e4f5a906b37009df7ff344cc68ffb3e8db7a4
@domenkozar good suggestion, I used this together with -K to reflect nix-build's behaviour.
@mmilata good point regarding the doc. Updated. I also added a line to the release note about this behaviour's change.
Could we re-open this PR to talk about these changes?

@NinjaTrappeur github doesn't allow to reopen this PR, as the branch was deleted. But yes, please open a new PR, and cross-link it from here.

:+1:
See #91046

You can run with TMPDIR=/path/to/state-dir and handle the creation/cleanup of the tmpdir yourself. Hopefully that helps with some use cases.

@ali-abrar #91046 has been merged. It'll delete the VMs state on the test runner startup.


Change is_vehicle_active to deprecated

Proposed change

Mark vehicle.is_vehicle_active as deprecated to avoid confusion, as it no longer returns the inMotion status, as well as explain in docs it always returns False. Users might not notice that this function always returns False.
However, if you are working on bringing this functionality back, feel free to close this PR.
Type of change

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (which adds functionality to this library)
[ ] Breaking change (fix/feature causing existing functionality to break)
[X] Code quality improvements to existing code or addition of tests

Additional information

This PR fixes or closes issue: fixes #
This PR is related to issue:  https://github.com/bimmerconnected/bimmer_connected/issues/523

Checklist

[X] The code change is tested and works locally.
[ ] Tests have been added to verify that the new code works.

I like the idea, however using @deprecated breaks a lot of tests (we're actively checking against it being zero to make sure we're calling only "new" functions.
Maybe update the docstring only for now?

@rikroe
Makes sense, I've undone the decorator and only left the doc change, hopefully it's not polluting the commit history too much.


Train Fastspeech2

Do I have to train Tacotron2 module before training Fastspeech2?
In other words, is there any way to extract duration without Tacotron2 training?

@mapledxf you can use MFA to extract. There is an example to use MFA in pull request, you can ref

got it
thx！


Improve the output of the usage

Signed-off-by: Damien DUPORTAL<EMAIL_ADDRESS>This PR fixes the following elements when the usage of the command is printed on the stdout:

The current usage is not showing where to specify the "command".
The readibility is hard when a lot of commands are specified (missing blank lines)
The sections are not homogeneous: "Available Commands" vs. "Flags".

Example of the change applied to Traefik: https://gist.github.com/dduportal/3d42970ef63a1fb2efbdb405daf44883

Coverage increased (+0.04%) to 90.03% when pulling 74b86109997548a878c86e34831168e8c188205a on enhancement/usage into 23af69148a91eb9fd61bd84baa2b011a03a445bd on master.


Uncaught ReferenceError: global is not defined (has-symbols)

Following the same config as the example. migrating from the old webpack build to the new vite builder.
first, I had this issue, https://github.com/eirslett/storybook-builder-vite/issues/130 but after removing the babel.config.js I am receiving this error
index.js:2 Uncaught ReferenceError: global is not defined
    at ../node_modules/has-symbols/index.js (index.js:2)
    at __require2 (chunk-BOTFXPRB.js?v=4d48649f:19)
    at ../node_modules/get-intrinsic/index.js (index.js:45)
    at __require2 (chunk-BOTFXPRB.js?v=4d48649f:19)
    at ../node_modules/side-channel/index.js (index.js:3)
    at __require2 (chunk-BOTFXPRB.js?v=4d48649f:19)
    at ../node_modules/qs/lib/stringify.js (stringify.js:3)
    at __require2 (chunk-BOTFXPRB.js?v=4d48649f:19)
    at ../node_modules/qs/lib/index.js (index.js:3)
    at __require2 (chunk-BOTFXPRB.js?v=4d48649f:19)
../node_modules/has-symbols/index.js @ index.js:2
__require2 @ chunk-BOTFXPRB.js?v=4d48649f:19
../node_modules/get-intrinsic/index.js @ index.js:45
__require2 @ chunk-BOTFXPRB.js?v=4d48649f:19
../node_modules/side-channel/index.js @ index.js:3
__require2 @ chunk-BOTFXPRB.js?v=4d48649f:19
../node_modules/qs/lib/stringify.js @ stringify.js:3
__require2 @ chunk-BOTFXPRB.js?v=4d48649f:19
../node_modules/qs/lib/index.js @ index.js:3
__require2 @ chunk-BOTFXPRB.js?v=4d48649f:19
<EMAIL_ADDRESS>@ queryparams.js:4
__init @ chunk-BOTFXPRB.js?v=4d48649f:16
<EMAIL_ADDRESS>@ index.js:3
__init @ chunk-BOTFXPRB.js?v=4d48649f:16
<EMAIL_ADDRESS>@ index.js:1
__init @ chunk-BOTFXPRB.js?v=4d48649f:16
<EMAIL_ADDRESS>@ index.js:1
__init @ chunk-BOTFXPRB.js?v=4d48649f:16
<EMAIL_ADDRESS>@ index.js:7
__require2 @ chunk-BOTFXPRB.js?v=4d48649f:19
<EMAIL_ADDRESS>@ client.js:1
__require2 @ chunk-BOTFXPRB.js?v=4d48649f:19
(anonymous) @ index.js:4

adding manually window.global = window solves the issue. but that's not a propper solution

Thanks @IanVS, i removed the package lock part of has-symbols and it did installed a version which that issue is fixed.
Great!


Read-Host not working in non-interactive shells when running Powershell cmdlets

Please change Read-Host to something that can be used interactively, e.g. via Puppet or Ansible.
I'm not sure what triggers this exactly but I presume it's either Connect-Keeper, Sync-Keeper, get-keeperrecords, or Copy-KeeperToClipboard(as I don't use any other cmdlets in the piece of code I'm trying.)
 Read-Host : The method or operation is not implemented.
At C:\Program Files\WindowsPowerShell\Modules\PowerCommander\AuthCommands.ps1:409 char:32
$securedPassword = Read-Host -Prompt $prompt -AsSecureString
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Read-Host], NotImplementedException
+ FullyQualifiedErrorId : System.NotImplementedException,Microsoft.PowerShell.Commands.ReadHostCommand

This line is invoked by Connect-Keeper command when password is required to resume authentication with Keeper.
Some Powershell environments (Azure functions as an example) do not provide user interaction and Read-Host fails.
There are two solutions:

Connect-Keeper cmdlet accepts -Password parameter

Keeper device(instance or installation) can be configured for passwordless login (or stay logged in)
Please see this document starting Item #12
https://docs.keeper.io/sso-connect-cloud/device-approvals/azure-function
The configuration file config.json needs to be created and configured with .Net Commander.exe application.
Once this file is uploaded to non-interactive Powershell environment Connect-Keeper starts using it.
Please let us know if there are better way to overcome this Read-Host issue.

Thank you

Okay clear, I think it just didn't properly inject the -Password parameter as it works now. Thanks!


⚠ Bofrost.lu has degraded performance

In a92d5e4, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1412 ms

Resolved: Bofrost.lu performance has improved in 8063a53 after 7 minutes.


Implementing entirely on front end

Hi, I'm wondering if you have an example of how this can be implemented entirely on the front end. I'm reasonably familiar with front end js but Node not so much. I'm not sure what needs to be done to the existing code to make that kind of implementation work. Thanks!

It already works on the frontend. Just follow the docs and you should be good to go.


[feature] Bonding capital

Motivation
Vital feature for FS, is the bonding of the capital. This is the first step for the DAO to go live and that there is a housing fund, where all the capital is pooled in
Suggested Solution

[ ] Create a fund / bank pallet

[ ] Users can deposit and withdraw their capital if not being utilised already by a house.
[ ] The fund tracks:

[ ] Total amount deposited
[ ] Time of commiting capital

[ ] The fund is able to invest an agreed amount in a transfer if a deal for an estate is go!

Additional Information
This pallet seems to have a close use of the fund/bank

https://github.com/sunshine-protocol/sunshine/tree/master/pallets/bank

Currently I have chosen to go with the treasury pallet, as it has the main features of a pot that with a council or a group of selected people you can initiate a spend proposal or reject a proposal.
I will continue to build on top of that with the

https://docs.substrate.io/how-to-guides/v3/pallet-design/lockable-currency/
https://docs.substrate.io/how-to-guides/v3/pallet-design/crowdfund/


Electronegativity no longer maintained

Pre-flight checklist

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project uses.
[x] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Electron Forge version
any
Electron version
any
Operating system
any
Last known working Electron Forge version
No response
Expected behavior
Hello,
I noticed that Electronegativity is no longer being maintained.
Is Electron Forge maintaining its own version/fork for plugin-electronegativity?
Thanks
Actual behavior
N/A
Steps to reproduce

https://www.npmjs.com/package/@electron-forge/plugin-electronegativity
https://github.com/doyensec/electronegativity/

Additional information
No response

Hey @thesolomon-tech - right now there are no plans for us to maintain a fork of Electronegativity. We have a lot of respect for the folks at Doyensec and would be happy to support any plugin they want to develop in the future.


refactor: general rename/clean up rules

Current name
Proposed name

contextual-life-cycle
contextual-lifecycle

no-conflicting-life-cycle-hooks
no-conflicting-lifecycle

no-life-cycle-call
no-lifecycle-call

use-life-cycle-interface
use-lifecycle-interface

decorator-not-allowed
contextual-decorator

enforce-component-selector
use-component-selector

no-output-named-after-standard-event
no-output-native

use-host-property-decorator
no-host-metadata-property

use-input-property-decorator
no-inputs-metadata-property

use-output-property-decorator
no-outputs-metadata-property

no-queries-parameter
no-queries-metadata-property

pipe-impure
no-pipe-impure

use-view-encapsulation
use-component-view-encapsulation

i18n
template-i18n

banana-in-box
template-banana-in-box

no-template-call-expression
template-no-call-expression

templates-no-negated-async
template-no-negated-async

trackBy-function
template-use-track-by-function

Points:
1) EnforceComponentSelector -> UseComponentSelector: I decided to rename it to make it sync with other "use" rules... let me know what do you think about it.
2) NoOutputNamedAfterStandardEventRule -> NoOutputNative: not sure if it's a good name, please don't hesitate to suggest one :)
3) TemplatesNoNegatedAsync -> TemplateNoNegatedAsync: I'm not sure renaming it is a good idea, because in addition to this rule returning some false positives, it's not useful at all (see https://github.com/mgechev/codelyzer/issues/615#issuecomment-405132209) resolved in #615.
4) Since we are renaming, what about those below?
pipe-impure -> no-pipe-impure
use-host-property-decorator -> no-host-parameter (to be sync with no-queries-parameter)
use-input-property-decorator -> no-inputs-parameter (to be sync with no-queries-parameter)
use-output-property-decorator -> no-outputs-parameter (to be sync with no-queries-parameter)
Closes #653.

This will require schematics transform of tslint.json when users execute ng update.
We'll have to discuss the change with @alexeagle and @hansl.

The renames you suggest make sense.

Haha, thanks :) Btw, it's ready for the next round when you have time 💥

@rafaelss95 would you resolve the merge conflict? I think we're ready to merge.

@mgechev Sure! What about my three questions?

LGTM, the extra checks seem fine.

@mgechev I was talking about the questions in the PR description (below the table) :)

Oh, I was sure that I responded to these questions but it looks I didn't. Yes, it makes sense to rename the rest of the rules as well.

Hey @mgechev I've updated the code and the table in OP with the new proposed names.

I took a look in (almost) all the rules today and found some more rule names that can be improved:
component-change-detection:

Suggestions:

no-component-default-change-detection
prefer-component-change-detection-on-push
use-component-change-detection-on-push

relative-url-prefix:

Suggestions:

prefer-component-relative-url-prefix
use-component-relative-url-prefix

no-attribute-parameter-decorator:

Suggestions:

no-attribute-decorator
prefer-input-over-attribute-decorator

Let me know your opinion.

@rafaelss95 let's rename the other rules as part of another PR:

prefer-on-push-component-change-detection
no-attribute-decorator

Sound good. About the relative prefix, it's still not obvious what's about. Maybe we should be more explicit about it.

... About the relative prefix, it's still not obvious what's about. Maybe we should be more explicit about it.

Do you have any suggestion?

... About the relative prefix, it's still not obvious what's about. Maybe we should be more explicit about it.

@mgechev Do you have any suggestion?

Let's not updated it for now.


The first and last points are connected, bypassing the rest

When plotting a chart in more than 2 days, a strange bar appears on the chart, I will be grateful for any ideas how to remove the horizontal bar at the bottom of the chart.
Configuration:
var charConfig = {
type: 'line',
data: {
    datasets: [
        {
            label: 'Онлайн',
            borderColor: "red",
            backgroundColor: "red",
            data: [],
            showLine: true,
            fill: false,
        }
    ]
},
options: {
    scales: {
        xAxes: [
            {
                type: 'time',
                time: {
                    unit: 'statsFormat',
                    displayFormats: {
                        statsFormat: 'dd HH:mm'
                    }
                },
                distribution: 'series',
                ticks: {
                    source: 'data',
                    autoSkip: true,
                }
            }
        ],
        yAxes: [
            {
                scaleLabel: {
                    display: true,
                    labelString: 'Онлайн'
                }
            }
        ]
    },
    responsive: true,
    title: {
        display: false,
        text: ''
    },
    tooltips: {
        intersect: false,
        mode: 'index',
        callbacks: {
            title: function (tooltipItems, data) {
                let time = data.datasets[tooltipItems[0].datasetIndex].data[tooltipItems[0].index].t;
                return moment(time).format('YYYY-MM-DD HH:mm:ss');
            },
            label: function (tooltipItem, myData) {
                var label = myData.datasets[tooltipItem.datasetIndex].label || '';
                if (label) {
                    label += ': ';
                }
                label += tooltipItem.value;
                return label;
            }
        }
    },
    legend: {
        display: false
    },
    hover: {
        mode: "index",
        intersect: false
    },
}};

data in format:
  "2019-10-02 00:02:24.169665":{
     "date":{
        "date":"2019-10-02 00:02:24.169665",
        "timezone_type":3,
        "timezone":"Europe\/Moscow"
     },
     "online":23
  }

chart generation code:
  $.each(data.data, function (key, value) {
            charConfig.data.datasets[0].data.push(
                {
                    t: Date.parse(key),
                    y: value.online
                }
            );
        });
        let char = document.getElementById('online').getContext('2d');
        window.teamspeak.onlineChar = new Chart(char, charConfig);

User Library Versions:
moment.js - 2.18.1
Chart.js - 2.8.0
jQuery - 1.12.4

Are all your dates in sorted order?

Yes, all dates are sorted from lowest to highest.

Hmm, I'm not sure why this is happening, but we'd need more evidence to indicate that there's a bug present. This is not the normal behavior and my guess would be there's an error in the data. The guidelines for filing issues state that bug reports must include interactive examples and this didn't so I'm going to go ahead and close it. You may also ask for help on StackOverflow which is our preferred support channel: https://stackoverflow.com/questions/tagged/chart.js

interactive example: https://codepen.io/07artem132/pen/WNNGjjz

From middle of your data:

"2019-10-17 21:01:04.112852":{(cut),"online":70},
"2019-10-16 21:06:04.095497":{(cut),"online":76},

You need to order it.

From middle of your data:

"2019-10-17 21:01:04.112852":{(cut),"online":70},
"2019-10-16 21:06:04.095497":{(cut),"online":76},

You need to order it.
thanks, that was my mistake.


Build on v4.0 fails due to broken gmock link

The fedora url for gmock-1.7.0 doesn't work anymore, resulting in build failure.
I changed this to pick gmock from a different URL in test/googlemock.mk instead, but had verification issues because of the sha1 check (bypassed it temporarily).

wget --timeout=20 http://pkgs.fedoraproject.org/repo/pkgs/gmock/gmock-1.7.0.zip/073b984d8798ea1594f5e44d85b20d66/gmock-1.7.0.zip ||
curl --connect-timeout 20 -O http://pkgs.fedoraproject.org/repo/pkgs/gmock/gmock-1.7.0.zip/073b984d8798ea1594f5e44d85b20d66/gmock-1.7.0.zip ||
echo "Warning: Unable to download gmock archive" 2>&1 &&
touch gmock-1.7.0.zip
--2018-02-28 00:45:19--  http://pkgs.fedoraproject.org/repo/pkgs/gmock/gmock-1.7.0.zip/073b984d8798ea1594f5e44d85b20d66/gmock-1.7.0.zip
Resolving pkgs.fedoraproject.org (pkgs.fedoraproject.org)... <IP_ADDRESS>
Connecting to pkgs.fedoraproject.org (pkgs.fedoraproject.org)|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2018-02-28 00:45:19 ERROR 403: Forbidden.
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100   282  100   282    0     0   4504      0 --:--:-- --:--:-- --:--:--  4548
Error: The gmock archive does not have the correct SHA-1 checksum
make: *** [gmock-1.7.0/VERSION] Error 255
Error: The gmock archive does not have the correct SHA-1 checksum

This issue was fixed with the following commit:
https://github.com/geopm/geopm/commit/fa3310d6e66aa15a1083386557f8dc5b43948ca9
Also if you need an archive of the version 0.4.0 source code that includes gmock you can download that here:
https://github.com/geopm/geopm/releases/download/v0.4.0/geopm-0.4.0.tar.gz
The archive we post with the release, which is the output of the
make dist

target, does not require network access to build (the gmock archive is included).


NetworkOPs:WRN We are not running on the consensus ledger

hello, my ledger height cannot inceate at mainnet sync node, and the warnning is NetworkOPs:WRN We are not running on the consensus ledger, please help me to resolve this problem, thanks!

Your server should automatically sync to the network within the first 5-15 minutes after starting it up. During that time, NetworkOPs:WRN We are not running on the consensus ledger errors may appear but are benign. (Note to self: add that to Understanding Log Messages.)
If you still get these errors after syncing or your server is not synced after ~15 minutes, then that is a problem. Sometimes, you can get the server to sync just by restarting it once. If that still doesn't work, common causes of this problem are:

Hardware not meeting the system requirements, especially RAM and disk I/O.
Network connection not fast enough or not reliable enough to stay synced.
Misconfiguration (for example, storing the databases on rotational disks instead of the SSD storage)

Thank you very much, my node has already normal sync after a while.

What if my AWS EC2 ran out of disk space and I had to add another volume increase the capacity? My EC2 is not syncing.
Thanks!


Cannot find add_plugin.py script

According to this guide, we need to run add_plugins.py script to add a plugin. but this script is not present in the repo anymore.

@souvikmaji Thanks for pointing this out! I will address it soon. if you would like to make the plugin available in https://www.openplugin.io/ you can use the launchpad. Otherwise, if you want to make it available here, in this repo and in turn openplugincore, please make a PR adding an item to openai_res.json like so https://github.com/OpenPluginACI/openplugin/blob/main/migrations/plugin_store/openai_res.json#L4533-L4566


Implement TransitionSegment API

Spec: https://material-motion.gitbooks.io/material-motion-starmap/content/specifications/runtime/feature_transition_segment.html

🎊 My diff is ready for review at http://codereview.cc/D1740


[bionic] removing old agent code and added bumping agent

sorry for the multiple commits different to what this pr is about...

removing old building agent
bumping agent to most recent versions
adding publish document

LGTM


error in the manual "guide to generating self-signed key pairs"

Bug reporting
https://github.com/coreos/etcd/blob/master/Documentation/op-guide/security.md
on this page of the documentation you describe "Transport security & client certificates" and use "ca.crt" and "member1.crt".
in the beginning you link to "guide to generating self-signed key pairs":
https://github.com/coreos/docs/blob/master/os/generate-self-signed-certificates.md
But this "guide to generating self-signed key pairs" guide describes the generation of "ca.pem", "server-key.pem", "server.pem" and other ".pem".
I think this guide is incomplete (or inaccurate), since the generation of demand ".crt" has not been reviewed.

Going to close this feel free to extend the documentation with a PR or continue the conversation here if you have more questions.

@hexfusion  i'm testing it today.
if i use real ".crt" and ".key" file? i get error "tls: failed to find any PEM data in certificate input".
most likely expected certificates in pem format.
in that way, "Generate self-signed certificates" manual is right.
I think you need to correct the user manual "Transport security model".
and i don't like to create PR ))

and yes, if i use certificates in PEM format - it's works!

Hi @beatlejuse the actual format of the files does not change if the file extension does right?
please review
https://crypto.stackexchange.com/questions/43697/what-is-the-difference-between-pem-csr-key-and-crt

if i use real ".crt" and ".key" file, i get error "tls: failed to find any PEM data in certificate input".

What do you mean by real .crt and .key? These are only file extensions. The documentation only shows how to generate PEM format certificates. It is common practice to append certificate file with .crt extension ie mv ca.pem ca.crt.

and yes, if i use certificates in PEM format - it's works!

As I stated above changing the file extension does not change format.

by real .crt and .key i mean  convertation PEM file to key and crt:
openssl x509 -outform der -in your-cert.pem -out your-cert.crt
openssl rsa -outform der -in private.pem -out private.key
if i convert it (not only rename) - i get error "tls: failed to find any PEM data in certificate input".
this means that expected files exactly in PEM format
and yes, changing the file extension does not change format, right!
instructions for generating certificates is correct.
all you need to fix - is the file extension in https://github.com/coreos/etcd/blob/master/Documentation/op-guide/security.md
same as "--client-cert-auth --trusted-ca-file=/path/to/ca.crt --cert-file=/path/to/server.crt" to "--client-cert-auth --trusted-ca-file=/path/to/ca.pem --cert-file=/path/to/server.pem".

1.) does the docs say to convert PEM to DER format?
2.) did you review the link I sent regarding file extensions?
I can see the confusion I guess you are assuming that a file with extension .crt or .key should or must be in DER format. But that is simply not the case.

On Feb 1, 2018, at 8:32 AM, beatlejuse<EMAIL_ADDRESS>wrote:
by real .crt and .key i mean convertation PEM file to key and crt:
openssl x509 -outform der -in your-cert.pem -out your-cert.crt
openssl rsa -outform der -in private.pem -out private.key
if i convert it (not only rename) - i get error "tls: failed to find any PEM data in certificate input".
this means that expected files exactly in PEM format
and yes, changing the file extension does not change format, right!
instructions for generating certificates is correct.
all you need to fix - is the file extension in https://github.com/coreos/etcd/blob/master/Documentation/op-guide/security.md
same as "--client-cert-auth --trusted-ca-file=/path/to/ca.crt --cert-file=/path/to/server.crt" to "--client-cert-auth --trusted-ca-file=/path/to/ca.pem --cert-file=/path/to/server.pem".
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

explicitly it is not specified, but the specified file extensions hint at it
yes
I also see the confusion. I think to avoid confusion, it is necessary just to fix the documentation. at generation we get .pem files. and nowhere expressly stated that they simply rename. by the way, the second option is to explicitly specify the renamed files.

I agree the documentation should explicitly state that etcd expects pem format. Once we define that, the rest I think can stay the same. Can you give it a shot?
I think this is nice documentation on the process.
https://gist.github.com/Chaser324/ce0505fbed06b947d962
I am eager to see what other areas of documentation you can help improve:) let me know if you need help and thanks for contributing!

On Feb 1, 2018, at 9:13 AM, beatlejuse<EMAIL_ADDRESS>wrote:
explicitly it is not specified, but the specified file extensions hint at it
yes
I also see the confusion. I think to avoid confusion, it is necessary just to fix the documentation. at generation we get .pem files. and nowhere expressly stated that they simply rename. by the way, the second option is to explicitly specify the renamed files.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Not compatible with zplug

When attempting to use your branch with zplug I get the following warning.
WARNING:  Failed to load "~/.zplug/repos/jedahan/geometry/geometry.zsh-theme" (jedahan/geometry)

The code in .zshrc is:
zplug "jedahan/geometry", at:mnml, as:theme

Possibly related:
zplug/zplug#424 (comment)
The prompt seems to work, you just get that warning.
macOS Mojave 10.14.3
iTerm2 3.2.7
zsh 5.7.1 (x86_64-apple-darwin18.2.0)
zplug 2.4.2

So when I try zsh -x geometry.zsh it fails with +/Users/micro/.zr/geometry/geometry.zsh:64> echo 'Error: Could not load zsh-async library.' Error: Could not load zsh-async library.
which is why zplug warns.

I spent a bit of time trying to fix this but did not make progress, open to others taking a stab and refactoring how we load async

If you remove the || statement, it seems to load just fine, from what I can tell.

Either that or I'm misinterpreting the output from zsh -x

yeah but that means source async.zsh is failing, which seems bad

@jedahan the thing is, the file is loaded and sourced properly because I can access variables declared from within the async.zsh, you can even echo the ASYNC_VERSION` ( or whatever var that was ).
How can we test the functionality itself of async.zsh?

Yeah good point. I think I'll loosen the checks, and just look for ((ASYNC_INIT_DONE)). Latest version is pushed, can you test it with zplug and see if its fixed now?

Will do as soon as I’m back at my computer. Saw the changes, makes sense.
On Wed, Feb 13, 2019 at 5:43 PM Jonathan Dahan<EMAIL_ADDRESS>wrote:

Yeah good point. I think I'll loosen the checks, and just look for
((ASYNC_INIT_DONE)). Latest version is pushed, can you test it with zplug
and see if its fixed now?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jedahan/geometry/issues/3#issuecomment-463422314, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAHrzDJop3j9drda5Lf6eebhpyecSxMaks5vNKMMgaJpZM4a5678
.

Apologies on the delay on getting back to you about this issue.
Apparently, the issue is persisting as of the current branch.
WARNING:  Failed to load "~/.zplug/repos/jedahan/geometry/geometry.zsh-theme" (jedahan/geometry)

△ ~ source ~/.zplug/repos/jedahan/geometry/geometry.zsh-theme
△ ~ echo $?
1

The exact same case as what they mention here.

zsh -x geometry.zsh-theme
Has the following output:
+/Users/m/.zplug/repos/jedahan/geometry/geometry.zsh-theme:87> geometry::rprompt
+geometry::rprompt:1> RPROMPT=''
+geometry::rprompt:2> zle
+geometry::rprompt:3> async_stop_worker geometry
+async_stop_worker:1> setopt localoptions noshwordsplit
+async_stop_worker:3> local ret=0 worker k v
+async_stop_worker:4> worker=geometry
+async_stop_worker:12> async_unregister_callback geometry
+async_unregister_callback:1> typeset -gA ASYNC_CALLBACKS
+async_unregister_callback:3> unset 'ASYNC_CALLBACKS[geometry]'
+async_stop_worker:13> zpty -d geometry
+async_stop_worker:13> ret=1
+async_stop_worker:16> typeset -gA ASYNC_PROCESS_BUFFER
+async_stop_worker:17> unset 'ASYNC_PROCESS_BUFFER[geometry]'
+async_stop_worker:20> return 1

So...
geometry::rprompt() {
  RPROMPT="${(j/::/)3}"
  zle && zle reset-prompt
  async_stop_worker geometry
  echo $@
}

By doing that, it suddenly loads well and you can see some warnings related to the right side tools.
▲ ~ geometry::wrap 0     0.0202190876 geometry_exec_time:zstat:1: /var/folders/dk/gtpnkjx56zn53ffk30ydlt5h0000gn/T//geometry_exec_time: no such file or directory
geometry_exec_time:2: bad math expression: operand expected at end of string
geometry::wrap:4: command not found: geometry_hg 0

Apparently you can do return 0 and it works instead of the echo<EMAIL_ADDRESS>How do we know the library is working as expected?

Awesome debugging! I added GEOMETRY_DEBUG to the latest push and have turned that on to see other plugins that are leaking non-zero statuses, and slowly have been reducing them.

Okay, I made a bunch of changes regarding rprompt that should fix things

Amazing, I'll check it tomorrow when I wake up.
Cheers mate and thanks for the "thank you" on the README.md.

Apologies for the delay on testing this. Been slightly busy.
I stashed all my changes and synced up with your branch, and I'm getting this injected into the prompt. Is this the intended behavior?

I also notice in there a potential issue with hg, looking into it and opening the relevant ticket.

Alright, this is working properly. Good job.


Runtime- and Assertionerror handling in trainer.run_train

🐛 Bug
Runtime- (e.g. Out of Memory Errors) /Assertionerror are ignored when running trainer.fit(...). The error will not be raised correctly and the script will continue.
This can waste a lot of time in some cases:
# prepare code
...

# train (model raises an error, e.g. Out of Memory which is not raised by trainer)
trainer.fit(...)

# will continue here
# time intensive computation / evaluation / prediction
...

While the error is printed correctly, it is not raised and thus the script will continue.
https://github.com/PyTorchLightning/pytorch-lightning/blob/bb9ace43334ad50e3758d9cff08ad34216c7d4da/pytorch_lightning/trainer/trainer.py#L621-L634

Please reproduce using the BoringModel

To Reproduce
Use following BoringModel and post here

Expected behavior
The script should stop after the trainer cleaned up when an Assertion or Runtime error occurs during training.

Environment
Note: Bugs with code are solved faster ! Colab Notebook should be made public !

IDE: Please, use our python bug_report_model.py template.

Colab Notebook: Please copy and paste the output from our environment collection script (or fill out the checklist below manually).

You can get the script and run it with:
wget https://raw.githubusercontent.com/PyTorchLightning/pytorch-lightning/master/tests/collect_env_details.py
# For security purposes, please check the contents of collect_env_details.py before running it.
python collect_env_details.py

PyTorch Version (e.g., 1.0):
OS (e.g., Linux):
How you installed PyTorch (conda, pip, source):
Build command you used (if compiling from source):
Python version:
CUDA/cuDNN version:
GPU models and configuration:
Any other relevant information:

Additional context
Simply saving the exception and raising it after the trainer called the final hook should be sufficient.

@tchaton @awaelchli  @carmocca  @justusschock  from multiple threads, this error-handling is very fragile.

calling on train loop end currently calls the checkpointing callback, which is not guaranteed to work (e.g. a monitor value is present only in validation, but the exception occurs during training, so there's no monitor metric available for the callback)
this handling doesn't account for if a subset of ranks fails in distributed training

what are your thoughts on removing the error handling for everything that's not a keyboard interrupt?
cc @shuyingsunshine21

@ananthsub , agree, actually preparing PR for removing the part to run finally on_train_end

So we want to call on_train_end no matter what but still raise the exception. What if re-raise it after on_train_end? It's tricky because on_train_end can also raise an exception which would hide the original one. This is why the except block with print_exc is there, to give visibility to the original exception.
This could be greatly improved.

@carmocca for the exception from on_train_end: can't we raise that one and raise the other one in a finally then?
Something like:
on_train_end_run = False
try:
    training(...)
    on_train_end_run = True
    on_train_end(...)
except KeyboardInterrupt:
    # current error handling
except Exception as e:
    new_e = None
    try:
        if not on_train_end_run:
            on_train_end(...)
    except Exception as new_e:
       raise new_e
    finally:
        raise e

The only thing to check is that currently we also have slurm signal handlers looking at program exit to allow resubmission. Not sure how they'd be affected out of my head.

@ananthsub I feel we definitely should change this.
@carmocca for the exception from on_train_end: can't we raise that one and raise the other one in a finally then?
Something like:
on_train_end_run = False
try:
    training(...)
    on_train_end_run = True
    on_train_end(...)
except KeyboardInterrupt:
    # current error handling
except Exception as e:
    new_e = None
    try:
        if not on_train_end_run:
            on_train_end(...)
    except Exception as new_e:
       raise new_e
    finally:
        raise e

This is obviously not perfect but it should give an idea of what I'm talking about
The only thing to check is that currently we also have slurm signal handlers looking at program exit to allow resubmission. Not sure how they'd be affected out of my head.

Hey @justusschock.
Under except KeyboardInterrupt:, we should also use this logic:
    new_e = None
    try:
        if not on_train_end_run:
            on_train_end(...)
    except Exception as new_e:
       raise new_e
    finally:
        raise e


[5.7] Remove broken code

The removed code is supposed to handle invalid operators:
DB::table('users')->where('foo', '', 'bar')->get();
// expected: select * from `users` where `foo` = 'bar'
// actual:   select * from `users` where `foo` = ''

Since it doesn't work and won't get fixed (#24624), it should be removed.

I am closing this pull request because it lacks sufficient explanation, tests, or both. It is difficult for us to merge pull requests without these things because the change may introduce breaking changes to the framework.
Feel free to re-submit your change with a thorough explanation of the feature and tests - integration tests are preferred over unit tests. Please include it's benefit to end users; the reasons it does not break any existing features; how it makes building web applications easier, etc.
Thanks!


Drop alias Datetime; use chrono::Datetime

This is mostly in preparation for https://github.com/fmeringdal/rust-rrule/issues/24
A lot of these functions will continue taking a DateTime<Tz> as parameter, but other will allow a generic Timezone as parameter.

LGTM! Thanks @WhyNotHugo


Add linters and pre-commit hooks

Enable black isort, flake8 and mypy
Possibly setup an auto update ci job for pre-commit hooks

I am not a fan of pylint that usually requires many tweaks to get happy.

By default, Pylint reports most of the bugs, including some that we don't expect (unreachable code after the if-else statement). Flake8 reported fewer bugs than Pylint. It doesn't inform us about missing docstrings, incorrect naming styles and the unnecessary pass statement. However, Flake8 returns a shorter report that contains information about incorrect style, syntax inconsistencies and complexity errors that could be satisfying.

I have some bad memories of pylint having a hard handling descriptor and metaclasses which led to a lot of noise. I suggest we start with the four tools mentioned above and try to add pylint separately if we can get it to report only valid issues.


Android - NPE on cancel purchase

Hello!
I have found an NPE here are the logs:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.smartmobilesoftware.util.Purchase.getSku()' on a null object reference
at jp.wizcorp.wizpurchase.WizPurchase$10.onIabPurchaseFinished(WizPurchase.java:727)

It happen when I start a purchase, and cancel it buy clicking outside de Google Play window.
File:
https://github.com/Wizcorp/cordova-plugin-wizpurchase/blob/master/src/android/WizPurchase.java#L727
I thought about make a PR with a
if(purchase != null)
But not sure if it's normal that purchase is null here...
Regards,

I think the problem is that the result is not being inspected before using product. If the result is a failure, product may be null. Going by Google's example here, we should first be checking the result.
Thoughts?


Import Flat File Wizard Keyword not supported 'u:!skjl3qvfwbdwc'

Azure Data Studio Version: 1.10.0

When attempting to upload any file using Azure Database Import Flat File Wizard, the wizard fails and produces

X Keyword not supported 'u:!skjl3qvfwbdwc'"

I have tried restarting my laptop, reinstalling the SQL Server Import, and trying different files and databases.
The file is a CSV (have tried a UTF-8 csv) and is located on my desktop.

@kenvanhyning @aaomidi have you send this error before?

If this file isn't private or confidential/contains personal information I'd love to be able to repro it.
Can you take a screenshot of the error? Would like to see where this shows up.

If this file isn't private or confidential/contains personal information I'd love to be able to repro it.
Can you take a screenshot of the error? Would like to see where this shows up.

Hi @aaomidi unfortunately i cannot share the file, but i created this CSV using tableau prep. The error happened again when i tried another CSV that i manipulated in tableau prep.
I have also used excel to save as a CSV (tableau prep creates a UTF-8 CSV) to no avail.

@aaomidi

Thanks!

@aaomidi i tried the file using the SQL Server Import and Export wizard in SSMS and had no issues uploading one of the files that did not work in Azure data studio.

@sdings I've updated the import extension where you should be getting more error messages. These changes will be included in future insiders builds (24-48 from this comment). Hopefully that will give you more context on whats breaking.


Google search console how to add astro paper to it

Sir please write a detail article on how to add astro paper to Google search console please

What do you mean by add documentation for Google Search Console ? Do you mean SEO ?

@fazi-gondal you can refer to the google guide here: https://support.google.com/webmasters/answer/34592

What do you mean by add documentation for Google Search Console ? Do you mean SEO ?

Yes because I don't know how to add astro paper theme to Google search console and do seo please tell me about it in detail

@fazi-gondal you can refer to the google guide here: https://support.google.com/webmasters/answer/34592

Bro I don't know where i add Google search console verification tag in astro paper theme please tell me about it in detail because I want to add my website to Google search console and tell me little bit SEO

Hello @fazi-gondal
Did you manage to do that?
As @maheshrijal said, you can follow along with the Google guide.
You can verify your site ownership by providing Google site verification value in PUBLIC_GOOGLE_SITE_VERIFICATION. It is also mentioned in the README.
AstroPaper also uses this way to verify the site ownership.
Here are the steps to follow:
Step (1) Click Add property in Google Search Console.
Step (2) Choose URL prefix

Step (3) Choose HTML tag method

Step (4) Copy the content value from <meta name="google-site-verification" content="copy-this" /> and put that value inside the PUBLIC_GOOGLE_SITE_VERIFICATION env variable.
Step (5) Verify the HTML tag inside the search console.
Hope this helps. Let me know if you are still having any problems.

I'm going to convert this issue to a discussion in case someone might need this in the future.


Omission of fabric sensitive fields

This builds upon PR #15284 to omit fabric sensitive fields in the call to EncodeForRead if the fabric index present in the object doesn't match the accessing fabric.
test-cluster.xml has been updated to enhance TestFabricScoped struct to include a number of different data types to ensure adequate coverage.
Cluster definitions for OperationalCredentials and Acl clusters have been updated to reflect the spec correctly w.r.t fabric sensitive fields.
Tests:
Adds a YAML TestMultiFabric test that writes/reads fabric-sensitive data from multiple fabrics and validates the read back data.
Adds a similar Python version of the test that is identical but is more robust towards the fabric indices and order of data read back from the server.

/rebase


Show the number of forks, stars and contributors on the home page

Added the github forks, stars and contributors number info below the navigation bar

@amratansh12 It looks good enough for now.
Can you fix the merge conflicts?
I will merge it then!

@Spyware007 Done. Conflicts resolved.

@amratansh12 There seems to be a merge conflict, please resolve it.

@PoorviShetty Conflicts resolved. PR ready to be merged.


11ty plugin: Copy icons for variants are darker than other rows

          Copy icons for variants are darker than other rows.  Is this intentional?   Should the expanded background maybe change to `light | lighter` to differentiate the expanded panel?

Originally posted by @zeroedin in https://github.com/RedHat-UX/red-hat-design-tokens/pull/68#pullrequestreview-1301521266

We removed the 11ty plugin


Add custom view support (Kanban, etc.)

Add support for documents that use custom views. Like the Kanban plugin and others.

Hello! Very cool plugin, but I can't get the Kanban export to do anything- I just get a blank page with "Page Not Found" and the TOC and light/dark toggle. What exactly are the settings required to get a Kanban to export?

@KosmosisDire My bad, misunderstood! Thanks for letting me know :)

@nonsciencemark This has been added in the latest update :)

Yaaay! It works perfectly, great job!