Installed iOS 26.6 on 16 Pro Max, so far so good

As titled, just updated my 16 Pro Max to 26.6 and I’m pleased to report that so far, the experience seems pretty good.

The phone was warm during the update itself but took very little time after completion to feel completely normal. The fluidity in animations has also seemingly returned, and gone are the micro stutters that plagued scrolling across the homepages/ app list/ Safari etc. I haven’t encountered any bugs/ visual glitches but it’s only been a few hours since the update so take that with a pinch of salt. It’s also a bit too early to say anything concrete about battery life but the fact that the phone is cool gives me optimism (from my experience, the warmer the phone ran, the quicker its juice drained).

As always, this is just my experience on my specific device so YMMV. If you’ve also updated yourself, feel free to share your experience below :)

reddit.com
u/BitOfATinkerer — 2 hours ago
▲ 1 r/Zoho

Zoho Mail Notification no longer previews email contents (iOS)

Not sure if anybody has faced a similar issue but lately my Zoho mail notifications on iOS have stopped displaying content previews (sender, subject, first 2-3 lines).

Zoho Mail version 3.4.8, running on iOS 26.6

reddit.com
u/BitOfATinkerer — 5 hours ago
▲ 83 r/watchos+1 crossposts

Every time I take a screenshot in the Watch app, watchOS update takes a few hours longer

These screenshots were taken over a span of 2 minutes on my iPhone in the Watch app. Every time I take a screenshot, the time increases by a few hours lol
Anyone else experiencing this?

u/BitOfATinkerer — 7 hours ago
▲ 8 r/Etekcity+3 crossposts

Etekcity’s parent company (VeSync) is now selling your personal health data?

Etekcity’s parent company VeSync just updated their Privacy Policy (https://www.vesync.com/legal/privacy?protocol\_id=1&lang=en), by accepting, I think you’re now giving them the right to sell your personal health info to advertisers/ data brokers.

1) Permission to collect your health data
If you look at the 1st screenshot (Section 2, Subsection 10 Wellness Data):
- “Once synced, your wellness data will be collected and stored on the App’s cloud server after each use. For example, by using and syncing a smart body scale, you can record your weight and BMI in the App.”
- In other words, the moment you linked your VeSync hardware to the VeSync app, you are granting them permission to access and store your health data (“Your Consent”). While this is necessary for the app to work (otherwise it wouldn’t be able to display your weight/ BMI/ blood pressure for example within the app), the way they use this “consent” in the next 2 sections is worrying.
- To see the full list of health data they can collect, scroll to the end of this post.*

2) What they can do with your health data
If you look at the 3rd screenshot (Section 3 How We Use the Collected Information):
- Scroll down to the Wellness Data section, among other purposes, it includes “provide you with personalized recommendations, product offerings and promotions.” The legal basis - “Your Consent”.
- Now if at this point, you’re thinking that’s fine, it’s just the same company having access to your data anyway (which I personally don’t agree with, but to each their own), read on. They don’t just use your data for their own products/ promotions.

3) Who they share the data with
If you look at the 4th screenshot (Section 4 Personal Data Sharing and Disclosures):
- “Sharing with advertising, marketing, and analytics providers: we may disclose your data with other companies that conduct marketing and advertising services to promote products and services. This includes advertisers, publishers, social media platforms, advertising technology providers, and analytics vendors that help us offer and measure the effectiveness of our advertising and other marketing offers targeted advertising and other marketing offers.
- I’m not a practicing lawyer but how can I interpret this part as anything other than “We share your data with advertisers. They are allowed to use this data for other companies/ other marketing campaigns as well. Eg high BMI - How about some weight loss pills? High BP - would you like to buy this miracle BP controlling gadget?“
- (I don’t think they’re allowed to sell this info to insurance/ health companies to jack prices up but as I said, not a lawyer so I’ll wait for someone more qualified to explain this.)

But needless to say, I don’t think any of my fellow VeSync customers should agree to/ accept this updated TOS.

*Full list of data VeSync potentially collects according to their own Privacy Policy Section 2, Subsection 10:
“Below is list of wellness data associated with each category of our products:
If you use our wellness products such as smart scales or smart kitchen appliances, you can voluntarily sync the following information with the VeSync App:
Weight, height, metabolic age, gender, body composition such as BMI (Body Mass Index), muscle mass, body water, skeletal mass, BMR, body fat, subcutaneous fat, visceral fat, bone mass, protein, etc., cooking history, food name, food weight, and food nutrition information such as calories, fat, sugar, protein, carbs, trans fat, saturated fat, cholesterol, sodium, potassium, dietary fiber, iron, VD, VA, VC, polyunsaturated fat, monounsaturated fat, calcium, etc.
If you use smart trackers and smart watches, you can voluntarily sync the following information with the VeSync App:
Weight, height, metabolic age, gender, stride, distance, duration, number of steps, sleep status, calories, workout records, sleep records, heart rate records, and blood oxygen records.
If you use smart blood pressure monitors, you can voluntarily sync the following information with the VeSync App:
Systolic pressure, diastolic pressure, and pulse.
If you use smart pulse oximeter, you can voluntarily sync the following information with the VeSync App:
Oxygen saturation, perfusion Index, and pulse.
If you use wellness services in our App and Websites, we may collect the information you voluntarily provide, such as:
Exercise-related information (e.g. exercise preference, exercise plan, exercise record);
Body measurements (e.g. birthday, height, weight, waist, bust size, hip size);
Diet-related information (e.g. diet plan, diet preference, food list, diet record); and/or
Health-related information (e.g., blood pressure, heart rate, blood glucose, allergies).”

u/BitOfATinkerer — 8 days ago
▲ 1 r/watchos+2 crossposts

Dismissing iOS notifications seemingly also dismisses iPadOS + watchOS notifications too now?

For the longest time, I’ve had to manually swipe away the same notifications separately on my iPhone, iPad and Apple Watch. Recently though, dismissing a Gmail notification away on my Apple Watch seems to also automatically remove them from my iPhone and iPad? Does anyone know if this is something done by Apple or Google?

I’m hoping this can be toggled on universally for all notifications (dismiss once, gone on all devices signed in with the same Apple account).

reddit.com
u/BitOfATinkerer — 1 month ago

@iOS users, is your Sheets app constantly crashing?

Hi,

I’m making this post to see if other iOS Google Sheets users out there are also experiencing frequent app crashes? The past 2 versions (1.2026.23102 and 1.2026.22202) have been crashing very frequently for me. I tried uninstalling the app, reinstalling it, restarting my phone (16PM, iOS 26.3.1), opening different sheets but the crashes remain semi-persistent (app opens sheet, allows me to scroll around from a few seconds to minutes, before abruptly crashing.)

I have recently also been experimenting with some longer (for me) scripts so I’m not sure if they’re the culprit instead. Would be grateful if any experienced users out there can give me some of your advice as well. Example script below:

function TMDB_DATA(title, type) {
  if (!title) return "";
  const apiKey = 'TMDB api key';
  try {
const lowerTitle = title.toLowerCase();
const seasonMatch = title.match(/(?:season\s*|(?:\s)|r)(\d+)$/i);
const inputNumber = seasonMatch ? seasonMatch[1] : null;
const isExplicitTV = lowerTitle.includes("season") || lowerTitle.includes(" r2") || lowerTitle.includes("blood war");

let searchUrl = `https://api.themoviedb.org/3/search/multi?api\_key=${apiKey}&query=${encodeURIComponent(title)}\`;
let json = JSON.parse(UrlFetchApp.fetch(searchUrl, {muteHttpExceptions: true}).getContentText());
let results = json.results || [];

let result = null;
if (results.length > 0) {
if (isExplicitTV) {
result = results.find(r => r.media_type === 'tv' && !r.name.toLowerCase().includes("special edition"));
}
if (!result) {
result = results.find(r => {
const rName = (r.title || r.name || "").toLowerCase();
return lowerTitle.includes(rName) || rName.includes(lowerTitle.replace(/\s\d+$/, ""));
});
}
if (!result) result = results[0];
}

if (!result || (inputNumber && !result.name.toLowerCase().includes(inputNumber) && !isExplicitTV)) {
let cleanTitle = title.split(" - ")[0].replace(/season \d+|r\d+|\s\d+$/gi, "").trim();
const cleanUrl = `https://api.themoviedb.org/3/search/multi?api\_key=${apiKey}&query=${encodeURIComponent(cleanTitle)}\`;
let cJson = JSON.parse(UrlFetchApp.fetch(cleanUrl, {muteHttpExceptions: true}).getContentText());
if (cJson.results && cJson.results.length > 0) {
result = cJson.results.find(r => r.media_type === 'tv') || cJson.results[0];
}
}

if (!result) return type === "category" ? "YouTube" : "Not Found";

const mediaType = result.media_type || (result.name ? 'tv' : 'movie');
const id = result.id;
const resultTitle = (result.title || result.name || "").toLowerCase();

if (inputNumber && mediaType === "movie" && !resultTitle.includes(inputNumber)) return "Not Found";

if (type === "category") {
const isAnimated = result.genre_ids && result.genre_ids.includes(16);
if (mediaType === "movie") return isAnimated ? "Animated Film" : "Film";
return isAnimated ? "Animated TV" : "TV";
}

let sJson = null;
if (mediaType === "tv" && inputNumber) {
const seasonUrl = `https://api.themoviedb.org/3/tv/${id}/season/${inputNumber}?api\_key=${apiKey}\`;
const sResponse = UrlFetchApp.fetch(seasonUrl, {muteHttpExceptions: true});
sJson = JSON.parse(sResponse.getContentText());
if (sJson.success === false) return "Not Found";
}

if (type === "date") {
let dateString = (sJson && sJson.air_date) ? sJson.air_date : (result.release_date || result.first_air_date);
if (!dateString) return "N/A";
const parts = dateString.split('-');
return new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10), 12, 0, 0);
}

if (type === "trailer") {
let youtubeKey = '';
let videoUrl = (sJson)
? `https://api.themoviedb.org/3/tv/${id}/season/${inputNumber}/videos?api\_key=${apiKey}\`
: `https://api.themoviedb.org/3/${mediaType}/${id}/videos?api\_key=${apiKey}\`;

const vJson = JSON.parse(UrlFetchApp.fetch(videoUrl, {muteHttpExceptions: true}).getContentText());
if (vJson.results && vJson.results.length > 0) {
const bestMatch = vJson.results.find(v => v.name.toLowerCase().includes('official')) || vJson.results[0];
if (bestMatch.site === 'YouTube') youtubeKey = bestMatch.key;
}
return youtubeKey ? `https://www.youtube.com/watch?v=${youtubeKey}\` : "Not Found";
}
  } catch (e) {
return "Error: " + e.toString();
  }
}

reddit.com
u/BitOfATinkerer — 1 month ago