Giter Club home page Giter Club logo

wordproof-timestamp's Introduction

wordproof-timestamp

WordProof Timestamp Plugin for WordPress

Welcome to the WordProof Timestamp GitHub repository

While the documentation for the WordProof Timestamp plugin can be found on WordProof.io, here you can browse the source of the project, find and discuss open issues and even contribute yourself.

Security issues

Please do not report security issues here. Instead, email them to info at wordproof dot io so we can deal with them securely and quickly.

I have found a bug

Before opening a new issue, please:

  • update to the newest versions of WordPress and the WordProof Timestamp plugins.
  • search for duplicate issues to prevent opening a duplicate issue. If there is already an open existing issue, please comment on that issue.
  • check for JavaScript errors with your browser's console - please report your findings in the issue.
  • add as much information as possible. For example: add screenshots, relevant links, step by step guides etc.

I have a feature request

Before opening a new issue, please:

  • search for duplicate issues to prevent opening a duplicate feature request. If there is already an open existing request, please leave a comment there.
  • add as much information as possible. For example: give us a clear explanation of why you think the feature request is something we should consider for the WordProof Timestamp plugins.

I want to create a patch

Community made patches, localizations, bug reports and contributions are very welcome and help WordProof remain the #1 blockchain timestamp plugin for WordPress.

Codesniffer

We make use of the adapted WordPress Coding Standard by WPEngine. Please run ./vendor/bin/phpcs --standard=WP-Engine ./includes before submitting your pull request.

Get in touch with the WordProof community

wordproof-timestamp's People

Contributors

dependabot[bot] avatar dnwjn avatar haruharuharuby avatar jellevanderschoot avatar marijnbent avatar stephanmeijer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

wordproof-timestamp's Issues

Requesting (new) certificates breaks when using CloudFlare Workers

Describe the bug
I implemented WordProof on a staging site of mine. The site is hosted on SiteGround, CloudFlare enabled, but Workers (Full Page Caching / CDN edges) disabled.

When I deployed the staging site to the live environment (CloudFlare Workers enabled), the certificates that had already been requested, kept on working. However, when I request or renew a certificate, it keeps saying 'Waiting for callback...'

Image of the problem

I have the latest version of the plugin. I am afraid to reinstall, because I tried that on another site, and it would not let me connect again.

Relevant info
Live site: https://www.stachredeker.nl/
Staging site: https://server.stachredeker.nl/hermes

### wp-core ###

version: 5.7.1
site_language: nl_NL
user_language: nl_NL
timezone: Europe/Amsterdam
permalink: /%postname%/
https_status: true
multisite: false
user_registration: 0
blog_public: 1
default_comment_status: open
environment_type: production
user_count: 1
dotorg_communication: true

### wp-paths-sizes ###

wordpress_path: /home/customer/www/stachredeker.nl/public_html
wordpress_size: 49,17 MB (51555328 bytes)
uploads_path: /home/customer/www/stachredeker.nl/public_html/wp-content/uploads
uploads_size: 415,80 MB (435995098 bytes)
themes_path: /home/customer/www/stachredeker.nl/public_html/wp-content/themes
themes_size: 23,16 MB (24281610 bytes)
plugins_path: /home/customer/www/stachredeker.nl/public_html/wp-content/plugins
plugins_size: 114,41 MB (119963165 bytes)
database_size: 78,64 MB (82460672 bytes)
total_size: 681,17 MB (714255873 bytes)

### wp-active-theme ###

name: Astra (astra)
version: 3.4.2
author: Brainstorm Force
author_website: http://wpastra.com/about/
parent_theme: none
theme_features: core-block-patterns, astra_hooks, align-wide, automatic-feed-links, title-tag, post-thumbnails, html5, post-formats, custom-logo, customize-selective-refresh-widgets, editor-style, woocommerce, amp, widgets, menus
theme_path: /home/customer/www/stachredeker.nl/public_html/wp-content/themes/astra
auto_update: Uitgeschakeld

### wp-themes-inactive (1) ###

Twenty Twenty-One: version: 1.3, author: het WordPress team, Auto-updates uitgeschakeld

### wp-plugins-active (20) ###

2FAS Classic — Two Factor Authentication: version: 3.0.4, author: Two Factor Authentication Service Inc., Auto-updates uitgeschakeld
AddToAny Share Buttons: version: 1.7.44, author: AddToAny, Auto-updates uitgeschakeld
Broken Link Checker: version: 1.11.15, author: WPMU DEV, Auto-updates uitgeschakeld
Classic Editor: version: 1.6, author: WordPress Contributors, Auto-updates uitgeschakeld
Complianz | GDPR/CCPA Cookie Consent: version: 5.0.1, author: Really Simple Plugins, Auto-updates uitgeschakeld
Custom Post Type UI: version: 1.9.1, author: WebDevStudios, Auto-updates uitgeschakeld
Elementor: version: 3.2.3, author: Elementor.com, Auto-updates uitgeschakeld
Essential Addons for Elementor: version: 4.6.6, author: WPDeveloper, Auto-updates uitgeschakeld
Imsanity: version: 2.7.1, author: Exactly WWW, Auto-updates uitgeschakeld
Loco Translate: version: 2.5.2, author: Tim Whitlock, Auto-updates uitgeschakeld
ManageWP - Worker: version: 4.9.8, author: GoDaddy, Auto-updates uitgeschakeld
Meta Tag Manager: version: 2.2, author: Marcus Sykes, Auto-updates uitgeschakeld
Quick Featured Images: version: 13.5.6, author: Kybernetik Services, Auto-updates uitgeschakeld
Redirection: version: 5.1.1, author: John Godley, Auto-updates uitgeschakeld
SG Optimizer: version: 5.7.20, author: SiteGround, Auto-updates uitgeschakeld
Site Kit by Google: version: 1.31.0, author: Google, Auto-updates uitgeschakeld
Unlist Posts & Pages: version: 1.1.5, author: Nikhil Chavan, Auto-updates uitgeschakeld
WordProof Timestamp: version: 2.9.9, author: WordProof, Auto-updates uitgeschakeld
WP External Links: version: 2.48, author: WebFactory Ltd, Auto-updates uitgeschakeld
WPForms Lite: version: 1.6.6, author: WPForms, Auto-updates uitgeschakeld

### wp-media ###

image_editor: WP_Image_Editor_GD
imagick_module_version: Niet beschikbaar
imagemagick_version: Niet beschikbaar
file_uploads: File uploads is turned off
post_max_size: 256M
upload_max_filesize: 256M
max_effective_size: 256 MB
max_file_uploads: 20
gd_version: 2.2.5
ghostscript_version: 9.27

### wp-server ###

server_architecture: Linux 3.12.18-clouder0 x86_64
httpd_software: Apache
php_version: 7.3.27 64bit
php_sapi: cgi-fcgi
max_input_variables: 3000
time_limit: 120
memory_limit: 768M
max_input_time: 120
upload_max_filesize: 256M
php_post_max_size: 256M
curl_version: 7.66.0 OpenSSL/1.1.1k-fips
suhosin: false
imagick_availability: false
pretty_permalinks: true
htaccess_extra_rules: true

### wp-database ###

extension: mysqli
server_version: 5.7.32-35-log
client_version: mysqlnd 5.0.12-dev - 20150407 - $Id: 7cc7cc96e675f6d72e5cf0f267f48e167c2abb23 $

### wp-constants ###

WP_HOME: undefined
WP_SITEURL: undefined
WP_CONTENT_DIR: /home/customer/www/stachredeker.nl/public_html/wp-content
WP_PLUGIN_DIR: /home/customer/www/stachredeker.nl/public_html/wp-content/plugins
WP_MEMORY_LIMIT: 40M
WP_MAX_MEMORY_LIMIT: 768M
WP_DEBUG: false
WP_DEBUG_DISPLAY: true
WP_DEBUG_LOG: false
SCRIPT_DEBUG: false
WP_CACHE: false
CONCATENATE_SCRIPTS: undefined
COMPRESS_SCRIPTS: undefined
COMPRESS_CSS: undefined
WP_LOCAL_DEV: undefined
DB_CHARSET: utf8
DB_COLLATE: undefined

### wp-filesystem ###

wordpress: writable
wp-content: writable
uploads: writable
plugins: writable
themes: writable

### wordproof ###

network: Not Set
certificate_text: Bekijk het WordProof-certificaat van deze content.
certificate_dom_selector: Not Set
custom_domain: Not Set
send_timestamps_with_order: never
timestamps_order_text: Not Set
show_info_link: Not Set
hide_post_column: true
hide_certificate_home: true
0: Not Set
wsfy: Not Set
oauth: Not Set
wsfy_is_active: true
wallet_connected: Not Set
accountname: Not Set
balance: Not Set
webhook_admin_post: https://www.stachredeker.nl/wp-admin/admin-post.php
webhook_rest_url: https://www.stachredeker.nl/wp-json/wordproof-timestamp/v1/posts

### wpforms ###

version: 1.6.6
lite: apr 13, 2021 @ 7:34am
upload_dir: Beschrijfbaar
db_tables: fdg_wpforms_tasks_meta
total_forms: 1
total_submissions: 8

### google-site-kit ###

version: 1.31.0
php_version: 7.3.27
wp_version: 5.7.1
reference_url: https://www.stachredeker.nl
amp_mode: no
site_status: connected-site
user_status: authenticated
connected_user_count: 1
active_modules: site-verification, search-console, analytics, pagespeed-insights
required_scopes: 
	openid: ✅
	https://www.googleapis.com/auth/userinfo.profile: ✅
	https://www.googleapis.com/auth/userinfo.email: ✅
	https://www.googleapis.com/auth/siteverification: ✅
	https://www.googleapis.com/auth/webmasters: ✅
	https://www.googleapis.com/auth/analytics.readonly: ✅
capabilities: 
	googlesitekit_authenticate: ✅
	googlesitekit_setup: ✅
	googlesitekit_view_posts_insights: ✅
	googlesitekit_view_dashboard: ✅
	googlesitekit_view_module_details: ✅
	googlesitekit_manage_options: ✅
	googlesitekit_publish_posts: ✅
enabled_features: 
	helpVisibility: ✅
	serviceSetupV2: ⭕
	storeErrorNotifications: ⭕
	userInput: ⭕
	widgets.dashboard: ✅
	widgets.pageDashboard: ✅
	widgets.moduleScreens: ⭕
	ga4setup: ⭕
search_console_property: https://www.stachredeker.nl/
analytics_account_id: 8936••••
analytics_property_id: UA-8936•••••••
analytics_profile_id: 2425•••••
analytics_use_snippet: yes

Extract plugin into a library so we can implement this technology outside WordPress

Is your feature request related to a problem? Please describe.
Giving users and software developers the opportunity to use this technology outside WordPress could make this project more popular.

Describe the solution you'd like
Creating a new project, containing a library to use this technology outside the scope of WordPress.

Describe alternatives you've considered

  • Implementing the whole thing myself into a microservice by backwards engineering.
  • WordProof extensively documenting the internal workings of the plugin.

Additional context
There is no sufficient documentation on how to use WordProof outside the scope of WordPress. No implementation guide, no documentation on the working of the plugin.

Ajax request for every post on post overview pages

Describe the bug

The WordProof plugin sends a POST request to admin-ajax.php for every post that is visible on a posttype overview page. The requested action is wordproof_get_post_data.

The default amount of posts shown for a user is 20, so this results in 20 POST requests in short succession. If a user has more posts to be displayed, or if multiple people are browsing the backend of larger site simultaneously, the amount of requests may be overwhelming the server.

To Reproduce

Steps to reproduce the behavior:

  1. Install WordProof (we run 2.9.8 in production, but it was reproduced locally with latest 2.9.11)
  2. Without configuring WordProof, if you visit a posts overview page with the network inspector open, you will already see an ajax request for every listed post. It seems like configuring WordProof correctly will change / add extra overhead to these requests.

Expected behavior

  • Only one request for all posts.

Additional thought:

  • No requests for posttypes that have no need to be timestamped (though I have not checked for any settings / filters that may already allow you to define this).

Screenshots

image
20 posts visible

image
50 posts visible

DotEnv should be prefixed

Describe the bug
You're loading DotEnv, which sites might also be loading for other reasons. You need to prefix this dependency.

Two timestamps used when editing a page

Describe the bug
A clear and concise description of what the bug is.
I can see that when I edit pages something, I dont understand what, every now and then use up two timestamps with really short time in between. In this examples it looks like (when I click the certificate comparison in front end) that it was tagged the same second twice however I think I only saved this page once by clicking save. I did test this on the root address as well and then I got two timestamps two seconds apart.

Also reported in Wordpress support forum and I have also sent a temporary admin link to Jelle
https://wordpress.org/support/topic/use-up-the-timestamps-quite-quickly/

To Reproduce
Steps to reproduce the behavior:

  1. Go to Pages and edit a page
  2. Click on Save/Update in the page editor
  3. Open up the page (I have an example page https://styrketrappan.se/vara-tjanster-och-villkor in an incognito window
  4. Look at the Wordproof certificate and see that there is two stamps visible within the same second or a couple of seconds apart.

Expected behavior
A clear and concise description of what you expected to happen.
One timestamp used and one timestamp visible in the Wordproof certificate link

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • Paste your WhatsMyBrowser link
  • or
  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Paste your WhatsMyBrowser link
  • or
  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.
`

wp-core

version: 5.6.1
site_language: sv_SE
user_language: sv_SE
timezone: Europe/Stockholm
permalink: /%year%/%monthnum%/%day%/%postname%/
https_status: true
multisite: true
user_registration: true
blog_public: 1
default_comment_status: open
environment_type: production
user_count: 6
site_count: 2
network_count: 1
dotorg_communication: true

wp-dropins (1)

object-cache.php: true

wp-active-theme

name: Neve (neve)
version: 2.10.1
author: ThemeIsle
author_website: https://themeisle.com
parent_theme: none
theme_features: core-block-patterns, widgets-block-editor, hfg_support, post-thumbnails, title-tag, automatic-feed-links, custom-logo, html5, customize-selective-refresh-widgets, custom-background, align-wide, editor-color-palette, fl-theme-builder-headers, fl-theme-builder-footers, fl-theme-builder-parts, header-footer-elementor, lifterlms-sidebars, lifterlms, service_worker, starter-content, amp, menus, widgets
theme_path: /home/styrketr/public_html/wp-content/themes/neve
auto_update: Aktiverat

wp-themes-inactive (1)

Twenty Twenty-One: version: 1.1, author: WordPress-teamet, Automatiska uppdateringar aktiverade

wp-plugins-active (42)

Advanced Editor Tools (previously TinyMCE Advanced): version: 5.6.0, author: Automattic, Automatiska uppdateringar aktiverade
Ajax Search Lite: version: 4.8.6, author: Ernest Marcinko, Automatiska uppdateringar inaktiverade
AMP: version: 2.0.10, author: AMP Project Contributors, Automatiska uppdateringar aktiverade
Blog2Social: Social Media Auto Post & Scheduler: version: 6.6.4, author: Blog2Social, Adenion, Automatiska uppdateringar aktiverade
Broken Link Checker: version: 1.11.15, author: WPMU DEV, Automatiska uppdateringar aktiverade
CM Footnotes: version: 1.2.3, author: CreativeMindsSolutions, Automatiska uppdateringar aktiverade
CM Tooltip Glossary: version: 3.7.2, author: CreativeMindsSolutions, Automatiska uppdateringar aktiverade
Force Update Translations: version: 0.3.1, author: Mayo Moriyama, Automatiska uppdateringar inaktiverade
Forminator: version: 1.14.8.1, author: WPMU DEV, Automatiska uppdateringar aktiverade
GDPR Cookie Consent: version: 1.9.5, author: WebToffee, Automatiska uppdateringar aktiverade
Gutenberg: version: 9.9.3, author: Gutenberg Team, Automatiska uppdateringar aktiverade
Gutenberg Blocks and Template Library by Otter: version: 1.6.0, author: ThemeIsle, Automatiska uppdateringar aktiverade
HTTP Headers: version: 1.18.1, author: Dimitar Ivanov, Automatiska uppdateringar aktiverade
Hustle: version: 7.4.1, author: WPMU DEV, Automatiska uppdateringar aktiverade
LiteSpeed Cache: version: 3.7-rc12, author: LiteSpeed Technologies, Automatiska uppdateringar aktiverade
MailPoet 3 (New): version: 3.59.2, author: MailPoet (latest version: 3.60.0), Automatiska uppdateringar aktiverade
MailPoet 3 Premium (New): version: 3.59.0, author: MailPoet (latest version: 3.60.0), Automatiska uppdateringar aktiverade
Menu Icons: version: 0.12.5, author: ThemeIsle, Automatiska uppdateringar aktiverade
MslsMenu: version: 2.2.3, author: Dennis Ploetner, Automatiska uppdateringar aktiverade
Multisite Language Switcher: version: 2.4.10, author: Dennis Ploetner, Automatiska uppdateringar aktiverade
Neve Pro Addon: version: 1.4.1, author: ThemeIsle, Automatiska uppdateringar aktiverade
Nextend Social Login: version: 3.0.27, author: Nextendweb, Automatiska uppdateringar aktiverade
OneSignal Push Notifications: version: 2.1.6, author: OneSignal, Automatiska uppdateringar aktiverade
Pirate Parrot: version: 1.4.0, author: Themeisle, Automatiska uppdateringar inaktiverade
PWA for WP: version: 1.7.28, author: Magazine3, Automatiska uppdateringar inaktiverade
Sensei LMS: version: 3.8.0, author: Automattic, Automatiska uppdateringar aktiverade
Simple Blog Stats: version: 20210210, author: Jeff Starr, Automatiska uppdateringar inaktiverade
Site Kit by Google: version: 1.25.0, author: Google, Automatiska uppdateringar aktiverade
Temporary Login Without Password: version: 1.6.7, author: StoreApps, Automatiska uppdateringar inaktiverade
Visualizer: Tables and Charts for WordPress: version: 3.4.10, author: Themeisle, Automatiska uppdateringar aktiverade
Visualizer: Tables and Charts Manager for WordPress AddOn: version: 1.9.8, author: ThemeIsle, Automatiska uppdateringar inaktiverade
Web Stories: version: 1.3.0, author: Google, Automatiska uppdateringar aktiverade
Wordfence Security: version: 7.4.14, author: Wordfence, Automatiska uppdateringar aktiverade
WordProof Timestamp: version: 2.9.6, author: WordProof, Automatiska uppdateringar aktiverade
WP-Optimize - Clean, Compress, Cache: version: 3.1.7, author: David Anderson, Ruhani Rabin, Team Updraft, Automatiska uppdateringar aktiverade
WPBot Pro Wordpress Chatbot: version: 10.5.6, author: QuantumCloud, Automatiska uppdateringar inaktiverade
WP Mail Logging: version: 1.9.7, author: MailPoet, Automatiska uppdateringar aktiverade
WP Sitemap Page: version: 1.6.2, author: Tony Archambeau, Automatiska uppdateringar inaktiverade
Yoast SEO: Local: version: 13.8, author: Team Yoast and Arjan Snaterse, Automatiska uppdateringar inaktiverade
Yoast SEO: News: version: 12.6, author: Team Yoast, Automatiska uppdateringar inaktiverade
Yoast SEO: Video: version: 13.6, author: Team Yoast, Automatiska uppdateringar inaktiverade
Yoast SEO Premium: version: 15.8.2, author: Team Yoast, Automatiska uppdateringar aktiverade

wp-media

image_editor: BFI_Image_Editor_GD_1_3
imagick_module_version: 1802
imagemagick_version: ImageMagick 7.0.10-10 Q16 x86_64 2020-07-09 https://imagemagick.org
file_uploads: File uploads is turned off
post_max_size: 50M
upload_max_filesize: 50M
max_effective_size: 50 MB
max_file_uploads: 20
gd_version: 2.2.5
ghostscript_version: 9.25

wp-server

server_architecture: Linux 3.10.0-962.3.2.lve1.5.35.el7.x86_64 x86_64
httpd_software: LiteSpeed
php_version: 8.0.1 64bit
php_sapi: litespeed
max_input_variables: 3000
time_limit: 300
memory_limit: 256M
max_input_time: 90
upload_max_filesize: 50M
php_post_max_size: 50M
curl_version: 7.29.0 NSS/3.53.1
suhosin: false
imagick_availability: true
pretty_permalinks: true
htaccess_extra_rules: true

wp-database

extension: mysqli
server_version: 10.3.27-MariaDB-cll-lve
client_version: mysqlnd 8.0.1

wp-constants

WP_HOME: undefined
WP_SITEURL: undefined
WP_CONTENT_DIR: /home/styrketr/public_html/wp-content
WP_PLUGIN_DIR: /home/styrketr/public_html/wp-content/plugins
WP_MAX_MEMORY_LIMIT: 256M
WP_DEBUG: false
WP_DEBUG_DISPLAY: false
WP_DEBUG_LOG: false
SCRIPT_DEBUG: false
WP_CACHE: true
CONCATENATE_SCRIPTS: undefined
COMPRESS_SCRIPTS: undefined
COMPRESS_CSS: undefined
WP_LOCAL_DEV: undefined
DB_CHARSET: utf8
DB_COLLATE: undefined

wp-filesystem

wordpress: writable
wp-content: writable
uploads: writable
plugins: writable
themes: writable
mu-plugins: writable

sensei-lms

template_overrides: No template overrides
is_calculation_pending: Avslutad
legacy_enrolment: 1588002709

wordproof

network: Not Set
certificate_text: Visa aktuell sidas äkthetscertifikat
certificate_dom_selector: #forwordproof
custom_domain: Not Set
send_timestamps_with_order: never
timestamps_order_text: Not Set
show_info_link: Not Set
hide_post_column: Not Set
hide_certificate_home: Not Set
wsfy: Not Set
oauth: Not Set
wsfy_is_active: true
wallet_connected: Not Set
accountname: Not Set
balance: 782
webhook_admin_post: https://styrketrappan.se/wp-admin/admin-post.php
webhook_rest_url: https://styrketrappan.se/wp-json/wordproof-timestamp/v1/posts

google-site-kit

version: 1.25.0
php_version: 8.0.1
wp_version: 5.6.1
reference_url: https://styrketrappan.se
amp_mode: secondary
site_status: connected-site
user_status: authenticated
connected_user_count: 1
active_modules: site-verification, search-console, analytics, pagespeed-insights, optimize, tagmanager
required_scopes:
openid: ✅
https://www.googleapis.com/auth/userinfo.profile: ✅
https://www.googleapis.com/auth/userinfo.email: ✅
https://www.googleapis.com/auth/siteverification: ✅
https://www.googleapis.com/auth/webmasters: ✅
https://www.googleapis.com/auth/analytics.readonly: ✅
https://www.googleapis.com/auth/tagmanager.readonly: ✅
capabilities:
googlesitekit_authenticate: ✅
googlesitekit_setup: ✅
googlesitekit_view_posts_insights: ✅
googlesitekit_view_dashboard: ✅
googlesitekit_view_module_details: ✅
googlesitekit_manage_options: ✅
googlesitekit_publish_posts: ✅
search_console_property: https://styrketrappan.se/
analytics_account_id: 1477•••••
analytics_property_id: UA-1477•••••••
analytics_profile_id: 2022•••••
analytics_use_snippet: yes
optimize_id: GTM-KF3••••
tagmanager_account_id: 4703••••••
tagmanager_container_id: GTM-5FB••••
tagmanager_amp_container_id: GTM-PC8••••
tagmanager_use_snippet: no

amp_wp

amp_mode_enabled: transitional
amp_reader_theme: legacy
amp_templates_enabled: post, page, attachment, neve_custom_layouts, glossary, mailpoet_page, course, lesson, quiz, sensei_message, is_singular, is_front_page, is_home, is_archive, is_author, is_date, is_search, is_404, is_category, is_tag, is_tax[module], is_tax[course-category], is_tax[lesson-tag], is_post_type_archive[web-story], is_post_type_archive[course], is_post_type_archive[lesson], is_post_type_archive[sensei_message]
amp_serve_all_templates: true
amp_css_transient_caching_disabled: n/a
amp_css_transient_caching_threshold: 5000 transients per day
amp_css_transient_caching_sampling_range: 14 days
amp_css_transient_caching_transient_count: undefined
amp_css_transient_caching_time_series:
amp_libxml_version: 2.9.4

`

Option to exclude certain post types

The features of the plugin mentions "Timestamp posts & pages". It doesn't just timestamp posts & pages though, it's added to CPT's too. And while that may indeed be wanted for some, it's not for all.

ie. I have a quote CPT on one of my websites to display related quotes throughout the website. I only want to display the quote, person that said it etc. But WordProof automatically adds the WordProof certificate text after the quote. Which looks weird and is most definitely not wanted.

I mean, Alfie Kohn most certainly did not say it like this: "“Teaching a lesson” to a child, will teach him that he is loved – and lovable – only when he acts the way we want. WordProof Timestamp certificate" ;-)

I've been trying to remove it myself, but it's either not doing anything (regexes are not my thing) or I'm breaking the website (with a "Cannot declare class WordProofTimestampFree\WordProofTimestampFree, because the name is already in use in ..." fatal error, while I'm not redeclaring anything, but okay).

Is it possible to get a "Timestamp these post types" setting in the plugin? Or have a filter to add / remove CPT support?

Warning when a page is dynamic and outdated

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
When I have a page where it is sometimes a dynamic list of links, say to other blog posts, and this dynamic list change, the page/post is basically outdated if looking strictly at the function per say.
Same goes for if I for example use a plugin like Visualizer where I build chart and improve a chart, is the posts/pages where I use this chart is in a new state.

Describe the solution you'd like
A clear and concise description of what you want to happen.
This should trigger some kind of warning to the admin that a timestamp needs to be created since the page is not looking as it should or looking at the state that was last timestamped. I am thinking a cron job that checks pages (guess resource consuming in both the own server and Wordproof infrastructure) could do the work. Or a self served/ad hoc report for the admin could be good as well.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
I thought of a function that triggers a new timestamp of the page however in a really dynamic page this could be really expensive and a bit dangerous for the admin.
I also thought of that it could be some kind of setting for the admin that parts of the page is not accounted for as timestamped material, but then the end users need to be informed which part of the page that is actually timestamped.

Additional context
Add any other context or screenshots about the feature request here.
No more context material here.

Schema output is malformed / invalid / has structural errors

The current schema output is malformed / invalid / has structural errors.

For example:

  • The @version parameter is intended to set the JSON-LD processing mode for the whole document, not to specify a version of a given context (see https://www.w3.org/TR/json-ld11/#json-ld-1-1-processing-mode).
  • Best practice is for a @context to use a URI pattern, which can then also act as the canonical location for that context, and forms the root URI for specific types (e.g., a Person in a @context of https://schema.org/ is shorthand for https://schema.org/Person).
  • Individual timestamp properties are orphaned in an unstructured graph / lack a @type (which I presume is meant to be ArticleTimestamp.
  • URL values should not be escaped.

As such, I'd recommend restructuring the output to align with the following example (based on https://yoast.com/wordpress-5-7/):

Examples

Before

<script type="application/ld+json" class="wordproof-schema">
{
  "@context": {
    "@type":"ArticleTimestamp",
    "@version":"0.2.0"
  },
  "blockchain": "eosio_main",
  "transactionId": "9e72f05cd1f03474db452daa93eccfd90b03c06ce6eaf85efb757eee79f67b46",
  "hash": "451a293ed8eed619a4ed19d81c96fb52c0f4b6499935ccab3cd7d176fce81eb2",
  "title": "WordPress 5.7: What's new in this release?",
  "content": "[...]",
  "date": "2021-03-10T09:29:06+01:00",
  "url": "https:\/\/yoast.com\/wordpress-5-7\/"
}
</script>

After

<script type="application/ld+json" class="wordproof-schema">
{
  "@context": "https://wordproof.com/schema/",
  "@graph": [{
    "@type":"ArticleTimestamp",
    "blockchain": "eosio_main",
    "transactionId": "9e72f05cd1f03474db452daa93eccfd90b03c06ce6eaf85efb757eee79f67b46",
    "hash": "451a293ed8eed619a4ed19d81c96fb52c0f4b6499935ccab3cd7d176fce81eb2",
    "title": "WordPress 5.7: What's new in this release?",
    "content": "[...]",
    "date":"2021-03-10T09:29:06+01:00",
    "url": "https://yoast.com/wordpress-5-7/"
  }]
}
</script>

Only load the WordProof admin CSS & JS on WordProof admin pages

Describe the bug
I'm seeing the WordProof admin CSS & JS on non WordProof pages:

<link rel='stylesheet' id='wordproof.admin.css-css'  href='https://joost.blog/wp-content/plugins/wordproof-timestamp/assets/css/admin.css?ver=1603938797' media='all' />

To Reproduce
Steps to reproduce the behavior:

  1. Go to any other page in the admin
  2. View source
  3. See the styles and scripts are loaded

Expected behavior
Not loading those :)

Abolish property contentUrl to use property contentUri and/or contentUrn

Not all content should and would be on a HTTP server in real life. URIs and URNs in general should be supported including but not limited to:

  • Magnet URLs
  • FTP/FTPS URIs
  • WebDav URIs
  • SMB URIs
  • SFTP URIs
  • WS URIs
  • Data URIs such as data:,Hello%20World
  • URNs

I therefore propose to replace the following attributes:

{
  ...
  "contentHash": "8C9453EF2C0C6F2F94104D16FF0A8105BC6C9793D926457839D8BCADE0888342",
  "contentUrl": "https://test.com/image.png",
  ...
}

With the following:

{
    ...
    "content": {
        "hash": "8C9453EF2C0C6F2F94104D16FF0A8105BC6C9793D926457839D8BCADE0888342",
        "location": {
            "type": "url",
            "identifier": "https://test.com/image.png"
        }
    }
    ...
}

Where $.content.location.type can be any of "url", "urn" or "uri".

Or alternatively:

{
    ...
    "contentHash": "8C9453EF2C0C6F2F94104D16FF0A8105BC6C9793D926457839D8BCADE0888342",
    "contentLocation": {
        "type": "url",
        "identifier": "https://test.com/image.png"
    }
    ...
}

Where $.contentLocation.type can be any of "url", "urn" or "uri".

When looking in the bulk tool, add info about already timestamped qty

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
When looking at the menu item bulk and see the list of all types with a figure after, it would be interesting to be informed about how many posts actually needs an update so I as a user/customer dont waste timestamps.

Describe the solution you'd like
A clear and concise description of what you want to happen.
When seeing this list I would expect a volume figure stating / and when clicking the boxes I would also like to see a total further down telling me the exact number of timestamps that will be used up considering the boxes I ticked.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Same as above but with a lever saying "Timestamp all" which timestamps all regardless if it is needed or not within a type.

Additional context
Add any other context or screenshots about the feature request here.

CSS file should be and versioned

The plugin loads /assets/css/frontend.css (via /assets/js/frontend.js), but does so without a cache-busting parameter. This means that future changes to the file's code are likely to not be picked up by devices that have previously cached the file.

This may result in unexpected behaviour/display problems.

Convention dictates appending a cache-busting parameter to the URL (or encoded in the URL), tied either to the plugin version, or to the last modified timestamp of the file itself.

E.g., the request should be altered to /assets/css/frontend.css?v=12345, where 1235 is version-specific.
Note that the string should also be appended to the preloaded flavour of the URL, and that they should be identical.

The JS which constructs the stylesheet (and preload tag):
image

The rendered tags:
image

Rewrite codebase not to use global

Is your feature request related to a problem? Please describe.
Codebase is using global. That's nasty.

Describe the solution you'd like
Codebase not to use global

Describe alternatives you've considered
Codebase to be using global.

Additional context

WordProof keeps re-rendering the editor.

Describe the bug
A clear and concise description of what the bug is.

If you have WordProof installed and you go to an page with the Gutenberg editor the react elements keeps being reloaded al long as the WordProof sidebar widget isn't collapsed.

To Reproduce
Steps to reproduce the behavior:

  1. Go to a Gutenberg editor page with WordProof installed in Chrome.
  2. Open the Rendering tab in the Chrome Dev Tools. ( https://developer.chrome.com/docs/devtools/evaluate-performance/reference/#rendering )
  3. Enable Paint flashing and see that almost the whole page stays green while it's open.
  4. Close the WordProof Widget in the sidebar and notice that it stops re-rendering.

Expected behavior
Don't have the page being re-rendered the whole time.

Screenshots
If applicable, add screenshots to help explain your problem.

green-wordproof.mp4

Desktop (please complete the following information):

Plugin version 2.9.11

Additional context
Add any other context about the problem here.

OpenTimestamps integration (Bitcoin blockchain)

Is your feature request related to a problem? Please describe.
😃 Not a problem, but I would like to use WordProof on OTS

Describe the solution you'd like
💭 I would like an option to choose the backend for timestamping. I would like to be able to use the network with the most hashing power for my timestamps.
🌎 https://opentimestamps.org/ has nice APIs. for adding timestamps.

Describe alternatives you've considered
⛓️ I have thought about using the EOS backend but I do not like EOS. I hope to get the option.

Additional context
⏰ OTS will be slower. I think this is a tradeoff for users to make. I would choose for OTS, others will still want to use EOA (it might even remain the default)

⚒️ I wonder what would be needed, and possibly I can even help :).

Caching conflict with WP Rocket: Timestamp seems outdated, while it's not

Describe the bug
Had trouble with this page: worked perfectly when logged in, but gave outdated in the certificate when not logged in:
https://amsterdamvintagewatches.com/shop/rolex-daytona-6263-big-red-4/

After updating a WooCommerce product, it shows that the timestamp is adequate when still logged in. When logged out, the stamp is outdated. After flushing the cache, all was good.

Expected behavior
If publishing / updating a Post / Page / Product / any CPT in WordProof, I'd love the cache (at least for that page) to be flushed automatically with all major caching plugins.

When looking at the Timestamps tab I see only type "Post"

Describe the bug
A clear and concise description of what the bug is.
I see only type "Post" despite that I

To Reproduce
Steps to reproduce the behavior:

  1. Go to WordProof in WP admin
  2. Click on Timestamps
  3. I see only items of type Post

Expected behavior
A clear and concise description of what you expected to happen.
I would expect all timestamped items regardless of type. In my case mainly Post and Page

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Smartphone (please complete the following information):

  • Paste your WhatsMyBrowser link
  • or
  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Integrate with Yoast SEO plugin

Is your feature request related to a problem? Please describe.
I think you should leverage on the Cornerstone function that Yoast SEO plugin offers, where you markup a page or a post that is extra important. Eg that these pages also should be timestamped by Wordproof as well, an extra quality check on these specific posts/pages.

Describe the solution you'd like
A clear and concise description of what you want to happen.
I would like to have a menu item with a checkbox or a toggle switch saying "Integrate with Yoast Cornerstone", if this plugin is installed and in the right version for checking Cornerstone status.
Then a user could at least see to that the most important material is always timestamped, perhaps the other material is not as important on the site or the number of monthly timestamps is not enough for anything else than cornerstone material.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Perhaps the timestamps could be used in Yoast SEO analysis, so if you have timestamped the material the SEO grades raise slightly, perhaps more for Yoast to implement something like this though.

Additional context
Add any other context or screenshots about the feature request here.
I have no other material here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.