fork-maintainers / iceraven-browser Goto Github PK
View Code? Open in Web Editor NEWThis project forked from mozilla-mobile/fenix
Iceraven Browser
This project forked from mozilla-mobile/fenix
Iceraven Browser
Hello,
Please support "FoxyProxy Standard" extension:
https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/
Thanks.
I hope that the browser has the function of deciding whether to load images or not based on conditions, like Firefox 68.
Because of the lack of this function, the loading speed of web pages in places with slow network speed is very slow.
All people in places with poor internet conditions.
On Trying to install these addons Icweasel fails to do so and displays toast Failed to install xyz Addon
Here xyz are
Video DownloadHelper
Youtube Video and Audio Downloader
They should install perfectly or should not be shown in list
Settings -> Search, add or remove a search engine.
When removing an engine, it's removed but when I re-enter this page it's still there. And when I try to add an engine nothing heppens.
Would you mind adding bandwidth hero?
https://addons.mozilla.org/en-US/firefox/addon/bandwidth-hero/
Thanks
There have been some complaints about "Iceweasle" as a name.
Anybody got ideas for a better one? Bonus points if you want to make the other branding assets. The source files I've been using are all in https://github.com/interfect/fenix/tree/fork/fork-asset-sources
In the homepage it just shows browser without any name.. Can you please add a logo or text on homepage and in about iceweasel page
The name place seems empty
All users
Stylus in the add-ons list can only be installed.
However, it cannot be used because there is no setting item.
Try to install on Kit-Kat
It should be installed and work.
It cannot be installed.
I don't like compact tabs, and I didn't liked them in fennec too
f you want your new-Android-style floating plus button back, demand a setting for it from @abhijitvalluri or someone else who knows how to do Android UI stuff.
Ping @abhijitvalluri
Because three days ago, the update made compact tab mandatory, it should be optional, or at least we can disable it.
People who don't like compact tabs
I edited the ui to get black amoled if someone is interested I M glad to help you screenshot
https://drive.google.com/file/d/1ZM9D5LrJmbvfg9bJvNo6oxvib84ZrZze/view
I want to do this, but I couldn't. Can someone describe it with pictures or taking a video?
https://www.reddit.com/r/firefox/comments/i8igam/androidrequires_root_install_any_addon_from_amo/
I am following the steps you provided to build the code as I am interested in making some minor changes. However, I am having trouble compiling the code. I am getting the following error:
> Task :app:compileForkReleaseKotlin FAILED
e: C:\Users\<Username>\git\iceweasel\fenix\app\src\main\java\org\mozilla\fenix\components\Components.kt: (78, 17): Cannot find a parameter with this name: collectionAccount
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileForkReleaseKotlin'.
> Compilation error. See log for more details
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileForkReleaseKotlin'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:207)
at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:205)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:186)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:114)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:409)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:399)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:157)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:242)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:150)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:94)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:356)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: org.gradle.api.GradleException: Compilation error. See log for more details
at org.jetbrains.kotlin.gradle.tasks.TasksUtilsKt.throwGradleExceptionIfError(tasksUtils.kt:14)
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:122)
at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.runCompilerAsync(GradleKotlinCompilerRunner.kt:148)
at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.runCompilerAsync(GradleKotlinCompilerRunner.kt:143)
at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.runJvmCompilerAsync(GradleKotlinCompilerRunner.kt:83)
at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompilerAsync$kotlin_gradle_plugin(Tasks.kt:422)
at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompilerAsync$kotlin_gradle_plugin(Tasks.kt:345)
at org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.executeImpl(Tasks.kt:306)
at org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.execute(Tasks.kt:277)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskInputsTaskAction.doExecute(IncrementalTaskInputsTaskAction.java:47)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:42)
at org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:569)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:395)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:387)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:157)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:242)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:150)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:84)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:554)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:537)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:108)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:278)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:267)
at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$0(ExecuteStep.java:32)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:32)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:67)
at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:36)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:34)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:159)
at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:72)
at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:43)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:194)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:186)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:114)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:409)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:399)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:157)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:242)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:150)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:94)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:356)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.5.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 36s
18 actionable tasks: 5 executed, 13 up-to-date
Looks like in Components.kt
the AddonCollectionProvider()
does not have the collectionAccount
parameter in the constructor. I checked the AddonCollectionProvider.kt
file in my gradle caches folder at .gradle\caches\modules-2\files-2.1\org.mozilla.components\feature-addons\57.0.20200826190111\491eb523cde87570927501adf1c0003aaee49591\feature-addons-57.0.20200826190111-sources.jar!\mozilla\components\feature\addons\amo\AddonCollectionProvider.kt
and it does not have the parameter. Am I pulling in the wrong files via gradle?
In order to better serve the project and make sure users and volunteers go to the place they intend to go to, it may make sense to revise the front page to reflect that this an Iceweasel version of Fenix and not Mozilla Firefox.
The easiest stopgap solution would be to simply do a find/replace on the word "Firefox" and replace it with "Iceweasel" and to change all links to plain text.
A next level approach would eliminate all chunks of text that don't apply to Iceweasel or that reference Mozilla in a way that is inapplicable to Iceweasel in addition to the above. Maybe a paragraph or two about what you want to achieve with this project could optionally be added as well.
A third step and the most time consuming approach would be to do a total rewrite.
The nice thing here is that you could do, say, step 1 pretty quickly for now and it doesn't rule out doing step 2 or 3 later if you have the time and inclination. It doesn't have to be done all at once, and it isn't all or nothing. :)
I think we'd all agree that the priority should be on the web browser and not the text of the GitHub homepage. :)
It might be worthwhile to add a donation link on the website to allow people to voluntarily contribute cash or cryptocurrency to either give the lead developer some compensation for his time and effort, money to hire part-time developers to help with tough problems on an as-is needed basis, or to further the project in some other way that requires that money be spent.
The implementation and verbiage would have to be something that is done carefully, though. Many people can not afford to or do not want to donate to these type of projects, and the project needs those users, too. Making clear that it is completely voluntary, that no one has to give, that donating does not give the donors any special consideration, and that not donating does not lessen the access, standing, or consideration any non-donors are given by the project is important. Everyone is equal whether they contribute or not.
I've seen this type of thing go very wrong. The worst example I've seen is a desktop web browser project where the developers openly and publicly started to refer to non-donors as "freeloaders" (They even included non-donors who helped out with bug reports, feature requests, promoting the project, and helping new users learn how to use their browser in that category). Obviously, that is not acceptable. I literally stopped using their browser because of that.
However, if implemented with care and without pressure, where it's just an opportunity for those who want to contribute to do so, and no one is expected or pressured to contribute, it could help the project and the developer(s) working on it. It could be as simple as a small link at the bottom of the page that's never mentioned by developers, but that is available to point people towards who ask if there is a way they can donate monetarily.
Someone on Reddit posted a comment saying that he feels this project is badly needed, and requested that I see if I could persuade the lead developer to add a donation link because he would like to help with a monetary donation.
The project and/or the lead developer.
I hope browser have a home button like chrome
It's convenient to back to home page if the browser have that.
All the people need home button.
Could you please add the following add-ons? :)
Stylus (open source alternative to Stylish): https://addons.mozilla.org/en-US/android/addon/styl-us/
External Video Player: https://addons.mozilla.org/en-US/android/addon/external-video-player/
Google Search Fixer: https://addons.mozilla.org/en-US/android/addon/google-search-fixer/
Remove Reddit app promos: https://addons.mozilla.org/en-US/firefox/addon/remove-reddit-app-promos/
These are all open source. I don't know if they'll work in Fenix. You don't have to do this but you might like one of these. :) Your fork is awesome! I did of course read your motto :p and I also checked out the list of addons that you want.
New FF is no longer suggested to open local html (and suchlike) files. Please make IW announce itself to the system.
Sadly, Mozilla Firefox still does not allow for reloading the webpage using the widely used approach of pulling down from the top to refresh the page, as you can do in Chrome and elsewhere on Android. There are a few add-ons available for Firefox Android that worked with previous versions (Fennec, v68) that solve this problem.
So, can you please enable these add-ons?
Well, you can use the browser and figure out that this feature is missing in the vanilla version of the browser.
Most users should benefit from the added simplicity of refreshing the page by pulling or using the button in the bar (provided it works!)
Hide Help and What's New button once viewed from the 3 dot menu
It's not in the correct place it should be in about section of
settings
All the users
UI will become less cluttered
When setting the theme to black, not all the interface is dark. For instance the background of the page when the page is loading is still white.
It's quite important for not having a straight white screen each time a new page is loading when browsing the web in a dark environment.
Chrome on Android has already implemented this behaviour of having a black background when setting "Force dark mode for web contents" to enabled.
The people that use their phone in a dark environment.
I was recently away for a few days and nobody liked it.
Who wants to volunteer to triage issues, merge PRs, pull in upstream changes, tag and build releases, and generally work on the project? If you solemnly swear not to hack everybody's phones, show a willingness to follow the code of conduct/participation guidelines, and want to help, I can add you to a Github organization that can own the repo, so you can do all those things.
If you want to sign up, please comment below.
The extension Bypass Paywalls (can be found here: https://github.com/iamadamdev/bypass-paywalls-chrome) is useful for getting around paywalls for news sites. However, it is not on the Firefox Addons Store, so I was wondering if it could be still be supported for Iceweasel.
This is my first time doing anything like this on Github, I don't like opening issues often because I feel bad, but any chance LibreJS could be added to the allowed addons? I use it to block non-free javascript. If not it's totally fine haha this browser is awesome sorry thanks ok bye
Plethora of Addons are available now it is difficult to find what you are looking and is time consuming .
My suggestion will be to add a search button or atleast sort the addons by user count (in descending order)
Previously when there were only a handful of addons for fenix this was not an issue
And in case of fennec it was a webpage which allowed search
There is no such option in current build
Every user who uses addons on firefox
We don't really need a fork of android-components
as of right now. We just need components/feature/addons/src/main/java/mozilla/components/feature/addons/amo/AddonCollectionProvider.kt
from the fork copied over to this repo and used as a new AddonsProvider
implementation. Then we could use the upstream android-components
unmodified like it's supposed to be used in alternative browsers.
This would make it easier to be in F-Droid, I think. We could use something more like https://gitlab.com/relan/fdroiddata/-/commit/76973ed04d8c498ec2ecd257d3afd062343c069c and maybe re-use the already-F-droid-ified version of upstream android-components
instead of having to invent another srclib thingy.
Here's how to get into F-Droid.
We should be able to use most of https://gitlab.com/relan/fennecbuild/ and https://github.com/interfect/fenix/blob/5387b7464ed88051b159d417153d7286229ac7ce/org.mozilla.fenix_fdroid.yml from Mozilla Fenix's packaging and get in.
Someone has to work through the procedure, make sure the local fdroid build bot can build it, make sure it knows to build the right release type (forkRelease
for us) and make an MR over on Gitlab.
https://addons.mozilla.org/en-US/firefox/addon/redirector/ Automatically redirects to user-defined urls on certain pages. Popular redirect extension, works well on fennec. Thanks!
Install Iceweasel Fork 6
It will start crashing randomly and can't be fixed by force stopping or clearing cache
I have to clear data of iceweasel from settings to stop it from crashing each time when I try to open the app
please re - enable the ability to have as many topsites as we need on home page like previous build, please!
Hello,
Is it possible to add these add-ons to the list:
Thank you.
Disable all three options in Data Collection header in Settings
Use any Firewall/Web request logging app to see it's still sending data to mozilla at incoming.telemetry.mozilla.org
Stop sharing Telemetric Data
It does not stops sending Telemetric data
The current UI is very much not made for a larger amount of add-ons. There is no search, filter, sort or category function. So I think the current fix of just adding anything to the list isn't really scalable. Until upstream comes up with a better solution, I think it would be worthwhile to make the account name and collection ID that is used to get the list of supported add-ons configurable.
So e.g. add a menu option (or even only an about:config key) that allows the user to specify their own account name and collection ID, so they can add new addons to their list, without having to go through @interfect for every addon.
Try to copy url from any website on some you will be able to copy and on other you won't be
For example try copying any magnet url button on 1337x
Show long press context menu with copylink options on each clickable button
No response on long press
Why have updates stopped? The current fenix version is a bit old. No updates for 7 days
Will new updates continue?
One of the best features of the old Firefox for Android was the tab queue. This feature was never implemented in Fenix, which is incredibly frustrating for users who made lots of use of it.
It's an important step towards reversing the loss of functionality that has come from simply updating a commonly-used piece of software.
As outlined here:
There are many people who want this functionality in their browser.
For those who don't use Save to Collection button on tab switch er and hone page it is an university visual distraction and clutters the UI
This problem came with new fenix big UI overhaul
All those users who don't use this feature and dont want to be reminded again and hain about this feature
Firefox preview had fixed bottom toolbar is it possible to get an option to get fixed bottom bar again?
thanks.
Hi
would you consider adding them?
1-https://addons.mozilla.org/en-US/firefox/addon/localcdn-fork-of-decentraleyes/
2-https://addons.mozilla.org/en-US/firefox/addon/css-exfil-protection/
Honestly, as a non-coder, I had a bit of trouble figuring out how to add a pull request or a commit for this (One of which I gather is where I should really be putting it). Hopefully given the new and relatively informal nature of this fork, @interfect won't mind me advising him of this the only way I know how to.
Someone has created a commit with a patch to add a user option that would enable full URLs on Fenix (official). I suspect that it may not make it through to their official release (I could be wrong). However, it seems perfect for this project.
Here is a link to the patch:
https://github.com/hakkikaancaliskan/fenix/commit/f697183677e319bd93fc3de2e97f6a6437ea7478
I don't know the gentleman who wrote the code and can't read the code, so I'm relying on more knowledgeable people to figure out if it does what it says it does and only what it says it does.
I'm also not sure what the etiquette is here for using someone else's code, but he submitted it to a project this is a close fork of, so it would seem to me that it implicitly or explicitly must be be intended to have the same open-source licenses that this project has, and should thus be something this project could use if desired (If not, he could be contacted and asked for permission, I suppose).
A PDF file is attached in case the original link is inaccessible for whatever reason (It's just the front page of the commit).
FenixURLCode - Copy.pdf
In https://gitlab.com/relan/fennecbuild/ there's a big patch that stubs out all the telemetry stuff:
The approach is to drop the proprietary/unwanted dependencies, and then add stub implementations of the no-longer-available classes (so we would have our own mostly empty com.leanplum.*
).
We should try applying that patch (assuming it's MPL-compatible), and fix up whatever doesn't work or apply cleanly.
The logo looks ancient and does not match with any of Android's UI, to be honest.
I have found some fanmade(?) icons:
I hope browser have disable web fonts download function like firefox 68 android
Because of the lack of this function, the loading speed of web pages in places with slow network speed is very slow,If the browser has that feature, it can speed up the loading speed of web pages in these areas
All people in places with poor internet conditions.
Right now, using any android password manager shows the autofill domain as the app name for iceweasel. It would be better if the actual website name was used for autofill from external password managers
I hope the browser has built-in download management
Because there is no built-in download management
I have no way to know which files have been downloaded using the browser
All the people who always download files.
Firefox Fission is Mozilla's new sandboxing software built into Firefox, and currently only available on Firefox nightly by specifying it in about:config with the fission.autostart: true switch. Adding this as an option in the about:config would greatly improve the security of the app.
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.