Add S3 SQS Data Event Notification message as metadata to records

Is your feature request related to a problem? Please describe.
We have a requirement to produce reports showing the time difference between a file been actioned upon (uploaded, generally) in S3 and the time that we process it in data-prepper
This page outlines the data provided to "SQS" https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-content-structure.html
From that my understanding at present is that only the Records.s3.bucket.name and Records.s3.object.key are used and exported to the event.
Ideally we would want the entire S3 data event message to be available to be used as metadata to be "attached" to the record. this would allow us to extend our requirement to possibly, say this file was uploaded by this "person/process/thing" at y time, we "recieved" it as x time, and the event had an original timestamp of z time.
So if this event ended up in Opensearch we may have an extra set of data along the lines of
s3: {
  eventTime: <time_object_created> (Records.eventTime)
  eventName: <put_object> (Records.eventName)
  bucketName: <bucket_name> (Records.s3.bucket.name)
  object: <object> (Records.s3.object.key)
}
internal: {
  original_time: <timestamp_of_log_line> (Origin time written by App)
  s3_time: <s3.eventTime>  (read from S3 Data event Notification message)
  dp_time: <time_ingest_by_dataprepper>  (added by dataprepper)
  os_time: <time_ingest_into_opensearch> (via a ingest pipeline or similar)
}

With the above we would be able to work out total latency from event emitted to event ingested in opensearch in this example.  Now if this time was prolonged we would hopefully be able to determine where the latency was introduced. This would help us measure our SLA's / SLO's accurately.
Please note I may have mixed terms etc, but hopefully I have got the gist across, of what we are looking for an why.
Describe the solution you'd like
We would like the S3 Data Event message to be attached as "metadata" to the records processed in a S3 sourced file
Describe alternatives you've considered (Optional)
We would need to build some solution, to read our final output, go search the S3 bucket, get the obect time and then update the record in the final output
Additional context
Off the back of this very brief discussion here https://github.com/opensearch-project/data-prepper/discussions/3626

@rhysxevans , Thank you for creating this issue and elaborating on your use-case. Since you are looking for end-to-end latencies, this could work very will with Data Prepper's new end-to-end latency feature (#3494).
We added a to_origination_metadata configuration to the date processor in #3583. With this, the sinks can report the latency between when the event was created (as defined by the pipeline author) and when the data reached the sink (as determined by Data Prepper).


Adding field to content type and showing within blog widget (recent posts) - how to?

I want to add an image which will be displayed on the recent blog post widget shown on my home page.
I am using orchard 1.8.1
I am finding a lot of information that seems to be out/outdated and not applicable to 1.8.1 (i.e. the designer tools module 1.6 does not work in 1.8.1)
Where can i find information on how to add change the content of the recent blog posts part to show the newly added feature image (added to the blog post content type)
Little frustrating because the shapes feature is enabled but nothing is visible either. Not sure if broken/changed or what.
thx -dave

Please ask this question on the forum https://orchard.codeplex.com/discussions


Testing: Thorough testing of each component and feature by the developer responsible for it

Yet to be assigned. Role could be seen as project manager for testing. Individual developers are responsible to provide unit testing for their individual code blocks, but this person writes tests that relate to the interaction of separate components and curates the tests file.


[WIP] Convert to Classes

Just a start and this PR is more about getting thoughts/should I even be doing this :)
Thank you for your interest in making OpenLayers better!
In order to get your proposed changes merged into the master branch, we ask you to please make sure the following boxes are checked before submitting your pull request.

[ ] This pull request addresses an issue that has been marked with the 'Pull request accepted' label & I have added the link to that issue.
[ ] It contains one or more small, incremental, logically separate commits, with no merge commits.
[ ] I have used clear commit messages.
[ ] Existing tests pass for me locally & I have added or updated tests for new or changed functionality.

Hi @nicholas-l.  At this point we are focused on changes that will benefit application developers.  While the class syntax can be nice for library developers, it doesn't bring any real benefit to users of the library, and the transpiled sources can be less performant and worse for debugging.  So unless it can be demonstrated that there is some other benefit, we won't be converting to classes yet.


send meeting reminder for mentors

i think one reminder 24 hours prior should be enough

@karbassi  when you get a chance can you create a new mandrill template for this and assign back to me?  thanks

This issue was moved to CoderDojoChi/c2#86


blog: remove bobsky from OWNERS

Bob is now an Xoogler and now longer involved in the Kubernetes project
regularly. Remove him from the blog.

FYI to @kubernetes/steering-committee as this was discussed on a call.
I know Bob so I asked him about it and he OK'd it.

/lgtm
/approve

/retest

/retest

/lgtm
/approve

/approve


React + Webpack + Socket.io + SSR

Hi, i'm working in a personal project, and I want to use webpack-dev-server with hot loader for dev and SSR for production with react-router, and I'm not finding a way of make these things work together.
Does anyone already had this problem or try to build something like this?

It looks like you just deleted our lovely crafted issue template. It was there for good reasons. Please help us solving your issue by answering the questions asked in this template. I'm closing this. Please open a new issue with filled issue template. Also make sure your issue is not a question. Questions should be posted on Stack Overflow.


Stand alone page - may even a landing page

It seems like pages such as login and signup have to be nested within the page/.  Is there a way to have them as stand alone?   For example, can I do:
{
path: 'login',
name: 'Login',
component: Login
},
{
path: 'register',
name: 'Register',
component: Register
}
Instead of -
{
path: '/pages',
redirect: '/pages/404',
name: 'Pages',
component: {
render (c) { return c('router-view') }
},
children: [
{
path: '404',
name: 'Page404',
component: Page404
},
{
path: '500',
name: 'Page500',
component: Page500
},
{
path: 'login',
name: 'Login',
component: Login
},
{
path: 'register',
name: 'Register',
component: Register
}
]
}

This is only template example, you are free to change it in any way, this solution is fully possible.


Weather notifier 🌤

Script Title -Weather notifier!
Brief -
The notifier uses openweathermap api and tells you the weather forecast of the day based on your location. built using tkinter for GUI experience. Can run in background with option to run it in after a fixed interval.
Instructions

Mention your location.
Mention if you want the script to run after a fixed interval or on click only.

Programming Language

[x] Python

Happy Coding

Hello, I would like to work on these issues, but when I checked openweathermap, its APIs were paid. If you don't have a problem, I will use the free weather service.

oh sorry  I think I messed up I want to do it and wanted the creator of this repo to assign it to me so I can build it and create a pull request.

What is the procedure of doing that. What I understood from the contribute.md was that for me to build an automation script i need to mae an issue and wait for the author to assign it to me.

What is the procedure of doing that. What I understood from the contribute.md was that for me to build an automation script i need to mae an issue and wait for the author to assign it to me.

oh sorry If you want to work on these issues alone, there is no problem

i dont mind collaborating its my first open source comntribution though i have some experience with tinter and python.Let me now if you wanna collaborate.


farcasterd: launch syncers before launching swapd, not after

Codecov Report

Merging #555 (1842b7f) into main (559571d) will increase coverage by 0.0%.
The diff coverage is 0.0%.

@@          Coverage Diff          @@
##            main    #555   +/-   ##
=====================================
  Coverage   12.1%   12.1%
=====================================
  Files         34      34
  Lines      10573   10550   -23
=====================================
  Hits        1277    1277
+ Misses      9296    9273   -23

Impacted Files
Coverage Δ

src/farcasterd/runtime.rs
0.0% <0.0%> (ø)

src/swapd/runtime.rs
0.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 559571d...1842b7f. Read the comment docs.


Fix package refs for Azure.Identity.Broker

Update Azure.Identity.Broker package references

Do we want to update this reference as well?
https://github.com/Azure/azure-sdk-for-net/blob/3e4f6b8b5d3571df098f6a030cbe60bb4c704c67/eng/Packages.Data.props#L246
It's the one the Test Framework uses and I'm seeing some building errors because of it.


Can't unmute when I got muted by someone else

We had a call yesterday, and somebody muted somebody else. That person was not able to speak anymore as there was no way to unmute him...

That should for sure not happen. You cannot unmute others (that's on purpose) but you can always unmute yourself, no matter who muted you.

@vuntz still having this issue? I'm cleaning the issue list and this looks like a nice candidate to be closed :wink:

Anyway, I will close this for the sake of cleanup and feel free to reopen it.

@vuntz still having this issue? I'm cleaning the issue list and this looks like a nice candidate to be closed

We'll check next time we use jangouts :-)


[SPARK-15275] [SQL] CatalogTable should store sort ordering for sorted columns

What changes were proposed in this pull request?
Jira link : https://issues.apache.org/jira/browse/SPARK-15275
For bucketed tables in Hive, one can also add constraint about column sortedness along with ordering.
As per the spec in [0], CREATE TABLE statement can allow SORT ordering as well:
[CLUSTERED BY (col_name, col_name, ...) [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS]
[0] : https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-CreateTable
Currently CatalogTable does not store any information about the sort ordering and just has the names of the sorted columns. This PR adds CatalogSortOrder to hold the sorted column name and the sorted order. Currently this information is not used in query execution but can be used as more support for bucketing is added. Possible advantage is ability to skip rows while performing predicate matching.
How was this patch tested?
Currently trunk does support creating bucketed hive tables. I am relying on existing tests.

Test build #58408 has started for PR 13059 at commit c2f81ca.

Test build #58408 has finished for PR 13059 at commit c2f81ca.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class CatalogSortOrder(

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/58408/
Test FAILed.

Came across https://github.com/apache/spark/pull/12759/ and realised that DESC ordering is not supported inherently.

Is it actually useful to support desc order?

I initially did not knew that DESC order is inherently not supported in Spark so had worked on this PR. One could add that in the engine but thats not my priority right now. I am working on improving https://github.com/apache/spark/pull/13231 which will have some parts of this PR. Closing this PR.


Claims do not contain "token" - how do I enable?

[ x] I read and understood how to enable logging

Issue / Steps to reproduce the problem
Use any api sample, set a breakpoint after api has been called. Look at Claims enumeration. See that a claim "token" does not exist.
Google for 36 hours
Look through the source for another 5
Notice that a thread about the v4 equivalent of preserveAccessToken was summarily dismissed without even a link to the supposed thing that was replacing it.
Relevant parts of the log file
N/A
<log goes here>

Use intellisense on options. Find SaveToken ??

Sorry, I omitted that step from my list. That went in at step 1 actually, apologies for being unclear.
I could parse the Authorization header for my delegation purposes (to the incoming access token back to the Token endpoint to get a new delegated access token like the docs say) but I want the code to look pretty.

Use SaveToken and use the extensions for AuthenticationManager to retrieve it in your code.

All set on this? Can we close?

It doesn't work like in IdentityServer3 with claims o  the principal. But there is an undocumented way to get the token from the context, so I'm happy. Thanks guys!

For those who are migrating from IdentityServer3 and arrived at this page from Google, you can get the access token like so:
var accessToken = await httpContextAccessor.HttpContext.GetTokenAsync("access_token");
Took me a while to figure this out... duh!


Translate course solutions better.

Coverage remained the same at 56.183% when pulling 11129ede2532d78796baacecb6660351ea6b9b26 on transalte-course-solutions-better into 50380faa19c1ae78f1368f88492451cf671df5d1 on master.

Coverage remained the same at 56.183% when pulling dbe27e0219385b28669f65aac0147bdb36ef38de on transalte-course-solutions-better into 50380faa19c1ae78f1368f88492451cf671df5d1 on master.


Allow subgraphs to trigger on the constructor invoked during contract creation

Do you want to request a feature or report a bug?
Feature
What is the current behavior?
Subgraphs can not trigger on the constructor invoked during contract creation
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
What is the expected behavior?
Ability to call a mapping function based on the inputs to the constructor during contract creation

Here is the feature plan:
The primary decision for this features is figuring out how to let users define a trigger on contract creation. There are two options so far:
(1) Contract creation triggers are folded into call handlers, and the call handler for contract creation would look like this:
callHandlers:
  - function: constructor(address,uint256)
     handler: handleContractConstruction

(2) Contract creation triggers are their own trigger type and look like this:
deployHandler:
  handler: handleContractCreation

Right now we search the execution traces returned by parity-ethereum which are associated with the data source by filtering out any trace for a call and checking the first four bytes of call input for a contract method identifier which the subgraph registered a call handler for.
Although contract creation can be thought of as calling the constructor method, the way the transaction is constructed and the EVM executes it is different. For starters, the call to create a contract has a NULL to property and the constructor code is passed to the EVM in the call without a corresponding method identifier. For those reasons I think we should expose deployment triggers using the subgraph yaml pattern in (2).
These are the required changes to implement this:
(1) Update graph-cli with the extensions to the yaml
(2) Update json-rpc-server to deserialize and save the new deployment handler for datasources
(3) Update BlockStream to scan traces for deployment triggers and send these deployment triggers along to the consumer
(4) Update RuntimeHost with a process_deployment method which can parse the input for a contract creation transaction for the params to the constructor
(5) Update RuntimeHost to construct a new EthereumContractDeployment object for the WASM handler
(6) Update SubgraphInstances process_trigger to handle the new EthereumTrigger::Deployment
(7) Update SubgraphInstanceManager to reprocess any dynamic data sources created in the block for deployment triggers
(8) Update graph-ts with the EthereumContractDeployment object which handlers will use as input to their mapping functions


Remove publication_year and interpolation meta

resolving https://github.com/pytorch/vision/issues/5768

The failures seem unrelated. I've raised the issues separately at #5850 and #5830

The failures seem unrelated. I've raised the issues separately at #5850 and #5830

I will wait until all the tests finished first, just to be safe. After that I will merge if no other test that break.


Unlock hath perks on ehviewer

Can add unlock hath perks on the app it worked on chrome and firefox I was wondering if you add that code on the app.

Actually most hath perks work on EhViewer.
https://github.com/seven332/EhViewer/wiki/Hath-Perks


Support no-hooks flag

Adds noHooks to the HelmChartSpec, to allow setting --no-hooks on helm operations.
Fixes https://github.com/k3s-io/helm-controller/issues/97

One of the e2e tests timed out. Locally they are running successfully. Maybe it was just a glitch in Drone. Is there a way to rerun the tests?

is this still relevant?


upgrade to hadoop 2.10.1 due to cves

Description
Relates to https://github.com/apache/pinot/issues/8480
Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes

Documentation

Codecov Report

Merging #8478 (aacfcc1) into master (d7be2ef) will decrease coverage by 3.36%.
The diff coverage is 83.33%.

:exclamation: Current head aacfcc1 differs from pull request most recent head a8b68f0. Consider uploading reports for the commit a8b68f0 to get more accurate results

@@            Coverage Diff             @@
##           master    #8478      +/-   ##
==========================================
- Coverage   29.23%   25.86%   -3.37%
==========================================
  Files        1652     1652
  Lines       86988    87002      +14
  Branches    13189    13191       +2
==========================================
- Hits        25429    22507    -2922
- Misses      59239    62344    +3105
+ Partials     2320     2151     -169

Flag
Coverage Δ

integration1
?

integration2
25.86% <83.33%> (-0.16%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...pache/pinot/common/config/provider/TableCache.java
71.42% <83.33%> (-4.63%)
:arrow_down:

...apache/pinot/common/lineage/LineageEntryState.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...pinot/minion/exception/TaskCancelledException.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...minion/tasks/mergerollup/MergeRollupTaskUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ion/tasks/mergerollup/MergeRollupTaskExecutor.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...nverttorawindex/ConvertToRawIndexTaskExecutor.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...e/pinot/common/minion/MergeRollupTaskMetadata.java
0.00% <0.00%> (-94.74%)
:arrow_down:

...rg/apache/pinot/common/lineage/SegmentLineage.java
0.00% <0.00%> (-91.31%)
:arrow_down:

...ache/pinot/common/lineage/SegmentLineageUtils.java
11.11% <0.00%> (-88.89%)
:arrow_down:

...plugin/segmentuploader/SegmentUploaderDefault.java
0.00% <0.00%> (-87.10%)
:arrow_down:

... and 173 more

Continue to review full report at Codecov.

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


Mark C main as noexcept false

Release mode Windows doesn't expect an exception to be thrown through reedkiln_main. So when the reedkiln::reset test allows this, the Windows C++ runtime breaks.
This pull request marks reedkiln_main as noexcept(false) to notify the compiler to prepare appropriately.
Closes #16.

Tested successfully on macOS.


Release Google.Cloud.Dataplex.V1 version 3.4.0

Changes in this release:
New features

Update Go Datastore import path (commit a711ad2)
Update Go Bigtable import path (commit a711ad2)
Release MetadataJob APIs and related resources in GA (commit a711ad2)
Expose create time in DataScanJobAPI (commit a711ad2)
Release metadata export in private preview (commit a711ad2)
Add data_version field to AspectSource (commit a711ad2)
Add annotations in CreateMetadataJob, GetMetadataJob, ListMetaDataJobs and CancelMetadataJob for cloud audit logging (commit a711ad2)
Add new Data Discovery scan type in Datascan (commit a711ad2)
A new field suspended is added to DataScans (commit a711ad2)
Expose create time to customers (commit a711ad2)
Add a TABLE_PUBLISHED field in DiscoveryEvent (commit a711ad2)
Add a TABLE_UPDATED field in DiscoveryEvent (commit a711ad2)
Add a TABLE_IGNORED field in DiscoveryEvent (commit a711ad2)
Add a TABLE_DELETED field in DiscoveryEvent (commit a711ad2)
Add a DATA_DISCOVERY enum type in DataScanEvent (commit a711ad2)
Add a DataDiscoveryAppliedConfigs message (commit a711ad2)
Add an Issue field to DiscoveryEvent.ActionDetails to output the action message in Cloud Logs (commit a711ad2)
A new enum TableType is added (commit a711ad2)
A new message TableDetails is added (commit a711ad2)
A new field datascan_id is added to message .google.cloud.dataplex.v1.DiscoveryEvent (commit a711ad2)
A new field table is added to message .google.cloud.dataplex.v1.DiscoveryEvent (commit a711ad2)

Documentation improvements

Correct API documentation (commit a711ad2)
Add info about schema changes for BigQuery metadata in Dataplex Catalog (commit a711ad2)
Add Identifier for name in message .google.cloud.dataplex.v1.MetadataJob per https://google.aip.dev/cloud/2510 (commit a711ad2)
Add comment for field type in message .google.cloud.dataplex.v1.MetadataJob per https://linter.aip.dev/192/has-comments (commit a711ad2)
Add comment for field status in message .google.cloud.dataplex.v1.MetadataJob per https://linter.aip.dev/192/has-comments (commit a711ad2)
Add link to fully qualified names documentation (commit a711ad2)
Scrub descriptions for standalone discovery scans (commit a711ad2)
Correct the dimensions for data quality rules (commit a711ad2)
A comment for message DataScanEvent is changed (commit a711ad2)
Dataplex Tasks do not support Dataplex Content path as a direct input anymore (commit a711ad2)

Created release for Google.Cloud.Dataplex.V1-3.4.0


Don't include special characters in generated passwords

For https://github.com/getlantern/android-lantern/issues/394

[x] Do the tests pass? Consistently?
[x] Did this change improve test coverage?
[ ] Has it been reviewed/approved by relevant teammates?
[x] Can it be QA’d in staging or something like staging?
[x] Is the code in question being linted? If not, consider adding a linter step to CI. If yes, make sure the linter is happy.
[x] Do we know how we’re going to deploy this?
[x] Are we clear on what the support and maintenance impact is?

Turns it out's due to this - https://stackoverflow.com/questions/28385132/sharedpreferences-in-android-not-persisted-to-disk-when-key-contains-newline#28386301


Introduce saved object plugin into maps plugin

Signed-off-by: Junqiu Lei<EMAIL_ADDRESS>Description

Introduce saved objects plugin, so that maps object can be store into OpenSearch
Fetch maps data into list page
Add top nav menu component and save map button at map page
Able to click save button and fetch map at maps list.

After this PR merged, will add more on store action logic.
Issues Resolved
https://github.com/opensearch-project/dashboards-maps/issues/68
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@junqiu-lei Can you include demo to this PR? Thanks

@junqiu-lei Can you include demo to this PR? Thanks

Yes, just added the demo on using saved_object plugin to store maps object. Thanks

@junqiu-lei thanks for the recording. Very helpful with the review. A few high level questions:

Is the entrypoint for the map permanently from the side nav or is it just temporarily there for now?
In the saved object management plugin, you also have the option to inspect the underlying saved object data too. Did you look into that?
Any particular reason you arent reusing the Visualizations List and are creating your own listing page?

@junqiu-lei thanks for the recording. Very helpful with the review. A few high level questions:

Is the entrypoint for the map permanently from the side nav or is it just temporarily there for now?
In the saved object management plugin, you also have the option to inspect the underlying saved object data too. Did you look into that?
Any particular reason you arent reusing the Visualizations List and are creating your own listing page?

Just offline talked with @ashwin-pc, great thanks on the feedback.

Yes, it follows UX design to entry from side nav
Good idea, will check to add.
Because from question 1, the entrypoint for maps is side nav, so it need it's own listing page. But later I will raise PR to also enable use Visualization entrypoint to create and list map.


update participant to support signal broadcast skipping

Sorry, late to this. One question, when does requireBroadcast get reset. In the case of going from a publisher -> non-publisher, the flag gets set which is correct for the first broadcast after the change. Guessing we want to skip after that. Without having read the entire chain, wondering if it would make more sense to keep track of this in the Room object based on participant version (participant version right now already changes on read only when there is some underlying change based on the dirty flag which does get reset).

I think we cannot skip.. once a participant is decided to be broadcasted, we'll have to continue to broadcast. This is because otherwise it'll be "stuck" at a particular state.

But, if there is no change, is it required? Wondering if the already existing change based (dirty flag) handling would prevent any unnecessary broadcast. I am surely missing some bit here. Will think more about it.

Right, if there is no change it wouldn't be needed.. I agree it requires some more thought.. but an element of it is that whether the participant is part of the broadcasted set or not would be a irreversible decision.


this will fix the shaders once im done filling this out

i will finish the rest of the imports

it may say its wrong only just because i am doing one pull request at a time


Configure an FCM app server (on firebase or other service).

after a bit of experimentation, I realised that we can simply store user FCM tokens in the coordinator.
this task is not needed.


fix rawdecoder typo

Problem
I was surprised to see arrayRawEncoder inside the ArrayDecoders class.
This pr fixes the typo (possibly a result of some copy 🍝 )
Solution
Renamed the method to align the naming
Notes
Additional notes.
Checklist

[x] Unit test all changes
[ ] Update README.md if applicable
[ ] Add [WIP] to the pull request title if it's work in progress
[ ] Squash commits that aren't meaningful changes
[x] Run sbt scalariformFormat test:scalariformFormat to make sure that the source files are formatted

@getquill/maintainers

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

JAsync support has been dropped


We have a new maintainer. 👏🏼

Nice and concise. Allow me to answer your email question here as this  is the proper channel.
Migration to ES6, I am OK with that. I used CoffeeScript because I was comfortable with it. If you find ES6 more comfortable, go with that if you are confident it won't break backward-compatibility.
First goal should be to respect backward-compatibility to prevent existing tools that depend on it, including its idiosyncrasies, from breaking. When that goal conflicts with what you want to do, I'd like to suggest forking with name change, like html2jade2 or html2pug in your own repo with forwarding links in this repo's README. Everyone is happy this way.
IMO Semver in-practice promotes backward-incompatibility because it allows multitude of conflicting versions under one name.

I think the ES6 "upgrade" will make a lot of improvements possible (some of which I have seen in the issues), so I will move forward with it. Keeping things backwards compatible must, of course, and will be the main constraint for any new releases.
I agree with your comment about semver, but, as long as the core remains compatible with the past then it should not matter. If at any point, there is a conflict, I will consider forking and redirecting to, indeed, keep everyone happy.


Byte Implementation: Correct usage of size parameter for Rs256Decoder/Encoder

and especially he fact is was used instead of 256 for the size of the GaloisField

I'm sorry, but I think I'm going to reject this pull request because your changes break the intended usage of the Rs256 classes due to an apparent misunderstanding of the field and the Rs256 classes.
The Rs256 classes can be used to store fields of up to 256 elements (8-bits), but it certainly can support smaller fields.  The example cases you modified used fields of 16 elements (4-bit fields) and you broke them by changing the size of the underlying field.
For example, the regular (int-based) encoder theoretically supports fields of 4 billion elements (32-bit fields) because it uses C# ints to store elements; that doesn't mean we should hard code its size to 2^32.
Both implementations can be used for fields of multiple sizes. Both implementations have theoretical and practical limits on the size of the fields they can support.
If you want to use Rs256* to operate a 256-element field, you can do so without modifying any of the code; just change which parameters you pass in.
I'll leave the pull request open to receive you feedback, but I don't think I'll be merging your changes.

Hello,
Thanks a lot for having a look at my code and taking the time for replying to me.
Let me provide some background info about what I did and why, but first let me thank you really very much for making your code freely available to everyone, it really helped me a lot.
As you correctly guessed I do not have the mathematical knowledge required to easily implement Reed-Solomon code by myself from scratch, but I have been able to use yours to get the building blocks I needed.
So: for some reason I had to implement a “(64, 60) Reed-Solomon code defined over GF(2^8)”, as specified. I have reference data for it, such that I can test whether a given implementation gives the expected results.
In this context (64, 60) means that we have a “message” of length 60, a “codeword” of total length 64, and thus a “parity section” of length 4. 64 and 60 are numbers of element whereas 2^8=256 is the number of possible state each of these element can take. So, my understanding is that this is a way to say we are operating on regular byte sequences. And this is of course confirmed by the rest of the context and by the reference data: we have 60 byte messages we want to complement with 4 byte parity words in order to form 64 bytes FEC encoded block to be sent.
Then I found your repository and in particular, I found the “ByteImpl” folder. Rs256Encoder/Decoder appeared to be exactly what I needed, so I started playing around with my reference data.
I first tried by constructing Rs256Encoder(64, 60, 0x11D) as “size” parameters seemed to be the total size of the codeword and “decodedSize” the size of the message.
It didn’t work out of the box for 2 reasons. For making your code spit out the same values than my reference data it needed some work:

I had to specify 65 instead of 64 for the size parameter, such that “Checkwords”, “EncodedSize” and “DecodedSize” can match 4, 64, 60 respectively. I was puzzled about why, and then by looking at your implementation I realized that “size” parameter was actually always used as “size -1”. So basically 65 was never used, 64 was use instead internally everywhere. There might be a mathematical reason for asking the user to say 65 when it means 64, but it I didn’t find it, and in general I prefer to not have to do minus 1 everywhere in my code. For me it seemed to make more sense to pass 64, 60 for telling the code to work as the (64, 60) RS defined in my problem.

Even with 65, there was something wrong (i.e. “IndexOutOfRangeException” in the calculations of GaloisField256.BuildLogarithms). And I found out that when passing 65 as the length of the size in the constructor of Rs256Encoder, the same value size = 65 was passed to the size parameter of the constructor of the GaloisField.

This I don’t understand: why should the element count of the codeword and the size of the GaloisField be equal? What if I would like a codeword of size 64 and a GaloisField of size 256 or any other combination?
And actualy by the way: GaloisField256.BuildLogarithms throws an IndexOutOfRangeException for all values in between 2 and 256 except for 2, 3, 16, 256.
Again I don’t know the reason behind it, but I think this is an issue from a programmatic point of view.
So well, in the end: my understanding was that:

We could simplify the code by removing all the “-1” and simply specify a value parameter of the useful value (pass x and use x, instead of passing x and use x-1)
The GaloisField size should not necessarily be the codeword element count

So I made both changes. But yes: I did not realize that your Unit Tests were actually defined over less than 256 for the Galois Field size, so yes I broke it, that’s bad
So obviously my PR is plain wrong, but still, I wonder:
What does the “256” in Rs256Encode/Decoder and GaloisField256 stands for, then?
Why is codeword length passed directly as the GaloisField size? Shouldn’t you allow another parameter for the GaloisField size to be passed to the Encode/Decoder constructor?
Why is there such an equality of codeword length + 1 and GaloisField size in all of your unit tests?
Well: you don’t need to answer to me into much details, it is up to you. I am probably completely off-topic here, so you may not want to waste your time with me.
Anyway: I was able to achieve exactly what I needed by building on your code and those changes, and for this I thank you very much again.
Best regards.

There's a deep, mathematical connection between the size of the Galois field and block sizes, and you see those invariants all throughout the source code.
RS encodes in blocks, and the size of each encoded block is one less than the number of elements in the field. That's it, there's no getting around it, it's how the polynomial math of RS works.
Consider GF(2^4).

Your symbols are base 2 (binary)
Each symbol is 4 bits.
The size of the field is 16 total symbols.
The size of an encoded block is 15 symbols.
Thus each block represents 15 * 4 bits == 60 bits.

Thus, if you want to encode and decode messages in GF(2^4), you have to provide it a byte buffer that has 15 places in it. It'll only use the bottom 4 bits of each place (each place can only be values 0-15, because those are the values of the field). You tell it how to divide the buffer into your original message values and parity values that it calculates and inserts for you.
If you were using the int-based implementation, you give it an 15-element array of ints and it does the same thing - values must be limited to 0-15, it only uses the bottom 4 bits of each element in the array, etc.
Using GF(2^4) is awkward for a software developer because you're working 4 bits at a time. Alright, so most people operate on GF(2^8) because it uses whole bytes.
Alright, so hows the block size math work out for GF(2^8)?

Your symbols are still base 2 (binary).
Each symbol is 8 bits (handy, because that's a byte).
The size of the field is 256 symbols (aka, the number of unique values a byte can have).
The size of an encoded block is 255 symbols.
Thus each block represents 255 bytes, or 255 * 8 = 2040 bits

If you're using Rs256Encoder, you have to give it a byte array of 255 elements. If you're using Encoder (the int-based one), you have to give it an int array of 255 elements.
What if you want your message sizes to be smaller? Well, for the parts of the block that are yours to fill in ("original message symbols"), you're free to put whatever values you want there. When you give the block to the encoder, it'll fill in the parts of the block for the parity.
So if you can give it whatever values you want, why not just give it zeros for the places you don't want to use?
A (64, 60) RS code over GF(2^8) leaves 255-64 == 191 array elements set to zero. 60 contain original message values, 4 are left for the encoder to fill in with the parity values.
It may be helpful to read the big comment on this class:
https://github.com/antiduh/ErrorCorrection/blob/master/ErrorCorrection/GaloisField.cs

Oh and to say it explicitly:
If your field size is 2^8 or less, then Rs256Encoder and Encoder are interchangable. One operates on arrays of bytes, the other operates on arrays of ints. Encoder tends to have better performance, Rs256Encoder tends to be easier to work with when using bytes.
The 256 in Rs256 just means that it can only be used for fields of a maximum of 256 total elements.

Hello again,
Thanks a lot for your explanation.
I still don't understand how to use your code to make my RS(64,60) operating on full 256 value bytes without modifications, given constructing Rs256Encoder(65, 60, poly) throws an exception in GaloisField.BuildLogarithm.
Shall I use Rs256Encoder(256, 60, poly) and just waste 191 bytes in my arrays (this means I'll have to to copy, allocation, etc.).
Why not just modify your code and let me specify Rs256Encoder(64, 60, 256, poly) or something similar? It will work straight without exception and without wasting byte in arrays... Considering your explanation, Rs256Encoder(int codewordSize, int messageSize, int galoisFieldSize, int poly) would make sens for all codewordSize <= galoisFieldSize), right?
And why does GaloisField throw for anything else than 2, 3, 16, 256? I see why 2, 16, 256 make sense (it's 2^1, 2^4, 2^8) but what about 3? And what about field of size 2^2, 2^3, etc.?
Thanks.

RS(64,60) operating on full 256 value bytes

Are you absolutely sure that someone wants you to implement a (64,60) code over GF(2^8)? What makes you think you need this? Can you provide a reference that I can read?

Shall I use Rs256Encoder(256, 60, poly) and just waste 191 bytes in my arrays (this means I'll have to to copy, allocation, etc.).

It has to be done somewhere. Either you do it when passing the array to the encoders and decoders, or the encoders and decoders would have to do it for you because they have to run the complete algorithm across all 255 positions. It's the same amount of work no matter how it's implemented.

Why not just modify your code and let me

I'm not preventing you from doing anything except modifying my repository. My source code is open, it's BSD licensed. You can copy the source code into your project and modify it however you want. I don't care and my license says I don't care. The only thing you need from me is help understanding how this technology works, which I'm happy to provide (.. to a limit).
I feel like you didn't read that giant comment I pointed you to, because it sets the foundation for how a lot of this works and would answer your questions. I'm not willing to do the work for you if you're not willing to do the work for yourself.

And why does GaloisField throw for anything else than 2, 3, 16, 256? I see why 2, 16, 256 make sense (it's 2^1, 2^4, 2^8) but what about 3? And what about field of size 2^2, 2^3, etc.?

Are you providing a valid field generator polynomial for the given set of parameters? I would not expect the same poly to work on different fields. Feel free to use the PrimeFinder method in IntImplTester to find valid primitive elements to use as field generator polynomials.

Hello,
Thanks again.
Sorry if I gave you the feeling I wanted you to do work for me. I don't need anything on my side, given I was able to implement exactly what I wanted by building upon your code. I can calculate exactly what I want, even without wasting byte in an array, everything is fine. Thanks again for your source code.
My proposal was just that you could, if you like, improve your code (from my point of view) by letting the user specify the size of the Galois Field independently of the length of the codeword, since I can see practical use for it. The code change would be easy.
Yes, I am absolutely sure that someone needs the (64, 60) RS code on GF(256). But unfortunately I cannot share anything, sorry.
However, I guess that many practical application of RS code operate on GF(256). For instance I found here: https://www.sciencedirect.com/topics/engineering/reed-solomon-code that Compact Disk use (32, 28) and (28, 24) RS Code over GF(256): "The audio compact disk (CD) employs two Reed–Solomon codes in a cross-interleaved format to form a cross-interleaved RS code (CIRC). Each code operates over GF (28), therefore there are 8-bits per symbol. The first is a (32,28) code and the second a (28,24) code; each is double error correcting. The first code, therefore, has codewords each 32 symbols long, comprising 28 data and 4 parity. In the second code, codewords are formed from 24 data symbols and 4 parity symbols."
I think that when codeword length is smaller than GF size, it is called a shortened RS code, that's maybe what I should have said from the beginning. My (64, 60) is a **shortened" RS code operating on full byte / GF(256).
There are many explanation and practical example of such shortened codes:
https://ipnpr.jpl.nasa.gov/progress_report/42-75/75B.PDF, https://www.cs.cmu.edu/~guyb/realworld/reedsolomon/reed_solomon_codes.html
https://ieeexplore.ieee.org/document/7016053
etc.
The wikipedia page on RS code also mention shortened codes.
So to summarize: I think that your Rs256Encoder/Decoder could benefit from a third parameter, the GF size, such that they became "Shortened code -compatible" for free basically.
Anyways, thanks again for your time!
Best regards.

If you have test vectors for the shortened codes, I wouldn't mind giving it a shot. This project could use some professional love after these these years.

You can have a look here: https://github.com/sonatique/ErrorCorrection/blob/master/UnitTests/TestRs.cs
I quickly put 4 Unit Tests, the code is a bit rough, but tests are valid


Adding more data from Cell Census for batch integration

Dataset overview: https://docs.google.com/spreadsheets/d/13HwfaqKsKPhha1pCWFM3K-8Z2HL8B1EcqultOjFeX5E/edit#gid=0

I copied the google document to the OpenProblems GDrive for safekeeping :) https://docs.google.com/spreadsheets/d/1_A169t0Zb5YRqJP1RcCbqes7oaA4jV94blj8R-3lJxA/edit?usp=sharing


FAB attributes not working in SDK 22

Using sample code and there are no button titles and the color cannot be changed on any buttons.

For some reason in XML
xmlns:fab="http://schemas.android.com/apk/res-auto"
was getting changed possibly due to other XMLNS conflicts


Algorithm: Speed up Value Counts

We should optimize the SQL query for Value Counts in the same way we did for column_stats()

this is complete


Make sure, when plugins cause a GET request to fail, there is always a response body.

Adds Au test with plugin forcing various errors on various hooks, with default body
or set body.

[approve ci Ubuntu]

[approve ci ubuntu]

[approve ci clang-analyzer]

[approve ci autest]

As alternative to HttpMsgComp.h, Alan proposes https://github.com/SolidWallOfCode/txn_box/blob/master/plugin/include/txn_box/ts_util.h / https://github.com/SolidWallOfCode/txn_box/blob/master/plugin/src/ts_util.cc

[approve ci centos]

[approve ci ubuntu]

[approve ci autest]

[approve ci rocky]

Is this an incompatible change?  Since plugin which may have generated empty response bodies in some cases will not generate non-empty response bodies?

[approve ci autest]

[approve ci autest]

This was an ask from YCPI Prod.  But, no point in fixing it if it's going to continue to rot in the Sun.


The generated project has some deprecated and unsupported dependencies, any plans on fixing them?

Thanks for this project, just bringing your attention to it.
npm notice created a lockfile as package-lock.json.  You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^4.0.0-rc.1 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>No repository field.

Hi @saurabh-sp-tripathi
Thanks for your report, I'll update dependencies in the next release.


Video does not exist anymore

Oops, you're right, I forgot to update those. Thanks for the heads-up.


Apex version incompatible

Could someone who successfully run the project share the version of apex they use? The current version of apex is incompatible with torch version 1.4.0. Thanks a lot!

I have exactly the same issue.

I figured it out. You could follow the solution in https://github.com/NVIDIA/apex/issues/1200#issuecomment-958759538 to resolve the issue.

i resolved it by this packapex-6af09dd938adf11baedabd89da6cd092d3959081.zip


Fixes to ClearlyDefined storage scanner matching

Please have a look at the individual commit messages for the details.

@sschuberth I have rebased the branch to re-run the tests with the recent test fixes.


Exeperiencing unkown server-side error "Could not proxy command to remote server."

Hi guys,
Working on a project that runs an End-to-End test on our application that is a Microsoft Word Addin.
Essentially the application fires up Word with a particular document, then using Appium to interact with our application trying to verify certain scenarios are working etc.
Our problem is that we continue to run into the following exception during our run:
System.InvalidOperationException: 'An unknown server-side error occurred while processing the command. Original error: Could not proxy. Proxy error: Could not proxy command to remote server. Original error: Error: connect ECONNREFUSED <IP_ADDRESS>:4724'
Occurs when the E2E test has been running for a bit.
I have a feeling the way I need to deal with this issue is to catch it and try and re-connect?
If you need any more information please let me know
Appium Server Log

[info] [35m[WinAppDriver][39m [STDOUT] POST /wd/hub/session/6674E9C9-76C6-4E82-957C-519037DC48EC/moveto HTTP/1.1
[info] [35m[WinAppDriver][39m [STDOUT] Accept: application/json, /
[info] [35m[WinAppDriver][39m [STDOUT] Connection: close
[info] [35m[WinAppDriver][39m [STDOUT] Content-Length: 50
[info] [35m[WinAppDriver][39m [STDOUT] Content-Type: application/json; charset=utf-8
[info] [35m[WinAppDriver][39m [STDOUT] Host: <IP_ADDRESS>:4724
[info] [35m[WinAppDriver][39m [STDOUT] User-Agent: appium
[info] [35m[WinAppDriver][39m [STDOUT]
[info] [35m[WinAppDriver][39m [STDOUT] {"element":"42.199450","xoffset":440,"yoffset":75}
[info] [35m[WinAppDriver][39m [STDOUT] HTTP/1.1 200 OK
[info] [35m[WinAppDriver][39m [STDOUT] Content-Length: 63
[info] [35m[WinAppDriver][39m [STDOUT] Content-Type: application/json
[info] [35m[WinAppDriver][39m [STDOUT]
[info] [35m[WinAppDriver][39m [STDOUT] {"sessionId":"6674E9C9-76C6-4E82-957C-519037DC48EC","status":0}
[debug] [35m[WD Proxy][39m Got response with status 200: {"sessionId":"6674E9C9-76C6-4E82-957C-519037DC48EC","status":0}
[info] [35m[WD Proxy][39m Replacing sessionId 6674E9C9-76C6-4E82-957C-519037DC48EC with 576b44e7-4687-426e-916d-b1f068ff02c0
[info] [35m[HTTP][39m [37m<-- POST /wd/hub/session/576b44e7-4687-426e-916d-b1f068ff02c0/moveto [39m[32m200[39m [90m17 ms - 63[39m
[info] [35m[HTTP][39m [90m[39m[info] [35m[HTTP][39m [37m-->[39m [37mPOST[39m [37m/wd/hub/session/576b44e7-4687-426e-916d-b1f068ff02c0/click[39m
[info] [35m[HTTP][39m [90m{"button":0}[39m
[info] [35m[MJSONWP (576b44e7)][39m Driver proxy active, passing request on via HTTP proxy
[debug] [35m[WD Proxy][39m Matched '/wd/hub/session/576b44e7-4687-426e-916d-b1f068ff02c0/click' to command name 'clickCurrent'
[debug] [35m[WD Proxy][39m Proxying [POST /wd/hub/session/576b44e7-4687-426e-916d-b1f068ff02c0/click] to [POST http://<IP_ADDRESS>:4724/wd/hub/session/6674E9C9-76C6-4E82-957C-519037DC48EC/click] with body: {"button":0}
[info] [35m[WinAppDriver][39m [STDOUT]
[info] [35m[WinAppDriver][39m [STDOUT]
[info] [35m[WinAppDriver][39m [STDOUT] ==========================================
[info] [35m[WinAppDriver][39m [STDOUT] POST /wd/hub/session/6674E9C9-76C6-4E82-957C-519037DC48EC/click HTTP/1.1
[info] [35m[WinAppDriver][39m [STDOUT] Accept: application/json, /
[info] [35m[WinAppDriver][39m [STDOUT] Connection: close
[info] [35m[WinAppDriver][39m [STDOUT] Content-Length: 12
[info] [35m[WinAppDriver][39m [STDOUT] Content-Type: application/json; charset=utf-8
[info] [35m[WinAppDriver][39m [STDOUT] Host: <IP_ADDRESS>:4724
[info] [35m[WinAppDriver][39m [STDOUT] User-Agent: appium
[info] [35m[WinAppDriver][39m [STDOUT]
[info] [35m[WinAppDriver][39m [STDOUT] {"button":0}
[warn] [35m[BaseDriver][39m Shutting down because we waited 60 seconds for a command
[debug] [35m[WinAppDriver][39m Deleting WinAppDriver session
[debug] [35m[WinAppDriver][39m Deleting WinAppDriver server session
[debug] [35m[WD Proxy][39m Matched '/' to command name 'deleteSession'
[debug] [35m[WD Proxy][39m Proxying [DELETE /] to [DELETE http://<IP_ADDRESS>:4724/wd/hub/session/5E6D0B6F-831C-47AD-9822-6CD25E12C9B9] with no body
[warn] [35m[Appium][39m Closing session, cause was 'New Command Timeout of 60 seconds expired. Try customizing the timeout using the 'newCommandTimeout' desired capability'
[info] [35m[Appium][39m Removing session 115b55af-b9cd-4d80-8ae0-fd7f6ee17b9e from our master session list

I don't knopw anything about Microsoft Word Addins. I do know a bit about word automation. Eventually I intend to determine if WinAppDriver can be used to test an application which is an automation of Word.
Your application appears to run locally. If correct, you are experiencing a limitation of Microsoft Word. As I understand things (you will need to get a confirmation from a real live honest to goodness Microsoft employee) word documents cannot be shared locally. They can only be shared via the cloud.
My wild guess is that the refusal is a manifestation of this limitation

Hi @DLightstone thank you for your reply, the problem isn't with the word document being accessible remotely (although the error message does suggest that) though. Both the E2E test (MsTest) and the word document is local.
Just to clarify I have been using the Appium and WinAppdriver on a number of integration tests which have been working fine. The only difference is this would  be a longer process where I am interacting with the addin.
Also just to clarify the addin is just a WinForm application that is bundled as an Addin by a third party provider (Addin Express).

@hicks86
I had determined that the application under test and the testing application were both executing locally.
The issue of concern was whether they both needed to access the Word Document.
I have been lead to believe that this is not possible, and suspected that an attempt to do so will lead to a command execution failure. (manifested in this case as "Could not proxy command to remote server." )
The basis for the issue of concern is located at the following web address
https://answers.microsoft.com/en-us/msoffice/forum/msoffice_word-msoffice_custom-mso_2016/does-microsoft-word-all-local-sharing/66632614-d7c4-43ea-a764-b7ba83fec17e?messageId=d7e5491d-2061-4c32-8707-5c1389052e3d

Ok so I think I have managed to get around this issue.
Essentially I am looping through a list of items on the app, and clicking them in turn. I was using a Thread.Sleep() after clicking to wait for the UI to catch up so I can validate the result. This seemed like it was throwing the communication out of sync with the Appium server. The way I am approaching it is to use Selenium Wait.Until() method.
So originally I was doing something like this:
for (int i = 0; i < issueItems.Count; i++)
{
    var item = issueItems[i];
    Session.Mouse.MouseMove(listElement.Coordinates, OffsetX, OffSetY);
    Session.Mouse.Click(null);
    Thread.Sleep(TimeSpan.FromSeconds(1)); //Wait for UI to catchup

    Assert.IsTrue(item.Text.Contains("XXX"));
}

However now doing this:
WebDriverWait wait = new WebDriverWait(Session, TimeSpan.FromSeconds(20));
wait.Until((d) =>
{
    try
    {
        var item = issueItems[i];
        Session.Mouse.MouseMove(listElement.Coordinates, OffsetX, OffSetY);
        Session.Mouse.Click(null);

        Assert.IsTrue(item.Text.Contains("XXX"));

        return true;
    }
    catch (Exception)
    {
        return false;
    }
});

For now this seems to be working a treat. However I would still love to know if the "Could not proxy command...." is related to the use of the heavy handed Thread.Sleep(). Any insights?

Hi @hassanuz are you able to point me in the direction of a "How to" connect directly to the WinAppdriver.exe? I will try it out.

Hi @hassanuz are you able to point me in the direction of a "How to" connect directly to the WinAppdriver.exe? I will try it out.

Ignore this, just  a case of RTFM in the ReadMe section of this repo. Was on Mobile before now back on laptop


Fixed search shortcut conflict with browser wide search

fixes #17
@mattpocock, I don't fully support overriding browser behavior, but as a lot of other libraries (based on algolia) do it as well i suppose this is fine.

@all-contributors please add @bemayr for code, ideas
@all-contributors please add @hmaurer for code, ideas

@all-contributors please add @bemayr for code, ideas

@all-contributors please add @hmaurer for code, ideas

@all-contributors please add @mattpocock for code, ideas, example, design


Update embed-pages-to-teams.md

Category

[ ] Content fix
[ ] New article
[x] Example checked item (delete this line)

DELETE THIS LINE BEFORE SUBMITTING | For the above list, an empty checkbox is [ ] as in [SPACE]. A checked checkbox is [x] with no space between the brackets. Use the PREVIEW tab at the top right to preview the rendering before submitting your issue.

Related issues

fixes #issuenumber
partially #issuenumber
mentioned in #issuenumber

DELETE THIS LINE BEFORE SUBMITTING | If this fixes (aka: closes) or references an issue, please reference it here. This helps maintaining the issue list as it will (1) link the PR to the issue & (2) automatically close the issue when this PR is merged in.

What's in this Pull Request?

DELETE THIS LINE BEFORE SUBMITTING | Please describe the changes in this PR. Sample description or details around bugs which are being fixed.

Submission guidelines

!!IMPORTANT!! - All submissions must complete the baseline sections included in this template. Ignoring or deleting this template may result in closing the issue with the label type:incomplete-submission.
Follow our guidance on How To Create Good Pull Requests.
Target the master branch of this repo. Released documents are in live branch.

DELETE THIS SECTION BEFORE SUBMITTING

We have a strict rule on NOT accepting edits if the PR form is not properly updated... by following up the provided guidance. Especially we except this from Microsoft employees as they should be the example for anyone else, so we will decline this PR.
I will do updated check on the doc as a separate process to address these and other feedback before it will be published.


getting dataset's datatype

Hi @Y--
Do we have redundant methods in getting this info? the fIle or groups have a method called getDataType(name) that takes the name of a child and returns the type mapped to H5Type's http://hdf-ni.github.io/hdf5.node/ref/globals.html#h5type for the javascript side.
http://hdf-ni.github.io/hdf5.node/ref/groups.html
and h5lt.readDatasetDatatype(id, name) where id is file or group id. that returns a raw type.  Is the raw form working and what is being utilities? Or is it actually an address?  The native side types aren't real enumerations if I'm remembering right
What do you think?

And @Y--  wow does that build fast!  Got my first build of it.  I built with 1.8.17 and all 73 tests passed!
Almost don't feel the build

hdf5-1.10.0-patch1 works!  Nice!

I'm a bit confused with the API regarding that is supposed to provide the dataset type indeed.
@gpichot do you remember why we have these two?

If you are not using the one h5lt.readDatasetDatatype(id, name) I'll get rid of it

No we're not using this method and if we need to get the type we should definitely use the getDataType one. Sorry for the confusion.

Oh the confusion comes from time duration on me head till I look at things again:-)


[Refactor] Remove rowset writer adapter.

Refactoring request
Is your refactoring request related to a problem? Please describe.

memory format version is not in use nowadays. some code can be remove. rowset writer adapter is one of them.

can not remove it right now, close this issue.

can not remove it right now, close this issue.

in fact, it can be deleted, RowsetWriterAdapter is used in create_rowset_writer only in writer process, we do not need it because we only writer V2 format data, when read it has it's own adapter, _prepare_adapter_info will judge if use the adapter to read data(https://github.com/StarRocks/starrocks/blob/abfaf032c2221fab594948ee95313aba2ce7011d/be/src/storage/rowset/segment.cpp#L327), so we can read V1/V2 data both.
so it's ok to remove rowset writer adapter, we just writer V2 data, and can recognize both V1 and V2.


Keep "Suggested Podcasts" available on Podcast Screen

I love the "suggested podcasts" feature when no podcasts have been selected; I think we should keep that block under the user-added podcast so users can check them out even after they've added a podcast.  Users appreciate this type of suggestion.

Grr, it's still there, just on a different screen than I though :/


Period.end_time should be exclusive or Period should provide duration property

A user may expect that the end_time of a Period minus the start_time of a Period returns its duration. Unfortunately, the end_time of a Period is inclusive, consequently, subtracting start from end yields an incorrect period duration:
jan = Period('2014-01', freq='M')
(jan.end_time - jan.start_time).days # returns 30, not 31

This can be manually rectified by the user:
jan = Period('2014-01', freq='M')
(Timestamp(jan.end_time.value + 1) - jan.start_time).days # correctly returns 31

However, this is not intuitive.
The end_time should either be exclusive or Period should provide a duration property.
Although a strong argument can be made that the definitions of duration, start_time, and end_time should all be consistent, changing the end_time definition to exclusive is a significant modification of long-standing behavior.
Consequently, I propose the addition of a duration property that is logically inconsistent with subtracting start_time from end_time.

Apologies, I hadn't realized Timedelta was introduced in 0.15.0. That would seem to be the better type.

@jreback IIRC there was a semi-recent change to subtract 1 ns from end_time for reasons related to this.  Closeable?

IIRC there was a semi-recent change to subtract 1 ns from end_time for reasons related to this.

I don't think this was recent, but already the case when this issue was discussed (at least it is already this behaviour in 0.14).
I don't know if it is important enough to keep the issue open, but the original reported problem is still valid I think?
Although, (jan.end_time - jan.start_time).days now does give 31 instead of 30, but is that a bug?
In [36]: jan = pd.Period('2014-01', freq='M')

In [37]: td = (jan.end_time - jan.start_time)

In [38]: td
Out[38]: Timedelta('30 days 23:59:59.999999')

In [39]: td.components
Out[39]: Components(days=30, hours=23, minutes=59, seconds=59, milliseconds=999, microseconds=999, nanoseconds=999)

In [40]: td.days
Out[40]: 31

Or is that a purposed change? (this only changed in 0.23)


Label based selector

Add a label selector which prioritises the order which nodes are return based on a list of labels. Should be fairly straightforward initialisation whereby an order list of key-value pairs are provided then examined against node metadata and ordered accordingly.

Moving this to go-plugins.