{"id":28626004,"url":"https://github.com/triex/react-native-web-browser-app","last_synced_at":"2025-10-05T17:05:49.591Z","repository":{"id":41870477,"uuid":"465603240","full_name":"Triex/react-native-web-browser-app","owner":"Triex","description":"Not another wrapper around SFSafariViewController. A fully-featured, cross-platform web browser written in React Native.","archived":false,"fork":false,"pushed_at":"2023-06-23T01:30:21.000Z","size":1267,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-11T19:54:13.807Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Triex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-03T06:54:08.000Z","updated_at":"2022-08-06T19:27:18.000Z","dependencies_parsed_at":"2022-08-11T19:50:24.741Z","dependency_job_id":null,"html_url":"https://github.com/Triex/react-native-web-browser-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Triex/react-native-web-browser-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Triex%2Freact-native-web-browser-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Triex%2Freact-native-web-browser-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Triex%2Freact-native-web-browser-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Triex%2Freact-native-web-browser-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Triex","download_url":"https://codeload.github.com/Triex/react-native-web-browser-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Triex%2Freact-native-web-browser-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278486308,"owners_count":25994945,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-12T08:40:33.709Z","updated_at":"2025-10-05T17:05:49.569Z","avatar_url":"https://github.com/Triex.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build status](https://img.shields.io/github/workflow/status/Triex/react-native-web-browser-app/ci)](https://github.com/Triex/react-native-web-browser-app/actions)\n[![codecov.io Code Coverage](https://img.shields.io/codecov/c/github/Triex/react-native-web-browser-app.svg?maxAge=2592000)](https://codecov.io/github/Triex/react-native-web-browser-app?branch=master)\n[![Licence](https://img.shields.io/github/license/Triex/react-native-web-browser-app.svg)](https://github.com/Triex/react-native-web-browser-app/blob/master/LICENSE)\n\n# React Native Web Browser App\n\nAn open-source, extensible cross-platform (mobile and desktop) web browser made in React Native!\n\n# T Notes\nSet up for use as base for `TBA`.\n- [X] Set up CI Linting \u0026 Test\n- [ ] Fix TS index type issues\n- [ ] Return to this when it is more meaningful to [ONE1](https://github.com/ONE1DeFi)\n- [ ] Publicise dev/project intent (USP, not a regular browser)\n- [ ] Encourage Open Source Input \n\n## Notes\n- Updated some versions and bits, still not enough\n- Need to look at [react-dom](https://github.com/facebook/react/tree/main/packages/react-dom) updates or changelog/commit history to update to the new ways of doing things.\n\n```\n💩\n```\n\n\n## Installation etc (not working yet, need to update react bits)\nGlobally install react-native-cli, expo if not done already\n```\nnpm install -g react-native-cli\nnpm install -g expo\nnpm install -g expo-cli\nnpm install -g jest-expo\n```\n\nInstall le modules\n```\nyarn install\n```\n\nRun as web, android or ios\n```\nyarn web\n```\n```\nyarn android\n```\n```\nyarn ios\n```\n\nreact-native start\n```\nyarn start\n```\n\nexpo jest\n```\nyarn test\n```\n\njetify\n```\nyarn original_postinstall\n```\n\nnpm run build\n```\nyarn prepare\n```\n\nyarn build\n```\ntsc --project ./tsconfig.build.json\n```\n\n### Run app\n\n\u003e iOS\n\n- Go to ios folder\n- Run `​pod install`\n- Back to project directory\n- Run ​react-native run-ios (`yarn ios`)\n\n\u003e Android\n\n- Run ​react-native run-android (`yarn android`)\n\n-----------------------\n## Why? [![start with why](https://img.shields.io/badge/start%20with-why%3F-brightgreen.svg?style=flat)](http://www.ted.com/talks/simon_sinek_how_great_leaders_inspire_action)\n\nBecause ONE1.\n\n## Scope\n\nThe browser should:\n\n* have a UI that is no less functional than that of Firefox's; \n* support at least iOS, Android, macOS, and Windows from one codebase;\n* allow consumers to swap out the WebView for another one (for now, I'm using my fork of `react-native-webview`);\n\nTo be clear: This project is **purely** focused on building a browser UI, and forwarding user actions to a WebView. We are not trying to rebuild a browser engine here – just the UI around it.\n\n## Roadmap\n\n- [X] Functional navigation buttons (back, forward, stop, refresh)\n- [X] Functional URL bar (can navigate to URL inputs and updates text upon page redirect)\n- [X] Rotation\n- [X] Bar retraction\n- [X] Intelligent URL vs. search query determination in search bar\n- [ ] Search suggestions / autocomplete text field\n- [ ] Bars snapping to fully retracted/revealed upon gesture release\n- [ ] Tabs\n- [ ] History\n- [ ] Browsing-state persistence\n- [ ] Bookmarks\n- [ ] Reading list\n- [ ] Page-specific actions\n- [ ] Branded app-specific actions (e.g. JS injection, popup blocking, whatever)\n\n## Prior art\n\nCliqz give [good reasons](https://www.0x65.dev/blog/2019-12-17/why-we-forked-firefox-and-not-chromium.html) as to why they use Firefox as a basis rather than Chromium.\n\n* [`cliqz-oss/browser-android`](https://github.com/cliqz-oss/browser-android): an Android web browser UI built in Java, based on Firefox for Android(?). Is the UI for the Cliqz Play Store Android app.\n* [`cliqz/user-agent-ios`](https://github.com/cliqz/user-agent-ios): an iOS web browser UI built in Swift, based on Firefox for iOS. [Is the UI for the Cliqz AppStore iOS app](https://twitter.com/chrmod/status/1204771688824655872?s=20).\n* [`cliqz-oss/cliqz-s`](https://github.com/cliqz-oss/cliqz-s): Cliqz's prototype Windows browser, written in React Native Windows ([not meant for production](https://twitter.com/chrmod/status/1204772242279809025?s=20)).\n* [`cliqz-oss/browser-f`](https://github.com/cliqz-oss/browser-f): Cliqz's production desktop browser (Windows \u0026 Mac), based on Firefox desktop. There are a mixture of languages in the source: C++ and JS, at least. I'm not really sure what the dominant UI language is.\n* [`cliqz-oss/browser-core`](https://github.com/cliqz-oss/browser-core): Cliqz's set of cross-platform (desktop \u0026 mobile) core modules such as their search UI.\n* [Mozilla Application Services](https://github.com/mozilla/application-services/blob/master/README.md), recommended as a state storage solution by [Krzysztof Modras](https://twitter.com/chrmod/status/1208335429507960832?s=20) of Cliqz – particularly Places DB (explained by Krzysztof [here](https://twitter.com/chrmod/status/1208336158037557248?s=20)).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftriex%2Freact-native-web-browser-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftriex%2Freact-native-web-browser-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftriex%2Freact-native-web-browser-app/lists"}