Giter Site home page Giter Site logo

mozilla-mobile / fenix Goto Github PK

View Code? Open in Web Editor NEW
6.5K 143.0 1.3K 128.68 MB

⚠️ Fenix (Firefox for Android) moved to a new repository. It is now developed and maintained as part of: https://github.com/mozilla-mobile/firefox-android

Home Page: https://github.com/mozilla-mobile/firefox-android

License: Mozilla Public License 2.0

Kotlin 96.76% Dockerfile 0.07% Python 1.73% Shell 0.89% CSS 0.07% HTML 0.26% Java 0.05% Ruby 0.01% JavaScript 0.18%
mozilla browser android firefox

fenix's People

Contributors

aaronmt avatar amejia481 avatar andiaj avatar boek avatar branescumihai avatar colintheshots avatar csadilek avatar darkwing avatar ekager avatar eliserichards avatar gabrielluong avatar gmierz avatar jhugman avatar johanlorenzo avatar jonalmeida avatar liuche avatar matthewtighe avatar mcarare avatar mcomella avatar mickeymoz avatar mozilla-l10n-automation-bot avatar mozillanoah avatar mugurell avatar notwoods avatar person808 avatar pocmo avatar rocketsroger avatar sblatz avatar sv-ohorvath avatar valentintimisica avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fenix's Issues

[Meta] Crash Reporting

User Story:

-As a user I can choose to submit a crash report when my browser crashes.
-As an engineer, I want to have sufficient data in the Crash Report to diagnose, reproduce, and solve an issue.

Dependencies:

  • #267 - Integrate lib-crash component (and setup release build process)
  • Add Fenix as new product to Socorro (Bug 1523284)

Nice to have:

-Tooling/feature to make it easier for users to opt-in/help diagnose.

┆Issue is synchronized with this Jira Task

Investigate Depedency Injection Options

Several of our existing project use Java static singleton classes to make app functionality available. This frustrates effective testing and makes it harder to utilize inheritance over composition.

We should consider dependency injection options to find something simple that won't significantly harm performance or cause needless boilerplate or pain for developers adding new features.

┆Issue is synchronized with this Jira Task

Conflict of assumptions about state of the session manager

There is a bit of an "action at a distance" problem with how session manager's state as it is perceived by various components. A specific example is the tabs tray interaction with the toolbar. If one tab is currently opened (one session is present in the manager), closing that tab will leave session manager with no sessions.
However, toolbar component assumes presence of a current session - so if you were to open a url, it'll crash as it hits a null current session.

At first glance, this seems like a problem at an interface level between the session manager and its consumers. There are two methods to get a session, one of which will throw if set of sessions is empty. So the implicit contract is "you decide if I may be empty". Inevitably this leads to problems like the one I described above, where two parts of the system make different assumptions.

One way to address this would be to enforce a behaviour at the manager level - i.e. a "must have a default session" type of a session manager, which would be responsible for enforcing that behaviour. ISTM that we'd need this anyway for something like the "new tab" panel, but more generally it should help avoid having components step on each other's toes.

This kind of pattern likely generalizes well to other types of "in-between" components as well.

┆Issue is synchronized with this Jira Task

Add a Startup Option to Specify the Client ID

Why/User Benefit/User Problem

Automated and performance testing may skew our telemetry numbers, confusing us. We don't like to be confused!

What / Requirements

Add a Startup Option to Specify the Client ID . The Client ID would be used as the id for our telemetry calls.

Acceptance Criteria (how do I know when I’m done?)

I can start up Focus with a specified client id and that is what is reported in redash.

cc @mmccorks

┆Issue is synchronized with this Jira Task

Setup basic CI infrastructure

  • Build on taskcluster
  • Run (unit) tests in automation
  • Create custom docker image with all dependencies (or re-use the android-components one for now)
  • Run code quality tools (at least lint, detekt and ktlint)
    • detekt
    • lint
    • ktlint
  • Save reports as artifacts

┆Issue is synchronized with this Jira Task

Please Include Build Instructions

Excited to play around with this and make contributions. Please provide build instructions (going to try and build this evening anyway).

┆Issue is synchronized with this Jira Task

about html select tag

Hi, I clone fenix and run in my phone, I find the tag <select></select> can render ,but it cannot to select options. I don't know if it is a bug, or how to deal with it.

┆Issue is synchronized with this Jira Task

Built-in first-class experience for QR code scanning

Why

What

Ideas:

  • QR code reader in a private-by-default scenario like Focus
  • a scan-to-private-browsing user flow in Fennec

A user flow to go directly from homescreen to scanner and then into a safe and private web experience would provide strong user protection.

┆Issue is synchronized with this Jira Task

Investigate MVI Architecture Options

We should decide how we want to implement our application architecture in the new Fenix browser. We have discussed using an MVI architecture as a team, but we should investigate the best options to implement this on Android and we must decide if this is the right solution.

We should examine libraries like Mosby, Reductor, and MvRx as well as just implementing our own solution to bind changing data to the view using RxJava, LiveData, or Kotlin Coroutine Channels. There may be value in developing something in-house if no existing implementation is simple or succinct enough.

┆Issue is synchronized with this Jira Task

Explore "Maximize Battery Life" with GV/Performance team

Explore whether it’s possible to provide users’ feedback on how much battery life they could/have saved by enabling the feature and subsettings

If creating a default grouping of settings to enable for Maximize Battery Life, include: Block Ads, Block Trackers, Turn off Autoplay

┆Issue is synchronized with this Jira Task

Design Navigation

UX to design wireframes, define primary and quick action controls

┆Issue is synchronized with this Jira Task

[Meta] Reader Mode

Why/User Benefit/User Problem

As a user, I want to have a clean and distraction free reading experience for long-form content (e.g. news articles)

What / Requirements

UX mocks: #190
User Stories (listed below)

Acceptance Criteria (how do I know when I’m done?)
-Complete all user stories
-Supporting perceived speed goals (See ideas here: https://arxiv.org/pdf/1811.03661.pdf)

GV dependencies:

A-C Dependencies:

https://github.com/orgs/mozilla-mobile/projects/25

┆Issue is synchronized with this Jira Task

Send crash reports to Glean

Why/User Benefit/User Problem

Crash pings would help us to calculate crash rates... something we do not get with Sentry (#2326).

Fennec implementation:
https://bugzilla.mozilla.org/show_bug.cgi?id=1407557

This is something we'd implement in the telemetry library:
https://github.com/mozilla-mobile/telemetry-android

What/Requirements

Add Glean crash reporter to CrashReporter services.

https://github.com/mozilla-mobile/android-components/tree/master/components/lib/crash#sending-crash-reports-to-glean

Acceptance Criteria (how do I know when I’m done?)

  • Glean Crash reporter is added, and crash counts are being sent
  • Documentation added to Fenix telemetry docs, explaining what the crash reporter collects
  • Data review for adding new telemetry collection of Glean crash reporter

┆Issue is synchronized with this Jira Task

Can this be built in any other version than Aarch64?

Tried building this software and I got 'app-beta-aarch64-debug.apk' in the 'fenix>app>build>outputs>apk>betaAarch64>debug' but it fails to install on my Spreadtrum and Mediatek phones as well as Anbox, is there something I can do to get it to run? Thanks.

┆Issue is synchronized with this Jira Task

video background

is a functionality that brings Brave and it would not hurt to Fenix

┆Issue is synchronized with this Jira Task

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.