Support authentication reverse proxy

When Vikunja's backend is protected by an authentication reverse proxy such as oauth2-proxy, the app can't log-in.
For this to work, the app should open a browser, take the cookies after the session is authenticated and re-use them until the session expires.
This would allow to use Vikunja behind an Identity-Aware Proxy for increased security of private instances.

Instead of implementing the support for in-browser authentication (which then requires to handle redirects & so on) I decided to add a special header (X-Client-Token) to only allow specific clients to access my server.
This of course requires the token to be set in the app as well, which is why I've created feature/add-auth-token

Honest question (without having much knowledge about how this kind of proxy-auth works), why don't you just disable manual registration and use Vikunja with the users you already created? If privacy is your main concern?

In my case, this is a shared secret that never expires

If the token never expires, why not leave it out?

It's just a safeguard against possible exploits / vulnerabilities on the Vikunja backend. Of course registration is already disabled - but if the instance isn't reachable from anyone to begin with, it's even better.

If you don't want to expose your programs to the public internet (which is understandable), the recommended approach would be a VPN server. Every operating system supports setting those up transparently, without the apps noticing. That's inherently better since not every app has to support every authentification protocol. You might want to look into setting up Wireguard (full and independent vpn server, harder to install), or at least Tailscale (super easy to install, but your traffic is routed through their servers afaik)


parsec - & operator should call .And()

Hi! Accidentally stumbled upon this. I can't run the tests right now, so I can't confirm it's OK...

Thanks @jbakic !


Hosting

@ai do you think it's possible to get up an staging server for tests when we start building the website? How is that part looking? Do you think that's necessary? It would be cool with some kind of a beta launch also

Github pages will be more than enough for Statinamic ;)

Great, I will set it up when there is some content to show as staging.
@ai are you considering using GitHub pages when the website goes live too?

@marcustisater yeap, GitHub Pages is fast and free :)

Awesome, I think a cool idea would be to create a subdomain like beta.postcss.com when we have something to show if you would like to have it public otherwise we can add robots and have it only available here to find.

I don't think it's a big deal that a WIP is public (on postcss.com, not under a subdomain). The main thing is just to not share the link until you consider it's "good enough".

Yeap, I think too that we can put content directly to postcss.com, because any content is good for PostCSS

I would caution that the beta subdomain might get indexed unless it's in it's own repo without a master branch. http://stackoverflow.com/questions/15844905/how-to-stop-google-indexing-my-github-repository
Of course indexing a site with the same or similar content could lead to search engines marking your site as duplicate content. Unless you want to canonicalize the beta site.

:+1:

#31


show incorrect current branch resource files

Have Multiple branch switch between them, It stuck into showing the last branch files(new files) is already switched to another. Some common file has changed, It delay in update.
On restart the IDE it switches and starts showing the correct branch.

It doesn't reappear after restarting the IDE.


Problem with search?

A search for
Last Name
BROWN
Exact Match?
Yes
Birth Year
1865 - 1865
Census Year
All
Census County
Yorkshire, East Riding
Census Place
Kingston Upon Hull (including 100 additional places within 22.2 miles )
Returned 60 results.  A search for the same, but with birth year 1860-1864 returned 246 results: but a search 1860-1865 produced "too many results".

@AnneV-Learn to investigate

Actually I got the following results for that search:
Birth Year 1865 - 1865 -> 125 Results
Birth Year 1860 - 1864 -> 487 Results
So the total for 1860 - 1865 by just summing the number of results is >500 (i.e. 612)
However it does have to be born in mind that the Census captures Age and not Year of Birth.
So for example a person aged 10 at the time of  he 1871 census could have been born in 1861 or 1860.
The following example illustrates this and means that a simple summing up of results across years does not work.
SEARCH: Surname = BROWN, Exact Match? = YES, Census County = ERY, Place = Kingston upon Hull, Census Year = 1871
1.Birth Year  - 1860 - 1860 -> 3 Results
Individual			Age		Birth Year in Results Summary
Frances Elizth BROWN 	11 		1860
Mary A BROWN		10		1861
Thomas BROWN		10		1861
2.Birth Year  - 1861 - 1861 -> 3 Results
Individual			Age		Birth Year in Results Summary
Mary A BROWN		10		1861
Thomas BROWN		10		1861
Frederick BROWN		 9		1862
3.Birth Year  - 1862 - 1862 -> 3 Results
Individual			Age		Birth Year in Results Summary
Frederick BROWN		 9		1862
Thomas BROWN		 8		1863
William BROWN		 8		1863
THEN 4.Birth Year  - 1860 - 1862 -> 6 Results
Individual			Age		Birth Year in Results Summary
Frances Elizth BROWN 	11 		1860
Mary A BROWN		10		1861
Thomas BROWN		10		1861
Frederick BROWN		 9		1862
Thomas BROWN		 8		1863
William BROWN		 8		1863
So with out looking at the results in detail one might think it was correct to sum the number of results for 1860, 1861 and 1862 to get to the number of results for 1860 - 1862
but because when using Year of Birth in the search criteria the same individual can appear in the results for 2 consecutive years that will not work.
![Screenshot 2022-12-03 at 17.38.48.png]
(https://images.zenhubusercontent.com/6009aeccd60429cb7008e5d3/61c709c3-e6b9-422f-b608-ebf8ff455244)

Most genealogy websites default to age +-2 years in their search forms. This is because the censuses were (generally) taken in April. That means that a person could have been born in the year before or the year after the calculated year based on the age. Most researchers take that situation for granted.
The same applies to FreeBMD an FreeREG as well as FreeCEN. Always use +-2 unless you happen to know the exact date of birth and can therefore make the calculation accurately.
I do not see this as an issue. It is simply a genealogical paradigm.
Geoff

@PatReynoldsFUG it seems that this isn't a problem, if you check and it is we can re-open


Automatically banned when you join the discord.

I joined about last week, realised I wasn't in the server today, tried to re-join, and I'm banned? What for?

Hi, this was a misclick on Umbra's part, it has been reverted


Bump sql-query version

Brings dresende/node-sql-query#22 and dresende/node-sql-query#27 to ORM.

Merging as Travis seems to have taken the weekend off.


Implement "assert_awaited" to CoroutineMock

import asyncio
import asynctest.mock

async def async_func():
    ...
    some_async_action()
    ...

async def show_awaited():
    print('Did awaited')

some_async_action = asynctest.mock.CoroutineMock(side_effect=show_awaited)

loop = asyncio.get_event_loop()
loop.run_until_complete(async_func())
loop.close()

print(some_async_action.called)
some_async_action.assert_called()

some_async_action shows that is gets the coroutine some_async_action but it did not awaited. So there is an issue that would not be detected until runtime. I have a larger project and detecting that some functions that was properly awaited is going to help to find some issues of forgetting the awaited. Other cases I pass the result from the awaited function to another function and check that the call value was correct but that cannot be done in every case.
assert_awaited should assert that every call to the mock was awaited.

That's a very good idea, I hope I'll find time to implement it.


fatal: early EOF fatal: the remote end hung up unexpectedly fatal: index-pack failed

D:\IdeaGoland\myapi>go get -u github.com/kardianos/govendor
cd .; git clone https://github.com/kardianos/govendor D:\IdeaGoland\src\github.com\kardianos\govendor
Cloning into 'D:\IdeaGoland\src\github.com\kardianos\govendor'...
fatal: early EOF
fatal: the remote end hung up unexpectedly
fatal: index-pack failed
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
package github.com/kardianos/govendor: exit status 128

how  to solve it ?? I need help
thanks everyone

same problem, can't be solved even if I increase the http.postBuffer recommended on this post: git config --global http.postBuffer 524288000


(documentation):fix issues

Motivation
Fix typos
Change Summary
I have been studying this repository for a long time, and whenever I come across a typo, I fix it.
I discovered 15 typos in a total of 11 files. Then I merged them together.
The code quality is exceptionally high, so sincerely hope my PR can help make this repository more standardized.
Merge Checklist
Choose all relevant options below by adding an x now or at any time before submitting for review

[x] PR title adheres to the conventional commits standard
[x] PR has a changeset
[x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore)
[x] PR includes documentation if necessary.
[x] All commits have been signed

Additional Context
sincerely hope my PR can help make this repository more standardized.

PR-Codex overview
The focus of this PR is to correct typos and improve code consistency across various files in the project.
Detailed summary

Fixed typos in method names and comments
Improved consistency in spelling and formatting across files

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Thanks! However, I can't merge this because the commits are not signed. Please look at Contributing.md to see how to sign your commits

thanks sir, I already signed my commits


Type error on master

Describe the bug

There is type error present in code on master.
Expected behavior

No type errors.
Steps to Reproduce

lerna run check-types
Screenshots

@chainsafe/lodestar: test/unit/sync/regular/oneRangeAhead/oneRangeAhead.test.ts:77:7 - error TS2345: Argument of type '(blocks: import("/home/mpetrunic/projects/eth2/lodestar/packages/lodestar-types/lib/types/block").SignedBeaconBlock[], signal: import("/home/mpetrunic/projects/eth2/lodestar/node_modules/abort-controller/dist/abort-controller").AbortSignal) => Promise<...>' is not assignable to parameter of type '(blocks: import("/home/mpetrunic/projects/eth2/lodestar/packages/lodestar-types/src/types/block").SignedBeaconBlock[], signal: AbortSignal) => Promise<void>'.
@chainsafe/lodestar:   Types of parameters 'signal' and 'signal' are incompatible.
@chainsafe/lodestar:     Type 'AbortSignal' is not assignable to type 'import("/home/mpetrunic/projects/eth2/lodestar/node_modules/abort-controller/dist/abort-controller").AbortSignal'.
@chainsafe/lodestar:       Types of property 'dispatchEvent' are incompatible.
@chainsafe/lodestar:         Type '(event: Event) => boolean' is not assignable to type '<TEventType extends string>(event: EventData<Events, TEventType, "loose">) => boolean'.
@chainsafe/lodestar:           Types of parameters 'event' and 'event' are incompatible.
@chainsafe/lodestar:             Type 'EventData<Events, TEventType, "loose">' is not assignable to type 'Event'.
@chainsafe/lodestar:               Type 'Event | NonStandardEvent | (Pick<Events[TEventType], Exclude<keyof Events[TEventType], "target" | "currentTarget" | ... 18 more ... | "timeStamp">> & Partial<...>)' is not assignable to type 'Event'.
@chainsafe/lodestar:                 Type 'NonStandardEvent' is not assignable to type 'Event'.
@chainsafe/lodestar:                   Type 'Event | NonStandardEvent' is not assignable to type 'Event'.
@chainsafe/lodestar:                     Type 'NonStandardEvent' is missing the following properties from type 'Event': bubbles, cancelBubble, cancelable, composed, and 17 more.
@chainsafe/lodestar: 77       async (blocks: SignedBeaconBlock[], signal: AbortSignal): Promise<void> => {
@chainsafe/lodestar:          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@chainsafe/lodestar: Found 1 error.
@chainsafe/lodestar: error Command failed with exit code 1.

Desktop (please complete the following information):

OS:
Version:
Branch:
Commit hash:

cc @tuyennhv  seems like it's related to new regular sync

How can a Typescript compilation error make it to master?

Because yarn run check-type was removed from CI. Not sure why

Why isn't checking the types part of the compilation / build process?

no idea


[SYSTEMML-445] [WIP] Initial version of GPU backend

This version calls to CuDNN and CuBLAS using JCuda wrappers. Please DO NOT merge until we add sparse matrix multiplication (in LibMatrixCUDA) and ensure that our integration test suite runs successfully with TEST_GPU flag turned on. Currently, the tensor/* tests and binary/matrix/MatrixMultiplicationTest runs successfully.
@mboehm7 @bertholdreinwald @shirisht @dusenberrymw @nakul02  Please review the PR and provide suggestions.

@nakul02 As we per our discussion, I included the dependency in POM rather than using mavenized JCuda. My guess is that included the jars might be throwing License errors (please see https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/391/):
17:28:04 [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.11:check (default) on project systemml: Too many files with unapproved license: 1 See RAT report in: /a/workspace/SystemML-PullRequestBuilder/target/rat.txt -> [Help 1]
If you have time, can you look into license related issues and provide suggestions regarding packaging of JCuda into SystemML ?

I had an offline discussion with @lresende and @deroneriksson.
There were some concerns about the way the pom file is being done.
I'll let them carry the discussion forward.

I would strongly recommend to hold off these major features until we actually made the 0.10 release; let's focus on robustness and fixes for now. Thanks.

@mboehm7 I agree. This PR should not be part of 0.10 release.
@nakul02 Sure, the PR is WIP and all suggestions are welcomed :)
As an FYI, if you want to follow the discussion on this topic, here are few links:

Link to mailing thread (May 3rd<EMAIL_ADDRESS>Link to JIRA (Jan 10th): https://issues.apache.org/jira/browse/SYSTEMML-445
Link to design document (Feb 26): https://docs.google.com/document/d/1eSBzP8dazetySZusH5cubqUurRH3KDjXJqdizLzVejA/edit

My primary concern is the addition of actual jars to the project and the use of system scope. The maven 'way' is typically to reference artifacts in a maven repository (not necessarily central). Would it be possible to build these jcuda artifacts and put them in a publicly accessibly maven repo and reference this repo in the pom?

Yes, since jcuda is open source, we can certainly create jcuda artifacts. Also, ideally I would prefer that too. However the problem is maintaining a public maven repo and hence I would defer that to Alan and/or Luciano.

We could add the jars on Maven central, or check if @akchinSTC can be of any help here. While first is preferable, latest might be easiest as we actually don't own jcuda.

Just to clarify, whether we go to mvn central or host repo at STC, there are two options:

Deploy both the jar and libs. See https://github.com/MysterionRise/mavenized-jcuda/
Deploy just the jar (i.e. the ones that are included). In this case, we expect users to install the libs (example: libJCublas-linux-x86_64.so or JCublas-windows-x86_64.dll).

@lresende @mboehm7 @deroneriksson @nakul02 I have removed the jars as well as system scope from our pom.xml. Also, I have updated the documentation to provide installation steps for JCuda. Please see https://github.com/niketanpansare/incubator-systemml/blob/1a52bd8908773593fb8b240b38ed0e81a33ebb3f/docs/devdocs/gpu-backend.md#setup-instructions-for-jcudacontext

Test this Jenkins

The tests passed: https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/410

great job for an initial drop. Minor comments:

the dependency on "mavenized-jcude-mvn-repo" is fragile, and only a snapshot. What is the release strategy for jcuda, and have proper maven coordinates?

update the help in DMLScript.java to output proper flags

for later, it would be good to see one example instruction with a cuda xt call.

The test passed: https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/423/

Closed by the commit https://github.com/apache/incubator-systemml/commit/f306b0b1ecd97fdb5755989f77728d1ca81358c5


TotalIndexingBufferInBytes unmarshal error

Which version of Elastic are you using?
elastic.v6
Please describe the expected behavior
run the following code
_, err = esClient.NodesInfo().Human(true).Do(context.Background())

When the cluster is OK, the err is expected to be nil
Please describe the actual behavior
got the following error
json: cannot unmarshal string into Go struct field NodesInfoNode.total_indexing_buffer_in_bytes of type int64

when .Human(true), total_indexing_buffer_in_bytes is present in the node info api response, e.g.
    "total_indexing_buffer_in_bytes": "197.9mb",
    "total_indexing_buffer": 207591833,

total_indexing_buffer_in_bytes is string
Any steps to reproduce the behavior?
_, err = esClient.NodesInfo().Human(true).Do(context.Background())

run with .Human(true)

Thanks. Will merge the PR in the next release. 👍


Register and login for users

I created the models for my data. How do I register users to the database and log them in? Do you have any suggestions or an example or a resource?

This library is for storing & querying data, how you get that data, what schemas are used are entirely application dependent. For what you're asking likely involves some backend service and depends entirely on your application and what it does.


⚠ ClamAV has degraded performance

In 34b39d2, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 451 ms

Resolved: ClamAV performance has improved in 6823e1f.


The returned 'key' in 'onChange' is not used.

instead 'parsedKey' is used.
it's due to 'onChange' can only return a parsed schema.
if the changed schema does not exist before this change event, then it didn't have this 'parsedKey'.

it now return a normal "key"


Make possible to create a div with a list of children

We're missing a construction variation that allows you to do things like this:
div(List(br) ++ List(br))

My mistake, this is fine.


Codemirror do not show the init value for the first time

I encounter a strange problem. I use Codemirror 2 Controlled component. When the first time to load and show the codemirror 2 in my app, the initialized value was not show. and then if I reenter the page, the value will be show correctly. Even if I hard the value in the render method.
render() {
...
const initContent = '12345';

return (
 ...
<CodeMirror
                value={initContent}
                options={options}
                onBeforeChange={(editor, data, value) => {
                  this.setState({ markdownText: value });
                }}
                onChange={(editor, value) => {
                  // console.log('controlled', { value });
                }}
              />
...
);
}

Hm, I'm not totally sure what's going on here. It appears you are using the controlled variant but your initContent is not on your local state. In the onBeforeChange, I see you are setting markdownText. Why not initialize this with a default value as such...
constructor() {
  this.state = {
    markdownText: '12345'
  }
}

render() {
  <CodeMirror
    value={this.state.markdownText}
    onBeforeChange={(editor, data, value) => {
      this.setState({ markdownText: value });
    }}
  />
}

Wouldn't this essentially achieve the same thing?

I've got the same issue


Which model should I use to test on the waterloo dataset?

hi~thanks very much for your excellent work. I have encountered some confusion and need your help.
You mentioned that in the paper "retrain the S-CNN stream using distorted images generated
from PASCAL VOC 2012 only to ensure the independence of image content between training and testing". Which database do you use when fine-tuning the DB-CNN?
Whether the models under the folder "models" use the waterloo dataset when training S-CNN? I want to test the results on waterloo, which model should I use?
Thanks!

@Xiaocong6 Hi, the folder "models" contains training-testing split files for each database. The scnn.mat under the 'data/models' folder is trained using the combination of Waterloo and PASCAL as we mentioned in the paper. The model used for Waterloo experiments is not released in this repo.

Thanks!
I am not familiar with Matlab. I want to ask, if I want to use the models your provided to test the results on my own dataset, which file should I run?

@Xiaocong6 You can train a model on a dataset by running run_exp.m first, then you can use the trained model to test on your dataset. See the demo.m for a simple demo of predicting the quality score of an input image.

Thanks!
Whick dataset is used to train the model used for Waterloo experiments?

@Xiaocong6 For fair comparison, we train the model on the LIVE dataset for Waterloo experiments.

Thank you very much! I got it.


[Event Request] table 37 - "Sales Line" - OnQuantityOnBeforeValidate

Dear ALAppExtensions team,
with this issue we would like to request a new event publisher OnQuantityOnBeforeValidate in table 37 "Sales Line" with the following signature:
[IntegrationEvent(false, false)]
local procedure OnQuantityOnBeforeValidate(var SalesLine: Record "Sales Line"; var IsHandled: Boolean)
begin
end;

which would be called in the OnValidate trigger of field 15 - Quantity:
trigger OnValidate()
var
    Item: Record Item;
    ItemLedgEntry: Record "Item Ledger Entry";
    IsHandled: Boolean;
    begin
         IsHandled := false;
         OnQuantityOnBeforeValidate(Rec, IsHandled);
         if IsHandled then
              exit;
         Quantity := UOMMgt.RoundAndValidateQty(Quantity, "Qty. Rounding Precision", FieldCaption(Quantity));

        TestJobPlanningLine();
        TestStatusOpen();

        OnValidateQuantityOnBeforeCheckAssocPurchOrder(Rec);
        CheckAssocPurchOrder(FieldCaption(Quantity));
...
end;

Thanks in advance!

Availability update: We will publish a fix for this issue in the next update for release 22.
Build ID to track: 56629.


add readme-sync integration

@fscelliott i significantly improved our original PoC for readme-sync integration, now instead of triggering builds in external repos, i bring the readme-sync2 repo to the go-sdk build and run everything locally. ie. we are no longer dependant on the script/run_readme_sync.sh script (in readme-sync2) anymore, we can just get rid of that.
this change makes it a lot more robust since it has many fewer moving parts and it's actually faster because we end up cloning a lot less stuff.
one important thing to note is that this stage will only work if the docs/ directory (and the markdown files inside) are already existing in the repo so some other PR that adds these will need to be merged ahead of this PR.

we cant merge this because of some new issues we discovered, let's talk more and figure out direction first

this branch now contains a readme-sync stage that can be dropped into any other -sdk repo to enable readme-sync. we should ensure that all the other sdks already have the docs/readme-sync/sdk-reference-guides/-sdk folder before we try to sync because if they are omitted, syncing without it means we are going to delete the existing entry.


Add workflow_dispatch trigger to be able to run workflows manually

Need to enable manual trigger of workflows: https://stackoverflow.com/questions/58933155/manual-workflow-triggers-in-github-actions

Choosing to merge despite E2E tests per offline discussions.


CMSIS support for Nucleo F401RE

The ST Nucleo F401RE board doesn't support the CMSIS framework when using platformio 2.5 or previous versions.
[Sun Dec 13 18:50:06 2015] Processing nucleo_f401re (platform: ststm32, board: nucleo_f401re, framework: cmsis)
Error: This board doesn't support cmsis framework!
================================ [ ERROR ] Took 0.47 seconds ============================================================
Can support please be added? I'd try myself, but I don't know where to start. I'll happily act as a beta tester.

Please upgrade to https://github.com/platformio/platformio/releases/tag/v2.6.0


bounds is not set after initial map load

I know the way bounds and center was reworked recently. One side effect of this improvement is that after the inital load of my map, the bounds are not set. It is not until I pan or zoom the map that the bounds are set.
I did a little initial investigation and it seems that the listener for the "boundsChanged" event in the bounds directive is not set up in time for the initial broadcast of this event when the center is set in the center directive. The listener is inside a Map.whenReady promise and the map is not ready when the initial center is set.

I am actually having this same issue, to fix it inside my Ionic application I check for missing bounds on map moveEnd and re-set it.
            var trueBounds = map.getBounds();
            var trueNE = trueBounds.getNorthEast();
            var trueSW = trueBounds.getSouthWest();

            $scope.map.bounds = {
                northEast: {
                    lat: trueNE.lat,
                    lng: trueNE.lng
                },
                southWest: {
                    lat: trueSW.lat,
                    lng: trueSW.lng
                }
            };

This issue was moved to angular-ui/ui-leaflet#16

I'm going to rework&redesign angular-leaflet-directive to be compatible with Leaflet v1.0. It will mantain almost all its functionality, and will be compatible with the current features of the directive, but I must start from a fresh point, so I'm going to close this issue. If you think it must be worked with the new version, please reopen it.


Update imagerepo for mpl 1.5.1

This PR is associated with https://github.com/SciTools/test-images-scitools/pull/5, which contains the required images to support mpl 1.5.1 for all iris image tests and iris documentation example tests.
In total 139 new images are proposed to be added in https://github.com/SciTools/test-images-scitools/pull/5
This is the result of image changes for 125 iris image tests, and 22 documentation example tests. This is reflected in the 125 + 22 = 147 changes to imgagerepo.json in this PR.
Note that, only 139 new images are required to support this PR, as 8 images are duplicates.

This PR will continue to fail until https://github.com/SciTools/test-images-scitools/pull/5 is merged.

ace works kids
@pp-mo @bjlittle

@marqh and @pp-mo thanks!
So proud to have bagged the noisiest PR in the history of iris ... github even gave me a pink unicorn to boot! :smiley:


[BUG] Out of memory error on windows when running the "next" run of the BiMotion experiment

Is there an existing issue for this?

[X] I have searched the existing issues

Expected Behavior
To run the next run without having to close and reopen matlab
Current Behavior
Matlab complains and I need to close and reopen it
Error message
Matlab throws this error (apologies for the picture but it is cross computers)

Environment
- OS: windows 10 pro
- Matlab: 2015b

Branch
- branch: (HEAD detached at 627ceef)
- version: v2.1.2dev (from txt file)

Anything else?
No response

I think that restarting matlab had worked in the past but I agree this is "suboptimal"

Yes it is that one. Now the problem is systematic so for each run I need to close and open Matlab again.
I will try to query which file is problematic next week.


MatInput autofocus only applies on first view of page?

Bug, feature request, or proposal:
Possible bug? Not sure - I'm a noob to Angular.
What is the expected behavior?
Autofocus should apply to the matInput field every time the page loads.
What is the current behavior?
Adding autofocus to a matInput field only focuses the field the first time the page is loaded. Subsequent loads of the page ignore the autofocus; the matInput field still functions, but does not automatically receive the focus.
What are the steps to reproduce?
Create a two-page app. One page contains a matInput with autofocus decorator. The first time that page is viewed in the app, autofocus applies to the field. Navigate to the other page, then return to the first page - autofocus no longer applies.
What is the use-case or motivation for changing an existing behavior?
UI consistency
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 8.1.2, Material 8.1.1, Windows 10 v1803, TypeScript 3.4.5, Chrome and Edge
Is there anything else we should know?

Closing since the autofocus attribute is controlled by the browser, it's not something that we've added in Material.


[Feature]: Open Source skills development

Description
Develop your Open Source skills 🎉
Expected behaviour
Here is what you have to do :

[ ] Create a project from PoC's project template and play with :

[ ] Milestones
[ ] Issues
[ ] Pull Requests
[ ] Releases
[ ] Labels
[ ] GitHub project (beta version)

[ ] Update the README.MD file and the contributing guide

Environment
/
Proposed solution
/

J'ai modifié le nom du projet dans CONTRIBUTING.MD


flipper-ui: Remove misleading actor placeholder?

The actor field has a default of placeholder of "ie User:6". This is misleading because the format is implementation-dependent.
Even in the README, the actors in the screenshot are usernames, so it doesn't follow this format.
See also #151 where the placeholder caused confusion.
I think it would be better for the placeholder to be blank.

I could see this being configurable for the UI. We have a config module now and you are right, this can be per project. I actually recommend class;id now as semicolons don't complicate modularized classes.

Closed by the commit above.
Flipper::UI.configuration.add_actor_placeholder = ""


Fetch markdown content by default

👍 👍 👍

@jacksonh We could only release this version after the API is deployed in prod

I can update the code a bit to make it not depending on the deployment of API changes for now


console.log of an array is misleading

Describe the bug
In the challenge pages, console.log of an array logged without brackets. It avoids to understand if array is nested or not:
console.log([1,2,3,4]);
// 1,2,3,4
console.log([[1,2],[3,4]])
// 1,2,3,4

To Reproduce
Steps to reproduce the behavior:

Go to any challenge with an editor (e.g: https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-data-structures/copy-an-array-with-the-spread-operator)
console.log([[1,2],[3,4]])
Observe the console
See error

Expected behavior
Showing brackets in the console.
Screenshots

Desktop

OS: Ubuntu 18.04 LTS
Browser Firefox
Version 63.0

and

OS: Windows 10
Browser Google Chrome
Version 70.0

I don't think this is an error with our system at FCC. This is an error in the code-compiler that we implement. Maybe @Bouncey can elaborate on this

What is the behaviour of standard browser consoles in Chrome and Firefox?

Chrome:

Well, isn't that interesting...
Thanks for reporting this bug. This would be an issue with proxyLogger.

not a bug though. works as expected for me in all powerful browsers

@thecodingaviator Right, its not an issue with FCC, instead it should be fixed in MonacoEditor.


feat(base45): add base45 encode and decode

But not support URL Safe now, since the RFC document not providing a URL Safe char table.

Great! I am on leave and expect to review in early July.

@wafer-li It would be great if we update the README and add `Base45" examples. 🍺

Wired!
It seems that the latest commit not synced to this PR, even if I already pushed fixed commits to the branch in my repo

Wired!
It seems that the latest commit not synced to this PR, even if I already pushed fixed commits to the branch in my repo

You could just review the existing fix commits, if it is necessary, I might have to close this PR and open another one.

Wired!
It seems that the latest commit not synced to this PR, even if I already pushed fixed commits to the branch in my repo

You could just review the existing fix commits, if it is necessary, I might have to close this PR and open another one.

Don't worry, once it's done, it will be merged with Squash.

@wafer-li It would be great if we update the README and add Base45 samples. 🍺

Added README things in e0247963

Try to fix compile error in cc4bbb70


Make fortio command able to start both servers and do grpc in addition to load test

So the fortio image is minimal and can do all the features at once
Kept echosrv available standalone as it’s simpler/smaller than “fortio
server”
Refactor the code to achieve that.
Ps: yes considering cobra is on the list as the flags list is getting
unwieldy

/retest

yes I put it in the original commit at the top of the PR

Ps: yes considering cobra is on the list as the flags list is getting unwieldy

@ZackButcher thanks a lot for your time and careful review, I appreciated learning about text/template (even though after writing and evaluating the code I had decided not to use it - see comments for why)
Anything I must change before this can go in ? (switch to cobra not for this PR, tracked in the linked issue)
TIA


fix(versions): update Activiti/activiti-cloud-example-chart versions

UpdateBot pushed helm dependency: activiti-cloud-modeling to: 7.1.51

UpdateBot commands:
updatebot push-version --kind helm activiti-cloud-modeling 7.1.51

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.jenkins-x-bot seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Dynamic routing

Hi
I want to realize the function of dynamic routing, but I have a problem.
I see that the configuration of the router will be cached to CachingRouteLocator.
My current approach is to read the local YML configuration file and write it to the InMemory Route Definition Repository to start the refresh event. But what I saw was that the new configuration added to the InMemory Route Definition Repository was loaded into the Caching Route Locator.
But what I want is to change or delete the configuration in CachingRouteLocator. I didn't find such a way.
This is my realization.
@RestControllerEndpoint(id = "gatewayendpoint")
@Log4j2
public class GatewayEndpoint implements ApplicationEventPublisherAware {
@Value("${gateway.file}")
private String file;

@Autowired
private RouteDefinitionLocator routeDefinitionLocator;
@Autowired
private RouteDefinitionWriter routeDefinitionWriter;
@Autowired
private RouteLocator routeLocator;
@Autowired
private ApplicationEventPublisher publisher;

@Override
public void
        setApplicationEventPublisher(ApplicationEventPublisher publisher) {
    this.publisher = publisher;
}

@GetMapping("/reload")
public Mono<Object> reload() throws FileNotFoundException {
    Mono<Map<String, RouteDefinition>> routeDefs = this.routeDefinitionLocator
        .getRouteDefinitions().collectMap(RouteDefinition::getId);
    Mono<List<Route>> routes = this.routeLocator.getRoutes().collectList();

    Yaml yaml = new Yaml();
    List<RouteDefinition> routesReLoad = yaml
        .loadAs(new FileInputStream(new File(this.file)),
            GatewayProperties.class)
        .getRoutes();

    return Mono.zip(routeDefs, routes).map(tuple -> {
        Map<String, RouteDefinition> defs = tuple.getT1();
        List<Route> routeList = tuple.getT2();

        routesReLoad.forEach(route -> {
            this.routeDefinitionWriter.save(Mono.just(route)).subscribe();
        });

        this.publisher.publishEvent(new RefreshRoutesEvent(this));

        return "success";
    });
}

}

Can you provide a complete, minimal, verifiable sample that reproduces the problem? It should be available as a GitHub (or similar) project or attached to this issue as a zip file.


Add @estliberitas to members list

Following #63

Welcome aboard @estliberitas  :tada:
Feel free to ping me if you need any help.

@benjamingr Thanks, okay!

@benjamingr I guess next step for me is reading all the stuff in the root of this repo?

Welcome to the team @estliberitas 🎊  🎉

@benjamingr wondering what should I do next, coz for now I'm not a member yet, as far as I know. :) Wait for meetup invite or something like that? 😉 Or I can go on and take something from roadmap. The thing is that Q1 is almost finished and I would not like to do something which is not prioritized or soon will be considered not important.

We need to contact mikeal about the membership thing. He's probably swamped and I guess @chrisdickinson will rather do it when timing is good. For now just get around the repo try to help out with PRs. I think the Roadmap is a rather fluent concept.
I also invited you to the Slack. If you have suggestions/ ideas but are not sure whether they are a thing, just post a question there.

@eljefedelrodeodeljefe deal


java.lang.NoSuchMethodError: 'com.google.common.collect.ImmutableSet com.google.common.graph.Graphs.reachableNodes(com.google.common.graph.Graph, java.lang.Object)'

Build scan link

Most recent build scan
Original build scan when bumping to v1.33.0 from an automated Dependabot pull request

Plugin version
v1.33.0
Gradle version
v8.10
JDK version
17.x
(Optional) Kotlin and Kotlin Gradle Plugin (KGP) version
2.0.0
(Optional) Android Gradle Plugin (AGP) version
8.7.0-alpha06
(Optional) reason output for bugs relating to incorrect advice

Describe the bug
When updating my project to use the latest v1.33.0, I get the following error when running the buildHealth Gradle task:
Execution failed for task ':core:deeplink:computeAdvice'.
> A failure occurred while executing com.autonomousapps.tasks.ComputeAdviceTask$ComputeAdviceAction
   > 'com.google.common.collect.ImmutableSet com.google.common.graph.Graphs.reachableNodes(com.google.common.graph.Graph, java.lang.Object)'

Viewing the build scan sheds more insight into the cryptic failure message:
Caused by: java.lang.NoSuchMethodError: 'com.google.common.collect.ImmutableSet com.google.common.graph.Graphs.reachableNodes(com.google.common.graph.Graph, java.lang.Object)'
  at com.autonomousapps.graph.Graphs.reachableNodes(Graphs.kt:16)
  at com.autonomousapps.graph.Graphs.reachableNodes$default(Graphs.kt:15)
  at com.autonomousapps.internal.Bundles$Companion.of(Bundles.kt:114)
  at com.autonomousapps.tasks.ComputeAdviceTask$ComputeAdviceAction.execute(ComputeAdviceTask.kt:171)
  ...

To Reproduce
Steps to reproduce the behavior:

Use v1.32.0 in a project
Bump to v1.33.0
Notice build errors when running the buildHealth Gradle task

Expected behavior
No build errors should occur when running the buildHealth Gradle task
Additional context
The issue started happening when bumping your plugin to the latest v1.33.0, as evidenced by this GitHub Actions workflow run

The issue is that you have Guava 32.0.1-jre on your classpath, from buildSrc, when this plugin expects version 33.1.0-jre. You can fix by adding this:
// buildSrc/build.gradle.kts
dependencies {
  implementation("com.google.guava:guava:33.1.0-jre")
}

I learned this by debugging:
com.google.common.graph.Graphs::class.java.protectionDomain.codeSource.location
=> file:/path/to/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/32.0.1-jre/6e5d51a72d142f2d40a57dfb897188b36a95b489/guava-32.0.1-jre.jar

and then
com.google.common.graph.Graphs::class.java.classLoader
=> ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:]:buildSrc[:](export)}

Hey @autonomousapps ! I'm facing the same error, but the difference is that I don't explicit declare guava on my project. I tried adding this to root/build.gradle, but didn't work:
allprojects {
  configurations.all {
    resolutionStrategy {
      force("com.google.guava:guava:33.1.0-jre")
    }
  }
}

Unfortunately, this is a big project and I'm not sure how to create a repro, but I can answer any questions about our gradle setup.

Still not fixed in 2.3.0

It is not a bug in the plugin, it is an issue with your build script classpath. See https://github.com/autonomousapps/dependency-analysis-gradle-plugin/pull/1296 and the linked issue.

Duplicate of https://github.com/autonomousapps/dependency-analysis-gradle-plugin/issues/1288


feat: negation of Intervals

Which issue does this PR close?

Closes #6311
Rationale for this change

What changes are included in this PR?

Are these changes tested?
Yes

Are there any user-facing changes?
Yes

Looks like @comphead has filed https://github.com/apache/arrow-datafusion/issues/6327 👍


SpinKit Not working

I tried to use spinkit version 1.2.0 on my android studio 3.1. I used
implementation 'com.github.ybq:AndroidSpinKit:1.2.0'
It gives me a failed to resolve error. Error message in the gradle build as follows
Failed to resolve: com.github.ybq:AndroidSpinKit:1.2.0

implementation 'com.github.ybq:Android-SpinKit:1.2.0'
You missed '-' in the middle of "Android-SpinKit"


Fix accessibility issues arising from audit

Fix anything that emerged from #1679

[x] #2094
[x] #2095
[x] #2096
[x] #2097
[x] #2098
[x] #2099
[x] #2100
[x] #2101
[x] #2102
[x] #2103
[x] #2104
[x] #2105
[x] #2106
[x] #2107
[x] #2108
[x] #2109
[x] #2111
[x] #2112
[x] #2113
[x] #2114
[x] #2115
[x] #2129

NLNet milestone 4.2

Always more to do, but that's this list completed. 😅


Issue#7 made a search system this will search our database or should.

I made changes to views to add a def to query our database. i modified the search to send the view of the text inputted there then it should search our database for the results i also made a results template that should display the results. when used it can't find the model. i believe this is due to not making the necessary migrations perhaps

Can you pull the latest changes from main and push again. Added some linting checks which are not present in your branch.

updated branch creating a new pull request


Permission Issue with any File Based RainLab Items

Hi! I am having a permission issue with Rainlabs Blog (Viewing the Markdown, which I made a ticket for) and here the settings upload. I am clueless as to why this doesn't work!

I am using HTTP2, so it's under SSL/443.
I did a setfacl with Recursive Defaults, and Persistent Recursive Defaults for www-data:www-data, this works fine for everything. I do not make any files 777 rather its g+rw at the maximum, public can only read.
Im running Ubuntu 16.04, PHP7, Apache2, nothing too fancy.

Might anyone know why this is happening?
Thank you I hope to get this cool plugin to work!

Closing due to lack of follow up.

I have had this problem as well. For me it was my adblocker plugin in the browser. When disabling the adblocker, the form works correct again.


Update: readme

Readme file updated for setting up build environment for the project

I do not know why the CI checks failed, they shouldn't as this only edits the README. We'll ignore that they failed.

Could you use single-line code blocks instead of having multiple lines every time? Example:
For Ubuntu, run: `<some command>`
To <do xyz>, run: `<some command>`

I modified from single line code (earlier version) to code block type for better understanding. Also, one can copy the code when we have longer commands and execute it. I also have feeling that this is not enough readme for someone to give a head start so I will update it again in the near future.

No, this clutters the README. It's fine if you want to add commands but, unless they are very long, please put them on a single line.

There is a small inconsistency in the ubuntu install lines and I think it would be best to make it one command before the list of prerequisites, clearly stating that this installs all prerequisites.

unlear?

They're two apt-get install commands and if you're going to bother adding those commands, just make it one. And if you make it just one, put it before the lists of packages and state something like "On Ubuntu, run this: ....
Or install: ...."


Failed to call service

Version of the custom_component
0.0.1 (according to the custom updater/tracker card)
Describe the bug
I get a "Failed to call service config_check/run" error when attempting to call the service from the Services dev page and when attempting to call it from a Lovelace call-service call on an entities card.
Configuration

I include a reference to config_check: in an included config package.
In addition to attempting to call it from the dev-service page I included a call to it n this Lovelace file.

I am running Home Assistant in a docker container. I have several other working custom components.
Log
Error handling message: {'type': 'call_service', 'domain': 'config_check', 'service': 'run', 'service_data': {}, 'id': 28}
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/components/websocket_api/decorators.py", line 17, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/app/homeassistant/components/websocket_api/commands.py", line 147, in handle_call_service
    connection.context(msg))
  File "/usr/src/app/homeassistant/core.py", line 1133, in async_call
    self._execute_service(handler, service_call))
  File "/usr/src/app/homeassistant/core.py", line 1155, in _execute_service
    await handler.func(service_call)
  File "/config/custom_components/config_check/__init__.py", line 30, in run_check_service
    result = await run_check(str(hass.config.path()))
  File "/config/custom_components/config_check/__init__.py", line 41, in run_check
    stdin=PIPE, stdout=PIPE, stderr=PIPE)
  File "/usr/local/lib/python3.7/subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "/usr/local/lib/python3.7/subprocess.py", line 1522, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'hass': 'hass'

I was able to get a useful response at the docker command line with the following command.
python -m homeassistant --config /config --script check_config --i | grep -A 1 ERROR

I purposefully broke a config line and it returned the following:
ERROR:homeassistant.util.yaml:mapping values are not allowed here
  in "/config/packages/config_check.yaml", line 10, column 6

Please provide debug logs.
custom_components.config_check: debug for logger component

Don't bother adding that, 0.0.2 will fix it.

Here is the 0.0.2 debug log.
2019-03-01 06:53:37 DEBUG (MainThread) [custom_components.config_check] Could not find
homeassistant - [Errno 2] No such file or directory: 'homeassistant': 'homeassistant'

2019-03-01 06:53:37 CRITICAL (MainThread) [custom_components.config_check] Could not find
hass/homeassistant

For reference, here is the path and homeassistant python script directory structure for the official homeassistant/home-assistant docker image. In this image this is app's path, while the configuration is stored in the path /config.
root@server:/usr/src/app/homeassistant# ls -l
total 228
-rw-r--r-- 1 root root    36 Feb 27 16:55 __init__.py
-rw-r--r-- 1 root root 12576 Feb 27 16:55 __main__.py
drwxr-xr-x 2 root root  4096 Feb 28 09:30 __pycache__
drwxr-xr-x 1 root root  4096 Feb 28 09:29 auth
-rw-r--r-- 1 root root 14013 Feb 27 16:55 bootstrap.py
drwxr-xr-x 1 root root  4096 Feb 28 09:30 components
-rw-r--r-- 1 root root 29708 Feb 27 16:55 config.py
-rw-r--r-- 1 root root 19382 Feb 27 16:55 config_entries.py
-rw-r--r-- 1 root root 12698 Feb 27 16:55 const.py
-rw-r--r-- 1 root root 43842 Feb 27 16:55 core.py
-rw-r--r-- 1 root root  5840 Feb 27 16:55 data_entry_flow.py
-rw-r--r-- 1 root root  2443 Feb 27 16:55 exceptions.py
drwxr-xr-x 1 root root  4096 Feb 28 09:30 helpers
-rw-r--r-- 1 root root  9803 Feb 27 16:55 loader.py
-rw-r--r-- 1 root root  2334 Feb 27 16:55 monkey_patch.py
-rw-r--r-- 1 root root   726 Feb 27 16:55 package_constraints.txt
-rw-r--r-- 1 root root  3593 Feb 27 16:55 requirements.py
drwxr-xr-x 1 root root  4096 Feb 28 12:32 scripts
-rw-r--r-- 1 root root  9350 Feb 27 16:55 setup.py
drwxr-xr-x 1 root root  4096 Feb 28 09:30 util

root@server:/config# ls -l
total 400
drwxr-xr-x  2 1000 1000  4096 Feb 11 11:02 README-images
-rwxr--r--  1 1000 1000 12540 Feb 11 11:09 README.md
drwxr-xr-x  5 1000 1000  4096 Jan 10 21:52 appdaemon
drwxr-xr-x 13 1000 1000  4096 Feb 21 14:24 automations
drwxr-xr-x 31 1000 1000  4096 Feb 21 12:42 components
-rwxr-xr-x  1 1000 1000  1190 Feb 18 18:24 configuration.yaml
drwxr-xr-x  9 1000 1000  4096 Feb 27 19:49 custom_components
drwxr-xr-x  5 1000 1000  4096 Jan 10 21:55 customize
drwxr-xr-x  3 1000 1000  4096 Jan 10 21:52 deps
-rw-r--r--  1 root root 27225 Mar  1 07:01 home-assistant.log
drwxr-xr-x  2 1000 1000  4096 Jan 10 21:52 json_data
-rwxr-xr-x  1 1000 1000 14444 Feb 22 13:47 known_devices.yaml
drwxr-xr-x  4 1000 1000  4096 Jan 10 21:55 lovelace
drwxr-xr-x  2 1000 1000  4096 Mar  1 06:42 packages
drwxr-xr-x  2 1000 1000  4096 Feb 12 16:52 python_scripts
drwxr-xr-x  4 1000 1000  4096 Jan 10 21:52 scenes
drwxr-xr-x 14 1000 1000  4096 Feb 18 13:24 scripts
-rwxr-xr-x  1 1000 1000  1854 Feb 23 08:12 secrets.yaml
drwxr-xr-x  2 1000 1000  4096 Mar  1 06:38 shell_commands
drwxr-xr-x  3 1000 1000  4096 Jan 10 21:52 templates
drwxr-xr-x  2 1000 1000  4096 Jan 10 21:52 themes
-rwxr-xr-x  1 1000 1000  1234 Feb 23 11:14 travis_secrets.yaml
-rwxr-xr-x  1 1000 1000     0 Feb 12 18:21 ui-configuration.yaml
-rwxr-xr-x  1 1000 1000   761 Feb 15 22:31 ui-lovelace.yaml
drwxr-xr-x  8 1000 1000  4096 Feb 18 11:23 www

If this still does not work the location of hass (cli) are not in PATH

OK, I agree that this isn't going to work then. Here is the output of the $PATH. And altering it wouldn't do any good because it gets overwritten when being upgraded. I'm going to see if I can get it working as a command_line sensor. Thank you for looking into it.
/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

I don't give up that easy ;)
try 0.0.3

Bingo! I have always wanted to do this. Ever since I left the Raspberry Pi behind I have had to swap between the config tab and my Tools tab to check, then click restart. Docker users cannot simply use the built in restart/reload commands on the configuration check page. The process is tedious enough that I often skip checking the config.
Is the result stored anywhere, perhaps in a sensor? If it did then I could setup a script to only reboot if the config check was a success. Even without that your component has made a huge quality of life improvement for me. Thank you.
Here is screenshot proof! (I intentionally created a validation problem to test this.)

Awesome!
The state is currently not stored, but if you give me what you use to restart I can probably add a second service that include restart on success

TLDR: I call a shell command called shell_command.restart_hass. So if you added a parameter that I could set (perhaps called on_success_service_call) anyone could configure a script or shell_command to run on success.
Details: I am using HADockermon to restart the Home Assistant Docker with a shell_command that pings a REST API.
curl http://<IP_ADDRESS>:8126/container/homeassistant/restart

This problem I had was resolved heroically by @ludeeus! I felt like it would be more productive to move the feature request into a new issue (#2) and close this one.


[Thanos Store] Container receive Error during 1 startup, then proceed to work

Thanos, Prometheus and Golang version used:
0.32.2 or to be precise docker.io/bitnami/thanos:0.32.2-debian-11-r0

Object Storage Provider:
S3
What happened:
During first startup sequence container receive 1 restart due to error. After that - component working correctly but no data had been propagated to Redis
What you expected to happen:
Component start without any issues and index cache will be created on Redis side
How to reproduce it (as minimally and precisely as possible):
Can be reproduced possibly by deployment of single instance Redis and utilise Redis configuration below in flag --index-cache.config-file=/conf/cache/config.yml
apiVersion: v1
data:
  config.yml: |-
    type: REDIS
    config:
      addr: "thanos-redis-master.tools-test-thanos-evolution.svc.cluster.local:6379"
      db: 4
      dial_timeout: 5s
      read_timeout: 3s
      write_timeout: 3s
      max_get_multi_concurrency: 100
      get_multi_batch_size: 100
      max_set_multi_concurrency: 100
      set_multi_batch_size: 100
      tls_enabled: false
      cache_size: 0
      max_async_buffer_size: 10000
      max_async_concurrency: 20
      expiration: 24h0m0s

Full logs to relevant components:
ts=2023-09-12T15:03:27.390532841Z caller=factory.go:53 level=info msg="loading bucket configuration"
ts=2023-09-12T15:03:27.391049062Z caller=factory.go:35 level=info msg="loading index cache configuration"
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x14534ac]
goroutine 1 [running]:
github.com/redis/rueidis.(*clusterClient)._pick(0x4000247680?, 0x5f?)
	/bitnami/blacksmith-sandox/thanos-0.32.2/pkg/mod/github.com/redis/rueidis@v1.0.14-go1.18/cluster.go:289 +0x1c
github.com/redis/rueidis.(*clusterClient).single(...)
	/bitnami/blacksmith-sandox/thanos-0.32.2/pkg/mod/github.com/redis/rueidis@v1.0.14-go1.18/cluster.go:233
github.com/redis/rueidis.NewClient({{0x12a05f200, {0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, ...}, ...})
	/bitnami/blacksmith-sandox/thanos-0.32.2/pkg/mod/github.com/redis/rueidis@v1.0.14-go1.18/rueidis.go:306 +0x270
github.com/thanos-io/thanos/pkg/cacheutil.NewRedisClientWithConfig({0x259e9e0?, _}, {_, _}, {{0x4000053130, 0x46}, {0x0, 0x0}, {0x0, 0x0}, ...}, ...)
	/bitnami/blacksmith-sandox/thanos-0.32.2/src/github.com/thanos-io/thanos/pkg/cacheutil/redis_client.go:215 +0x288
github.com/thanos-io/thanos/pkg/cacheutil.NewRedisClient({0x259e9e0, 0x4000063800}, {0x200de04, 0xb}, {0x40009e6c00?, 0x1926301?, 0x40009e6800?}, {0x25b29d0, 0x400050e9b0})
	/bitnami/blacksmith-sandox/thanos-0.32.2/src/github.com/thanos-io/thanos/pkg/cacheutil/redis_client.go:162 +0x10c
github.com/thanos-io/thanos/pkg/store/cache.NewIndexCache({0x259e9e0, 0x4000063800}, {0x40001ac4e0, 0x196, 0x1a0}, {0x25b29d0, 0x400050e9b0})
	/bitnami/blacksmith-sandox/thanos-0.32.2/src/github.com/thanos-io/thanos/pkg/store/cache/factory.go:59 +0x1bc
main.runStore(_, {_, _}, _, {_, _}, {_, _, _}, {_, ...}, ...)
	/bitnami/blacksmith-sandox/thanos-0.32.2/src/github.com/thanos-io/thanos/cmd/thanos/store.go:326 +0x860
main.registerStore.func1(0x1cf3e40?, {0x259e9e0, 0x4000063800}, 0x6?, {0x25b28b0, 0x3abdf40}, 0x68?, 0x0)
	/bitnami/blacksmith-sandox/thanos-0.32.2/src/github.com/thanos-io/thanos/cmd/thanos/store.go:226 +0x1b0
main.main()
	/bitnami/blacksmith-sandox/thanos-0.32.2/src/github.com/thanos-io/thanos/cmd/thanos/main.go:133 +0x1074

Anything else we need to know:
Before address had been = thanos-redis-master.tools-test-thanos-evolution, which caused different error
dial tcp: lookup thanos-redis-master.tools-test-thanos-evolution: i/o timeout . Though debug container attached to Store container - this url were resolvable

For some reason, after storegateway init itself and consume close to 90% or RAM - any request that should land on it due to time partitioning result into:
ts=2023-09-13T13:08:54.347226583Z caller=memcached.go:164 level=error msg="failed to cache series in memcached" err="the async buffer is full"

Found what was the issue - looks like default values that are set in https://thanos.io/tip/components/store.md/#redis-index-cache are too low. Set dial_timeout from 5s to 15s and storegateway was able to perform DNS resolve


Fix the write timestamp in atomic GraphQL mutations

What this PR does:
Set timestamp and now_in_seconds in batch parameters only if they have been passed via query parameters. com.google.protobuf.Int64Value values in query.proto are serialized to 0 if they are unset, which causes the bug described below.
Which issue(s) this PR fixes:
Fixes https://github.com/stargate/stargate/issues/2875
As described in this comment, Stargate currently sets the write timestamp of all @atomic batch mutations to Unix time 0.
Consequently, the TTL is calculated as (Unix time 0 + TTL). Therefore, even when using the maximum TTL of 20 years, Cassandra interprets these rows as having already expired and they cannot be retrieved.
Checklist

[x] Changes manually tested
[x] Automated Tests added/updated
[ ] Documentation added/updated – N/A?
[x] CLA Signed: DataStax CLA

Thanks for the PR @marksurnin.
The changes LGTM!
Can we have this PR created against the main branch please? since this fix should be applied on both v2 (main) and v2.1. We can pull this change to v2.1 once it's merged with the main.

+1 for PR against main (2.x) so that we can get this deployed to all of our production systems (there's a split)

@marksurnin may be you will have to rebase your fork or create new PR? Right now, its showing a lot of diff (around 644 files as diff)

@kathirsvn the coordinator build is failing to download dependencies from DataStax's internal Maven repo. I don't build persistence-dse-next or persistence-dse-6.8 locally so unsure how to proceed.
Error:  Failed to execute goal on project persistence-dse-6.8: Could not resolve dependencies for project io.stargate.db.dse:persistence-dse-6.8:jar:2.0.25-SNAPSHOT: The following artifacts could not be resolved: io.netty:netty-codec:jar:<IP_ADDRESS>.dse, io.netty:netty-common:jar:<IP_ADDRESS>.dse, io.netty:netty-buffer:jar:<IP_ADDRESS>.dse, io.netty:netty-transport:jar:<IP_ADDRESS>.dse, io.netty:netty-resolver:jar:<IP_ADDRESS>.dse: Could not transfer artifact io.netty:netty-codec:jar:<IP_ADDRESS>.dse from/to artifactory-snapshots (https://repo.datastax.com/datastax-snapshots-local): status code: 401, reason phrase:  (401) -> [Help 1]

@marksurnin This is likely due to access problems: DSE jar and some of its dependencies (like netty with backported fixes) are only available from DataStax internal Maven repo. I was hoping we could trigger re-run and that'd pass but that does not seem to be the case (I tried and it appears to fail still).

Yes, I just triggered another re-run and it failed. Let me follow up on this.

As per suggestion from @jeffreyscarpenter, I tried recreating this PR here and the build step goes through fine now. So, it looks like some access issue (i.e. my account seems to have read access to the datastax internal repo but @marksurnin account doesn't).
Now, we are getting below IT error
https://github.com/stargate/stargate/actions/runs/7907256239/job/21584210196?pr=2895
Results:
[INFO]
Error:  Failures:
Error:    AtomicBatchIntegrationTest.successfulBatchWithTTL:318
expected: null
 but was: [{"extensions"={"classification"="DataFetchingException"}, "locations"=[{"column"=3, "line"=2}], "message"="Exception while fetching data (/foo) : Column 'v_writetime' does not exist", "path"=["foo"]}]

Probably, we will have to read the writetime and ttl as in getWriteTime method in io.stargate.sgv2.graphql.integration.graphqlfirst.AtomicIntegrationTest

As per suggestion from @jeffreyscarpenter, I tried recreating this PR here and the build step goes through fine now. So, it looks like some access issue (i.e. my account seems to have read access to the datastax internal repo but @marksurnin account doesn't).

@kathirsvn could you please try pushing an empty commit to my branch? Perhaps the maven repo authentication would work this way.
I see that the credentials are read from secrets here but I don't know where the account's organization is used to check access.

Now, we are getting below IT error https://github.com/stargate/stargate/actions/runs/7907256239/job/21584210196?pr=2895
Results:
[INFO]
Error:  Failures:
Error:    AtomicBatchIntegrationTest.successfulBatchWithTTL:318
expected: null
 but was: [{"extensions"={"classification"="DataFetchingException"}, "locations"=[{"column"=3, "line"=2}], "message"="Exception while fetching data (/foo) : Column 'v_writetime' does not exist", "path"=["foo"]}]

Probably, we will have to read the writetime and ttl as in getWriteTime method in io.stargate.sgv2.graphql.integration.graphqlfirst.AtomicIntegrationTest

Secondly, I can update the tests to read writetime and TTL via CQL but it's concerning that it's failing with Column 'v_writetime' does not exist. These itests pass locally. The field that AtomicBatchIntegrationTest is retrieving is
v_writetime: _bigint_function(name:"writetime", args: ["v"])

which is a standard use-case of an aggregation function. v_writetime a GraphQL alias, not a column. Do you know if the integration test image lacks aggregation function support or if something could be off with aliases?

@marksurnin I think the issue is that forks by developers without push rights to original repo cannot access secrets; this to prevent potential security problems.
But I guess it'd be easy enough to see whether commit to PR by someone with access would let CI run access secrets and see.

@marksurnin I accepted the invitation to your fork and just pushed an empty commit to see if coordinator build CI job works fine now, let's see.

@marksurnin I accepted the invitation to your fork and just pushed an empty commit to see if coordinator build CI job works fine now, let's see.

Cool, it looks like the coordinator build job is good now. Let's check the aggregate function problem (i.e. v_writetime) next.

@marksurnin I accepted the invitation to your fork and just pushed an empty commit to see if coordinator build CI job works fine now, let's see.

Cool, it looks like the coordinator build job is good now. Let's check the aggregate function problem (i.e. v_writetime) next.

When I run the test AtomicBatchIntegrationTest.successfulBatchWithTTL on my local, it fails with below error
Expected :null
Actual   :[{"extensions"={"classification"="DataFetchingException"}, "locations"=[{"column"=3, "line"=2}], "message"="Exception while fetching data (/foo) : Column 'v_writetime' does not exist", "path"=["foo"]}]


Update css for better visual impairment

CSS has been updated to get a better User experience with better visual impairment.

ok


"Wirless" crafting grid won't sync

Issue description:
The Wireless Crafting Grid (in-game called "Wirless" with a typo) will not sync with the controller.
What happens:
Shift+right-clicking on the controller does nothing. Crafting the wireless crafting grid with an already synced Wireless Grid removes the sync.
What you expected to happen:
Shift+right-clicking on the controller would sync it to that network.
Steps to reproduce:

Craft "Wirless Crafting Grid" (#9621/0)
Shift+Right-Click on Controller
Try to right-click grid

Version (Make sure you are on the latest version before reporting):

Minecraft: 1.10.2
Forge: <IP_ADDRESS>4
Refined Storage: 1.2.22

Does this issue occur on a server? Yes.
Modpack Used: FTB Beyond (1.0.1)
If a (crash)log is relevant for this issue, link it here:
[pastebin/gist/etc link here]

I'm 90% certain Refined Storage doesn't have, nor will ever add, a Wireless Crafting Grid.  It does have a Wireless Grid, and a Wireless Crafting Monitor.  However, a "Wirless Crafting Grid" is almost certainly from some other mod and you will need to report to them.  You may also want to mention this on the FTB Beyond issue tracker.
Both RS and AE2 have always been against adding wireless access devices with built in crafting grids.  AE2 says it undermines the auto-crafting portion of the mod.  I think RS's view is fairly similar, though I haven't seen the exact statement from Raoulvdberg.

This is not an item added by RS...

Oh would you look at that, it is indeed another mod that I hadn't seen before added to FTB Beyond. Apologies for the bother!


Lack of credits to the OpenStreetMap community

The website https://osmgo.com/#/main does not show credits to the OSM  community as indicated by https://www.openstreetmap.org/copyright

I added a PR #112 to implement the need of copyright directly on the map.


temp reset script quits with error on v20 master

Upgraded 20-dev to master (8f18797) and ran:
./temporary_reset_script.sh
Removing all docker containers and volumes...
fa66a2a33c5e
52f0f79d1165
8b287d8e205b
81cf030a9651
4aee32ea5c57
1635aa16fadc
d72b15affacb
42699b43c11a
a9ac72fd3e66
4ec6de61c708
2a6d2e18f0c3
e7a16e818597
44a2d4c7e507
59cd2fd8fbec
94126a5012d0
6a5c2f4862c0
96173ea4b0a1
b5b9beb877cd
ff1669493d90
e5b87e9eb70e
d062d78912ac
70a54de73ec8
a0e3974a157b
39537b453e94
9a1304ec6080
21d2519b1775
Deleted Networks:
dash_masternode_local_2_default
dash_masternode_local_3_default
dash_masternode_local_seed_default
dash_masternode_local_1_default

Deleted Volumes:
dash_masternode_local_1_drive_abci_data
dash_masternode_local_1_drive_mongodb_data
dash_masternode_local_2_drive_mongodb_data
dash_masternode_local_3_core_data
dash_masternode_local_3_drive_tenderdash
dash_masternode_local_seed_core_data
dash_masternode_local_1_core_data
dash_masternode_local_2_core_data
dash_masternode_local_2_drive_abci_data
dash_masternode_local_1_drive_tenderdash
dash_masternode_local_2_drive_tenderdash
dash_masternode_local_3_drive_abci_data
dash_masternode_local_3_drive_mongodb_data

Total reclaimed space: 1.024GB
Remove dashmate configuration...
[STARTED] Set configuration preset
[SUCCESS] Set configuration preset [0.0s]
[STARTED] Task without title.
[STARTED] Create local group configs
[STARTED] Create local_1 config
[SUCCESS] Create local_1 config [0.0s]
[STARTED] Create local_2 config
[SUCCESS] Create local_2 config [0.0s]
[STARTED] Create local_3 config
[SUCCESS] Create local_3 config [0.0s]
[STARTED] Create local_seed config
[SUCCESS] Create local_seed config [0.0s]
[SUCCESS] Create local group configs [3s]
[STARTED] Configure Core nodes
[STARTED] Task without title.
[STARTED] Starting seed node as a wallet
[SUCCESS] Starting seed node as a wallet [3s]
[STARTED] Activating DIP3
[DATA] 10 blocks generated
[DATA] 20 blocks generated
[DATA] 30 blocks generated
[DATA] 40 blocks generated
[DATA] 50 blocks generated
[DATA] 60 blocks generated
[DATA] 70 blocks generated
[DATA] 80 blocks generated
[DATA] 90 blocks generated
[DATA] 100 blocks generated
[DATA] 110 blocks generated
[DATA] 120 blocks generated
[DATA] 130 blocks generated
[DATA] 140 blocks generated
[DATA] 150 blocks generated
[DATA] 160 blocks generated
[DATA] 170 blocks generated
[DATA] 180 blocks generated
[DATA] 190 blocks generated
[DATA] 200 blocks generated
[DATA] 210 blocks generated
[DATA] 220 blocks generated
[DATA] 230 blocks generated
[DATA] 240 blocks generated
[DATA] 250 blocks generated
[DATA] 260 blocks generated
[DATA] 270 blocks generated
[DATA] 280 blocks generated
[DATA] 290 blocks generated
[DATA] 300 blocks generated
[DATA] 310 blocks generated
[DATA] 320 blocks generated
[DATA] 330 blocks generated
[DATA] 340 blocks generated
[DATA] 350 blocks generated
[DATA] 360 blocks generated
[DATA] 370 blocks generated
[DATA] 380 blocks generated
[DATA] 390 blocks generated
[DATA] 400 blocks generated
[DATA] 410 blocks generated
[DATA] 420 blocks generated
[DATA] 430 blocks generated
[DATA] 440 blocks generated
[DATA] 450 blocks generated
[DATA] 460 blocks generated
[DATA] 470 blocks generated
[DATA] 480 blocks generated
[DATA] 490 blocks generated
[DATA] 500 blocks generated
[DATA] 510 blocks generated
[SUCCESS] Activating DIP3 [1s]
[STARTED] Generating funds to use as a collateral for masternodes
[STARTED] Create a new address
[DATA] Address: yfazYbY817vKjiJ9gsA3KfQ9V3HLQyoE7E
[DATA] Private key: cUmtH78r23o4x1zw7yTZ4WSCfkiY6ygQtzbLh58mqfTdiUgFGSw7
[SUCCESS] Create a new address [0.0s]
[STARTED] Generate ≈4000 dash to address
[TITLE] Generate ≈4000 dash to address yfazYbY817vKjiJ9gsA3KfQ9V3HLQyoE7E
[DATA]<PHONE_NUMBER>5 dash generated
[DATA]<PHONE_NUMBER> dash generated
[DATA] 1200.98396505 dash generated
[DATA] 1601.3119534 dash generated
[DATA] 2001.63994175 dash generated
[DATA] 2401.9679301 dash generated
[DATA] 2802.29591845 dash generated
[DATA] 3202.6239068 dash generated
[DATA] 3602.95189515 dash generated
[DATA] 4003.2798835 dash generated
[DATA] Generated 4003.2798835 dash
[SUCCESS] Generate ≈4000 dash to address yfazYbY817vKjiJ9gsA3KfQ9V3HLQyoE7E [0.0s]
[STARTED] Wait for balance to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 4003.2798835 dash to confirm
[DATA] 3602.95189515 dash to confirm
[DATA] 3202.6239068 dash to confirm
[DATA] 2802.29591845 dash to confirm
[DATA] 2401.9679301 dash to confirm
[DATA] 2001.63994175 dash to confirm
[DATA] 1601.3119534 dash to confirm
[DATA] 1200.98396505 dash to confirm
[DATA]<PHONE_NUMBER> dash to confirm
[DATA]<PHONE_NUMBER>5 dash to confirm
[DATA] 0 dash to confirm
[SUCCESS] Wait for balance to confirm [0.4s]
[SUCCESS] Generating funds to use as a collateral for masternodes [0.5s]
[STARTED] Register masternodes
[STARTED] Register local_1 masternode
[STARTED] Generate a masternode operator key
[SUCCESS] Generate a masternode operator key [0.1s]
[STARTED] Task without title.
[STARTED] Import funding private key
[DATA] cUmtH78r23o4x1zw7yTZ4WSCfkiY6ygQtzbLh58mqfTdiUgFGSw7 imported.
[SUCCESS] Import funding private key [0.0s]
[STARTED] Check funding address balance
[TITLE] Check funding address yfazYbY817vKjiJ9gsA3KfQ9V3HLQyoE7E balance
[SUCCESS] Check funding address yfazYbY817vKjiJ9gsA3KfQ9V3HLQyoE7E balance [0.0s]
[STARTED] Create a new collateral address
[DATA] Address: yLorBJTN42ewqjqA3VMhXLVDmYgKJaySQz
[DATA] Private key: cNb2hGhri2W7d8Xh4RTz8pvobPRSf5tm5zmebU8DGD1bg7kj6dH3
[SUCCESS] Create a new collateral address [0.0s]
[STARTED] Create a new owner addresses
[DATA] Address: yLPQo6rHNCwbgkM6ucUuZRLCrfKSzpTLbK
[DATA] Private key: cRyRomFm7t7gcLTYSr4NXEna3RxvkEJJKwrTB68cSYFge6jVaJFu
[SUCCESS] Create a new owner addresses [0.0s]
[STARTED] Create a new reward addresses
[DATA] Address: yhmEdENCuBFZSaDHYh1ucqBgZZGuyjzkC6
[DATA] Private key: cNsvta1SkY1u81fph1CS2d7uTUmE8kRAXHksXdh6z9gu7NqN8fgS
[SUCCESS] Create a new reward addresses [0.0s]
[STARTED] Send 0.1 dash from funding address to reward address
[SUCCESS] Send 0.1 dash from funding address to reward address [0.0s]
[STARTED] Wait for balance to confirm
[DATA] 0 dash to confirm
[SUCCESS] Wait for balance to confirm [0.0s]
[STARTED] Send 1000 dash from funding address to collateral address
[DATA] Collateral transaction ID: 3aa54b9c5076e2ac0881178860e3be16b3fa57afca0be0b7dd4a7730babf580e
[SUCCESS] Send 1000 dash from funding address to collateral address [0.0s]
[STARTED] Wait for balance to confirm
[DATA] 0 dash to confirm
[SUCCESS] Wait for balance to confirm [0.0s]
[STARTED] Broadcast masternode registration transaction
[DATA] ProRegTx transaction ID: 07829d8cc78ab92d60f6e9d765aaa9dd75f108a45938c3ade560dc5ffbede8b0
[SUCCESS] Broadcast masternode registration transaction [0.0s]
[STARTED] Mine 1 block to confirm
[DATA] 1 block mined
[SUCCESS] Mine 1 block to confirm [0.0s]
[SUCCESS] Task without title. [0.1s]
[SUCCESS] Register local_1 masternode [0.3s]
[STARTED] Register local_2 masternode
[STARTED] Generate a masternode operator key
[SUCCESS] Generate a masternode operator key [0.1s]
[STARTED] Task without title.
[STARTED] Import funding private key
[DATA] cUmtH78r23o4x1zw7yTZ4WSCfkiY6ygQtzbLh58mqfTdiUgFGSw7 imported.
[SUCCESS] Import funding private key [0.0s]
[STARTED] Check funding address balance
[TITLE] Check funding address yfazYbY817vKjiJ9gsA3KfQ9V3HLQyoE7E balance
[SUCCESS] Check funding address yfazYbY817vKjiJ9gsA3KfQ9V3HLQyoE7E balance [0.0s]
[STARTED] Create a new collateral address
[DATA] Address: yUpwpBXhcdErCmQeGQ5qw9AyxgW9NLAPd9
[DATA] Private key: cTVV2hWAk6r194RJDZqAE4etmsdizTpKNb2teKKEsCNJ8Vvr8Z1Z
[SUCCESS] Create a new collateral address [0.0s]
[STARTED] Create a new owner addresses
[DATA] Address: yP21UngUM3amWptK46s7mBEENhR8mEDW55
[DATA] Private key: cTCa7V1LxnKE7tJcm16cuVQdpEVcHXAufwaK3a9WYdg4Qgsntx1n
[SUCCESS] Create a new owner addresses [0.0s]
[STARTED] Create a new reward addresses
[DATA] Address: ybMKiYkzgZWLXfoPPk88qzFTzZN4cbXmge
[DATA] Private key: cR6Q53W1uVbiBG89KfBUbjpzBrmyUmkdYYFjWMDiALmNHbKkNRtP
[SUCCESS] Create a new reward addresses [0.0s]
[STARTED] Send 0.1 dash from funding address to reward address
[SUCCESS] Send 0.1 dash from funding address to reward address [0.0s]
[STARTED] Wait for balance to confirm
[DATA] 0 dash to confirm
[SUCCESS] Wait for balance to confirm [0.0s]
[STARTED] Send 1000 dash from funding address to collateral address
[DATA] Collateral transaction ID: fb4c6cdec5342671e0e4fd08b4d3b9ebb82e3df53c03110c012e8a3d9749c625
[SUCCESS] Send 1000 dash from funding address to collateral address [0.0s]
[STARTED] Wait for balance to confirm
[DATA] 0 dash to confirm
[SUCCESS] Wait for balance to confirm [0.0s]
[STARTED] Broadcast masternode registration transaction
[DATA] ProRegTx transaction ID: 6ebb89b0fee02a2e30990c24060d501290573cd4e894ba46f5c2c4b80b8a3544
[SUCCESS] Broadcast masternode registration transaction [0.0s]
[STARTED] Mine 1 block to confirm
[DATA] 1 block mined
[SUCCESS] Mine 1 block to confirm [0.0s]
[SUCCESS] Task without title. [0.1s]
[SUCCESS] Register local_2 masternode [0.3s]
[STARTED] Register local_3 masternode
[STARTED] Generate a masternode operator key
[SUCCESS] Generate a masternode operator key [0.1s]
[STARTED] Task without title.
[STARTED] Import funding private key
[DATA] cUmtH78r23o4x1zw7yTZ4WSCfkiY6ygQtzbLh58mqfTdiUgFGSw7 imported.
[SUCCESS] Import funding private key [0.0s]
[STARTED] Check funding address balance
[TITLE] Check funding address yfazYbY817vKjiJ9gsA3KfQ9V3HLQyoE7E balance
[SUCCESS] Check funding address yfazYbY817vKjiJ9gsA3KfQ9V3HLQyoE7E balance [0.0s]
[STARTED] Create a new collateral address
[DATA] Address: ygL63H6mRiMPk6ACUCcthZmQFkJwfPFyoB
[DATA] Private key: cQWi3zWhL8s5yX7GX2DLVHomTmXs9K4MRKacKCkGLeMx4HB42x6q
[SUCCESS] Create a new collateral address [0.0s]
[STARTED] Create a new owner addresses
[DATA] Address: yNqK713CuaFikLyUeQb2Et9XA3tai5wRaY
[DATA] Private key: cV2CY9mKuowpiSKrXLgAQxBqVfZwBTGrNPfVapzUcxGBAa85qpX6
[SUCCESS] Create a new owner addresses [0.0s]
[STARTED] Create a new reward addresses
[DATA] Address: ydvFFhEyY4wNDaKCVtrBKC5rMnd1RYcbV7
[DATA] Private key: cPbLDd9QHTKMzG9NWbJtgAiJfQYR7XaLjeZUCx7HRSRS9Rvxm3v7
[SUCCESS] Create a new reward addresses [0.0s]
[STARTED] Send 0.1 dash from funding address to reward address
[SUCCESS] Send 0.1 dash from funding address to reward address [0.0s]
[STARTED] Wait for balance to confirm
[DATA] 0 dash to confirm
[SUCCESS] Wait for balance to confirm [0.0s]
[STARTED] Send 1000 dash from funding address to collateral address
[DATA] Collateral transaction ID: 2a0fd3f39403b4f8461bfd9f3f47806abde255520cd7cddbba1bfffdb8eb366a
[SUCCESS] Send 1000 dash from funding address to collateral address [0.0s]
[STARTED] Wait for balance to confirm
[DATA] 0 dash to confirm
[SUCCESS] Wait for balance to confirm [0.0s]
[STARTED] Broadcast masternode registration transaction
[DATA] ProRegTx transaction ID: 2b5845cc233cd002f368867640296de74f6de9702ba7b9a36a13d2a1fc852d85
[SUCCESS] Broadcast masternode registration transaction [0.0s]
[STARTED] Mine 1 block to confirm
[DATA] 1 block mined
[SUCCESS] Mine 1 block to confirm [0.0s]
[SUCCESS] Task without title. [0.2s]
[SUCCESS] Register local_3 masternode [0.4s]
[SUCCESS] Register masternodes [1s]
[STARTED] Stopping wallet
[SUCCESS] Stopping wallet [0.9s]
[STARTED] Starting nodes
[SUCCESS] Starting nodes [3s]
[STARTED] Force masternodes to sync
[SUCCESS] Force masternodes to sync [0.3s]
[STARTED] Set initial mock time
[SUCCESS] Set initial mock time [0.0s]
[STARTED] Wait for nodes to have the same height
[SUCCESS] Wait for nodes to have the same height [1m0s]
[STARTED] Enable sporks
[SUCCESS] Enable sporks [0.0s]
[STARTED] Wait for nodes to have the same sporks
[SUCCESS] Wait for nodes to have the same sporks [0.1s]
[STARTED] Activating DIP8 to enable ChainLocks
[DATA] DIP8 has been activated at height 432
[SUCCESS] Activating DIP8 to enable ChainLocks [0.0s]
[STARTED] Wait for nodes to have the same height
[SUCCESS] Wait for nodes to have the same height [0.0s]
[STARTED] Make sure masternodes are enabled
[SUCCESS] Make sure masternodes are enabled [0.0s]
[STARTED] Wait for quorums to be enabled
[STARTED] Task without title.
[SUCCESS] Task without title. [0.0s]
[STARTED] Start DKG session
[SUCCESS] Start DKG session [0.1s]
[STARTED] Waiting for phase 1 (init)
[SUCCESS] Waiting for phase 1 (init) [1s]
[STARTED] Waiting for phase 2 (contribute)
[SUCCESS] Waiting for phase 2 (contribute) [0.0s]
[STARTED] Waiting for phase 3 (complain)
[SUCCESS] Waiting for phase 3 (complain) [0.0s]
[STARTED] Waiting for phase 4 (justify)
[SUCCESS] Waiting for phase 4 (justify) [0.0s]
[STARTED] Waiting for phase 5 (commit)
[SUCCESS] Waiting for phase 5 (commit) [0.0s]
[STARTED] Waiting for phase 6 (mining)
[SUCCESS] Waiting for phase 6 (mining)
[STARTED] Waiting final commitment
[SUCCESS] Waiting final commitment [0.1s]
[STARTED] Mining final commitment
[DATA] New quorum mined: height: 672, quorum hash: 66c2fe29d23c3821d0e7e0fd88469b67bcdcf054ec15fbdacb2aee248226f5f2, mined in block: 0c5e09ba2ebfb19885788b2eef2c0ae595ea1df621b6b2850c267c73be70ec91
[SUCCESS] Mining final commitment [8s]
[SUCCESS] Wait for quorums to be enabled [9s]
[STARTED] Setting initial core chain locked height
[DATA] Initial chain locked core height is set to: 691
[SUCCESS] Setting initial core chain locked height [0.0s]
[STARTED] Stopping nodes
[SUCCESS] Stopping nodes [1s]
[SUCCESS] Task without title. [1m22s]
[SUCCESS] Configure Core nodes [1m22s]
[STARTED] Configure Tenderdash nodes
[STARTED] Task without title.
[STARTED] Initialize local_1 Tenderdash
[STARTED] Generate node keys and data
[SUCCESS] Generate node keys and data [4s]
[SUCCESS] Initialize local_1 Tenderdash [4s]
[STARTED] Initialize local_2 Tenderdash
[STARTED] Generate node keys and data
[SUCCESS] Generate node keys and data [4s]
[SUCCESS] Initialize local_2 Tenderdash [4s]
[STARTED] Initialize local_3 Tenderdash
[STARTED] Generate node keys and data
[SUCCESS] Generate node keys and data [4s]
[SUCCESS] Initialize local_3 Tenderdash [4s]
[STARTED] Task without title.
[SUCCESS] Task without title. [0.0s]
[SUCCESS] Task without title. [12s]
[SUCCESS] Configure Tenderdash nodes [12s]
[STARTED] Initialize Platform
[STARTED] Starting nodes
[STARTED] Starting nodes
[STARTED] Starting local_1 node
[STARTED] Starting local_2 node
[STARTED] Starting local_3 node
[STARTED] Starting local_seed node
[STARTED] Check node is not started
[STARTED] Check node is not started
[STARTED] Check node is not started
[STARTED] Check node is not started
[SUCCESS] Check node is not started [0.5s]
[STARTED] Start services
[SUCCESS] Check node is not started [0.6s]
[STARTED] Start services
[SUCCESS] Check node is not started [0.6s]
[STARTED] Start services
[SUCCESS] Check node is not started [0.7s]
[STARTED] Start services
[SUCCESS] Start services [2s]
[STARTED] Force nodes to sync
[DATA] 100.00% complete
[SUCCESS] Force nodes to sync [0.3s]
[SUCCESS] Starting local_seed node [3s]
[SUCCESS] Start services [8s]
[STARTED] Force nodes to sync
[DATA] 100.00% complete
[SUCCESS] Start services [8s]
[STARTED] Force nodes to sync
[DATA] 100.00% complete
[SUCCESS] Force nodes to sync [0.3s]
[SUCCESS] Starting local_2 node [9s]
[SUCCESS] Start services [8s]
[STARTED] Force nodes to sync
[DATA] 100.00% complete
[SUCCESS] Force nodes to sync [0.3s]
[SUCCESS] Starting local_1 node [9s]
[SUCCESS] Force nodes to sync [0.3s]
[SUCCESS] Starting local_3 node [9s]
[SUCCESS] Starting nodes [9s]
[STARTED] Wait for Core peers to be connected
[STARTED] Checking local_1 peers
[STARTED] Checking local_2 peers
[STARTED] Checking local_3 peers
[STARTED] Checking local_seed peers
[SUCCESS] Checking local_2 peers [0.0s]
[SUCCESS] Checking local_3 peers [0.0s]
[SUCCESS] Checking local_seed peers [0.0s]
[SUCCESS] Checking local_1 peers [0.0s]
[SUCCESS] Wait for Core peers to be connected [0.0s]
[STARTED] Adjust Core mock time
[STARTED] Adjust local_1 mock time
[STARTED] Adjust local_2 mock time
[STARTED] Adjust local_3 mock time
[STARTED] Adjust local_seed mock time
[SUCCESS] Adjust local_1 mock time [2s]
[SUCCESS] Adjust local_3 mock time [2s]
[SUCCESS] Adjust local_seed mock time [2s]
[SUCCESS] Adjust local_2 mock time [2s]
[SUCCESS] Adjust Core mock time [2s]
[STARTED] Start a miner
[SUCCESS] Start a miner [1s]
[STARTED] Wait for nodes to be ready
[STARTED] Wait for local_1 node
[STARTED] Wait for local_2 node
[STARTED] Wait for local_3 node
[STARTED] Task without title.
[STARTED] Task without title.
[STARTED] Task without title.
[SUCCESS] Task without title. [24s]
[SUCCESS] Wait for local_1 node [24s]
[SUCCESS] Task without title. [24s]
[SUCCESS] Wait for local_2 node [24s]
[SUCCESS] Task without title. [25s]
[SUCCESS] Wait for local_3 node [25s]
[SUCCESS] Wait for nodes to be ready [25s]
[SUCCESS] Starting nodes [39s]
[STARTED] Task without title.
[STARTED] Initialize SDK
warn: Running on a NodeJS env without any specified adapter. Data will not persist.
warn: Running on a NodeJS env without any specified adapter. Data will not persist.
[DATA] HD private key: tprv8ZgxMBicQKsPerzRHXji9f9fJTdN4PuMBgpupJPZDnJvShV8bxuu6qWUXoRJ3uJotM2zhrnSrZnS4trcJbFp1W5QT15yGRMEp5yhgQ7fM3u
[SUCCESS] Initialize SDK [2s]
[STARTED] Register DPNS identity
[DATA] DPNS identity: EM1rVt18JYUvYu5ABxuXBfjHcftQ1uHksbDgfDjYCZdM
[SUCCESS] Register DPNS identity [3s]
[STARTED] Register DPNS contract
[FAILED] State Transition is invalid: IncompatibleRe2PatternError: Pattern ^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])$ at /documents/domain/properties/label is not compatible with Re2: Invalid regular expression: /^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])$/u: invalid perl operator: (?! and 3 more
[FAILED] State Transition is invalid: IncompatibleRe2PatternError: Pattern ^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])$ at /documents/domain/properties/label is not compatible with Re2: Invalid regular expression: /^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])$/u: invalid perl operator: (?! and 3 more
[FAILED] State Transition is invalid: IncompatibleRe2PatternError: Pattern ^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])$ at /documents/domain/properties/label is not compatible with Re2: Invalid regular expression: /^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])$/u: invalid perl operator: (?! and 3 more
[FAILED] State Transition is invalid: IncompatibleRe2PatternError: Pattern ^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])$ at /documents/domain/properties/label is not compatible with Re2: Invalid regular expression: /^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9])$/u: invalid perl operator: (?! and 3 more

Appears that it's trying to register the old DPNS contract instead of the one in https://github.com/dashevo/dpns-contract/pull/25. The correct one is in the current master package.json. Did you update dependencies after pulling master?


The problem has nothing to do with serialization mechanism (Fast-CDR) but from the upper layer (Fast-RTPS) that relies on it.
We require more context information. What are your endpoint QoS settings?

The QoS used is the below:
static const rmw_qos_profile_t rmw_qos_profile_sensor_data =
{
RMW_QOS_POLICY_HISTORY_KEEP_LAST,
5,
RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT,
RMW_QOS_POLICY_DURABILITY_VOLATILE,
false
};

That settings shouldn't arise any problem.
Reviewing your crash back trace we detected that the ParameterEvent.msg there mentioned is implementation dependent:

For cristal there is a string member.
For bouncy there isn't any string member.

Could it be possible that not all your nodes are running the same ROS2 instance? There are several scenarios that may justify the crash. :

some of them use cristal and others bouncy.
the cristal update that introduces the string was made on Dec 4 2018. Are all your cristal instances up-to-date?

Please, let us know.

Thank you. You are right. My application has nodes, one Windows node, many Linux nodes. I am sure of the windows node ROS 2 Crystal Clemmys, which is built from source. Linux nodes is built from source, it is master branch. Its date is about Oct.  After checked, ParameterEvent.msg for Windows has a more string node field, while the Linux's has no.
This issue happened after running for many hours, though,  do you mean they are incompatible?

Happy you work it out.
From the Fast-RTPS point of view they are incompatible. According to the standard two RTPS endpoints MUST share the same topic otherwise serialization trouble would arise.
Why it took so long to break down? Our ROS pundits can only conjecture:

According to ROS2 design parameter events may not be triggered often.

Fast-CDR only throws an exception when a serialization error is detected. Most errors would go undetected. For example, if the buffer address where the string length was supposed to be keeps 0s, no exception would have been thrown.


SAN

SAN
问题描述：
1、请问下作者有没有测试过SAN的模型（ ResNet-152）在CPU上或者在移动端的耗时？
2、请问下这个残差网络是否可以替换浅层一点的网络，性能会不会下降，有没有做过相关尝试？
3、请问下这个300w增强的数据还是原来68点的标注吗，AFLW和300w有没有放在一起训练过？

1，You can follow https://github.com/D-X-Y/landmark-detection/tree/master/SAN#evaluation-on-the-single-image to evaluate SAN on CPU. We did not test its speed on CPU or edge devices.
Besides, we only use ResNet-152 to extract style features during training, and do not use it during inference.
2, You can replace it with ResNet-50 or ResNet-34, the performance should be similar.
3, Yes, we use the original 68-points annotation. We did not try to train SAN on the joint of AFLW and 300W.
Best regarrds

您好：
      我按照Evaluate on 300-W or AFLW 进行测试，测试过程中出现如下问题，一直无法解决，请问能否帮忙解答下，谢谢。

------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年11月7日(星期四) 下午5:50
收件人<EMAIL_ADDRESS>抄送: "735944309"<735944309<EMAIL_ADDRESS>主题: Re: [D-X-Y/landmark-detection] SAN  (#50)
1，You can follow https://github.com/D-X-Y/landmark-detection/tree/master/SAN#evaluation-on-the-single-image to evaluate SAN on CPU. We did not test its speed on CPU or edge devices.
Besides, we only use ResNet-152 to extract style features during training, and do not use it during inference.
2, You can replace it with ResNet-50 or ResNet-34, the performance should be similar.
3, Yes, we use the original 68-points annotation. We did not try to train SAN on the joint of AFLW and 300W.
Best regarrds
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

@xieliang11111 请问是什么问题么？我是能看到&nbsp符号，看不到你描述的问题

我这边在用那个评估方法在300w上面评估的时候，应该是加载你的checkpoint_49，挂在torch的 serializatio.py里面，显示unpicklingerror：NEWOBJ class argument isn't a type object。应该是反序列化加载的时候报错。
---Original---
From<EMAIL_ADDRESS>Date: Mon, Nov 18, 2019 19:37 PM
To<EMAIL_ADDRESS>Cc: "Rick_LX"<735944309<EMAIL_ADDRESS>Subject: Re: [D-X-Y/landmark-detection] SAN  (#50)
@xieliang11111 请问是什么问题么？我是能看到&nbsp符号，看不到你描述的问题
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

请问你的(PyThon, Pytorch）环境是？如果和我save的环境不一致，是有可能出现这种错误。

Python是3.6的，但是pytouch版本比较低，我升级下试试，谢谢，请问你有微信，可以加个微信吗，因为正在评估关键点最近几年的方法，在san这里还有一些问题没弄明白，想请教下，谢谢。
---Original---
From<EMAIL_ADDRESS>Date: Mon, Nov 18, 2019 19:50 PM
To<EMAIL_ADDRESS>Cc: "Rick_LX"<735944309<EMAIL_ADDRESS>Subject: Re: [D-X-Y/landmark-detection] SAN  (#50)
请问你的(PyThon, Pytorch）环境是？如果和我save的环境不一致，是有可能出现这种错误。
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

你好：
       有两个问题想请教下，望不吝赐教，谢谢！
     （1）请问下我这边想新增我自己的数据集，主要是案管场景的数据集，这些训练数据主要是案管平板采集的，数据差异性很大。
所以假如用你的那四种风格的数据做微调训练，用我自己的数据需要怎么样获取你这四种风格的数据集，你是用ps生成的还是有生成代码？
     （2）初步训练过你的代码，并修改过相关参数，但是距离您这边公布的结果还有差距，请问调参有么有特殊的技巧，可否指点下，谢谢。
---Original---
From<EMAIL_ADDRESS>Date: Mon, Nov 18, 2019 19:50 PM
To<EMAIL_ADDRESS>Cc: "Rick_LX"<735944309<EMAIL_ADDRESS>Subject: Re: [D-X-Y/landmark-detection] SAN  (#50)
请问你的(PyThon, Pytorch）环境是？如果和我save的环境不一致，是有可能出现这种错误。
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

(1) I use PS instead of codes to generate images with different styles.
(2) I can use the SAN codes to reproduce my results, also the full training log has been provided, where all hyper-parameters are printed in the log.
What are your reproduced results? What is the difference?

你好：
      （1）请问你这边用ps生成数据，假如我们需要新增数据，你那四种风格直接可以在上面找到吗？
      （2）我直接用的你的代码，用compare工具对比了下参数，基本一致，只有在网络的Relu(inplace)部分，你这边原始的是Relu(inplace)，我这边是                           Relu(inplace=True),这里应该不影响测试结果,只影响内存申请。但是最终在300w上测试结果只有：common=6.08,challenge=8.89,fullset=6.63,                 这个与你log上的common=3.32,challenge=6.58,fullset=3.96差距还是很远。请问还有什么影响因素吗？
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年12月2日(星期一) 晚上7:27
收件人<EMAIL_ADDRESS>抄送: "735944309"<735944309<EMAIL_ADDRESS>主题: Re: [D-X-Y/landmark-detection] SAN  (#50)
(1) I use PS instead of codes to generate images with different styles.
(2) I can use the SAN codes to reproduce my results, also the full training log has been provided, where all hyper-parameters are printed in the log.
What are your reproduced results? What is the difference?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

(1) sorry for that, the original PS template is lost. You can try other methods to generate images with different styles.
(2) It could be caused by (1) wrong GAN training or (2) wrong detection model training. You can compare our log with your training logs. In addition, the original codes are run in Pytorch 0.4. If you are using the recent Pytorch version such as 1.3.1, many codes should be modified accordingly.

你好：还有如下问题
       （1）假如没有ps模板，我直接用我自己的数据去训练rennet并聚类，这样是否有意义，以前你这边有尝试直接用训练数据做聚类吗，或者做相关消融实验。
       （2）原来我是直接用你共享的cycle-gan 文件夹下面训练的风格生成模型，不知道我自己训练和你的模型差距大不大，假如只是做4分类，我觉得应该影响不是很大，所以就没训练cyclegan。至于检测模型，我这边刚开始训练，还是用的你的数据和检测框。
       （3）还想咨询下你这边有没有在别的数据集上测试过，对侧脸和五官部位的点，鲁棒性怎么样？
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年12月3日(星期二) 中午11:21
收件人<EMAIL_ADDRESS>抄送: "735944309"<735944309<EMAIL_ADDRESS>主题: Re: [D-X-Y/landmark-detection] SAN  (#50)
(1) sorry for that, the original PS template is lost. You can try other methods to generate images with different styles.
(2) It could be caused by (1) wrong GAN training or (2) wrong detection model training. You can compare our log with your training logs. In addition, the original codes are run in Pytorch 0.4. If you are using the recent Pytorch version such as 1.3.1, many codes should be modified accordingly.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

(1) In my opinion, if your generated styles are diverse, it makes senses. Yes, I tried on original images, and it still improves a little.
(3) I only tried on 300W and AFLW. I did not test its robustness on profile faces.
I have to say that if you are pursuing state-of-the-art accuracy, you can try some very recent methods. This work was done two years ago, and the accuracy is inferior to the current SOTA methods.