Download on the App Store.
The iOS codebase has moved to https://github.com/brave/brave-core
This respository will be archived in the future.
Brave iOS Browser
Home Page: https://brave.com
License: Mozilla Public License 2.0
Download on the App Store.
The iOS codebase has moved to https://github.com/brave/brave-core
This respository will be archived in the future.
Enable initial easy code signing for running on device.
Very current search engines are equivalent or a strict superset of current browser-ios project.
Also make sure browser source for related search engines is "Brave" (e.g. DDG).
<script>
while(true) {
alert(1);
}
</script>
STR:
Shields menu should be built utilizing the new PopoverController
.
Issue text template should be updated for people submitting tickets to Github.
Add ability to toggle switches by tapping a label
Project provisions, build steps and README, CI, Continuous Deployment
Lots of deprecation or other random warnings. This should deal with any moderately easy warnings to fix. Anything requiring larger refactors or significant API changes should be dealt with individually.
Get app signed for prod/beta, and local device runs.
Maybe panel and setting to open webview, ledger integration
Create scripts to "automatically" pull in new translations from Transifex and massage data into any necessary format for utilization.
Update the project to use Brave icons and colors.
Opening reader mode in XCUItests doesn't work, blank view is shown. Normally it works. For now the reading list tests are disabled, we should fix them soon.
STR:
<script>
window.location.href = 'about:preferences';
</script>
Update UI for Brave's primary branding:
Brave home screens should be ported over to match existing functionality.
Remove existing Reading List code. This feature may make a new appearance, but should be removed in the midterm.
General ticket as validation of item completion below:
STR -
Actual Result - Infinite Touch Id Requests
Hide images is a current feature, we should move it and clump it into the general shields settings.
Private mode should lock the file system to prevent any accidental writes. This may take a bit of time, depending on the amount of write access currently being utilized.
We need to update the ReadMe for Brave:
Hey there! Thanks for using Firefox!
We prefer to have bugs in Bugzilla. That way issues can be tracked and the rest of Mozilla can help us fix and verify issues as well.
We would love if you have found a bug to report it in Bugzilla. File a new bug
If you are having an issue building or running the project message us on IRC. There are lots of people who are around to help. We are on #mobile
Testing
Verify new strings can be properly sent to Transifex easily.
Be able to manage / clear cookies. Functionality should be comparable to browser-ios
Referencing #79
Migrate existing DDG in private mode screens and functionality.
Label | Popup |
---|---|
Filesystem lock
Notify users before enabling CrashReporting using sentry on iOS.
Menus and app UX
let baseRule = [{'trigger':{'url-filter':'.*','resource-type':['script']},'action':{'type':'block'}}]
Main place of complication here regards domain exceptions.
If Global Script Blocking (GSB) is off
a blacklist
of domains must be tracked.
If GSB is on
a whitelist
of domains must be tracked.
Whenever GSB is changed, all domain-specific script settings are left alone.
Whenever a domain exception is created, it i stored in CoreData, and the adblock script rule rebuilt and reloaded. During rebuilding, CD is quiried to build the blacklist
/whitelist
Domain flags will be tracked in CoreData:
shield_noScript
shield_allOff
let domainString = Domain.domainAndScheme(fromUrl: url)
let basePredicate = NSPredicate(format: "url == %@", domainString)
...
// Gives us `whitelist` if GSB is on
// Gives us `blacklist` if GSB is off
let exceptionListPredicate = NSPredicate(format: "shield_noScript == \(!shield_allOff)")
let exceptionListDomains = // ...
The new baseRule ends up being:
let baseJSON = [{'trigger':{'url-filter':'.*','resource-type':['script']},'action':{'type':'block'}}]
let exceptionListKey = GSB.isOn ? "unless-domain" : "if-domain"
baseJSON["trigger"][exceptionListKey] = exceptionListDomains
// Reload Lists
// Refresh Tab
There are two situations that blocking logic must be handled.
Integrate new adblock rules into the ruleset lists.
Convert existing URP functionality. User Referral Promo is used to anonymously track referral codes from specific sources and retention metrics for a maximum of 90 days.
startApplication
on AppDelegate is main contact pointPlease note: this does not include DAU integration.
Related:
#189
General
Privacy
Security
Shields (in settings panel, no implementation)
Support
https://github.com/brave/brave-ios/pull/16/files
For reference, setup from old fork.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.