Add EntityRefExcept and EntityMutExcept world queries, in preparation for generalized animation.

This commit adds two new WorldQuery types: EntityRefExcept and EntityMutExcept. These types work just like EntityRef and EntityMut, but they prevent access to a statically-specified list of components. For example, EntityMutExcept<(AnimationPlayer, Handle<AnimationGraph>)> provides mutable access to all components except for AnimationPlayer and Handle<AnimationGraph>. These types are useful when you need to be able to process arbitrary queries while iterating over the results of another EntityMut query.
The motivating use case is generalized animation, which is an upcoming feature that allows animation of any component property, not just rotation, translation, scaling, or morph weights. To implement this, we must change the current AnyOf<(&mut Transform, &mut MorphWeights)> to instead be EntityMutExcept<(AnimationPlayer, Handle<AnimationGraph>)>. It's possible to use FilteredEntityMut in conjunction with a dynamically-generated system instead, but FilteredEntityMut isn't optimized for the use case of a large number of allowed components coupled with a small set of disallowed components. No amount of optimization of FilteredEntityMut produced acceptable performance on the many_foxes benchmark. Query<EntityMut, Without<AnimationPlayer>> will not suffice either, as it's legal and idiomatic for an AnimationTarget and an AnimationPlayer to coexist on the same entity.
An alternate proposal was to implement a somewhat-more-general Except<Q, CL> feature, where Q is a WorldQuery and CL is a ComponentList. I wasn't able to implement that proposal in a reasonable way, because of the fact that methods like EntityMut::get_mut and EntityRef::get are inherent methods instead of methods on WorldQuery, and therefore there was no way to delegate methods like get and get_mut to the inner query in a generic way. Refactoring those methods into a trait would probably be possible. However, I didn't see a use case for a hypothetical Except with arbitrary queries: Query<Except<(&Transform, &Visibility), Visibility>> would just be a complicated equivalent to Query<&Transform>, for instance. So, out of a desire for simplicity, I omitted a generic Except mechanism.
I've tested the performance of generalized animation on many_foxes and found that, with this patch, animate_targets has a 7.4% slowdown over main. With FilteredEntityMut optimized to use Arc<Access>, the slowdown is 75.6%, due to contention on the reference count. Without Arc<Access>, the slowdown is even worse, over 2x.
Testing
New tests have been added that check that EntityRefExcept and EntityMutExcept allow and disallow access to components properly and that the query engine can correctly reject conflicting queries involving those types.
A Tracy profile of many_foxes with 10,000 foxes showing generalized animation using FilteredEntityMut (red) vs. main (yellow) is as follows:

A Tracy profile of many_foxes with 10,000 foxes showing generalized animation using this EntityMutExcept (yellow) vs. main (red) is as follows:

Would it make sense to modify Access to be able to express "all components except for a set"?
That could cleanly solve the issue @SkiFire13 noted above, since QueryState::update_archetype_component_access() could evaluate new components against the Access.
That could be done by replacing the reads_all_components and writes_all_components flags with ones that invert the meaning of the corresponding FixedBitSet.  Methods like has_component_write() would use invert_component_writes ^ component_writes.contains(index) instead of writes_all || component_writes.contains(index).  I believe FixedBitSet exposes enough bitwise operations to implement all four cases for methods like extend() and is_compatible().

It might be more general to use QueryData instead of ComponentList.  Then an EntityMutExcept<&mut T> could have no access to T, while an EntityMutExcept<&T> could still read it.

It might be more general to use QueryData instead of ComponentList. Then an EntityMutExcept<&mut T> could have no access to T, while an EntityMutExcept<&T> could still read it.

I think QueryData would require messing with Access in the get method, which would defeat the purpose of EntityRefExcept as Access is too slow. I'd prefer to just replace ComponentList with Bundle.

I tried seeing if @chescock's proposal would work, and it seems possible to me though there are some details that need to be refined (e.g. replace all uses of Access::component_reads_and_writes, which is no longer possible to implement). You can see my try at https://github.com/bevyengine/bevy/compare/main...SkiFire13:bevy:access-inverted

I've implemented inverted bit sets. All ECS tests pass. I added more tests to make sure get/get_ref/get_mut are correct.
I also removed ComponentList in favor of Bundle. This is about 5% slower in many_foxes than ComponentList is, but it's probably worth the extra simplicity.
Unfortunately, fixing the contains method caused a significant regression:

I don't have any ideas to eliminate the regression at this point, because we have to either check component IDs or type IDs no matter what, so I'm going to argue in favor of just taking the regression.
This should be ready for review again.

Review comments addressed.

Thank you to everyone involved with the authoring or reviewing of this PR! This work is relatively important and needs release notes! Head over to https://github.com/bevyengine/bevy-website/issues/1685 if you'd like to help out.


No quick fix availabe for "cannot borrow x as mutable, as it is not declared as mutable

rustc suggests "consider changing this to be mutable: mut x". It would be nice of rust-analyzer could easily do this.

We have a quick fix, but it's on the declaration site:

Yeah, I just realized this. Is there a way to make it so that you don't need to jump to the declaration first?

We show the quick fix where rustc suggests a replacement, but I don't know if we could also show it on the error location. I think @jonas-schievink experimented with this a while ago.

cc #10658

Let's close this in favor of #10658.


InternalServerError: cannot alter type

EdgeDB Version: EdgeDB 1.0-alpha.2+g16f75ece5.d20200122
OS Version: Windos 10 Educational, Version: 1909, Build: 18363.778

Steps to Reproduce:
START TRANSACTION;
CREATE MIGRATION m2 TO {
    module default {
        type User {
            required property scopes -> array<scope>;
        }
        scalar type scope extending str {
            constraint one_of (
                '1', '2'
            );
        }
    }
};
COMMIT MIGRATION m2;
COMMIT;

Error log:
InternalServerError: cannot alter type ""edgedb_e1d3ab02-7c59-11ea-9cc7-f7e49d2fb386"."87c9d94a-87f0-11ea-b4ba-db2bb9dbfd2b_domain"" because column "6716f2a1-87ef-11ea-bb56-fd1198a88276.scopes" uses it

May be related to this issue #1369.

Can you also provide us with the initial state of the schema on which this migration fails?

We just bootstrapped the new EdgeDB server (version - 1.0-alpha.3+dev.163.gad37ad85.d20200426) with edb server --temp-dir and applied this migration.

Yes, this is due to a Postgres limitation.  It disallows altering domain types if they're used in an array or a composite type.  As a workaround for now, try reordering the definitions in the schema, placing scope first.

Just tried this on a clean instance, but it failed with the same error. We'll probably write the Scope type instaed of the scalar type as a workaround.

Hi, @elprans ! Thank you for your help. Unfortunately, this method did not work. The same error happens. 😢

Right, so then the only way around is to use DDL commands directly (and in correct order):
create scalar type scope extending str {
    create constraint one_of ('1', '2');
};

create type User {
    create required property scopes -> array<scope>;
};

@elprans Can we fix this for alpha 3? If not please move to alpha 4.

Because this is a Postgres limitation the fix would likely be fairly involved, moving.

This particular manifestation of the issue should be easy to fix: because of the vagaries of the priority system, pgsql/delta.py just happens to be creating the constraint late, in a way that puts it after the table and column are created.
The trickier thing is when we need to do a bona-fide alter that adds a constraint. I think the approach is going to have to be:

Alter all of the columns that use the type as part of a composite to use an equivalent type. This could require creating temporary tuple types.
Add the constraint to the domain
Alter all the columns back. Delete any temporary types.

That is nasty, but definitely doable.


VIM should respect SIGINT

A significant milestone was achieved today: Stack Overflow question "How to exit VIM" reached 1,000,000 views.
It looks like the time has come for a radical change: make VIM finally behave like any other sane program and respect UNIX SIGINT signal, as well as the default combination used to send it.
I propose the following behavior:

if there are no unsaved changes, simply exit
if there are changes, switch to command mode, and print the same warning one gets when doing :q

What do you propose to do with the behavior currently invoked by CTRL-C?
:help CTRL-C
Stack Overflow is clearly doing a fine job of educating the Google generation how to exit Vim. Is this truly something that demands a radical change?

This is related to #1719; (I proposed coloring the keystrokes s.t. they stand out, and maybe normalizing the spacing across locales to two spaces around the keystrokes)
Not every "sane program" respects SIGINT by quitting. For example, bash and zsh, and ipython use it to abort the current command, instead of exiting. (In fact, in programs that lack this behavior, such as mongo, I find it rather annoying.) I'm not sure if vim falls into this category, but I think it's fair to say it might.

On 2017-05-23, lostmsu wrote:

A significant milestone was achieved today: Stack Overflow question "How to
exit VIM" reached 1,000,000 views.
It looks like the time has come for a radical change: make VIM finally behave
like any other sane program and respect UNIX SIGINT signal.
I propose the following behavior:
• if there are no unsaved changes, simply exit
• if there are changes, switch to command mode, and print the same warning
one gets when doing :q

I rely on Vim behaving just as it does:  when I type CTRL-C it
attempts to stop what it's doing but does not exit.  If it happens
to stop just before I type the CTRL-C, it does not exit but prints
the statement,
Type  :quit<Enter>  to exit Vim

This is exactly the behavior I would expect and which I want.  Your
proposal would make it too easy to exit Vim inadvertently.
Regards,
Gary

On Tue, May 23, 2017 at 5:10 PM, lostmsu<EMAIL_ADDRESS>wrote:

A significant milestone was achieved today: Stack Overflow question "How to
exit VIM" reached 1,000,000 views.
It looks like the time has come for a radical change: make VIM finally
behave like any other sane program and respect UNIX SIGINT signal.
I propose the following behavior:
if there are no unsaved changes, simply exit
if there are changes, switch to command mode, and print the same warning one
gets when doing :q

Unix and its command line utilities have a learning curve that is far
different from GUI programs. Unless someone is forced to use vi (or
vim) they generally catch on to the fact it is a command interpreter
that displays text, as opposed to a text editor in the usual sense.
In light of Mr. Wellington's and Mr. Johnson's comments - notably, the
realization that Vim is a command interpreter - I don't think it makes
sense to change anything.

It looks like the time has come for a radical change: make VIM finally behave like any other sane program and respect UNIX SIGINT signal, as well as the default combination used to send it.

Vim already understands how to shutdown gracefully when you kill it with SIGTERM.  SIGINT is for interrupting long-running actions or cancelling out of insert mode.

@fadein , consider this: assuming a typical developer earns $0.5/min, and assuming it takes about 2 minutes to google "How to exit VIM", in past 5 years lacking this feature costed $1kk to the world's economy.

@lostmsu That logic implies that developers never spend time learning the tools of their trade, of which a good editor is one tool.  Learning Vim, which is far more than learning how to exit, is more than worth the investment.

@lostmsu, perhaps that is true, but consider how much more beneficial those typical developers become to the world economy once they attain proficiency with Vim.

As Gary, I rely on ctrl-c to not accidentally quit vim and that would really annoy me, if it did. And since there does not seem consensus to change that behavior, I am closing this. There is also #1719, feel free to comment there and suggest improvements.

@chrisbra , as a note: it looks like you are biased against doing that change for some reason. There are plenty of requests in this issue tracker, that are actively discussed, that stay open way longer than 10 hours before anyone decides, that the consensus is impossible to reach on the matter.
I wonder also if most people exaggerate their annoyance by accidentally exiting vim after hitting Ctrl+C when some long operation just completed. First, people usually not press Ctrl+C unless operation takes noticeable time, which renders probability of it ending when Ctrl+C is about to be pressed very low. Second, in case there's no unsaved change, it should be very easy to restart vim by simply hitting Up followed by Enter. Third, I am sure there are similar scenarios, which lead to annoying accidental actions, which are universally recognized as being OK.

@jamessan

Learning Vim, which is far more than learning how to exit, is more than worth the investment.
That statement is opinionated. My statement on $1kk is factual.

> I wonder also if most people exaggerate their annoyance by accidentally exiting vim
> after hitting Ctrl+C when some long operation just completed.

Interrupting long actions with Ctrl-C is a well known Vim feature, which is documented
(see :help CTRL-C).  Changing this behavior would be jarring to many users.
It would annoy me very much at least if Vim exits when pressing Ctrl-C.

Vim is also used on many different platforms, notably including Windows. It also runs in a GUI on Linux systems, it is not limited to being a terminal application only. Exiting the app when pressing CTRL+C (the normal shortcut for "copy" in most GUIs and Windows in particular) would be extremely jarring and unexpected. We'd get SO many bug reports for that. Making the behavior intentionally drastically different between the GUI interface and the terminal interface would be extremely annoying as well and we'd get more bug reports for that. This idea was poorly thought out and will never work, I agree with it being closed quickly.

@fritzophrenic , your post is an additional example, that some people wanting to close this are rushed to do so. First, this discussion only happens to mention Ctrl+C a lot only because it is the default shortcut to send SIGINT on many operating systems. Since Windows GUI does not send SIGINT when you press Ctrl+C, it should not close the editor.
Second, as mentioned above by other people, Ctrl+C is used for interrupting processes already, and it should continue doing so unless there's no in-progress operation to interrupt (which is also an answer to @dpelle's post).

The average person won't care at all that Linux sends SIGINT when they press CTRL+C but Windows doesn't. All they'll care about is that in Linux they lost 20 minutes re-opening Vim and setting up all the windows and files they had open when all they wanted to do was copy something in exactly the same way they do it in Windows. The user experience should not depend on what goes on under the hood, wherever possible.

@lostmsu
We are reaching bike shedding level here and it is obvious that there are a lot of different views. My fear would be, while making it easier for a new-user to quit Vim this would go against the habbit of normal or power users and that is not worth it IMHO. So I decided to close it. That decision stands.

I hate to beat a dead horse, but this analysis of the question is
rather interesting:
https://stackoverflow.blog/2017/05/23/stack-overflow-helping-one-million-developers-exit-vim/.
It seems like it supports the idea that despite the question's
popularity, most people can figure out how to exit the editor and it
is only certain demographics that have problems with the editor.
However, they still find the answer.
A far more interesting but harder to find statistic is how many people
resort to closing the terminal emulator or killing the vim process
from another virtual terminal. I have heard of this happening but the
number is likely vanishingly small.

@R0b0t1,
After reading the comments on that blog post, I think the problem just comes down to the fact that a modal editor is a foreign concept to ordinary users.
The discussion about demographics, while fascinating, is too imprecise to draw any meaningful conclusions from. The simple fact that SO is an English-language website really skews any demographic inferences which may be drawn from it. And
As far as reports of people closing the terminal out of desperation, I got the sense that most of those comments were in jest. I'm sure that has been done by someone, somewhere, but the tone of the whole discussion was disparaging towards Vim. I came away with the impression that this question exists in SO not as an earnest plea for help, but rather as a barb in the ongoing holy war. I freely admit that this question has been helpful to somebody out there as a side-effect, but after surveying the comments from the peanut gallery I can't help but think that it exists to support the argument that "heh heh, Vim is such a backwards program that 1M people can't figure out how to exit from it, lolz."

I wonder also if most people exaggerate their annoyance by accidentally exiting vim after hitting Ctrl+C when some long operation just completed. First, people usually not press Ctrl+C unless operation takes noticeable time, which renders probability of it ending when Ctrl+C is about to be pressed very low. Second, in case there's no unsaved change, it should be very easy to restart vim by simply hitting Up followed by Enter. Third, I am sure there are similar scenarios, which lead to annoying accidental actions, which are universally recognized as being OK.

None of the above statements is true for me:

I sometimes press <C-c> because I made a mistake and want to correct it, regardless of how much time would operation take to finish. Though this is not very often it happens.
Hitting up followed by <Enter> is highly unlikely to restart Vim and almost never will restart it correctly. First, if you were actually using Vim in a terminal a lot you would new about :suspend/<C-z>; so vim is not the previous command after <C-c> with my workflow, it is fg and there will be a bunch of other commands before, sometimes even another Vim. Second, my normal operation is “open all project files in editor at once then work there for large amount of time”. Killing Vim means loosing jumps, sometimes window layout, current buffer. Not to mention plugin-specific buffers which you do not invoke from command-line. And you did mention unsaved changes, this is also significant.
Where are examples?

If you were ever using Vim only as oneshot editor “open that file, quickly do some changes, save and exit” it does not mean other users do the same.
And interactive terminal apps with more or less complex UI (mostly various REPLs and shells) are more likely to exit after <C-d> then after <C-c>.

Last, but not least: people hitting <C-c> annoyingly to exit Vim and then going to Google, unable to read and follow “Type :quit to exit Vim” or find another way around are too dumb to be CLI users. It would be much better if they never opened a shell and it is definitely not what Vim should care about. Ipython, for example, does not even provide this message (it is one of the interactive terminal apps which exit at <C-d>).

I think the problem just comes down to the fact that a modal editor is a foreign concept to ordinary users.

I don't think so. It might be Vim is the most popular terminal UI application among others. IMO,  means to stop/abort, not to quit. To quit I might try to read the interface for a clue, or try (for interactive shells) and q(for UI without input areas, like htop & mutt).
mutt actually asks to quit or not on , which is annoying, since I mean to stop whatever mutt is currently doing, but not to quit.

Why can't you use nano like other people who don't understand vi or vim?
On Thu, 25 May 2017, R0b0t1 wrote:

I hate to beat a dead horse, but this analysis of the question is
rather interesting:
https://stackoverflow.blog/2017/05/23/stack-overflow-helping-one-million-developers-exit-vim/.
It seems like it supports the idea that despite the question's
popularity, most people can figure out how to exit the editor and it
is only certain demographics that have problems with the editor.
However, they still find the answer.
A far more interesting but harder to find statistic is how many people
resort to closing the terminal emulator or killing the vim process
from another virtual terminal. I have heard of this happening but the
number is likely vanishingly small.

--
Hisashi T Fujinaka -<EMAIL_ADDRESS>BSEE + BSChem + BAEnglish + MSCS + $2.50 = coffee

Most "full" GUIs (programs which can be used only as GUIs) respond
in very similar manner to similar commands: on Linux, Ctrl-Q, and
often but less reliably clicking the [x] at the end of the window
titlebar, will make them exit gracefully.
For interactive console programs it is different: to exit bash you
type exit, which brings you back to the calling shell if there
was one, or logs you out if there wasn't. To exit Lynx you hit q to
exit with an are-you-sure prompt, or Q to exit immediately. To exit
ftp you type quit or exit or bye
Vim is both a GUI and a console program and runs identically in both;
in fact I suspect that Vim (and vi) were developed first as console
editors, and that GUI mode was added afterwards, which explains why
gvim could be regarded as a console-mode program running in its own
GUI-like console. So you exit gvim or vim the same way, and it happens
to be :qa (which will prompt you if you have unsaved files) or
:qa! (if you want to |abandon| anything unsaved).
In order to use Vim efficiently, you have to learn how to. For this,
you need a willingness to run the vimtutor suite and enough curiosity
to peruse the online help (which is the best available help system for
personal computer utilities AFAIK). Vim was developed over the years,
based on Vi which evolved over previous years from a time when the
usual interface with a computer was a teletype console which could not
move backward. So it has it own quirks, which, after some time, feel
"natural" to people who have taken the time to learn them. So what if
Vim behaves differently than Notepad or geditf course it does! It can
do a lot of things that Notepad or gedit cannot, so it's just natural
that it should be different.
Best regards,
Tony.
On Fri, May 26, 2017 at 6:45 AM, vim-dev ML<EMAIL_ADDRESS>wrote:

Why can't you use nano like other people who don't understand vi or vim?
On Thu, 25 May 2017, R0b0t1 wrote:

I hate to beat a dead horse, but this analysis of the question is
rather interesting:
https://stackoverflow.blog/2017/05/23/stack-overflow-helping-one-million-developers-exit-vim/.
It seems like it supports the idea that despite the question's
popularity, most people can figure out how to exit the editor and it
is only certain demographics that have problems with the editor.
However, they still find the answer.
A far more interesting but harder to find statistic is how many people
resort to closing the terminal emulator or killing the vim process
from another virtual terminal. I have heard of this happening but the
number is likely vanishingly small.

--
Hisashi T Fujinaka -<EMAIL_ADDRESS>BSEE + BSChem + BAEnglish + MSCS + $2.50 = coffee
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to<EMAIL_ADDRESS>For more options, visit https://groups.google.com/d/optout.

On Thu, May 25, 2017 at 6:43 PM, erik falor<EMAIL_ADDRESS>wrote:

@r0b0t1,
After reading the comments on that blog post, I think the problem just comes
down to the fact that a modal editor is a foreign concept to ordinary users.

I agree. I don't mean to suggest that the behavior should be changed,
I'm just trying to put the statistic of 1m views into context.

The discussion about demographics, while fascinating, is too imprecise to
draw any meaningful conclusions from. The simple fact that SO is an
English-language website really skews any demographic inferences which may
be drawn from it. And

Some data is better than no data. What I'm trying to point out is a
form of selection bias that the OP was using: the question was viewed
1m times, but how many people didn't need to view it because they had
no problem? Conversely, how many people didn't view it because vim was
so incomprehensible that they had no idea what to search for?
Not to go off on much of a tangent, but a lot of A/B testing an UX
development seems to fall prey to this, even from large companies like
Google. They forget to look at what they didn't test or what isn't
explicitly represented in their data. Generally this leads to changes
for no discernable reason from the user's standpoint.

As far as reports of people closing the terminal out of desperation, I got
the sense that most of those comments were in jest. I'm sure that has been
done by someone, somewhere, but the tone of the whole discussion was
disparaging towards Vim. I came away with the impression that this question
exists in SO not as an earnest plea for help, but rather as a barb in the
ongoing holy war. I freely admit that this question has been helpful to
somebody out there as a side-effect, but after surveying the comments from
the peanut gallery I can't help but think that it exists to support the
argument that "heh heh, Vim is such a backwards program that 1M people can't
figure out how to exit from it, lolz."

The first few times I used vim I admit to closing the terminal
emulator it had run in. This happened maybe 3 times. What I was trying
to point out above is that it's really hard to get a feel for anything
like this, and these are situations which do actually indicate
usability concerns.
That 1m people viewed a post which succinctly answered their question
is almost meaningless.

@jamessan

Learning Vim, which is far more than learning how to exit, is more than worth the investment.
That statement is opinionated. My statement on $1kk is factual.

View counts are indicative, not factual.
In at least one real world case, the view count was caused by bots for
95% (thus the actual user-initiated view count was only 5%, as far as we
could figure this out from the logs).  You can blame the bots or the
server not counting the right hits, it still happens.
--
"The future's already arrived - it's just not evenly distributed yet."
-- William Gibson
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


bug stuck script

Every now and then jobs seem to get stuck on executing scripts. Re-starting the workers doesn't work. Doing a "Reset" command in temporal will re-submit the jobs and suddenly the post tasks will execute without issue. I suspect there's something wrong with how I'm scheduling the work, but will need to investigate and try to find a re-produceable scenario (difficult, as it typically requires a lot of frames to render to occur).

This thread may be helpful in diagnosing the problem (it sounds similar, scheduled but not started)
https://community.temporal.io/t/activity-scheduled-but-not-started-need-help/4313/5

https://community.temporal.io/t/activity-timeout-and-temporal-server-connectivity-issue/8869/2

I've updated my Docker to the latest version of Temporal. Locally, I did not experience this issue (updated) but in my container I did have the problem (old), so I suspect that may have been a part of the problem. Going to do some tests to see if I encounter the issue again.

Seems like the heartbeat fixed that issue, but after updating I now have a new issue to content with...
2024-08-27T17:42:04.546Z [INFO] Worker state changed { sdkComponent: 'worker', taskQueue: 'render', state: 'FAILED' } RangeError: "length" is outside of buffer bounds     at Buffer.proto.utf8Write (node:internal/buffer:1066:13)     at Op.writeStringBuffer [as fn] (/Users/owmo/dev/combomash-orchestrator/node_modules/protobufjs/src/writer_buffer.js:61:13)     at BufferWriter.finish (/Users/owmo/dev/combomash-orchestrator/node_modules/protobufjs/src/writer.js:453:14)     at Worker.handleActivation (/Users/owmo/dev/combomash-orchestrator/node_modules/@temporalio/worker/src/worker.ts:1164:10) {   code: 'ERR_BUFFER_OUT_OF_BOUNDS' }
This runs when running a sequence. My best guess is that it's too much information for Temporal's memory limit...

It looks like that is a Node bug, which is said to be fixed in today's release 22.8.0
https://github.com/nodejs/node/issues/54518
https://github.com/nodejs/node/pull/54524

Down-graded to node@20 and everything is working. I'll install the update tomorrow and verify it's all working.

Installed<EMAIL_ADDRESS>in the package for now to ensure consistency of operation

Latest installation is working without issue, I'm going to continue to use latest node build on the machine for now and will default back to local install if this occurs again for stability. Closing the issue.


Updates the el-collectooorr to use ACN to share tendermint config at startup

Codecov Report
Base: 89.44% // Head: 89.46% // Increases project coverage by +0.01% :tada:

Coverage data is based on head (e25d025) compared to base (8443025).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@                Coverage Diff                 @@
##           bump/oa-v0.5.0     #166      +/-   ##
==================================================
+ Coverage           89.44%   89.46%   +0.01%
==================================================
  Files                  67       69       +2
  Lines                5449     5457       +8
==================================================
+ Hits                 4874     4882       +8
  Misses                575      575

Flag
Coverage Δ

unittests
89.46% <100.00%> (+0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

...r/agents/elcollectooorr/tests/helpers/constants.py
100.00% <100.00%> (ø)

...llectooorr/tests/test_token_vault/test_contract.py
97.39% <100.00%> (ø)

...rr/tests/test_token_vault_factory/test_contract.py
98.62% <100.00%> (ø)

...llectooorr/contracts/basket/tests/test_contract.py
97.87% <100.00%> (ø)

...rr/contracts/basket_factory/tests/test_contract.py
100.00% <100.00%> (ø)

...rr/contracts/token_settings/tests/test_contract.py
100.00% <100.00%> (ø)

...llectooorr/skills/elcollectooorr_abci/dialogues.py
100.00% <100.00%> (ø)

...ollectooorr/skills/elcollectooorr_abci/handlers.py
100.00% <100.00%> (ø)

...lcollectooorr/skills/elcollectooorr_abci/models.py
90.74% <100.00%> (ø)

...kills/elcollectooorr_abci/tests/test_behaviours.py
98.52% <100.00%> (ø)

... and 3 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

#170


Cloudpebble file upload is broken since last update

Hey there!
Since the last update 2-3 days ago we cant upload files to cloudpebble.
I asked in forum if this problem is just for me or for all users - it looks like this is to all users -> so its a bug.
https://forums.getpebble.com/discussion/29326/cloudpebble-file-upload-offline?new=1
@Cloudpebble Team: Please repair the file upload feature in cloudpebble.
Thanks!

Hi there!
Thanks, now you added the Upload Button to the "Upload new Ressource".
But its still missing on the old ressources - to upload a new file for an existing ressource.
@Cloudpebble Team: Please also repar the file upload feature in the existing ressources!
Thanks!

Hi @n3v3r001 , is #232 what you're asking for? This change has been merged should be deployed within a few days.

I mean, the "upload new file for an existing ressource is still missing since last update.
(Look in the screenshot, i cant replace the image currently)

You can't add multiple files for nn SDK 2 resource, it can only have one file. If you had multiple versions of the file, which version would your project use when you reference PNG_BIGDIGIT_0?

I just want to replace the file with a new one - this worked proberbly unitl the last update.
Now the upload button is missing - i cant replace the file
(workaround is to delete the file and upload a new ressource, but this is very cumbersome, because i also need to enter the identifier  and so on..)

Ah yes, OK. As I said before, this feature will return the next time that CloudPebble is deployed. I'll let you know when that happens!

@n3v3r001 the branch has been deployed now, so you should be able to replace files. Does that fix your problem?

Yes it works, thanks :)


Fill in BASH install steps

The installation steps for BASH are currently undocumented.

The install is in there, but how do you get the bash completion set up?


A different approach to fizzbuzz program

Contribution to Hacktoberfest2020 review it and give ur valuable suggestions/advices.Thank You

Thanks!

welcome

is this merge hacktober accepted?? @NLDev

Yea it should be. You can check the status on your profile: https://hacktoberfest.digitalocean.com/profile

So can u put a label of hacktober fest accepted in this merge....

Haven't you checked your profile? The PR should already be there. Read the docs on the website of hacktoberfest. This repository has the hacktoberfest tag.Thus, all PR's that are accepted and do not have the invalid/spam label, are accepted. Adding a label to this PR is redundant. The fact that you asked three times for that shows that you don't really care about contributing to open source by the way... Your solution isn't even that unique/creative. Might as well delete the submission and label this PR as invalid.

So sorry sir I did not want to make u angry it was honestly my first time open source contribution event I have understood completely sry sir really sorry for my stupid behaviour and from next time i will keep this is my mind so sry sir pls forgive me this time.....


WebCompiler: Update to the latest version

As discussed in the discord channel, this PR updates the Excubo.WebCompiler tool to the latest version and solves the process cannot access the file error during build.

@xC0dex I dont think this solves the problem.  This PR uses net7 which has no issues.  You need to remove the global.json to test against net8 sdk


Fix Groovy 2.x examples parent relative path + remove redundant version

I fixed the Maven build.

Without the relative path a build is impossible.
Cosmetics: The removed version is redundant (should use the parent version).

Relates to #18.

Relative path is interesting. Makes me wonder how on earth it works with my mvn version :)
Thanks, I will merge it this afternoon.

Alternatively, you could

either move the examples one directory level up
or create an intermediate module if you plan to have multiple examples sub-modules.

Both variante would help you get rid of the ugly relative path.

I am actually considering to remove examples and make integration tests module instead. With more use cases to cover different spock usages. Thanks for your contribution!

Sneaked in on spock_1.0 branch. Thanks for your contribution!


Enable easier access to the matched route pattern

The short version: In trying to gather statistics for an API, having access to the route pattern that was matched is important but is very hard to access. Endpoint routing makes it easier, but it'd be nice to have even easier access.
It very well could be I'm missing something obvious, and if so, please let me know.
Longer: An API (or web site) may have a route like /api/products/{id}. When gathering statistics about usage, performance, etc. for the API, having access to this route pattern rather than a full route (like /api/products/123) is required to normalize the set of gathered statistics into logical buckets. While at first one might consider the controller/action combination a good fallback, as APIs get refactored, the actual contract that executes is based on the route, not a class/method name, and changing the class/method that handles a given route breaks statistics history.
Effectively, what you want stats on is a combination of route and HTTP verb - GET /api/products/{id} or POST /api/products/{id} for example.
In ASP.NET Core 2.1 you can grab the DiagnosticListener and add a subscriber that handles the OnBeforeAction event, which then provides the ActionDescriptor being executed, which then may or may not have an AttibuteRouteInfo property set from which you can get the route template. That diagnostic listener might look like:
public class TemplateDiagnosticListener
{
    [DiagnosticName("Microsoft.AspNetCore.Mvc.BeforeAction")]
    public virtual void OnBeforeAction(HttpContext httpContext, RouteData routeData, ActionDescriptor actionDescriptor)
    {
        if (actionDescriptor.AttributeRouteInfo == null)
        {
            return;
        }

        var normalizedTemplate = actionDescriptor.AttributeRouteInfo
                                                 .Template
                                                 .ToLowerInvariant()
                                                 .TrimStart('/')
                                                 .TrimEnd('/');
        // Then you can do something with the template.
    }
}

...and you can subscribe with...
var diagnosticListener = app.ApplicationServices.GetRequiredService<DiagnosticListener>();
var myListener = new TemplateDiagnosticListener();
var subscriber = diagnosticListener.SubscribeWithAdapter(myListener);
var appLifetime = app.ApplicationServices.GetRequiredService<IApplicationLifetime>();
appLifetime.ApplicationStopped.Register(() => subscriber.Dispose());

That's pretty painful and I haven't found a better mechanism in 2.1 to get that.
In the 2.2 preview using the endpoint routing it appears you can write some middleware akin to this:
public class EndpointLoggingMiddleware
{
    private readonly ILogger<EndpointLoggingMiddleware> _logger;

    private readonly RequestDelegate _next;

    public EndpointLoggingMiddleware(RequestDelegate next, ILogger<EndpointLoggingMiddleware> logger)
    {
        this._next = next;
        this._logger = logger;
    }

    public async Task Invoke(HttpContext httpContext)
    {
        await this._next(httpContext);
        var endpointFeature = httpContext.Features.Get<IEndpointFeature>();
        this._logger.LogInformation("Request matched: {endpoint}", endpointFeature.Endpoint.DisplayName);
    }
}

As long as that runs before the MVC middleware, that can grab the endpoint feature and get the info you need. However, the endpointFeature.Endpoint still doesn't have easy access to the matched template. Right now you can try to cast to Microsoft.AspNetCore.Routing.Matching.MatcherEndpoint and use the RoutePattern property on that, but that still seems like it's a lot of magic and challenge to get something that should be pretty readily available.
If it's not something handled by MVC/routing, I can see where you may have to fall back to just using the path... but maybe there's also a way for a middleware to manually indicate "here's what I matched!" so it could be used for stats/logging, too.
Is this something that could be improved with the new endpoint routing mechanism? Or is there some facility I haven't found yet that already exists to solve this problem?

Not every endpoint will have a RoutePattern on it. For example if you're using CORS and an invalid HTTP method is received then the endpointFeature.Endpoint will be an Endpoint that returns a 405 response.
What you are doing, casting an Endpoint to a MatcherEndpoint (and testing that it is not null) is perfectly fine. Usually the endpoint will come from a route, but not always.
You could also place attributes on actions, which are added to an Endpoint's metadata, and use that when logging.

I guess I'm just hoping there's an opportunity to improve over what I see are the options today, which seem to be:

Use AttributeRouteInfo where possible and, if not, make a guess assuming it's a convention-based route.
Know about every endpoint type like MatcherEndpoint and try to cast. Adjust any time any change happens to routing that might add different endpoint types or extensions.
Add a custom attribute on every controller/action that basically duplicates all the route pattern information.

I acknowledge that there are cases where there's no route. I get that. I get the CORS example, I get that middleware can grab a path and decide whether or not to handle it, etc. I'm just looking for... well, maybe a pattern or convention for where I can look to see if there was a route pattern matched.
For example, could the route pattern (if matched) be added to the Metadata collection so I can pick it up from a well known location rather than trying to cast types and hope? If so, then I could see middleware also being able to put their own matched routes in the collection using the same convention and it'd be easier to handle. (Note the Metadata collection as a list rather than a dictionary or something seems like it'll still be sort of painful to use. Unclear what other than internals will be able to reasonably take advantage of that.)
Or maybe for endpoints in general the display name could be more oriented toward normalized logging and stats gathering - instead of the display name for a MatcherEndpoint always ending up pointing at a type like EndpointRoutingExperiment.Controllers.ValuesController.Get (EndpointRoutingExperiment) it could be the route template or something usable/parsable.
I'm just now digging into the new endpoint routing stuff so it's hard for me to come up with suggestions on exactly how to make it happen, I'm just really hoping there's something here that can make life easier in this area.

DisplayName is only for display. We don't want to make it parse-able.
Are you worried that there are going to be multiple endpoint types that have RoutePattern on them? In the next preview of ASP.NET Core 2.2 the MatcherEndpoint is being renamed to RouteEndpoint. It is the only implementation of Endpoint.

I discussed this with the team and we have no plans to change routing to use other kinds of endpoints for MVC actions. You will be safe testing the type and getting RoutePattern from RouteEndpoint (aka MatcherEndpoint)
While we could add the RoutePattern to the endpoint's metadata, it would wasteful to do it now just for a what-if scenario. And it is something we could do in the future if this ever becomes a problem.
Does this answer your question?

If it's reasonably safe, casting will work. I appreciate the help and follow-up on this. Thanks!


the "minecraft:" isn't sent by all servers

Specifically 1.13.2 servers that allow 1.14 clients to join. So it crashes on connecting to server with "java.lang.IllegalArgumentException: Value smelting has no mapping for key class com.github.steveice10.mc.protocol.data.game.recipe.RecipeType" because the mapping is minecraft:smelting

I don't usually support protocol hacks for joining different versions, but since the vanilla client does I suppose MCProtocolLib should accept those mappings as well.

Yeah the official Minecraft server/client adds minecraft: to the start if no mod or whatever is specified.

Should be fixed by https://github.com/Steveice10/MCProtocolLib/commit/c792dc022ca598b1687f7799a6332d4f6bd4a08d. Let me know if any more related problems come up.


Error loading feed  ReferenceError: YUI is not defined

Thanks for the prompt support with migration to yahooapis.
Unfortunately, I'm encountering the above error and the message "Oops... Something bad happened, please try later :("
Please help.

@gibinealias trying adding this script above the angular-feeds script tag

@siddii any chance of including this in the documentation or adding it in http://siddii.github.io/angular-feeds/app/angular-feeds/angular-feeds.js ?


Interface with val and vars

Re: https://github.com/Zhuinden/guide-to-kotlin/wiki/1.)-Major-Syntax-Differences#interfaces-with-val-var-and-fun
I would add that you can define a default implementation in the interface
interface MyContract {
  var value: String
  val name: String
  val params: Map<String, String>
     get() = emptyMap()

  fun doSomething(input1: String, input2: String) {
    // Default Implementation that does nothing
  }
}

Default implementations are great especially when you add an optional feature to an interface later. You don't break the existing implementations if you have a default implementaiton.
And that using properties instead of methods is such a great idea because you can use all the powerful encapsulation features that come with properties.
Like defining the overriding properties in the constructor
class SimpleContract(override var value: String, override val name: String)
  : MyContract

I actually have default implementations in a different section at https://github.com/Zhuinden/guide-to-kotlin/wiki/2.)-Basic-Kotlin-Features#interfaces-and-default-implementation
However I did miss override val for some reason and should definitely add that.


few improvements

- powershell.Execute
use .'/path/to/file.ps1'  instead of &'path/to/file'
Current version runs as job, so it's just printing standard output, and not loading variables to current session (say if I execute $a = 10; Wrote-Host $a I'll see output on the terminal, but variable $a won't be created)
Also, need some setting to skip Y/N prompt (and save file by default). Or a separate command like powershell.ExecuteForce.
- Readme
Move polyglot and coc-snippet to prereq section (first one is required to make it work). Also, snippet seemed to work with older versions of neovim (tried on 0.34), do we need a note about 0.4 version?
(not important)  looking for some way to hide pwsh buffer from airline's tabline. Looks like its possible to hide all terminals (using let g:airline#extensions#tabline#ignore_bufadd_pat), wondering if there is a way to hide just integrated pwsh? Similar to how NERDTree is hidden

- Readme
Move polyglot and coc-snippet to prereq section (first one is required to make it work). Also, snippet seemed to work with older versions of neovim (tried on 0.34), do we need a note about 0.4 version?

I don't think polyglot is completely needed. Without it you need to set your file language yourself though. As for coc-snippet, the note about it needing 0.4 is straight from it's readme. Although I too had it working fine with "stable" versions of neovim.

@corbob do you mean it can work with any other syntax highlighter? I guess it's still a dependency though.

(not important) looking for some way to hide pwsh buffer from airline's tabline. Looks like its possible to hide all terminals (using let g:airline#extensions#tabline#ignore_bufadd_pat), wondering if there is a way to hide just integrated pwsh? Similar to how NERDTree is hidden.
Or other good option - open ps console prior the ps1 file, so console will be buffer 1 and file buffer 2

This will hide the integrated console at startup:
"powershell.integratedConsole.showOnStartup": false

@TylerLeonhardt   I wanted to keep console, but hide it from tabline (similar to vscode), which I guess can be achieved with some simple tweaks. Now I realized that toggling (show/hide) that console would be extremely useful. I'll probably open a new issue for that

Now I realized that toggling (show/hide) that console would be extremely useful. I'll probably open a new issue for that

This should probably come from coc.nvim so that all extensions that use terminal's can take advantage of it.


Fix clippy warnings

Some changes here seem breaking, but I'm pretty sure they are crate internal and that's why the warnings fired. This most likely needs checking though.

Ignored the warning causing --fix to add the weird backticks.


LLOS and RLOS - tab highlighting reverses when mouse cursor moves

Issue
While testing the Visibility Add-In in ArcGIS Pro 2.6 in dark theme mode.
I noticed that the highlighting of the tabs for the LLOS and the RLOS get reversed when mouse courser moves away from tool interface.

Expected Behavior
These tabs should remain appropriately highlighted while add-in is active.
Detailed steps

Launch ArcGIS Pro 2.6
Open the Visibility Add-In through the Add-In tab
Click on the LLOS tab and move mouse cursor away from tool
Click on the RLOS tab and move mouse cursor away from tool
Observe how tab highlighting gets reversed.

Additional Info:
ArcGIS Pro Build
ArcGIS Pro 2.6.0 alpha3+build 23550
Visibility Add-In Version and Date:

@dfoll  - Please provide feedback on this new issue....

Successfully tested on ArcGIS Pro 2.6
Add-In release date: 9 MARCH 2020
Issue has been fixed


Fixed bug

I fixed the bug I encountered in isssue #33

I only changed the file within the src folder, I didn't want to change the items in the dist folder.

Hi @DylanBulmer ,
Thanks for the PR. much appreciated!!
Can you please change your PR to not remove variable declaration from everywhere? I don't want to have conflicts with other global variables from somewhere else because of addition of this library.

I'm not changing any global variables I thought. I added in a comment in the beginning to help the intelli-sense let me know how to handle different parts of the code. I removed some unnecessary parentheses and the var keyword that was in front of already declared variables from the parameter lists.
I can re-upload the code without those changes if you'd like.

@DylanBulmer you aren't changing any global variables but if the user's project has global variable e, that will lead to conflicts. It is better to write the library code specifically always. Can you please leave the var as it is?

Hi @DylanBulmer just tested the code, the test1 is failing. FYI, there are two test folders which needed to pass for me to accept this PR.
Please check by:

Moving the scrollbar (with mousewheel)
Clicking in the scroll region, to move the scroll bar automatically at that position
Dragging the scrollbar with mouse
Resizing the window and checking (for test2)

Please let me know if you need more help.
Thanks.

Ah, ok, I can look into that, it might take a little bit since finals week is this week, but I'll make sure that I'll fix it so both tests pass.


Can't "pip install ravenpy[gis]" on ARM-based Mac architectures

RavenPy version: (whatever comes currently with pip install; ravenpy-0.14.1)
Python version: 3.10.13
Operating System: MacOS Sanoma 14.2.1 (23C71) on Apple M2 Max

Description
I try to pip install RavenPy[gis] and it does throw error messages. I am guessing because there is and issue with compiling the Raven code, i.e.,
      /private/var/folders/mc/ks_z5qjs1bq7m6kgtlx1_v940000gn/T/pip-install-ygjkwybk/raven-hydro_b3e722675cf448a4a4531ae189487ef1/RavenHydroFramework/src/SubBasin.cpp:1784:25: error: use of undeclared identifier 'finite'; did you mean 'isfinite'?
            ExitGracefullyIf(!_finite(_aUnitHydro[n]),
                              ^
      /private/var/folders/mc/ks_z5qjs1bq7m6kgtlx1_v940000gn/T/pip-install-ygjkwybk/raven-hydro_b3e722675cf448a4a4531ae189487ef1/RavenHydroFramework/src/RavenInclude.h:1468:20: note: expanded from macro '_finite'
      #define _finite(v) finite(v)
                         ^
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/usr/include/c++/v1/math.h:403:80: note: 'isfinite' declared here
      _LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool isfinite(_A1 __x) _NOEXCEPT {
                                                                                ^
      1 warning and 1 error generated.

The full output is attached.
compile_msg.txt

Hey Julie,
Are you using a new architecture Mac? The issue has to do with the newer standards for clang and is a problem with RavenHydroFramework. James just released released a new version that should let us add a few more build architectures (I'm out of the office at the moment, but will be doing that when I get back), but apparently the problem requires a bit more effort for the ARM-based Macs. He's aware of the problem.

If the user provides an executable, I'd hope it also runs. :D But that's probably not what you mean.

One subtlety is that by controlling the build, we're able to create a shared library that let's us interact directly with the RavenC library. It's very superficial for now, but I'm hoping we can use this strategy and the BMI interface to reduce IO and improve performance in the future.


Not able to Sort the component

I want a sortable component, I am able to drag but while dropping it return back to its original position how to make it stay in the position where it has been dropped

Hi @uc-des, you will need to correctly define onRowMoved to represent the new order of the data for the drop to stay.

Hi deanmcpherson
Thanks for your response
I am trying to define  onRowMoved but not able to do it can you please help me out.


issue/1985-fromCharCode-enhancement

For stringUtil.fromCharCode when creating a new string from the given array of char codes break the array in smaller chunks to avoid stack errors on low end devices

#1985

Thank you for this contribution.  We spent some time discussing this internally, and we've decided to go with a slightly different fix, which will detect and adapt the chunk size to the device capabilities.

Sounds good! How can I track that change - I would like to get updates when that will be added thanks!

It went out to the master branch in 7bbca07, and I'll cherry-pick that to v2.5.x and release it in v2.5.3.  In the mean time, you can use the master branch or our nightly build on appspot, which will have the fix around 4am PDT.


Dockerize Testing, Enable Tests Requiring Sudo, Update Docs

This PR Dockerize's the testing so that it is portable - you can run tests from OSX without getting complaints about Netlink @nerdalert
We enable the tests that were disabled as they required sudo, and include logic to skip them if tests are not being run as the root user.
Finally, I've moved the Hacking section out of README.md to HACKING.md and added sections on Development Environment and Running the Tests

Refer to this link for build results (access rights to CI server needed):
http://jenkins.socketplane.io/job/socketplane/11/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
http://jenkins.socketplane.io/job/socketplane/12/
Build Failed!

recheck

Refer to this link for build results (access rights to CI server needed):
http://jenkins.socketplane.io/job/socketplane/13/
Success!


Splash screen has wrong version

0.67 splash screen says 0.6.6 while the little blue cylon eye is going back and forth.

fixed


Use DEX for crossbow damage rolls?

There was an old bug a year (or more) ago that let you use dexterity for crossbow damage rolls. This was fixed, would  it be possible to make a mythic feat or make mythic weapon finesse apply to crossbows as well?

Homebrew Archetypes has this feat if you're down!
https://www.nexusmods.com/pathfinderwrathoftherighteous/mods/279


Fixes resource_strip_prefix on Windows

This introduces a build/test case which fails on Windows (with resource_strip_prefix used leaving / as first char) with:
PS C:\Users\...\rules_scala> bazel build //test/resource_strip_prefix/...
INFO: Analysed target //test/resource_strip_prefix:test-lib (1 packages loaded, 3 targets configured).
INFO: Found 1 target...
ERROR: C:/users/.../rules_scala/test/resource_strip_prefix/BUILD:3:1: scala //test/resource_strip_prefix:test-lib failed (Exit 1)
java.nio.file.AccessDeniedException: test\resource_strip_prefix\src\test\resources\resource.txt -> \resource.txt
        at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83)
        at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
        at sun.nio.fs.WindowsFileCopy.copy(WindowsFileCopy.java:205)
        at sun.nio.fs.WindowsFileSystemProvider.copy(WindowsFileSystemProvider.java:278)
        at java.nio.file.Files.copy(Files.java:1274)
        at io.bazel.rulesscala.scalac.ScalacProcessor.copyResources(ScalacProcessor.java:309)
        at io.bazel.rulesscala.scalac.ScalacProcessor.processRequest(ScalacProcessor.java:73)
        at io.bazel.rulesscala.worker.GenericWorker.run(GenericWorker.java:114)
        at io.bazel.rulesscala.scalac.ScalaCInvoker.main(ScalaCInvoker.java:41)
Target //test/resource_strip_prefix:test-lib failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 4.016s, Critical Path: 2.98s
INFO: 0 processes.
FAILED: Build did NOT complete successfully

and fixes it in ScalacProcessor.java

The windows test failed with an error that the worker sent an unparseable result. I restarted it, but it is a bit concerning. I don't recall seeing that in osx/linux.
This would happen if there is a println somewhere since the workers operate with stdin/stdout.

windows build failed again. Can you take a look and diagnose?

do you want to merge master and try again?

@majcherm-da do you think you'll have capacity for this?

@majcherm-da is this still relevant?
@d-haxton @simuons maybe one of you can say after the changes you did in that area?

closing as stale, feel free to reopen


Changes required for Minimal Hosting Model

I'm trying to port this to another site which is on Umb V13.3.2 and uses the minimal hosting model (i.e. no startup.cs). Using the same credentials as the this package on localhost, I don't get any login providers so I don't get the "Login with Open ID Connect" button. I was wondering if I need to add a composer so Program.cs picks it up.  Not sure what needs to be done to convert to the minimal hosting model.
Please advise.
Thanks

I haven't tried the minimal hosting model yet. Maybe these docs can help: https://docs.umbraco.com/umbraco-cms/tutorials/add-google-authentication

The minimal hosting model is just how Umbraco 13+ is out of the box. It no longer has a startup.cs. Is the startup.cs in the repo just a hangover from converting from V11-12?  I was trying to work out if the reason I wasn't getting any login providers was because something wasn't registered correctly. The startup.cs is confusing as it doesn't exist now in a normal Umbraco 13+ installation. I feel as if I'm so close to getting it all working but I can't translate your work directly, or I've made a mistake somewhere else, but I don't think I have ;)

Hi,
I did a complete rebuild for Umbraco 14. It uses the minimal hosting model. You can find the PR here: https://github.com/jbreuer/Umbraco-OpenIdConnect-Example/pull/12. It has been merged into the main branch and you can find it here in Umbraco-OpenIdConnect-Example-v14+.

Great. As soon as we can get it running, I'll hopefully see what's needed to integrate it into a V13.5 site. Can't run at the moment due to issue 13.  I'm guessing the V14 core section will translate easily to V13.5 as V14 is all about the Back Office front end.


prepare 0.18

update dependencies
bump version

Description
A concise description of the proposed changes and/or a reference to the Github
issue.
Checklist

[ ] I added tests that cover my proposed changes.
[ ] I updated the documentation related to my changes (if applicable).

Coverage: 98.056% (-1.7%) from 99.757% when pulling 58a30f81ae9562d6c597b63d3b16b1295519a8f2 on prepare-0.18 into e6cc0d6c6d5bd7d4d77da16416a3b289989f3833 on main.


💄 🎨 create the consultancy page hero section #74

Description
A nice hero section on the consultancy page that captures attention and introduces the page content.
Fixes #74
Type of change

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

Screenshot (optional)
Desktop

Tablet

Mobile

Checklist

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

Did this with @https://github.com/paul-nadola

Good attempt closing this pr as it is already done, please pick another issue


Create CupertinoTextFormField

TextFormField supports parameter validator
CupertinoTextField now exists
so... adding CupertinoTextFormField supporting validator parameter would be great

Will update yall as I go. Just took over the issue.

For anyone following this issue, I would like to hear your thoughts on CupertinoFormRow: #69916

This widget has been created.


Add support for different sync permission levels

With sync, we can get a different combination of read, write, and manage permissions for another user's Realm.
Right now, we get an error if we try to open a realm with just read permissions (the session throws permission denied exception). I haven't investigated what happens when we try to open a write-only realm, but I guess it's not supported either.
I assume that, in order to exercise the manage permission, we'll just have to open the other user's management realm, which I guess should be done by the binding.

Right now, we get an error if we try to open a realm with just read permissions

This sounds like a bug. You should obviously be able to open it if you have permissions to read it. It should only fail if you try to write to it.

It could be classified as a bug that stems from lack of support for that case. Right now, OS is not aware of the fact that synced realms may be read only, so it doesn't take any steps to prevent writes - @jpsim  explained that creating the schema will trigger a write, which in turn invalidates the session. Here's a transcript from the discussion on Slack (internal link).

As we differentiate in the product repo between the different permissions and the discussion here so far has been about support for read-only Realms, which also seems to be easier to achieve, I've changed this issue to track only what would be required by https://github.com/realm/product/issues/195.


support for MediaPackage VOD

Hi @ffiore1,
Yes, we do plan on working on this solution in the next few months. Our main priority for the next
release is to add support for MediaPackage VOD and address any outstanding issues (such as the
metadata file not overwriting the defaults).

@dscpinheiro that would be very interesting.
Just trying to use MediaConvert with this stack, but facing few issues with an our partner: their mini set top box seems able to play clips encoded/drm-ed with MediaPackage but not with MediaConvert. Probbly, we might to play around with the Mediaconvert settings.
How might we integrate the two with this solution/stack? We could extend that and use the MP api (create asset etc.) to generate the new asset like we are already curently doing for the live2vod.
To implement that, going in your same direction, how are you going to do that? .smil file?
https://docs.aws.amazon.com/mediapackage/latest/ug/supported-inputs-vod.html
would you have any beta of that I might start playing with? any indicative deadline for that?
thaks, any help would be really appreciated

Hi @ffiore1,
Our goal is to add MediaPackage VOD as an optional part of the workflow. If enabled, we will use the HLS output of the MediaConvert job as the input for an asset.
As I commented on the other issue, it's something we're working on for the next release, but unfortunately we cannot commit to any deadlines. We'll update the repository as soon as it's ready.

That's great news, so I will use that as some point!
Thanks

Hi @ffiore1,
We just released a new version of the solution (v5.0.0 - https://aws.amazon.com/solutions/video-on-demand-on-aws/), and support for MediaPackage VOD is included.
Please refer to the implementation guide for more details: https://docs.aws.amazon.com/solutions/latest/video-on-demand/welcome.html

@dscpinheiro I read that you reccomend a new stack for the upgrade to the new release.
we would like to keep the existing data in the Dynamo db table.
any changes in the db? should we export/import the data?
which is your advice on that?

We'll write a blog post about this new release, and there will be a section about importing data from a previous version.
In summary, here's what you'd have to do:

Launch the new version
Export / import the data from the previous DynamoDB table to the new table (the data changes are described on the changelog file)

We also recommend not deleting the existing stack while you're testing. If you do that, the Dynamo table and CloudFront distribution will be deleted, and the urls on the new table will be broken.

@dscpinheiro
sorry I can't find the details you mention about the the data changes which should be described on the changelog file.
will the export/import work without any  drawbacks?

Hi @ffiore1,
Here's an example of the same file being processed in different versions of the solution:
V4:
{
    "archiveSource": true,
    "cloudFront": "D123456789012.cloudfront.net",
    "dashPlaylist": "s3://vod-v4-destination/random-guid/dash/video.mpd",
    "dashUrl": "https://D123456789012.cloudfront.net/random-guid/dash/video.mpd",
    "destBucket": "vod-v4-destination",
    "ecodeJobId": "job-id",
    "encodingProfile": 1080,
    "EndTime": "2019-12-13 12:03.0",
    "frameCapture": true,
    "frameCaptureHeight": 1080,
    "frameCaptureWidth": 1920,
    "guid": "random-guid",
    "hlsPlaylist": "s3://vod-v4-destination/random-guid/hls/video.m3u8",
    "hlsUrl": "https://D123456789012.cloudfront.net/random-guid/hls/video.m3u8",
    "jobTemplate": "vod-v4_Ott_1080p_Avc_Aac_16x9_qvbr",
    "mp4Outputs": [
        "s3://vod-v4-destination/random-guid/mp4/video_Mp4_Avc_Aac_16x9_1920x1080p_24Hz_6Mbps_qvbr.mp4",
        "s3://vod-v4-destination/random-guid/mp4/video_Mp4_Avc_Aac_16x9_1280x720p_24Hz_4.5Mbps_qvbr.mp4"
    ],
    "mp4Urls": [
        "https://D123456789012.cloudfront.net/random-guid/mp4/video_Mp4_Avc_Aac_16x9_1920x1080p_24Hz_6Mbps_qvbr.mp4",
        "https://D123456789012.cloudfront.net/random-guid/mp4/video_Mp4_Avc_Aac_16x9_1280x720p_24Hz_4.5Mbps_qvbr.mp4"
    ],
    "srcBucket": "vod-v4-source",
    "srcHeight": 1080,
    "srcVideo": "video.mp4",
    "srcWidth": 1920,
    "startTime": "2019-12-13 12:03.3",
    "thumbNail": [
        "s3://vod-v4-destination/random-guid/thumbnails/video_tumb.0000004.jpg"
    ],
    "thumbNailUrl": [
        "https://D123456789012.cloudfront.net/random-guid/thumbnails/video_tumb.0000004.jpg"
    ],
    "workflowName": "vod-v4",
    "workflowStatus": "Complete",
    "workflowTrigger": "Video"
}

V5:
{
    "archiveSource": true,
    "cloudFront": "D123456789012.cloudfront.net",
    "dashPlaylist": "s3://vod-v5-destination/random-guid/dash/video.mpd",
    "dashUrl": "https://D123456789012.cloudfront.net/random-guid/dash/video.mpd",
    "destBucket": "vod-v5-destination",
    "enableMediaPackage": false,
    "encodeJobId": "job-id",
    "encodingProfile": 1080,
    "endTime": "2019-12-13T12:03:42.681Z",
    "frameCapture": true,
    "frameCaptureHeight": 1080,
    "frameCaptureWidth": 1920,
    "guid": "random-guid",
    "hlsPlaylist": "s3://vod-v5-destination/random-guid/hls/video.m3u8",
    "hlsUrl": "https://D123456789012.cloudfront.net/random-guid/hls/video.m3u8",
    "inputRotate": "DEGREE_0",
    "isCustomTemplate": false,
    "jobTemplate": "vod-v5_Ott_1080p_Avc_Aac_16x9_qvbr",
    "mp4Outputs": [
        "s3://vod-v5-destination/random-guid/mp4/video_Mp4_Avc_Aac_16x9_1920x1080p_24Hz_6Mbps_qvbr.mp4",
        "s3://vod-v5-destination/random-guid/mp4/video_Mp4_Avc_Aac_16x9_1280x720p_24Hz_4.5Mbps_qvbr.mp4"
    ],
    "mp4Urls": [
        "https://D123456789012.cloudfront.net/random-guid/mp4/video_Mp4_Avc_Aac_16x9_1920x1080p_24Hz_6Mbps_qvbr.mp4",
        "https://D123456789012.cloudfront.net/random-guid/mp4/video_Mp4_Avc_Aac_16x9_1280x720p_24Hz_4.5Mbps_qvbr.mp4"
    ],
    "srcBucket": "vod-v5-source",
    "srcHeight": 1080,
    "srcVideo": "video.mp4",
    "srcWidth": 1920,
    "startTime": "2019-12-13T12:03:00.006Z",
    "thumbNail": [
        "s3://vod-v5-destination/random-guid/thumbnails/video_tumb.0000004.jpg"
    ],
    "thumbNailUrl": [
        "https://D123456789012.cloudfront.net/random-guid/thumbnails/video_tumb.0000004.jpg"
    ],
    "workflowName": "vod-v5",
    "workflowStatus": "Complete",
    "workflowTrigger": "Video"
}


Activate Search

It would be great if one could activate the search functionality by hitting enter after entering the search term instead of having to press the search button.

Thank you, this is planned for an optimized version of the search plugin but I have no release date for it.

I think that is possible for quite some time now, anyway, I plan a new search plugin that will have more features.


Display correct drive size + fix typo

Hi, and thank you! Ok to the typo, I'll look to the other change.

Great! awesome script!

I'll merge this to display the correct Dize. Working on a better way to handle the hard drive configuration.
Thank you vmavromatis.


Scanner detection not worked on modsecurity 3.x if SecRequestBodyAccess is Off

Describe the bug
I have a little problem with moving from modsecurity 2.9.3 on Apache to modsecurity 3.0.4 on nginx.
For checking I do request with curl like:
curl -H "User-Agent: Nikto" [my_host]
In my configuration i use "SecRequestBodyAccess Off". This needed to make fastest checks and go further.
When I use ruleset with modsecurity 2.9.3 on Apache with "SecRequestBodyAccess Off" all works fine. Rule with id 913100 from REQUEST-913-SCANNER-DETECTION.conf block my request.
When I use modsecurity 3.0.4 on nginx this rule doesn't block my request. Seems like rule 913100 don't be executed in this case at all (based on modsecurity logs:  "[160585442791.933958] [/] [4] Request body processing is disabled").
Background.
As far as i could see behaviour of SecRequestBodyAccess was changed in modsecurity 3.x against modsecurity 2.x. At modsecurity 2 this parameter just avoid reading of request body, but rules at phase 2 works if they don't depend on request body. But since version 3 if this parameter if Off, any rules in phase 2 just dropped.
For some reason rules in REQUEST-913-SCANNER-DETECTION.conf file checks REQUEST_HEADERS, but placed to phase 2. Not sure why, maybe someone can help with it?
Proposal.
Seems like there can be fixed with moving this rules (that checks only request headers, but not request body) from phase 2 to phase 1. I could try to make PR about it if this is fine from your point of view.
Steps to reproduce

Use modsecurity 3.0.4 with nginx
Add "SecRequestBodyAccess Off" to modsecurity configuration
Make request:
curl -H "User-Agent: Nikto" [my_host]
Request passed, nothing in modsecurity audit log.

Expected behaviour
Request is blocked just like in case with apache and modsecurity 2.x.
Actual behaviour
Request passed, nothing in modsecurity audit log.
Your Environment
Ruleset version:  3.0.2, also checked on 3.4/dev branch with same result.
Paranoia level: 1
ModSecurity version: 3.0.4
nginx version: nginx/1.18.0
OS: CentOS-7

Hi @SandakovMM,
thanks for reporting, we'll investigate this issue soon.

Hi @SandakovMM,
thanks again this report - looks like this is a ModSecurity bug. I've created a new issue at there, and now I'm going to close this one.
Btw keep in touch with me, we're planning to move some rules from phase:2 to phase:1, hope that will solve your problem.

Hi @SandakovMM,
just for your information: there is a PR (#1941), you can check with your instance - hope that will solve your problem.

Hooray! Thank you very much @airween

Hi @airween
I checked ruleset with your fix. Original problem is fixed as far as I could see. With this ruleset I get messages from rule 913100 in audit log. Thank you for a fix again :)
But there is another problem. When I using ruleset with modsecurity 2.9.4 on apache, request is blocked with code 403. But not in case with modsecurity 3.x + nginx.
I made a little research about it. Seems like base problem is same: phase 2 rules not executed. Based on audit log from apache, I found out that request is blocked by rule with id 949110 from REQUEST-949-BLOCKING-EVALUATION.conf.
When i moved this rule and some another connected rules("id:949060, "id:949061, "id:949062, "id:949063) to phase 1 problem is gone. But as far as i understood this is totally wrong decision, because rule 949110 needed to use anomaly score from phase 2 such as from phase 1. So if we moved it to phase 1, there is no rule that can react to anomaly score at phase 2. Am i right?
Also i must add a little context about crs-setup.conf. I using this rules as default action:
SecDefaultAction "phase:1,log,auditlog,pass"
SecDefaultAction "phase:2,log,auditlog,pass"

If i remove them with:
# SecDefaultAction "phase:1,log,auditlog,deny,status:403"
# SecDefaultAction "phase:2,log,auditlog,deny,status:403"

requests is going to be blocked on 913100 failed as expected.
Seems like this is question can be moved to another issue, whichever is more convenient for you.

Hi @SandakovMM,

I checked ruleset with your fix. Original problem is fixed as far as I could see. With this ruleset I get messages from rule 913100 in audit log. Thank you for a fix again :)

You're welcome - it's good to see that helped to you.

But there is another problem. When I using ruleset with modsecurity 2.9.4 on apache, request is blocked with code 403. But not in case with modsecurity 3.x + nginx.
I made a little research about it. Seems like base problem is same: phase 2 rules not executed. Based on audit log from apache, I found out that request is blocked by rule with id 949110 from REQUEST-949-BLOCKING-EVALUATION.conf.

Yep, I see your pain. But I'm afraid we can't help it immediately.

When i moved this rule and some another connected rules("id:949060, "id:949061, "id:949062, "id:949063) to phase 1 problem is gone. But as far as i understood this is totally wrong decision, because rule 949110 needed to use anomaly score from phase 2 such as from phase 1. So if we moved it to phase 1, there is no rule that can react to anomaly score at phase 2. Am i right?

Yes, you're absolutely right.
I've added a comment to the issue at ModSecurity. If you want to follow that thread, you can subscribe it.

Also i must add a little context about crs-setup.conf. I using this rules as default action:
SecDefaultAction "phase:1,log,auditlog,pass"
SecDefaultAction "phase:2,log,auditlog,pass"

If i remove them with:
# SecDefaultAction "phase:1,log,auditlog,deny,status:403"
# SecDefaultAction "phase:2,log,auditlog,deny,status:403"

requests is going to be blocked on 913100 failed as expected.
Seems like this is question can be moved to another issue, whichever is more convenient for you.

We (CRS team) will have the meeting next Monday, hope we can discuss this request.


SPM tweaks, contributors fixes, initial name set addition

Heya folks! Another round of some changes:

Fixed the directory hierarchy so the mkdoc configuration is more sane (and because it just makes sense)
Fixed contributors being lost by adding an outside set of configs! Now, just tag your preferred contribution type to the file and you'll pop right up in the final markdown! @shirblc, take a quick peak at the changed .md files to make sure it came across alright. I did some automatic cut/pasting, so I think it came out alright.
Used the initial name set from @shirblc to setup a similar config for usernames to map them into place within the message parser. We've got a few names in there now too! (TODO: Mentions ;))
Rebuilt the executable
Fixed .gitignore cache and added shared schemes, removed .ds_stores, etc.

Should we merge this and edit after? That way we would also test the script? 🤷♂ @tikimcfee @shirblc

We could, it'll definitely be interesting to see how it works. The other thing I've just realised is that the markdown files are still in the wrong folder, aren't they? But we can move them after we rerun it, since we'll need to move the files afterwards anyway

Sounds good!
It's kinda iffy without testing this IRL and only locally, I hope that domain thing comes through in the next 12hrs so we can see this build 🙌

Hope so too 🤞
I'm pulling the latest and I'll run the whole thing with the contributors and the name mapping (probably tomorrow morning though), it shouldn't take long. Hopefully by then the domain mapping will finally be done so we'll see it, like you said. Will be really cool to see the updated site with all the data!


[BiliBili] Unable to download JSON metadata

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2022.10.04 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
United States
Provide a description that is worded well enough to be understood
I don't know anymore than the debug logs
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
❯ yt-dlp -Uv https://www.bilibili.com/video/BV1LK4y1v7ke/
[debug] Command-line config: ['-Uv', 'https://www.bilibili.com/video/BV1LK4y1v7ke/']
[debug] Portable config "~\scoop\apps\yt-dlp\current\yt-dlp.conf": []
[debug] Encodings: locale cp65001, fs utf-8, pref cp65001, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.10.04 [4e0511f] (win32_exe)
[debug] Python 3.8.10 (CPython 64bit) - Windows-10-10.0.20152-SP0
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg N-108915-g5661c8715c-20221102 (setts), ffprobe N-108915-g5661c8715c-20221102
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.09.24, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Loaded 1690 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.10.04, Current version: 2022.10.04
yt-dlp is up to date (2022.10.04)
[debug] [BiliBili] Extracting URL: https://www.bilibili.com/video/BV1LK4y1v7ke/
[BiliBili] 1LK4y1v7ke: Grabbing original ID via API
ERROR: [BiliBili] Unable to download JSON metadata: <urlopen error [Errno 11004] getaddrinfo failed> (caused by URLError(gaierror(11004, 'getaddrinfo failed')))
  File "yt_dlp\extractor\common.py", line 672, in extract
  File "yt_dlp\extractor\bilibili.py", line 161, in _real_extract
  File "yt_dlp\extractor\bilibili.py", line 406, in _get_video_id_set
  File "yt_dlp\extractor\common.py", line 1032, in download_content
  File "yt_dlp\extractor\common.py", line 996, in download_handle
  File "yt_dlp\extractor\common.py", line 866, in _download_webpage_handle
  File "yt_dlp\extractor\common.py", line 823, in _request_webpage

  File "urllib\request.py", line 1354, in do_open
  File "http\client.py", line 1252, in request
  File "http\client.py", line 1298, in _send_request
  File "http\client.py", line 1247, in endheaders
  File "http\client.py", line 1007, in _send_output
  File "http\client.py", line 947, in send
  File "http\client.py", line 918, in connect
  File "socket.py", line 787, in create_connection
  File "socket.py", line 918, in getaddrinfo
socket.gaierror: [Errno 11004] getaddrinfo failed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "yt_dlp\extractor\common.py", line 805, in _request_webpage
  File "yt_dlp\YoutubeDL.py", line 3682, in urlopen
  File "urllib\request.py", line 525, in open
  File "urllib\request.py", line 542, in _open
  File "urllib\request.py", line 502, in _call_chain
  File "yt_dlp\utils.py", line 1334, in http_open
  File "urllib\request.py", line 1357, in do_open
urllib.error.URLError: <urlopen error [Errno 11004] getaddrinfo failed>

I had the same problem. It was worked about 1 month ago.

This issue has been fixed in master (ad97487606c87878aa06b736a72ffde15056bdd4, c90c5b9bddfaa36afd07db676e351571fce102e8). Please wait for the next release, use the master branch, or try the next release of the unofficial daily builds

The latest daily build should contain these commits


[Feature]: Is the change from steering from Gridpoint to SOC the best choice?

Contact Details
No response
Description
I'm not sure if i'm disrupting the current process, but I want to bring my opinions about the change from setpoint to SOC steering.
It looks like this change makes the system less flexible to real-life changes. For example if on an hour there is more sun as forecasted the system will stop charging the battery when it reaches the configured soc. It even could be it will be charging from the grid the next hour, when the prices have gone up. It good be the 'disable battery' was technically a problem, but the system as a whole worked quite good and maybe more important predictable.
In general I've seen the system feeding to the grid and charging from the grid more than in the previous versions. I'm not sure if this is a bad, or good thing as I don't have detailed insights in the system loses. I assume are higher when charging from the grid than when you charge from the MPPT solar. Looking at the sell and buy prices I've configured it doesn't have much sense to sell during the day as the sell price is lower than cheapest buy price for an extended period.
Last comment. I still use your system with a positive vibe. Even if it is not squeezing the last cent of profit I do see it getting better and better and not having to worry is a great plus for me also.
Suggested Solution
Just to express some thoughts from a user perspective.
Alternatives
I have been looking to https://github.com/corneel27/day-ahead but implementation is complicated and depended on extra hard and software.
Additional Context
No response

Please never stop charging the battery before 100% is reached from solar if the sun is shining  ... the price of the energy from solar is in 95 % of the cases cheaper as from grid for most of the people!

loading battery is limited and solar power goes to grid  :-/

selling to grid and battery is not full :-/

Please never stop charging the battery before 100% is reached from solar if the sun is shining ... the price of the energy from solar is in 95 % of the cases cheaper as from grid for most of the people!

Don't think this is the case. It could be better to sell the electricity now directly via the grid and charge the battery later when the prices are lower. If you base your calculations all on predictions, this really makes sense. The problem is when reality is (a lot) different from the forecasts.

momenta where we have to switch off dynamic ESS .... it's not dynamic ;-)

I'm more concerned about the consequences as seen at 9 o'clock in this graph:

buy: 2,803* 0,317 = 0,889 sell: 2,661* 0,38 = 1,011 profit = 0,122 extra costs = 0,205 * 0,439 = 0,09
This is more than 60% of the profit lost, just by overshooting at 9 to charge the battery from the grid.

Same for me today ... ignore the best time to load the battery

What was the vrm id of that site again?

and my is

@pokeplayer2: Quite sure that your issue is not the same as the one of @MichaKersloot. In his case the system is not ignoring the best time to load the battery, but blaming the grid for not reaching the target SOC (and thus charging from the grid at the worst time possible). With the current system, which is blaming the grid, this is not optimal.
The plan is to add extra controls soon to prevent that. So at the moment it is unwanted, but expected behavior.
Then for your problem, @pokeplayer2. First of all I'd like to ask you to create a new issue if the current issue does not match the issue you are posting the "me too" in. Sorry to be a bit pedantic about that, but it makes it a lot easier for us to keep things separated and traceable. Luckily, in this case, the solution does match the problem of Micha. The soon to be added controls should allow you to prevent discharging to the grid. So here too the behavior is unwanted, but expected.
In both cases please wait a few more days until the solution will be rolled out. It will definitely require a Venus firmware update (just checked if the feature is in 3.12, but it is not).
The new control will probably be called/Settings/DynamicEss/Restrictions under com.victronenergy.settings and gets three possible values:

0 = No restrictions
1 = No exporting from battery to grid
2 = No importing from grid to battery

Hi Dirkjan,
I've noticed our problems are not the same ;-) Is this new setting dynamically used by DESS, or a global setting that the user has to set?

The idea is that the first implementation is global, and afterwards it will be schedule based over rulable as well. Which is not to say that the public implementation can't end up differently. We are still testing and tweaking.

Thx! I will wait for the new version which sounds like a bigger change.


windowTitle does not trigger when page loads

Describe the bug 🐛
The windowTitle option for routing does not trigger when the page first loads.
To Reproduce 🔍
This issue can be easily reproduced via official SEO friendly URLs demo

Open demo via CodeSandbox
Run the demo and click "Open in New Window"
Type something to search, notice the title change
Refresh the page using browser reload.
Title does not change.

Expected behavior 💭
The page title should contains correct queries from windowTitle after page reload.
Screencast 🎬
https://www.useloom.com/share/96c3c8f3329041c7bc6d74e232812ad4
Environment:

OS: macOS
Browser: Google Chrome
Version: 73.0.3683.86

Additional context
Add any other context about the problem here.

Thank you for reporting the issue. This is address in #3669.


Cannot import kea-saga with parcel builder

Hi!
I wanted to try today the changes that you made in the last release, but when adding kea-saga to the project I found another problem that i've forgotten about.
When importing kea-saga, I'm getting this error:
 @parcel/core: Failed to resolve 'kea-saga' from './src/logic/core/desktop/index.ts'
   /home/node/workspace/frontend/src/logic/core/desktop/index.ts:14:22
   > 14 | import { saga } from 'kea-saga';
   >    |                      ^^^^^^^^^^

 @parcel/resolver-default: Could not load './es/index.js' from module 'kea-saga' found in package.json#module
   /home/node/workspace/frontend/node_modules/kea-saga/package.json:8:13
      7 |   "main": "lib/index.js",
   >  8 |   "module": "es/index.js",
   >    |             ^^^^^^^^^^^^^ './es/index.js' does not exist, did you mean './lib/index.js'?'
      9 |   "jsnext:main": "es/index.js",
     10 |   "esnext": "src/index.js",

I am using parcel as my bundler, so maybe it has something to do with that. Another thing that I could add, is that other plugins, like kea-loaders does not have that problem, it occurs only with kea-saga.
Do you know if that's maybe some error with my config, or is that a problem with the plugin?

Awesome, thank you for your help :D


redir log to python console

for #1493

@jameslamb it seems this redir method could be used in R. should we unify them?

@jameslamb it seems this redir method could be used in R. should we unify them?

@guolinke I believe Rprintf and Rf_error that we use from the R headers already redirect logs to the R console: https://github.com/microsoft/LightGBM/blob/0341906c45666ccaeca92ee5fbee17fa22282470/include/LightGBM/utils/log.h#L137-L140
There is a lot of magic in those functions so I'd rather leave them alone than have us maintain code that needs to understand how redirecting output to R works.

I missed an opportunity in https://github.com/microsoft/LightGBM/pull/3090#issuecomment-629591294 to say "one of the few places where the R package is ahead of the Python package" 😛

We recently merged some fixes to CI (#3092). Sorry for the inconvenience, but if you merge the most recent master into this branch it should fix the issues with the R package builds on Travis.

Just rebased to master with the aim to pass all CI tests and removed one word from param description.


[entry] how to write a cv paper?

Collecting writing experiences/tips with/for latino researchers
Scope

Prep our talk for LxCV-GCSR 2024
Enrich the post summarizing the experience, previous item 1.

Este meme se ajusta a la otra gráfica de writing skill over time
https://twitter.com/TheStrugglingS4/status/1767566641271890251?t=GG3WXLrIunGJBaklrAxe8w&s=19

Talk delivered, and experiences updated. I forgot to add memes. Perhaps for the 2nd version &/Or with a more senior audience. The talk on (March 23, 2024) involved undergrads.


Error trying to implement the TagsComponent example

Hi.
I have a list of items (technologies) in my form that I'd like to use the tags component for that is used in the GUIDE.md;
...

    const options = {
      fields: {
        aboutMe: {
          type: 'textarea'
        },

        experience: {
          item: {
            fields: {
              shortDescription: {
                type: 'textarea'
              },

              technologies: {
                factory: TagsComponent
              }
            }
          }
        }
      }
    };

    return (
      <Grid fluid={true}>
        <Row>
          <Col xs={12}>
            <form onSubmit={this.handleSubmit}>
              <Form
                ref="form"
                type={EmployeeSchema}
                options={options}
                value={this.props.value}
              />
              <Button type="submit" bsStyle="primary">Save</Button>
            </form>
          </Col>
        </Row>
      </Grid>
    );
  }

...

where TagsComponent is
const React = require('react');
const tcombForm = require('tcomb-form');
const TagsInput = require('react-tagsinput');

class TagsComponent extends tcombForm.form.Component {
  getTemplate() {
    return (locals) => {
      return (
        <TagsInput value={locals.value} onChange={locals.onChange} />
      );
    };
  }
}

export default TagsComponent;

When I expand my form to add an experience item which has the TagsComponent I get Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object. Check the render method of Struct..
Did I implement it wrongly?

Hi,
The problem seems that react-tagsinput (I'm using version 3.0.3) requires an array as value (i.e. it doesn't handle null nor undefined).
You must ensure the value passed in is an array, for example with a transformer
class TagsComponent extends t.form.Component {

  static transformer = {
    format: (value) => value || [], // <= ensure an array
    parse: (value) => value
  }

  getTemplate() {
    return (locals) => {
      return (
        <TagsInput value={locals.value} onChange={(tags) => locals.onChange(tags)} />
      )
    }
  }

}

Also, you may want to clone a default template and leverage the built-in features (automatic labels, help messages, and so on...)
const template = t.form.Form.templates.textbox.clone({
  // override just the textbox rendering...
  renderTextbox: (locals) => <TagsInput value={locals.value} onChange={(tags) => locals.onChange(tags)} />
})

class TagsComponent extends t.form.Component {

  static transformer = {
    format: (value) => value || [],
    parse: (value) => value
  }

  getTemplate() {
    return template
  }

}

Closing for inactivity. Feel free to reopen if it's still a problem.


[BUG] Relax S3 client retry intervals, for throttled requests

Describe the bug
The default S3 retry behavior settings are not sufficient for a cluster with many concurrent backups in progress
To Reproduce
Steps to reproduce the behavior:

create a storage class with recurring job specification running 2x per day 12h apart

create > 100 volumes of X size fill them with data

we will run into amazon s3 request limits

the throttled request will be retried 3 times internally before being exposed as a backup failure

the failed backup job will be retried 3x times in total per volume

Expected behavior
We should relax the retry amounts for throttled requests so that the requests can be retried with a bigger backoff, which should allow the request to eventually succeed and no backup failure as a result is necessary.
Environment:

Longhorn version: v1.1.1
Number of worker node in the cluster: 48
Number of Longhorn volumes in the cluster: 400

Additional context
The failed backups will be retained in the engine backup status map, which will lead to many connections during longhorn-manager sync ref #2818

Verified pass on longhorn master (longhorn 07a87d)

Create 120 volumes with size = 1G, write 500 MB data into each volume.
Set S3 as bcakup target.
Create a backup recurring job, CONCURRENCY number = 120, group=default, start 5 minutes later
Wait for the recurring backup start, observe all the backups
All backup Completed


devServerPort not set on fresh install with "Just the basics" & "Express Server" target

What version of Remix are you using?
v1.5.1
Steps to Reproduce

Start with a fresh create-remix@latest install, select "Just the basics" for app type and "Express Server" for target.
Run the application with npm run dev
Visit http://localhost:3000 with dev tools open.
Observe WebSocket connection to 'ws://localhost:8002/socket' failed: & Remix dev asset server web socket error: messages in console.

Terminal log:
❯ npx create-remix@latest
Need to install the following packages:
  create-remix@latest
Ok to proceed? (y) y
npm WARN deprecated<EMAIL_ADDRESS>See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated<EMAIL_ADDRESS>Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated<EMAIL_ADDRESS>https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated<EMAIL_ADDRESS>See https://github.com/lydell/source-map-resolve#deprecated
? Where would you like to create your app? remix-1.5.1
? What type of app do you want to create? Just the basics
? Where do you want to deploy? Choose Remix if you're unsure; it's easy to change deployment targets. Express Server
? Do you want me to run `npm install`? Yes
npm WARN deprecated<EMAIL_ADDRESS>See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated<EMAIL_ADDRESS>Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated<EMAIL_ADDRESS>https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated<EMAIL_ADDRESS>This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.
npm WARN deprecated<EMAIL_ADDRESS>See https://github.com/lydell/source-map-resolve#deprecated

added 1131 packages, and audited 1132 packages in 21s

213 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
? TypeScript or JavaScript? TypeScript
💿 That's it! `cd` into "/remix-1.5.1" and check the README for development and deploy instructions!

❯ npm run dev

Expected Behavior
No errors in console & @remix/remix-dev websocket connection + LiveReload to work as expected.
Note: This can be resolved by explicitly setting "devServerPort": 8002 in remix.config.js but the documentation (and functionality in prior versions) indicate that 8002 should be the default devServerPort value.
Actual Behavior
WebSocket connection to 'ws://localhost:8002/socket' failed: & Remix dev asset server web socket error: messages in browser console (see screenshot).

same here, but with netlify...

Yes, I've noticed the same thing and commented here as to why it's happening and a couple of solutions. One as you noted is to specify the devServerPort in remix.config. But if you still want random ports, I wrote a script that will help. #3314

It seems like this is still an issue. Anyways we can add back in the default devServerPort?

I'm running into the same issue while going through the Remix app tutorial. Setting devServerPort: 8002 in the remix.config.js did not fix the issue. Does anyone have any other ideas for a workaround?

@sepbot That worked! Thanks!


Include transport errors in panic message.

This way, we'll at least show the error debug repr, when this branch is taken. Helped me uncover a request/response mismatch in a pipelined protocol.
(Though it looks like a DoS, and this needs a proper fix at some point. Seems this branch is taken whenever a spurious message is received from the server, for which there is no request.)

Thanks, merged: ab4375cba526612dcda6dbd37df552f0c14d145e

But yes, I agree that it should be handled better. However, I wouldn't say it is a DOS per se, the transport is responsible for maintaining the correct order of frames.