Colorize error messages

Colorize error messages.

#161

Phenomenal! I'm so tremendously apologetic for my recent radio silence. Open-source volunteer time is scarce. I know, right? With what little free time I have left, I've been cartwheeling like an ultra-marathon runner on the final mile towards the finish line that is beartype 0.11.0.
The good news is that I finished everything for beartype 0.11.0 five minutes ago. The bad news is that I neglected this amazing PR and your companion issue at #161. But my stupidity ends now.
Congratulations. Tests pass. More importantly, manual inspection shows that you did a tremendous job here. I grew up in the modem-driven pre-Internet 80's Bulletin Board System (BBS) era where l33t ANSII art was an everyday necessity. Seeing ANSII codes embedded in the @beartype codebase sparks so much childlike joy for me. In other words, we are immediately merging this.
That Said...
I'd like to do a bit of follow-up work on this. So, I guess beartype 0.11.0 isn't quite as mission-complete as I thought it was. :face_exhaling:
Specifically, @beartype should only conditionally emit ANSII colour codes if stdout is attached to a non-monochrome interactive terminal that supports ANSII colour codes. You are now thinking: "That's impossible to test for, bro." Hah! I knew you were thinking that. Thankfully, testing for that is not only possible but already solved. In order:

We at least need to test for whether stdout is attached to an interactive terminal. Thankfully, Python has a trivial one-liner idiom for that, too:

from sys import stdout

def is_stdout_terminal() -> bool:
    '''
    ``True`` only if standard output is currently attached
    to an interactive terminal.

    See also this StackOverflow thread:
        https://stackoverflow.com/questions/3818511/how-to-tell-if-python-script-is-being-run-in-a-terminal-or-via-gui
    '''

    # One-liners for great justice.
    #
    # Note that input streams are *NOT* guaranteed to define
    # the isatty() method. Defensively test for the existence of
    # that method before deferring to that method.
    return hasattr(stdout, 'isatty') and stdout.isatty()

We then need to test for whether that terminal supports ANSII colour codes. Django, which I trust to get this right, supports this detection via a pretty hardcore django.core.management.color.supports_color() tester function. If you deeply examine that function, though, you'll find that function trivially reduces to the above is_stdin_terminal() function on POSIX-compliant platforms. So, everybody except Windows. Detecting ANSII colour support under Windows is totally insane, however. Let's not do that. Instead, let's simply unconditionally disable ANSII colour support under Windows. In short, this is the final detection algorithm I'm thinking of:

from sys import platform, stdout

def is_stdout_terminal_colourized() -> bool:
    '''
    ``True`` only if standard output is attached to an
    interactive terminal that supports ANSII colour codes.
    '''

    # *BOOM.*
    return is_stdout_terminal() and platform != 'win32'

def is_stdout_terminal() -> bool:
    '''
    ``True`` only if standard output is currently attached
    to an interactive terminal.

    See also this StackOverflow thread:
        https://stackoverflow.com/questions/3818511/how-to-tell-if-python-script-is-being-run-in-a-terminal-or-via-gui
    '''

    # One-liners for great justice.
    #
    # Note that input streams are *NOT* guaranteed to define
    # the isatty() method. Defensively test for the existence of
    # that method before deferring to that method.
    return hasattr(stdout, 'isatty') and stdout.isatty()

Works for me. :relieved:
If you find a free moment this weekend, would you mind submitting a follow-up PR that conditionally embeds ANSII colour codes in @beartype violations only if is_stdout_terminal_colourized() is True? If not, I'll happily make that happen myself this weekend. But... you know. You're clearly amazing and very much out of my league. Thought you might like to tackle this one, if you'd like.
In Conclusion
You're stunning! Let's merge this immediately before I start playing video games compulsively.

Urgh! Tests that I have just enabled are sadly failing. Why? Because our test suite performs regex-based searches on @beartype violation strings to ensure that we're printing what we think we're printing. Of course, our regexes know nothing about ANSII colour codes. Mayhem ensues.
It looks like we'll also need to patch up our beartype_test/a00_unit/a90_decor/a60_main/test_codemain.py submodule to strip all ANSII colour codes from @beartype violations before performing regex-based searches on those violations. Although I'd be happy to handle that, you might prefer to have a go at that first?
Either way, let's hold off on merging this for the moment. I know, I know. It is sad. :sob:
This is still ultra-cool, though. This is almost working perfectly. Let's see if we can gently push this across the finish line in time for beartype 0.11.0.

Thanks for the detailed suggestions! I am going to update the PR hopefully today or tomorrow.
You can help me with your beartype creator knowledge:

I am hoping to color the correctly matched type green (List index 0 ...).
Do you think that's a good idea? If so, how can I do that?
I wasn't able to find the code that outputs the first line Not <class ...> or ... (in the issue) to color the types as truth. Could you point me to where I should edit?
What do you think of the color scheme. Is there anything I should change?
Both the Windows terminal and VS Code support ANSI colors now. That said I am happy to exclude windows for now and see if there are better solutions.

I updated the tests. Please feel very free to merge if you would like to explore some of the ideas above outside of this PR!

** You are now thinking: "That's impossible to test for, bro." Hah! I knew you were thinking that.

You read my mind and provided a solution. I can only assume you know magic!

Yar! Tests be passing, which is wondrous. All hail @justinchuby! Eternal glory to our Foxy Overlord.
That said, @langfield had the right of it with respect to backticks: they genuinely do present an existential threat, albeit not quite for the reasons @langfield suggested. Yes, yes – ```-fenced code blocks in GitHub-flavoured MarkDown (GFMD) exist. But that's not the real problem. The real problem that could conceivably result in the worst-case horror show of a Big Tech Giant (think Microsoft here) submitting a  Common Vulnerabilities and Exposures (CVE) against @beartype is that...

...the backtick is an operator in most POSIX-compatible shells (e.g., bash, zsh) referred to as the command substitution operator. So, what happens when somebody malicious gets somebody unintelligent to copy-and-paste a @beartype violation message like the following into their shell prompt?
$ @beartyped __main__.quote_wiggum() return `'remove_filesystem'` violates type hint `None`, as string `'remove_filesystem'` not instance of <class "builtins.NoneType">.
Removing filesystem...    # <--- wait, what? no, no! <ctrl-c>, <ctrl-c>!!!!!!!
Removed!

And... now @beartype is in shell injection attack territory. The problem isn't necessarily that we're outputting the backtick character – although that's always concerning. The problem is that we're outputting the backtick character with arbitrary user-defined strings. Let's not output the backtick character with arbitrary user-defined strings, people.

I was super-hoping to merge and push this out with beartype 0.11.0 tonight, but backtick security concerns kinda creep me out. Let's let this simmer a bit longer.
Thankfully, @justinchuby asks the essential questions above. Break time! Break it down.

I am hoping to color the correctly matched type green (List index 0 ...). Do you think that's a good idea? If so, how can I do that?

Sure! Sounds great. Uhm... let's see here. sifts through hundreds of thousands of lines of obfuscated code my younger self really thought was a good idea that now cause me to reconsider the wisdom of my younger self
It looks like the exact substring in question here (i.e., "List index 0") is emitted by the beartype._util.text.utiltextlabel.label_obj_type() utility function internally called by our stupidly cleverly deeply nested hidden beartype.beartype._decor._error._pep._pep484585._errorsequence submodule. Look. Don't ask. These things happen when you're hopped up on sleep deprivation, existential malaise, and a burning desire to bludgeon the nearest ergonomic keyboard with a filth-encrusted toothbrush.

I wasn't able to find the code that outputs the first line * Not <class ...> or ... (in the issue) to color the types as truth. Could you point me to where I should edit?

:face_exhaling:
I... uhm... err... yes. Of course. Of course, I know exactly where that happens. furious grep action
Okay. This is sorta super-magic right here. Basically, the stupidly cleverly deeply nested hidden beartype.beartype._decor._error._pep._pep484._errorunion submodule constructs a human-readable substring describing:

The proper subset of the passed union type hint that superficially violates the current object being type-checked, where "superficially violates" means "has the wrong type."
The proper subset of that hint that deeply violates the current object being type-checked, where "deeply violates" means "has the right type but contains one or more items that violate something."

If I'm reading you right, you'd like to theme the former. The "superficial violation" subset, right?
Okay. So, the get_cause_or_none_union() getter internally differentiates between these two types of violations by separating them into discrete local sets. The hint_classes_unsatisfied collects all union child type hints that are superficially violated, which is ultimately responsible for emitting the * Not <class ...> or ... substring that you're referencing here. I suspect that this if conditional in that getter is what you've been searching for with deep longing:
def get_cause_or_none_union(sleuth: CauseSleuth) -> Optional[str]:
    ...

    # If this pith fails to shallowly satisfy one or more classes, concatenate
    # these failures onto a discrete bullet-prefixed line.
    if hint_classes_unsatisfied:
        # Human-readable comma-delimited disjunction of the names of these
        # classes (e.g., "bool, float, int, or str").
        cause_types_unsatisfied = join_delimited_disjunction_types(
            hint_classes_unsatisfied)

        # Prepend this cause as a discrete bullet-prefixed line.
        #
        # Note that this cause is intentionally prependend rather than appended
        # to this list. Since this cause applies *ONLY* to the shallow type of
        # the current pith rather than any items contained in this pith,
        # listing this shallow cause *BEFORE* other deeper causes typically
        # applying to items contained in this pith produces substantially more
        # human-readable exception messages: e.g.,
        #     # This reads well.
        #     @beartyped pep_hinted() parameter pep_hinted_param=(1,) violates
        #     PEP type hint typing.Union[int, typing.Sequence[str]], as (1,):
        #     * Not int.
        #     * Tuple item 0 value "1" not str.
        #
        #     # This does not.
        #     @beartyped pep_hinted() parameter pep_hinted_param=(1,) violates
        #     PEP type hint typing.Union[int, typing.Sequence[str]], as (1,):
        #     * Tuple item 0 value "1" not str.
        #     * Not int.
        #
        # Note that prepending to lists is an O(n) operation, but that this
        # cost is negligible in this case both due to the negligible number of
        # child hints of the average "typing.Union" in general *AND* due to the
        # fact that this function is only called when a catastrophic type-check
        # failure has already occurred.
        causes_union.insert(0, f'not {cause_types_unsatisfied}')

Basically, beartype._util.text.utiltextjoin.join_delimited_disjunction_types() is what I'm saying. Gah! Why is nothing easy when @beartype is involved? And the answer is... because my younger self enjoyed an excess of child-like enthusiasm coupled with a deficit of adult-like wisdom.

What do you think of the color scheme. Is there anything I should change?

Love it! @langfield, what say ye, eldritch wise sage of the old ANSII ways?

Both the Windows terminal and VS Code support ANSI colors now. That said I am happy to exclude windows for now and see if there are better solutions.

You're... almost certainly right. Instinctively, I don't trust the pre-2020 Microsoft to get POSIX-compliance right. But Microsoft is a newly revived beast that grows smarter with each passing day. Perhaps they've finally gotten ANSII colours right?
I choose to believe the words that you're saying, @justinchuby. I have only one question: "Are there any popular Windows terminals that @beartype might be run in that still do not support ANSII?" I'm not fussed about decrepit backward-compatible Windows terminals that nobody cares about anymore. I'm mostly just concerned about dark corner cases that will cause @beartype users to erupt with wrathful anger and insensitive justice-seeking on our issue tracker. Because those people scare me.

I didn't know about command substitution. Thanks, a lesson learned!
How do we feel about just coloring; quotation marks '; -> b'some value' <-; 👉 emoji👈?

Are there any popular Windows terminals that https://github.com/beartype might be run in that still do not support ANSII?

That's a great question. From windows 11 Windows Terminal has become the default. But I think pre windows 10 systems are still running cmd in the old Windows Console

[x] VS Code
[x] Windows Terminal
[?] Visual studio (Need to check)
[x] JetBrains IDEs
[ ] 👎 Windows Console

Phenomenal achievement. This is the ultimate hotness. I'm incredibly impressed by the prowess you demonstrated here. You've done a tremendous act of charity and kindness for bear bros the world over. I wish you the utmost success with your own cutting-edge research on the periphery of ML. You're stunning.
We're merging this beautification post-haste. A bold new colourful future beckons.

I changed colors to distinguish user inputs and the types of those inputs.

:open_mouth:

...quotation marks 'b'some value'' «b'some value'» 「b'some value'」; -> b'some value' <-; emoji 👉 b'some value' 👈?

Superb question! Unicode code points are, of course, aesthetically pleasing and hot. I myself rock ultra-customized zsh prompts and Vim configurations plastered with excessive Unicode like a 70's disco inferno.
I'm unclear whether Python can portably detect support for Unicode code points in the current TTY font(s), though. The portability concern is this: if the font(s) configured for the current TTY do not support the Unicode code points we are trying to print, then the TTY will uselessly print □ (i.e., the placeholder Unicode code point) instead. I should probably do a bit of research on this. This is 2022. Right? There's got to be a way to portably detect Unicode TTY support in 2022. ...doesn't there? :face_exhaling:

From windows 11 Windows Terminal has become the default.

I'm convinced! Since pre-Windows 10 systems are a compelling security risk, we can safely ignore them. Anyone on pre-Windows 10 has more problems than improperly formatted ANSII colours.
I'll go ahead and remove all sys.platform() != 'win32' checks after merging this tonight. Thanks again for such a tremendous outpouring of open-source enthusiasm and intellect. You rock everything. :guitar: :notes:

Thanks to your gruelling market research, commit 5d6fca01972fe extends colourization support to Windows! What @leycec promised, @leycec actually delivered. :smile:
Let's think about how to detect Unicode terminal support at some point, too. That's hot stuff. Until then, we feel profound gratitude for everything you've done here. May you win all the grant funding. :money_mouth_face:

Thanks @leycec for your very kind words. It makes me feel that I have done much more than I did. Thank YOU for creating the fantastic @beartype!


Tooltip component -> popup div location issue

I am using the tooltip component on an icon, we need to place the icon at the top right corner of the page.  We would like to have a tooltip popup div (below the icon) when mouse hover on the icon.
The problem is, the triangle is always centred to the popup box and the popup box looks ugly.
Please see screen cap below.

Is this issue related to a specific component?

Yes, tooltip component

What did you expect to happen? What happened instead? What would you like to see changed?

See attached image

What browser are you working in?

Chrome

What version of the Carbon Design System are you using?

Latest

What offering/product do you work on? Any pressing ship or release dates we should be aware of?

Microclimate
Steps to reproduce the issue

Create a tooltip icon at the top right corner of the page.

Additional information

Screenshots or code
Notes

Add labels
tooltip, position, popup

we are using vanilla js.
we have tried the top/right/bottom/left options, but we were not able to make it look it PIC 4.
I will send you an email and try to ping you on slack tonight.

Hi @travis1111 vanilla version has objMenuOffset option, which takes either of:

An object with top/left properties
A function returning an object above

Make sure you can turn off automatic instantiation of Carbon components, and instantiate the tooltip with above option. Please refer to http://www.carbondesignsystem.com/getting-started/developers#javascript for more details. Thanks!

Thanks @asudoh  do you have any samples?  For me there are two positions I want to change, one is the popup tooltip box, another one is the little triangle, which by default it is placed in the centre of the popup, so which offset this option can take care of?  and what is the option (if there is) for the other offset?
thanks

@travis1111 here it is: https://codepen.io/asudoh/pen/LmBXQg

@asudoh Thank you!!!!!!

@asudoh Thanks for providing the code sample, it really helps!  Now I am facing a resize problem.  In your codepen example, if you adjust the browser window width the popup doesn't look right anymore.  So how I I respond to the event?  (try to adjust the browser windows size from the right edge of the window and move to left so the width is reduced).
thanks!

Another issue is, you can first maximum the windows, refresh codepen sample page, the tooltip works prefect at this moment.  If you click restore button (browser's restore size button, between minimize and maximize), the window size changes, then if you hover mouse icon on the tooltip icon, you will see it readjust the popup size, still not prefect, you will have to move mouse cursor on and off a few times in order to get the prefect view.

@travis1111 I’d recommend hooking resize events on window and change the top/left styles of the menu.

@travis1111 The Carbon Tooltip cannot change the position once it’s shown. You may want to try something like window.addEventListener('resize', () => { menuBody.style.left = `${adjustedLeft}px`; });.

@asudoh thanks but I cannot get it working... can you please paste complete code on codepen using your existing example?  Thanks

@travis1111 Wondering what code you came up with which is not working, but here are some tips - Carbon vanilla code merely deals with HTML/CSS/DOM to create the UI. The (floating) menu is positioned with its style attribute. You can see it by looking at the DOM in Chrome DevTools, if you focus on almost the end of <body>. The first step is finding such menu, force it's shown, and fiddling with such style attribute to get the right position. Then you can write resize event handler to do the same thing. Hope it helps!

@asudoh
I added this
window.addEventListener('resize', () => {
  console.log("resize");
  var element = document.getElementById('unique-tooltip');
  element.style.left='10px;';

    var style = window.getComputedStyle(element);
    var left = style.getPropertyValue('left');
  console.log(left);

                                        });

console log shows different left value, not 10px...
is this correct?  Or somewhere else in the Carbon component is overwriting the left property too?

Or somewhere else in the Carbon component is overwriting the left property too?

Not that I’m aware of, but you can inspect it via the DOM inspector in Chrome DevTools to see that.

@asudoh yes, I checked it in chrome debugger that is why I say it is not working.  so the code I pasted is the one you were thinking?

The reason why I brought up the DOM inspector in Chrome DevTools is that it tells what style (yours or ours) is effective for the computed style. Also you can directly edit the style or the attribute there so that how change in style affects the UI.


[incubator/seq] Added seq

What this PR does / why we need it:
This PR helps setup logging infrastructure, Seq creates the visibility you need to quickly identify and diagnose problems in complex applications and microservices. Empower your team to build better software by centralizing, searching, and alerting on structured application logs.
Special notes for your reviewer:
To access the ui you need to run kubectl port-forward {POD_NAME} 5341:80

/assign

I'd suggest you move the PR to stable directly.

@unguiculus thank you for looking at the PR have made the changes as you suggested.

/ok-to-test

/lgtm


Clean elses

I've removed the elses when we have already returned something :put_litter_in_its_place:

Please do not edit our vendors it's not our source code

this guy is on a mission to remove all the else in the world!

Nice mission 😂😂


fix: fix offchain spaces loading using wrong graphql queries

Summary

Closes: #366
This PR revert back the offchain spaces loading to use the Space endpoint, instead of  Ranking, due to them not being swappable, causing all loadSpaces from offchain to always load the top X spaces, and not honoring the id_in filter.
This was causing:

the follow list to load only spaces if they're in the top 20
the "My Spaces" (http://localhost:8080/#/settings) to always list the top 20 spaces, and not the user's own space

Reverting to the previous implementation will remove the sorting in the Explore page, and will list the spaces sorted by last created first, instead of by ranking.
This is a temporary compromise, to make all the loadSpaces works as intended. As there's no sorting on the UI side while loading spaces, we'll try to implement the sorting on the graphql side.
How to test

Your follow list should list all 25 spaces
The explore page should list offchain spaces, but not sorted by ranking anymore

Can we use two different queries, one for ranking and other for rest? Maybe switch it based existence of id_in filter?

Can we use two different queries, one for ranking and other for rest? Maybe switch it based existence of id_in filter?

Done


Duplicate message types after explicit call of Cluster.WithProtoMessages

Expected Behavior
To start cluster.
Actual Behavior
Extension method WithProtoMessages is being called with parameters (messages) that were already added to TypeLookup variable.
System.ArgumentException: 'An item with the same key has already been added. Key: actor.PID'
This exception was originally thrown at this call stack:
System.ThrowHelper.ThrowAddingDuplicateWithKeyArgumentException<T>(T)
System.Collections.Generic.Dictionary<TKey, TValue>.TryInsert(TKey, TValue, System.Collections.Generic.InsertionBehavior)
System.Collections.Generic.Dictionary<TKey, TValue>.Add(TKey, TValue)
Proto.Remote.Serialization.RegisterFileDescriptor(Google.Protobuf.Reflection.FileDescriptor) in Serialization.cs
Proto.Remote.RemoteConfigExtensions.WithProtoMessages<TRemoteConfig>(TRemoteConfig, Google.Protobuf.Reflection.FileDescriptor[]) in RemoteConfigExtensions.cs
EventStreamTopicsCluster.Program.Main() in Program.cs
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
System.Runtime.CompilerServices.TaskAwaiter.GetResult()

If I try to comment the call of WithProtoMessages, I get another error.
System.Net.Http.HttpRequestException: 'No such host is known. (consul:8500)'
This exception was originally thrown at this call stack:
System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(System.Net.Sockets.SocketError, System.Threading.CancellationToken)
System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(short)
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter.GetResult()
System.Net.Sockets.Socket.ConnectAsync.__WaitForConnectWithCancellation|283_0(System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs, System.Threading.Tasks.ValueTask, System.Threading.CancellationToken)
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter.GetResult()
System.Net.Http.HttpConnectionPool.DefaultConnectAsync(System.Net.Http.SocketsHttpConnectionContext, System.Threading.CancellationToken)
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

Steps to Reproduce the Problem

Visual Studio 2022 version 17 Preview 3
Start consul in docker docker run -p 8500:8500 --name=consul consul agent -server -ui -node=server-1 -bootstrap-expect=1 -client=<IP_ADDRESS>
Run this sample

Specifications

Version: .NET 5.0 with latest dev branch
Platform: Windows 10 Pro x64

This line is failing.
https://github.com/AsynkronIT/protoactor-dotnet/blob/dev/src/Proto.Remote/Endpoints/EndpointReader.cs#L130
I guess, every message needs to be registered in the ActorSystem and at the moment there is no way to register C# POCO classes.

@artemiusgreat sorry for the delayed answer.
I'm updating this example right now, it looks like this one was never fully completed for some reason.
Will link it once merged

Updated example here
https://github.com/AsynkronIT/protoactor-dotnet/tree/dev/examples/EventStreamTopicsCluster
Also released 0.22.0 to allow cluster members to await seeing themselves during StartMemberAsync to make broadcasting behave correctly.

@rogeralsing Why was this closed? The issue here is not replacing C# POCO class with proto messages. The real issue is that Proto.Remote and Proto.Cluster don't expose any method to register messages defined in C# in the serializer.
In other words, how to make cluster work without messages.proto files?

This issue is a mix of a bit of everything. the original question regarding duplicate keys is resolved.

Duplicate message types after explicit call of Cluster.WithProtoMessages

This was caused by the example incorrectly registering the standard Proto.Actor protobuf definitions.
Causing the duplicate key issue

don't expose any method to register messages defined in C# in the serializer.

That is not needed, we have a fallback to System.Text.Json for plain poco classes/records.
So why did it fail in your case? see 3:

[EndpointReader] Unable to deserialize message with cluster.pubsub.ProducerBatch

This is due to the Cluster.PubSub feature in its current form can only handle Protobuf messages.
Cluster.PubSub is a different feature than the Cluster EventStream example.
We have big plans for Cluster.PubSub, e.g. adding durable messaging using external tools such as Kafka or RabbitMQ.
But since this will involve more things than just Proto.Actor itself. we need to plan for how this should work, e.g. in terms of serialization and message schemas.


fix: polishing for first use

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

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


Enable Password Lock - crash Ferdi

Bug description:
Enabling Password Lock make the app unusable
Steps to reproduce:

Go to Settings
Click on Enable Password Lock
Click on Reload
The app is unusable stucked on a purple screen (even after reloading)

Expected behavior
The app should not be stucked
Screenshots
After clicking on Enable Password Lock:

After clicking on Reload:

Environment:

Operating System: Linux (Pop OS 20.04)

Ferdi Version: 5.5.0

Server: Using without an account

Debug information:
Sorry can't get it (clicking on ?>Copy Debug Information doesn't paste any information).
If anyone has this problem I solved it by deleting the .var/app/com.getferdi.Ferdi file

Bug description:
Enabling Password Lock make the app unusable
Steps to reproduce:
1. Go to Settings

2. Click on Enable Password Lock

3. Click on Reload

4. The app is unusable stucked on a purple screen (even after reloading)

Expected behavior
The app should not be stucked
Screenshots
After clicking on Enable Password Lock:

After clicking on Reload:

Environment:
* Operating System: Linux (Pop OS 20.04)

* Ferdi Version: 5.5.0

* Server: Using without an account

* Debug information:
  Sorry can't get it (clicking on ?>Copy Debug Information doesn't paste any information).
  If anyone has this problem I solved it by deleting the .var/app/com.getferdi.Ferdi file

Hi. Where can I find this file? I have arch but don't see a .var folder or that com.getferdi.Ferdi file.
Thank you!

Im having the same issue but my screen is black, i guess it's because i had the black mode activated.
Did you manage a way to get it working back again?
Even if it's without the locking feature.
TY

Hi, try to delete your Ferdi user data folder and relaunch Ferdi. On Windows, maybe in AppData doing Win+R and entering %appdata%. I don't know on Mac.

Hi thank you, i managed to fix it. For reference I'm using Fedora, i went to /home/USER/.config/Ferdi/config/ and opened the settings.json file, then i changed the "lockingFeatureEnabled": option back to false, that fixed it without having to set my whole profile again.

Hi, try to delete your Ferdi user data folder and relaunch Ferdi. On Windows, maybe in AppData doing Win+R and entering %appdata%. I don't know on Mac.

This fixed my issue (Permanently blacked out after selecing the lock feature #917)[Idk how to link to my post on git sorry].
I went to appdata and just deleted the whole folder, on reopening I got a fresh login screen.
I wonder if this happen only when you are in no-account mode?

Any word on whether this might be fixable?
The locking feature was a primary decision factor for me trying Ferdi

You don't need to delete your entire ferdi folder in appdata.
Make sure the lockingFeatureEnabled line says "false"
  "lockingFeatureEnabled": false,
Also looking forward to a fix for this!

The same issue, I found but I got my profile back after using the aforementioned methods. Regards

Not stale.

Bug still exists.

Bug still exists.

Not stale

Bug still exists, Windown 10 20H2

Bug still exists, Windows 10 Pro  21H1

I am using Ferdi without a server, and with password locking enabled. I use Ferdi on macos Mojave - and no issue with the latest 5.6.0 that was released a few days ago.

Cannot reproduce this with 5.6.1-nightly.47 on Ubuntu.
Anyone still experiencing this?

Closing due to inactivity.
Please report back in case this still happens with the latest nightly.


Fix #122

Fixes #122

Input submission checklist

[ ] created a directory for each system based on the template directory
[ ] named and placed the directory with the following pattern: input_structures/prepared_structures/<set_name>/<system_name>

For each submitted directory:

[ ] filled in system preparation details in the PREPARATION_DETAILS.md file
[ ] added a PDB file with the protein named protein.pdb
[ ] removed any cofactors from the PDB file and placed them in cofactors.sdf
[ ] did not re-protonate the residues, but left protonation state of the protein unchanged
[ ] kept cystallographic waters and metals in the PDB file
[ ] tested the PDB and, if available, cofactors.sdf file using the input validation script
[ ] copied over the ligands SDF file to a file named ligands.sdf and removed any duplicate binding modes or protonation states, keeping the more favorable state

Summary of changes

Licensing agreement

[ ] I agree to release these inputs under the combined MIT and CCBY SA 4.0 licenses of this repository

@mikemhenry did you have a few failures we can test this on?

I did, since I took this from a different script I didn't re-test it since I didn't have a failure in the dataset that works with this script


put toast message in upper right corner

Instead of lower right corner (which already shows some confirmation dialog when deleting a phenopacket) the toast message should be put on the top right corner so that it doesn't lay on the dialog unecessarily.

tested works fine


Wrong version number when compiling DLL from source

Current Behavior

Expected Behavior
I expect it to give 5.4.1 as the version number ... Yes I know that I show this from a C# project but I just return the version number from the DLL that I compiled from here --> https://github.com/tesseract-ocr/tesseract/releases/tag/5.4.1
Suggested Fix
Fix version number
tesseract -v
No response
Operating System
Windows 11
Other Operating System
No response
uname -a
No response
Compiler
No response
CPU
No response
Virtualization / Containers
No response
Other Information
No response

This looks like you used a 5.3.2 library. Make sure that there are no old Tesseract libraries and source codes on your build host.

I also thought that that happened so I removed all tesseract versions and recompiled everything from scratch but still am getting this error. I will do some futher investigation if visual studio is caching something somewhere without me knowing it.


nixos/network: add gre virtual interfaces

Motivation for this change
Add options that allow gre tunnels to be creating in the nixOS config.
Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

this also needs to be added to the networkd backend and tested for both backends

Added systemd back-end and tested with both.  Some small changes I've made atop of your comments:

I've renamed gretun to gre.  This is consistent with how other tools call this mode and it claens up the code from translating gretun -> gre.
I'm using hasPrefix "gre" to check whether the virtual type is GRE.

Added systemd back-end and tested with both.

can you add a nixos test for the testing you've done as well? would be nice to ensure this keeps working even when other things are changed. apart from that, looks good to me :+1:

@pennae Thanks for taking a look but, sorry, I decided to do a bit of a rewrite and ask for another review.  gre interfaces are more like sit interfaces, i.e. they're a point-to-point link which don't have an IP address, netmask, etc.  The previous configuration would allow the user to set an IP address on the GRE tunnel which doesn't make sense.  The new rewrite should fix this.  I'll also look at creating some tests.
Thanks!

Added systemd back-end and tested with both.

can you add a nixos test for the testing you've done as well? would be nice to ensure this keeps working even when other things are changed. apart from that, looks good to me 👍

I've now added a gre test case which uses a GRE tunnel to get layer2 packets across VLANs.  Hope that's okay?

looking good! the test runs with both scripted and networkd setups, but looks like an unrelated change broke the static test. other than that, seems good to me.

Great!  The static test should now be fixed.

@tomberek Are you okay to review please? If you're happy, are okay to merge this? Thanks! :-)

@SuperSandro2000 If you're happy with the above, is it okay to get merged?  Thanks!

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/666

@GrahamcOfBorg test networking

@GrahamcOfBorg test networking


feat(engine): PG-backed task queue

Support a postgres-backed task queue to remove the RabbitMQ requirement.

Curious if this is still something y'all planning on iterating towards?


Update rimraf to a version with a newer glob dependency

Hello,
The current release of node-temp uses rimraf 2.6.3, which depends on Glob, which depends on Inflight, which has a security issue: CWE-772. Newer releases of rimraf and Glob exist that do not have this dependency. Temp should be updated to a newer version, as it's used by many downstream packages, like js-codeshift, which currently have this vulnerability.

@bruce hey! It looks like only you can release a new version now, so I am writing to you.
Do you have any plans to support and develop this project?
It looks perfect, but time passes, and the project's dependencies become outdated. Thus, modern rimraf only supports node>=14.18.0, while the current version of temp supports node>=6.0.0. Updating even a minor version in this case for a package with millions of downloads will definitely be a painful breaking change.
How do you feel about updating all dependencies and releasing a major release?

Any news? Just noticed this inflight issue in my setup and following the dependency path brought me here.


add for support paramType 'form'

In the last swagger version, I had a large number of param types that used 'form', and I found that in this version, form became formData. I think simple is good.

In the following doc you can find the reason:
Also, form parameters cannot coexist with the in:body parameter, because formData is a specific way of describing the body.

@liut is there any open issue for this?

I checked 2_0 docs and there is no conflict with using form as an alias for formData. likes:
    post:
      consumes:
      - application/json
      - application/x-www-form-urlencoded
      description: login
      operationId: api-1-login-post
      parameters:
      - description: Username
        in: form
        name: username
        required: true
        type: string
      - description: Password
        in: form
        name: password
        required: true
        type: string
      produces:
      - application/json


Attributes are not visible in category page to select as filterable attribute if attributes name are not provided in particular locales.

Framework Version: 0.1.6

Framework Version: 0.1.6

Fixed


library racob used by win32ole makes plugin crash at random times

more info in https://github.com/enebo/racob/issues/1
this makes this plugin pretty much unusable
my environment: windows 7 64 bit, oracle jdk 8 64 bit

@jsvd Can you add your Windows version to this issue?

done

Closed as per the alternativa implementation done in #21


How to use web camera source?

Web Camera Source section is noted as TBD in customizing_pipeline_requests.md. Is v4l2src source supported now? Thank you.

Webcam support is possible, but needs a few manual steps. We plan to add more integral support for a range of media sources in a future release.

In the gstreamer pipelines folder make a copy of the object_detection/person_vehicle_bike pipeline/pipeline.json definition file and name it object_detection/webcam/pipeline.json
Change the template section in object_detection/webcam/pipeline.json to the following. The rest of the definition file must be left as is. We replace uridecodebin with v4l2src and add videoconvert.

   "template": ["v4l2src name=source ! videoconvert",
                      " ! gvadetect model={models[object_detection][person_vehicle_bike][network]} name=detection",
                      " ! gvametaconvert name=metaconvert add-empty-results=true ! gvametapublish name=destination",
                      " ! appsink name=appsink"
                      ],

Issue request as follows using curl. You can select different device by setting the path value in the source field

curl localhost:8080/pipelines/object_detection/webcam -X POST -H \
'Content-Type: application/json' -d \
'{
  "source": {
    "type": "device",
    "path": "/dev/video0"
  },
  "destination": {
    "metadata": {
      "type": "file",
      "path": "/tmp/results.jsonl",
      "format": "json-lines"
    }
  }
}'

vaclient does not support webcams out of the box. You need to change vaclient.py#L115 from

    if hasattr(args, 'uri'):
         request["source"]["uri"] = args.uri

to
    if hasattr(args, 'uri'):
        if args.uri.startswith("/dev/video"):
            del request["source"]["uri"]
            request["source"]["type"] = "device"
            request["source"]["path"] = args.uri
        else:
            request["source"]["uri"] = args.uri

then run as follows
$ ./vaclient/vaclient.sh run object_detection/webcam /dev/video0

@whbruce Thank you & sorry for late reply
Let me provide patch to use webcam on /dev/video0 for samples/record_frames/ which based on this git commit.
v0.6.0-beta master origin/master adv2/master adv/master 2534d9b4d8487864bfdccdfcdc746ccf0f5627d7
0001-Force-samples-record_frames-to-use-dev-video0-webcam.zip

@whbruce Thank you & sorry for late reply
Let me provide patch to use webcam on /dev/video0 for samples/record_frames/ which based on this git commit:
v0.6.0-beta origin/master 2534d9b4d8487864bfdccdfcdc746ccf0f5627d7
0001-Force-samples-record_frames-to-use-dev-video0-webcam.zip

@lightlu thanks for contribution. In the short term we have updated our docs. Our next release will contain  a "universal" VA Serving source so that pipelines can take media from anywhere.


TNBPAY Milestone 5

Link to original project proposal.
#172
Link to most recent milestone payout request.
#263
Milestone Description
HI-fi design and Development of the  payment plugin for Magento
Objectives
Design the UI/UX for the Magento payment plugin
Development of the plugin
Testing
Documentation
How long do you estimate this milestone will take to complete?
1 month
Project Wallet
86ee75d4cea77ca8339cc97f5e7426a3434d9f91465cd441c0c7593bd852e955

Approved for 50000 TNBC.


Not working in fragment

Hello @csj5483,
Kindly check the sample application in which they have demonstrated how to used Fragment.
And If you still having an issue to use it in a fragment, describe your scenario in details with device and OS details.
Thank you.

@tobiasKaminsky If you're starting the ImagePicker from Fragment, instead of getActivity() you need to pass fragment instance.
ImagePicker.with(getActivity()) // Wrong, Should not use getActivity() inside fragment
 .start();

ImagePicker.with(this) // Correct, Where "this" is fragment instance
 .start();

In ImagePicker, Two methods are available:

with(activity: Activity)
with(fragment: Fragment)

I believe you're using "with(activity: Activity)" inside the fragment, while you should use with(fragment: Fragment).
Hope this answered your question. Please let me know if you're still facing the issue


docs: initial commit of developer information about tools

Consider adding a link from README.md to tools.md

Fixed in ac327b0 (the link will be broken until this PR is merged as the tools file doesn't currently exist on the main branch)

Please add one of the following secrets to your fork so the GitHub action can pass E2E Tests.
GENAI_API_KEY="..."
WATSONX_API_KEY="..."
OPENAI_API_KEY="..."

One of them should be enough (ideally BAM - GENAI_API_KEY)

Where does one add this?  Presumably not as a git commit?

Please add one of the following secrets to your fork so the GitHub action can pass E2E Tests.
GENAI_API_KEY="..."
WATSONX_API_KEY="..."
OPENAI_API_KEY="..."

One of them should be enough (ideally BAM - GENAI_API_KEY)

Where does one add this? Presumably not as a git commit?

Ah, think I found the docs here.

GENAI_API_KEY is now added and the above comments are addressed in f94bea5


Handling custom errors & own service (angular 4)

I have such service:
import {Inject, Injectable} from '@angular/core';
import {Restangular} from 'ngx-restangular';
import {RestangularAuth} from '../app.service';

@Injectable()
export class AuthService {

  constructor(@Inject(Restangular) public restangular, @Inject(RestangularAuth) private restangularAuth) {
  }

  signIn(id, data) {
    return this.restangularAuth.all(...).post(data);
  }
}

and in app.module:
export function RestangularConfigFactory(RestangularProvider) {
  RestangularProvider.setBaseUrl(environment.bApiURL);
}

export function RestangularAuthFactory(restangular: Restangular) {
  return restangular.withConfig((RestangularConfigurer) => {
    RestangularConfigurer.setBaseUrl(environment.aApiURL);
  });
}

...
imports: [
...
    RestangularModule.forRoot(RestangularConfigFactory),
  ],
  providers: [
    {provide: RestangularAuth, useFactory: RestangularAuthFactory, deps: [Restangular]},
    AuthService,
  ],
...

and everything's fine!
but! when i try to use error handlers:
...
export function RestangularConfigFactory(RestangularProvider, authService) {
  RestangularProvider.setBaseUrl(environment.bApiURL);
}

...
RestangularModule.forRoot([AuthService], RestangularConfigFactory),
...

i get:
stateService.js:40 Transition Rejection($id: 0 type: 6, message: The transition errored, detail: RangeError: Maximum call stack size exceeded)

What i do wrong?
When I load any other service, like RestangularModule.forRoot([Http], RestangularConfigFactory), all is fine, but i need my authService to refreshToken...

@kotmatpockuh you can't include 2 services to each other as you get the endless cycle. To solve this problem you can use the 3rd service and to extract the necessary functionality to it.

@logvinoleg89 is it possible to create a request queue? when i refresh my token - so that i refresh it only once and after - i repeat request? now from example it's refreshing on every request.


Subtle improvements in the code for PHP 5.3+ ;-)

Subtle improvements in the code for PHP 5.3+ ;-)

Covered by other PRs.


fix: Fix border and select checkboxes

Description
fixes #306
Demo
https://github.com/aeternity/aescan/assets/15363559/2679fa63-4475-43d2-a43d-efe43e3f6d79
Checklist:

[x] I have read and followed the Contributing Guide
[x] fix select styles

Still not very satisfied with the overall interaction styles. The contras of selected item is too low

I agree the color scheme is still not ideal due to insufficient contrast, but still, it's much better without the misleading icon suggesting it's a multiselect. Nice job, thanks for improving it 🚀
Side note: check-square and square icons are not used anymore. Perhaps we should consider removing them from the project

Agree, unused icons removed

Followup https://github.com/aeternity/aescan/issues/320


Turn link into span to not refresh page

It has to look like this and I feel like making it a button would be weirdddd. I want it as a link, but if you click it, it just refreshes the page for some reason.


2 fragments using the same name but from 2 different files conflicts

Renders

while inverting those lines

gives:

despite the cache to be disabled, the first object will be reused by the second one
SVGs.zip

This is indeed because of the same IDs, which this directive doesn't try to distinguish between. It'll use whichever instance of the ID shows up first on the page (since they're injected directly into the DOM).
Ideally, the symbol IDs would be different.

@arkon sometimes we do not choose the name of the fragment. The namespace should be the file path (url) which will be unique per svg file, not the fragment (symbol) name

Under the hood, it's just using the regular <use> tag, so the file path has no real relevance.
I could randomize the IDs after, but that may cause some confusion with styling.


Add Fedora package

zsh-syntax-highlighting is now available in Fedora.
For some reason, the package link does not work yet. The package is available already, though: https://bodhi.fedoraproject.org/updates/?packages=zsh-syntax-highlighting

Merged.  Thanks for packaging z-sy-h!


ca: Stop encrypting the root CA key material in raft using env vars

Continuing to support this would make the root rotation feature slightly more complex, and this was never an advertised feature.
The raft logs are encrypted anyway.
In case anyone had used this feature, on start the leader decrypts the key material and updates the cluster with the decrypted key.
cc @diogomonica

Codecov Report

Merging #1955 into master will increase coverage by 0.15%.
The diff coverage is 79.59%.

@@            Coverage Diff            @@
##           master   #1955      +/-   ##
=========================================
+ Coverage   54.15%   54.3%   +0.15%
=========================================
  Files         108     108
  Lines       18579   18562      -17
=========================================
+ Hits        10061   10080      +19
+ Misses       7292    7258      -34
+ Partials     1226    1224       -2

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3794c9d...752f8e6. Read the comment docs.

LGTM
The only thing I would say is that we should mark even the attempt to decrypt the key by using ENV vars for deprecation on 1.15 (total removal of anything that mentions the env vars).

@diogomonica Deprecation as in we log a warning if folks have those env variables set in 1.15, and remove in 1.16?  Or deprecation like we remove everything in 1.15?

We remove everything in 1.15. If we want to warn, we should warn now.

@diogomonica Is that too soon to completely remove backwards compatibility for this?

Non-documented feature that has never appeared in any of the blogs as example? I don't think so, no.

@diogomonica Updated - could you PTAL?
cc @aaronlehmann

CI failing

@aaronlehmann Oops, thanks!  I ran make check before rebasing, so it didn't have the misspell check.  Glad that actually caught something though.

Stepping back, I'm wondering if automatically decrypting the root key upon upgrade is the right approach. Maybe it's better to announce to users that this is being deprecated and support will be removed in a few versions. It will be up to the users to disable root key encryption before upgrading, otherwise they won't be able to upgrade. If there's truly no one using this, it shouldn't be a big deal. The upside would be that it would be that users would have to be consciously aware of this migration intead of us silently transitioning them from encrypted root keys to (possibly) plaintext root keys. Also, we'd avoid adding this code to support the transition, which seems simpler.

Agreed w/ not adding code to support the transition. The less code the better.

Maybe it's better to announce to users that this is being deprecated and support will be removed in a few versions.

As in, just emit a warning, or document that this will be deprecated?

I guess both

K, closing this in favor of just emitting a warning then!


Realm "Security Defenses" is cleaned up after import

Describe the bug
Running the import cleans my current security defenses configuration
To Reproduce

Create a realm "test-realm" from keycloak admin panel
Run the config with default flags and this simple configuration

{
    "realm": "test-realm",
    "enabled": true
}

Expected behavior
Security defenses should be kept with the keycloak default values
Environment (please complete the following information):

Keycloak Version: 9.0.3
keycloak-config-cli Version: v2.2.0-9.0.3
Java Version: Docker image v2.2.0-9.0.3

Hmmm, it's weird.
It just happens when I import a realm that was exported by keycloak.

I'll close this issue since it appears to be a problem with my specific realm


To session_csrf or not to session_csrf

I'm migrating a project from playdoh with django 1.4, doing so by creating a fresh sugardough site and then bringing over pieces from both the site and playdoh as needed.
The current site uses session_csrf, which is standard for playdoh, so I brought this over as well. I was wondering:

Is this something that we should include as standard in sugardough? If so I can create a PR.
Is there something else that can be done with django 1.7 that would eliminate the need for session_csrf, and/or is there an alternate/better solution to the problem it addresses?

For reference: https://github.com/mozilla/django-session-csrf

I vote for including it; with pure cookie-based CSRF, the issue is that any *.mozilla.org site with a vulnerability can allow a malicious party to set a CSRF cookie and then trick the user into POSTing to your site, bypassing your CSRF protection.
When the token is in the session, they can't forge a fake token, and since they're on another domain, they can't get the real token, thus they can't trick the user into making a proper POST.

See also https://docs.djangoproject.com/en/dev/ref/csrf/#limitations which repeats what @Osmose said.
+1 on including it


Configuration for import/no-unused-modules is invalid

Version 13.2.0 of the eslint-config-airbnb-base was causing this configuration error:
Error: airbnb-base/whitespace:
        Configuration for rule "import/no-unused-modules" is invalid:
        Value [] should NOT have fewer than 1 items.

Tried a number of different options but failed to fix this error. Freezing eslint-config-airbnb-base at version 13.1.0 fixed this issue

Opened upstream: https://github.com/airbnb/javascript/issues/2105


ZIP files will not open in Files

Windows shows this error:

Please follow the bug report issue template

Where is the template???


Why only freeze  layers before conv_3 of ResNet？

 backbone = get_pretrained_torchvision_model(backbone_name)     if backbone_name.startswith("ResNet"):         for name, child in backbone.named_children():             if name == "layer3":  # Freeze layers before conv_3                 break             for params in child.parameters():                 params.requires_grad = False         logging.debug(f"Train only layer3 and layer4 of the {backbone_name}, freeze the previous ones")         layers = list(backbone.children())[:-2]  # Remove avg pooling and FC layer
Why only freeze  layers before conv_3 of ResNet？Train only layer3 and layer4 of the ResNet？If all layers participate in training, shouldn't the learning ability of this model be stronger?

 backbone = get_pretrained_torchvision_model(backbone_name)     if backbone_name.startswith("ResNet"):         for name, child in backbone.named_children():             if name == "layer3":  # Freeze layers before conv_3                 break             for params in child.parameters():                 params.requires_grad = False         logging.debug(f"Train only layer3 and layer4 of the {backbone_name}, freeze the previous ones")         layers = list(backbone.children())[:-2]  # Remove avg pooling and FC layer

We freeze part of the model to speed up training and make it more lightweight. Note that this is common practice, and it is performed in basically any previous work (e.g. NetVLAD, SFRS).
I did not try to train the whole model, but I doubt that the results might improve significantly, because low-level features should be similar to the ones learned on ImageNet.

Think you for you reply!


Suggestion - Support ItemsAdder plz

I hope to support ItemsAdder so that I can make better gun appearance

什么是itemAddr？
the plugin

https://www.spigotmc.org/resources/%E2%9C%A8itemsadder%E2%AD%90emotes-mobs-items-armors-hud-gui-emojis-blocks-wings-hats-liquids.73355/

This is her wiki
https://itemsadder.devs.beer/

it can in the absence of mod create customize models for items and more for minecraft.

What is itemAddr?

什么是itemAddr？
the plugin

https://www.spigotmc.org/resources/%E2%9C%A8itemsadder%E2%AD%90emotes-mobs-items-armors-hud-gui-emojis-blocks-wings-hats-liquids.73355/

This is her wiki
https://itemsadder.devs.beer/

it can in the absence of mod create customize models for items and more for minecraft.


builtin(list): add List.chunksOf

closes https://github.com/roc-lang/roc/issues/5885

@Anton-4 fixed the rust tests, nix develop -c cargo test-gen-llvm-wasm --locked --release passes, at least locally.

Can you merge this @rtfeldman?


Allow pages to be render functions (allows persistent layout with no magic)

By adding the ability to define a page as a function instead of a component, you can easily create persistent layouts by the natural way that React diffs the tree.
The proposal here is that if the exported function is named render, then it's treated as a render function rather than a component. In that case, the return value of that function is rendered rather than creating an element from the component. Any matching root components stay mounted across page transitions. Because you're in control of what is rendered at the root, you can have multiple possible roots that mount/unmount as desired. For example, you could have pages a and b use LayoutFoo and c and d use LayoutBar. LayoutFoo would stay mounted while on a and b, but it would be unmounted when going to c and d. In this way, this PR is more generic than #3288.
Only a slight tweak to lib/app.js is required to make this possible. The rest of this PR is a new example to demonstrate a persistent layout with render function pages.

Nice and reasonable workaround! @jdeal Thank you!

@jdeal wow this is pretty neat.
But, now we offer two APIs to render the page. Which is not good.
I can only take this PR, if this is the only

@jdeal wow this is pretty neat.
But, now we offer two APIs to render the page. Which is not good.
I can only take this PR, if this is the only the way.
The default export of the top level pages directory is a function, but not a React component.
We can make this backward compatible and warn users to follow this approach.

But before we do that, we need to know how @rauchg @nkzawa @sergiodxa and @timneutkens thinks about this.

This is super interesting @jdeal. Thanks for sharing. Are there any downsides to always applying this new behavior without checking for the name?

Thanks @arunoda and @rauchg for taking a look!
I can happily switch to always treating plain functions as render functions and detecting React classes for backward compatibility.
The one downside I can imagine would be if someone is currently depending on that behavior. In other words, if they have a stateless function component at the top and then some stateful components underneath, those child components are currently unmounting/remounting. If that's actually desirable in their specific case, or if they've done other workarounds to "fix" that behavior, then moving to a render function would suddenly surprise them and possibly break their app.

@jdeal

The one downside I can imagine would be if someone is currently depending on that behavior

This is a good point.
That's why introducing this as a breaking change is something we should consider.

🤔 I'm not sure, this is not idiomatic React code, most people don't know you can just call a React stateless component as simple functions passing props as arguments neither expect it.
So we should add warning and teach people on how this works. And as @arunoda said we're going to have a new API to render a page, this means more documentation needed and more possible errors (specially due people don't expect that to work).

Seeing as how this is such a desired feature (and has been for a while), I think adding a bit of documentation for this functionality is well worth it. If something more idiomatic comes along, you can just release a new major version and refer people to the changelog. :\

@rauchg what about #3471 ? is not a breaking change, and React components will be still be used as usual.

@sergiodxa If I were designing the Next.js from scratch. I'd go with this option.
(exporting a function directly)
Like this:
const Page = (props) => (
  <Layout>
    ...
  </Layout>
)

Page.getInitialProps = () => ({
   name: 'Hello'
})

export default Page

And we don't support exporting React classes.
But now, it's pretty hard to do this change since we've made the pages API super stable.
So, it's pretty hard to do a breaking change.
That's why I like #3471.

@arunoda @sergiodxa I had thought of a similar approach to #3471, but I went with the render function instead because it's more flexible. What if you want your Layout component to provide a render callback instead of passing it a child component? What if you want to pass different props to your Layout component from different pages? What if you don't want a Layout component at all, but instead you want to make some kind of dynamic determination of what to render? Having the <Layout><Component .../></Layout> structure enforced places rigid requirements on your Layout component rather than allowing standard React flexibility to do what makes sense for you app.
An important side effect of this is that the static Layout component approach simply pushes the problem further down the tree. The page component (Component) will still get unmounted/remounted with every page change. In some cases this may be desirable, but in other cases it may not. The render function approach makes it easy to layer various components which stay mounted as desired. The static Layout component approach forces a separation between the parts that stay mounted and the parts that don't.
What about deprecating the current behavior in v5 with a warning and allowing opt-in in a config to the new behavior? Then v6 could switch to the new behavior as a default.
Some other options for providing a render function without the special render naming...
// Provide a Page class that creates a wrapped render function.
import Page from 'next/page'

export class MyPage extends Page {
  render() {
    return <Layout>...</Layout>;
  }
}

// Provide a createPage helper that wraps a render function.
import createPage from 'next/page'

export createPage(() => <Layout>...</Layout>);

Neither of these is substantially different from the render naming, but they are more explicit so it's clear to at least go look for next/page in the docs and see what's special.
You could also compromise with something like this:
export default class AboutPage extends React.Component {
  static renderPage = (Component) => <Layout><Component/></Layout>
  render () {
    return (

        about

    )
  }
}

This way, technically, you keep the same top-level API, but there's an escape hatch that lets take over rendering. Effectively, that means you could do this:
export default class AboutPage extends React.Component {
  static renderPage = () => <Layout>
about
</Layout>
}

That's fine, but maybe just a little weird in the sense that we're just hijacking the React.Component class to hold a render function.

I like the idea of "createPage" because that way we could combine getInitialProps together with pure render functions:
// Provide a createPage helper that wraps a render function.
import createPage from 'next/page'

export createPage({
    getInitialProps: (context) => {
        // ...
    }
}, () => <Layout>...</Layout>);

If I can put my two cents again, I completely agree with:

An important side effect of this is that the static Layout component approach simply pushes the problem further down the tree.

So, I think #3471 is not a complete solution while the approach described by @jdeal makes things flexible. The exact API (either a "render" function, or "renderPage", or "Page" class) needs more thought, indeed.
I don't like the magic "render" function naming just because it doesn't say much those who just inspect the code without reading Next.js documentation. I would prefer a more explicit way of declaring your intent.
"Page" class and "createPage" expands the API surface, and also make things confusing if React.Component/stateless component (native React way) and Page/createPage (Next.js way) are expected.
The compromise of renderPage function (the naming doesn't really matter), which is similar to #3471, yet gives more control over the layout, looks the best option to me. It is flexible, optional, not a breaking change, and not magical.

I really like "renderPage" approach in https://github.com/zeit/next.js/pull/3461#issuecomment-352631686
Allowing we custom the renderPage function is really a flexible way, but it also cause part of layout component no longer persistent in some case (If the developer don't know that can be a trap).
For example:
// pages/foo.js
export default class FooPage extends React.Component {
  static renderPage = ({Component, ...props}) => (
    <TopLayout>
      <SecondLayout>
        <Component {...props}/>
      </SecondLayout>
    </TopLayout>
  )
  render () {
    return (

foo

    )
  }
}

// pages/bar.js
export default class BarPage extends React.Component {
  static renderPage = ({Component, ...props}) => (
    <TopLayout>

paragraph that only show at BarPage

      <SecondLayout>
        <Component {...props}/>
      </SecondLayout>
    </TopLayout>
  )
  render () {
    return (

bar

    )
  }
}

In this case, when you routing to BarPage from FooPage, the SecondLayout will be no longer persistent.
On the contrary, we can do this just like:
export default class TopLayout extends React.Component {
  render () {
    return (

        {(this.props.url.pathname == '/about') && (

paragraph that only show at BarPage

        )}
        {this.props.children}

    )
  }
}

Then SecondLayout can still keep persistent when we do routing to BarPage from FooPage.
So I think a little bit of constraints but allowing defined by multiple layer is more appropriate for layout mechanism, and it will be more intuitional for most of people.
So I propose a new mechanism that support the multiple layer in my approach at https://github.com/zeit/next.js/pull/3471#issuecomment-352830239

Closing in favor of #4129


Added startFrame property

Added startFrame property  to animation-mixer to set the animation to a specific time.
Uses ThreeJS Mixel setTime https://threejs.org/docs/#api/en/animation/AnimationMixer.setTime

I upgraded my project from aframe-extras 6.1.0 to master, and found the same issue as @hiliang-cmu here. The animation doesn't always plays... because of this line this.mixer.setTime(data.startFrame / 1000);. If I comment the line, this works fine.
If I move the line before the action.play() this appears to fix the issue too.
@netgfx Can you look if moving the line before the action.play() works for you for this new startFrame feature?

hm if it is "sometimes" playing then it sounds like a race condition or perhaps now the mixer needs the time set before play

Yes, it looks like it. I moved the setTime before the play in PR #365. I don't have the issue anymore.


Feat: constant product amm contract

Issue(s): Close  #19
Checklist

[x] CI Verifier: Run cairo_programs_verifier successfully
[x] Contract Tests: Added tests to cover the changes
[x] Remix Link: Added a link to open the contract in Remix
[ ] Deployed Contract (Optional): If possible, include a Voyager link to a deployed contract on Goerli

Need some refactor after #90

blocked for now: waiting for openzeppelin Cairo >=2.3.0-rc0 support


New lists API

@alansouzati had a great suggestion for a new lists plugin. This issue tracks that work.
tl;dr:
The existing selection plugin has two limitations:

only supports one array of "selected" IDs
is very tied to a use case: users selecting a thing

A new list plugin would:

be more generic than just selection, so it could work for all sorts of lists of IDs
tie into the built-in lists section of a slice

I'm thinking the new lists plugin will allow us to deprecate the selection plugin altogether. Neat.

Update: I am thinking it makes sense for this new API to go into the core library to resolve the issues described in #292 and #297

In #355 , there is an API to set lists. And getResources currently lets you access a list easily, too. Although the API may change, this is currently solved and will be a part of v3.


[YUNIKORN-2439] Deprecate state-aware sorting policy

What is this PR for?
Update online documentation to annouce the deprecation of state-aware sorting.
What type of PR is it?

[ ] - Bug Fix
[ ] - Improvement
[ ] - Feature
[x] - Documentation
[ ] - Hot Fix
[ ] - Refactoring

Todos

[ ] - Task

What is the Jira issue?
https://issues.apache.org/jira/browse/YUNIKORN-2439
How should this be tested?
Screenshots (if appropriate)
Questions:

[ ] - The licenses files need update.
[ ] - There is breaking changes for older versions.
[ ] - It needs documentation.

there are some examples of response which are using stateaware. Should we change them to fifo?

As far as I can see, I've updated them all on the website (other than the design docs, which we do not update so that they are historically correct).


fix: IOM connection hang when work dir is long

Summary
Fix #964
When the default working directory name is long, it may wrap into multiple lines in SAS log. The WORK_DIR_END_TAG may be break into 2 lines thus not captured.
We're injecting log type between each log line, so when parsing across multiple log lines, it has to process LogLineType first, otherwise the log line type will be captured as part of working directory name, which is wrong.
Testing
Make default working directory be a pretty long name and try run code.

I see issue 964 was merged into this.  It does make some sense that problems with long log lines might be what is preventing my previously working connections from failing.  The only system change was adding SAS monitoring. Which resulted in this wrapped line that I can see in the SAS log right before where it appears to hang.
NOTE: The autoexec file, ('/Volumes/app/sas/clinsas/esm/esm_8286/esm-agent/sasautos/esmtags.sas'
'/Volumes/app/sas/prod3/grid_control_11374/Lev1/SASAppAWS/WorkspaceServer/autoexec.sas'), was executed at server
initialization.

how to change different workspace server like from SASAppAWS to SASAppTest


Bug in issues

When visit issues, it will display others' issues. Visit https://try.gitea.io/issues to reproduce this issue.

So the user ID seems to be missing in one of the queries

Yes. I will see and fix it.

Pull requests are also affected: https://try.gitea.io/pulls

OKay. One PR fixes two.


Clearing the "sudo" cache

Is there a way to clear the sudo cache to force the prompt to appear? Maybe it's worth to document in the README since it can be quite helpful when debugging.

Yes there is, using regular sudo in a terminal:
sudo -k
I don't want to make it part of sudo-prompt's scope, but could you do a pull request for the README?

@jorangreef Done! Let me know if you think the description can be rephrased in a better way.

Thanks! Could you just change "time stamp" to "timestamp"? I know the sudo man page uses "time stamp" but everywhere else it's usually just "timestamp".

@jorangreef Sure, done!


Cannot open collection because it was created with a newer API version

Error pops up when expanding a database:

Error
Error while reading the databases.
Message: {"Errors":["The collection 'main' could not be read because it was created with a newer API version."]}
ActivityId: a0738b17-e9ad-4f04-8662-4e76994594c0, Request URI: [snip]
OK

This is because I downloaded it from codeplex. That page doesn't say it is no longer hosted there. You might update that with a forward link. It shows up before https://github.com/mingaliu/DocumentDBStudio/releases in Bing.


"Creating the web driver failed" exception recently on GitHub-hosted Linux runners for Edge (OSOE-668)

Only on GitHub-hosted Linux runners (not Windows ones, and at least not locally happening under Windows 11 either) OSOCE UI testing is stuck on this error:
 OpenQA.Selenium.WebDriverException : Creating the web driver failed with the message "The HTTP request to the remote WebDriver server for URL http://localhost:39077/session timed out after 60 seconds.". This can mean that there is a leftover web driver process that you have to kill manually. Full exception: OpenQA.Selenium.WebDriverException: The HTTP request to the remote WebDriver server for URL http://localhost:39077/session timed out after 60 seconds.
 ---> System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 60 seconds elapsing.
 ---> System.TimeoutException: The operation was canceled.
 ---> System.Threading.Tasks.TaskCanceledException: The operation was canceled.
 ---> System.IO.IOException: Unable to read data from the transport connection: Operation canceled.
 ---> System.Net.Sockets.SocketException (125): Operation canceled
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
   at System.Net.Http.HttpConnection.InitialFillAsync(Boolean async)
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at OpenQA.Selenium.Remote.HttpCommandExecutor.MakeHttpRequest(HttpRequestInfo requestInfo)
   at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
   --- End of inner exception stack trace ---
   at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.WebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.WebDriver.StartSession(ICapabilities desiredCapabilities)
   at OpenQA.Selenium.WebDriver..ctor(ICommandExecutor executor, ICapabilities capabilities)
   at OpenQA.Selenium.Chromium.ChromiumDriver..ctor(ChromiumDriverService service, ChromiumOptions options, TimeSpan commandTimeout)
   at OpenQA.Selenium.Edge.EdgeDriver..ctor(EdgeDriverService service, EdgeOptions options, TimeSpan commandTimeout)
   at OpenQA.Selenium.Edge.EdgeDriver..ctor(EdgeDriverService service, EdgeOptions options)
   at Lombiq.Tests.UI.Services.WebDriverFactory.<>c__DisplayClass2_0.<CreateEdgeDriver>b__0() in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/WebDriverFactory.cs:line 72
   at Lombiq.Tests.UI.Services.WebDriverFactory.CreateDriver[TDriver](String browserName, Func`1 driverFactory) in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/WebDriverFactory.cs:line 169
---- OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL http://localhost:39077/session timed out after 60 seconds.
-------- System.Threading.Tasks.TaskCanceledException : The request was canceled due to the configured HttpClient.Timeout of 60 seconds elapsing.
------------ System.TimeoutException : The operation was canceled.
---------------- System.Threading.Tasks.TaskCanceledException : The operation was canceled.
-------------------- System.IO.IOException : Unable to read data from the transport connection: Operation canceled.
------------------------ System.Net.Sockets.SocketException : Operation canceled
  Stack Trace:
     at Lombiq.Tests.UI.Services.WebDriverFactory.CreateDriver[TDriver](String browserName, Func`1 driverFactory) in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/WebDriverFactory.cs:line 173
   at Lombiq.Tests.UI.Services.WebDriverFactory.CreateEdgeDriver(BrowserConfiguration configuration, TimeSpan pageLoadTimeout) in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/WebDriverFactory.cs:line 61
   at Lombiq.Tests.UI.Services.AtataFactory.<CreateDriver>g__From|2_0[T](Func`3 factory, <>c__DisplayClass2_0& ) in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/AtataFactory.cs:line 66
   at Lombiq.Tests.UI.Services.AtataFactory.CreateDriver(BrowserConfiguration browserConfiguration, TimeoutConfiguration timeoutConfiguration, ITestOutputHelper testOutputHelper) in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/AtataFactory.cs:line 86
   at Lombiq.Tests.UI.Services.AtataFactory.StartAtataScope(ITestOutputHelper testOutputHelper, Uri baseUri, OrchardCoreUITestExecutorConfiguration configuration) in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/AtataFactory.cs:line 33
   at Lombiq.Tests.UI.Services.UITestExecutionSession`1.CreateContextAsync() in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/UITestExecutionSession.cs:line 635
   at Lombiq.Tests.UI.Services.UITestExecutionSession`1.SetupAsync() in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/UITestExecutionSession.cs:line 498
   at Lombiq.Tests.UI.Services.UITestExecutionSession`1.ExecuteAsync(Int32 retryCount, String dumpRootPath) in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/UITestExecutionSession.cs:line 95
   at Lombiq.Tests.UI.Services.UITestExecutionSession`1.ExecuteAsync(Int32 retryCount, String dumpRootPath) in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/UITestExecutionSession.cs:line 136
   at Lombiq.Tests.UI.Services.UITestExecutionSession`1.ExecuteAsync(Int32 retryCount, String dumpRootPath) in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/UITestExecutionSession.cs:line 149
   at Lombiq.Tests.UI.Services.UITestExecutor.ExecuteOrchardCoreTestInnerAsync[TEntryPoint](UITestManifest testManifest, OrchardCoreUITestExecutorConfiguration configuration, String dumpRootPath) in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/UITestExecutor.cs:line 83
   at Lombiq.Tests.UI.Services.UITestExecutor.ExecuteOrchardCoreTestInnerAsync[TEntryPoint](UITestManifest testManifest, OrchardCoreUITestExecutorConfiguration configuration, String dumpRootPath) in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/UITestExecutor.cs:line 83
   at Lombiq.Tests.UI.OrchardCoreUITestBase`1.ExecuteTestAsync(Func`2 testAsync, Browser browser, Func`2 setupOperation, Func`2 changeConfigurationAsync) in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/OrchardCoreUITestBase.cs:line 261
--- End of stack trace from previous location ---
----- Inner Stack Trace -----
   at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.WebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.WebDriver.StartSession(ICapabilities desiredCapabilities)
   at OpenQA.Selenium.WebDriver..ctor(ICommandExecutor executor, ICapabilities capabilities)
   at OpenQA.Selenium.Chromium.ChromiumDriver..ctor(ChromiumDriverService service, ChromiumOptions options, TimeSpan commandTimeout)
   at OpenQA.Selenium.Edge.EdgeDriver..ctor(EdgeDriverService service, EdgeOptions options, TimeSpan commandTimeout)
   at OpenQA.Selenium.Edge.EdgeDriver..ctor(EdgeDriverService service, EdgeOptions options)
   at Lombiq.Tests.UI.Services.WebDriverFactory.<>c__DisplayClass2_0.<CreateEdgeDriver>b__0() in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/WebDriverFactory.cs:line 72
   at Lombiq.Tests.UI.Services.WebDriverFactory.CreateDriver[TDriver](String browserName, Func`1 driverFactory) in /home/runner/work/Open-Source-Orchard-Core-Extensions/Open-Source-Orchard-Core-Extensions/test/Lombiq.UITestingToolbox/Lombiq.Tests.UI/Services/WebDriverFactory.cs:line 169
----- Inner Stack Trace -----
   at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at OpenQA.Selenium.Remote.HttpCommandExecutor.MakeHttpRequest(HttpRequestInfo requestInfo)
   at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
----- Inner Stack Trace -----

----- Inner Stack Trace -----
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
----- Inner Stack Trace -----
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
   at System.Net.Http.HttpConnection.InitialFillAsync(Boolean async)
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
----- Inner Stack Trace -----

Reruns don't help.
First failing workflow (corresponding succeeding Windows build), and second one (Windows build).
Last succeeding workflow (Windows build).
https://github.com/Lombiq/UI-Testing-Toolbox/issues/302 might be related.
This only seems to affect Edge and thus the Lombiq.Tests.UI.Samples.Tests.BasicVisualVerificationTests.VerifyNavbar(browser: Edge) test. This has Edge now removed to fix the OSOCE dev build, but re-add it.

Jira issue

@DAud-IcI is this something you could also please look into?

@DAud-IcI?

I will check it out this weekend.

Thanks!

Turns out the problem was with msedgedriver itself. I'm not sure why it suddenly popped up, but (after much setup) thankfully I managed to locally repro it in my Linux setup locally.
It looks like when the driver can't find the correct binary name it defaults back to /usr/bin/chromium for whatever reason. On Windows the binary is always msedge.exe so that's easy. I assume that's what the driver looks for on other systems too, but in Linux (including ubuntu-latest on GH) it's actually microsoft-edge-stable.

Great catch!


New Feature: Host Modify

Description
The Host Modify feature would merge the functionality of both host_rewrite and host_route. Users will no longer need to configure these options separately, as they can now be set together within the host_modify configuration option.
The Host Modify feature would allow users to add a client configuration option named host_modify. This would be followed by a toml file path that contains a list of host modify rules.
The File Format Example:
The host_modify file is a toml file with the following format:
[[example.com]]
rewrite = "<IP_ADDRESS>"
backend = "local1"

[[google.com]]
rewrite = "<IP_ADDRESS>"
backend = "local1"

Each section represents a host entry, such as example.com, google.com. Each domain entry can have 2 configuration options: rewrite and backend. The rewrite option specifies the IP address or hostname to which the host would be rewritten, and the backend option specifies the backend to which the request would be forwarded.

For each section, if either the rewrite or backend option is not set, the corresponding functionality would be ignored. If all options are not set, the entire section would be ignored.

[[example.com]]
rewrite = "<IP_ADDRESS>"
backend = "local1"

# this section would be ignored.
[[google.com]]

In the future, there might be additional functionality options added.

#5 #4


Use latest standard image

According to https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html
standard:2.0 is no longer maintained after June 2020.
So updated to netstandard:4.0. Works just as fine

Thank you for the contribution.


Zeus Start Server Works then I try Zeus Server and it blows up...

[~/Projects/livestreaming]$ zs                                                                                *[master][ruby-2.5.0@lsf]
Traceback (most recent call last):
        9: from -e:1:in `<main>'
        8: from /Users/mindblown/.rvm/gems/ruby-2.5.0@lsf/gems/zeus-0.15.14/lib/zeus.rb:51:in `go'
        7: from /Users/mindblown/.rvm/gems/ruby-2.5.0@lsf/gems/zeus-0.15.14/lib/zeus.rb:143:in `command'
        6: from /Users/mindblown/.rvm/gems/ruby-2.5.0@lsf/gems/zeus-0.15.14/lib/zeus.rb:143:in `fork'
        5: from /Users/mindblown/.rvm/gems/ruby-2.5.0@lsf/gems/zeus-0.15.14/lib/zeus.rb:157:in `block in command'
        4: from /Users/mindblown/.rvm/gems/ruby-2.5.0@lsf/gems/zeus-0.15.14/lib/zeus/rails.rb:164:in `server'
        3: from /Users/mindblown/.rvm/gems/ruby-2.5.0@lsf/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require'
        2: from /Users/mindblown/.rvm/gems/ruby-2.5.0@lsf/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:258:in `load_dependency'
        1: from /Users/mindblown/.rvm/gems/ruby-2.5.0@lsf/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `block in require'
/Users/mindblown/.rvm/gems/ruby-2.5.0@lsf/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require': cannot load such file -- rails/commands/server (LoadError)
[~/Projects/livestreaming]$                                                                                *[master][ruby-2.5.0@lsf]

@staycreativedesign Can you also post your custom plan.rb?
Seems like you missed require 'zeus/rails' in that file 🤔

I think I was trying to run zeus with sinatra... so close this up haha...
On Mon, Apr 2, 2018 at 4:03 AM, Long Nguyen<EMAIL_ADDRESS>wrote:

@staycreativedesign https://github.com/staycreativedesign Can you also
post your custom plan.rb?
Seems like you missed require 'zeus/rails' in that file 🤔
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/burke/zeus/issues/653#issuecomment-377889746, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AB3L0pGz5Ed66BZ90CNslX6HLe4LBFwSks5tkel0gaJpZM4SCvhQ
.


about sql capability of trusted computing scripts

First of all, there is a requirement: use SQL ability to fuse multi-party data to get a result set output, such as the personnel financial data of Party A and the personnel consumption data of Party B, and finally fuse the result set of AB and Party B according to the left/right/inner join of SQL and the where condition. I think this requirement can be realized by using Python pandas or sparksql ... , but it is not supported by mesapy.
What is the solution to achieve this effect? If i use rust to develop built-in functions, it will work?
If rust can be implemented, what libraries can be used to implement rust? I haven't written about rust

Sorry, we do not support the libraries you mentioned for data analytics. However, you can write you own function to achieve similar functionalities.
BTW, Apache Arrow's Rust implementation looks promising [1]. I hope someone may help and find out if it works for Teaclave.

[1] https://github.com/apache/arrow/tree/master/rust

ok thank. i will check it out.


Add Pood's Deep Star Map Skybox from SpaceDock

This pull request was automatically generated by SpaceDock on behalf of Poodmund, to add Pood's Deep Star Map Skybox to CKAN.
Mod details:
name = /mod/925/Pood%27s%20Deep%20Star%20Map%20Skybox
author = Poodmund
abstract = Skybox of our night sky made using reference images from the Bright Star, Tycho-2, and UCAC3 star catalogs. This provides a very nice constant star coverage across the whole 360 degrees in the x, y and z planes.
license = CC-BY-NC-ND-4.0
Homepage = http://forum.kerbalspaceprogram.com/index.php?/topic/96851-11-texturereplacer-2413-442016/&do=findComment&comment=2388097
description = Pood's Deep Star Map Skybox
Skybox of our night sky made using reference images from the Bright Star, Tycho-2, and UCAC3 star catalogs. This provides a very nice constant star coverage across the whole 360 degrees in the x, y and z planes.

Dependencies:
Texture Replacer

Please direct questions about this pull request to Poodmund.

Not sure how to edit the default .netkan file that SpaceDock generated by the correct .netkan that I have generated is here:
{
"spec_version": 1,
"name": "Pood's Deep Star Map Skybox",
"abstract": "Skybox of our night sky made using reference images from the Bright Star, Tycho-2, and UCAC3 star catalogs. This provides a very nice constant star coverage across the whole 360 degrees in the x, y and z planes.",
"author": "Poodmund",
"identifier": "PoodsDeepStarMap",
"$kref": "#/ckan/spacedock/925",
"license": "CC-BY-NC-ND-4.0",
"resources":	{
"homepage": "http://forum.kerbalspaceprogram.com/index.php?/topic/96851-11-texturereplacer-2413-442016/&do=findComment&comment=2388097",
},
"provides":		[
"Skybox"
],
"conflicts":	[
{
"name": "Skybox"
}
],
"install":		[
{
"file": "GameData/TextureReplacer",
"install_to": "GameData"
},
],
"depends":		[
{
"name" : "TextureReplacer",
}
],
}

Manual NetKAN pull-request submitted, please close this PR.


Delegated driver should respect login_cmd_template

Issue Type

Feature request

Molecule and Ansible details
ansible 2.6.4
  config file = /home/pavon1000248194/it-ops-inventory-sdf/test/ansible.cfg
  configured module search path = [u'/home/pavon1000248194/it-ops-automation/library']
  ansible python module location = /usr/share/venv/ansible-2.6.4/lib/python2.7/site-packages/ansible
  executable location = /usr/share/venv/ansible-2.6.4/bin/ansible
  python version = 2.7.5 (default, May 31 2018, 09:41:32) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

molecule, version 2.18.1

Molecule installation method (one of): pip
Ansible installation method (one of): pip
Desired Behavior
Use a non-ssh connection with the delegated driver.
I want to test my molecule scenario on a kubernetes cluster. If I use the docker driver and my own create.yml and destroy.yml playbooks, it all works except that I cannot use the  login command since it defaults to docker exec.
If I use the delegated driver with managed=true, I cannot override the login cmd.
If I use the delegated driver with managed=false, It skips the create and destroy steps.
My problem would be solved if the delegated driver would respect the login_cmd_template in managed mode or if there is an option to enable create and destroy in unmanaged mode.

Right, it seems like the delegated driver has a very specific design behind it and what you want is definitely beyond that :) I think your suggestions are sensible but I would have to rely on @retr0h or @wilmardo for guidance.
I would lean towards keeping the idea of 'managed' meaning create/destroy control and then de-couple the login command overriding. So, basically:

problem would be solved if the delegated driver would respect the login_cmd_template in managed mode

I think that is outside the scope of the delegated driver. What you probably want is to write a molecule-k8s driver, which is easier than you may imagine. Look at existing ones for inspiration https://github.com/topics/molecule-driver