Firefo...eStatus(3pm)
NAME β¨
okay so bestie, welcome to Firefox::Marionette::UpdateStatus β the lil Perl module that represents the resulting status of an Firefox update. That's it, that's the job, and it does it flawlessly π
(It lives in the User Contributed Perl Documentation section, manual page Firefo...eStatus(3pm), iykyk π¦)
VERSION π
Version 1.63 β iconic, no notes π
SYNOPSIS πΈ
okay so here's the vibe, literally just:
use Firefox::Marionette();
use v5.10;
my $firefox = Firefox::Marionette->new();
my $status = $firefox->update();
while($status->successful()) {
$status = $firefox->update();
}
say "Firefox has been upgraded to " . $status->display_version();
likeβ¦ keep updating while it keeps succeeding?? that's the whole loop bestie, she's simple and she works π
DESCRIPTION π¦
This module handles the implementation of the status of a Firefox update using the Marionette protocol. periodt. β¨
SUBROUTINES/METHODS π§
new π«
accepts a hash as a parameter. Allowed keys are below, and yes we're listing all of them, no skips, no shortcuts, fr fr:
app_versionβ application version of this update.build_idβ build id of this update (that's <https://developer.mozilla.org/en-US/docs/Web/API/Navigator/buildID> if you wanna peek). Used to determine a particular build, down to the hour, minute and second of its creation. This allows the system to differentiate between several nightly builds with the same|version|.channelβ the channel (<http://kb.mozillazine.org/App.update.channel>) used to retrieve this update from the Update Service.details_urlβ URI offering details about the content of this update. This page is intended to summarise the differences between this update and the previous, which also links to the release notes.display_versionβ string to display in the user interface for the version. If you want a real version number useapp_version.elevation_failureβ has an elevation failure has been encountered for this update.error_codeβ numeric error code (<https://hg.mozilla.org/mozilla-central/file/tip/toolkit/mozapps/update/common/updatererrors.h>) that conveys additional information about the state of a failed update. If the update is not in the "failed" state the value is zero.install_dateβ when the update was installed.is_complete_updateβ is the update a complete replacement of the user's existing installation or a patch representing the difference between the new version and the previous version.nameβ name of the update, which should look like"<Application Name> <Update Version>".number_of_updatesβ the number of updates available.patch_countβ number of patches supplied by this update.previous_app_versionβ application version prior to the application being updated.prompt_wait_timeβ allows overriding the default amount of time in seconds before prompting the user to apply an update. If not specified, the value ofapp.update.promptWaitTime(<http://kb.mozillazine.org/App.update.promptWaitTime>) will be used.selected_patchβ currently selected patch for this update.service_urlβ the Update Service that supplied this update.status_textβ message associated with this update, if any.typeβ either'minor','partial', which means a binary difference between two application versions or'complete'which is a complete patch containing all of the replacement files to update to the new version.unsupportedβ is the update no longer supported on this system.update_stateβ state of the selected patch:downloadingβ the update is being downloaded.pendingβ the update is ready to be applied.pending-serviceβ the update is ready to be applied with the service.pending-elevateβ the update is ready to be applied but requires elevation.applyingβ the update is being applied.appliedβ the update is ready to be switched to.applied-osβ the update is OS update and to be installed.applied-serviceβ the update is ready to be switched to with the service.succeededβ the update was successfully applied.download-failedβ the update failed to be downloaded.failedβ the update failed to be applied.
update_status_codeβ a code describing the state of the patch.
This method returns a new update status object. slay π«Ά
app_version
returns application version of this update.
build_id
returns the build id (<https://developer.mozilla.org/en-US/docs/Web/API/Navigator/buildID>) of this update. Used to determine a particular build, down to the hour, minute and second of its creation. This allows the system to differentiate between several nightly builds with the same |version|.
channel
returns the channel (<http://kb.mozillazine.org/App.update.channel>) used to retrieve this update from the Update Service.
details_url
returns a URI offering details about the content of this update. This page is intended to summarise the differences between this update and the previous, which also links to the release notes.
display_version
returns a string to display in the user interface for the version. If you want a real version number use app_version.
elevation_failure
returns a boolean to indicate if an elevation failure has been encountered for this update.
error_code
returns a numeric error code (<https://hg.mozilla.org/mozilla-central/file/tip/toolkit/mozapps/update/common/updatererrors.h>) that conveys additional information about the state of a failed update. If the update is not in the "failed" state the value is zero.
install_date
returns when the update was installed.
is_complete_update
returns a boolean to indicate if the update is a complete replacement of the user's existing installation or a patch representing the difference between the new version and the previous version.
name
returns name of the update, which should look like "<Application Name> <Update Version>".
number_of_updates
returns the number of updates available (seems to always be 1). π
patch_count
returns the number of patches supplied by this update.
previous_app_version
returns application version prior to the application being updated.
prompt_wait_time
returns the amount of time in seconds before prompting the user to apply an update. If not specified, the value of app.update.promptWaitTime (<http://kb.mozillazine.org/App.update.promptWaitTime>) will be used.
selected_patch
returns the currently selected patch for this update.
service_url
returns a URI for the Update Service that supplied this update.
status_text
returns the message associated with this update, if any.
successful
returns a boolean to indicate if an update has been successfully applied.
type
returns either 'minor', 'partial', which means a binary difference between two application versions or 'complete' which is a complete patch containing all of the replacement files to update to the new version.
unsupported
returns a boolean to show if the update is supported on this system.
update_state
returns the state of the selected patch:
downloadingβ the update is being downloaded.pendingβ the update is ready to be applied.pending-serviceβ the update is ready to be applied with the service.pending-elevateβ the update is ready to be applied but requires elevation.applyingβ the update is being applied.appliedβ the update is ready to be switched to.applied-osβ the update is OS update and to be installed.applied-serviceβ the update is ready to be switched to with the service.succeededβ the update was successfully applied.download-failedβ the update failed to be downloaded.failedβ the update failed to be applied.
The most usual state is "pending" β that's the one you'll see most, bestie π
update_status_code
returns a code describing the state of the patch.
DIAGNOSTICS π
None. literally nothing, we're calm, we're unbothered β¨
CONFIGURATION AND ENVIRONMENT π
Firefox::Marionette::UpdateStatus requires no configuration files or environment variables. zero setup, we love a low-maintenance queen π
DEPENDENCIES π
None.
INCOMPATIBILITIES π
None reported.
BUGS AND LIMITATIONS π
To report a bug, or view the current list of bugs, please visit <https://github.com/david-dick/firefox-marionette/issues>. go tell them, they wanna know π«Ά
AUTHOR π
David Dick "<ddick@cpan.org>" β the icon, the moment, the legend π
LICENSE AND COPYRIGHT π
Copyright (c) 2024, David Dick "<ddick@cpan.org>". All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See "perlartistic" in perlartistic.
DISCLAIMER OF WARRANTY π
okay bestie this next part is the legal bit and I am NOT paraphrasing it, that would be wild, so here it is, whole and untouched, all caps and everything:
BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
and that's the whole page, bestie!! this one was built for perl v5.40.1, dated 2025-03-16, from the Firefo...eStatus(3pm) manual β User Contributed Perl Documentation, obviously π
β¨ stay updated, mwah π«Ά
π¦ where this page comes from
- debian trixie: libfirefox-marionette-perl 1.63-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms