<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/who-knew-we-still-had-low-hanging-fruit--hw2ccjdeg" -->

---
title: Who knew we still had low-hanging fruit? | daily.dev
description: A developer recounts attending the Web Engines Hackfest hosted by Igalia, sharing discussions about Chromium on Wayland and a nested compositor approach for...
canonical: https://daily.dev/posts/who-knew-we-still-had-low-hanging-fruit--hw2ccjdeg
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Who knew we still had low-hanging fruit? | daily.dev
og:description: A developer recounts attending the Web Engines Hackfest hosted by Igalia, sharing discussions about Chromium on Wayland and a nested compositor approach for...
og:url: https://daily.dev/posts/who-knew-we-still-had-low-hanging-fruit--hw2ccjdeg
og:image: https://api.daily.dev/og/posts/hw2CcJdEG.png
og:image:alt: Who knew we still had low-hanging fruit?
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Who knew we still had low-hanging fruit?

**[Collabora Blog](https://daily.dev/sources/collabora)** · 3 min read · 0 upvotes · 0 comments

## Summary

A developer recounts attending the Web Engines Hackfest hosted by Igalia, sharing discussions about Chromium on Wayland and a nested compositor approach for WebKit2. Two notable small fixes were made to WebKitGTK+: implementing the NetworkStateNotifier using GNetworkMonitor (3 lines of code) to fix slow Mattermost reconnection, and adding a low-power notifier using upower-glib to throttle timers on battery. The post also touches on broader discussions around WebRTC, Servo, Rust, and WebVR.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.collabora.com/news-and-blog/blog/2017/10/17/who-knew-we-still-had-low-hanging-fruit>

## Questions this post answers

### Why does WebKitGTK+ take a long time to reconnect WebSockets after a network drop?

WebKitGTK+ historically did not implement the WebCore NetworkStateNotifier interface, so the engine was never notified of connection changes and web sockets would linger until they timed out on their own. Implementing the interface using GNetworkMonitor required only 3 lines of actual code plus boilerplate, and once done, reconnection happens promptly after a network hiccup.

_Developers debugging WebKitGTK+ networking quirks find the relevant patches and context on daily.dev._

## Similar posts on daily.dev

- [WebKit Igalia Periodical \#80](https://daily.dev/posts/webkit-igalia-periodical-80-cnc9rxltv) · Planet Igalia · 0 upvotes · 0 comments
- [This Month in Ladybird](https://daily.dev/posts/this-month-in-ladybird-wmtgqhzgv) · Hacker News · 12 upvotes · 2 comments

---

Tags: [#open-source](https://daily.dev/tags/open-source), [#linux](https://daily.dev/tags/linux), [#safari](https://daily.dev/tags/safari), [#chromium](https://daily.dev/tags/chromium)

[View this post on daily.dev](https://daily.dev/posts/who-knew-we-still-had-low-hanging-fruit--hw2ccjdeg)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Who knew we still had low-hanging fruit?","url":"https://daily.dev/posts/who-knew-we-still-had-low-hanging-fruit--hw2ccjdeg","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/who-knew-we-still-had-low-hanging-fruit--hw2ccjdeg"},"datePublished":"2026-08-11T08:56:26.462Z","dateModified":"2026-08-11T09:27:14.406Z","description":"A developer recounts attending the Web Engines Hackfest hosted by Igalia, sharing discussions about Chromium on Wayland and a nested compositor approach for...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/657cde3c4dea87853fc809e362a56670?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/657cde3c4dea87853fc809e362a56670?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Collabora Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Collabora Blog","logo":"https://media.daily.dev/image/upload/s--ZGZ0FjqS--/f_auto,q_auto/v1786438306/logos/collabora?_a=BAMAMicg0","url":"https://daily.dev/sources/collabora"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/who-knew-we-still-had-low-hanging-fruit--hw2ccjdeg","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"open-source,linux,safari,chromium","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Collabora Blog","item":"https://daily.dev/sources/collabora"},{"@type":"ListItem","position":3,"name":"Who knew we still had low-hanging fruit?"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/who-knew-we-still-had-low-hanging-fruit--hw2ccjdeg#faq","mainEntity":[{"@type":"Question","name":"Why does WebKitGTK+ take a long time to reconnect WebSockets after a network drop?","acceptedAnswer":{"@type":"Answer","text":"WebKitGTK+ historically did not implement the WebCore NetworkStateNotifier interface, so the engine was never notified of connection changes and web sockets would linger until they timed out on their own. Implementing the interface using GNetworkMonitor required only 3 lines of actual code plus boilerplate, and once done, reconnection happens promptly after a network hiccup. Developers debugging WebKitGTK+ networking quirks find the relevant patches and context on daily.dev."}}]}
```

