At a Glance — LP-Sticky-Notes 1.0.6
| Detail | Info |
|---|---|
| Version | 1.0.6 |
| Release Date | June 15, 2026 |
| Fixes | 10 bug fixes including note editing, course isolation, and license validation |
| New Features | Searchable admin filters, composite database indexes, DB schema versioning |
| Admin UI | Fully redesigned Student Notes page following MamFlow design rules |
| Compatibility | LearnPress 4.x, WordPress 6.x |
Why This LP-Sticky-Notes 1.0.6 Update Matters
LP-Sticky-Notes lets students take notes and create highlights directly inside LearnPress lessons. It works — until you reuse a lesson across multiple courses, or until a student tries to edit an existing note and ends up with two copies instead of one. These are not edge-case bugs. They affect real student workflows. A student editing a note should not have to wonder whether their note was actually saved or duplicated. An instructor reviewing student notes should not see data from unrelated courses. Version 1.0.6 fixes the underlying queries, timestamps, and access control logic so that notes behave exactly as expected — scoped to the correct course, editable without duplication, and displayed with accurate timestamps.Bug Fixes in LP-Sticky-Notes 1.0.6
Note Editing No Longer Creates Duplicates
Previously, editing an existing note could create a brand-new note instead of updating the saved one. This happened because the update query was not correctly matching the existing record. In 1.0.6, editing a note updates it in place — no duplicates, no confusion.Timestamps Now Use WordPress Site Time
Note timestamps were pulling from the server database time rather than the WordPress site time configured in Settings → General. On servers where the database timezone differs from the WordPress timezone, a freshly created note could show as several hours old in the Profile → My Notes view. This is now corrected — bothcreated_at and updated_at use WordPress site time.Notes Are Now Isolated Per Course
When the same lesson appears in multiple LearnPress courses, notes from one course were leaking into the sidebar of another. The lesson-level note query now filters by bothlesson_id and course_id, so students only see notes they created within the current course context.View All Notes Modal Shows Only Current Course
The lesson “View All Notes” modal had the same cross-course problem. It now passes the currentcourse_id to the AJAX request and validates course access server-side before returning grouped notes.License Validation Stability
License checks that triggered too frequently could invalidate an otherwise active license. The validation logic has been adjusted to avoid unnecessary re-checks and maintain a stable license state.Admin Page Fixes
- Role-based access: The Student Notes admin page now scopes content by role — administrators see all notes, while students see only their own.
- Filter security: AJAX search on the Student Notes page previously allowed students to expose data outside their own notes. Filters and search are now properly restricted.
- Filter layout: Student and course filter dropdowns no longer collapse to a narrow width on certain screen sizes.
- Table spacing: Table headers and edge columns in Student Notes admin are now readable in wp-admin.
- Encoding fix: Broken encoding characters in backend UI copy have been corrected.
- AJAX errors: Users now receive clearer messages when server or HTTP failures occur.
New Features in This LearnPress Notes Addon Update
Searchable Admin Filters
The Student Notes admin page now includes searchable combobox filters for both students and courses. Instead of scrolling through a raw list, administrators can type to find the student or course they need. Two new AJAX endpoints power this:lp_sticky_notes_search_students— search students by name or emaillp_sticky_notes_search_courses— search courses by title
Client-Side Table Search and Sorting
The Student Notes admin table now supports current-page search and client-side sorting. This means administrators can quickly locate specific notes without waiting for additional server requests.Database Performance Indexes
Three composite database indexes have been added to improve query performance on larger datasets:| Index | Purpose |
|---|---|
(user_id, course_id, lesson_id) | Speeds up per-user, per-course note lookups |
(user_id, created_at) | Optimizes “My Notes” profile queries sorted by date |
(course_id, lesson_id) | Improves admin filtering by course and lesson |
lp_sticky_notes_db_version option tracks the database schema version, making future migrations automatic.Separate Note Count Queries
The admin dashboard now runs separate count queries for “Students with notes” and “Courses with notes.” This gives administrators a quick overview without loading full data sets.Admin UI Changes and Redesign
The Student Notes admin page has been rebuilt from scratch to follow MamFlow backend design rules. Key changes include:- Reduced inline styles — spacing, borders, typography, and colors now follow a consistent design system.
- Redesigned license-required state — when the license is inactive, the admin page clearly communicates what is needed instead of showing a broken interface.
- Redesigned MamFlow license tab UI within LP-Sticky-Notes settings.
- The LearnPress Profile “My Notes” tab is now hidden when the license is inactive, preventing confusion for end users.
- A standardized product URL constant (
LP_STICKY_NOTES_PRODUCT_URL) replaces hardcoded links throughout the plugin. - Admin CSS and JS enqueue versions now use
filemtime()for automatic cache busting on updates. - An unnecessary frontend footer debug script hook has been removed.
Technical Changes Under the Hood
Beyond the visible fixes and features, several technical improvements ensure the plugin handles edge cases correctly:- Note
created_atandupdated_atvalues are stored using WordPress site time. Theupdated_atfield refreshes on every edit. - Database queries for notes now filter by both
lesson_idandcourse_idto prevent cross-course data leaks. - The current
course_idis passed to the View All Notes AJAX request, with server-side course access validation before returning data. - Shortcode output, the View All modal, and profile lesson links all use the saved course and lesson context.
- Release packaging excludes dev-only files —
node_modules,scripts,release, package files, Composer files, and PHPUnit config are not included in the distribution ZIP.
Who Should Update to LP-Sticky-Notes 1.0.6
This update is recommended for every LP-Sticky-Notes user, but it is especially important if you:- Reuse lessons across multiple courses — the course isolation fix ensures notes stay where they belong.
- Have students who actively edit notes — the duplicate note bug is now resolved.
- Run a site with many students — the new database indexes and searchable admin filters make administration faster.
- Noticed incorrect note timestamps — timestamps now reflect your WordPress site timezone, not the database server’s timezone.
- Experienced license validation issues — the rate-limiting fix keeps valid licenses from being deactivated.
If you run LearnPress with LP-Sticky-Notes, version 1.0.6 is a stability update — it fixes real data integrity issues and makes the admin experience noticeably better.
How to Update LP-Sticky-Notes
- Log in to your WordPress admin dashboard.
- Navigate to Dashboard → Updates or Plugins → Installed Plugins.
- If auto-update is enabled and your license is active, the update will appear automatically.
- Click Update Now next to LP-Sticky-Notes.
- After updating, verify the plugin version shows 1.0.6 on the Plugins page.
