Sitelet https://github.com/msgwing/ZeroSMTP/pull/238
Skip to content

docs: add Sharp OAuth compatibility - #238

Merged
msgwing merged 2 commits into
msgwing:mainfrom
Mohitingale13:docs/add-sharp-oauth
Aug 23, 2026
Merged

msgwing merged 2 commits into
msgwing:mainfrom
Mohitingale13:docs/add-sharp-oauth

Conversation

@Mohitingale13

@Mohitingale13 Mohitingale13 commented Aug 23, 2026 •

Copy link
Copy Markdown
Contributor

What does this PR change?

Addresses #240
Adds Sharp printers and MFPs to the device compatibility dataset with a partial OAuth 2.0 classification.

Research & Evidence

Sharp documents OAuth 2.0 authentication for Microsoft 365 / Exchange Online SMTP on multiple newer printer and MFP models, including the BP series.

Sharp does not appear to publish a centralized compatibility list or universal firmware floor covering its full printer/MFP range, so this PR does not claim brand-wide support.

Primary evidence:
https://global.sharp/restricted/products/copier/downloads/manuals/bp70m65/us/contents_09-07_003.html

Implementation

  • Added Sharp to data/devices.json with status: "partial".
  • Left models empty rather than making an unverifiable exhaustive compatibility list.
  • Regenerated docs/DEVICE-COMPATIBILITY.md and the Sharp device page.
  • Verified the source JSON contains a plain URL.
  • Verified data/devices.json ends with a trailing LF.
  • Ran the generator check and git diff --check.

@msgwing
msgwing merged commit d44ad0b into msgwing:main Aug 23, 2026
24 checks passed
msgwing added a commit that referenced this pull request Sep 1, 2026
`czeka-czlowiek` i `zalegle-zewnetrzne` pytaja GitHuba o `state: 'open'`.
Scalony pull request jest zamkniety, wiec praca przyjeta i nieodnotowana
byla dla calego nadzoru niewidzialna z definicji - a to jedyne miejsce,
w ktorym konczy zycie wklad kontrybutora.

Zmierzone na wszystkich 14 scalonych wnioskach od ludzi z zewnatrz:
piec nie ma ani jednego naszego slowa (#238 i #245 od dziewieciu dni),
jeden ma ostatnie zdanie ich (#300), retencja 2 z 5, @slegarraga milczy
od 26 dni. Zlecenie tego zadania wymienialo jeden zalegly wklad.

Bramka nie liczy komentarzy, tylko sprawdza ich autora, i to zmienia dwa
wyniki: #362 (@lesbass) ma komentarz, ale napisal go inny kontrybutor,
wiec jest dlugiem; #83-#85 (@slegarraga) nie maja komentarza od nas,
tylko recenzje z trescia, wiec dlugiem nie sa.

Cisza kontrybutora liczona od JEGO ostatniej czynnosci, nie od naszego
scalenia - inaczej wlasne klikniecie byloby dowodem, ze on wciaz z nami
jest. Na @slegarraga roznica wynosi piec dni.

Czego to zadanie celowo nie robi: nie pisze podziekowan (automatyczne
"dziekujemy" mowi czlowiekowi wprost, ze po drugiej stronie nie bylo
nikogo), nie zaczepia nikogo, kto ucichl (prog 21 dni jest wybrany, nie
wyliczony - n=2 odstepy od jednej osoby - wiec uspienie nigdy nie zaklada
zgloszenia samo), nie przypisuje wlasciciela.

Logika w tools/contributor-care.js, testowana na prawdziwych danych tych
14 wnioskow, importuje regule "kto napisal ostatni" z unanswered-external.js
zamiast trzymac jej druga kopie. Sprawdzona przez zepsucie: odwrocenie
progu dojrzalosci wywraca 4 z 16 testow, odwrocenie testu autorstwa 8 z 16.
msgwing added a commit that referenced this pull request Sep 1, 2026
`czeka-czlowiek` i `zalegle-zewnetrzne` pytaja GitHuba o `state: 'open'`.
Scalony pull request jest zamkniety, wiec praca przyjeta i nieodnotowana
byla dla calego nadzoru niewidzialna z definicji - a to jedyne miejsce,
w ktorym konczy zycie wklad kontrybutora.

Zmierzone na wszystkich 14 scalonych wnioskach od ludzi z zewnatrz:
piec nie ma ani jednego naszego slowa (#238 i #245 od dziewieciu dni),
jeden ma ostatnie zdanie ich (#300), retencja 2 z 5, @slegarraga milczy
od 26 dni. Zlecenie tego zadania wymienialo jeden zalegly wklad.

Bramka nie liczy komentarzy, tylko sprawdza ich autora, i to zmienia dwa
wyniki: #362 (@lesbass) ma komentarz, ale napisal go inny kontrybutor,
wiec jest dlugiem; #83-#85 (@slegarraga) nie maja komentarza od nas,
tylko recenzje z trescia, wiec dlugiem nie sa.

Cisza kontrybutora liczona od JEGO ostatniej czynnosci, nie od naszego
scalenia - inaczej wlasne klikniecie byloby dowodem, ze on wciaz z nami
jest. Na @slegarraga roznica wynosi piec dni.

Czego to zadanie celowo nie robi: nie pisze podziekowan (automatyczne
"dziekujemy" mowi czlowiekowi wprost, ze po drugiej stronie nie bylo
nikogo), nie zaczepia nikogo, kto ucichl (prog 21 dni jest wybrany, nie
wyliczony - n=2 odstepy od jednej osoby - wiec uspienie nigdy nie zaklada
zgloszenia samo), nie przypisuje wlasciciela.

Logika w tools/contributor-care.js, testowana na prawdziwych danych tych
14 wnioskow, importuje regule "kto napisal ostatni" z unanswered-external.js
zamiast trzymac jej druga kopie. Sprawdzona przez zepsucie: odwrocenie
progu dojrzalosci wywraca 4 z 16 testow, odwrocenie testu autorstwa 8 z 16.
@msgwing

msgwing commented Sep 1, 2026

Copy link
Copy Markdown
Owner

@Mohitingale13 — this sat merged for nine days with nothing said, and that is on us, not on you. Fixing the reason rather than apologising for it: every check we had asked GitHub for open threads, and a merged pull request is closed, so accepted work was invisible to all of it by construction. That gap is closed in #412.

What this one bought: Sharp is now a row in data/devices.json, which is the one asset this project has that nobody else does — a hardware-confirmed record of which MFPs can and cannot do OAuth. It is not just a table row either; docs/devices/sharp-printers-and-mfps.md is generated from it, so a Sharp admin searching after Microsoft turns Basic auth off in December lands on a page that exists because you filed this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants