Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 33 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,43 @@

## Unreleased

### Added

- **A Releases page for the extension**, at
`/toddle-enhancement-extension/releases`: what changed in each version,
in plain words for teachers, newest first. 0.9.0 is "Coming soon to the
Chrome Web Store"; 0.8.2, 0.8.1, 0.8.0, 0.7.x and the early builds follow,
condensed. Versions 0.8.3 to 0.8.13, test builds for schools piloting the
extension, are said in one line: their changes arrive together in 0.9.0.
Each version has the anchor `#v<version>`, which the extension's menu will
link to. No downloads and no GitHub links: the extension's repository is
private, and teachers install from the Chrome Web Store. The notes live in
`src/data/releases.ts`, so adding a release is one edit. Linked from the
extension page, the footer and llms.txt, and in the sitemap.

### Changed

- **@bundu/ui 0.5.0** (was 0.1.1): the kit's updated tokens. The page
background is a cooler, neutral off-white; layout, type, buttons and the
Nyuchi brand colours are unchanged. Every check and test passes as before.
- **The site's code is proprietary**, all rights reserved, with a LICENSE
file saying so (it had none). Not open source.

- **The terms say who owns the extension.** A new "Who owns the extension"
section: the extension and its code belong to Nyuchi Web Services, part
of Nyuchi Africa (Private) Limited, all rights reserved, and it is not
open source. A licence grants use, not ownership. Its code may not be
copied, modified, reused or redistributed, in whole or in part, in another
product or service without written permission. Reading the code to check
what it does stays welcome, and building a competing product stays
forbidden. Said once, in `ownership` (`src/data/legal.ts`), and repeated on
the extension page and in llms.txt.
- **Student flags, as 0.9.0 ships them:** a concealed flag is a grey smudge
with no colour, nothing on the page brings it back, and a teacher updating
from 0.8.2 has flags concealed.
- **The extension page and legal pages describe 0.9.0, the next Chrome Web
Store release**, and say where 0.8.2, on the store today, differs. Patches
(0.8.3 to 0.8.9) are test releases that do not go to the store, so
(0.8.3 to 0.8.13) are test releases that do not go to the store, so
`extensionVersions.next` is now 0.9.0, not 0.8.4.
- Student flags: the extension no longer hides Toddle's own flags. A
teacher can conceal them for a shared screen with the free switch, and
Expand Down
17 changes: 17 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Copyright (c) 2026 Nyuchi Web Services. All rights reserved.

This website, learning.nyuchi.com, its source code, content, designs and
other materials in this repository (the "Software") are the property of
Nyuchi Web Services and are protected by copyright and other intellectual
property laws. The Software is proprietary. It is not open source.

No licence or right to copy, modify, merge, publish, distribute,
sublicense, sell, deploy, or otherwise reuse the Software, in whole or in
part, is granted without the prior written permission of Nyuchi Web
Services. Contact: support@nyuchi.com.

Third-party packages it depends on keep their own licences.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
26 changes: 18 additions & 8 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "nyuchi-learning",
"version": "3.0.0",
"private": true,
"license": "UNLICENSED",
"type": "module",
"description": "learning.nyuchi.com — the Nyuchi Learning surface and the home of the Toddle Enhancement Extension.",
"scripts": {
Expand All @@ -23,7 +24,7 @@
"ci:check": "astro check && vp fmt --check"
},
"dependencies": {
"@bundu/ui": "^0.1.1",
"@bundu/ui": "^0.5.0",
"astro": "^7.3.5"
},
"devDependencies": {
Expand Down
22 changes: 18 additions & 4 deletions public/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,18 @@ community-based platforms. Nyuchi Web Services is its development division.
a Google Admin console force-install (or Group Policy, Intune or a macOS
profile); an organisation key is pasted in once by each teacher, since it
cannot be pushed by policy. Teachers get each minor release (0.9.0 next)
from the Chrome Web Store; patch releases between them are for testing
and do not go to the store. Help:
from the Chrome Web Store; versions 0.8.3 to 0.8.13 were test builds for
schools piloting it, and their changes arrive together in 0.9.0. Release
notes for every version, in plain words:
https://learning.nyuchi.com/toddle-enhancement-extension/releases
(each version at #v<version>, e.g. #v0.9.0). There are no public
downloads; install from the Chrome Web Store. The extension is proprietary
and not open source: it and its code belong to Nyuchi Web Services, part
of Nyuchi Africa (Private) Limited, all rights reserved. A licence grants
use, not ownership; its code may not be copied, modified, reused or
redistributed, in whole or in part, in another product or service without
written permission. Reading the code to check what it does is welcome.
Terms: https://learning.nyuchi.com/legal/terms#ownership Help:
https://support.nyuchi.com/en/collections/19764027-how-to-use-the-toddle-enhancement-extension
Security: https://learning.nyuchi.com/legal/security

Expand Down Expand Up @@ -131,8 +141,12 @@ division of Nyuchi Africa (Private) Limited, Harare, Zimbabwe.
stored value on the website, what sets it, how long it lasts and which
consent choice enables it. The extension sets no cookies.
- [Terms of use and service](https://learning.nyuchi.com/legal/terms): the
website's terms of use and the extension's terms of service (licences,
offline keys, refunds, acceptable use, liability, law of Zimbabwe).
website's terms of use and the extension's terms of service (who owns the
extension and its code, licences, offline keys, refunds, acceptable use,
liability, law of Zimbabwe). The extension and its code belong to Nyuchi
Web Services, all rights reserved; a licence grants use, not ownership,
and its code may not be reused in another product or service without
written permission.
Refunds: a full refund within 30 days of purchase, for any reason related
to the product; ask at support@nyuchi.com or through Buy Me a Coffee. A
refunded licence key is cancelled and stops working after the extension's
Expand Down
21 changes: 19 additions & 2 deletions src/data/legal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ export const extensionVersions = {
sameCodeAs: "0.8.3",
next: "0.9.0",
/** The newest patch release (GitHub only, for testing). */
latestPatch: "0.8.9",
latestPatch: "0.8.13",
/** The oldest version security reports are accepted for. */
supportedFrom: "0.8.2",
} as const;
Expand Down Expand Up @@ -178,7 +178,7 @@ export const extensionDataFacts = [
{
claim:
"Student flags: Toddle's own are never hidden, and a teacher can conceal them for a shared screen.",
detail: `From version ${next}, the extension no longer hides Toddle's own student flags: they show as Toddle shows them, including in Toddle's student popover, with their links and documents. A teacher can choose to conceal flags, for a screen a class or a visitor can see, with the free flag switch in Toddle's top bar or the extension's menu. It is off until they switch it on; a teacher who had chosen to hide flags in an earlier version keeps that choice, as concealing. What a concealed flag says cannot be read from across a room, though it can still show that a student has a flag. ${flags.reveal} The sidebar asks Toddle for a student's active flags each time it opens, and keeps them only while that student's sidebar is open. Concealing changes only what is drawn on the screen, never Toddle's data. ${flags.before} In that version, while flags are hidden, the sidebar asks for a student's flags only when someone presses its eye button. The flag switch is free and always will be.`,
detail: `From version ${next}, the extension no longer hides Toddle's own student flags: they show as Toddle shows them, including in Toddle's student popover, with their links and documents. A teacher can choose to conceal flags, for a screen a class or a visitor can see, with the free flag switch in Toddle's top bar or the extension's menu. A new install starts with flags shown. A teacher updating from version ${current}, where flags were hidden by default, or who had hidden them, has them concealed after the update. A concealed flag is a faint grey smudge with no colour, and its words cannot be read from across a room, though it can still show that a student has a flag. Nothing on the page brings a concealed flag back. ${flags.reveal} The sidebar asks Toddle for a student's active flags each time it opens, and keeps them only while that student's sidebar is open. Concealing changes only what is drawn on the screen, never Toddle's data. ${flags.before} In that version, while flags are hidden, the sidebar asks for a student's flags only when someone presses its eye button. The flag switch is free and always will be.`,
},
{
claim: "Your Toddle sign-in stays with Toddle.",
Expand Down Expand Up @@ -275,6 +275,23 @@ export const securityMailto = `mailto:${security.report.email}?subject=${encodeU
security.report.subject,
)}`;

/**
* Who owns the extension, said once: the terms, the product page and
* llms.txt. The extension is proprietary. Schools may read its code to check
* what it does (their privacy reviews depend on it), but a licence grants
* use, not ownership, and the code may not be reused elsewhere.
*/
export const ownership = {
owner: `${legal.operator}, part of ${legal.entity}`,
statement: `The Toddle Enhancement Extension and its code belong to ${legal.operator}, part of ${legal.entity}. All rights reserved. It is not open source.`,
licence:
"A licence lets you use the extension. It does not give you ownership of it, or of any part of its code.",
noReuse:
"You may not copy, modify, reuse or redistribute its code, in whole or in part, in another product or service, without our written permission.",
reading:
"Reading the code to check what it does is fine, and we encourage it: a school should be able to see for itself what software does with its data.",
} as const;

/** Toddle is not ours. Said in the footer, the terms and the product page. */
export const toddleNotice =
"Toddle is a trademark of its owner. Nyuchi and the Toddle Enhancement Extension are not affiliated with, endorsed by or sponsored by Toddle.";
Expand Down
Loading
Loading