[M]New Calculated Field to display total number of people at front country activities

Description
As a bc parks admin A&R uses, we want to easily see both the front country attendance total and the camping parties total.
This new calculation would apply to Front county camping only.
Front Country Activity form would show:

The total number of camping party nights, (Standard + Senior + SSCFE + Longstay)
Total Attendance (People), ((Standard + Senior + SSCFE +Longstay) * 3.2)

Acceptance Criteria:

Exported report for Front country shows new title and calculated value with new calculation
Historical and new/current data for total attendance in front country camping needs to have both fields:

“camping party nights”
“total attendance (people)” (which is camping party nights *3.2)
historical: new field name “camping party nights” to replace Total Attendance, add Total Attendance (people) field with this calculation ((Standard + Senior + SSCFE +Longstay) * 3.2)
current: rename total attendance to “Total Attendance (people)” and add “camping party nights” field with (Standard + Senior + SSCFE + Longstay)

Notes
request:
We would like to add an additional calculated field to the UI display (which will also result in an additional export column). Data that was entered directly into the A&R system shows the frontcountry attendance total as the total number of people (the system totals Standard + Senior + SSCFE + Longstay and multiplies this total by 3.2). This is definitely useful, but we have calculations that also use the camping party nights total, so the hope is to display both the total camping party nights and total number of people.
To keep what each total represents clear to the user, we would also like to display the unit (people) beside the total attendance title.
So the interface would display:

The total number of camping party nights, (Standard + Senior + SSCFE + Longstay)
Total Attendance (People), ((Standard + Senior + SSCFE +Longstay) * 3.2)

For the historical data, the display would be the same, but will need to be implemented a little differently. This is because the historical data’s display is showing a Total Attendance field that is really Total Camping Party Nights, as no 3.2 multiplier is being applied. So for the historical data the current Total Attendance would be mapped to/ re-labelled as Total Camping Party Nights, and then the Total Attendance would be that number multiplied by 3.2.

Extra info from Sally: Total attendance (people) is (standard + senior + sscfe + longstay) * 3.2, so we want the total both without the multiplier (which is total camping nights) and with the multiplier (which is total people)

@JLWade can you remember if we ever completed a ticket where legacy/historical fields were added to the report exporter? If so, do you know the ticket #?

@cameronpettit  this one? https://github.com/bcgov/bcparks-ar-admin/issues/270 cc @JLWade

That looks right. Led me to https://bcparksdigital.atlassian.net/browse/BRS-973 (Jira), for the same task. Looks like a past developer on the team didn't get a chance to finish it before they left, so #270 was attempted but never completed.
From said developer on the Jira ticket

Notes on this ticket:
Inclusion/order of the 5 new columns: none needed as per consulted with
Exporter displays the correct field value depending on whether the record is legacy or not: Should display field once data question resolved
For this first iteration, legacy records should never calculate values if they are not provided. Values should not be assumed. If the legacy data is not on the legacy record, leave the column blank: No values calculated or assumed, will display blank.
Legacy Data activity fields are added to the exporter: Done, columns show up in report
Additional legacy fields are added to the exporter if they do not line up with existing fields: some additional fields added.
I will be submitting a draft PR to the repository so all the code for this ticket will be accessible for later use.
Current Issue:
Tallying up fields for regular data require a config object with certain attributes/information. However, some legacy data activity entries do not have this config data object. There needs to be some decision on how to handle the lack of the config information.

It doesn't look like there are any provisions to export legacy data from a codebase perspective, so #270 blocks the portion of this ticket that deals with exporting the legacy frontcountry camping fields.
@Dianadec @JLWade I'd recommend removing the legacy portion of this ticket's AC and adding it to #270, so we can pass this ticket and do all the legacy stuff together in the correct ticket.

That makes sense @cameronpettit - is it the third bullet that needs to be transferred to 270, as well as the description with the second screenshot? cc @JLWade

historical: new field name “camping party nights” to replace Total Attendance, add Total Attendance (people) field with this calculation ((Standard + Senior + SSCFE +Longstay) * 3.2)

For the historical data, the display would be the same, but will need to be implemented a little differently. This is because the historical data’s display is showing a Total Attendance field that is really Total Camping Party Nights, as no 3.2 multiplier is being applied. So for the historical data the current Total Attendance would be mapped to/ re-labelled as Total Camping Party Nights, and then the Total Attendance would be that number multiplied by 3.2.

@Dianadec correct

ok, info has now been transferred to #270 accordingly. @cameronpettit  @JLWade  - please review and let me know if anything needs adjusting.

Tested on TEST: Pending

Verified that a column has been added to the exported report and the calculated result shows accurately (the addition of Standard + Senior + SSCFE + Longstay) for all data in years before adding this new field and after adding this field.
Verified that the new field "Total Camping Party Nights" is displayed on the View Front Country Activity form.
Verified that the "Total attentance" label has been updated with the "(People)" suffix.
Verified that for newly updated records, the calculated amount is accurately displayed on View Front Country Activity form.

Issues:

The calculated total does not show up on the View Front Country Activity form on the Enter Data page for the data added before introducing this field. Eg: If I view a record from last year, the field is displayed and the value is not displayed.

This new field "Total Camping Party Nights" has not been added to the Edit Front Country Activity form, but it's not given in the AC as well. Just FYI @JLWade .

This issue happens whenever any of the camping party night fields are null. Fixed in https://github.com/bcgov/bcparks-ar-admin/pull/320

Tested on TEST: Passed

Verified that the issue I have mentioned above has fixed.
Passing this to PO review.

@JLWade please note that the new field and the "(People)" suffix have not been added to the edit view.

Thanks for the flag - i think most important is part of the report and view but if that changes I will add another ticket - moving to done


Align with Composer's parsing of a version string

@ntzm Feel free to suggest additional improvements.

Looks good to me! 👍


set an entrypoint for arch-mini

when starting arch-mini without any arguments it fails because no entrypoint is set. A common approach used by e.g the debian images is to jump into a bash shell.
arch-mini
$ docker run -ti nfnty/arch-mini
FATA[0000] Error response from daemon: No command specified

debian
$ docker run -ti debian
root@fd0a7db6a1bb:/#

arch-mini is intended to be used as a base image, whereas ENTRYPOINT is used for container images. Debian is using CMD, which also seems like a good fit for arch-mini. Thanks.


add option for suspicious multistep effects score in expected_nodes score function

It's a bit hard to test this right now, but I was able to see some improvement from it. Specifically, what I did was run the analysis script on Cover with the following change:
expected_planning_time += p * num_nodes -> expected_planning_time += p
I made this change because in our current envs, the number of nodes is helping the score function a lot, making suspicious scores unnecessary.
Results without suspicious scoring:
Evaluating predicates: frozenset(), with total cost 0
	Total score:<PHONE_NUMBER>040795 computed in 0.072 seconds
Evaluating predicates: frozenset({HandEmpty}), with total cost 1.0
	Total score:<PHONE_NUMBER>951863 computed in 0.114 seconds
Evaluating predicates: frozenset({Holding}), with total cost 1.0
	Total score: 13071.029276505998 computed in 0.139 seconds
*** Evaluating predicates: frozenset({HandEmpty, Holding}), with total cost 2.0
	Total score: 82.17972948588978 computed in 0.160 seconds
Evaluating predicates: frozenset({HandEmpty, Clear, Holding}), with total cost 3.0
	Total score: 82.17985818755962 computed in 0.135 seconds ***
Evaluating predicates: frozenset({NOT-HandEmpty}), with total cost 1.0
	Total score: 13071.159739185763 computed in 0.127 seconds
Evaluating predicates: frozenset({NOT-HandEmpty, HandEmpty}), with total cost 2.0
	Total score: 13071.159947090002 computed in 0.139 seconds

In particular, note that there is no improvement from adding in the Clear predicate to {HandEmpty, Holding}, because you get plans of the same length as the demos even without Clear (you just might stupidly place what you're holding onto a target that needs to be kept free for later).
Results with suspicious scoring:
Evaluating predicates: frozenset(), with total cost 0
	Total score: 2316024.9189511305 computed in 0.089 seconds
Evaluating predicates: frozenset({HandEmpty}), with total cost 1.0
	Total score: 2909930.812771448 computed in 0.152 seconds
Evaluating predicates: frozenset({Holding}), with total cost 1.0
	Total score:<PHONE_NUMBER>480866 computed in 0.218 seconds
*** Evaluating predicates: frozenset({HandEmpty, Holding}), with total cost 2.0
	Total score: 6094.929471400891 computed in 0.289 seconds
Evaluating predicates: frozenset({HandEmpty, Clear, Holding}), with total cost 3.0
	Total score: 95.049599498305 computed in 0.269 seconds ***
Evaluating predicates: frozenset({NOT-HandEmpty}), with total cost 1.0
	Total score: 13084.029559696703 computed in 0.168 seconds
Evaluating predicates: frozenset({NOT-HandEmpty, HandEmpty}), with total cost 2.0
	Total score: 13084.029559700068 computed in 0.218 seconds

Here, we can see that almost nothing looks suspicious (for the first refinable skeleton at least) under the optimal predicate set, but transitions that make two blocks be on the same target look suspicious under the predicate set that's missing Clear.

@tomsilver ready for another look


feat(aws-stepfunctions-tasks): allow specifying waitForTaskToken suffix in resourceArn

This PR allows one to work with Task states that implement the callback service integration pattern.
The supported task types are:

InvokeFunction (AWS Lambda)
SendToQueue (AWS SQS)
PublishToTopic (AWS SNS)

Closes #2658, closes #2735.

Pull Request Checklist

[X] Testing

Unit test added (prefer not to modify an existing test, otherwise, it's probably a breaking change)
CLI change?: coordinate update of integration tests with team
cdk-init template change?: coordinated update of integration tests with team

[X] Docs

jsdocs: All public APIs documented
README: README and/or documentation topic updated
Design: For significant features, design document added to design folder

[X] Title and Description

Change type: title prefixed with fix, feat and module name in parens, which will appear in changelog
Title: use lower-case and doesn't end with a period
Breaking?: last paragraph: "BREAKING CHANGE: <describe what changed + link for details>"
Issues: Indicate issues fixed via: "Fixes #xxx" or "Closes #xxx"

[ ] Sensitive Modules (requires 2 PR approvers)

IAM Policy Document (in @aws-cdk/aws-iam)
EC2 Security Groups and ACLs (in @aws-cdk/aws-ec2)
Grant APIs (only if not based on official documentation with a reference)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license.

@wqzoww I've made some changes in response to your statement, can you check my logic?

If the user does not specify waitForTaskToken, then we use the Lambda ARN as the Resource target, and we put all of the payload directly into Parameters.
If the user DOES specify waitForTaskToken, then we use the magic ARN, and Parameters is the dictionary { FunctionName: '...', Payload: { ... }}.

Two questions:
a) Does that seem correct?
b) Does it preclude any user scenario's?
For the last one I want to be specific: I know this precludes using the magic ARN without using waitForTaskToken, but is that ever really a user scenario? As in, can users achieve behavior that way that they can't in any other way? Or would the 2 be equivalent otherwise?
Because if they're equivalent, I don't see the point in supporting 2 forms of something that would give exactly the same observable behavior.

@rix0rrr, when you ise the Magic ARN (the service integration), the behavior of Step Functions in the integration is different, specifically regarding the Input and Output path.
In the old style, the input has to be passed as a verbatim to the Task, without any way to change it beyond what InputPath provides. In the new model, you can use the Payload parameter and change it, this is quite significant.
In the new style as well, the response that is returned from the execution of the Step Function is different, you have a lot more data included in it, if you want to get just the Lambda Function execution result in synchronous mode (invoke), you have to specify an OutputPath of '$.Payload' to dismiss the entire data.
In my opinion these are two distinct use cases of Lambda integration, the old style being far more limited than the new style. As StepFunctions supports both, we are faced with the choice of either supporting both styles (possibly through having two distinct classes), or masking it in a single class, but it will have to be available for the users to specify the expected behavior of Step Functions.
Advantage of having a new class is that we only have to add a single class and associated tests, drawback is that we have a more leaky abstraction on the actual StepFunctions quirks.

"ClientContext", "FunctionName(Required)", "InvocationType", "Qualifier" and "Payload"

If we want to support all of these, I think it makes more sense to make 2 different classes for the 2 different invocation styles. They can then also have 2 different Props objects to mirror the 2 sets of arguments.

In the old style, the input has to be passed as a verbatim to the Task, without any way to change it beyond what InputPath provides. In the new model, you can use the Payload parameter and change it, this is quite significant.

According to the table that @wqzoww provided, this is not true. A Parameters field can be supplied even when using "old-style" invocations.

Here is the doc

I don't lik the term "Request Response" very much. It sounds like it should be called "async", which is in effect what it does, but "Request response" gives me the exact opposite intuition.
But it does give me an idea for an alternate class name. How about InvokeFunctionAsync? To me, it perfectly indicates that you need to do "extra work" to make the call sync again, if you wanted to (by passing waitForTaskToken=true).
Now, that kind of implies that we would have to call all other classes Async as well, which is not ideal. And in fact, since most classes end up being Async, we could say that Async is the default. So how about we make:

InvokeFunction - pure new-style invocation, with optional waitForTaskToken?: boolean
InvokeFunctionSync - old-style invocation, supporting just an optional payload and nothing else.

Another question: seems like the Qualifier field to the Invoke API is pretty useless, since the same information could (and would) normally be encoded into the FunctionName.
Is there a use case where one would want to use Qualifier?
https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html

InvokeFunctionSync - old-style invocation, supporting just an optional payload and nothing else.

"parameters", not "payload"

does it even make sense to have InvocationType=RequestResponse with .waitForTaskToken ? Wouldn't you always want InvocationType=Event in that case?

I don't think so. "InvocationType" is one of the request parameters for Invoke API of Lambda. Users of Step Functions do not need to specify it in order to use ".waitForTaskToken".

Is there a use case where one would want to use Qualifier?

Qualifier is somewhere users specify the version/alias of their Lambda function. As FunctionName may not contain the right alias, this field is necessary.

Yep, my bad it's Parameters. The behavior is quite similar between Parameters and Payload though. The key difference is in the response, with the AWS Service Integration (new model), you have a complete object context, including the output payload, in ARN (old) style you have only the lambda function output.
Passing the qualifier name in the Parameters object or in the function name has implications on the security side. If your role gives lambda:InvokeFunction on the function Arn, your calls with FunctionName and Qualifier work, whatever the version qualifier. If you use a version qualifier in the FunctionName:Qualifier format, you need to have the specific version in your resources for the lambda:InvokeFunction grant.
On the InvocationType=RequestResponse vs InvocationType=Event for .waitForTaskToken tasks, the error management (exception throwing) if ignored on Event mode, so any task that depends on successfully writing the token somewhere before processing would not be able to raise any error, making the state machine wait until the timeout expires instead of having a direct response with the error, and possibly compensation mechanisms.

"parameters", not "payload"

Well yes, but I'm proposing to ALWAYS call it "payload" in CDK (because that's what it is), and hide the details of whether the payload goes into the "Parameters" field or the "{Parameters: Payload}" field. It's the payload in either case.
How are you all feeling on the 2 class design? Any preferences for names?

Passing the qualifier name in the Parameters object or in the function name has implications on the security side. [...]
[...] the error management (exception throwing) if ignored on Event mode, [...]

:( this API, it breaks my head.
Can someone explain to me what the advantage of .waitForTaskToken is if StepFunctions still needs to have a thread sitting there waiting for the potential failure of the InvokeFunction call? Feels like we might as well have a made a regular synchronous call, no?
I had expected the advantage to be that using .waitForTaskToken frees up SFN's thread pool because of its asyncness.

.waitForTaskToken and invocation mode are different things.
You can call any Lambda function in two modes: RequestResponse, and Event (sometimes referred to as fireAndForget), wether you are in Step Functions or not. The RequestResponse mode runs the function, waits for the end of it, returns the result, and handles any error that may arise in the execution of the function. The Eventmode calls the function, and returns directly, before the function is even executed. Any error that happens, any result, or any longer-term processing will not be known to the caller, as the only information that was returned to the state machine was that the function call was successful (not its execution).
The .waitForTaskToken changes the state machine model. When it calls the lambda function (in any mode, or Amazon ECS, Amazon SNS, Amazon SQS, AWS Fargate equally), it passes it generates a token, and then it pauses right after the successful execution of the step. (If the step was a RequestResponse step, then this would be the successful completion of the function execution; if it was Event it would be just after the function call). Step Functions then stops execution (and does not use any resource) until it receives a sendTaskSuccess (or sendTaskFailure) call, and uses the data passed to sendTaskSuccess as a result of the execution.

On naming, I had one implemented for a side project, I used RunLambdaTask to align it with the ECS execution.
I will create a PR with my changes, not to be accepted, but can be useful for merging.

And 2 classes are what I prefer, they are close but clearly not interchangeable.

I used RunLambdaTask to align it with the ECS execution.

I like it!

You are missing the Qualifier field in the task definition, but maybe we can put it as a next feature (support version and aliases).

You are missing the Qualifier field in the task definition, but maybe we can put it as a next feature (support version and aliases).

I explicitly don't want that, because it doesn't play nicely with permissions.


Updated content for MVP

Updated content for MVP: added missing word participants to the DOS heading.
Ticket 729: https://trello.com/c/xAmyH5CE/729-content-check-and-update-buyer-account-page
Updated the breadcrumb for the DOS requirements page.
Ticket 731: https://trello.com/c/03kbaHWk/731-content-dos-overview-page

@idavidmcdonald @DilwoarH for the record, chapter and verse on GDS git policy is here:
https://github.com/alphagov/styleguides/blob/master/git.md#branchingmerging-conventions
Specifically, "you should not rewrite commits that have been pushed" (there are some exceptions and I'm cool with those). In other words, once you're in code review, there is no obligation, and you are in general discouraged, from rebasing. I can't help that practice on this team was different for ages :-(


Question: Could routePath and routeParams be changed via Storybook controls?

First of all, huge thanks for this add-on!
I was wondering if it's technically possible to update this add-on to be able to control route params via Storybook controls, or in any other way?

Hi, thanks for opening an issue !
It is technically possible to either add controls to the existing controls addon or to create an entire new panel.
But due to react router limitation it won't be very advanced.
For example we could offer controls for declared routeParams, but only with free string. Ideally I would like to offer a select with all declared routes and text inputs if it contains dynamic segments.
Sadly this is not possible (or at least I don't know how it could be) and react router maintainers already have a lot in their plate to be able to accept PR for dev tools.

Thanks for your reply!
I think that even providing a "simple" free text controls for routeParams would already be a huge improvement.
If you don't have time or don't want to work on it (totally understandable), could you give me some suggestions what/where/how should be modified, as I'm not familiar with Storybook internals.

May I ask what is your use case, specifically ?
I've already started the exploration for a solution. It's actually a bit challenging to do, because you need to hackaround about everything, so I can't tell you "what to do" or "how to do it" without solving the problem in the first place, which is 95% of the time spent.

Sure! We're doing a large refactoring and some components were "promoted" to page components. E.g., we had a User component that had id prop, but now it's rendered by Route component and uses useParams to get this id.
In the previous version of react-router I could do something like:
<Route render={
  ({ match }) => <User id={match.params.id} />}
}/>

but it's not possible in v6. I could create a wrapper component like this:
const UserWrapper = () => {
  const { id } = useParams()

  return <User id={id} />
}

<Route element={<UserWrapper />} />

but it feels wrong to create such wrapper components for every page component just so that it's easier to create Storybook stories.

Your problem seems related to #5.
What I don't understand is how controls will help you with that ? I mean what's wrong with configuring the story directly with the params you want ?
export default {
  title: 'User',
  component: User,
  decorators: [withRouter],
  parameters: {
    reactRouter: {
      routePath: '/users/:userId',
      routeParams: { userId: '42' },
    }
  }
};

Doesn't this do exactly what you want to do ? Without manual intervention.
The point of controls is to be able to poke around or to showcase, it doesn't feel right for your need.

Well it does help enormously already as it is. Previously, we had select control to select specific cases for given page that would set all these params used by the component, that it now gets from the route.
Anyway, I can always convert a single story with control to change the data shown, to multiple stories and set different route params for each.

Anyway, I can always convert a single story with a control to change the data used to visualize different cases, to multiple stories and set different route params for each.

That's what people usually do. Each story presents a use case for the component, hence the name. Tweaking around is more for dev purposes or showcasing, like I mentioned before. That's just my opinion btw.

I'll do the same then. Thanks!


Test failure when building rulewerk

Hey there,
Due to the bug karmaresearch/vlog#43 being fixed, I tried to build the latest rulewerk snapshot locally using the provided script and maven install.
Unfortunately, the tests during the build process of Core Components did fail:
[INFO] Running org.semanticweb.rulewerk.core.reasoner.vlog.StratifiedNegationTest
HEAD: [R[VARIABLE: x]], BODY: [P[VARIABLE: x], ~Q[VARIABLE: x]]
HEAD: [R[VARIABLE: x]], BODY: [P[VARIABLE: x], ~Q[VARIABLE: x]]
[ERROR] Tests run: 3, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 0.238 s <<< FAILURE! - in org.semanticweb.rulewerk.core.reasoner.vlog.StratifiedNegationTest
[ERROR] org.semanticweb.rulewerk.core.reasoner.vlog.StratifiedNegationTest.testSimpleInputNegation  Time elapsed: 0.18 s  <<< FAILURE!
org.junit.internal.ArrayComparisonFailure: arrays first differed at element [0]; expected:<CONSTANT: c> but was:<CONSTANT: d>
	at org.semanticweb.rulewerk.core.reasoner.vlog.StratifiedNegationTest.testSimpleInputNegation(StratifiedNegationTest.java:98)
Caused by: java.lang.AssertionError: expected:<CONSTANT: c> but was:<CONSTANT: d>
	at org.semanticweb.rulewerk.core.reasoner.vlog.StratifiedNegationTest.testSimpleInputNegation(StratifiedNegationTest.java:98)

[ERROR] org.semanticweb.rulewerk.core.reasoner.vlog.StratifiedNegationTest.testStratifiedNegationOnIDB  Time elapsed: 0.017 s  <<< FAILURE!
java.lang.AssertionError
	at org.semanticweb.rulewerk.core.reasoner.vlog.StratifiedNegationTest.testStratifiedNegationOnIDB(StratifiedNegationTest.java:145)

I did take a quick look into testSimpleInputNegation and to me it seems to be another VLog bug (?).
Cheers,
Robin

Thanks, I have forwarded it as karmaresearch/vlog#44.

This should be fixed now, could you please try again?

Great, the build succeeds now.
Thank you very much!


BUG: Music should not stop after one play

Ambiance music should be looping. It's currently stop playing after the first play.

Solved in #25


Poloniex DOGE minimum amount

Hello,
Poloniex recently (yesterday) did a silent update and changed minimum loan size of coins.
They have changed it globally from 0.001 to 0.01 which can be changed easily via config (minloansize).
However for DOGE they require that lending amount is minimum 5 DOGE which is where the problem comes.
For now I have patched my Lending.py with the following code on line 184:
if active_cur == "DOGE" and float(active_bal) < 5:
        log.log("DOGE amount under 5! Not lending!")
        return 0

It will be nice if we have minloansize in coinconfig and something default for such cases.
Regards,
Dimitar

Similar problem with CLAM I think:
Welcome to Poloniex Lending Bot
Start of loop
update_conversion_rates
Started WebServer, lendingbot status available at http://localhost:33221/lendingbot.html
transfer_balances
cancel_all
lend_all
(u'CLAM', '0.31479349', '2', 0, 0.00039014999999999997)
2017-01-12 12:12:46 Error: Amount must be at least 1. Requesting createLoanOffer
Traceback (most recent call last):
  File "/home/dog/poloniexlendingbot/lendingbot.py", line 74, in <module>
    Lending.lend_all()
  File "/home/dog/poloniexlendingbot/modules/Lending.py", line 141, in lend_all
    usable_currencies += lend_cur(cur, total_lended, lending_balances)
  File "/home/dog/poloniexlendingbot/modules/Lending.py", line 218, in lend_cur
    create_lend_offer(active_cur, Decimal(active_bal) - lent, offer['rate'])
  File "/home/dog/poloniexlendingbot/modules/Lending.py", line 95, in create_lend_offer
    msg = api.create_loan_offer(currency, amt, days, 0, rate)
  File "/home/dog/poloniexlendingbot/modules/Poloniex.py", line 175, in create_loan_offer
    "lendingRate": lending_rate, })
  File "/home/dog/poloniexlendingbot/modules/Poloniex.py", line 80, in api_query
    json_ret = _read_response(ret)
  File "/home/dog/poloniexlendingbot/modules/Poloniex.py", line 46, in _read_response
    raise PoloniexApiError(data['error'])
PoloniexApiError: Amount must be at least 1. Requesting createLoanOffer

Unhandled error, please open a Github issue so we can fix it!

This issue is already reported here:
https://github.com/Mikadily/poloniexlendingbot/issues/180

Missed that, ta.


Repair textprop in noexpandtab

When TAB is inserted continuously in the environment of noexpandtab, shiftwidth = 4, softtabstop = 4, textprop frequently breaks.
That was my setting, so I've fixed it.
The main cause is that garbage bytes remain between the text NUL and the beginning of the text property information due to the space converted to tabs.

Assuming you can reproduce this problem, can you please add a test?

Codecov Report

Merging #5427 into master will increase coverage by <.01%.
The diff coverage is 88.88%.

@@            Coverage Diff             @@
##           master    #5427      +/-   ##
==========================================
+ Coverage   82.71%   82.72%   +<.01%
==========================================
  Files         134      134
  Lines      147762   147783      +21
==========================================
+ Hits       122216   122247      +31
+ Misses      25546    25536      -10

Impacted Files
Coverage Δ

src/edit.c
85.56% <100%> (ø)
:arrow_up:

src/memline.c
78.09% <87.5%> (+0.02%)
:arrow_up:

src/if_xcmdsrv.c
86.17% <0%> (-0.18%)
:arrow_down:

src/version.c
92.1% <0%> (ø)
:arrow_up:

src/evalfunc.c
91.87% <0%> (ø)
:arrow_up:

src/userfunc.c
88.37% <0%> (+0.01%)
:arrow_up:

src/gui.c
63.68% <0%> (+0.05%)
:arrow_up:

src/window.c
88.33% <0%> (+0.06%)
:arrow_up:

src/tag.c
79.4% <0%> (+0.11%)
:arrow_up:

src/drawline.c
84.77% <0%> (+0.13%)
:arrow_up:

... and 1 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 955f4e6...90053b6. Read the comment docs.

I think this is fine.

The change to memline.c looks wrong.  If I omit that part the test still passes.  Thus I'll only include the change in edit.c


Headlamp goes blank when viewing Ingresses due to port number being undefined

When I open Ingresses menu, the Headlamp sitesgoes blank and show errors regarding the port number.
It was showing TypeError: Cannot read properties of undefined (reading 'toString') for the port constant.
function RulesDisplay(props: { ingress: Ingress }) {
  const { ingress } = props;

  const rulesText = React.useMemo(() => {
    const rules = ingress.getRules();
    let labels: string[] = [];

    rules.forEach(({ http }) => {
      const text = http.paths.map(({ path, backend }) => {
        const service = backend.service.name;
        const port = backend.service.port.number; <~ This is the problem
        return `${path} 🞂 ${!!service ? service + ':' + port.toString() : port.toString()}`;
      });
      labels = labels.concat(text);
    });

    return labels;
  }, [ingress]);

  return <LabelListItem labels={rulesText} />;
}

I assume that it's because almost all of my backend is using port.name instead of port.number
backend:
    service:
      name: headlamp
      port:
        name: http

It also shows an error in API stream but I'm not sure if it's the consequence of the preceeding error
"/apis/networking.k8s.io/v1/ingresses?watch=1&resourceVersion=5220024"

Hi @illume,
I just had the same issue like described using version 0.19.0, for both, in-luster and client application
On top there is the same "going blank" behaviour for StorageVolumes. But I am not sure as of now, what is causing that.

@SquupS Ok, thanks for the report.

I'm interested to know if Headlamp 0.19.0 works for you or not.

0.19.0? In the Headlamp helm chart, the latest chart version is 0.14.0 and that is what I'm using. It shows the Application version is 0.19.0, but when installing helm chart you have to use the chart version and not the application version. Could it be that you guys forget to update the chart version to match the application version?

Yes, sorry... it seems the helm chart version and headlamp version are not matching. But it seems you already tried with the latest Headlamp 0.19.0, and someone else was able to reproduce.
It looks like the issue was accepted to be fixed in a Headlamp 0.19.1 release (not the chart version).


bug: Slides (projects.100xdevs.com isn't logging in even though I'm logged in app.100xdevs.com)

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Do something
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots or GIFs
If applicable, add screenshots to help explain your problem.
Info (please complete the following information):

Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

We can either do something to do auth and use same credentials of app.100xdevs.com. what do you think @hkirat


Implementation of recursive vmla transpose kernel with test.

Very fast recursive implementation of transpose for VMLA. Does the minimum number of computations necessary for transpose: computes and caches intermediate offsets while going down the stack and copies each input value directly to its final output position.
Mean Time Per Call (MTPC) of TransposeX32 for bert splats went from 1.95ms to 136us
Before:

After:

Contributes to #3601

Nice! If tile and reduce get the same treatment we may actually match/beat tflite :P


remove typography html

Hi and what a great theme to be able to use and customize!
I'm trying to remove Typography from navigation but cannot do that without breaking the page in github. I'm sure there is something I'm missing but it would be great if someone could help.
In a local jekyll setup i can see the _site folder but not in the repo that is uploaded and handled in github.
Thanks

I just pushed some other changes to the theme. With the latest code you can either delete the page, or remove the main_nav: true from the page's front matter. The links in the header and footer are auto-generated and should update accordingly.

Thanks for the help! Are there specific commits that i can checkout files from and add them to my repo?
Or maybe another way that will not affect my changes i'm not aware of and sorry the inconvenience.
I can see that the main_nav changes are in

about.md
_includes/nav_links.html
posts.html
typography.html

so if i checkout those and remove main_nav:true from the typography it would  one of the solutions suggested?
Regards and thanks for taking the time to update your work for me

Hi again,
For anyone that maybe stumble upon this, you need
_includes/footer.html
_includes/header.html
_includes/nav_links.html
and to add main_nav: true to about.md and posts.html.
Thanks for your time Ben and effort.


[ Proposal ] refactoring nntrainer

[x] Make a discussion (#95)
[x] Refactor Tensor

[ ] Support delegate

[x] Support Graph (DAG) -> Add graphNode and support for graphnode (@zhoonit #346 )

[x] skip connection

[x] Custom Layer? (haven't discussed yet. AKAIK from @zhoonit )
[x] Hierarchical Optimizer Class (will be tracked with #404 @zhoonit )
[x] Hierarchical Activation
etc.

:octocat: cibot: Thank you for posting issue #355. The person in charge will reply soon.

close and make new issues.

close and make new issues.


Build filename hashes differ when built in different locations

Is this a bug report?
Yes...maybe. I'm not sure if this is an issue with CRA webpack config, or webpack itself, or just not an issue at all.
Did you try recovering your dependencies?
Yes - everything is up to date.
$ yarn --version
1.10.1

Which terms did you search for in User Guide?
Build, hash, contenthash, webpack
Environment

$ npx create-react-app --info

Environment:
  OS:  macOS 10.14
  Node:  9.11.1
  Yarn:  1.10.1
  npm:  6.4.1
  Watchman:  4.7.0
  Xcode:  Xcode 10.0 Build version 10A255
  Android Studio:  Not Found

Packages: (wanted => installed)
  react: ^16.5.2 => 16.5.2
  react-dom: ^16.5.2 => 16.5.2
  react-scripts: 2.0.5 => 2.0.5

Steps to Reproduce
Simply create a new CRA app and run yarn build or npm run build, and then copy (or clone) the app to a new location and run yarn build again.
(Write your steps here:)

npx create-react-app testapp
yarn build

Expected Behavior
I very much expected file names to be deterministic based on their content. It is strange to me that running build causes different file names just based on their location in a given system.
Actual Behavior
This is the same repository, an unchanged base install of CRA. The files are exactly the same, the only difference is one is located at buildtest3/ and one at buildtest4/
File path 1 (buildtest3):
$ yarn build
yarn run v1.10.1
$ react-scripts build
Creating an optimized production build...
Compiled successfully.

File sizes after gzip:

  32.4 KB  build/static/js/1.6105a37c.chunk.js
  763 B    build/static/js/runtime~main.229c360f.js
  715 B    build/static/js/main.b6f023f9.chunk.js
  511 B    build/static/css/main.5cab0647.chunk.css

File path 2 (buildtest4):
$ yarn build
yarn run v1.10.1
$ react-scripts build
Creating an optimized production build...
Compiled successfully.

File sizes after gzip:

  32.4 KB  build/static/js/1.6105a37c.chunk.js
  763 B    build/static/js/runtime~main.229c360f.js
  711 B    build/static/js/main.bbc5c0b3.chunk.js
  512 B    build/static/css/main.43569b80.chunk.css

You can see above that both the main.js and main.css chunks have differing hashes in their filenames.
Reproducible Demo
https://github.com/danieltott/buildtest
This is literally just a CRA install with zero changes.
Clone it to one location, run
yarn
yarn build

Clone it to another location, and run the same commands.

I am not sure if this is the intended behavior or not.
I tried editing settings directly within react-scripts/config/webpack.config.prod.js, based on webpack's suggested settings for production, and I also tried changing output.filename to filename: 'static/js/[name].[contenthash:8].js',(instead of chunkhash), but to no avail.
I am definitely far from a webpack expert, but I am hoping someone can at least provide some clarity about this behavior, if not a way to solve it.

This behavior is expected, the build is sensitive to its location on disk (see babel's absolute runtime).
I agree that this isn't optimal, but I'm not sure the best way to fix this.

[contenthash] is available for output.filename. I think it makes sense to use it.


Report more unboxing errors in a single compilation

Previously, if an expression contained multiple @Nullable sub-expressions that were being unboxed, we would only report an error for one of them in a single compilation.  Now we report errors for all of them in a single compile.  In a few other places we may report more errors in a single run as well, e.g., for arr[i], if arr and i are both @Nullable, we will report two errors in one run.
Note: this does not change the overall set of unboxing errors that are reported on a piece code, assuming a user fixes errors as they are reported.  It just makes it so that the compiler needs to be run fewer times (ideally once in most cases) to see all the errors.

Pull Request Test Coverage Report for Build #989

0 of 0   changed or added relevant lines in 0 files are covered.
24 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.09%) to 92.862%

Files with Coverage Reduction
New Missed Lines
%

../nullaway/src/main/java/com/uber/nullaway/NullAway.java
24
96.0%

Totals

Change from base Build #988:
0.09%

Covered Lines:
5061

Relevant Lines:
5450

💛  - Coveralls


Limit list of possible deploy locations based on service

Describe the bug
Certain services, such as Azure Static Web Apps, are only available in a subset of regions. When using azd provision the full list of Azure regions is displayed.
To Reproduce

Create a template which uses a service available in a subset of regions
Run azd provision
The full list of regions is displayed

Expected behavior
When running azd provision, only the valid regions should display.
Environment
N/A
Additional context
I'd add it might be worthwhile considering having a reduced list of regions regardless of the service. The list of available regions is quite long, and can require a fair bit of scrolling to find the right one.

Seems duplicate of #2695 which is fixed now by azd handling allowed decorator.


[Bugs] Traffic Influence is not working in free5gc multiUPF

Describe the bug
Traffic Influence is not working in 5G with multiUPF
To Reproduce

Create 7 Ubuntu VMs as below.
VM1 -> Free5gc control plane
VM2 -> Free5gc User plane (I-UPF or Branching UPF)
VM3 -> Free5gc User plane (PSA-UPF1)
VM4 -> Free5gc User plane (PSA-UPF2)
VM5 -> UERANSIM
VM6 -> Application Server 1
VM7 -> Application Server 2

To achieve below scenario

Install latest version of free5gc and UERANSIM and NGINX installed on each Application server.
Run UPF on VM2, VM3 and VM4.
Run Free5gc on VM1 with smf-ulcl and uerouting
run gnb and ue on VM5
smf configuration is as below

UEROUTING configuration is as below.

Expected behavior
on UERANSIM server, tunnel created uesimtun0 and able to ping destination IP to default path (I-UPF -> PSA-UPF1). when I execute curl command in PCF (Npcf_PolicyAuthorization_create) for traffic influence and route the UE traffic from PSA-UPF1 to PSA-UPF2 and connect another application server.
Environment (please complete the following information):

free5GC Version: latest main version.
OS: [e.g. Ubuntu 20.04]
go version: [e.g. 1.19.0]

##Issue

on UERANSIM server, UE is not able to ping cloud application server and once i route the traffic using curl command in PCF, traffic is not diverted from UPF-1 to UPF-2.

##Questions:

is free5gc support multiupf with traffic influence.
once traffic influence curl command executed, is traffic divert from UPF1 to UPF2 in latest version of free5gc ?
if yes, what isthe issue in my configuration file or any reference link to solve this issue ?

Hi @free5gc-org @ishanshahnio and everyone,
I would also like to try Npcf_PolicyAuthorization.
With reference to 3GPP TS 29.514 5.6.2, when I tried using the curl command, the following log was output, but the route (UPF) of the packet to the specified destination IP address was not changed.
2022-10-17T14:01:16+09:00 [INFO][PCF][PolicyAuth] Session Binding Success - UeIpv4[<IP_ADDRESS>], UeIpv6[], UeMac[]
2022-10-17T14:01:16+09:00 [INFO][PCF][PolicyAuth] App Session Id[imsi-001010000000000-1] Create
2022-10-17T14:01:16+09:00 [INFO][PCF][GIN] | 201 |       <IP_ADDRESS> | POST    | /npcf-policyauthorization/v1/app-sessions |
2022-10-17T14:01:16+09:00 [INFO][PCF][NotifyEvent] Handle SendSMpolicyUpdateNotifyEvent
2022-10-17T14:01:16+09:00 [INFO][PCF][NotifyEvent] Send SM Policy Update Notification to SMF
2022-10-17T14:01:16+09:00 [INFO][SMF][PduSess] In HandleSMPolicyUpdateNotify
2022-10-17T14:01:16+09:00 [INFO][SMF][GIN] | 204 |       <IP_ADDRESS> | POST    | /nsmf-callback/sm-policies/urn:uuid:e3cc6142-b1b4-41bb-bcd1-50679e4b9889/update |

In addition, looking at the following config.go, I think that dnaiList can be used in smfcfg.yaml.

free5gc/NFs/smf/pkg/factory/config.go

...
type DnnUpfInfoItem struct {
        Dnn             string                  `yaml:"dnn" valid:"required"`
-->     DnaiList        []string                `yaml:"dnaiList" valid:"optional"`
        PduSessionTypes []models.PduSessionType `yaml:"pduSessionTypes" valid:"optional"`
        Pools           []UEIPPool              `yaml:"pools" valid:"optional"`
}
...

free5gc/config/smfcfg.yaml

...
      UPF:  # the name of the node
        type: UPF # the type of the node (AN or UPF)
        nodeID: <IP_ADDRESS> # the IP/FQDN of N4 interface on this UPF (PFCP)
        sNssaiUpfInfos: # S-NSSAI information list for this UPF
          - sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information)
              sst: 1 # Slice/Service Type (uinteger, range: 0~255)
              sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
            dnnUpfInfoList: # DNN information list for this S-NSSAI
              - dnn: internet
(?)-->          dnaiList: [AAA, BBB]
                pools:
                  - cidr: <IP_ADDRESS>/16
                  - ...

Therefore, I would be very glad if you could tell me the setting examples (smfcfg.yaml, pcfcfg.yaml, uerouting.yaml, etc) required for Npcf_PolicyAuthorization.
Best regards,
--Shigeru

Hi @s5uishida, thanks for the update.
DNAI is a critical data in the request and this information is route the traffic to the destination UPF.
Eagerly waiting for reply of @free5gc-org  that how it is working to change the datapath of UE runtime through Npcf_policyauthorization

@ishanshahnio
Now Traffic Influence is not supported, but will be supported in the near future.

Hi @tim-ywliu,
thanks for your reply. I would love to work on Traffic Influence once release. Just asking, any tentative dates ?


How to automate provisioning of Video Indexer?

Our project currently heavily automates the provision of various Azure services via ARM templates and Powershell. In the current documentation, I'm currently left unsure as to how one would automatically provision a Video Indexer account and link this to an existing Media Services account WITHOUT having to go through the web portal.
Have I missed something in this?

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

ID: 1ae01c93-8cc4-81a8-fd39-07a9cbd0621f
Version Independent ID: 788c95b2-e7c9-ea6b-060a-ce64fb699962
Content: Create a Video Indexer account in the Azure portal
Content Source: articles/media-services/video-indexer/connect-to-azure.md
Service: media-services
GitHub Login: @Juliako
Microsoft Alias: juliako

@wahyuen , Thanks for raising this issue. We will investigate and update you.

Having reviewed that link, I'm not sure which part would facilitate how one can automate the provisioning of the Video Indexer account?
From the article, it allows a user to sign up and register for the account. While it works in a manual scenario, we are currently looking for an automated way to ensure that all of this (and other Azure services) can be deployed without having to manually configure Video Indexer + manually associate with a Media Services account.
Is this currently possible at all?
Thanks

@wahyuen I will check this and update you.

@wahyuen
Depending on the features that we are using from Video Indexer, we may be able to just use the VideoAnalyzerPreset from Media Services directly.  Video Indexer itself is built on top of this.  It doesn’t have as many features as VI provides but if the we don’t need those features this would give us a fully ARM based solution.
If that is an option for you, https://docs.microsoft.com/en-us/azure/media-services/latest/analyze-videos-tutorial-with-api is a tutorial that shows how to use the VideoAnalyzerPreset with Media Services.  https://docs.microsoft.com/en-us/azure/media-services/video-indexer/compare-video-indexer-with-media-services-presets provides a comparison of the two offerings.  You will note that Media Services is available in more regions, has a higher compliance level, and is fully integrated with ARM.  VI provides more insights and has a nice web portal.  The cost to use either is the same.
They do have a different API and we should look at the VI features that we are using to ensure Media Services has what we need but it is an option for you.  The page has a link to the insights each option provides.  We apologize for the confusion these two offerings create.
This is not currently possible. Video Indexer technically is not an Azure service, so ARM integration is not possible in the current state.

Thanks for the detailed response.
We originally started with that comparison link to determine which matched our use cases, hence our choice down the VI path.
Would it be possible to also ask, in lieu of an ARM integration, are there any alternative methods for automatically provisioning a VI account? (API/PowerShell/etc?)

@wahyuen No, this is not possible. But VI team has taken this as a feature request.

@wahyuen I will go ahead with the closure of the issue. If you need further assistance, please feel free to reopen the issue.


Very general question about .tflite

Is the tensorflow lite always have quantized calculation and output?
Or it depends on the model's input type?

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!


DatePickerDialog.show method can not get Android.v4.support.FragmentManager as params

I mean, you can't imagine how i dissapointed when i realize i can't use support v4 fragments...
Please add it.

getActivity().getFragmentManager() solved the issue, nevermind


Fault-tolerant HAProxy

We cover HAproxy in our on-premise deployment tutorial, but we really need a stand-alone tutorial on properly setting up HAProxy. This should cover configs in more detail (see https://github.com/cockroachdb/docs/issues/4387) as well as using multiple processes (is single-threaded by default) to speed things up.

From a customer: Customer was asking about how to setup HAProxy so that it would use the local servers first and then make use of the remote servers next if the local ones are not available. This seems to be possible by using the option backup on the server line along with the option allbackups. We should document this as it lines up with how we recommend Cockroach to be deployed across regions.
https://github.com/cockroachlabs/support/issues/272

Another customer linked this doc to us https://www.haproxy.com/blog/dynamic-configuration-haproxy-runtime-api/

@jseldess this might be a good project for 19.2

I agree, @awoods187. @lhirata, @rolandcrosby, not sure how this weighs against other priorities in ops and tools, but please consider.

also seems deployments and/or server @piyush-singh

cc @taroface and @johnrk - this sounds to me like a deployments and ops docs project. Let me know if you agree - will leave it to you to prioritize as you see fit if so. If not, I can triage and find a home for this.

Definitely agree it's deploy and ops. We leverage HAProxy in our on-prem deployment tutorial.


Support for partial shape matching and point clouds?

Hi, thanks for this amazing library. Is there any plan to include partial shape matching and point cloud support? Such as the one presented in Litany, O., Rodolà, E., Bronstein, A. M., & Bronstein, M. M. (2017). Fully Spectral Partial Shape Matching. Computer Graphics Forum, 36(2), 247–258. https://doi.org/10.1111/cgf.13123

Hi,
I don't really plan on supporting these partial shape matching algorithms, since I don't really find them efficient in practice. They have code in Matlab though, which is usable if I recall correctly.


Feature/add auth exception

Check for the error code and see if it is related with Auth authentication.
The idea of this PR is to give a clear error message. It will be displayed like:

Of course, this is the first idea, feedbacks are welcome.

@uaihebert Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@uaihebert Thank you for signing the Contributor License Agreement!

hello @mp911de
I have pushed the changes.
regarding the Unit tests, I added the same as: PostgresqlServerErrorExceptionTest.
The deal is, I do not like repeating code. :D
I think we could create a "generic exception Test" that would test both of exceptions, since they all have the same kind of tests.
it could be a separated issue to avoid making this too big.

Thanks a lot. Let me have a look today or tomorrow.

Awesome. the idea was:

to create a factory that will manage the creation of the exception
to move out from the old exception the creation logic
to create a package for the exceptions, now there are 3 classes related to exceptions. this will "hide" the logic of exceptions inside a default scope

thank you for the support.

Given the upcoming changes in r2dbc/r2dbc-spi#47, I propose to wait until r2dbc/r2dbc-spi#53 is merged and then adapt the specific permission exception here.


A question about glitch WebSockets.

Generally I see these records on my network logs when I disconnect my device:

I'm wondering about their purpose. are they used to tell if the user is connected with the editor? and to keep the project up while that? am I right?
Can you give me an example about how to generate them using your library?
And thx.

Can you please give more details about what are you trying to achieve?
On your screenshot I can only see bunch of reconnecting websockets 🙃 (probably it happens due to client offline). Websockets are a data tunnel for the editor, so without it editor cannot work, therefore it  tries to reconnect WS.
There is an example that shows the basic connection through WS to ot client. This example will generate such websocket connection you are (maybe) trying to get.
I'm not sure if it is going to keep the project up, but certainly it would spend Glitch's project hours because, as they say, you will spend them if you edit the project. Editor and your project are not connected - while you edit without any problems, your app could be down and not running at all.
Thank you for questioning!

Oh I got it, so these WebSockets connect the client with the editor, and the editor itself is not connected to the project.
I just asked because I was wondering about an alternative way to prevent the project from sleeping since pinging is not a solution anymore.
and about Glitch's project hours, 1000h/mo is enough to keep one project running all time, so this wouldn't be a problem.


⚠ Cioos National CKAN has degraded performance

In df83916, Cioos National CKAN (https://catalogue.cioos.ca/) experienced degraded performance:

HTTP code: 200
Response time: 5762 ms

Resolved: Cioos National CKAN performance has improved in 8461a84 after 6 minutes.


Update-MarkdownHelp should support multiple threads to speed up large projects

My project has several hundred cmdlets. I'd like to integrate platyPS into our build workflow to automatically generate stub documentation when there's changes, but with so many cmdlets, it adds 10-15 minutes to the build for Update-MarkdownHelpModule to complete.
Supporting a thread pool versus reading every single file sequentially could greatly improve performance with very large projects.

The main source of slowness in the project is our home-written markdown parser. #112 will be awesome to implement and finally switch to markdig.
I like the idea of using threads, we can apply it to the markdown parsing for short term perf gains.
Reading files in parallel (IO itself) would not really help because:

reading files is a pretty small part of the program
if you have HDD, reading files in parallel can actually slow down the overall time, because of additional spinning for seeks.

Great info. I hadn't dug into the implementation so I just assumed it was due to sequential file access. :) Any perf improvements would be much welcome. I'd love to get this integrated into our build workflow and this is the only blocker right now. With 700+ cmdlets it takes about 10 minutes on average to run.

I can't help but wonder in reading this if your module needs a little refactoring. 700 commands is a very large number of commands. The most I can find on my desktop is v2 of the Hyper-V module with 249 exported commands.  Is there really no distinguishing element where you could group commands into modules? Or even using submodules would help you.

The biggest I have seen so far was Skype MS modules family, about ~1k.  There's really no practical way to break it up into submodules - it's already some 20 assemblies and a single psd1.
--
Sent from my phone. Expect brevity and typos.
On Dec 14, 2017, at 07:57, Jeff Hicks <notifications<EMAIL_ADDRESS>wrote:
I can't help but wonder in reading this if your module needs a little refactoring. 700 commands is a very large number of commands. The most I can find on my desktop is v2 of the Hyper-V module with 249 exported commands. Is there really no distinguishing element where you could group commands into modules? Or even using submodules would help you.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/PowerShell/platyPS/issues/315#issuecomment-351752380, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ALGV5GegjdaDtRyVwRRoZGAN4X49tb42ks5tAUVvgaJpZM4P2K3s.

The performance Microsoft.PowerShell.PlatyPS is drastically improved.


Jupyter widgets supports binary data in messages

Hi! I see that this repo uses base64 data a lot, so I thought I should point this out: While it is a poorly documented feature, any binary data in the serialized state of a widget will be handled by ipywidgets. The binary types are defined as follows:
if PY3:
    _binary_types = (memoryview, bytearray, bytes)
else:
    _binary_types = (memoryview, bytearray)

I hope this can be useful to you!

PS: This feature is new from ipywidgets 7, if I remember correctly.

Thanks for the tip, @vidartf ! I will create a patch...

Addressed in #31


homebank: 5.2.2 -> 5.2.3

Motivation for this change
Update to latest version. Changes in this release:

change: conforming to Windows HIG for button order in dialogs
new   : statistics report, added account
new   : trend time report, added half year interval
new   : added console error message for load/save preference file
new   : #1817796 hungarian Categories
wish  : #1819356 sortable columns during import
wish  : #1817278 fill paymode/category independently from payee
wish  : #1816219 enable to import unlimited account
wish  : #1814452 reorder split transactions
wish  : #1811969 add tags manager
wish  : #1796564 "Show all accounts" should not be shown when no account is selected
wish  : #1797808 scheduled home list to show remaining occurence
wish  : #1791482 OFX import to allow mapping the "name" field to "info"
wish  : #1674029 remind expander state into 'Your account' list
wish  : #1336928 display list of available tags in txn dialog
wish  : #619315  enable tag for trend time report
bugfix: tag with empty string was possible
bugfix: tag duplicate within a same txn was possible
bugfix: month in budget dialog were not translated
bugfix: statistics report total for tag was wrong
bugfix: trendtime report for category was wrong in filtering
bugfix: budget clear was not counting for a change
bugfix: #1815964 internal transfer transactions from .ofx files does not import
bugfix: #1814213 incorrect budget report when budget set only for subcategory
bugfix: #1811962 rapport statistiques : opÃ©ration avec Ã©tiquette absente ; gestion des dates
bugfix: #1806183 typo error institition
bugfix: #1805250 consistent naming for 'range'
bugfix: #1796564 "show all accounts" should not be shown when no account is selected
bugfix: #1720185 win/GTK: copy/paste text only work once with key shortcut

(http://homebank.free.fr/ChangeLog)
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
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)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build homebank


"Uncaught TypeError: undefined is not a function"

title: value : formElement.titleMap[value] || value returns a constructor function when value == 'constructor'

The fix has been cherry-picked from @ulion, thanks a lot !


Prompt user for password when OSF_PASSWORD is not set.

Fixes #30

Codecov Report

Merging #51 into master will decrease coverage by 0.12%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master      #51      +/-   ##
==========================================
- Coverage   84.35%   84.22%   -0.13%
==========================================
  Files          12       12
  Lines         409      412       +3
==========================================
+ Hits          345      347       +2
- Misses         64       65       +1

Impacted Files
Coverage Δ

osfclient/cli.py
98% <66.66%> (-0.97%)
: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 b8e30db...1e51973. Read the comment docs.

Looks good. Can you think of a way that we can test this?

We can mock getpass.getpass and just check that the password value is the one from the unittest

LGTM after the nitpick on formatting!

Thanks a lot! Some virtual 🍕 in time for lunch.

Just added you to the collaborators for this repo. We try and run this using https://github.com/dib-lab/osf-cli/issues/10. This means everyone who has code merged can in the future merge code.
With great power comes great responsibility :)
Welcome on board!


add hashes and rearrange mult handling

Description

This PR is preparatory to #318.

[x] NEW: adds a check to the basic Molecule pydantic model so multiplicities <1 get caught. This route is accessed when Molecule(..., validate=False). I believe this is a universally good check, but it is a new restriction. Any weird positron, fractional electron, etc. reason to not catch less-than-one mult?
[x] add many hash checks (incl. all the chgmult variations in validate_and_fill_chgmult testing) to molecules, so we'll know if code starts changing the hash and thereby disrupting the QCA server.
[x] qcel.molparse has a different error message for less-than-one fragment_multiplicities you try to put through it. qcel.molparse is accessed whenever Molecule(...) or Molecule(..., validate=True) is called.
[x] qcel.molparse newly allows floats that are ints (e.g., 1.0) for multiplicity. previously it would raise an error about not being an int.
[x] qcel.molparse newly has a dedicated error for any less-than-one molecular_multiplicity you try to put through it. Previously it raised the usual "Inconsistent" error.
[x] more tests that chgmult are processing as expected, including some with fractional charges (https://github.com/MolSSI/QCElemental/pull/343/files#diff-29ef453faf072f4ee853122f0f64f6ba594c00dc44599a1f5138946619d9951fR90-R96) for the first time.

Changelog description

Status

[x] Code base linted
[x] Ready to go

@awvwgk , is enforcing a lower bound of 1.0 on multiplicity a sensible thing to do even for fractional electron, or is it restricting?

I believe a lower bound of 1.0 is sensible, I can't think of a usecase even for a fractional electron which could not be represented this way.
Derk @derkkooi, do you know any case that is not representable with this lower bound of multiplicity?


GGV Logo

Gray Ghost Visuals Press. Animation script rotating the globe can also be included inside the single SVG file. Demo here http://codepen.io/grayghostvisuals/pen/YXyVXX

Hey!
Thanks for your suggestion but I'm not adding studios yet, maybe in a future version.
:+1:


Include update-bash section in the docs

After using Bash-it very happily on Linux, I'm now trying it on macOS (10.15.5, with bash 3.2.57), and I'm having all sorts of weird line break/line wrap problems. The problems seem to stem from scm_prompt_info, as they don't appear when I'm using a theme that doesn't use it or when I'm not in a git repo.
The problems I'm seeing include unexpected line breaks in the middle of my prompt, early line wrapping (while I'm typing, before I get to the end of the line), line wrapping that doesn't actually advance to the next line (the cursor just returns to the beginning of the current line), and messing up the xterm title (I'm using the xterm plugin). However, the exact problems seem to vary with the theme, the terminal application (I've tried Terminal and iTerm, and both are affected), the width of the terminal window, the particular directory I'm in, and the previous command.
Here's a screen shot that shows most of these problems:

In the upper terminal, notice:

The line break in the 4th and 5th prompts (it actually comes in the middle of an escape series, but that isn't always the case).
The early line wrap in the second echo command.
The messed up window title (a command isn't running; it's showing a previous one that already completed).

I'm using a custom theme here, but I see the same sorts of problems with built-in themes that use scm_prompt_info.
I'm using just three plugins:

base
alias-completion
xterm

Here's my .bash_profile:
#!/usr/bin/env bash
export BASH_SILENCE_DEPRECATION_WARNING=1

# If not running interactively, don't do anything
case $- in
  *i*) ;;
    *) return;;
esac

# Path to the bash it configuration
export BASH_IT="/Users/dave/.bash_it"
export BASH_IT_CUSTOM="$HOME/.bash_it.custom"

# Lock and Load a custom theme file.
 I use this for private repos.
export<EMAIL_ADDRESS>
# Don't check mail when opening terminal.
unset MAILCHECK

# Change this to your console based IRC client of choice.
export IRC_CLIENT='irssi'

# Set this to the command you use for todo.txt-cli
export TODO="t"

# Set this to false to turn off version control status checking within the prompt for all themes
export SCM_CHECK=true

# Set Xterm/screen/Tmux title with only a short hostname.
# Uncomment this (or set SHORT_HOSTNAME to something else),
# Will otherwise fall back on $HOSTNAME.
#export SHORT_HOSTNAME=$(hostname -s)

# Set Xterm/screen/Tmux title with only a short username.
# Uncomment this (or set SHORT_USER to something else),
# Will otherwise fall back on $USER.
#export SHORT_USER=${USER:0:8}

# Set Xterm/screen/Tmux title with shortened command and directory.
# Uncomment this to set.
#export SHORT_TERM_LINE=true

# Set vcprompt executable path for scm advance info in prompt (demula theme)
# https://github.com/djl/vcprompt
#export VCPROMPT_EXECUTABLE=~/.vcprompt/bin/vcprompt

# (Advanced): Uncomment this to make Bash-it reload itself automatically
# after enabling or disabling aliases, plugins, and completions.
# export BASH_IT_AUTOMATIC_RELOAD_AFTER_CONFIG_CHANGE=1

# Uncomment this to make Bash-it create alias reload.
# export BASH_IT_RELOAD_LEGACY=1

# Load Bash It
source "$BASH_IT"/bash_it.sh

It is the standard one created by the install script, with a few minor additions:

I've defined BASH_SILENCE_DEPRECATION_WARNING to suppress the Catalina nag message when you use Bash.
I've defined BASH_IT_CUSTOM to point at the directory with my custom theme and aliases.
I've changed BASH_IT_THEME to select my custom theme.

Here's my theme:
#!/usr/bin/env bash
#
# One: A simple theme with bright colors and a one-line prompt.

# LS_COLORS for GNU, LSCOLORS for BSD (converted with https://gist.github.com/thomd/7667642)
export LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:'
export LSCOLORS="ExGxFxdaCxDaDahbadacec"

# SCM prompt theme
SCM_THEME_PROMPT_PREFIX="${normal} (${bold_cyan}"
SCM_THEME_PROMPT_SUFFIX="${normal})"
SCM_THEME_PROMPT_CLEAN=" ✓"
SCM_THEME_PROMPT_DIRTY=" ${bold_red}✗"

# Prompt function
function prompt() {
  if [[ $(whoami) = root ]]; then user_color=$bold_red; else user_color=$bold_green; fi
  PS1="${normal}[${user_color}\u${bold_green}@\h${normal}:${bold_blue}\W${normal}]$(scm_prompt_info)${normal}$ "
}

safe_append_prompt_command prompt

Bash-it is at ~/.bash_it, but that is a symlink into my Dotbot-based dotfiles repo, where I've added Bash-it as a submodule.
Strangely, what I did find solves the problem is simply commenting out the last line of my .bash_profile and then manually sourcing bash_it.sh from within the interactive shell. That's what the lower terminal in the screen shot shows. Notice how I'm not able to reproduce any of the problems in it.
I have no idea what could be different about letting .bash_profile source bash_it.sh vs. manually doing it immediately afterward. So, I'm very stumped. I'm happy to try things out to get to the bottom of this, if any one has any ideas.

Thanks for the detailed description! As a first step, I recommend that you update Bash to v5.0, this can be done through Homebrew. The shipped Bash v3 is ancient...
I'm also running Catalina, but with the powerline-multiline theme, in Terminal.app. A couple of comments:

The BASH_SILENCE_DEPRECATION_WARNING env variable is a good one - we might want to add that to the osx plugin or to the default profile.
I'm not sure whether you need the xterm plugin on macOS, not sure whether it does anything that Terminal doesn't do automatically.

I tried the echo commands with my current setup, and I don't have these issues:
  master → origin  ~/.bash_it                                                                                  08:56:06  ⚡ 86%  nils.winkler
❯ echo<PHONE_NUMBER>12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
  master → origin  ~/.bash_it                                                                                  08:56:35  ⚡ 86%  nils.winkler
❯ echo<PHONE_NUMBER>12345678901234567890
123456789012345678901234567890
  master → origin  ~/.bash_it                                                                                  08:56:46  ⚡ 86%  nils.winkler
❯

This is what I have in my ~/.bash_profile for the theme settings:
export BASH_IT_THEME='powerline-multiline'
export POWERLINE_LEFT_PROMPT='scm python_venv ruby cwd'
export BATTERY_AC_CHAR="⚡ "
export POWERLINE_PADDING=1
export POWERLINE_COMPACT=0

Maybe give this a try to see if the Powerline theme has the same issues for you?

@nwinkler Thanks for the excellent debugging instructions. As it turns out, I didn't have to go past your first suggestion. Switching to Bash 5 from Homebrew immediately solved the problems I was seeing.
I knew that macOS ships an ancient version of Bash, but I'd only thought of that as an inconvenience for my own scripting. I had no idea that using it would break Bash It or, to be honest, that upgrading would be so easy (I'm already using Homebrew).
Knowing this would have saved me a ton of time, and I wouldn't have wasted yours with this bug, either.
What would you think about declaring a Bash requirement (4.something?) and putting this information in the README's Installation section? Something like this?

Bash Dependency
Bash It requires Bash 4.?? or later to run correctly. Any Linux distribution from the last decade should have shipped with a compatible version of Bash. However, macOS users must upgrade from the included, obsolete Bash v3. We recommend using Homebrew to do this:
$ brew install bash
$ sudo sh -c 'echo /usr/local/bin/bash >> /etc/shells'
$ chsh  -s /usr/local/bin/bash

Also, now I don't think setting BASH_SILENCE_DEPRECATION_WARNING is a good idea, since you only get the nag when you're using the ancient, macOS-included Bash, which we've just established you should not do. I've removed it from my own .bash_profile.

I like the idea of having a note in the README. We might want to add that some functionality might work with Bash 3, but there's no guarantee that everything will work.

Closed in #2146
well done @dylanjtuttle :)


Contribution guidelines

Hey!
I was wondering on what your policy on contributions is? We have internal implementations for a couple functions not found in xsimd (mostly backports from boost::simd), but not for every target. Would it still be helpful to you if we submitted what we have as PRs? Or should I get in touch with one of you directly so we can discuss in detail?
Thank you!

Hey @boris-kuz,
PRs are definitely welcome, we can provide some guidance to have your functions working on all architectures (or at least have an acceptable fallback ). Do no hesitate to hop on https://gitter.im/QuantStack/Lobby if you have questions that you want to discuss without going through a long Github issue.

We now have a CONTRIBUTING.md file, I'm going to close that issue, and of course accept updates to that file ;-)


add executable permission for install.sh

ah... sorry, i didn't read README.md...
sh install.sh is correct!


Energy Monitor on 240V loads with single CT only half of what is expected

Home Assistant version: 2023.7.3
HACS version: 1.32.1
hacs-greeneye-monitor version: 2023.5.30
Configuration

Add your logs here.

Describe the bug
I have one channel monitoring a symetric 240V load (Car Charger). GEM Is configured accordingly:

The Car Charger is pulling 20 Amps,  about 4,700 Watts.
After 1:15 minutes, the energy measured is half of what I expected:

I compared with the app for the charger which says 5.6 kwh.
Not sure if this is a GEM issue or a issue of the monitor component.
home-assistant_greeneye_monitor_2023-08-03T04-10-53.129Z.log

So it looks like the instantaneous power is showing up correctly, but the aggregate energy is half what you expect? That's surprising, because the way this stuff works is the GEM sends the energy total in every packet and the integration computes power from the difference in energy between consecutive packets.
I played around with turning on 240V mode on one of my GEM channels, and verified that the power number showing up in HA doubled.
How did you create those "Monthly" and "Last Session" entities? That's not something this integration does on its own.
For completeness, what are your GEM firmware versions?

Thanks for checking.
COM firmware ver: 5.39
ENG firmware ver: 1.49
I did some more testing yesterday and restarted everything (HA, GEM). Once I had done this, it seemed to be more accurate. I wonder if the issue was that I had not restarted things after making the changes in GEM.
I will have to monitor again next time I charge the car. I also need to replace the CT, it seems to pick up some phantom power.
Regarding the Monthly and Last Session: Those are Utility Monitor Helpers. I reset the "Last Session" anytime power consumption on that channel goes above 100W.
I primarily use the instantaneous power to control charge current so I can keep the overall house consumption under control.

The latest version of this integration (2023.9.03) supports downloading diagnostic information and debug logs, which I hope will help me diagnose this issue more quickly. To use it, do the following:

In Home Assistant, go to Settings -> Devices & Services -> GreenEye Monitor (GEM).
Under "Hubs", find "GreenEye Monitor (GEM)", click the three dots, then click "Download diagnostics"
Drag-and-drop the downloaded file into a comment on this issue. It will upload the file and insert a link.
After downloading diagnostics, click "Enable debug logging"
In the three dots menu, click "Reload"
Return to your overview dashboard and wait until data starts to come in from all of your GEMs
Return to the settings screen and click "Disable Debug Logging". It will download a log file.
Drag-and-drop the downloaded log file into a comment on this issue. It will upload the file and insert a link.

Thanks!


Contour levels calculation has precision issues

Reported by hankin on 12 Sep 2001 23:54 UTC
problem:
yes? use coads_climatology
yes? shade/lev=(-1e6)(-1,25,2)(1e6) sst[l=1]
because the delta of "2" is not visible on the range -1e6 to 1e6
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/311

Comment by<EMAIL_ADDRESS>on 21 Oct 2003 20:16 UTC
Moving from the<EMAIL_ADDRESS>user to the<EMAIL_ADDRESS>user.

Comment by<EMAIL_ADDRESS>on 3 Nov 2003 20:45 UTC
See Bug 671: (Ferret tasks) Ability to set
unlimited upper and lower bounds

Comment by<EMAIL_ADDRESS>on 5 Nov 2003 20:04 UTC
reassign to Ansley

Comment by ansley.b.manke on 23 Jul 2010 23:24 UTC
This was fixed with our open-ended levels syntax, so that
yes? use coads_climatology
yes? shade/lev=(-inf)(-1,25,2)(inf) sst[l=1]


Bookmarking a message with an image does not forward the image

Please Describe Your Issue
Bookmarking a message with an image does not forward the image.
How to Reproduce
Bookmark a message with an image.
Expected behavior
The DM sent by horace should include the image. It also does not include a link to the original message, which I would also expect.

No image was actually a part of a bug I couldn't find my way around 😆 thanks for the report! Both of these will appear in the next Horace update!

Seeing this reminds me of a thought I had... Any chance I could add on
adding a "Jump to message" part of the embed? Check out the highlights
embed for the way to do that... I can't remember off the top of my head,
just that I did it in there.
On Thu, Mar 26, 2020 at 11:40 AM Colin<EMAIL_ADDRESS>wrote:

No image was actually a part of a bug I couldn't find my way around 😆
thanks for the report! Both of these will appear in the next Horace update!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Knights-Of-Academia/horace/issues/144#issuecomment-604503159,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADATWBV3VS6ZA2HDMSAHA23RJNZPTANCNFSM4LUKLR6Q
.

--
Mark Bacon
NYU '22
B.A. Psychology
B.A. Language and Mind

@Dendrobyte it is possible, would you like to jump on this issue?


Hide the left and right farm designer panels off canvas on mobile

I'm thinking something like this: https://getbootstrap.com/examples/offcanvas/#
I'm going to try doing this :zap:

I went with a different concept (kept the tabs and put them up in the main nav area


Tesla platform

Description:
Implementation of Tesla cars support
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#3273>
Example entry for configuration.yaml:
tesla:
  email<EMAIL_ADDRESS>  password: mycoolpassword

Checklist:
If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies have been added to the REQUIREMENTS variable ([example][ex-requir]).
[x] New dependencies are only imported inside functions that use them ([example][ex-import]).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

If the code does not interact with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass

This is an awesome contribution @zabuldon ! 🎉

I hope all issues were resolved.

Looks good! 🎃

I will make sure the Tesla docs are ready to go in the morning.


  If you want to return all records in the bucket you can pass in a nil query.
store.Find(&result, nil)


Don't load all rows into memory before committing

Commit periodically every 1000 rows

Coverage decreased (-0.9%) to 97.674% when pulling 4b6d107c57ff1baeb1ee9c3e49c26f47eb684507 on fix/dont-load-everything-in-memory into fc47cf1cf2bac87314e1e17e84778405feb46d22 on master.


Content not imported when inside a conditional section

With a template like this, with content only expected to render if note exists, the content does not get rendered.
{{#note}}
## Notes
{{{note}}}

## Full Article
{{{content}}}
{{/note}}

This is because includeContent is only set to true when content is at the "root" level of the mustache template.
https://github.com/omnivore-app/obsidian-omnivore/blob/2304fde1516164fb42d2f2258db2c5510252c023/src/main.ts#L204-L206
In my case, content is under the note span.

As a workaround, I have added a "root" level comment span with the text content, and this does force includeContent to be true and my content to get imported, but ideally I wouldn't have to hack it like this.
{{! content }}
{{#note}}
## Notes
{{{note}}}

## Full Article
{{{content}}}
{{/note}}

FWIW, the Logseq plugin always fetches content
https://github.com/omnivore-app/logseq-omnivore/blob/83484a66ae7cbb9b71e853e9da8c73dbffcf8fb6/src/index.ts#L228


Provide a way to reset the wrapper

The authentication data stored in secure storage is automatically synced by iOS into iCloud and is restored on new installs.
So once authenticated there seems to be now way to actually get rid of the authentication again.
Could we provide a way to log users out locally, without needing to end the session server side? So that I can clear out stale authentication data for new installs?

Okay, CMIIW.
Let's say there is a user that has an iPhone and an iPad, and both of his devices use the same Apple ID. If he login into your app using his iPhone, a session will be registered on the server side. If he installs your app on his iPad, he is automatically logged in since his authentication data is synced across all his Apple devices.
So now, you don't want that to happen. You want your user to login again when they install your app on another device, right?

Well, I haven't considered that case, but yes, kind of. As a user I would find that weird.
My biggest problem with the current behavior is that I cannot clear the authentication data for testing/qa purposes even when reinstalling the App.
My App has kind of a two-stop login process where users first connect to a tenant specific backend system and then login to the respective keycloak instance. So with iOS restoring the login data, the App thinks it is already authenticated after the first step because iOS restores everything keycloak_wrapper stored in secure storage. But the Keycloak token does not necessarily work now anymore.
Does that make sense?

Secure storage should be cleared after the user logs out from the previous session. Do you want to terminate the session when the user has logged in and delete the app so that when they reinstall the app on the same device, they will not be automatically logged in?

Yes, exactly. But since I don't think there is a callback to the App when it is uninstalled I would simply keep track of whether this is a fresh install and clear out any authentication data. I would really appreciate if keycloak_wrapper provided a way to do that, so I don't have to mess with the internals here.

Alright, understood. Give me a few days and I'll get it done.


Please support no_std

Please consider expanding code to use From trait from core, so that the lib can be used for no-std projects.

The crate just uses the From trait (without referencing std nor core), so it's up to the crate consuming this library.
As long as you don't derive any try_ forms (Error and Result lives on the std module) or use the with module, it can be used in no_std projects.

model_mapper pulls anyhow and prevents no-std code from compiling.

I forgot to include a feature flag for the with module, you're totally right!
I'll include it later

Commit c6d70b6 fixes it for version 0.4.1
You should be able now to disable default features (default-features = false), avoiding anyhow dependency.

Hi @lasantosr
Unfortunately, rustc still refused to compile:
     Running `/home/quan/.rustup/toolchains/1.80-x86_64-unknown-linux-gnu/bin/rustc --crate-name model_mapper --edition=2021 /home/quan/Entertainment/.Cargo/registry/src/index.crates.io-6f17d22bba15001f/model-mapper-0.4.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=142 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values("chrono", "default", "serde", "with"))' -C metadata=6a454f97077215c7 -C extra-filename=-6a454f97077215c7 --out-dir /home/quan/Works/AgriConnect/Embedded/armBees/target/thumbv6m-none-eabi/debug/deps --target thumbv6m-none-eabi -L dependency=/home/quan/Works/AgriConnect/Embedded/armBees/target/thumbv6m-none-eabi/debug/deps -L dependency=/home/quan/Works/AgriConnect/Embedded/armBees/target/debug/deps --extern model_mapper_macros=/home/quan/Works/AgriConnect/Embedded/armBees/target/debug/deps/libmodel_mapper_macros-6e13fa3b6a1afc18.so --cap-lints allow`
error[E0463]: can't find crate for `std`
  |
  = note: the `thumbv6m-none-eabi` target may not support the standard library
  = note: `std` is required by `model_mapper` because it does not declare `#![no_std]`

For more information about this error, try `rustc --explain E0463`.
error: could not compile `model-mapper` (lib) due to 1 previous error

Caused by:
  process didn't exit successfully: `/home/quan/.rustup/toolchains/1.80-x86_64-unknown-linux-gnu/bin/rustc --crate-name model_mapper --edition=2021 /home/quan/Entertainment/.Cargo/registry/src/index.crates.io-6f17d22bba15001f/model-mapper-0.4.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=142 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values("chrono", "default", "serde", "with"))' -C metadata=6a454f97077215c7 -C extra-filename=-6a454f97077215c7 --out-dir /home/quan/Works/AgriConnect/Embedded/armBees/target/thumbv6m-none-eabi/debug/deps --target thumbv6m-none-eabi -L dependency=/home/quan/Works/AgriConnect/Embedded/armBees/target/thumbv6m-none-eabi/debug/deps -L dependency=/home/quan/Works/AgriConnect/Embedded/armBees/target/debug/deps --extern model_mapper_macros=/home/quan/Works/AgriConnect/Embedded/armBees/target/debug/deps/libmodel_mapper_macros-6e13fa3b6a1afc18.so --cap-lints allow` (exit status: 1)

Here is my code: https://codeishot.com/4p8PwrHi

Hi @hongquan , how are you compiling it?
I've created a sample no-std crate, included model-mapper as a dependency and cargo build runs just fine. I've released v0.4.2 that includes the #![no_std] attr, just in case.
From your logs, it seems that you're using all of the features, but you should be removing default features instead:
--check-cfg 'cfg(feature, values("chrono", "default", "serde", "with"))'
You must include the dependency in Cargo.toml like this:
[dependencies]
model-mapper = { version = "0.4.2", default-features = false }

Last time trying model_mapper v0.4.1, I already disabled default features (and it didn't compile).
I now try with v0.4.2 and it already works. Thanks.


cli: show colorized output from actions

currently, if an action generates colored output, popper is not showing it. This is an example workflow whose actions generate colored output.

@ivotron how do I reproduce the required colors for the example?
And if the goal is to use colors, we can also set them through popper so that even if an example doesn't produce colors, popper can do that on its own.

thanks a lot for looking into this @akashrajr1! To produce colors out of a container:
docker run --rm -t -e "TERM=xterm-256color" alpine:3.9 ls -l

so it might be a matter of enabling tty when popper run creates containers.


[dev-v5] Change to .NET 9 GA version all the way.

Remove .NET 8 packages. settings, etc

Why do you want to remove NET8? Because NET9 os not LTS and will probably be restricted for some companies?

This is how we have done it before as well. Our major releases target the latest .NET version so we can fully use that version's latest enhancements.
v3 supports .NET 6 and 7 (and is not supported anymore as of now)
v4 supports .NET 8 and 9
v5 support >NET 9 and 10
:
:

If someone does not want to use that specific .NET version, they can continue using our previous version.


wrap-qt-apps-hook.sh: wrap binaries in ./sbin/

Motivation for this change
wrap-qt-apps-hook.sh runs before move-sbin.sh, so programs in ./sbin are
currently not wrapped. Fix it.
Things done

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

[ ] 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 nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

Can we change the order of how it's run?

How I wish we had no explicit order for phases and hooks and instead used something like multiple dispatch to determine the ordering.

We have the same issue with wrapGAppsHook because of ordering. I've just taken to having people not install things in sbin.
I think there won't be a problem with things becoming double wrapped hopefully (because checking for elf interpreter).


Consider using DOMDocument recovery mode

See stack overflow for details: https://stackoverflow.com/a/9281963/893222
The idea is to handle malformed XML thanks to recovery option in libxml that is implemented in userland:
$dom = new DOMDocument();
$dom->recover = TRUE;

You can use the recovery mode yourself:
// Import by URI
$httpClient = Zend\Feed\Reader\Reader::getHttpClient();
$response   = $httpClient->get(
    'https://github.com/zendframework/zend-feed/releases.atom'
);
$xmlString  = $response->getBody();

// Create DOMDocument
$dom          = new DOMDocument;
$dom->recover = true;
$dom->loadXML(trim($xmlString));

// Detect type
$type = Zend\Feed\Reader\Reader::detectType($dom);

// Create reader
if (0 === strpos($type, 'rss')) {
    $reader = new Zend\Feed\Reader\Feed\Rss($dom, $type);
}
if (0 === strpos($type, 'atom')) {
    $reader = new Zend\Feed\Reader\Feed\Atom($dom, $type);
}

var_dump($reader->getTitle()); // "Release notes from zend-feed"

Thank for help! This is indeed what I ended up doing:
https://gitlab.com/DeepRSS/Reader/blob/3667b1b10c11b9c067de1e3242f15eaf2a1de261/src/Core/Service/ZendReader/FeedParser.php#L35

@Isinlor
Thanks for the fast response! 👍
Can you provide a link to a feed which is malformed and needs the recovery mode?

Here is one example: http://noredinktech.tumblr.com/rss
Code I used for testing:
<?php

$libxmlErrflag = libxml_use_internal_errors(true);
$oldValue = libxml_disable_entity_loader(true);

$dom = new \DOMDocument;
//$dom->recover = true; // Allows to parse slightly malformed feeds

$status = $dom->loadXML(file_get_contents("http://noredinktech.tumblr.com/rss"));

if (!$status) {

    // Build error message
    $error = libxml_get_last_error();
    if ($error instanceof \LibXMLError && $error->message != '') {
        $error->message = trim($error->message);
        $errormsg = "DOMDocument cannot parse XML: {$error->message}";
    } else {
        $errormsg = "DOMDocument cannot parse XML: Please check the XML document's validity";
    }

    throw new Exception($errormsg);
}

@Isinlor
Perfect, this helps a lot. I collect various problems to create some test scenarios.

I think your initial reaction was correct.

The problem is that false results could lead to subsequent errors in parsing and handling of the entire feed.

I missed it when I was working on it myself. But indeed, even tough $dom->recover = true; seems to work, Zend Feed is not able to handle it correctly.
I'm really curious how Firefox handle it, because I have no issues if I open:

https://blog.noredink.com/rss
http://itbrokeand.ifixit.com/atom.xml
http://aasnova.org/feed/
https://blog.floydhub.com/rss/

@Isinlor
I will check all links this evening and will give a feedback.

@Isinlor
https://blog.noredink.com/rss
There were some problems, but now I have not found anything.
http://itbrokeand.ifixit.com/atom.xml
Problem is <title>Web Operations D&D</title> and therefore not well-formed. Should be reported at ifixit.com. Everything else means ugly replacements.
(Also fails in a browser.)
http://aasnova.org/feed/
Two problems: 403 and wrong header.
(Also fails in a browser. [Download])
https://blog.floydhub.com/rss/
Many feeds contain characters out of the legal range.
Try the following preg_replace:
preg_replace(
    '/[^\x{0009}\x{000a}\x{000d}\x{0020}-\x{D7FF}\x{E000}-\x{FFFD}\x{10000}-\x{10FFFF}]+/u',
    ' ',
    $string
)

This should eliminate problems like "CData section not finished".
(Also fails in a browser.)

Thanks for the examples. At the moment I do not know if we should do something in zend-feed, because it opens the door to many pitfalls or ugly workarounds. I see the benefit for the user but also the problem of maintain.
I remain open to suggestions and improvements.

This repository has been closed and moved to laminas/laminas-feed; a new issue has been opened at https://github.com/laminas/laminas-feed/issues/8.


fix(devcontainer): fixes python new requirements for venvs

Hey, I just made a Pull Request!
Python3 new versions were blocking us from installing pip dependencies directly in the system, without specifying a VENV first.
When trying to build the current devcontainer, it would fail with the following error:
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.11/README.venv for more information.

This PR fixes the devcontainer by upgrading the mkdocs feature to v2 and updating the postCreate to setup a venv
:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[X] All your commits have a Signed-off-by line in the message. (more info)

Thanks 🎉


No Teams documentation? Wow

How can the Office 365 section of this deployment documentation not have a single mention of Teams? This is a fail. Please address that issue here, or create a separate page dedicated to the transition of SRS rooms from SfBO to Teams. Big miss here folks.

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

ID: 41965bc8-45c0-e4eb-aa36-5ef5adbe460a
Version Independent ID: 97de65ad-04fc-5b62-c7c7-fba8d0aeb1de
Content: Deploy Skype Room Systems v2 with Office 365
Content Source: Skype/SfbServer/deploy/deploy-clients/with-office-365.md
Product: skype-for-business-itpro
GitHub Login: @jambirk
Microsoft Alias: jambirk

@jambirk Hi James, any updates on this issue? Thanks!

We just released a rebrand of the doc set to reflect the product rename made in January. We're hoping to get this out of our backlog and into an upcoming spring plan.

@Jason6311 Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

@officedocsbot close


Callback on give time

need callback at give time of countdown.
e.g
set countdown for 10 min and then i want to warn user when countdown is less than 1 minute .

up