Allow requests' AuthBase derived authenticators to be used with OWSLib

This is a simple PR to allow for Requests Authentication handlers to be given to the URL requests.

allow AuthBase to be given

@tomkralidis ok to merge?

LGTM.  Also cc'ing @justb4 for any comments.

@justb4 can you post where you see the flaw?  auth.cert = False should be set on the request.

Down the road, you should probably switch from requests. to just using a Session object.  I was looking at the LOE, but figured this was a good first go.

I added some additional checks.  @justb4

@justb4 comments? good to merge?

Hard to tell without extensive testing. This code has many possible scenario's based on what is passed to openURL(). For one thing the auth parameter needs additional comment, that it is either None, an OWSLib Authentication or an requests AuthBase derived object. openURL() is also called by many services. There it is always assumed that the auth object is of type OWSLib Authentication, at least containing a username and password. If a requests AuthBase derived object is passed those fields may not be present, for example a token auth. At least check with hasattr() then. Sorry, maybe someone else can have a fresh look. I am not too deep into OWSLib, but implemented several Auth-client systems in GeoHealthCheck with requests, including ESRI Token. So the essential code of this PR is:
    if isinstance(auth, AuthBase):
        rkwargs['auth'] = auth
    elif auth:
        if username:
            auth.username = username
        if password:
            auth.password = password
        if cert:
            auth.cert = cert
        verify = verify and auth.verify
    else:
        auth = Authentication(username, password, cert, verify)
    if auth.username and auth.password:
        rkwargs['auth'] = (auth.username, auth.password)
    if hasattr(auth, 'cert'):
        rkwargs['cert'] = auth.cert
    elif cert:
        rkwargs['cert'] = cert

It is the above code that confuses me: if a requests AuthBase derived object is passed (the elif) I would expect it to be directly passed in rkwargs. Now it is overwritten with username/password, and rkwargs['auth'] gets auth.username, auth.password tuple. requests API expects auth – (optional) Auth tuple or callable to enable Basic/Digest/Custom HTTP Auth. Or am I completely missing something?

The auth doc inherits from AuthBase which allows for customized authentication handlers.  So you can have something like a username/password authenticator that handles the token generation, NTLM, Kerberos, etc...  To check if the auth is of the right type, it should be an instance of AuthBase.

Yes, but my point is that if auth.username and auth.password: . If auth is an AuthBase instance those attributes may not exist within the auth object. So at least there presence should be checked with hasattr. But still I find it strange that auth is not directly assigned to rkwargs and dus passed unaltered to requests.
Again: I may be missing something, so anyone can have a fresh look? @cehbrecht maybe?

@achapkowski thanks for working on this!
I also need this feature, and agree the changes proposed in this PR are hard to reason about because there are many places in OWSLib that assume the auth argument is an instance of the owslib.util.Authentication class...
@justb4 / @cehbrecht I've raised a PR for an alternate implementation that I think may be easier to reason about. Looking forward to your thoughts!

@symbioquine thanks for taking a deeper dive.  I don't use the whole API, so I might not have tested everything.  Mainly WMST, so if you feel there is a greater coverage, we can use your PR.  I think the requests authenticators make life easier, so if we can leverage them, let's do that!

@symbioquine yes, LGTM! So my proposal is to follow your PR.

Sounds good, closing


rstats fps throws error.

I just with rstats and using the very basic code :  rS( 'frame' ).start();
rS( 'rAF' ).tick();
rS( 'FPS' ).frame();--> this  line throws error "Cannot read property 'interpolate' of undefined" . any way i can fix it?

Do you have any code online I can check to see what's going on?

Hello,
I am getting the same error, you can find the code used on this codepen: http://codepen.io/luigimannoni/pen/RWYyJo

My apologies to both: i forgot to add a check for defines. https://github.com/spite/rstats/commit/23d114588a140a9356d9c0f88c15356bc10a4292 should fix it

That was an easy one, should've figured it by myself :)
Thanks


Badge Request: Gitlab Code Coverage

:clipboard: Description

Service: Gitlab
Information: Code Coverage

:link: Data

public API: Yes

API key: no

doc: https://docs.gitlab.com/ce/api/pipelines.html#get-a-single-pipeline

Example:
10779832 is the project's id

from https://gitlab.com/api/v4/projects/10779832/pipelines get the latest pipeline id and then go to https://gitlab.com/api/v4/projects/10779832/pipelines/57333607 to get the coverage

:microphone: Motivation
You propose already multiple services for Codecoverage but for people who want to use Gitlab's one it would be better

Hi @Aviortheking, are you sure there's no API key required here? The documentation you referenced mentions authentication, and I'm also getting HTTP 401 Unauthorized responses on the api calls you included.

whoops sorry it's seems to access publics repositories you need the api token with the api scope after it will work for every public repositories
ex: curl --header "PRIVATE-TOKEN: " https://gitlab.com/api/v4/projects/10779832/pipelines/57333607

no worries! we'd definitely like to add more badges for GitLab but we need to first figure out how we're going to tackle the authentication piece, refs https://github.com/badges/shields/issues/541#issuecomment-484264221.
We do already have support for the Pipeline Status badge, but only because we were able to scrape the native badges which didn't require auth.
I'm going to leave this open for now to track the specific badge request for coverage, and once the auth piece has been solved this should be something that could be picked up

ok thanks :smile:

Can we reverse engineer it from the svg code? For example if I navigate to
https://gitlab.com/riskycase/broadcastem-core/badges/trunk/coverage.svg?style=flat-square
I get the svg response as below
<svg xmlns="http://www.w3.org/2000/svg" width="116" height="20">
  <g shape-rendering="crispEdges">
    <path fill="#555" d="M0 0 h62 v20 H0 z"/>
    <path fill="#4c1" d="M62 0 h54 v20 H62 z"/>
  </g>

  <g fill="#fff" text-anchor="middle">
    <g font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
      <text x="31" y="14">
        coverage
      </text>
      <text x="89" y="14">
        99.33%
      </text>
    </g>
  </g>
</svg>

The variables can be https://gitlab.com/:user/:repo/badges/:branch?/coverage.svg?style=flat-square, with branch defaulting to master

Thanks @riskycase! I didn't realize GitLab provided their own coverage badge, but that's something we could certainly support given that it won't be subject to the same rate limiting constraints as the API.
Though API's are generally preferred, we do have a few other badges we provide that are based on upstream scraping of the svg and have infrastructure accordingly to support that (our GitLab Pipeline Status Badge uses this too)
https://github.com/badges/shields/blob/master/services/gitlab/gitlab-pipeline-status.service.js#L37.
This should be a pretty easy badge if anyone's interested!

with branch defaulting to master

This is what the existing GitLab pipelines badge currently does, but I think we should aim to resolve https://github.com/badges/shields/pull/5241 one way or another before we add another GitLab badge replicating that behaviour

Yup agreed, I meant to make note of that but got distracted and forgot. Thanks Chris!

This should be a pretty easy badge if anyone's interested!

Can sure try giving it a go, however I might not be able to assure success if I work on it myself
@chris48s what's your call on skipping the default branch part altogether then?


VS Code crashes when deleting files from the "Explorer"

Issue Type: Bug
Issue
When just deleting one or more unneeded files from a newly created project such as a React one with "npx create-react-app " in the Explorer then VS Code first freezes and thereafter crashes prompting me to either close it or reopen it.
Steps to reproduce
So, the steps to reproduce is just is actually very short and straight forward since it is, at a minimum, just:

Delete a file or more from the "Explorer"

"Bonus info"
I have tried to disable some of my extension to see if that would help. But it hasn't ... But I of course try disabling some more combinations thereof so that might be able to help more with this issue myself.
Hope this description of this issue is okay. Otherwise, let me know.
Br. Jonas
VS Code version: Code 1.42.1 (c47d83b293181d9be64f27ff093689e8e7aed054, 2020-02-11T14:44:27.652Z)
OS version: Darwin x64 19.3.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8257U CPU @ 1.40GHz (8 x 1400)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_offsurface_control: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (0.59GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (10)

Extension
Author (truncated)
Version

npm-intellisense
chr
1.3.0

path-intellisense
chr
1.4.2

vscode-eslint
dba
2.1.1

es7-react-js-snippets
dsz
2.6.0

vscode-npm-script
eg2
0.3.11

prettier-vscode
esb
3.20.0

graphql-for-vscode
kum
1.15.3

debugger-for-chrome
msj
4.12.6

vscode-jest
Ort
3.1.1

colonize
vms
2.2.2

"Ps.", if this info might be of any help or usage at all, but when using the terminal to remove files, no such problem occur.
Just wanted to share that (even though it be a complete noob kind of obvious info ... but still .. bear with me :) )

Can you please follow the steps in https://github.com/Microsoft/vscode/wiki/Native-Crash-Issues to get at more details around the crash and attach the result here? Thanks!

Yeah okay, @bpasero . I will of course have a look at it in order to help as much as I can. But you've been nice to know that I should've included more info when trying to fill out your "issue template" (or whatever no would call it) in the beginning ..
But "anywho", I'll of course have a look at it and try my best to supply you with as much info as I can.

Great to hear.


Lab 3 - Check if notebook still works

There seems to be an issue with part 1 where the model can't be trained. A student reported this in their demo and report. Executing the same step on Azure is no problem, seems a version issue. Also check the Docker images versions.
See https://github.com/HOGENT-MLOps/mlops-2324-ArvidVanDorpe1/blob/main/ml-workflow/03-Azure/Azure_done.ipynb

Also move images and notebook to resources folder!


Add listSubscriptions to resourceApi typings

Implementation needs to be done in Resource Groups, which will be coming soon

Shouldn't the auth package be used instead?

Maybe... Here's my scenario:
I need a way to list the filtered subscriptions to create my own SubscriptionListStep for a user to select their sub. This is happening in the Functions and Storage extension.  Since I don't think we'd want the client extensions to directly consume the auth package, I was planning on having Resources handle listing the subs out to the clients.
Resources also controls the tenant/subscription filter settings, so I thought it made more sense for it to deliver the list to the clients.


Writer parser for input text. Strip the text from all strange characters.

”
"
)
(
[
]
—
_
“
And delete everything within brackets.

’


Claim sha1sum

I forgot to open an issue on this... if you don't mind, I've already started on md5sum, sha1sum, etc. as they are all fairly similar.

@JalonSolov haven't started yet :smile:, feel free to!


What Triggers 'Significant' and 'Meaningless' Changes?

Hello everyone 👋 Huge shoutout to CallStack for creating reassure!
I am looking into integrating reassure into my teams pipelines, and creating a white label that automatically generates performance and unit tests for all new components created for my company to use in future projects for our clients.
But in order to do that, i would like to know more about what would cause a change to be considered significant or meaningless.
I did some quick testing, and found that i could increase rendering count and time of components a lot, before the changes would be considered significant.
I have been looking for information on this online and listened to the podcast but were not able to find any details on this.
My goal is to be able to give examples to my team on what code examples and scenarios that would cause the changes to be considered significant.
For example, starting out with a simple component, adding useEffects, states and calculations and investigating when it's okay to ignore the warnings in the pipeline and when not to.
Can anyone provide me some information about this, or point me in the direction of where i might learn more about this?

Hey! The code is here: https://github.com/callstack/reassure/blob/99afdf9848ca48eeab27091ce3cb5e11e57b20b6/packages/reassure-compare/src/compare.ts#L18-L21
I don't remember where these came from, probably from V8 codebase. @mdjastrzebski would know better here, and I hope he'll be able to answer next week :)

Hey @thymikee, thanks for the fast reply!
I've had the day to look into the inner workings of Reassure, to air it here to hopefully get corrected where i am wrong, but also to help you provide me with a better answer and hopefully also benefit other people who arrive here.
For rendition time ms to be considered significant, the changes has to pass two conditions:

The mean rendition time must be higher than a hardcoded minimum threshold of 4ms.
The test values must be statistically relevant, meaning that, in this case, the tests results isn't due to an unstable environment. To do this, Reassure calculates Z-scores for all tests, then uses a standard Z-score to P-value, lookup table, to check if the test result is below the chosen acceptable threshold.

I have been able to verify this in my own tests by just adding components to my view until the rendition time came above 4ms.
However, for the rendering count, it seems that it could never trigger a significant change by itself? I was not able to increase it to a point where my changes would be considered significant, before i also increased the rendition time to above 4ms.
I found this part of the code that uses the rendition count threshold but by looking at the code, and trying to provoke it in my tests, am i correct to say that render count could never be considered a significant change?
If so, im curious as to to what the reasoning behind that might be? As my understanding is that unnecessary rerenders  could impact performance. Could it be because, the rendering time already is descriptive enough of the performance? But wouldn't it be nice to be able to warn about this, as it potentially could lead to rerendering of the components children later?

@PhillipFraThailand your research seems right. Let me rephrase it and add some context to it, so that we are on the same page:
Significant / Meaningless Render Duration

the basis for significant / meaningless categorization is the statistical hypothesis tests (z score, etc) based on mean durations from baseline and current, as well as std dev & number of runs. This is based on V8 perf testing method. The goal her is to analyse not only the mean values but also their dispersion and count to be able to establish if these two sets of results are statistically different given used certainly parameter.
the 4 ms threshold is additional check added, as the grain on measurement is 1 ms. This seams that for very short render durations, is easy to between e.g. 1 and 2 ms, which would easily trigger the first check. Therefore we have this 4ms threshold which will limit such small value cases. For best stability, your renders should take at least ~100ms each.

Render Count

render count is a different type of check, not related to significant check above. It is intended to help users catch cases when they inadvertently introduced additional render to their components, e.g. by breaking the memoization, etc. Render counts are more stable measure then render duration, as typically your component has fixed number of renders under given scenario.

@PhillipFraThailand hope that answers your questions. If I left some piece unclear please add more specific questions.

Hey @mdjastrzebski thanks for the clarification and sorry for my late response!
Just one last question, will it be possible, sometime in the future, to pass settings for what should be considered significant, or potentially adding Render count also?
We might add that into our pipelines ourselves for now,  i will share it here when we get further with this :)
Thanks!

@PhillipFraThailand customizing the "siginficant/meaningless" condition could be an option for the future, but tbh I do not have idea how to make it a usable API. Perhaps you can submit some proposal for that.
That being said, Reassure beside creating Markdown file also creates a JSON file containing all the relevant data for each test: invidual runs, means, std dev, for both baseline and current. You could use that data to e.g. reprocess the file and change the classification of result.
Basically each tests get classified as exactly one of significant, meaningless, added (no baseline entry) or removed (no current entry). The entries in countChanged will contain duplicates of the above.

Closing as stale.


Plugin does not automatically verify signature and permanently stores result of signature verification in message (even multiple times)

Receiver: Outlook 2013 with OutlookPrivacyPlugin Build 5627
Message: OpenPGP Inline PGP signed message
With a  Inline PGP signed message stored in an IMAP folder, the signature is not checked automatically.
When using the preview pane and pressing "verify" , the result of the verification is stored permanently in the message body, even multiple times:
** Valid signature from "user user@xyz" with KeyId
xxx.
** Valid signature from "user user@xyz" with KeyId
xxx.
When opening the message and pressing "verify" and closing the message, Outlook asks me if I want to save the changes.

Currently OPP doesn't support the preview pane (see #63). The actual bug here is we should be blocking verify/decrypt on preview pane until it's supported.


Treediv bz

add tree grid

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@22b46fe). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master      #2   +/-   ##
========================================
  Coverage          ?   0.00%
========================================
  Files             ?       2
  Lines             ?      93
  Branches          ?       0
========================================
  Hits              ?       0
  Misses            ?      93
  Partials          ?       0

Continue to review full report at Codecov.

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


Fix/17365 nostrikethrough solution

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/17365
PROPOSAL: https://github.com/Expensify/App/issues/17365#issuecomment-1578864389
Tests

Send a codeblock, inline codeblock, emoji, text in italics.
Edit sent messages.
Go offline.
Delete the edited texts.
Verify that the space between the text and (edited) tag is not struck through.

[x] Verify that no errors appear in the JS console

Offline tests

N/A
QA Steps

Send a codeblock, inline codeblock, emoji, text in italics.
Edit sent messages.
Go offline.
Delete the edited texts.
Verify that the space between the text and (edited) tag is not struck through.

[ x Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@aimane-chnaif tbh not sure why 😕

@aimane-chnaif now I have some different errors, so I guess the useNetwork was not the problem 🤔

@aimane-chnaif I'm taking this over while @koko57 is OOO.
Tests were failing because of useNetwork in OfflineIndicator, which is used in CheckboxListItem inside SelectionList, so the SelectionList perf tests were failing 😅 . But that was expected though, just needed a tiny mock :D
Just sent the fix, let me know if you need anything else done here!

@aimane-chnaif Friendly bump here, in case you missed it

@aimane-chnaif Friendly reminder 🙂 I'm back so I can take it back.

@aimane-chnaif all conflicts resolved and synced with newest main

@aimane-chnaif friendly bump 🙂 everything's up to date

@aimane-chnaif merged with latest main

@aimane-chnaif done! 🙂

@aimane-chnaif yes, everything works

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/AndrewGable in version: 1.3.72-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 1.3.72-11 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


feat: db_name no update

Updating the db_name property results in a destructive
action as the db is recreated by Terraform.
This change fails the update quickly for improved user
experience.
Checklist:

[x] Have you added Draft Release Notes in docs/draft-release-notes.md?
[x] Have you followed the Conventional Commits specification?

Thank you very much @jimbo459 . I just added the test to check that it is not possible to update the property.


Support Java 8 as an optional target

Current enterprise workflows involving Spark may necessitate downgrading Hydra's Java output from Java 11 to Java 8 temporarily. This would involve at least:

Removing the RDF4j dependency and associated code from Hydra-Java
Adding explicit type parameters in generated code, even where Java 11 would be able to infer them (i.e. avoiding the use of diamond syntax as in new Term.Literal<>(...)

TODO:

Investigate whether the above are feasible, and whether there are any other blockers for Java 8 compatibility
Create a feature_xx_java8 branch of Hydra which the temporary workflows can depend upon

Restricting Hydra to Java 8 as a target is not of long-term value, and this branch will likely cease to be maintained at the end of 2023, when the downstream constraint is expected to be resolved.

Note: RDJ4j 4.x explicitly specifies Java 11 as a target. RDF4j 3.x does not (see https://central.sonatype.com/artifact/org.eclipse.rdf4j/rdf4j/3.7.7).

Done. Java is now the default target, and the default is currently hard-coded. The code for generating more compact "diamond" type arguments is still present, but will require some additional configuration to activate.


Writes in binary files than json

Is your feature request related to a problem? Please describe.
JSON parsing and writing are costly. The cost increases when this happens at every commit, which is what our current scenario.
Describe the solution you'd like
Removing default JSON write and replacing with binary files only.
Describe alternatives you've considered
None. But open for suggestions.
Additional context
Should the proposed binary files need to be non-human readable? Any advantages?

I would like to pick up this as a part of GSScC'20

Sure. Go ahead!

Hi, @all. This issue is given top priority for now as we move towards a more universal way of crunching data, independent of costly parsing of JSON files.

Hey @Harkishen-Singh @aquibbaig According to me we can use protocol buffers here. I have worked on marshal and unmarshal in protocol-buffers. This generates really small sized .pb binary file. This issue is a big part so can I work on small parts.
1 step : I will start with adding data from local-config.yml to  .pb by creating localConfig.proto file, which will contain Message Routes.
Can I work on this issue?
thanks

@aquibbaig Could please share your views on this issue, like how are you planning to solve this issue or any R&D you'd have done.

@devansh42 Right!!!

So, we thought of a situation where we could categorize stored data based on "time frame", rather than "route's URL". That way we'd have a single file for all the routes(in our current system, we have a dedicated file for each route) for a certain time say 1 hour, then we save the file from memory to HDD and continue writing in another file.
Each file would have metadata on top (in the form of a hash table representing the routes' data it contains) and the data would be stored in tabular format(for example: for ping: say routeName, hashValue, datapoint).
This file may/may not have any extension so that we could parse it with noticeable speed. JSON marshals can be expensive at times.

why did we think of such an approach?

Say we scaled up to 1 million routes, each route has its own file being written into. But in Linux, there is a kernel's limit on the number of files you can open at the same time as there are limited values available for a file descriptor, then it chokes.
We have to migrate from JSON at any cost.
We don't mind if these files are not human readable.
We don't want to compromise with querying speed.

Let me know if you have any thoughts of your own.

@aquibbaig  Why are we not planning to use already available solutions like leveldb as a storage engine?  Designing you own file format is like re-designing the wheel.


Sending base64 files ,Meteor Call never comes

I call meteor methods from react native app but when Im trying to send large data (base64), it gave logs "Disconnected from DDP server." And again connect to DDP server but meteor call never comes.
any suggest?

I think you should check log on your meteor app. Maybe something broken already then meteor restart -> you lose your DDP connection.


[DDW-1093] Update cardano-js to v0.2.2 and address validator improvement

This PR introduces cardano-js package updated to version 0.2.2 and address validation improvement

Testing Checklist

Slack QA thread
[ ] Go to wallet send screen and enter receiver address to check if address validation works properly.

Review Checklist
Basics

[ ] PR has been assigned and has appropriate labels (feature/bug/chore, release-x.x.x)
[ ] PR is updated to the most recent version of the target branch (and there are no conflicts)
[ ] PR has a good description that summarizes all changes and shows some screenshots or animated GIFs of important UI changes
[ ] CHANGELOG entry has been added to the top of the appropriate section (Features, Fixes, Chores) and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance and unit tests are passing (yarn test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn package / CI builds)
[ ] There are no flow errors or warnings (yarn flow:test)
[ ] There are no lint errors or warnings (yarn lint)
[ ] There are no prettier errors or warnings (yarn prettier:check)
[ ] There are no missing translations (running yarn manage:translations produces no changes)
[ ] Text changes are proofread and approved (Jane Wild / Amy Reeve)
[ ] Japanese text changes are proofread and approved (Junko Oda)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (yarn storybook)
[ ] In case of dependency changes yarn.lock file is updated

Code Quality

[ ] Important parts of the code are properly commented and documented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-renderings
[ ] Any code that only works in main process is neatly separated from components

Testing

[ ] New feature/change is covered by acceptance tests
[ ] New feature/change is manually tested and approved by QA team
[ ] All existing acceptance tests are still up-to-date
[ ] New feature/change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review

[ ] Merge the PR
[ ] Delete the source branch
[ ] Move the ticket to done column on the YouTrack board
[ ] Update Slack QA thread by marking it with a green checkmark

@nikolaglumac I don't see any flow issue :(

@rhyslbw @nikolaglumac This one is updated! Can you please take a look again? 🙏