Postman Error when attempting to Get Azure AD Token

Hello,
I'm not sure if I'm doing something wrong but whenever I follow the step to get an Azure AD Token with service principal authentication. I get a Postman error that says to view it in the console.
When I open the console I get an error saying: JSONERROR | Unexpected token '<' at 3:1
<!-- Copyright (C) Microsoft Corporation. All rights reserved. -->
However there's nothing on line 3 when it comes back.
Thank you,

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

ID: a08da9ea-355e-0414-bf5b-7228cedefa7b
Version Independent ID: cdfbdf3c-dd5f-eab8-b41b-a759a7b92cf7
Content: Upload files into an Azure Media Services account using REST
Content Source: articles/media-services/previous/media-services-rest-upload-files.md
Service: media-services
GitHub Login: @Juliako
Microsoft Alias: juliako

Here's a screenshot of what I'm getting.

@Yegmorcar, Thanks for the question! We are investigating and will update you shortly.

@Yegmorcar, Referring to your screenshot, from the POST method ‘AzureADSTSEndpoint” body, remove the lines 3 and 4, that’s the reason you’re seeing the ‘JSONError unexpected token’ error, and then re-try, and let me if you need any further assistance.

The lines 3 and 4 are responses when sending the request, I cannot modify it. (I'll be honest, I'm extremely novice when it comes to REST API, so I don't even know if I'm doing it right.) It's also odd that it's sending the response in HTML instead of JSON.

Ok, I was somehow able to get a Azure AD token now after removing and reapplying the value of the AzureADSTSEndpoint variable. A bit of an odd bug. But everything is working fine now!

@Yegmorcar, Glad you figured out the problem (manual misconfiguration). Thanks for the update. Do let us know if you need any further assistance.


Stuck in Legends Tournament

When you don't have any try remaining you end stuck after the click that is supposed to start the fight:

config.sh
# --- CONFIG: Modify accordingly to your game! Use this link for help: https://github.com/zebscripts/AFK-Daily#configvariables --- #
# Player
canOpenSoren=false
arenaHeroesOpponent=5

# General
waitForUpdate=true
endAt="championship"

# Repetitions
maxCampaignFights=0
maxKingsTowerFights=0
totalAmountArenaTries=2+1
totalAmountGuildBossTries=0

# Store
buyStoreDust=false
buyStorePoeCoins=false
buyStoreEmblems=false

# --- Actions --- #
# Campaign
doLootAfkChest=false
doChallengeBoss=false
doFastRewards=false
doCollectFriendsAndMercenaries=false

# Dark Forest
doSoloBounties=false
doTeamBounties=false
doArenaOfHeroes=false
doLegendsTournament=true
doKingsTower=false

# Ranhorn
doGuildHunts=false
doTwistedRealmBoss=false
doBuyFromStore=false
doStrengthenCrystal=false
doCompanionPointsSummon=false
doCollectOakPresents=false # Only works if "Hide Inn Heroes" is enabled under "Settings -> Memory"

# End
doCollectQuestChests=false
doCollectMail=false
doCollectMerchantFreebies=false

Thanks for this issue, that would make sense. I think we can make use of the newly added waitForBattle() function and add a max amount of tries. Or make a check for the blue button on the bottom that is see able on your screenshot.
Also, how did this end up happening? Did you put the wrong amount in totalAmountArenaTries?

I was trying to do totalAmountArenaTries = 2 (default)+7 (VIP)+2 (free tickets / day)
But it's not working, I don't remember the number of tournament free entries.

Interesting. OK, will try to fix this eventually!


Use common error list

Related to https://github.com/CartoDB/carto-vl/issues/743
Context
Having a common list with all the errors seems pretty reasonable. There is already one, but multiple errors have been added without including them there.
Tasks

[x] carto-error update + specs

Include errors in common list for:

[x] windshaft
[x] Interactivity
[x] Layer
[x] Map
[x] Renderer / RendererLayer
[x] and more...

Comments

Most errors are in a CartoValidationError category. I also added a CartoSecurityError for some... but maybe we should we refine this list in the future. into a more detailed hierarchy? (eg. CartoRuntimeError...).
To keep the list useful, we should always consider using them instead of the more generic Error class

I failed to think through the cost implications of this issue, and it is true that following this approach is error-prone :(
I still think we need to keep track of the errors we have somehow, but for sure it needs to be easy to maintain and have a minimum cost. I like the idea of having specific error classes.
For me, the main idea of this issue is to have a simple manual list of error constants, independent of the built-in error message, to identify where the error takes place, for instance:

We currently have:
File: src/client/windshaft.js

throw new Error(`Incompatible combination of cluster aggregation usages (${
    JSON.stringify(usages.filter(x => x.type === 'aggregated'))
}) with unaggregated usage for property '${propertyName}'`);

We could have:

Option 1
File (example): src/errors/list.js
export default const Error = {
  Windshaft: {
    AGGREGATION_USSAGES: 'Incompatible combination of cluster aggregation usages'
  }
}

File: src/client/windshaft.js
throw new Error(`${Error.Windshaft.AGGREGATION_USSAGES}: (${
    JSON.stringify(usages.filter(x => x.type === 'aggregated'))
}) with unaggregated usage for property '${propertyName}'`);

Option 2
File (example): src/errors/list.js
export default const Error = {
  Windshaft: {
    AGGREGATION_USSAGES: 'Aggregation Ussages'
  }
}

File: src/client/windshaft.js
throw new Error(`${Error.Windshaft.AGGREGATION_USSAGES}: Incompatible combination of cluster aggregation usages (${
    JSON.stringify(usages.filter(x => x.type === 'aggregated'))
}) with unaggregated usage for property '${propertyName}'`);

However, I think that if this needs further discussion, we could address this after the public release.

✨ I prefer that approach than the current one.
Now, about my proposal of extracting the errors from the code itself. I just did a quick test with espree, and it, obviously, requires much more work than the 20 minutes I spent looking for the right library and writing a crappy script, but I think is feasible.
@elenatorro, from your example with Windshaft.js, I did a small change for demo purposes:
diff --git a/src/client/windshaft.js b/src/client/windshaft.js
index 5e4d666e..f141e666 100644
--- a/src/client/windshaft.js
+++ b/src/client/windshaft.js
@@ -77,9 +77,9 @@ export default class Windshaft {
             const aggregatedUsage = usages.some(x => x.type === 'aggregated');
             const unAggregatedUsage = usages.some(x => x.type === 'unaggregated');
             if (aggregatedUsage && unAggregatedUsage) {
-                throw new Error(`Incompatible combination of cluster aggregation usages (${
-                    JSON.stringify(usages.filter(x => x.type === 'aggregated'))
-                }) with unaggregated usage for property '${propertyName}'`);
+                const aggregatedUsages = JSON.stringify(usages.filter(x => x.type === 'aggregated'));
+                // We could use annotations via commented code to explain, for instance, the variables in the template.
+                throw new MapsAPIError(`Incompatible combination of cluster aggregation usages (${aggregatedUsages}) with unaggregated usage for property '${propertyName}'`);
             }
         });
     }

Using espree with the following config:
var ast = espree.parse(code, {
    attachComment: true,
    ecmaVersion: 8,
    sourceType: 'module',
});

Within the AST, I get:
{
            "type": "ThrowStatement",
            "start": 3244,
            "end": 3402,
            "range": [
                3244,
                3402
            ],
            "argument": {
                "type": "NewExpression",
                "start": 3250,
                "end": 3401,
                "range": [
                    3250,
                    3401
                ],
                "callee": {
                    "type": "Identifier",
                    "start": 3254,
                    "end": 3266,
                    "range": [
                        3254,
                        3266
                    ],
                    "name": "MapsAPIError"
                },
                "arguments": [
                    {
                        "type": "TemplateLiteral",
                        "start": 3267,
                        "end": 3400,
                        "range": [
                            3267,
                            3400
                        ],
                        "expressions": [
                            {
                                "type": "Identifier",
                                "start": 3326,
                                "end": 3342,
                                "range": [
                                    3326,
                                    3342
                                ],
                                "name": "aggregatedUsages"
                            },
                            {
                                "type": "Identifier",
                                "start": 3385,
                                "end": 3397,
                                "range": [
                                    3385,
                                    3397
                                ],
                                "name": "propertyName"
                            }
                        ],
                        "quasis": [
                            {
                                "type": "TemplateElement",
                                "start": 3268,
                                "end": 3324,
                                "range": [
                                    3267,
                                    3326
                                ],
                                "value": {
                                    "raw": "Incompatible combination of cluster aggregation usages (",
                                    "cooked": "Incompatible combination of cluster aggregation usages ("
                                },
                                "tail": false
                            },
                            {
                                "type": "TemplateElement",
                                "start": 3343,
                                "end": 3383,
                                "range": [
                                    3342,
                                    3385
                                ],
                                "value": {
                                    "raw": ") with unaggregated usage for property '",
                                    "cooked": ") with unaggregated usage for property '"
                                },
                                "tail": false
                            },
                            {
                                "type": "TemplateElement",
                                "start": 3398,
                                "end": 3399,
                                "range": [
                                    3397,
                                    3400
                                ],
                                "value": {
                                    "raw": "'",
                                    "cooked": "'"
                                },
                                "tail": true
                            }
                        ]
                    }
                ]
            },
            "leadingComments": [
                {
                    "type": "Line",
                    "value": " We could use annotations via commented code to explain, for instance, the variables in the template.",
                    "start": 3124,
                    "end": 3227,
                    "range": [
                        3124,
                        3227
                    ]
                }
            ]
        }
    ]
}

I can identify ThrowStatement for MapsAPIError, what the arguments are, and I can even access the comment for annotation purposes.
As I said, that requires more work than what I did, but we can create a script that walks the AST and creates the list of errors.

Thx for your review @rochoa and @elenatorro. Regarding to your comments:

Although this might look to address the original issue [...] The error-list.js file is only a list of error message patterns.

My fault, I thought that had already been discussed, so I just let myself go with that approach.

Maintaining that list up-to-date is hard. [...] This doesn't improve the situation over having error messages with string interpolation.

It is true, building and keeping the list up-to-date feels tough. We could improve the current system, displaying also the type > category > params, but I guess that won't solve some other issues.

I would expect to have a higher error reusability [...]

We are mostly using generic Error and CartoValidationError for everything. The last one is the piece we have reused, not the messages themselves. Introducing more specific errors, like WebGLError or  CartoSecurityError (403, 404...) sounds good.

Regular expressions are hard to maintain and harder to reason [...]

+1

I like the use of consts as enums that Elena propose but I also agree with her that we should discuss a little bit more on the approach before tackling it.

After our meeting, these are the main points I have taken notes:

Problems with current approach:

complex / fragile regex
separation of message management from original error context
current value of the error-list is perceived as low, comparing to simpler inline throw +

Proposal:

Simpler approach
Create a set of meaningful typed CARTO-errors
Document errors in a useful way (list, table with categories...?)
Use throws at jsdoc when needed
Create an error list from the code itself, if needed

Regarding the list of error types, I propose:

SourceError

MapsAPI error

AuthError

SyntaxError (parser errors)
ParameterError (invalid parameter)

TypeError (viz typechecks)
RangeError (parameter is of a valid type, but outside the valid range)
MaxArgumentsError (too many args)

WebGLError

WebGLSupportError
WebGLUnexpectedError

I made some research and I want to share some related notes with you:
1. User point of view

An external dev will probably use errors like this:

a) for debugging

  console.log(e); // being e the error thrown by carto-vl
  console.log(e.name);
  console.log(e.message);
  console.log(e.stack); // (not standard)

b) Once he's got an error he could:
...google the error message --> eg. Percentile must be a fixed literal number
...look for more info at carto-vl's docs --> where (general search)?

c) Once he knows about the error...

  // he could use try-catch + `instanceof` to react (retry, logging / rethrowing...)
  try {
    let x = whatEverFromCartoVL();
  } catch (err) {
    if (err instanceof CustomError) {
      showMessage("Whatever" + err.message);
    } else {
      console.error(err.message);
    }
  }

2. CARTO-VL dev point of view:

Custom Error Types provide a "cleaner and more consistent error handling code"
We want to have error message next to the throw (no error-list)
We can create specific types by using an ES6 custom class, like this:

  class MyError extends CartoError {
    constructor(message) {
      // whatever...
    }
  }

How to return errors?

sync --> we'll usually go for a simple throw
async --> we would have different options (callback(err, result), promise.reject, or even an error event using an EventEmmitter) but it seems it is not necessary for us now.

3. Notes on other libraries
gmaps JS API

has a public error list here: Google Maps Error Messages, though it mostly has errors related to backend service.
writes errors messages to window.console, with something like: Google Maps API error: [ERROR CODE] [Link to API document]

mapbox-gl-js

They have an error event on map, and if no listener is registered, then they console.log see map event
They internally use these types:

common ones such as Error, RangeError, TypeError... without a code, and just using string literals
some custom errors, like RuntimeError, ParsingError ... Example:

  if (index >= array.length) {
    throw new RuntimeError(`Array index out of bounds: ${index} > ${array.length - 1}.`);
  }

Examples at https://github.com/mapbox/mapbox-gl-js/search?q="throw+new"&unscoped_q="throw+new"

ArcGIS API for JS

They have a generic esri / core / error type.

openlayers

They have a url with a list of errors

Builder

just throw new Error('whatever')
It uses the external service TrackJS

CARTO.JS

error-list.js with CartoValidationError but also simple throw new Error examples

4. Some general references:

Error at MDN web docs

What's a good way to extend Error in JavaScript?

A Guide to Proper Error Handling in JavaScript

Exceptional exception handling in JS

5. TASKS

I like the general categories suggested by @davidmanzanares . I'm gonna keep its principles, but starting with a shorter list (just the parent type) to keep it simple... and I'll ask for your feedback later on code, fine?.

I'll work on:
[ ] CartoMapsAPIError

Expected from the user:

check the credentials
check the name of the dataset or SQL syntaxis
change the SQL as 'X' is not supported
read about general CARTO services (about oauth, maps API...)?

Comments:
We can create 'SourceError' or more concrete errors later, if other subcategories are worthy

[ ] CartoParsingError (more concrete than generic JS SyntaxError)

Expected from the user:

check the code, correct wrong syntaxis and try again
read about the syntax on carto-vl guides / reference

[ ] CartoValidationError (our current type slightly adapted, which is pretty equivalent to ParameterError)

Expected from the user:

check the code and quickly fix it
check the reference for the object / expression

Comments:
We will take advantage of current common checks (eg. checkMaxArguments), used in multiple expression constructors.

[ ] CartoRuntimeError

Expected from the user:

read the error and investigate the cause.
create an issue / contact support?

Comments:
Instead of using detailed types, such as WebGLError, I'd go for a generic non-recoverable error, with a detailed message.

I'll derive all these errors from the current CartoError and I'll keep Carto-preffix, to avoid confusions, cause there are some similar error names on mapbox.gl

I haved reset previous changes, cause revert presented some non trivial errors, and I have kept the original changes in another branch [743-error-list-original]

Summary:

Now there 4 error types, inheriting from a simpler CartoError:

CartoValidationError
CartoParsingError
CartoMapsAPIError
CartoRuntimeError

We have removed error-list and used inline messages instead (during the process, we saw several messages not being used: nonValidServerURL, nonValidTemplateURL, metadataRequired...).

We also have created some enums for error categories to help when building common messages (eg. CartoValidationTypes.MISSING_REQUIRED or CartoRuntimeError.WEB_GL). That avoids too nested error hierarchies and it works like a kind of 'pseudo-types'. It's easy to trace every use of each error type or category, and it also help us with the tests.

Now we have more options for the tests:

  const f = () => { whatEver(); };
  expect(f).toThrow();
  expect(f).toThrowError(CartoError); // parent type
  expect(f).toThrowError(CartoValidationError); // subtype
  expect(f).toThrowError('Exact error message'); // with exact message
  expect(f).toThrowError(CartoValidationError, 'Exact error message'); // type + exact message

  // looking for specific message patterns using enums...
  const regex = thatContains(cvt.MISSING_REQUIRED); // pattern using 'enum' (thatContais is an external function in utils to avoid dealing with complex regex at tests)
  expect(f).toThrowError(regex);

  const regex2 = thatContains(cvt.INCORRECT_VALUE + ' \'apiKey\'')
  expect(f).toThrowError(regex2); // more specific message pattern

And finally, all our errors are now under one of our CartoError subtypes... (and probably we shouldn't use generic Error in the future, but let's see).

It all depends on how badly we want to enforce ourselves to define a "subtype"... do we?
Maybe it would be interesting to add an overloaded constructor, where you can include the 'type' + message, keeping the one with just "message"

After our meeting, I'm going to merge this in. We can add more details in future (new error types & categories) if we need them, and also create an error-list

VAMOS! 💪


Update dependencies

Update all dependencies to their latest versions. Everything still builds, tests pass and benches run. This is quite useful for the ethereum-types dependency which is exposed in the public API.

Looks like the Rust version in CircleCI needs to be bumped as well

Handled in theo-zil's PR and #29


TRUS-2835 Agent and individual declaration

Implements:

Agency address uk yes/no
Uk address
Non-uk address
Agent declaration
Individual declaration
Improvements for input_text to implement the recommended aria-describedby="" in gov.uk design system. Can be ported to other frontends, includes an improved unit test for the component

Cleanup logic for AgencyRegisteredAddressUkYesNoPage


Fix sending money (added an explit param for account to send from)

Tested on local shell. I want to add a test for this, but there are higher priority things on my plate right now.


people/affiliations.json

Add IgorEulalio and proper affiliation to the list of maintainers.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: IgorEulalio
Once this PR has been reviewed and has the lgtm label, please assign maxgio92 for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

There is not a label identifying the kind of this PR.
Please specify it either using /kind <group> or manually from the side menu.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: IgorEulalio, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 75d9f456f1d96f7ee1171dfc01a584df3332987e


Update Spring Dependencies to align with Spring Boot 2.7.0

Update Spring Dependencies to align with Spring Boot 2.7.0. This PR is created by GitHub Actions: https://github.com/Netyyyy/spring-cloud-azure-tools/actions/runs/2492829173

API change check
API changes are not detected in this pull request.


Fall Ball - [BEST] Filter not working

Showed 2 but was much higher

The tracker will only have access to the info since you started using it. It can't determine High Score from anytime before you started using it.
If you mean you have a score higher than 2 when opening the Level Details by clicking on the blue ( i ) icon next to "Fall Ball" then ill need your data.db to see why it's not calculating it correctly. The overlay also will only look at the games specified in the Settings page for the Fastest / Longest setting. So if that is set to 'Day' it will only pull the High Score for that Day, and nothing before.
If you are encountering something else, please expand.

Just looked into it; I thought I had more games logged than I did. Sorry to bother!


Fix ghost links in nested tabs

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Closes #497

While viewing the media of a course, links were randomly placed and invisible (e.g. on the route: http://localhost:3000/courses/2/edit). This was (mainly) due to a wrongly placed bootstrap class tab-content inside a column layout (wrapping only one column instead of the whole row).

no overlap anymore ;)


Language selection overlaps with "Connecting..." banner on Welcome onboarding screen

Frequency: 100%
Repro App version: Android Celo internal build 1.9.1, IOS Test flight Celo integration build v1.9.1 (41)
Repro on device: Samsung Galaxy A5 (7.0, iPhone 6 (12.4.7),iPhone 11(14.0)
Precondition: Make sure connecting banner should shown on walk-through screen
Repro Steps:

Launch the fresh installed Application
Select English language from Select Language screen
Tap on English text top right corner and change language to Espanol
Make sure user will be redirected back to “Send and receive money instantly” walk-through screen
Observe

Current Behavior: “Espanol..” text overlapped with the “Connecting…” banner
Expected Behavior: Text should be displayed without overlapping
Attachment: SelectlanguageTextOverlappingIssue.png

Verified with Android Celo internal build 1.9.4 and found that issue is still reproduced.

“Espanol..” text overlapped with the “Connecting…” banner on the “ Walk through” screen when the user selected a Espanol (America latina) language while connecting… banner is shown

@annakaz  Verified with latest IOS test flight valora app build v1.0.0 (15) and Valora Mainnet build v1.0.0 (14) and found that issue is still reproduced.

“Espanol..” text overlapped with the “Connecting…” banner on the “ Walk through” screen when the user selected a Espanol (America latina) language while connecting… banner is shown.

Verified on Devices: iPhone 7+ (13.3.1) | Google Pixel Xl (8.1)

Hi @tarikbellamine I have verified this issue using latest Android internal build v1.3.0(1004294316) & Test Flight build v1.3.0(27) and observed that issue is still reproduced.
"Language selection overlaps with "Connecting..." banner on Welcome onboarding screen"
Repro on devices: iPhone 6+(12.4.5), Vivo V11 pro (10)

Hi @tarikbellamine I have verified this issue using latest  Android Internal Build V1.11.0(1004294337)  & observed that issue is still reproduced.
Repro on devices: Samsung Galaxy A5 (7.0)

Solution: remove the connection status message from the language selection screen during onboarding.


Support auto-loading packages on application start

List and load packages the application needs. Will need special UI dialog since it doesn't map well to VS Add Reference.


Add Support for Sorting Lightcurves by Time

[ ] My PR includes a link to the issue that I am addressing

Introduces Ensemble.sort_lightcurves which sorts lightcurves by their timestamp in ascending order.
This PR closes https://github.com/lincc-frameworks/tape/issues/316 though we opt to provide a separate function for sorting lightcurves by their timestamp rather than adding additional functionality to the batch function. This also makes it easier for the user to only sort when needed rather than worrying about the arguments specified over repeated batch calls.
Solution Description
Ideally we would use a multi-index of Object ID and timestamp for the Source table, but Dask lacks support for this. Instead, we use the Object ID as the sorted index for both Source and Object tables, and a call to Ensemble.sort_lightcurves perform a per-partition Pandas sort_values for sorting the underlying Pandas dataframe by {Object ID, timestamp}  (Note that Dask [sort_values](https://docs.dask.org/en/latest/generated/dask.dataframe.DataFrame.sort_values.html) supports only sorting a single column).
Because we aim for lightcurve cohesion, where the rows for each lightcurve are only on a single partition in the Source table, this per-partition sorting is all we need allowing us to escape some of the constraints of sorting entire Dask dataframes, especially allowing us to sort lightcurves on a lazy basis for only the partitions that we need.
Code Quality

[x] My code builds (or compiles) cleanly without any errors or warnings
[x] My code contains relevant comments and necessary documentation

Project-Specific Pull Request Checklists

[x] I have added a function that requires a sync_tables command, and have added the necessary sync_tables call

New Feature Checklist

[x] I have added or updated the docstrings associated with my feature using the NumPy docstring format
[ ] I have updated the tutorial to highlight my new feature (if appropriate)
[x] I have added unit/End-to-End (E2E) test cases to cover my new feature
[x] My change includes a breaking change

[x] My change includes backwards compatibility and deprecation warnings (if possible)

Looks great!
What would actually happen if the condition of lightcurve cohesion is not met? Do we need a docstring telling something about that?

Added a note that this would fail to globally sort the table in the docstring.


Quick license question

I saw that the license was BSD 3-clause here: https://github.com/Flagsmith/flagsmith/issues/1044
But it has this text confuses me:

Neither the name of the Sentry nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

https://github.com/Flagsmith/flagsmith/blob/49c7890c39a4580fa7136075ba90b3765733bedf/LICENSE.md?plain=1#L13
Who's "the Sentry"? I can only find that clause with "the Sentry" in products made by Sentry by googling it. Was this a copy/paste error?

Thanks for flagging this - it looks like an error. Will check up on this now.

Thanks - fixed in #1315


fix(runtime-dom): avoid unset option's value

close #10412

/ecosystem-ci run

The quasar one seems to be a glitch, could you help to rerun it? @edison1105


l10k couch2

PRing this into @javierwilson branch #754
This is what I deployed to l10k today. There's a lot of commits here, but it's really just master + #751 + https://github.com/dimagi/commcarehq-ansible/commit/cb1593d64efa52b5d9060aef731bcd383e32bbcf.
Currently l10k is using couch2 with nginx working as a proxy/load balancer (but only one node). I made this change manually to the localsettings.py (just changed the couch url's port to 25984).
I also set up replication between both couch1 and couch2, so any change to couch1 should be reflected in couch2 and vice versa.
I think this should be ready for any load testing that needs to be done (assuming the rest of this deploy is finished)
@dimagi/scale-team fyi

Looking good. Didn't review closely though. What's the need for the bi-directional replication (or even couch1 at all)? Is it just to test it out for the ICDS migration?
Also what changed in the vault files?

@snopoke no need to review closely. This is going to javier's branch. I think most of those changes are just from commits from master that are not in his branch + my couch2 changes from my other PR.
I set up bidirectional replication to test out icds. I also thought since we are load testing we may want a comparison between couch1 and 2 and that would be the easiest way. I can take down couch1 if we don't think that's necessary

That all sounds fine. Good to get couch1 vs couch2 test for comparison.


feat: various token note improvements

Fixes #7772
+ removes incorrect slot checks
The non-zero slot check in TokenNote was incorrect because with partial notes it's totally legitimate to compute the note hiding point without the slot and then adding it later.

#8062  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @benesjan and the rest of your teammates on  Graphite

Benchmark results
Metrics with a significant change:

avm_simulation_time_ms (Token:mint_public): 72.4 (+61%)
avm_simulation_time_ms (Token:assert_minter_and_mint): 40.0 (-42%)
avm_simulation_time_ms (Token:_increase_public_balance): 74.4 (+88%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Proof generation
Each column represents the number of threads used in proof generation.

Metric
1 threads
4 threads
16 threads
32 threads
64 threads

proof_construction_time_sha256_ms
5,785
1,562
712 (-1%)
741 (-4%)
785 (-1%)

proof_construction_time_sha256_30_ms
11,920
3,189 (-1%)
1,427 (-1%)
1,450 (-2%)
1,471 (-1%)

proof_construction_time_sha256_100_ms
45,856
12,092 (-1%)
5,502
5,466 (-1%)
5,439

proof_construction_time_poseidon_hash_ms
78.0 (-1%)
34.0 (-3%)
35.0 (+3%)
58.0
88.0 (-1%)

proof_construction_time_poseidon_hash_30_ms
1,541
425
205
224 (-5%)
266 (-1%)

proof_construction_time_poseidon_hash_100_ms
5,668 (-1%)
1,522
680
736 (+1%)
758

L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
4 txs
8 txs
16 txs

l1_rollup_calldata_size_in_bytes
4,324
7,844
14,852

l1_rollup_calldata_gas
49,672
92,474
177,308

l1_rollup_execution_gas
1,383,166
2,130,936
3,957,809

l2_block_processing_time_in_ms
258 (-2%)
451
809

l2_block_building_time_in_ms
9,240
18,160
36,036

l2_block_rollup_simulation_time_in_ms
9,240
18,160
36,036

l2_block_public_tx_process_time_in_ms
7,807
16,613
34,457

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 8 txs.

Metric
3 blocks
5 blocks

node_history_sync_time_in_ms
2,922 (-2%)
3,823 (-1%)

node_database_size_in_bytes
12,640,336
16,748,624

pxe_database_size_in_bytes
16,254
26,813

Circuits stats
Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Function
time_ms
bytecode_size_in_bytes

FeeJuice:_increase_public_balance
54.3 (-6%)
8,139

FeeJuice:set_portal
10.8
2,362

Token:constructor
89.7 (+11%)
31,107

FPC:constructor
54.6 (+3%)
22,380

FeeJuice:mint_public
38.6 (+1%)
6,150

Token:mint_public
:warning: 72.4 (+61%)
11,720

Token:assert_minter_and_mint
:warning: 40.0 (-42%)
8,028

AuthRegistry:set_authorized
36.0 (-13%)
4,537

FPC:prepare_fee
241 (-3%)
8,812

Token:transfer_public
22.2 (-22%)
47,358

FPC:pay_refund
56.0 (-5%)
12,082

Benchmarking:increment_balance
967 (-1%)
7,450

Token:_increase_public_balance
:warning: 74.4 (+88%)
8,960

FPC:pay_refund_with_shielded_rebate
68.8 (+4%)
12,631

Public DB Access
Time to access various public DBs.

Function
time_ms

get-nullifier-index
0.157 (-2%)

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
256 leaves
512 leaves
1024 leaves

batch_insert_into_append_only_tree_16_depth_ms
2.25 (+2%)
3.95
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.7
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.118 (+3%)
0.112
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
11.6
18.0 (-2%)
31.1 (-2%)
60.2 (-2%)
115 (+2%)

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
287
543
1,055

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.112
0.105 (-2%)
0.101 (-2%)
0.104 (-1%)
0.102 (+1%)

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
14.3 (-2%)
25.8 (-1%)
43.8 (-1%)
83.7 (-1%)
162 (+1%)

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
109
207
355
691
1,363

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.109 (-2%)
0.104 (-1%)
0.103 (-4%)
0.103 (-1%)
0.102

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
16.5 (-2%)
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
132
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
0.106 (-2%)
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
64,779
668,997

Transaction size based on fee payment method
| Metric |  |
| - |  |


[Feature][数据开发] 新增cdh6.3.2版本hive连接器：dlink-connector-hive-2.1.1-cdh6.3.2-1.13

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
使用官网提供的hive连接器 连接cdh6.3.2版本的hive，启动依赖冲突
Use case
新增cdh6.3.2版本的hive连接器
Related issues
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

新增这个连接器的目的是什么


Add parametrized type construction syntax

Resolves #12
Stuck with problem of disambiguation between code_block and type_construction (in case of anonymous type construction) rules.

Partially addressed in 193371a but I am going to do a bit more work to iterate faster and better on this.

Should we close this one?

Closed since we decide to not add anonymous struct for now.


Add option for outputting Quadratic or images in a grid format -g

Awesome work! It would be nice to have a way to output 4 images as a grid.

Ive tried -tile and its not tiling the output even when generating -r4 or any amount. Im not sure if this is a bug or by design.

I don't plan on adding the grid output feature -  sorry! 😄
--tile makes the generated images such that if you repeat them they seamlessly blend together.  easiest way to understand is to set one of them as your desktop background in "tile" mode.

I worked around this by adding an attachment bit of code to my bot so it outputs just like a grid. It also names the files properly so the user can do stuff to them. SEEEE

nice - well done


Assert fix

Adjusted asserting leader in HA setups that is compatible with new broker versions

New version is v2.1.1

Check fail can be ignored, does not work for Pull Request.


Make README more appealing

Summary of the changes / Why this is an improvement
Related issues: #64 #73
Checklist

[ ] CLA is signed

Would you mind prefixing the commit message with Fix #64:  such that the issue is linked and closed automatically when the PR is merged.

Would you mind prefixing the commit message with Fix #64:  such that the issue is linked and closed automatically when the PR is merged.

Yes, I do mind. The place in the first line of a commit message is super sparse anyway and I think the most prominent real estate should not be used for referencing issues.

Really like it. Since the Readme now contains the installation steps, should we remove the dedicated docs/source/installation.rst installation file?

Docs and README are two separate things. I'd rather extend the installation docs with the information from the README.

Would you mind prefixing the commit message with Fix #64:  such that the issue is linked and closed automatically when the PR is merged.

Yes, I do mind. The place in the first line of a commit message is super sparse anyway and I think the most prominent real estate should not be used for referencing issues.
Again, that's just my point of view ;)

I'm okay with that, if you include it in the body of the commit message instead :slightly_smiling_face: Thanks!

I'm okay with that, if you include it in the body of the commit message instead slightly_smiling_face Thanks!

Yeah, will do that. :)


treewide: "KDE6" prep, part 1

Description of changes
#266868, but only the stable, mergeable bits
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

Applied suggestions, retargeted to staging because rebuilds.

AppStream breaks like all of Pantheon, going to merge without it.

AppStream breaks like all of Pantheon

:ok_hand: :upside_down_face:
I tried building nixosTests.pantheon on https://github.com/K900/nixpkgs/commit/4c0948c0246acae4f7e744c0d69f3ae1575189d9, so far the 2 failures for me are:

pantheon.switchboard-plug-about: fix in https://github.com/NixOS/nixpkgs/pull/272049
pantheon.appcenter: assume we do need to land appstream 1.0 I am fine to point src.rev to https://github.com/elementary/appcenter/commit/d93e135a0b0c9a6e0fbad18fe90d46425823a42c

There's no rush really, Plasma 6 stable is in February, so hopefully things switch over by that time.


Update README.md

Update README.md

Coverage remained the same at 65.975% when pulling 513fceb1f06d725662e3ff77666c1d627d372802 on servanter:master into 2979a8900dc7afc81640bee2311f52e398acb8af on denger:master.

已修改。


[GPII-2802] Add dependency to set TF_VAR_auth_user_email variable

This PR enables the setting of some TF_VAR env variables needed by the grant_owner_roles and revoke_owner_roles tasks

lgtm


feat: add a function to set theme dynamically

Closes #582
Closes #891

I don't quite understand how ThemeChanged works in tao to be honest, when should it be fired? We currently only fires it when the window's theme is set to auto/no preference and the theme is actually changed
And I'm not sure how to send events from set_theme, do we do a RegisterWindowMessage and use PostMessage here?

We probably can just mirror the mac and linux implementations from winit (they should be much more straight forward compared to the Windows one 😂), but I can't test them, so I'll just do the Windows one for now

Linux impl works for me on WSL

Looks good on macOS.
Just a note that the ThemeChagned event does not emit, but I think it has broken for a while.

I don't know if sending WM_SETTINGCHANGE ourselves here is fine or not since the wparam and lparam are actually not 0, and by the way, if you do this, you need to set redraw_title_bar to true

I don't know if sending WM_SETTINGCHANGE ourselves here is fine or not since the wparam and lparam are actually not 0 from the system one

Doesn't matter since we don't read either of them.

and by the way, if you do this, you need to set redraw_title_bar to true

From my testing, this doesn't seem to be needed.

@amrbashir the windows one is not working right now, you need to set redraw_title_bar to true, see my comment above

I guess Windows 10, really needs to redraw, just changed it to always redraw then

BTW, sorry for hijacking the PR, I was just testing a few things out and thought might as well push it instead of requesting another review.

All good, feel free to make changes 😃


Remote codebase

Hello, Is it possible to run cquery on machine B and have vscode on machine A?
The source code is mapped through NFS on machine A, I also installed cquery on machine A and have compile_commands.json in the root of the project.

You can use something like vscode live share, but there is no built-in support (such a feature would be out of scope). You can use SSH or similar to accomplish this as well by tunneling the stdin/stdout of cquery between the machines.


Expand test suite with error cases

Codecov Report

Merging #27 (4fcc56f) into main (5f3b3f6) will increase coverage by 1.79%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #27      +/-   ##
==========================================
+ Coverage   72.80%   74.59%   +1.79%
==========================================
  Files           8        8
  Lines        1059     1059
==========================================
+ Hits          771      790      +19
+ Misses        288      269      -19

Impacted Files
Coverage Δ

src/picologging/streamhandler.cxx
93.10% <100.00%> (+27.58%)
:arrow_up:

src/picologging/handler.cxx
83.90% <0.00%> (+1.14%)
:arrow_up:

src/picologging/formatter.cxx
73.07% <0.00%> (+1.53%)
:arrow_up:

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 5f3b3f6...4fcc56f. Read the comment docs.


"There is no bookmark"

Description of bug / unexpected behavior
I keep getting Exception: There is no <bookmark mark='BookmarkName' /> with no obvious connection between when it happens.
Expected behavior
Bookmarks are properly picked up
How to reproduce the issue

I don't know why it happens sometimes but not other times.
Code for reproducing the problem
self.set_speech_service(GTTSService(lang="en", tld="com", transcription_model='base', global_speed=1.2))
with self.voiceover(text="""With <bookmark mark='A'/>this result,
                                    we can now go <bookmark mark='B'/>back and derive our formula for updating the kernel weights.""") as tracker:
            self.wait_until_bookmark("A")
            self.play(Indicate(s1_text), Unwrite(s2_text), Unwrite(s3_text), Unwrite(s4_text))
            self.wait_until_bookmark("B")
            self.play(Write(new_weights), s1_text.animate.to_edge(UP).to_edge(RIGHT)), s1_text.animate.scale(0.5)
            self.wait_for_voiceover()

doesn't work but
self.set_speech_service(GTTSService(lang="en", tld="com", transcription_model='base', global_speed=1.2))
with self.voiceover(text="""The kernel weights are updated, or trained, using the following formula<bookmark mark='A'/>,
                                    where <bookmark mark='B' />alpha is the learning rate hyperparameter
                                    and <bookmark mark='C'/>W is the kernel weight matrix.""") as tracker:
            self.play(Write(new_weights), run_time=tracker.time_until_bookmark("A"))
            self.wait_until_bookmark("B")
            self.play(Indicate(new_weights[0][7]))
            self.wait_until_bookmark("C")
            self.play(Indicate(new_weights[0][0:3]), Indicate(new_weights[0][4:6]))

Does

Logs
Terminal output

Nothing useful/relevant in the debug log.
Here's the error traceback: https://pastebin.com/pUGT9LF2

System specifications
System Details

OS (with version, e.g., Windows 10 v2004 or macOS 10.15 (Catalina)): Windows 10
RAM: 16GB
Python version (python/py/python3 --version): 3.10.12
Installed modules (provide output from pip list): https://pastebin.com/0YZ0fC7m

LaTeX details

LaTeX distribution (e.g. TeX Live 2020): MikTex
Installed LaTeX packages: (A lot, don't wanna take hundreds of screenshots)

FFMPEG
Output of ffmpeg -version:
ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9.3.1 (GCC) 20200523
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil      56. 31.100 / 56. 31.100
libavcodec     58. 54.100 / 58. 54.100
libavformat    58. 29.100 / 58. 29.100
libavdevice    58.  8.100 / 58.  8.100
libavfilter     7. 57.100 /  7. 57.100
libswscale      5.  5.100 /  5.  5.100
libswresample   3.  5.100 /  3.  5.100
libpostproc    55.  5.100 / 55.  5.100

Additional comments

Deleting the media folder fixed it this time, but I shouldn't really have to do that, no?

I think the issue boils down to it not updating if you add a bookmark, only if you change the spoken text?

I can confirm this issue and your analysis. If the text to be spoken is modified, the error does not occur. For me, it works, if I remove media/voiceovers/cache.json, no need to remove everything from the media directory.


Wrong folder when extracting backup files

File: storage/volumes.md
As from title.
docker run --rm --volumes-from dbstore2 -v $(pwd):/backup ubuntu bash -c "cd /dbdata && tar xvf /backup/backup.tar --strip 1"

to
docker run --rm --volumes-from dbstore2 -v $(pwd):/backup ubuntu bash -c " tar xvf /backup/backup.tar"

Thank you for your feedback. However, it looks like your issue is not about Docker documentation, but that you may be having trouble with Docker itself. Please file a Docker support ticket or check out https://forums.docker.com/ to see if you can find a solution.
If this really is a documentation issue and I have misunderstood, please reopen it with more information.


Client: Auto-generate C header bindings for language clients.

We're now auto-generating the tb_client.h C header #223 in source, but this can still go out of sync with either the headers or the source code in the language clients (src/clients/*). Write a script (preferably in Zig?) which auto-generates the C bindings for each of the language clients if possible.

[ ] dotnet
[ ] go
[ ] java
[ ] node

It's an excellent idea, you can assign me to that if you wish.

Dotnet client: it will be really handy, we can generate all C# interop code from Zig.
Java client: we already ref the tb_client.zig file in the JNI layer, but we can generate Java code for enums and get/set declarations from Zig.
Node client: similar to the Java client, we can generate JS exports from a zig script.
Go client: CGO already uses the generated tb_client.h file, but still there are a lot of decls in types/main.go that can be generated.

Closed by #600


Unable to build aarch64-apple-ios-macabi and x86_64-apple-ios-macabi targets using clang 13.1 and above

I am trying to compile the ring crate for the targets mentioned in the target:
cargo +nightly build -Z build-std --release --target aarch64-apple-ios-macabi -vv
cargo +nightly build -Z build-std --release --target x86_64-apple-ios-macabi -vv

Both builds fail with the same error:
clang: error: invalid version number in '--target=arm64-apple-ios13.0-macabi'

I am using M1 mac and my clang version is the following:
clang -v
Apple clang version 14.0.0 (clang-14<IP_ADDRESS>)
Target: arm64-apple-darwin21.6.0

I was trying to solve this problem by downgrading the clang. It starts working if I downgrade to 13.0. Version 13.1 and above are failing.
I see the same problem on my x64 mac as well.

I think the support for catalyst upstream in rustc_target is kind of broken here, we should figure out a fix there before doing too much here...
... That said, I've merged #727 in the meantime, since it seems like a reasonable approach that we wouldn't be upset about no matter how we resolve that.

@thomcc @kgrech I created another PR to fix in the rust compiler: https://github.com/rust-lang/rust/pull/106925

All of the mentioned PRs have been merged, so I believe this can be closed.

I tried cargo +nightly build -Z build-std --release --target aarch64-apple-ios-macabi and it still failed:
   Compiling ring v0.17.8 (/private/tmp/ring)
   Compiling addr2line v0.21.0
   Compiling std v0.0.0 (/Users/nobodyxu/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/std)
The following warnings were emitted during compilation:

warning<EMAIL_ADDRESS>clang: error: argument unused during compilation: '-L/usr/lib' [-Werror,-Wunused-command-line-argument]

error: failed to run custom build command for `ring v0.17.8 (/private/tmp/ring)`

Caused by:
  process didn't exit successfully: `/private/tmp/ring/target/release/build/ring-f5376eacf2ad17e2/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=CARGO_MANIFEST_DIR
  cargo:rerun-if-env-changed=CARGO_PKG_NAME
  cargo:rerun-if-env-changed=CARGO_PKG_VERSION_MAJOR
  cargo:rerun-if-env-changed=CARGO_PKG_VERSION_MINOR
  cargo:rerun-if-env-changed=CARGO_PKG_VERSION_PATCH
  cargo:rerun-if-env-changed=CARGO_PKG_VERSION_PRE
  cargo:rerun-if-env-changed=CARGO_MANIFEST_LINKS
  cargo:rerun-if-env-changed=RING_PREGENERATE_ASM
  cargo:rerun-if-env-changed=OUT_DIR
  cargo:rerun-if-env-changed=CARGO_CFG_TARGET_ARCH
  cargo:rerun-if-env-changed=CARGO_CFG_TARGET_OS
  cargo:rerun-if-env-changed=CARGO_CFG_TARGET_ENV
  cargo:rerun-if-env-changed=DEBUG
  cargo:rerun-if-env-changed=PERL_EXECUTABLE
  OPT_LEVEL = Some("3")
  TARGET = Some("aarch64-apple-ios-macabi")
  HOST = Some("aarch64-apple-darwin")
  cargo:rerun-if-env-changed=CC_aarch64-apple-ios-macabi
  CC_aarch64-apple-ios-macabi = None
  cargo:rerun-if-env-changed=CC_aarch64_apple_ios_macabi
  CC_aarch64_apple_ios_macabi = None
  cargo:rerun-if-env-changed=TARGET_CC
  TARGET_CC = None
  cargo:rerun-if-env-changed=CC
  CC = None
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("false")
  Detecting iOS SDK path for macosx
  cargo:rerun-if-env-changed=CFLAGS_aarch64-apple-ios-macabi
  CFLAGS_aarch64-apple-ios-macabi = None
  cargo:rerun-if-env-changed=CFLAGS_aarch64_apple_ios_macabi
  CFLAGS_aarch64_apple_ios_macabi = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  cargo:warning=clang: error: argument unused during compilation: '-L/usr/lib' [-Werror,-Wunused-command-line-argument]

  --- stderr
  running "perl" "//private/tmp/ring/crypto/fipsmodule/aes/asm/aesv8-armx.pl" "ios64" "//private/tmp/ring/target/aarch64-apple-ios-macabi/release/build/ring-62b3b7fcfc0d3429/out/aesv8-armx-ios64.S"
  running "perl" "//private/tmp/ring/crypto/fipsmodule/modes/asm/ghashv8-armx.pl" "ios64" "//private/tmp/ring/target/aarch64-apple-ios-macabi/release/build/ring-62b3b7fcfc0d3429/out/ghashv8-armx-ios64.S"
  running "perl" "//private/tmp/ring/crypto/chacha/asm/chacha-armv8.pl" "ios64" "//private/tmp/ring/target/aarch64-apple-ios-macabi/release/build/ring-62b3b7fcfc0d3429/out/chacha-armv8-ios64.S"
  running "perl" "//private/tmp/ring/crypto/cipher_extra/asm/chacha20_poly1305_armv8.pl" "ios64" "//private/tmp/ring/target/aarch64-apple-ios-macabi/release/build/ring-62b3b7fcfc0d3429/out/chacha20_poly1305_armv8-ios64.S"
  running "perl" "//private/tmp/ring/crypto/fipsmodule/aes/asm/vpaes-armv8.pl" "ios64" "//private/tmp/ring/target/aarch64-apple-ios-macabi/release/build/ring-62b3b7fcfc0d3429/out/vpaes-armv8-ios64.S"
  running "perl" "//private/tmp/ring/crypto/fipsmodule/bn/asm/armv8-mont.pl" "ios64" "//private/tmp/ring/target/aarch64-apple-ios-macabi/release/build/ring-62b3b7fcfc0d3429/out/armv8-mont-ios64.S"
  running "perl" "//private/tmp/ring/crypto/fipsmodule/ec/asm/p256-armv8-asm.pl" "ios64" "//private/tmp/ring/target/aarch64-apple-ios-macabi/release/build/ring-62b3b7fcfc0d3429/out/p256-armv8-asm-ios64.S"
  running "perl" "//private/tmp/ring/crypto/fipsmodule/modes/asm/ghash-neon-armv8.pl" "ios64" "//private/tmp/ring/target/aarch64-apple-ios-macabi/release/build/ring-62b3b7fcfc0d3429/out/ghash-neon-armv8-ios64.S"
  running "perl" "//private/tmp/ring/crypto/fipsmodule/modes/asm/aesv8-gcm-armv8.pl" "ios64" "//private/tmp/ring/target/aarch64-apple-ios-macabi/release/build/ring-62b3b7fcfc0d3429/out/aesv8-gcm-armv8-ios64.S"
  running "perl" "//private/tmp/ring/crypto/fipsmodule/sha/asm/sha512-armv8.pl" "ios64" "//private/tmp/ring/target/aarch64-apple-ios-macabi/release/build/ring-62b3b7fcfc0d3429/out/sha512-armv8-ios64.S"
  running "perl" "//private/tmp/ring/crypto/fipsmodule/sha/asm/sha512-armv8.pl" "ios64" "//private/tmp/ring/target/aarch64-apple-ios-macabi/release/build/ring-62b3b7fcfc0d3429/out/sha256-armv8-ios64.S"

  error occurred: Command "clang" "-O3" "-fPIC" "--target=arm64-apple-ios-macabi" "-isysroot" "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk" "-isystem" "/usr/include" "-iframework" "/System/Library/Frameworks" "-L/usr/lib" "-F/System/Library/Frameworks" "-I" "/private/tmp/ring/include" "-I" "/private/tmp/ring/target/aarch64-apple-ios-macabi/release/build/ring-62b3b7fcfc0d3429/out" "-Wall" "-Wextra" "-fvisibility=hidden" "-std=c1x" "-Wall" "-Wbad-function-cast" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wnested-externs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wstrict-prototypes" "-Wundef" "-Wuninitialized" "-g3" "-DNDEBUG" "-Werror" "-o" "/private/tmp/ring/target/aarch64-apple-ios-macabi/release/build/ring-62b3b7fcfc0d3429/out/7eef37ad3802d723-curve25519.o" "-c" "/private/tmp/ring/crypto/curve25519/curve25519.c" with args clang did not execute successfully (status code exit status: 1).

warning: build failed, waiting for other jobs to finish...

It seems like a different error this time due to -Wall:
  cargo:warning=clang: error: argument unused during compilation: '-L/usr/lib' [-Werror,-Wunused-command-line-argument]

Turns out that ring enables -Werror if .git is present.
After disabling it, I can compile ring on these targets.
Closing this as completed.


TypeError: Caught TypeError in DataLoader worker process 0. in 'for batch in train_loader'  train_lm.py

Here is the complete log:
Ubuntu18.4, only one 2080ti GPU, python packages are the same with requirement.txt.
/home/quanchen/Desktop/6dcode/FFB6D/ffb6d/common.py:139: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
self.lm_r_lst = yaml.load(lm_r_file)
local_rank: 0
cls_id in lm_dataset.py 6
/home/quanchen/Desktop/6dcode/FFB6D/ffb6d/datasets/linemod/linemod_dataset.py:46: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
self.meta_lst = yaml.load(meta_file)
render data length:  0
Warning: Trainnig without rendered data will hurt model performance
Please generate rendered data from https://github.com/ethnhe/raster_triangle.
fused data length:  0
Warning: Trainnig without fused data will hurt model performance
Please generate fused data from https://github.com/ethnhe/raster_triangle.
train_dataset_size:  177
cls_id in lm_dataset.py 6
test_dataset_size:  1002
loading resnet34 pretrained mdl.
local_rank: 0
Selected optimization level O0:  Pure FP32 training.
Defaults for this optimization level are:
enabled                : True
opt_level              : O0
cast_model_type        : torch.float32
patch_torch_functions  : False
keep_batchnorm_fp32    : None
master_weights         : False
loss_scale             : 1.0
Processing user overrides (additional kwargs that are not None)...
After processing overrides, optimization options are:
enabled                : True
opt_level              : O0
cast_model_type        : torch.float32
patch_torch_functions  : False
keep_batchnorm_fp32    : None
master_weights         : False
loss_scale             : 1.0
/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torch/nn/_reduction.py:43: UserWarning: size_average and reduce args will be deprecated, please use reduction='mean' instead.
warnings.warn(warning.format(ret))
Totally train 1475 iters per gpu.
cat_epochs:   0%|                                                                                | 0/25 [00:00<?, ?it/s]
train:   0%|                                                                                | 0/122 [00:00<?, ?it/sTraceback (most recent call last):
File "train_lm.py", line 696, in
train()
File "train_lm.py", line 687, in train
clr_div=clr_div
File "train_lm.py", line 482, in train
for batch in train_loader:
File "/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 345, in next
data = self._next_data()
File "/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 856, in _next_data
return self._process_data(data)
File "/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 881, in _process_data
data.reraise()
File "/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torch/_utils.py", line 394, in reraise
raise self.exc_type(msg)
TypeError: Caught TypeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torch/utils/data/_utils/worker.py", line 178, in _worker_loop
data = fetcher.fetch(index)
File "/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py", line 44, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/quanchen/Desktop/6dcode/FFB6D/ffb6d/datasets/linemod/linemod_dataset.py", line 444, in getitem
data = self.get_item(item_name)
File "/home/quanchen/Desktop/6dcode/FFB6D/ffb6d/datasets/linemod/linemod_dataset.py", line 222, in get_item
ri = self.trancolor(ri)
File "/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torchvision/transforms/transforms.py", line 579, in call
return transform(img)
File "/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torchvision/transforms/transforms.py", line 42, in call
img = t(img)
File "/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torchvision/transforms/transforms.py", line 232, in call
return self.lambd(img)
File "/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torchvision/transforms/transforms.py", line 562, in
transforms.append(Lambda(lambda img: F.adjust_hue(img, hue_factor)))
File "/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torchvision/transforms/functional.py", line 485, in adjust_hue
np_h = np.array(h, dtype=np.uint8)
TypeError: array() takes 1 positional argument but 2 were given
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torch/distributed/launch.py", line 263, in
main()
File "/home/quanchen/pyenv/FFB6D/lib/python3.6/site-packages/torch/distributed/launch.py", line 259, in main
cmd=cmd)
subprocess.CalledProcessError: Command '['/home/quanchen/pyenv/FFB6D/bin/python3', '-u', 'train_lm.py', '--local_rank=0', '--gpus=1', '--cls=cat', '--gpu=0']' returned non-zero exit status 1.

Solved. According to this issue, just
pip install pillow==8.2.0

Hey @Matthew-CQ , I am assuming that you were able to run the model. I have an error while installing NormalSpeed and I can't figure out why. Can you help me out?


Add READMEs/documentation to eth2.0-* packages

We split out the packages but do not have READMEs! or documentation pages!
We should add READMEs at least, and update the root README with links to each package README.

unstale


Error when using node version 10.x - Autoamted DataFactory CICD pipeline

Hi,
We have noticed that node version 10.x does not work anymore? We are getting error on validation task.
Automated publishing for continuous integration and delivery - Azure Data Factory | Microsoft Docs
`

task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'

`
Latest documentation now says to use
`

task: NodeTool@0
inputs:
versionSpec: '14.x'
displayName: 'Install Node.js'
`

Please confirm, node version 10.x is not backwards compatible now?

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

ID: 5b5392af-90b9-8dbb-663d-9ea12defe00e
Version Independent ID: 54296020-8b98-ea17-7915-5b918b173793
Content: Automated publishing for continuous integration and delivery - Azure Data Factory
Content Source: articles/data-factory/continuous-integration-delivery-improvements.md
Service: data-factory
Sub-service: ci-cd
GitHub Login: @nabhishek
Microsoft Alias: abnarain

@fRanK45jPm, Thanks for the question! We are taking a look into this and will get back to you soon.

Thanks for looking, this change certainly had broken all of our data factory export pipelines.

@nabhishek Could you please confirm is node version 10.x does not work anymore? If yes, kindly update document as appropriate. Thank you.

Hello, any updates on this please?

@fRanK45jPm We have fixed the issue. Can you confirm if you still see this not working in 10.x? Also, we recommend moving to 14.x for the latest features.

#PleaseClose

#please-close


Form is not vertically centered.

I captured screenshot, so easily understand is the problem.
https://drive.google.com/file/d/0B2NonO-YN8aybk41M1JOY2JQMkE/view?usp=sharing
Code is quite simple:
    swalForm({         title: 'Update Album',         text: '',         showCancelButton: true,         confirmButtonColor: '#DD6B55',         confirmButtonText: 'Update',         closeOnConfirm: true,         formFields: [             { id: 'name', placeholder: 'Album name', value: albumInfo.name, required: true },             { id: 'description', placeholder: 'Album Description', value: albumInfo.description },             { id: 'private', value: 'Private Album', type: 'checkbox', checked: true },             { id: 'private', value: 'Public Album', type: 'checkbox' }         ]         }, function(isConfirm) {             console.log(isConfirm, this.swalForm);         });
I just little edited on examples(added some new fields), but every time I saw the form, it is not vertically centered. I checked the form with chrome inspector, and it has extra margin-top. If I disabled it, it centered vertically. I'm using SweetAlert and this both, but only this module has this problem.

Solved by #38.


Add option to edit existing release

Problem
Let's consider a GitHub workflow where the GH release is created by another action, but doesn't provide a good release changelog. It would be cool if this changelog action can edit a release changelog of a release that already exists.
The main reason I'm asking this is because some actions do not allow to customize the release changelog. And even if such option is requested as a feature, the maintainers might be inactive or reject such a config option.
Example: https://github.com/helm/chart-releaser-action
Proposal
Add a config flag that replaces the body of an existing GH release if it finds one. I'm open to the name, but could be something like replaceExistingRelease or editExistingReleaseBody
This action would then be placed after another action created the release.

@ccremer thank you for the report. At this time the release-changelog-builder-action itself does not create the release nor does it actually modify the release.
It's sole purpose is generate the changelog, which you can then use in any form needed.

update the release on github
send an e-mail
update a file in the repo with the changelog
take the text for any follow up action in the action

So for projects I use this in, I forward the changelog to the softprops/action-gh-release action, which will handle updates / creation of the GitHub related release.
https://github.com/mikepenz/release-changelog-builder-action/blob/develop/.github/workflows/ci.yml#L105-L119

Yeah, after writing this issue I just realized this too :)
An alternative would be something like https://github.com/tubone24/update_release
Gonna close this as there are already ways to solve the problem.

I chose actually specifically not to include GitHub release modification in this action, as I believe that is partial out of scope. And would rather offer full flexibility to the person/dev-team integrating it.
It also gives the advantage of not needing write permissions within the action, so read is practically enough.


Disk I/O throttling?

Thanks for your great program, I find it a pleasure to use!
I've had a problem with a particular backup though...
Output of restic version
restic 0.7.1
compiled with go1.8.3 on linux/amd64

The OS is : Ubuntu 14.04 LTS
The filesystem is: ext4
How did you start restic exactly? (Include the complete command line)
 envdir ~/.envdir/restic/ restic backup ~/my_dir

Note: envdir provided by daemontools
What backend/server/service did you use?
rest-server over HTTPS
Expected behavior
Initial backup of a big directory (230GB) should not render the system unresponsive.
Actual behavior
Stats of the running output, for reference:
scan [/home/user/my_dir]
scanned 7408 directories, 5106240 files in 5:45
[1:42:37] 52.03%  20.227 MiB/s  121.623 GiB / 233.752 GiB  448727 / 5113648 items  0 errors  ETA 1:34:36

The system became unresponsive because of a very high %CPU "wait average" (=70), available via top.
Also I confirmed that only the restic process was choking the disk via iotop.
Steps to reproduce the behavior
Launch the initial backup subcommand on a folder containing millions of little files (I suppose this is the problem)
Do you have any idea what may have caused this?
The folder contains lots of small text files (eml), segmented into subdirectories based upon year/month/day to facilitate normal disk lookups (via /bin/ls, etc).
I guess this has a negative impact on restic doing lots of disk lookups ?
For the time being, I found a workaround by wrapping the restic command as such:
envdir ~/.envdir/restic/ nice -n19 ionice -c3 restic backup ~/my_dir

For ionice to work however, I also had to switch to a different IO scheduler as such:
root@server:~# cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
root@server:~# echo cfq > /sys/block/sda/queue/scheduler
root@server:~# cat /sys/block/sda/queue/scheduler
noop deadline [cfq]

It'd be nice if there was a way to throttle I/O operations.
Even, from a usability perspective.
Because, even if this workaround works, I still get a huge load average that I have to ignore for the moment.
root@server:~# cat /proc/loadavg
11.38 11.10 10.84 2/355 30862

My server is responsive at the moment, but if I get a CPU or memory spike, I wouldn't be able to see this because of the mudded loadavg.
Any thoughts?

Hey, we're aware of the issue: The archiver code does too many file operations in parallel. Once I get around to reworking the archiver (it's already planned) that'll get better. Stay tuned.

Alright, thanks for the feedback!

Adding more info for reference/documentation purpuses: no need to reply!

In reference to issue #329, I wanted to document my experience as I happened to test this tool by pure coincidence.
In my usage scenario, attic turned out not to hog the system on the whole, but also is much much slower.
With my current setup, I was able to push 300GB in 10 hours with restic on the first run.
With attic, I stopped my test after 24 hours: where I had only 100GB pushed.
So restic was 7 times faster, I thought you'd like to know.
Also, compared to a simple rsync, there was about a 10-20% overhead when using restic on the first run, which is not bad at all.
On second runs, there is a much bigger difference.
restic completes it's incremental backup in about 45 min (the data grows up to 200MB daily for about 10000 files): most of the time is spent on scanning the tree for changes.
With rsync, syncing completes in 5 minutes. 80-90% of the time is spent on building the list of files to transfer.
Also, prior to this problem, I had tested restic via 3 different backends (sftp, rest/https, s3 via minio), and concluded that there was no noticeable difference in speed with either one (in my use case).
Apart for soft links which the sftp backend seemed to handle better (sftp and s3 backends seemed to duplicate the data rendering the backup slower for folders containing lots of symlinks).
Keep up the good work! :)

Interesting observations, thanks!

restic completes it's incremental backup in about 45 min (the data grows up to 200MB daily for about 10000 files): most of the time is spent on scanning the tree for changes.

That'll probably get better once we have a local cache for the metadata. Which backend was that?

Apart for soft links which the sftp backend seemed to handle better (sftp and s3 backends seemed to duplicate the data rendering the backup slower for folders containing lots of symlinks).

That's odd, do you have any data on your observation? The backends are no different on that layer. Symlinks are handled, well, as symlinks, so no data is transferred apart from the metadata (symlink name, target etc.) Also, what are "soft links"? Another word for symlink?

Oops sorry, yeah soft links is the same as symlinks.
But a bit tired though, I actually meant "hard links", not soft links at all.
Before restic, I was using rsnapshot which uses the concept of hard links to save on space.
Basically, you can have multiple file paths pointing to the same inode, thus saving space (as long as you're on the same file system).
It's when I was testing restic to back up my snapshot folder generated by rsnapshot that I noticed this difference between backends.
That "snapshot" folder contains a ton of hard links, due to the design of rsnapshot, but is not related to the backup I've had trouble with.
I didn't do any extensive testing, because I had to quickly change backup strategy due to a mandatory  and planned server migration. I knew my backup strategy was not appropriate anymore though so tested restic which I found fitted my needs much better.
I opted for the REST over HTTPS backend in the end, because I found it to be the most flexible for my use case.

This will be resolved by #1494, which reduces the IO to reading two files in parallel at most.

Awesome, can’t wait! ;)
Le jeu. 19 avr. 2018 à 21:11, Alexander Neumann<EMAIL_ADDRESS>a écrit :

This will be resolved by #1494
https://github.com/restic/restic/pull/1494, which reduces the IO to
reading two files in parallel at most.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/restic/restic/issues/1145#issuecomment-382848947, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABfE6kq9uci_aRxHpd5x7ZcRReToqZCNks5tqOFjgaJpZM4OqvRc
.

This has been resolved in #1494, I forgot to close this issue. Thanks!


Look into parallelizing file selection and planning for compaction services

The changes in #1605 introduced a compaction manager and multiple compaction services.  Currently the compaction manager has a single thread that goes through all tablets and does the following.

Determine which compaction service a tablet should use
Select files to compact
Make compaction plan

Steps 2 and 3 occur in the compaction service.  Step 1 happens in the compaction manager.  If Step 2 is taking a long time in compaction service A, then it could prevent compaction service B from getting work.  Could possibly introduce some concurrency to avoid this problem.

Implemented this in the following branch.
https://github.com/keith-turner/accumulo/tree/accumulo-1629


Add links between lesson and resources

We will now store classroom resources and CS Unplugged resources as database entries (useful for CS Unplugged resources).


DialogFragment in FullScreenVideo (JCFullScreenActivity)

Hello again! You're a genius, I love your library, I would like to show a DialogFragment when the screen in fullScreen is, I thought to check whether the screen is in FullScreenVideo, remove full screen, display dialog and then return from full screen but does not work because it takes about seconds out and broken.
How can I solve that? Or I can get the context of the activity JCFullScreenActivity, to show DialogFragment without leaving fullScreen? Currently fullScreen (JCFullScreenActivity) activity is private.
Thank you very much!
Currently, I use the next funtions to take a process, but take a error about seconds for change fullScreen to normal and it's ugly process.
jcVideoPlayerStandardShowTitleAfterFullscreen{
   public Boolean isFullScreenOn(){
     return mIfCurrentIsFullscreen;
   }
   public ImageView getViewFullScreen(){
     return fullscreenButton;
   }
}
jcVideoPlayerStandardShowTitleAfterFullscreen.backFullscreen();
jcVideoPlayerStandardShowTitleAfterFullscreen.getViewFullScreen().performClick();

if mIfCurrentIsFullscreen = true, getContext() will get JCFullScreenActivity's context.
Code about show a DialogFragment should in JCVideoPlayerStandardShowTitleAfterFullscreen which extends JCVideoPlayerStandard.
You need logic is very complex, very likely is a trap, if I were you I would refuse to complete this requirement

Hello !, it felt so bad you think it's a trap, I wish you do not stay with that idea, I explain my situation,
I am a student of industrial electronics and automation engineering, and 6 months ago started working at a startup, this startup, is a driving school ONLINE (online videos that show how to study the theory test car) in this company, I learned a lot of programming and many other subjects. This year ended the career of industrial electronics engineering and offered to make their (online driving school) Android application as final thesis.
As an engineering student my computer skills are many and we do not know if the questions may seem rare.
The online driving school (https://superexpress.es/), has dynamic videos, the content explained car and stop to ask a question of what just appeared in the video, and when the student answers the new test question what you just learned in the video, the video continues.
I do not want you to think that is somewhat misleading or a trap, then you make a video of the App (not finished, ugly design) and also a video of the web (https://superexpress.es/prueba-gratis) where I teach what dynamic videos , and if necessary, we talk on skype or add me on facebook.
These are the two video capture to show my work:
https://youtu.be/hkSMuNW_0as
https://youtu.be/B0FFMYE4WyA
Thanks for your time.

All right , I should not say that.
The library born for who want to roughly play a video, they don't need cool effect , do not care any detail .
So your need will not add the library as a standard function , but I will help you on your need.

Sorry for the misunderstanding, do not worry, it seems very strange the first time, your first thought was correct.
I understand that you can not add to the library this particular case, but to display a DialogFragment, needed function getFragmentManager(), and from the class JCVideoPlayerStandardShowTitleAfterFullscreen I can not get getFragmentManager(). You have any solution?
public class JCVideoPlayerStandardShowTitleAfterFullscreen extends JCVideoPlayerStandard {

  public void startDialog(){
    FragmentManager fragmentManager = getFragmentManager(); // Error not find function
    fragmentDialog = TestFragmentoDialog.newInstance(second_stop_video);
    fragmentDialog .setTargetFragment(this, 0);
    fragmentDialog .show(fragmentManager, "dialog_videos");
  }
}

Thanks and sorry for the misunderstanding,
Víctor.

((FragmentActivity) getContext()).getSupportFragmentManager();
Your base activity should be FragmentActivity.

Indeed, so I tried as well, but it happens, a mistake, remember that want to show the DialogFragment during full screen (your JCFullScreenActivity) because exit the full screen can be annoying for the user.

I think it's not a problem that extends from FullscreenActivity extends Activity since I'm using app.Fragment and not support.v4.app.Fragment, so I can use getFragmentManager and not getSupportFragmentManager. And my DialogFragment is necessary to display the questions of what the video ends of teaching. But despite that, I think being in another activity does not like and displays error.

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.superexpress.autoescuela, PID: 14664
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1411)
at android.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1429)
at android.app.BackStackRecord.commitInternal(BackStackRecord.java:687)
at android.app.BackStackRecord.commit(BackStackRecord.java:663)
at android.app.DialogFragment.show(DialogFragment.java:230)

I'm testing the ugly option fullScreen leaving, but mIfCurrentIsFullscreen returns false, even if it is in fullScreen. But this can control it with JCBuriedPointStandard, but rarely mIfCurrentIsFullscreen always = false

Sry for asking this question. I am not able to conclude after reading all your comments so I am asking the question.  I want like, thumbnail view in activity and when user clicks full screen button I want to show full screen in dialog because if I open new activity I will loose lot of data(timers,handlers) which is in previous activity. is it possible?

Of course it is possible, but you will do more work , and more complex.
If your app is not professional play video, like youtube, I suggest you do not make thing complex
As I think， you should not save these data, in china many populor app if activity onpause when playing video, the video will release and will lose every data.

@lipangit  thanx for your reply. I not bothering about video data. My app is related to asking questions of video, some thing like quiz.  I need to pull each question from server after specified time so there will be timers and handlers. There is no problem if video release data in pause. Can you please give me sample code for showing video full screen in a dialog?

Use DialogFragment life cycle similar with fullscreenActivity，I believe you can .

I know DialogFragment but there are no callbacks for user click events. How to when user clicked on full screen button? can you please give me some basic idea?

@lipangit  can you plz guide me. I am not able to proceed. Thanks in advance.

fullscreenButton is public
jcVideoPlayer.fullscreenButton.setOnclickListener(...);


Add Autoscaler e2e tests

End2end test for autoscaler tab:

deploy a new application from github url
go to autoscaler tab, the status should be disabled since no policy is attached
go to enable it by creating a policy and save
go to edit policy from instance number setting, trigger table, schedule table of the autoscaler tab
go to metrics page from autoscaler tab
go to scaling event page from autoscaler tab
delete the application

Test log:
  Autoscaler -

    Deploy process -

      Should deploy app from Git URL
        ✓ Check deploy steps
        ✓ Should pass CF/Org/Space Step
        ✓ Should pass Source step
        ✓ Should pass Overrides step
        ✓ Should Deploy Application
        ✓ Should go to App Summary Page

    Tab Tests -
      ✓ Autoscale Tab -- Disabled

    Autoscaler Attach Policy -
      ✓ Check edit steps
      ✓ Should pass DefaultInstanceLimits Step
      ✓ Should pass ScalingRules Step
      ✓ Should pass RecurringSchedules Step
      ✓ Should pass SpecificDates Step
      ✓ Should go to App Autoscaler Tab

    Autoscaler Edit Policy -

      From autoscaler default card
        ✓ Check edit steps
        ✓ Should pass DefaultInstanceLimits Step
        ✓ Should pass ScalingRules Step
        ✓ Should pass RecurringSchedules Step
        ✓ Should pass SpecificDates Step
        ✓ Should go to App Autoscaler Tab

      From autoscaler trigger table
        ✓ Check edit steps
        ✓ Should pass DefaultInstanceLimits Step
        ✓ Should pass ScalingRules Step
        ✓ Should pass RecurringSchedules Step
        ✓ Should pass SpecificDates Step
        ✓ Should go to App Autoscaler Tab

      From autoscaler schedule table
        ✓ Check edit steps
        ✓ Should pass DefaultInstanceLimits Step
        ✓ Should pass ScalingRules Step
        ✓ Should pass RecurringSchedules Step
        ✓ Should pass SpecificDates Step
        ✓ Should go to App Autoscaler Tab

    Autoscaler Metric Page -

      From autoscaler metric card
        ✓ Go to metric page
        ✓ Should go to App Autoscaler Tab

    Autoscaler Event Page -

      From autoscaler event card
        ✓ Go to events page
        ✓ Should go to App Autoscaler Tab

@zyjiaobj I've resolved merge conflicts and updated the PR with a few tweaks.

Timezone/Format issues

This was why the tests failed for me, there's a different format shown in my browser, along with a 24h time shown in date/time controls. I've updated the code to be more agnostic but it still depends on format strings. Is there any way these can be determined at test run time?
The form fill  of date/time strings used a regex that would also need updating

The test for scaling events waits for 30 seconds, however in SCF there doesn't seem to be any events after this pause. I need to investigate if these do eventually come up

Updated with some improvements from another PR, now blocked on #4035


Proper way to build octave modular interface

Hi,
I  am able to build the octave modular interface for octave 4.0 successfully but only after rebuilding octave with this patch (comment 12 in http://savannah.gnu.org/bugs/?41027)  Same issue since octave 3.8 , see https://github.com/shogun-toolbox/shogun/issues/1995
If just build octave normally or install from distro's repo (Ubuntu 15.10) then shogun doesn't build. What should be the proper way, or is there any fix besides using the patch?  I assume most users would not know about the patch (Fedora 23 packages octave-shogun, I am not sure how they build it if not patching octave)
Thanks.

Hello @beew!
We have a patched octave in the Fedora repos…  The bugreport is from the maintainer of Fedora's ocatave-package…

Hi,
Thanks for the reply. Maybe someone should update the Wiki with a link to the patch so that users will not waste their time unnecessarily?


python38Packages.flask-jwt-extended: 4.2.1 -> 4.2.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.flask-jwt-extended is: "JWT extension for Flask"
meta.homepage for python38Packages.flask-jwt-extended is: "https://flask-jwt-extended.readthedocs.io/"
meta.changelog for python38Packages.flask-jwt-extended is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 4.2.3 with grep in /nix/store/5sva7z9vv89m3yfn0prd8fn3vf7sfcal-python3.8-Flask-JWT-Extended-4.2.3

found 4.2.3 in filename of file in /nix/store/5sva7z9vv89m3yfn0prd8fn3vf7sfcal-python3.8-Flask-JWT-Extended-4.2.3

directory tree listing: https://gist.github.com/b6e2b548bbfc205581cf3fe7c05e7b42

du listing: https://gist.github.com/8acb551ad301486fc44199008dbd2c88

Rebuild report (if merged into master) (click to expand)

28 total rebuild path(s)

7 package rebuild(s)

7 x86_64-linux rebuild(s)
7 i686-linux rebuild(s)
7 x86_64-darwin rebuild(s)
7 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
apache-airflow
python38Packages.apache-airflow
python38Packages.flask-appbuilder
python38Packages.flask-jwt-extended
python39Packages.apache-airflow
python39Packages.flask-appbuilder
python39Packages.flask-jwt-extended

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5sva7z9vv89m3yfn0prd8fn3vf7sfcal-python3.8-Flask-JWT-Extended-4.2.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python38Packages.flask-jwt-extended https://github.com/r-ryantm/nixpkgs/archive/d47ec177e42d894d9973c42cbcc23bf71cda0cbf.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5sva7z9vv89m3yfn0prd8fn3vf7sfcal-python3.8-Flask-JWT-Extended-4.2.3
ls -la /nix/store/5sva7z9vv89m3yfn0prd8fn3vf7sfcal-python3.8-Flask-JWT-Extended-4.2.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review took longer than 45m and timed out

Maintainer pings
cc @Gerschtli for testing.

Result of nixpkgs-review pr 134634 at d47ec177 run on aarch64-linux 1

2 packages failed to build:

python38Packages.apache-airflow
python39Packages.apache-airflow

1 package skipped due to time constraints:

apache-airflow

4 packages built successfully:

python38Packages.flask-appbuilder
python38Packages.flask-jwt-extended
python39Packages.flask-appbuilder
python39Packages.flask-jwt-extended

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement. Does something look off? Please file an issue or reach out on IRC.


URL Auto Redirector 1.2.1

[x] New rule in #17
[ ] Name of the preset rules

We need more common names for preset rules, as the current name is in Chinese (e.g. 京东中间页).
I think we'd better use a common one such as Preset Rule #1 预设规则 #1. @lzb

or just abandon the name!


Consolidate the Nav Bar to use the same styles across all dApps

The Chore
Currently any styles (fonts, colours, padding etc.) need to be updated on a per dApp basis rather than them sharing styles. With our new Nav Bar designs we can utilise the same styles for Mainnet Dark & Light Modes and Fairground.
The task is to consolidate the existing styles into one place so that any changes or updates can be done once rather than multiple times.
The new dApp logos can be added to Console and Explorer as part of this. The current Governance & Token Nav is now correct and the others should use these same styles.
Figma link showing all dApp navs in their various states for reference.

Adding an image of all the dApp navs for easy reference also.


Hash bcrypt

Laravel as default uses bcrypt. it seems it is missing from modifiers hash_algos() is not present

bcrypt and other 'slow' hashing algorithms (e.g. argon2) aren't part of the hash_algos() function output because they're part of the distinct Password Hashing extension
See instead password_algos()
bcrypt is represented in the array from this function as 2y: