$onInit is fired a little bit too early (regarding $attrs interpolation)

This is a feature request.
Currently, $onInit is fired before the attrInterpolateDirective's pre link function is able to resolve attribute interpolation. Thefore one cannot access interpolated attribute values within $onInit.
What is the expected behavior?
I would have expected to be able to access interpolated attributes values (via $attrs object) within $onInit.
What is the motivation / use case for changing the behavior?
I think that the attrInterpolateDirective using a pre-link function for resolving interpolation is outdated, considering that $onInit has effectively replaced pre-link functions for components. Why? This is indicated because the attrInterpolateDirective explicitly uses a priority of 100, making it clear that (prior to introducing components) one could expect attribute interpolation to be finished when your own code (within any of the two link function types (pre/post)) is executed (with a standard priority of 0).
Suggestions
I see two distinct possibilities to achieve the expected behavior.

Making attrInterpolateDirective use a controller instead of a pre-link function (doing what it needs to do during controller instantiation) ... of course one would need to additionally change the internal behaviour so that only ONE attrInterpolateDirective is added which takes care of interpolating ALL attributes of the element.
Merge the $onInit with the preLinkFns somehow:

If you need the interpolated values why don't you use $postLink. OnInit is intended for the bindings.

This is expected behavior.
Attribute value interpolation is a DOM-related operation and as such it is not guaranteed to have finished during the controller instantiation phase. If you need the values you can either use a binding (e.g. bindings: {foo: '@'}) or use the $postLink hook (when all DOM-related operations will have finished) or register an observer for when the value changes (e.g. $attrs.$observe('foo', ...)).
Regarding your suggestions:

Using controllers for attrInterpolateDirective would impose a big overhead (considering how commonly they are used) and having one attrInterpolateDirective per element would introduce unnecessary complexity.
(Not to mention this would be a breaking change.)

Merging $onInit and pre-link doesn't make sense, because each has a different purpose (again, not to mention the breaking change). As @Narretz said, $onInit is only about other controllers and bindings being initialized - nothing to do with DOM attributes.

--
I am going to close this as "works as expected", because the current behavior is the intended one and there is no way to support your usecase without breaking several others.
(As mentioned above, there are other (more appropriate) ways to achieve what you want.)

Ok fair enough. Thanks for your answers. Your suggestions all work in some way. But there is still a specialty that is not covered:
Right now it's not possible to create a general purpose component as a wrapper (at a top level of the DOM), accepting an arbitrary number of attributes (possibly containing interpolation), for exposing its controller to child directives that need to do things differently depending on how the general purpose component is configured (think of an advanced ,  or  element wrapper). While I could resolve the arbitrary number of attributes in a $postLink function, this is too late for the child directives, whose $onInit and $postLink functions have already run. The same is true when using $attrs.$observe() (which has the other caveat that the $observer is not fired if there is no attribute, this btw contradicts the docs which states that the $observer is always fired).
My use-case is only possible with a fixed amount of attributes that are specified in the bindings-object of my general purpose component, like @gkalpak suggested. I can live with that. But I just wanted to make it clear what's possible and what's not.

But I just wanted to make it clear what's possible and what's not.

Angular is pretty flexible - you might be amazed with the things that are possible (although admittedly not always obvious or trivial) :stuck_out_tongue:
Your usecase sounds like an anti-pattern to me (or maybe it is because I don't fully understand it), but it should be possible afaict. Two possible solutions would be:

Since this wrapper component won't have a template of it's own and no actual logic (except for exposing attribute values), you can make it non-isolated and manually interpolate attribute values in the controller. (In fact, you could even make it isolate if you are worried about accidentaly poluting the parent scope and use $scope.$parent for interpolation.)

If compilation timing wrt to parent components isn't important (it generally isn't, it shouldn't be and it can't be if you use templateUrl anyway), you can make the wrapper component terminal and manually compile its contents in the $postLink hook (where the attributes will have been interpolated already).

POC


Cannot migrate : Seeds are not currently supported

Issue description
When I enter my Trinity seed I get the following error Seeds are not currently supporter.

Wallet version
Which version of wallet are you using?

wallet version : 0.4.0

System specification
What is your operating system?
Mac Catalina 10.15.7
Is it a repeatable issue?
Yes
Steps To reproduce the issue
Explain how the maintainer can reproduce the issue.

Import existing wallet
I have a text backup
Enter the seed

Expected behaviour
Import wallet
Actual behaviour
Error message Seeds are not currently supported
Errors
Seeds are not currently supported

You are using the Beta Version of Firefly.
Please delete this version and use the new Alpha Release that will work on the current Mainnet with real IOTA and your real Seed.
Download it here:
https://github.com/iotaledger/firefly/issues/1105

Hi, please download the official version of Firefly from https://firefly.iota.org

Hi, please download the official version of Firefly from https://firefly.iota.org

It works, thanks for your help @rajivshah3


Downgrade to netcore40

Find and use #ninja trick to fake those net45 attributes

Still not used. Will try on sample project apart and use the fix if OK.


[SPARTA-758]: Fix tooltip behaviour in forms

Coverage remained the same at 53.13% when pulling 9bba700f2b485a07cfc0a034640f4fbbc6be90b1 on EvaMGC:SPARTA-758 into bdcddd3912f5f331cede959f44010d3521686ee1 on Stratio:master.


Unable to reply to a multi-line message using any line's short thread ID

When using short thread IDs, if someone sends a multi-line message, matterircd sends the messages to the client with auto-incremented short IDs for each line of the message.
Then when an IRC user wants to reply to the thread, it seems they need to use the last short thread-ID only, else matterircd will fail to detect which thread it belongs to, and will send @@xxx prefix in the message, without a warning it could not find the thread ID.
Also, there is absolutely no indication that a received line is part of a multi-line message, or that every line of these message belong to a specific thread ID, hence there is no way for a user to know they should reply using the last message's thread ID.
Example from IRC client side:

From Mattermost side:

Thank you

Try PR #482 this should fix the issue

Thanks for this, now we can clearly identify multi line messages.
Although, if I might nitpick, this change breaks 2 things:

message highlighting by IRC clients as only the last line gets the mention bit.
plugins coloring thread IDs by their number to help the user identify threads messages as the thread ID is not prefixed to every line

Maybe we need to also prefix current thread ID and suffix re: / mention items when breaking the line before sending to IRC ?

Nice, thanks!
I think having mentions on only one line is OK, it's just that we had them on every line of a multi-line message before the change.


issue on removing the item from list

itemList.value = itemList.value.toMutableList().apply {
    remove(item)
}

or
itemList.value = itemList.value.toMutableList().apply {
    removeAt(itemIndex)
}

When doing this, the item animated like removing and going to the last position of the list (only in UI)... it should not go to the last index, please check and fix. TIA!

I thought it only happened for the first index, now realised its happening for all

https://github.com/Calvin-LL/Reorderable/assets/49871841/b83b5e6d-0aac-40dd-93a0-226940d2574b
This is what exactly happens

I will look into this shortly. Thank you for reporting the issue.

Hmm I can't seem to reproduce it. Any chance the key of the other items change when you delete that item? Can you provide your code or a minimal reproducible example to help me debug?
https://github.com/Calvin-LL/Reorderable/assets/8357970/00bd27eb-e687-4a89-b85f-1e7f20cc335e

            val lazyGridState = rememberLazyGridState()
            val reorderableLazyGridState =
                rememberReorderableLazyGridState(lazyGridState) { from, to ->
                    notebooksList = notebooksList.toMutableList().apply {
                        add(to.index, removeAt(from.index))
                    }
                }

            LazyVerticalGrid(
                columns = 2,
                state = lazyGridState
            ) {
                val existingNotebookIds = notebooksList.map { it.id }

                notebooks.itemSnapshotList.forEach { notebook ->
                    if (!existingNotebookIds.contains(notebook?.id!!)) {
                        notebooksList += notebook
                    }
                }
                itemsIndexed(notebooksList, key = { _, item -> item.id!! }) { index, item ->
                    val isDragging = remember {
                        mutableStateOf(false)
                    }
                    ReorderableItem(reorderableLazyGridState, item.id!!) {
                        Box(
                            modifier = Modifier.longPressDraggableHandle(
                                isReorderAllowed.value,
                                onDragStarted = {
                                    isDragging.value = true
                                },
                                onDragStopped = {
                                    isDragging.value = false
                                }),
                            contentAlignment = Alignment.Center,
                        ) {

                            var tiltAngle by remember { mutableFloatStateOf(0f) }
                            val rotationAngleState = remember {
                                derivedStateOf { tiltAngle }
                            }

                            val tiltState =
                                rememberDraggableState(onDelta = { _ -> tiltAngle = 0f })
                            NotebookView(
                                modifier = Modifier
                                    .draggable(
                                        orientation = Orientation.Horizontal,
                                        onDragStarted = {},
                                        onDragStopped = { lastVelocity ->
                                            if (lastVelocity < 0) {
                                                tiltAngle = 20f
                                            }
                                        },
                                        state = tiltState,
                                    )
                                    .graphicsLayer(
                                        scaleX = if (isDragging.value) 1.07f else 1.0f,
                                        scaleY = if (isDragging.value) 1.07f else 1.0f,
                                    )
                                    .size(190.dp, 210.dp),
                                rotationAngle = rotationAngleState,
                                notebook = item,
                                navController = navHostController,
                                makeRotationAngleZero = {
                                    tiltAngle = 0f
                                },
                                onTrashedZNotebook = {
                                    val indexOfNotebook = notebooksList.indexOf(it)
                                    notebooksList =
                                        notebooksList.toMutableList().apply {
                                            remove(it)
                                        }
                                    notebooks.refresh()
                                    coroutineScope.launch {
                                        snackbarVisibleState.value = true
                                        val result = snackBarHostState
                                            .showSnackbar(
                                                message = "Notebook Trashed",
                                                actionLabel = "Undo",
                                                duration = SnackbarDuration.Short
                                            )
                                        when (result) {
                                            SnackbarResult.ActionPerformed -> {
                                                notebooksList =
                                                    notebooksList.toMutableList().apply {
                                                        add(indexOfNotebook, it)
                                                    }
                                                snackbarVisibleState.value = false
                                            }

                                            SnackbarResult.Dismissed -> {
                                                snackbarVisibleState.value = false
                                                withContext(Dispatchers.IO) {
//                                                    notebookViewmodel.trashNotebook(it.id!!)
                                                }
                                            }
                                        }
                                    }
                                }
                            )
                        }
                    }
                }
            }

This is how I load the items in list - I also checked in demo app, and it seems worked fine... is it anything wrong in my code?

Can you try printing out item.id to see if there's any duplicates?

Just a guess. Does this still happen if you remove notebooks.refresh()?

Alright doesn't look like it's a problem with this library.


No trailing comma support?

Why variants inside the enum can't always have comma at the end?

It's hacky macro syntax. Published a patch (65ed5d6) allowing trailing commas. In the end this crate would probably be better as a procedural macro (which it already builds on using enum-derive and macro-attrs).


Tshark file not created

TShark file not created event though enabled for capturing, using Kali 2017.3 for RPI

Hey, Is tshark correctly installed on your system? Maybe try reinstalling it with apt.


week 1 review ticket

Individual GitHub pages (3 points)

[ ] GitHub page for Test Prep study, requiring 5.3, 5.4 notes and actions( See "GitHub pages actions" at the bottom of each TPT page on cspcoders).

[ ] GitHub page that documents key learnings and code snippets using GitHub and replit.
InfoDB lists
InfoDB loops
Fibonacci - (For Fibonacci(n)  print complete list 0 - n  and not just the nth term)

Individual GitHub pages (3 points)
GitHub page for Test Prep study, requiring 5.3, 5.4 notes and actions( See "GitHub pages actions" at the bottom of each TPT page on cspcoders).  1/1
The GitHub page include 5.3 and 5.4 collegeboard notes and actions.
GitHub page that documents key learnings and code snippets using GitHub and replit.
InfoDB lists
InfoDB loops
Fibonacci - (For Fibonacci(n) print complete list 0 - n and not just the nth term) 2/2
The GitHub page included TT1 code in replit.


Modify documentation to make it more accessible to beginners

Changed the code examples in order to make them self explanatory to those who are new to jwt. Also tried to clarify inexplicit parts of the description of a jwt.

All of these changes make the assumption that everyone uses the HMAC signing method.  There are many use cases for this library that are made less clear by this assumption in the documentation.

I believe that the original example was incomplete because, for example, tokens created by the example code were rendered invalid by the code in the parsing example since they did not use the same signing method. I would argue that it would be more helpful to beginners if they could have a working copy-paste example they could start from. Whereas more advanced users could derive other use cases from the documentation. Another possibility would be to provide additional (separate) examples to demonstrate other important use cases.

I think the existing example is terrible because it's not clear what the 'myLookupKey' function is supposed to do. How is it expected that people who aren't intimately familiar with JWT to ascertain what is going on? I've been using this library for like a year, directly returning a byte, and I just barely figured out what the example/kid claim means and how you're supposed to use it.

@techjanitor did you read the documentation? https://godoc.org/github.com/dgrijalva/jwt-go#Keyfunc
Did you find that unhelpful?
@linuslagerhjelm I think it's a valid point that the write and read operations in the example should be compatible.  It's probably worth moving the examples out of the README and into separate files where they can be automatically tested.  I don't, however, agree that the goal should be to enable copy/paste coding.
When implementing any security feature, it's important to first understand how it works, how it was intended to be used, and what it's limitations are.  There are plenty of resources for this, including jwt.io and the spec itself.  The example code in this library intends to demonstrate how this library interacts with the spec.

Yes it would be a tragedy if the examples were useful and didn't have this mysterious 'myLookupKey' function that is literally explained nowhere.

@linuslagerhjelm what do you think of #128 as a solution to this?  I've been wanting to move example code out of the README for a while as it regularly gets out of date.

@linuslagerhjelm I pulled most of your changes into this.  A few of the README changes were not technically accurate, so I left them out.  I also moved the documentation about HMAC keys into the hmac examples, since that stuff only applies to that key type.

Replaced with #128.  If you feel this doesn't solve your concern, please re-open this ticket, an issue, or a new PR.

For the record @dgrijalva I agree with @linuslagerhjelm and @techjanitor on myLookupKey being a problem--I pored over the documentation and this pull request was the first obvious place that explained what that function could possibly mean. It's frightfully unintuitive given Go's shared syntax for function calls and type casting.

@moberemk fair.  What do you think of the updated example code (#128)?  The sample code in the README has been problematic forever as it seems to always get out of sync with the implementation.

The updated code is better, but still not great--the Example functions are never actually called with an example of what a lookup function might look like. That and the lack of any kind of example data makes this example runnable only in that it compiles, not in that it can actually be run and examined to understand practical usage.

Good point.
-dave

On May 29, 2016, at 7:09 PM, Mark Oberemk<EMAIL_ADDRESS>wrote:
The updated code is better, but still not great--the Example functions are never actually called with an example of what a lookup function might look like. That and the lack of any kind of example data makes this example runnable only in that it compiles, not in that it can actually be run and examined to understand practical usage.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Enhancement Request: Rules affected by semantic actions

Hi,
This a feature request. Feel free to close / move around as you see fit. If you can point me towards how to implement this cleanly, I'm happy to try and improve PEGTL (it's been a great help for me).
Context
I'm trying to build a parser for extracting URLs in context (eg. given free / structured text, extract all the URLs within it). Repository: https://github.com/divyekapoor/grepurls. The code in there is an enhancement of the contrib/uri.hh implementation.
While specifying the grammar for this, one of the issues to be resolved is the handling of contextual delimiters:
eg.
<EMAIL_ADDRESS>
should be parsed as:
<EMAIL_ADDRESS>
instead of:
<EMAIL_ADDRESS>
because single quote and closing parens are allowed within the URI.
To enable this, I have to change a rule called sub_delims in response to a context:
struct sub_delims : one< '!', '$', '&', '\'', '(', ')', '*', '+', ',', ';', '=' > {};

When within a single quoted context, sub_delims should be changed to sub_delims_without_single_quote, within double quotes it should be sub_delims_without_double_quotes or sub_delims_with_escaped_double_quote. There are similar extensions to parenthesis etc.
Issue
In a simple recursive descent parser, I would put the allowed delimiters in a vector and when switching to a single-quoted, double-quoted or parenthesized context, I would simply remove the appropriate delimiters from sub_delims and when returning from that context, I would add the delimiters back. In PEGTL however, this doesn't seem to be possible. To implement this, it seems that I would have to create separate rules for each of the contextual delimiters and then fork all the dependent rules to reference the appropriate rules in context. This is an N x M blowup in the number of rules required in the grammar (N = number of delims; M = number of dependent rules). I've looked through the code and wiki and it seems that the closest analogs are change_action and change_state but I haven't found change_rule. Is there a way to inform the parse by altering parse rules from the semantic actions? Have I missed something in the documentation instead? Is there a better way?  If not, would you consider adding this to PEGTL?
Thanks & I appreciate all the hard work that has gone into PEGTL.
Cheers!
Divye

Hi Divye,
thanks for writing in such a clear way that I don't have to guess what you are trying to achieve and what the issues are.
Now regarding the issue, the short answer is: It's possible, but requires the implementation of custom parsing rules:

Add the vector of delimiters to the states, the additional arguments to a parsing run that are passed around to all parsing rules and actions; works either as an additional argument or as an additional data member of an existing one (or for initial testing a global variable).
Write a custom parsing rule that uses the vector of delimiters from the states to determine which characters it matches; grep for static bool match in the examples directory for some examples of how to implement custom rules, also documentation page.
You can then use either more custom rules or some actions to change the vector of delimiters whenever necessary.

This is just the short run-through, let us know if you need some more information... You can also write us at pegtl(at)colin-hirsch.net .
Best regards, Colin

Thank you for an excellent response. I got the hang of it.


Fix TA documentation error (Git Commit SHA)

run_env[commit] > run_env[commit_sha]
commit_sha is correct. For other CI providers, we have documented commit_sha.
commit_sha  is also used in the Ruby Collector.
https://github.com/buildkite/test-collector-ruby/blob/8cb402152a03fbefbdf8cddd0632284a700e3e20/lib/buildkite/test_collector/ci.rb#L58

Preview https://bk-docs-pr-1743.onrender.com/docs/test-analytics/ci-environments#buildkite


Fix segmentMetadata for MutableSegment

The current way of initializing _segmentMetadata would make its type to be MutableSegmentImpl instead of SegmentMetadataImpl.
Fixing it and adding a test.

Why do you need the class to be the same? As long as you can cast it to SegmentMetadataImpl (a subclass of SegmentMetadataImpl), you should be able to call all its API.
We should not allow setters for SegmentMetadata.

Codecov Report

Merging #4722 into master will decrease coverage by 19.61%.
The diff coverage is 100%.

@@              Coverage Diff              @@
##             master    #4722       +/-   ##
=============================================
- Coverage     57.92%   38.31%   -19.62%
=============================================
  Files          1213     1213
  Lines         65135    65143        +8
  Branches       9488     9488
=============================================
- Hits          37732    24957    -12775
- Misses        24544    37906    +13362
+ Partials       2859     2280      -579

Impacted Files
Coverage Δ
Complexity Δ

.../core/indexsegment/mutable/MutableSegmentImpl.java
69.2% <100%> (-13.34%)
0 <0> (ø)

.../pinot/core/segment/index/SegmentMetadataImpl.java
64.03% <100%> (-16.79%)
0 <0> (ø)

.../org/apache/pinot/common/http/MultiGetRequest.java
0% <0%> (-100%)
0% <0%> (ø)

...n/function/PercentileEstMVAggregationFunction.java
0% <0%> (-100%)
0% <0%> (ø)

...che/pinot/common/restlet/resources/TablesList.java
0% <0%> (-100%)
0% <0%> (ø)

...ransformer/timeunit/CustomTimeUnitTransformer.java
0% <0%> (-100%)
0% <0%> (ø)

...che/pinot/pql/parsers/pql2/ast/OptionsAstNode.java
0% <0%> (-100%)
0% <0%> (ø)

...ot/core/query/scheduler/TableBasedGroupMapper.java
0% <0%> (-100%)
0% <0%> (ø)

...t/core/segment/index/readers/OnHeapDictionary.java
0% <0%> (-100%)
0% <0%> (ø)

...mmon/config/instance/InstanceAssignmentConfig.java
0% <0%> (-100%)
0% <0%> (ø)

... and 591 more

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 3579aae...406a2db. Read the comment docs.

Why do you need the class to be the same? As long as you can cast it to SegmentMetadataImpl (a subclass of SegmentMetadataImpl), you should be able to call all its API.
We should not allow setters for SegmentMetadata.

It seems ok casting to SegmentMetadataImpl where I'm using it - just looks weird SegmentMetadata being a MutableSegment class, and need to cast it wherever it's used to avoid potential issues.
Is it required to have no setters for SegmentMetadata? Overriding the getter methods kind of shows there is such need for mutable segments.

Why do you need the class to be the same? As long as you can cast it to SegmentMetadataImpl (a subclass of SegmentMetadataImpl), you should be able to call all its API.
We should not allow setters for SegmentMetadata.

It seems ok casting to SegmentMetadataImpl where I'm using it - just looks weird SegmentMetadata being a MutableSegment class, and need to cast it wherever it's used to avoid potential issues.
Is it required to have no setters for SegmentMetadata? Overriding the getter methods kind of shows there is such need for mutable segments.

The SegmentMetadata interface should not have any setters (segment metadata represents the state of the segment, and allow user to set it seems weird to me).
I agree it looks weird to have SegmentMetadataImpl inside MutableSegment. The reason why we override SegmentMetadataImpl instead of implementing SegmentMetadata (which is cleaner) for MutableSegment is because some historical package issue, where SegmentMetadata interface cannot include ColumnMetadata, and this is also the reason why we have to cast the SegmentMetadata to SegmentMetadataImpl in order to read ColumnMetadata.
Long term wise, we want to re-organize the package so that SegmentMetadata can include ColumnMetadata, and MutableSegment should implement its own segment metadata.

@Jackie-Jiang thanks for the input! Agree a more thorough refactor is more ideal. Since this is not a blocker for me, I will abandon this fix.


The documentation on this page could stand for a little improvement.   Give me a hint what does "defining navigation name" mean.  Looks a little autogenerated.

[Enter feedback here]

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

ID: 8ea9a698-0616-d3ee-bd7c-8e901ddbb624
Version Independent ID: 48aea069-bb4f-f591-cbe5-d85c02a3343f
Content: ModelExtensions.FindEntityType Method (Microsoft.EntityFrameworkCore)
Content Source: dotnet/xml/Microsoft.EntityFrameworkCore/ModelExtensions.xml
Product: entity-framework-core
GitHub Login: @dotnet-bot
Microsoft Alias: divega

We can't explain every term each time is used, instead we'll create a glossary page for reference.
Duplicate of https://github.com/dotnet/EntityFramework.Docs/issues/1665


Page variables not resetting correctly (?)

MWE here: https://github.com/fredrikekre/franklin-debug. The first commit is just Franklin.newsite() and the second commit is there to illustrate the issue.
If you run Franklin.serve() for that repo and go to e.g. http://localhost:8000/tag/syntax/ the title is "More goodies". I would expect (i) title not to show up at all due to this guard: https://github.com/fredrikekre/franklin-debug/blob/52fb8d05fd913ba8ec849437a7ea333abe79662c/_layout/head.html#L11 and (ii) that pagevariables should be reset between pages?
This was not the issue I tried to debug originally, but I am pretty confident the fix is the same.

Maybe related to the Important note here: https://github.com/tlienart/Franklin.jl/blob/master/NEWS.md#new-stuff ? In my original usecase I define the pagevar in tag.html and expected that to be picked up. Even if that is not supported I think there is still the issue that {{ isdef title }} returns true in the repo above.

Exactly so what's going on is that you can't guarantee which page will trigger the tag generation; and the tag generation doesn't have a "real" scope. So what you did (i.e. call {{insert head.html}} in the tag.html is mostly fine except that you need to add statements in the head.html of the form {{isnotpage /tag/*}} as tag pages cannot rely on local stuff {{fill XXX}} (so in particular the {{fill title}}.
The workaround is to just define global variables (in config.md) and to use the relevant one with {{ispage /tag/tag1/}}{{fill glob_var_tag1_xxx}}{{end}}.
I haven't yet had the time to check out your example in detail but I suspect that your second comment is exactly right.

What's the reason tag.html can't have it's own scope then?

If that is too complicated, would it be reasonable to delete page vars such that they can't be seen from tag.html?

What's the reason tag.html can't have it's own scope then?

it could but I wasn't clear on where you would define stuff (like where you'd put the @def xxx = yyy. Then I thought that I'd just put stuff in the config.md ... but happy to hear suggestions.
With respect to your second proposal, kind of yes (or that it would show warnings), it's a bit finnicky but might be worth it to avoid confusing. I should also make the default layout/tag.html more heavily commented to clarify what can and can't go there (at the moment).

Then I thought that I'd just put stuff in the config.md ... but happy to hear suggestions.

I have a {{ define ... }} hfun that I used in tag.html such that those variables are available in {{ insert head.html }}.

Could you paste here the define function you use?
I think you could have achieved the same thing in the config.md (you can also execute arbitrary Julia code there) and my impression is that it would be cleaner.
Possibly a compromise would be to allow global variables to be functions which get evaluated at fill time. Something like
# (in config.md)
+++
tag_title = () -> "A title $(prod(rand("abc", 2)))"
+++

And then whenever {{fill tag_title}} or {{tag_title}} is called, it would just run call the function.
I think this would be a potentially good compromise between what I think is good (users define tag scope in config.md) and allowing a lot of flexibility in terms of functions that can depend on the tag name or whatever by allowing to pass a function. What do you think?

Could you paste here the define function you use?

function hfun_define(arg)
    arg = arg[1]
    if (m = match(Franklin.ASSIGN_PAT, arg)) !== nothing
        vname, vdef = String.(m.captures[1:2])
        Franklin.set_vars!(Franklin.LOCAL_VARS, [vname => vdef, ]) # TODO: Use set_var! instead ???
    elseif (m = match(r"^([a-zA-Z_]\S*)", arg)) !== nothing
        vname = String(m.captures[1])
        Franklin.set_vars!(Franklin.LOCAL_VARS, [vname => "nothing", ]) # TODO: Use set_var! instead ???
    else
        @warn "misformed {{ define ... }} statement" arg
    end
    return ""
end

and sorry could you show how you were using it?

{{ define title="Posts" }}

for example. But for tag.html this didn't quite work (I can't read the fd_tag from the HTML: {{ define title={{ fill fd_tag }} }} which we discussed some months ago on Slack) so there I have the actual function defining it
{{ definetagtitle }}

with
function hfun_definetagtitle()
    return hfun_define(["title=\"#$(locvar("fd_tag"))\""])
end

Right. So the way I'd have done is is:

have a base_head.html with the base stuff that you want everywhere without interpolation apart from global variables like

<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="/css/franklin.css">
<link rel="stylesheet" href="/css/basic.css">
<link rel="icon" href="/assets/favicon.png">

have the head.html call base_head and insert things based on the local page vars

<!doctype html>

  {{insert base_head.html}}
  {{if hasmath}} {{insert head_katex.html }} {{end}}
  {{if hascode}} {{insert head_highlight.html }} {{end}}
  {{isdef title}} <title>{{title}}</title> {{end}}

  {{insert header.html}}

have the tag.html do something similar but fill {{fd_tag}} and call {{taglist}}

  {{insert base_head.html}}
  <title>{{fd_tag}}</title>

  {{insert header.html}}

Tag: {{fd_tag}}

  {{taglist}}
  {{insert page_foot.html}}

does that seem acceptable?

Yea, I guess I have tried a little bit too hard to keep everything in head.html :)

It's a good effort but I think I have to start wondering about how to encourage users to go along some pre-defined rails to avoid people basically re-coding a static site generator using hfun 😂
Anyway I think the next step for this issue is:

[ ] better docs for the tag page highlighting how to use variables
[ ] a demo for how to modularise layout files into the ones that use only global vars (which can be put anywhere) and ones that use local ones (which should only be used on actual pages)


Create utility function for dashtable_v2.js file that creates the student objects array that get passed into the React Table

[ISSUE RESERVED FOR CTI STUDENT(S)]
Issue Background Info
This issue is a 'under the hood' issue, meaning, when the change is implemented, there will be no indication of the change in the UI. This implementation will allow for more readable code (encapsulated and abstracted).
Expected New Behavior
Although there will be no visible change for the end user(s) in the UI, this change should allow for improved code readability.
Issue Objective
Create a function in api_processor.js that handles the logic to create the array of student data objects that gets stored in the rawStudentSummary variable, which is passed into the react-table.
Context for the issue
When a teacher clicks 'View Class' they are shown a snapshot of all the students' progress in the classroom (dashboard format).

This is the GlobalDashboardTable component being rendered (component code can be found in components/dashtable_v2.js), the file that calls the GlobalDashboardTable component is [id].js (found in pages/dashboard/v2/[id].js).
A third party library called 'react-table' is used to create the dashboard. The data that is passed into the react-table is stored in the rawStudentSummary variable found in the dashtable_v2.js file.
let rawStudentSummary = props.studentData.map(studentJSON => { ....
This variable stores an array of objects where each object contains the following attributes: email, activity, progress and details.
This is what the react-table ultimately uses as the data represented in the dashboard.
  const data = React.useMemo(     () => mapData(rawStudentSummary),     [rawStudentSummary]   );
Pseudocoe example:
dashtable_v2.js:
let rawStudentSummary = createArrayOfStudentDataObjectsToPassIntoReactTable(props.studentData)
api_processor.js:
function createArrayOfStudentDataObjectsToPassIntoReactTable(allStudentJSON) {     let reactTableStudentDataArrayOfObjects = allStudentJSON => { individualJSON         let dashboardDataObj =  { email: '', activity '', progress: '', details: '' }         dashboardDataObj.email = individualJSON.email          dashboardDataObj.activity = getActivity(individualJSON) // create this function in api_processor.js          dashboardDataObj.progress = getProgress(indivudalJSON) // create this function in api_processor.js          dashboardDataObj.details = getDetailsPageLink(indivudalJSON) // create this function in api_processor.js     }    return reactTableStudentDataArrayOfObjects; }
Resources

react-table library:

Documentation
Highly informative/in depth playlist tutorial

Next.js Pages Documentation (not necessarily needed for the task, but may provide additional context)

Hello @utsab Can you please explain the issue like i am not getting exactly what to do because of weird text wrap in pseudo code of api_processor.js
Kindly explain what exactly i need to do ?


Outdated Note (Purple box)

Hi team,
I think there's an outdated info on this documentation.
https://learn.microsoft.com/en-us/azure/defender-for-cloud/integration-defender-for-endpoint#existing-users-with-defender-for-clouds-enhanced-security-features-enabled-and-microsoft-defender-for-endpoint-for-windows

The checkbox for 'Allow Microsoft Defender for Endpoint to access my data' doesn't exist anymore.

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

ID: 970863a5-ab27-6c83-9496-b025dd6bf323
Version Independent ID: a1f053f5-1004-6b6b-8b37-bc31599aa23b
Content: Using Microsoft Defender for Endpoint in Microsoft Defender for Cloud to protect native, on-premises, and AWS machines.
Content Source: articles/defender-for-cloud/integration-defender-for-endpoint.md
Service: defender-for-cloud
GitHub Login: @dcurwin
Microsoft Alias: dacurwin

@felipefiorin
Thanks for your feedback! We will investigate and update as appropriate.

@dcurwin
Can you add your inputs on above query.

#assign:dcurwin

@felipefiorin  Thanks for your comment. The note has been updated with the new procedure. (It should be live in the next few hours).
#please-close


Variables with Self type do not have the correct type

In Swift 5.1, SE-0068 expanded Swift’s use of Self so that it refers to the containing type when used inside classes, structs, and enums. However, Sourcery doesn't seem to support this. For example:
If you have the following Swift file test.swift:
struct A {
  static var specificType: A { .init() }
  static var selfType: Self { .init() }
}

And the following template test.stencil:
{% for type in types.types %}
{% for variable in type.staticVariables %}
{{ variable.name }}
- {{ variable.type.name }}
- {{ variable.typeName.name }}
{% endfor %}
{% endfor %}

And run sourcery --sources test.swift --templates test.stencil --output output.txt:
You'll get the following output.txt:
specificType
- A
- A
selfType
-
- Self

Note that variable.type.name is nil for selfType.
My expectation would be the following output instead:
specificType
- A
- A
selfType
- A
- Self

Tested on Sourcery version 1.1.1

Thanks for providing nice report @erichoracek, I'll try to add this feature to next release


Fail if test is not compiled with OpenACC

We probably should add this to all the OpenACC tests, they have no purpose on CPU and we want to make sure there is no mistake in the flags/compiler

Can I test this patch?

Codecov Report

Merging #615 into master will decrease coverage by 0.05%.
The diff coverage is 63.63%.

@@            Coverage Diff             @@
##           master     #615      +/-   ##
==========================================
- Coverage   91.57%   91.51%   -0.06%
==========================================
  Files          72       72
  Lines        8980     8992      +12
==========================================
+ Hits         8223     8229       +6
- Misses        757      763       +6

Impacted Files
Coverage Δ

unittests/test_schedulers.py
98.13% <100%> (+0.01%)
:arrow_up:

reframe/utility/os_ext.py
89.65% <100%> (ø)
:arrow_up:

reframe/core/schedulers/slurm.py
59.55% <38.46%> (-1.07%)
:arrow_down:

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 b449c24...6bbd5a9. Read the comment docs.

could we rename the test automatic_arrays.F90 to automatic_arrays_OpenACC.F90 ?

@jenkins-cscs retry dom kesch


Fix images and add available languages

Starting a discussion about this here: https://mirrorful.slack.com/archives/C04QKTVD8FP/p1679600544599969


Update link to most recent docs.

Only update link without actual v4 API support?

Is any of you already (secretly) working on supporting v4 API? Otherwise I'm going to fork and issue a PR sooner or later.

Hi @elquimista, we're not actively working on a clio_connect for v4, but would be happy to review any pr's you have.

@vtruong74 Is Clio officially adopting/maintaining this gem or should PR go to the original repo?


Incorrect Geokit::GeoLoc#hash method prevents serialization

Because GeoKit::GeoLoc has a hash method that returns a hash instead of the expected Fixnum, it is not always possible to serialize these objects. (See: http://apidock.com/ruby/Object/hash)
It would be preferable if the methods that return hashes are called to_h, or to_hash, or perhaps both, as is convention.
This is easily demonstrated as:
GeoKit::Geocoders::MultiGeocoder.geocode('123 main st.').all.to_yaml
# => TypeError: can't convert Hash into Integer

Closing issue as it's been so long. If you see this as still being an issue, please open a new issue or submit a PR. Thank you.


unitie.co.uk does not work on both computer or mobile browsers. (www.unitie.co.uk does work).

unitie.co.uk on Web-browser Safari works, but not on google Chrome.

@tormod17 @thegsi

@officialunitie guys can we have the details for 123 reg?  This is where you bought your domain name from. At the moment you have a 100gb hosting service from Go Daddy but are not actually using this as the site is hosted on Heroku, to get Redis hosted on Godaddy you would need to increase your package to £50 amonth.  Hopefully we can skip out Godaddy and go straight from 123 reg to Heroku. I spoke with Godaddy and there might be a chance you can cancel your service and get a refund. If you get me the details I'll set it up today.

Username<EMAIL_ADDRESS>

Pass: fandcoders123

@officialunitie okay both www.unitie.co.uk and unitie.co.uk are forwarding to young-caverns I have change the DNS details on 123 reg it can take upto 48 hours to point properly.  With regards to Go Daddy you are not using their services for anything so I would give them a call and tell them so.

@tormod17 @thegsi ok, currently both www.unitie.co.uk, unitie.co.uk go to young-caverns website, as in doesn't say www.unitie.co.uk in the browser.

this has now been addressed.

unitie.co.uk currently redirects to http://young-caverns-8279.herokuapp.com/

check that you have cleared browsing history  unitie.co.uk is pointint to www.unitie.co.uk

My apologies, its running fine


RBAC support

Right now, if you try to use this gateway with a Brigade that was deployed with RBAC, the gateway will not be able to create or get secrets.

Hi, @jskulavik!
I think the issue was solved with the new Helm release, we'd love your contributions here 😄
Let me know if there is anything I can help you with - here, or in the #brigade channel on the Kubernetes Slack.


How to enable stream

add a request param  "stream":true
demo :
curl -s http://localhost:8000/v1/chat/completions \
  -H "Authorization: Bearer $YOUR_GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
      "model": "gpt-3.5-turbo",
      "messages": [{"role": "user", "content": "Hello, Who are you?"}],
      "temperature": 0.7,
      "stream":true
      }'


Maybe bug: ImportOrExportKind sometimes reported as Value when should be Type on ImportDeclarationSpecifier::ImportSpecifier

Hi, great project! I'm working on a TypeScript to Rust types generator (why doesn't this exist yet? -- tried ts2rs crate but it's based on Pest & seems no longer maintained -- oxc seems much better for TypeScript -- really fast, don't have to write syntax rules, etc.).
Anyway, trying to figure out how to have an "entrypoint" .ts file in which I either import or export the types I want to convert, and found that an imported/exported type is detected as a ImportOrExportKind::Value rather than a ImportOrExportKind::Type unless very specific syntax is used:
Case 1: examples/axe/axe-types.ts - FAILS TEST ❌
import { RunOptions } from 'axe-core'

Case 2: examples/axe/axe-types.ts - FAILS TEST ❌
import type { RunOptions } from 'axe-core'

Case 3: examples/axe/axe-types.ts - PASSES TEST ✅
import { type RunOptions } from 'axe-core'

Maybe this is not a bug -- or less of a bug than I think it is -- because it seems you'd have to actually resolve the library to detect whether it is actually a Type or Value. So maybe I need to resolve the import/export in my crate to check whether it is a type or not.
In any case, if Case 1 is indeterminate, shouldn't Case 2 be able to pass, because type specifies everything in the curly braces -- or is this yet another TypeScript confusion? 🤔
Example structure:
Create examples/axe folder. Add package.json and axe-types.ts (below) and run npm install.
Add examples/minimal.rs file below and relevant dependencies to Cargo.toml.
Note that in axe-core/axe.d.ts, RunOptions is an interface:
  interface RunOptions {
    runOnly?: RunOnly | TagValue[] | string[] | string;
    rules?: RuleObject;
    reporter?: ReporterVersion | string;
    resultTypes?: resultGroups[];
...

examples/axe/package.json
{
  "dependencies": {
    "axe-core": "^4.10.0"
  }
}

examples/minimal.rs
use std::{fs, path::Path};

use oxc_allocator::Allocator;
use oxc_ast::{ast, visit::walk, Visit};
use oxc_parser::{ParseOptions, Parser};
use oxc_resolver::{ResolveOptions, Resolver};
use oxc_span::SourceType;

struct TypeScriptToRustVisitor;

impl<'a> Visit<'a> for TypeScriptToRustVisitor {
    fn visit_export_named_declaration(&mut self, it: &ast::ExportNamedDeclaration<'a>) {
        for spec in &it.specifiers {
            let exported_name = spec.exported.name().into_string();
            let export_kind = spec.export_kind;
            let local_name = spec.local.name().into_string();

            println!(
                "Found export: {:?} {} as {} from {:?}",
                export_kind, exported_name, local_name, it.source
            );

            assert_eq!(export_kind, ast::ImportOrExportKind::Type);
        }

        walk::walk_export_named_declaration(self, it);
    }

    fn visit_import_declaration(&mut self, it: &ast::ImportDeclaration<'a>) {
        let Some(specifiers) = &it.specifiers else {
            return;
        };

        for specifier in specifiers {
            if let ast::ImportDeclarationSpecifier::ImportSpecifier(spec) = specifier {
                let imported_name = spec.imported.name().into_string();
                let import_kind = spec.import_kind;
                let local_name = spec.local.name.clone().into_string();
                let module_source = it.source.value.clone().into_string();

                println!(
                    "Found import: {:?} {} as {} from {}",
                    import_kind, imported_name, local_name, module_source
                );

                assert_eq!(import_kind, ast::ImportOrExportKind::Type);
            }
        }
        walk::walk_import_declaration(self, it);
    }
}

fn main() -> Result<(), String> {
    let entrypoint = String::from("examples/axe/axe-types.ts");

    let path = Path::new(&entrypoint).canonicalize().unwrap();
    assert!(&path.is_absolute(), "{path:?} must be an absolute path.");
    let dir = path
        .parent()
        .expect("Failed to get parent directory of path");
    let file = path.file_name().expect("Failed to get file name of path");

    let resolve_options = ResolveOptions {
        extensions: vec![".d.ts".into(), ".ts".into()],
        ..ResolveOptions::default()
    };

    let specifier = &format!("./{}", file.to_string_lossy());

    let resolver = Resolver::new(resolve_options);
    let resolution = resolver.resolve(dir, specifier).expect("resolve");
    println!("resolution: {:#?}", resolution);

    let path = resolution.full_path();

    let source_text =
        fs::read_to_string(&path).map_err(|_| format!("Not found: '{entrypoint}'"))?;
    let source_type = SourceType::from_path(&path).unwrap();

    let allocator = Allocator::default();
    let parser = Parser::new(&allocator, &source_text, source_type).with_options(ParseOptions {
        parse_regular_expression: false,
        preserve_parens: false,
        ..ParseOptions::default()
    });

    let ret = parser.parse();

    let mut visitor = TypeScriptToRustVisitor;
    visitor.visit_program(&ret.program);

    Ok(())
}

Thanks for the in-depth description! I'm glad you're enjoying using oxc.
What you're experiencing is expected behavior. ImportOrExportKind corresponds to the type modifier on import/export statements, not the actual value of the symbol being imported/exported.  I'll break it down:
Case 1: importing a type alias/interface without import type
Consider the following files:
// foo.ts
export const a = 1
export interface B {}

// bar.ts
import { a, B } from './foo'

Parsing and static analysis of each file is done in isolation from other files. When parsing bar.ts, we have no idea what kind of symbols a and B will be. I'll describe later what you can do if you need this information.
Case 2: declaration-level type imports
import type { RunOptions } from 'axe-core'

Here, the type modifier applies to the entire declaration, not just a single specifier. If you put this code into our playground, you'll find that ImportOrExportType on ImportDeclaration is (correctly) a Type, while ImportSpecifier is a Value.
Case 3: specifier-level type imports
import { type RunOptions } from 'axe-core'

Inverse of case two: the specifier is a Type while the entire declaration is Value. Playground link
Funny enough, cases 1 and two are meaningfully different.  When compiled, case one gets completely removed, while case two gets compiled into
import {} from './foo'

This is because it is a value import declaration, and importing 'foo.ts' could have side effects.
Hope this helps!


Updated setup_lua script for travis

Changed some of the if-else loops to case statements. Kindly review the changes.

Coverage remained the same at 66.49% when pulling 90cd72111688238c06a4d8773ba53d7ec92506b3 on pradeepchhetri:travis-script into 2ce9eeb6965623d150c33d9fef44b7b7aa5e7623 on Mashape:master.

I am not sure about this. It makes things more verbose, nest cases in elses, which makes things kinda more complicated than it was, and also this script is based on https://github.com/moteus/lua-travis-example/blob/master/.travis/setup_lua.sh and we want to be able to quickly copy/paste it to update it (which is needed I think).


New version: iQIYI.iQIYI verison <IP_ADDRESS>03

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.2 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

So, what happened and what shall I do then?

msftbot was not working properly yesterday and it should be fixed now. You can close and reopen this PR to trigger the pipeline.

Ouch… Do you know what happened? @ItzLevvie

@denelon @stephengillie


Design for GitHub pages

We have currently simple GitHub page, but we need to think about it's update with some better design.

Do you still need help with this?

Is this still needed ?

@KevinApodaca @mooncakes-dev There is some basic version already. If you have any ideas how to improve it you can help :)

i agreed!

i agreed!

I have some ideas:

Maybe you can support an Chinese version page, if you need, i can help you in the translation.
Contents is a little bit long, maybe you can place it in a sidebar
not only the Language dimention, you can give where can we get the application, such as "github, appstore or official site"

Hi, I would like to work on this.

We have currently simple GitHub page, but we need to think about it's update with some better design.

May I suggest a bit of Improvement on your page!
It will be better if you add links to languages also. like it can be to a page where the apps made using those languages are listed. maybe it can help find a new project idea while learning that specific language.
hope it helps

We have currently simple GitHub page, but we need to think about it's update with some better design.

May I suggest a bit of Improvement on your page!
It will be better if you add links to languages also. like it can be to a page where the apps made using those languages are listed. maybe it can help find a new project idea while learning that specific language.
hope it helps

Hi @serhii-londar if you still need help not this , I can work on it.

Hi @serhii-londar if you still need help not this , I can work on it.

yo i'm going to start a project it's mostly to help me in my progress in learning
web development

I have the same problem with you ,then i see so many people want to help you and provide with their methods,I think it may help us.

i think having filters with multiple selections would be good and would help users to quickly identify topics / contents they're interested in.
Something like this:

instead of the contents being a vertical bulleted list it might be a more efficient use of space to have the links be in more of an array shape. also, making the available languages links would allow people to more easily choose projects from a specific language

Do you still need help with this?

Yes I do

is this open ?


steam-chrootenv: add lsof

Motivation for this change
closes #80184
This adds support for "Launch Game" through the friends menu
Things done

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

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

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

@GrahamcOfBorg eval


Consolidate configuration

Current configuration files for the project have overlap in the 'pre-process' and 'process' stages of the project.  I think it will be worth consolidating these now before a larger re-factoring, as it will make things considerably simpler defining parameters once, eg in one or more YAML files dealing with project, region, indicators, and data settings.

I've partly updated the preprocess branch; will be good to consolidate all configuration code to the configuration folder to make more clear which scripts need to be run


Doesn't appear to generate any text

Can't see any text generation on the label, even after F6
SCAD V2024.09.30

Sorry about that, I mixed up the branches. You can download it again and you should have a working version.

Thanks - lot better
Changing the font family does not appear to do anything is this due to running on windows 10 ?
Looking forward to chris (osat) installing the vertical click rails in his bin generator
Thanks

@lsd87 That may be because you don't have the fonts installed.
I've added it to the makerworld listing here if you want to try out the fonts there without installing: https://makerworld.com/models/446624
I'm very excited to see Chris integrate the socket in his bins. I may make my own solution in the meantime to replace the V1 bins on makerworld ASAP.

Installed fonts and now works fine.
Do you know is gflabel @ndevenish will support your click V2 ?

@lsd87 I believe so, I've kept them up to date with the progress on V2 and they expressed interest in keeping gflabel up to date.

I plan to, but was only told about the v2 release two days ago! I plan to have a look this weekend to see how close to the prototype v2 the final release is, and update.

@ndevenish Thank you thank you!


Switch nextTick to setImmediate

This gives a significant increase in processing speed events, particularly in complex relationships

utils.js is available in Reflux._ by the way. Don't remember when it was added though...

Things to do

[ ] Readme should have info about switching to setimmediate2

Another setImmediate fork: https://github.com/calvinmetcalf/macrotask
This is rather forked much earlier at https://github.com/YuzuJS/setImmediate/commit/6dd6a2dd3162f15848ca4d609d70b778b9b59261

process.nextTick browser's implementation got a huge performance boost (defunctzombie/node-process#29). Maybe this PR is not pertinent anymore.

Be very aware that setimmediate isn't patched for this bug: https://github.com/YuzuJS/setImmediate/issues/35
So setimmediate2 or macrotask is to be used alternatively.

IMO, this PR shouldn't be merged b/c it introduces one more dependency. Plus, there's a reason why that exports.nextTick is overridable; so that end-devs to use their favourite flavour of nextTick.

@Dashed I'm not going to merge this PR, as it introduces another dependency that can instead be configured through nextTick. I'm really want to keep reflux dependency-free (with the exception of eventemitter since reflux is dependent on the pubsub functionality and I can't be bothered to reimplement that).
I only have this issue open as a reminder to update the README.


The ScriptProcessorNode is deprecated

Hello, nice work! 👍
[Deprecation] The ScriptProcessorNode is deprecated. Use AudioWorkletNode instead. (https://bit.ly/audio-worklet)
This message appears on Chrome dev console. Should I be worried? Thanks!

I would also like to know this. Thanks!

Do you have any plans to migrate the lib to use the AudioWorkletNode?

Do you have any plans to migrate the lib to use the AudioWorkletNode?


HODL, Server,  HODL status

API will provide the status of the program.
Output: open subscription flag.
message.
May be use welcome message (what to print at HODL page)

done by Chris


Switching profile and remote sessions

Testing #186171

Open a Remote-SSH workspace
Open a couple of editors
Switch to a profile that does not contain the Remote-SSH extension
Now that the remote connection is broken, switch back to the original profile
-> The remote connection remains broken and I need to reload the window manually to get it reestablished. I would have expected that after step 4) I'm in a good spot.

This should get fixed with https://github.com/microsoft/vscode/issues/186270. We should never disable remote extension.


Get voltmeter.py working

Coding done but needs test and debug.

The AD7124 is not recognised. Using PiScope shows that the SCLK, MOSI and CE0 lines work fine but the MISO line stays permanently low.


envision: autopatchelf after build

Continuation of https://github.com/NixOS/nixpkgs/pull/337340
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
25.05 Release Notes (or backporting 24.11 and 25.05 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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Rebased; I think the staging I was based off of was broken.

Manually backported: https://github.com/NixOS/nixpkgs/pull/365640

Had to manually resolve quite a nasty merge conflict with https://github.com/NixOS/nixpkgs/pull/359156. Please double check ab44f61ec7fa0008bd39883fc7689095af182052. In the future, please try targetting a single branch when submitting multiple pull requests for a single file.


HTML

HTML
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information.
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I visit the webiste in my browser
THEN I see four boxes titled HTML, CSS, Git, and JavaScript with associated notes listed.

Changed a few things along with adding the HTML code. Included bullet points, a new photo and centered the title with the photo.


Better Documentation

I'm finding it hard to figure out what exactly this API Can do, other than the examples listed in README.md, I'm finding it pretty difficult to explore the different options.
At this point what I'm doing consists of using help() to try and figure what each object/method can do. This doesn't really seem "scalable" and is fairly time consuming.
Is there a readthedocs webpage or something?

Unfortunately, not yet.  I never had the time to put into better docs. :(

No worries, that's understandable as it would require a significant portion of time to do so.
Thanks for the response

A lot of work was already put in by @Hellowlol for this.  I also started another branch to take that work and format it for Sphinx documentation after which we'll get this up on ReadTheDocs. I suspect this will take a few weeks to fully clean things up.

Can't we use the extension  Napoleon with spinx? I choose google docs style since that is the most human readable.

Of course, I was hoping you would chime in. I never used Spinx before, don't know much about it or the best approach.

Afraid i dont know anything about it. Never used it but im sure we can figure it out.

We should use Napoleon to parse the google docstyle to rst to it passes this to sphinx before building docs. I choose google docs style because imo its the most readable docstring type. Changing this to rst manually would make the docs harder to read and would be a huge task.
extensions = ['sphinx.ext.autodoc', 'sphinxcontrib.napoleon']
See http://sphinxcontrib-napoleon.readthedocs.io/en/latest/

This is getting there (slowly). I'll be out of town this weekend, but expect to finish reviewing and adding to everything next week at which time we can look into publishing to Read The Docs. After this is done, I'd love to look into the new test suite and get that running cleaning on TravisCI. @Hellowlol, you did an amazing first pass on this, thanks so much!
A few guidelines I was following to make it a bit easier.

No need to document dunder functions (__init__, __repr__, etc).
No need to over-document private methods (_functions).

Completed: Audio, Client, Config, Exceptions, Library, MyPlex, Utils
Remaining: Media, Photo, Playlist, Playqueue, Server, Sync, Video

Awesome stuff. How are you solving this?. Are you editing adding the classes manually.? Or using some kind of tool? . I don't know why i didn't add proper classes in the first go. Anyway thank you so much.

Closing this one.  There is still some work to do for docs, but we're well on our way and its part of the build system now!
http://python-plexapi.readthedocs.io/en/latest/?badge=latest


Adding Curies

Do you have any examples of how to create curies using your API?
I can see there is an overload on the Link constructor that takes a CurieLink, but cant work out how to get them to render
I coulnd't see a good example in the samples or tests either
any pointers?
thanks v much

Have you checked: https://github.com/JakeGinnivan/WebApi.Hal/wiki/Hypermedia-configuration,-container-and-appenders

thanks - I did look in the wiki but thought it was empty!
So is this to be done instead of having a static LinkTemplates file that defines the links?

No, not necessarily, but it does enable automatic CURIE generation. Alternatively, i think you could create a CuriesLink instance and add it manually by calling the ToLink() method on it.


Detect header sent status at middleware handler

These middleware were used in many places throughout the handler pipeline.  It is best to check the status of the header sent field on the express response object before running the run on send again.

[Current coverage][cc-pull] is 75.46% (diff: 100%)

Merging [#2395][cc-pull] into [master][cc-base-branch] will decrease coverage by 16.38%

@@             master      #2395   diff @@
==========================================
  Files            95         95
  Lines         10708      10714      +6
  Methods        1309       1309
  Messages          0          0
  Branches       1741       1743      +2
==========================================
- Hits           9835       8085   -1750
- Misses          873       2629   +1756
  Partials          0          0

Powered by Codecov. Last update [fa49f05...176a6d0][cc-compare]
[cc-base-branch]: https://codecov.io/gh/ParsePlatform/parse-server/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/ParsePlatform/parse-server/compare/fa49f05fddbeecfc81dfa4506272ae375875bbcd...176a6d04f963889452590d4f88d8e0f8276e09c8?src=pr
[cc-pull]: https://codecov.io/gh/ParsePlatform/parse-server/pull/2395?src=pr

I'm afraid that when we added the next it uncovered an issue related to the order of processing of each route handlers. Could you pin-point why those middlewares are not processed in the right order?

I only did what I could to address the symptom.
The symptom was allowCrossOrigin fired after the header was sent.
This occurred when I was testing my own email verify/password reset.  Whenever the page was served the middleware attempts to send CORS headers, which triggered the first "header already sent" error, gets captured by hadnlerParseError middleware, and triggered another "header already sent" error.

Uhm, that's odd. My worry is is that we don't solve the issue by removing the root cause, but just by letting the middleware skip.

This will be fixed by #2475


chore(deps): update dependency ansible to v8

This PR contains the following updates:

Package
Update
Change

ansible (source)
major
==7.0.0 -> ==8.5.0

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


[BUG]: Compliance tests failure after removing faulty configuration in SIPp scenarios

What happened?
After removing the [last_Record-Route:] configuration from many of the UAS from SIPp scenarios, I noticed that 12/20 test failed. This is problematic, because having Record-Route in SIP responses is not standard SIP behavior, which could lead to bugs.
Steps to reproduce
Switch to the branch test/remove-record-route-from-responses and run the following command:
docker-compose -f compose.yaml -f compose.dev.yaml up

Use sngrep, wireshark, and logs to observe that many tests begin to fail.
Expected behavior
All tests should pass even without the Record-Route headers, since Record-Route should only be present in requests and not in responses.
Additional context
While working on this issue make to

[ ] Be able to run the compliance verification without misconfigured Record-Route
[ ] In addition make sure to remove unnecessary Contact header from 100 and 180 responses
[ ] Make sure to include Route headers only for neccessary responses

I double-checked and confirmed that sending back a set of Record-Route is the standard behavior. Closing this issue.


[Bugfix]: make corrade plugins static

Motivation and Context

Previously our corrade plugins were not statically linked which complicated the rpath resolution. Apparently, this was a bug and can be fixed with a simple cmake change which ensure that corrade is built statically as well.
Now that this change is made, it vastly simplifies the rpath issues we were having before since Magnum and Habitat-Sim are both separately and statically linked.
Fixes a bug where importing magnum would fail if habitat_sim was not imported first (due to shared lib dependencies installed in the habitat_sim folder.

How Has This Been Tested

Locally on OSX and on CI.

Types of changes

[X] Docs change / refactoring / dependency upgrade
[X] Bug fix (non-breaking change which fixes an issue)

Checklist

[X] My code follows the code style of this project.
[X] My change requires a change to the documentation.
[X] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[X] I have completed my CLA (see CONTRIBUTING)
[X] All new and existing tests passed.

Didn't this get changed to shared so that Magnum's python bindings and habitat-sim could both use the same OpenGL context? i.e. to enable things like https://github.com/facebookresearch/habitat-sim/pull/727

@erikwijmans I don't think so, the OpenGL context is part of Magnum not Corrade, right? Magnum is still statically built as it was before this change (see below to where Magnum), it was only Corrade that not being built statically.

@erikwijmans In other words see here: https://github.com/facebookresearch/habitat-sim/blob/59b563f1ba451fd27f9d7eca9e49d2bcd69be54c/src/cmake/dependencies.cmake#L175

Yeah, on second thought this seems unrelated to that.

Previously our corrade plugins were not statically linked [...]

@Skylion007 This is misleading, plugins were always built as static. The bug here was that BUILD_STATIC was enabled too late and thus on the first CMake run Corrade was still built as dynamic, but because it's a cache variable, re-running CMake again made everything built static.

Didn't this get changed to shared so that Magnum's python bindings and habitat-sim could both use the same OpenGL context?

@erikwijmans Yeah, it's somewhat related. With Magnum built as dynamic I wouldn't need to do all this insane symbol deduplication gymnastics, but because for this project it doesn't make sense to ship with a bazillion of *.sos, I had to do that and it works. Well, except for the bug that plagues #727, and except for GL entrypoints, which I didn't figure out how to deduplicate in a performant-enough way yet. On my list of things to look into when work on the Python viewer is resumed.

I'm curious why the Magnum default is shared.

@eundersander You're asking why the default isn't static, or what's your question? Shared libraries are the reasonable default that makes sense for most packaging and installation scenarios (which is the implicit use case), less so when a project bundles all its dependencies (which is why Habitat switches Magnum, Assimp, GLFW, Bullet, OpenEXR, ... to build as static).

Thank you @Skylion007! Merging to fix the CI. If changes needed, let's make separate PR.


Scrapping break error

I'm using your script and it seems really promising! But unfortunately I’m having some problems with it, and I hope you can help me.
I'm using Ubuntu, I followed the instructions I found in the README.md file but when I run the script with my internet connection - I’m on optical fiber- or through Amazon Web Services hosting
I keep getting the same error:
If you believe this is only caused by slow internet, increase sleep time 'sleep_time_between_post_scroll' in settings.py
Of an Instagram account, the script tells me
Getting first 1116 posts but check 1110 posts only
Then the script goes quite slowly, after an hour or so when it reaches the 42nd post It breaks.
Scrolling profile 42 / 1116
breaking in 2 ...
If you believe this is only caused by slow internet, increase sleep time 'sleep_time_between_post_scroll' in settings.py
Scrolling profile 42 / 1116
breaking in 1 ...
If you believe this is only caused by slow internet, increase sleep time 'sleep_time_between_post_scroll' in settings.py
Scrolling profile 42 / 1116
breaking in 0 ...
If you believe this is only caused by slow internet, increase sleep time 'sleep_time_between_post_scroll' in settings.py
Not getting any more posts, ending scrolling

1 / 42
INFO [2018-11-07 16:49:27] Scrapping Post Link:

In the end, I've got only the first 42 posts without comments, but I don’t think my line or AWS, both quite fast, may cause the problem.
Could you please tell me what do you think is caused?
During the scrapping I also get  this error 10 times then it goes in “exit getting comments” :
click button for loading more
error on clicking - next try

Maybe Instagram changed something?
And sometimes I get this other one:
ERROR something went wrong getting user_commented
ERROR [2018-11-07 16:55:58] ERROR something went wrong getting comment

Thanks in advance, I really hope you can help me.

Hello. I wrote these lines of code, and message to Increase sleep time is
because apparently bot tries to scroll down the users wall, but no new
photos are loaded.
After each attempt to scroll, it loads all the links to all the posts and
if that number of links doesn't increase, it evaluates loading of new posts
as unsuccessful.
If you change settings in crawl file to not use headless browser, you will
see it work in front of your eyes (opening of Google chrome, logging in,
scrolling.
Please tell me if it is scrolling and loading new photos.
If it is not secret, also tell me for which username this error happens.
It is possible Instagram changed something. I'll be on my PC tomorrow
afternoon to look at it.
On Thu, Nov 8, 2018, 6:02 PM davidetroise<EMAIL_ADDRESS>wrote:

I'm using your script and it seems really promising! But unfortunately I’m
having some problems with it, and I hope you can help me.
I'm using Ubuntu, I followed the instructions I found in the README.md
file but when I run the script with my internet connection - I’m on optical
fiber- or through Amazon Web Services hosting
I keep getting the same error:
If you believe this is only caused by slow internet, increase sleep time
'sleep_time_between_post_scroll' in settings.py
Of an Instagram account, the script tells me
Getting first 1116 posts but check 1110 posts only
Then the script goes quite slowly, after an hour or so when it reaches the
42nd post It breaks.
Scrolling profile 42 / 1116
breaking in 2 ...
If you believe this is only caused by slow internet, increase sleep time 'sleep_time_between_post_scroll' in settings.py
Scrolling profile 42 / 1116
breaking in 1 ...
If you believe this is only caused by slow internet, increase sleep time 'sleep_time_between_post_scroll' in settings.py
Scrolling profile 42 / 1116
breaking in 0 ...
If you believe this is only caused by slow internet, increase sleep time 'sleep_time_between_post_scroll' in settings.py
Not getting any more posts, ending scrolling
1 / 42
INFO [2018-11-07 16:49:27] Scrapping Post Link:
In the end, I've got only the first 42 posts without comments, but I don’t
think my line or AWS, both quite fast, may cause the problem.
Could you please tell me what do you think is caused?
During the scrapping I also get this error 10 times then it goes in “exit
getting comments” :
click button for loading more
error on clicking - next try
Maybe Instagram changed something?
And sometimes I get this other one:
ERROR something went wrong getting user_commented
ERROR [2018-11-07 16:55:58] ERROR something went wrong getting comment
Thanks in advance, I really hope you can help me.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/timgrossmann/instagram-profilecrawl/issues/103, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AgZdwWUYXhH4e5__KVMAMC9BVeyikBZ-ks5utGO_gaJpZM4YVGDe
.

I'm getting the same exact error :
Scrolling profile  24 / 456
Scrolling profile  36 / 456
Scrolling profile  42 / 456
Scrolling profile  42 / 456

Increased the delay to 5 sec, same error, still stuck at 42.

Whoever was changing this program before made some bugs. I have fixed them. It works flawlessly for me now.
https://github.com/timgrossmann/instagram-profilecrawl/pull/104

Dear David,
Thanks to your intervention now the script don't stop anymore at 42 posts, but I’m still having the other problems:
I don’t get the comments' text and neither the correct number of comments of a single post:

click button for loading more
error on clicking - next try (tried: 0)comments:26)
click button for loading more
error on clicking - next try (tried: 1)comments:26)

INFO [2018-11-13 11:25:17] found comments2
ERROR [2018-11-13 11:25:27] ERROR something went wrong getting user_commented
ERROR [2018-11-13 11:25:27] ERROR something went wrong getting comment
ERROR [2018-11-13 11:25:38] ERROR something went wrong getting user_commented
ERROR [2018-11-13 11:25:38] ERROR something went wrong getting comment
INFO [2018-11-13 11:25:38] 0 comments.

I tried with two the different accounts, a bigger one https://www.instagram.com/scottecss/, and also https://www.instagram.com/fibrax/ since it has very few post and comments.
I’m attaching to you the JSON file, the commenters list, and the terminal log of the scottecss account.
scottecss.zip
Thanks for your help,
D.


Not running on debian 9 (Stretch) glibc 2.25 minimum

Problem Description
A clear and concise description of what the bug is.
I can't run the binaries on Debian 9 Stretch as it complains about needing glibc 2.25 (system has 2.24). I ask this because I read in the workflows/main.yml used to build the binaries (cf. snippet below) that it uses ubuntu-16.04 to cover for that (ubuntu-16.04 uses glibc 2.23 per my research)
 # Old Ubuntu version for old glibc   os: [macos-latest, windows-latest, ubuntu-16.04]
Thank you for your help and for this great and unvaluable piece of software.
Steps to reproduce the behavior:

Download the binaries
Run them on Debian stretch 9

System Information
My system is Debian stretch 9
ldd (Debian GLIBC 2.24-11+deb9u4) 2.24
Paste the output of "mitmproxy --version" here.
[18601] Error loading Python lib '/tmp/_MEIoEpRkv/libpython3.10.so.1.0': dlopen: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /tmp/_MEIoEpRkv/libpython3.10.so.1.0)

Can confirm inside docker run --rm -it debian:stretch with wget https://snapshots.mitmproxy.org/8.0.0/mitmproxy-8.0.0-linux.tar.gz

that it uses ubuntu-16.04 to cover for that (ubuntu-16.04 uses glibc 2.23 per my research)

It doesn't any longer? https://github.com/mitmproxy/mitmproxy/commit/b5de2d75b5aaa228f5d5d7c6c4cc0bcfb0d9adb5
Ubuntu 18.04 Docker gives me ldd (Ubuntu GLIBC 2.27-3ubuntu1.5) 2.27, 16.04 gives ldd (Ubuntu GLIBC 2.23-0ubuntu11.3) 2.23
I guess we should still support stretch? I don't know what we try to support honestly.

stretch benefits from Long Term Support (LTS) until the end of June 2022

Same question (with an answer) here: https://github.com/mitmproxy/mitmproxy/issues/5009#issuecomment-998797185

Thank you for the answer. You don't have to support Stretch now that I know that you don't use ubuntu-16.04 any longer. That's what misled me into thinking it should work, so I will close this.
Sorry for the confusion :)


OpenJDK Update (July 2022 Patch releases)

Signed-off-by: Andriy Redko<EMAIL_ADDRESS>Description
OpenJDK Update (July 2022 Patch releases).
Issues Resolved
Closes https://github.com/opensearch-project/OpenSearch/issues/4011
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #4091 (71efd9c) into 1.x (0efa49e) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                1.x    #4091      +/-   ##
============================================
- Coverage     77.86%   77.82%   -0.05%
+ Complexity    63390    63374      -16
============================================
  Files          4453     4453
  Lines        275005   275005
  Branches      41172    41172
============================================
- Hits         214143   214016     -127
- Misses        43935    44039     +104
- Partials      16927    16950      +23

Impacted Files
Coverage Δ

...a/org/opensearch/gradle/test/DistroTestPlugin.java
0.00% <ø> (ø)

...regations/pipeline/SimulatedAnealingMinimizer.java
0.00% <0.00%> (-93.11%)
:arrow_down:

.../opensearch/client/indices/CloseIndexResponse.java
41.97% <0.00%> (-48.15%)
:arrow_down:

...pensearch/transport/NodeDisconnectedException.java
60.00% <0.00%> (-40.00%)
:arrow_down:

...ion/admin/cluster/node/info/PluginsAndModules.java
53.12% <0.00%> (-34.38%)
:arrow_down:

.../java/org/opensearch/index/reindex/RemoteInfo.java
49.55% <0.00%> (-27.44%)
:arrow_down:

...rg/opensearch/action/support/TransportActions.java
50.00% <0.00%> (-25.00%)
:arrow_down:

.../opensearch/indices/InvalidAliasNameException.java
62.50% <0.00%> (-25.00%)
:arrow_down:

...va/org/opensearch/monitor/process/ProcessInfo.java
68.00% <0.00%> (-24.00%)
:arrow_down:

...pensearch/index/shard/SearchOperationListener.java
75.53% <0.00%> (-23.41%)
:arrow_down:

... and 479 more

Help us with your feedback. Take ten seconds to tell us how you rate us.


Check correctness of all data for all locales.

We have supported of 33 languages and it would be great if native-speakers of one's will check correctness of data for his own language.
For example. I'm Russian and i'm sure of the correctness of the data for this language. But we also want to be sure of the correctness of German (de, de-ch), French (fr), Italian (it) and other languages.
Checked locales:

[ ] cs
[ ] da
[x] de-at
[ ] de-ch
[ ] de
[ ] el
[ ] en-au
[ ] en-ca
[ ] en-gb
[ ] en
[ ] es-mx
[ ] es
[ ] et
[ ] fa
[ ] fi
[ ] fr (assigned to @ZeFifi )
[ ] hu
[ ] is
[ ] it
[ ] ja
[ ] kk
[ ] ko
[ ] nl-be
[ ] nl
[ ] no
[ ] pl
[ ] pt-br
[ ] pt
[x] ru
[ ] sv
[ ] tr
[ ] uk
[ ] zh

Hi @lk-geimfari ! I'm confused: could you tell me which files need to be checked? I could help with the french ones ;)

@ZeFifi All files related to your locale, namely: mimesis/data/fr/

@lk-geimfari Ok cool, I'm gonna take a look at it, I saw some typos ;)

@ZeFifi Thank you very much!

Everything looks OK now :)
Please not that in the text.json file there's this sentence, in english: "This is the first age that's ever paid much attention to the future, which is a little ironic since we may not have one.". Would you like me to translate it or is it meant to remain in english since it's a quote?

@ZeFifi In fr all data must be in French. If you can find more data in French then update it! It would be awesome!

Sure, I'm gonna recheck all the JSON ;)

@lk-geimfari It's OK for the french translations now ;) I submitted my last pull request! You can check the FR box ;) Have a great day, it was cool to contribute to your project!

@ZeFifi Thanks!

@lk-geimfari I will check for pl

Hi, I would love to contribute, I will check en-gb.

@ChloeAnn Okay, thanks!

Hi, I started checking the Dutch data and I'm not sure how far I should go in correcting.
I translated some Belgium Dutch sentences to Dutch, consider for example the difference between 'Zijt gij al klaar?' (Belgium) and 'Bent u al klaar?' (Netherlands), or change 'tas koffie' into 'kopje koffie'. The sentences seem allright, I skimmed.
But then the words. I'm not sure where they came from, but I found many:

offensive/rude words, many of them far beyond rude, I shall not give examples :anguished: :disappointed:
English words
English names
abbreviations such as 'ls'

As for the 'bad words', I think it's okay to include some swear words, but there should be a limit to their offensiveness. A great deal of those are considered incredibly rude and offensive, even among those who like to use strong language. I'm all for making the 'bad words' a little more gentle. Or maybe we don't need a bad words section?
@lk-geimfari Can you advise?
Mean time, I didn't get passed text.json yet...

@wbkoetsier If you want to know why we have added swear words then i can explain. It's for testing comments, forums and i.e. Suppose you need to check whether your application skips comments with abusive language.
So, mimesis is just help. You should not don't write bad words manually, because mimesis will generate them.  I understand that bad words sound very rude, but they sound so, only if they are addressed to someone what we do not do and did not plan.

@wbkoetsier Therefore, they should be most popular bad words in the current language.

I can see some massively offensive stuff in the EN 'bad words' as wel... OK, I'll leave them unchanged, I understand the purpose.
But what about the 'normal' words? Are there supposed to be rude words in there, and what about all the English words and names? Should I clean that up, or leave it as is?

@wbkoetsier There two types of words: normal and bad. What words there should be clear from the name.

@lk-geimfari I can check Italian

@pimuzzo It would be awesome! I have added it by myself and I'm not sure that all data is correct, because, unfortunately, I don't know Italian. Thank you!

@lk-geimfari , I just looked at the French person.json and the values for 'academic_degree' are incorrect, yet this issue is closed. I could help but I understand if the data is considered final at this point.

@lucasmarcel Can you fix it, please? It would be really helpful.

Will do but bear with me, it'll be my first PR, ever :)

@lucasmarcel It's easy, as you'll see.

Hi @lk-geimfari!
I started checking the German (de) files and have some questions as to what the output should look like exactly.

In most of the lists, words and phrases occur more than once and are often repeated 2 or 3 times below each other. Should each entry only appear once?
In e.g. states and weekdays, there are abbreviations and long-form versions of words. (Mon / Monday). Should abbreviations and long-form versions be in the same order?
Should bad words only be in the text.json/bad_words or also in builtin.json? There are (few, but pretty bad) ones in builtin.json
In person.json: Nationality/Language: Should nationality be the form in "A russian"? Or is "russian", as in an adjective, also okay? It's currently like an adjective in most cases.
In person.json: Names are partially uncommon/more English than German? (e.g. Adelaide and Aleshire would be very uncommon in Germany)
In person.json: There are two titles for women. Frau is normal, Fräulein was last used in the 1950s. Can I take it out?
All of the word lists and especially the alphabet lists are sorted alphabetically. However, sorting is wrong by German standards. Umlaute and ß should not be at the end, but in the list. (so it would be A, Ä, B, C, D, ...). Should I change this?
In address.json: Is an Adress = Street Name + Suffix? Because suffixes are in the street names often also (suffix is e.g. "Straße" and a street name is "Schwedter Straße")
There are a lot of sentences in text.json. I think they are scraped from news websites. A lot of them contain numbers in between and seem to be very technical in content, e.g. "Bildunterschrift noalk heute, 12:47 Uhr Die Bildunterschrift verweist auf die falsche Person.", means "Caption noalc today, 12:47 PM The caption is referring to the wrong person." I just looked at the Italian and Russian text.json and they seem much more concise and normal-language like than the German one. What should be the content of text?

Sorry for the many questions. Let me know which issues are important!

@Anphisa First of all thanks for your interest. Let me answer your questions:

They should not repeat, such words must be deleted.
An order does not really matter, what is matter is correctness of abbreviations.
The bad words absolutely not acceptable in builtins.
It must be something that can be used in a context like this Adam is a German, Vadim is a Russian (of course in German)
It's a good idea to delete all non-German names and add German names.
Yeah, you can change it to Frau
It would be awesome to order the alphabet correctly.
As you can see here and here we are using a shortened format of address for locale de, because if common cases streets contain Straße . You can change to be correct if right now it is not.
Context really does not matter. This text must be useful as a placeholder. You can change it too.

And finally thanks again for interest. This adorable language is really important for us. And it is important for us that the data be as accurate and useful as possible.

@lk-geimfari Thanks for your fast and helpful answer! I now made those changes.

I deleted the repeated words in de and noticed that there are some repeats in the Russian files as well (at least in the professions). I guess it doesn't matter because they each occur exactly twice, so the probabilities to get one of them won't be affected. But maybe all of the files should be checked for duplicates.
Okay!
I removed the bad words from builtin.
I changed the nationality from Deutsch to Deutscher/Deutsche (so from неме́цкий to не́мец/не́мка)
I removed the very non-German names. I didn't add any, because there are still a lot left.
Okay!
I changed the alphabet order to reflect "a" = "ä", one possible correct order.
I left the street and suffix as is, as the suffixes are not used. They are correct.
I will not touch the many lines in text.json for now :)

And what an adorable language it is. I found a lot of very interesting names in the person.json and feel very inspired now by all the Germans I can generate on my command line.

@ceccoemi Hey! As I can judge by your profile you are from Italy. Is it right? If you are,  what do you think about the correctness of data for locale it? It would be really awesome to hear your opinion about it. Maybe you can improve data for locale it somehow.

@ceccoemi Friendly 🏓

@lk-geimfari I'm sorry I didn't see the first message. I will work on it locale as soon as I can.


Use mkdocs and add gitpod configuration

Resolves #22.
Adds mkdocs using the material theme, and mkdocstrings
to auto-generate references from the code.
This also adds an actions workflow to deploy the docs to Pages whenever a commit to main is pushed. You may need to enable Pages and set it to deploy using GitHub Actions, but this might be done automatically with actions/configure-pages.
In addition, I've added a gitpod configuration.
I've made this a PR as it's quite big, so just to not throw anyone else off this is a different branch.

I don't know about the last change with the main.py. Maybe we should except both? Is the exception type OS-dependent?
Apart from that, LGTM.

The OSError class is the base for both WinError and probably something similar for Unix-based systems. The FileNotFoundError should be derived from OSError so we should be fine, but that's a change for another day I guess.

@nsde should we just merge this or do you have anything else to say?