Skip to content

Conversation

@mcdurdin
Copy link
Member

This adds download statistics collection for Keyman apps hosted on downloads.keyman.com - specifically Keyman for Windows, Keyman for Mac, and Keyman Developer. Other platforms are distributed through stores or other mechanisms, so will not generally be visible here.

For now we collect app, version, and tier data, by day. This can be expanded as needed in the future.

Test-bot: skip

This adds download statistics collection for Keyman apps hosted on
downloads.keyman.com - specifically Keyman for Windows, Keyman for Mac,
and Keyman Developer. Other platforms are distributed through stores or
other mechanisms, so will not generally be visible here.

For now we collect app, version, and tier data, by day. This can be
expanded as needed in the future.

Test-bot: skip
@keymanapp-test-bot
Copy link

User Test Results

Test specification and instructions

User tests are not required

@github-project-automation github-project-automation bot moved this to Todo in Keyman Jan 12, 2026
@keymanapp-test-bot keymanapp-test-bot bot added this to the A19S20 milestone Jan 12, 2026
mcdurdin added a commit to keymanapp/keyman.com that referenced this pull request Jan 12, 2026
This adds download statistics collection for Keyman apps hosted on
downloads.keyman.com - specifically Keyman for Windows, Keyman for Mac,
and Keyman Developer. Other platforms are distributed through stores or
other mechanisms, so will not generally be visible here.

For now we collect app, version, and tier data, by day. This can be
expanded as needed in the future.

This is the frontend change; see keymanapp/api.keyman.com#321 for the
api backend and database changes.

This is implemented as a passthrough redirect on keyman.com. Online
updates will not currently appear in these statistics, so the stats
against downloads.keyman.com hits will differ.

Relates-to: keymanapp/api.keyman.com#321
Test-bot: skip
@@ -1,5 +1,6 @@
/*
sp_increment_download
TODO: rename to sp_keyboard_downloads_increment
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lowpri but more 'namespaced' in the future


#### Rewrites for /script folder: /app-downloads-increment

RewriteRule "^app-downloads-increment/([^/]+)/([^/]+)/(.*)$" "/script/app-downloads-increment/app-downloads-increment.php?product=$1&version=$2&tier=$3" [END]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the internal key get passed here too?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a POST endpoint and so the key is passed as POST formdata to the .php, not as part of the URL.

Copy link
Contributor

@darcywong00 darcywong00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mcdurdin mcdurdin merged commit c455be5 into master Jan 13, 2026
6 checks passed
@mcdurdin mcdurdin deleted the feat/app-download-stats branch January 13, 2026 03:04
@github-project-automation github-project-automation bot moved this from Todo to Done in Keyman Jan 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants