profile
viewpoint
Michael Murphy mmstick @system76 Denver, CO System76 engineer; Linux developer; Rust programmer

mmstick/cargo-deb 481

A cargo subcommand that generates Debian packages from information in Cargo.toml

a8m/pb 354

Console progress bar for Rust

mmstick/fontfinder 205

GTK application for browsing and installing fonts from Google's font archive

elementary/installer 106

Installer front-end for Linux-based OSes

mmstick/concurr 74

Performs distributed command execution, written in Rust w/ Tokio

mmstick/cpp-ethereum 11

Ethereum miner with CUDA and stratum support

mmstick/advent_of_code_2016 3

Rust Solutions for Advent of Code 2016

mmstick/advent-of-code-solutions 2

This is a list of my solutions for Advent of Code (2015 Dec) written in Rust.

mmstick/debrepbuild 2

A project for automatically generating and maintaining Debian repositories from a TOML spec.

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha 3b831f39d10304570f59d89ffbb1971f08144cc7

fix: Upgrade notifications in 20.04 and beyond will open the upgrade panel instead of info-overview

view details

push time in 3 hours

pull request commentpop-os/upgrade

feat: Unleash the 20.10 horde

Yeah sure

mmstick

comment created time in 3 hours

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha 996bde3f52711009ce404b19bb1d4cdd17370721

feat: Unleash the 20.10 horde

view details

push time in 5 hours

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha 3b2df5ad579d5adc805fe70f1e94c6b2e01527ee

feat: Unleash the 20.10 horde

view details

push time in 5 hours

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha c57b3f735f91527bb2dda9b9493317cd2239f6f1

feat: Unleash the 20.10 horde

view details

push time in 5 hours

PR opened pop-os/upgrade

feat: Unleash the 20.10 horde

After ISOs are released, and we're ready to unleash desktop notifications for release upgrades.

+50 -8

0 comment

3 changed files

pr created time in 6 hours

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha 234f7a401787c85a807699ffc0c45e5d3f15606d

feat: Unleash the 20.10 horde

view details

push time in 6 hours

issue commentpop-os/repoman

IndexError: list index out of range

After removing some PPA .lists, it started working. Should have backed them up so I know what one caused it.

mmstick

comment created time in 7 hours

issue openedpop-os/repoman

IndexError: list index out of range

(repoman:12857): Gtk-CRITICAL **: 10:12:55.999: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/repoman/main.py", line 37, in do_activate
    self.win = Window()
  File "/usr/lib/python3/dist-packages/repoman/window.py", line 36, in __init__
    self.stack = Stack(self)
  File "/usr/lib/python3/dist-packages/repoman/stack.py", line 58, in __init__
    self.list_all = List(self)
  File "/usr/lib/python3/dist-packages/repoman/list.py", line 134, in __init__
    self.generate_entries()
  File "/usr/lib/python3/dist-packages/repoman/list.py", line 211, in generate_entries
    self.sources = repo.get_all_sources()
  File "/usr/lib/python3/dist-packages/repoman/repo.py", line 157, in get_all_sources
    source.load_from_file()
  File "/usr/lib/python3/dist-packages/repolib/legacy_deb.py", line 134, in load_from_file
    self.load_from_sources()
  File "/usr/lib/python3/dist-packages/repolib/legacy_deb.py", line 110, in load_from_sources
    self.make_names()
  File "/usr/lib/python3/dist-packages/repolib/legacy_deb.py", line 80, in make_names
    self.name = self.sources[0].make_name()
IndexError: list index out of range

created time in 7 hours

create barnchpop-os/upgrade

branch : release

created branch time in 8 hours

PR opened pop-os/upgrade

improv: Update dependencies & Async / package-fetching updates
+2714 -2995

0 comment

28 changed files

pr created time in 18 hours

create barnchpop-os/upgrade

branch : upgrade-upgrades

created branch time in 18 hours

push eventpop-os/apt-cmd

Michael Aaron Murphy

commit sha 4896721713d70f450685fa7a34f39cd666111171

feat: Next round of updates for pop-upgrade

view details

push time in 19 hours

issue commentpop-os/shell

GNOME screenshot being tiled

It's possible to enable case-insensitive regular expression support in JavaScript, and it's likely a good idea that we do so.

carlwgeorge

comment created time in 19 hours

PullRequestReviewEvent

create barnchpop-os/firmware-manager

branch : dialog

created branch time in a day

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha f8a9a5e678bd74076881a84a50e704d9eaa2a7db

fix(repair): Add plain option to cryptswaps in crypttab

view details

push time in a day

PR merged pop-os/upgrade

fix(repair): Add plain option to cryptswaps in crypttab

Closes #123

+97 -14

0 comment

4 changed files

mmstick

pr closed time in a day

delete branch pop-os/upgrade

delete branch : crypt

delete time in a day

issue closedpop-os/upgrade

20.10: Decryption screen displays a cryptswap warning after upgrade from 20.04

After upgrades from 20.04, I'm seeing a warning that states, cryptsetup: WARNING: cryptswap: couldn't determine device type, assuming default (plain). The drive still unlocks and the OS boots normally, but the warning may be unsettling for users.

Perhaps this isn't the correct repo for this issue, but I'm not seeing it on fresh Groovy installs, so I figured it could be related to the upgrade process.

PXL_20201009_222221225

closed time in a day

leviport
PullRequestReviewEvent

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha 6f21eb2c83a2f09f67948d491eef72451e43e688

fix(repair): Add plain option to cryptswaps in crypttab

view details

push time in a day

PR opened pop-os/upgrade

fix(repair): Add plain option to cryptswaps in crypttab

Closes #123

+97 -13

0 comment

3 changed files

pr created time in a day

create barnchpop-os/upgrade

branch : crypt

created branch time in a day

issue commentpop-os/upgrade

20.10: Decryption screen displays a cryptswap warning after upgrade from 20.04

I read that add plain as an option the crypttab stops this warning. Though this file isn't touched during upgrade, so fresh installs and upgrades should still have the same options defined since the installer configured it. Maybe the cryptsetup package on 20.04 and prior was simply not showing this warning?

leviport

comment created time in a day

issue commentstjepang/async-process

use of unstable library feature 'process_set_argv0'

#[cfg(version("1.45.0")] was merged back in April, but sadly it is still marked as an experimental feature, so that won't work.

Any means of compiling it for older Rust releases is fine with me.

mmstick

comment created time in a day

pull request commentpop-os/upgrade

fix(sources): upgrade to DEB822 sources

Yeah this PR doesn't add anything to release repair, since source repository manipulation got scrapped in the last PR. It could be re-added though if there's a benefit to having this feature, though I think we need system repair functionality in a separate project.

isantop

comment created time in 2 days

delete branch pop-os/upgrade

delete branch : deb822-on-upgrade

delete time in 2 days

push eventpop-os/upgrade

Ian Santopietro

commit sha 273646314eb47be66e2c346ffb85d4c366fd1039

feat(repos): Upgrade systems to DEB822 format sources on groovy

view details

push time in 2 days

PR merged pop-os/upgrade

fix(sources): upgrade to DEB822 sources 20.10

On upgrades, replace the one-line format sources with DEB822-format sources instead. This prevents pop-default-settings from needing to do so.

+66 -2

1 comment

1 changed file

isantop

pr closed time in 2 days

PullRequestReviewEvent

issue commentpop-os/shell

Compilation Error on Gentoo

Isn't that just an error restarting the shell?

WillPower3309

comment created time in 2 days

issue commentpop-os/shell

Gnome shell crashes often

But as soon as I get around to testing pop-shell on 3.38, I may find a workaround for it.

arnogon

comment created time in 2 days

issue commentpop-os/shell

Gnome shell crashes often

Yeah this is a bug in GNOME 3.38. I wonder if there's a bug report. This particular stack trace points to that:

Oct 20 10:34:00 pc gnome-shell[2729]: Window manager warning: Invalid WM_TRANSIENT_FOR window 0x500002f specified for 0x5000007.
Oct 20 10:34:01 pc gnome-shell[2729]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x500002f
Oct 20 10:34:01 pc gnome-shell[2729]: Error in freeze/thaw accounting
Oct 20 10:34:01 pc gnome-shell[2729]: == Stack trace for context 0x562c7e3c12e0 ==
Oct 20 10:34:01 pc gnome-shell[2729]: #0   7ffe6c6021f0 b   resource:///org/gnome/shell/ui/windowManager.js:1384 (3e2a7ced80 @ 589)
arnogon

comment created time in 2 days

issue commentpop-os/shell

Gnome shell crashes often

I have not seen any crashes on Pop. Probably a GNOME 3.38 or Wayland thing

arnogon

comment created time in 2 days

delete branch pop-os/upgrade

delete branch : async-recovery

delete time in 2 days

PR closed pop-os/upgrade

improvement: Use async-fetcher for recovery ISO downloads

Replaces the parallel fetcher -- used to fetch the recovery ISO -- with our new async fetcher crate. This will use asynchronous I/O with futures instead of threads to download the ISO with multiple connections (now 4).

The futures 0.1 and futures 0.3 crates will coexist together until we've fully replaced all of our futures 0.1 dependencies. The only remaining dependency on futures 0.1 with this commit is the apt-fetcher's source list updater, and package-fetching with the previous non-await version of the async fetcher.

+618 -253

0 comment

8 changed files

mmstick

pr closed time in 2 days

push eventpop-os/apt-cmd

Michael Aaron Murphy

commit sha f0b7b52120313c2521ccd5eedc24b06e238db8c6

fix: Some crates need to be held back since Ubuntu is stuck on Rust 1.43.0

view details

push time in 2 days

issue openedstjepang/async-process

use of unstable library feature 'process_set_argv0'

Any chance to support those of us building Rust applications for Linux distributions that haven't yet updated Rustc beyond 1.43.0 (Ubuntu)?

created time in 2 days

push eventpop-os/apt-cmd

Michael Aaron Murphy

commit sha 3d80fb70c8009a827637741dc77671542981fba6

feat: Complete package-fetching library + example

view details

push time in 3 days

delete branch pop-os/upgrade

delete branch : upgrade

delete time in 3 days

push eventpop-os/upgrade

Michael Murphy

commit sha bad9d79ea565785b17be9a9c49cd10719ed933c3

fix: Source list backups now comment third party sources (#124) * fix: Source list backups now comment third party sources * fix: Disable PPAs before updating * improv: Deprecate repair::sources and handle old-releases in release upgrade

view details

push time in 3 days

PR merged pop-os/upgrade

fix: Source list backups now comment third party sources

Changes the behavior from copying sources to a .bak directory, to creating .save copies and overwriting the original with # before deb lines.

+328 -256

17 comments

7 changed files

mmstick

pr closed time in 3 days

pull request commentpop-os/upgrade

fix: Source list backups now comment third party sources

I'll merge for now on the basis that we're going to get DEB822 improvements immediately after.

mmstick

comment created time in 3 days

pull request commentpop-os/upgrade

fix: Source list backups now comment third party sources

Yeah this isn't yet DEB822 aware

mmstick

comment created time in 3 days

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha 0b8577b990010eeee85739f77d34268eb1e11229

fix: Fetch codename from version

view details

push time in 3 days

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha d818472344c3482bc48f96a34771c563f9336513

fix: Fetch codename from version

view details

push time in 3 days

Pull request review commentpop-os/upgrade

fix: Source list backups now comment third party sources

 impl DaemonRuntime {     ) -> RelResult<()> {         self.terminate_background_applications(); -        // Check the system and perform any repairs necessary for success.-        repair::repair().map_err(ReleaseError::Repair)?;+        let from_codename = from.parse::<Codename>().unwrap();

Oops. I know what happened

mmstick

comment created time in 3 days

PullRequestReviewEvent

pull request commentpop-os/upgrade

fix: Source list backups now comment third party sources

repair::sources module will be no more now. The sources list will be switched to old-releases when the release's repository exists on Ubuntu's old-releases archive.

mmstick

comment created time in 3 days

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha da0d8153e879c73e89ec674f06b973bf933a4c55

improv: Deprecate repair::sources and handle old-releases in release upgrade

view details

push time in 3 days

pull request commentpop-os/upgrade

fix: Source list backups now comment third party sources

Though I would like to separate system repairs to a new project eventually, instead of bundling it in pop-upgrade

mmstick

comment created time in 3 days

pull request commentpop-os/upgrade

fix: Source list backups now comment third party sources

pop-upgrade release repair calls this and would wipe out sources even if not upgrading.

mmstick

comment created time in 3 days

pull request commentpop-os/upgrade

fix: Source list backups now comment third party sources

That's true and valid. :thinking: I'll add a check and make sure old-releases is replaced for an upgrade

mmstick

comment created time in 3 days

push eventpop-os/steam

Tim Crawford

commit sha 906dfb101304801c65df94d2ad94ae6cb7642fa6

Add PrefersNonDefaultGPU=true to the desktop file

view details

push time in 3 days

pull request commentpop-os/upgrade

fix: Source list backups now comment third party sources

At some point I should use newtypes to protect against using a version string in a function that requires the codename string.

mmstick

comment created time in 3 days

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha 33e68df585652461eddb8f0e38f6cbd7592180b1

fix: Disable PPAs before updating

view details

push time in 3 days

issue closedpop-os/shell

I get this error on instalation on lubuntu 18.04

<!-- If this is a bug, please use the template below. If this is a question or general discussion topic, please start a conversation in our chat https://chat.pop-os.org/ or post on our subreddit https://reddit.com/r/pop_os - as those are the proper forums for that type of discussion. -->

(1) Issue/Bug Description:

I tried to install the pop shell cloning the repository and following the instructions from README.md. When i run the "make local-install". I get this message of error: "Makefile:25: recipe for target 'transpile' failed make: *** [transpile] Error 1"

(2) Steps to reproduce (if you know): $ sudo apt install node-typescript make git $ mkdir Git && cd Git/ $ mkdir PopShell cd PopShell/ $ git clone https://github.com/pop-os/shell && cd shell $ make local-install

(3) Expected behavior: Expected the installation of the application.

(4) Distribution (run cat /etc/os-release):

(5) Gnome Shell version: I used tilix 1.7.7.

(6) Pop Shell version (run apt policy pop-shell or provide the latest commit if building locally): <!-- Use triple back ticks <value here> to paste the apt policy pop-shell value, so it formats nicely --> Current version on 10/19/2020

(7) Where was Pop Shell installed from:

(8) Monitor Setup (2 x 1080p, 4K, Primary(Horizontal), Secondary(Vertical), etc): 12880x720, Primary

(9) Other Installed/Enabled Extensions:

(10) Other Notes:

closed time in 3 days

gabrielknot

issue commentpop-os/shell

I get this error on instalation on lubuntu 18.04

Too old. 20.04 is the minimum requirement, and this extension is for GNOME.

gabrielknot

comment created time in 3 days

issue closedpop-os/shell

Confusion over Stacked tiles

I'm used to using Super+wasd to move between workspaces and after recently updating my Pop Shell version, I suddenly ran into a weird thing where tabs started forming when I pressed Super+s.

I finally tracked down #481 which explains it. I didn't know about stacked-tile mode or this shortcut. I might suggest that some information about this be put in the readme for when others struggle with this in the future.

For now, I don't see any way to override this shortcut other than recompiling pop-shell without that shortcut. I don't mind doing so, but is this the only way at the moment?

By the way, "Stacked tiles" is very confusing terminology since stacked means something else in window management terms. I would suggest something like "tabbed tiles" instead.

closed time in 3 days

rodneydup

issue commentpop-os/shell

Confusion over Stacked tiles

All shortcuts are defined with a gschema, which on Pop GNOME Settings has a patch to list all of these shortcuts in the Keyboard panel.

Technically it's a stack of tiled windows, and the tabbing is just a navigation side effect.

rodneydup

comment created time in 3 days

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha 9f40acacc18c0f49869da558c000eafa7ca56db3

fix: Disable PPAs before updating

view details

push time in 3 days

push eventpop-os/shell

Carl Richell

commit sha fd2380cd95fc9c2a8016b8034d8b83431848f0e4

chore(exceptions): Add Solaar, Zoom, Slack windows

view details

Michael Aaron Murphy

commit sha 9b51ccb7c486359845c65a443b5552dd6cd0747d

chore(color-dialog): Converted to TypeScript

view details

Michael Aaron Murphy

commit sha a11d3c34db01987bb716b8b127b2b889130a4fc1

feat(tiling): Add floating window exceptions dialog

view details

push time in 6 days

issue closedpop-os/shell

TypeError: ExtensionUtils.getSettings is not a function

<!-- If this is a bug, please use the template below. If this is a question or general discussion topic, please start a conversation in our chat https://chat.pop-os.org/ or post on our subreddit https://reddit.com/r/pop_os - as those are the proper forums for that type of discussion. -->

(1) Issue/Bug Description:

The extension is not loading.

TypeError: ExtensionUtils.getSettings is not a function

Stack trace: log_level@/home/joelton/.local/share/gnome-shell/extensions/pop-shell@system76.com/log.js:11:20 logging_combo@/home/joelton/.local/share/gnome-shell/extensions/pop-shell@system76.com/prefs.js:117:29 settings_dialog_view@/home/joelton/.local/share/gnome-shell/extensions/pop-shell@system76.com/prefs.js:73:5 settings_dialog_new@/home/joelton/.local/share/gnome-shell/extensions/pop-shell@system76.com/prefs.js:9:23 buildPrefsWidget@/home/joelton/.local/share/gnome-shell/extensions/pop-shell@system76.com/prefs.js:127:18 _selectExtension@resource:///org/gnome/shell/extensionPrefs/main.js:83:22 wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22 _onCommandLine@resource:///org/gnome/shell/extensionPrefs/main.js:235:17 wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22 main@resource:///org/gnome/shell/extensionPrefs/main.js:389:5 @<main>:1:43

(2) Steps to reproduce (if you know):

(3) Expected behavior:

(4) Distribution (run cat /etc/os-release):

NAME="Zorin OS" VERSION="15.3" ID=zorin ID_LIKE=ubuntu PRETTY_NAME="Zorin OS 15.3" VERSION_ID="15" HOME_URL="https://www.zorinos.com" SUPPORT_URL="https://www.zorinos.com/help" BUG_REPORT_URL="https://bugs.launchpad.net/zorin-os" PRIVACY_POLICY_URL="https://www.zorinos.com/legal/privacy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic

(5) Gnome Shell version:

GNOME Shell 3.30.2

(6) Pop Shell version (run apt policy pop-shell or provide the latest commit if building locally): <!-- Use triple back ticks <value here> to paste the apt policy pop-shell value, so it formats nicely -->

(7) Where was Pop Shell installed from:

(8) Monitor Setup (2 x 1080p, 4K, Primary(Horizontal), Secondary(Vertical), etc):

(9) Other Installed/Enabled Extensions:

(10) Other Notes:

closed time in 6 days

joeltonguerreiro

issue commentpop-os/shell

TypeError: ExtensionUtils.getSettings is not a function

GNOME 3.36 is the minimum requirement.

joeltonguerreiro

comment created time in 6 days

pull request commentpop-os/upgrade

fix: Source list backups now comment third party sources

I was imagining we just run create-new-sources-list twice throughout the process,

Not sure why I didn't think of that. Seems I need to make some coffee today.

Here's what sudo apt update shows:

The logs from pop-upgrade's daemon would be more useful. You can see these streaming when running this in another terminal:

journalctl -o cat -f -u pop-upgrade

But it looks like apt-get update is being called somewhere before the source lists are modified.

mmstick

comment created time in 6 days

delete branch pop-os/shell

delete branch : floatgui_focal

delete time in 6 days

push eventpop-os/shell

Michael Aaron Murphy

commit sha 9b51ccb7c486359845c65a443b5552dd6cd0747d

chore(color-dialog): Converted to TypeScript

view details

Michael Aaron Murphy

commit sha a11d3c34db01987bb716b8b127b2b889130a4fc1

feat(tiling): Add floating window exceptions dialog

view details

push time in 6 days

PR merged pop-os/shell

Reviewers
Floating Window Exceptions GUI Support

Closes #513 Closes #622

+795 -111

25 comments

20 changed files

mmstick

pr closed time in 6 days

issue closedpop-os/shell

Mockups for the floating window exceptions feature

This is a feature to help improve auto-tiling experience by having a list of exceptions to always open in floating mode.

Because we can only rely on application class and title, and because users generally feel the need to add an application or a window to the exceptions when they encounter it, it seems the best way would be to enable people adding an exception by selecting an open window on the current workspace. Selecting "Floating Window Exceptions" in the tiling menu would open a window that lists both personal user exceptions and system defaults that are updated as we get more user reports and validate them. extension-menu-1 floating-exceptions-1 floating exceptions-2

Selection mode is similar to the window preview in GNOME Shell Overview: floating-selection-mode

System dialog that shows after a user clicks on the window offers an option to add all windows of an application or only the current one to the exceptions. system-dialog-add-page

The basic prototype shows the flow for adding Slack to the exception: https://www.figma.com/proto/uI6TbZgpvBwKDN6DO9VxX5/Pop-_OS-various?node-id=78%3A324&scaling=scale-down

closed time in 6 days

maria-komarova

issue closedpop-os/shell

GUI for adding windows to the floating list

Pop shell does not always correctly identify whether a window should tile. E.g. pop-ups should typically not tile. If the program that generates a pop-up correctly identifies it as such, then Pop-Shell (correctly) does not tile them. However, some software generates pop-ups that are not identified as such. It is extremely useful for the user to be able to specify their desired behaviour for these windows.

Looking through the source code I discovered that Pop-shell does read window-specific rules from a file config.json. Using this I was able to generate by trial and error a json file that sets the "window_shall_float" flag to false for a specified window title.

However, this ability to blacklist windows from tiling is not documented. A useful improvement to Pop-shell would be to either document clearly how users can edit the config file for themselves, or (better) provide a UI interface to choose whether to blacklist a window by adding it to this config.

My config.json file now looks like this:

{
  "float": [
    {
      "class": "Zotero",
      "title": "Quick Format Citation"
    }
  ],
  "log_on_focus": false
}

closed time in 6 days

domwoolf

push eventpop-os/shell

Michael Aaron Murphy

commit sha af1774b0022da5e490ab4fe05a85361f7e0008c6

feat(tiling): Add floating window exceptions dialog

view details

push time in 6 days

push eventpop-os/shell

Michael Aaron Murphy

commit sha e3f73327c2dae51ce325f4a24207b04a8c1d5ed8

fix(exceptions): Add missing period

view details

push time in 6 days

pull request commentpop-os/shell

Floating Window Exceptions GUI Support

I'll add that period and merge

mmstick

comment created time in 6 days

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha 798381a6b5e9474a0e3f0dc056ef0fe4bb76aa4a

fix: Disable non-Ubuntu, non-System76, non-Pop repos in sources.list

view details

Michael Aaron Murphy

commit sha 3bd48df00b1dc29a83ca97645eea5ce564cd7273

fix: Back up sources before disabling them on update before upgrade

view details

push time in 6 days

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha 4e3dffe6a1ae4b08520550521f94f71375bb6860

fix: Back up sources before disabling them on update before upgrade

view details

push time in 6 days

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha 11a8c446f903d7124d8f4d5f8944a6b82521a2fb

fix: Back up sources before disabling them on update before upgrade

view details

push time in 6 days

pull request commentpop-os/upgrade

fix: Source list backups now comment third party sources

Just going to disable any deb line that lacks Ubuntu, System76, or Pop from their names

mmstick

comment created time in 6 days

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha 70aa3375667524c38df95500f3ac287f94fe752c

fix: Disable non-Ubuntu, non-System76, non-Pop repos in sources.list

view details

push time in 6 days

pull request commentpop-os/upgrade

fix: Source list backups now comment third party sources

The system sources list isn't touched at all until an upgrade is ready, since we need to update the current OS release before we upgrade to the next. So it would take a lot more effort to find bad PPAs (if they're even bad and not just temporarily unavailable).

mmstick

comment created time in 6 days

pull request commentpop-os/shell

Floating Window Exceptions GUI Support

Toggling via shortcut sets a floating tag without making any changes to the config, so it's temporary.

mmstick

comment created time in 6 days

push eventpop-os/shell

Michael Aaron Murphy

commit sha 31fd783abe1154fc3adc0af5ef1488edcafbb393

fix(exceptions): Ellipsize rule labels

view details

push time in 6 days

push eventpop-os/shell

Michael Aaron Murphy

commit sha 47a2248a8ee7aa80d1ee97ac6702748ac468e297

fix(exceptions): Ellpsize rule labels

view details

push time in 6 days

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha 44f92b5505bda2fa6e4eee827fea1123a46a16eb

fix: Remove old Pop PPA file from sources.list.d

view details

push time in 6 days

Pull request review commentpop-os/upgrade

fix: Source list backups now comment third party sources

 use crate::repair::sources; use anyhow::Context;-use std::{fs, path::Path};+use os_str_bytes::OsStrBytes;+use std::{+    ffi::OsStr,+    fs::{self, DirEntry, ReadDir},+    path::Path,+}; -const BACKUP_DIR: &str = "/etc/apt/sources.list.bak/";-const BACKUP_MAIN_FILE: &str = "/etc/apt/sources.list.bak/list";-const BACKUP_PPA_DIR: &str = "/etc/apt/sources.list.bak/ppas/";+const BACKUP_MAIN_FILE: &str = "/etc/apt/sources.list.save"; const MAIN_FILE: &str = "/etc/apt/sources.list"; const PPA_DIR: &str = "/etc/apt/sources.list.d";  /// Backup the sources lists-pub fn backup() -> anyhow::Result<()> {-    if Path::new(BACKUP_DIR).exists() {-        fs::remove_dir_all(BACKUP_DIR)-            .context("failed to remove previous backup of repositories")?;-    }+pub fn backup(release: &str) -> anyhow::Result<()> {+    if Path::new(PPA_DIR).exists() {+        // Remove previous backups+        let dir = fs::read_dir(PPA_DIR).context("cannot read PPA directory")?;+        iter_files(dir, |entry| {+            if entry.file_name().to_bytes().ends_with(b".save") {+                let path = entry.path();+                info!("removing old backup at {}", path.display());+                fs::remove_file(&path)+                    .with_context(|| fomat!("failed to remove backup at "(path.display())))?;+            } -    fs::create_dir_all(BACKUP_DIR).context("failed to create directory for source list backups")?;+            Ok(())+        })?; -    if Path::new(PPA_DIR).exists() {-        fs::rename(PPA_DIR, BACKUP_PPA_DIR).context("failed to move PPAs to backup dir")?;+        // Create new backups+        let dir = fs::read_dir(PPA_DIR).context("cannot read PPA directory")?;+        iter_files(dir, |entry| {+            let src_path = entry.path();+            let dst_path_buf = [&*(src_path.to_bytes()), b".save"].concat();+            let dst_path_str = OsStr::from_bytes(&dst_path_buf).unwrap();+            let dst_path = Path::new(&dst_path_str);++            info!("creating backup of {} to {}", src_path.display(), dst_path.display());+            fs::copy(&src_path, dst_path).with_context(+                || fomat!("failed to copy " (src_path.display()) " to " (dst_path.display())),+            )?;++            Ok(())+        })?;     } -    fs::rename(MAIN_FILE, BACKUP_MAIN_FILE).context("failed to move sources list to backup dir")?;+    if Path::new(MAIN_FILE).exists() {+        if Path::new(BACKUP_MAIN_FILE).exists() {+            info!("removing old backup at {}", BACKUP_MAIN_FILE);+            fs::remove_file(BACKUP_MAIN_FILE).context("failed to remove backup of sources.list")?;+        }+        info!("creating backup of {} to {}", MAIN_FILE, BACKUP_MAIN_FILE);+        fs::copy(MAIN_FILE, BACKUP_MAIN_FILE)+            .context("failed to copy sources list to backup path")+            .map(|_| ())+    } else {+        info!("sources list was not found — creating a new one");+        sources::create_new_sources_list(release).context("failed to create new sources.list")+    }+} -    Ok(())+/// For each `.list` in `sources.list.d`, add `#` to the `deb` lines.+pub fn disable_third_parties() -> anyhow::Result<()> {+    let dir = fs::read_dir(PPA_DIR).context("cannot read PPA directory")?;+    iter_files(dir, |entry| {+        if entry.file_name().to_bytes().ends_with(b".list") {+            let path = entry.path();++            if let Some(fname) = path.file_name() {

Oh I see. It's removed and then attempted to back up.

mmstick

comment created time in 6 days

PullRequestReviewEvent

pull request commentpop-os/shell

Floating Window Exceptions GUI Support

The ScrolledWindow becoming scrollable when the ListBox is resized by the labels increasing in size seems to be a limitation of GTK.

mmstick

comment created time in 6 days

push eventpop-os/shell

Michael Aaron Murphy

commit sha 487ee35ae281a1330bc9119e70c02d97270bfb8d

fix(exceptions): Fix name in dash by setting title in WM_CLASS

view details

push time in 6 days

push eventpop-os/shell

Michael Aaron Murphy

commit sha ca28bca31fc25227cb8330a2e268b7b0ffcae26f

fix(exceptions): Remove vexpand on exceptions list

view details

push time in 6 days

push eventpop-os/upgrade

Michael Aaron Murphy

commit sha 30a78692bd23ccee9892f704804c3d10139de02e

fix: Disable PPAs before updating

view details

Michael Aaron Murphy

commit sha 190e927c900833bca01e391ef442c52ef1bf2a7e

fix: Remove old Pop PPA file from sources.list.d

view details

push time in 6 days

create barnchpop-os/apt-cmd

branch : master

created branch time in 6 days

created repositorypop-os/apt-cmd

Rust crate for interacting with apt commands

created time in 6 days

pull request commentpop-os/upgrade

fix: Source list backups now comment third party sources

#116 is more involved because there's no clean way to handle it besides telling the user about the problem. I'm working on a solution for that today. Once #125 is complete we can do what's needed to organize the mess.

mmstick

comment created time in 7 days

Pull request review commentpop-os/upgrade

fix(sources): upgrade to DEB822 sources

 fn insert_entry<P: AsRef<Path>>( }  pub fn create_new_sources_list(release: &str) -> io::Result<()> {-    fs::write(-        MAIN_SOURCES,-        format!(-            r#"# Ubuntu Repositories+    // Switchover is the release where DEB822-format sources were adopted. +    // Currently 'groovy'+    let switchover = "groovy";+    let new_timestamp = release.parse::<Codename>().release_timestamp()?;+    let switchover_timestamp = switchover.parse::<Codename>().release_timestamp()?;

I think you need to use ? like so <Codename>()?.release_timestamp();

isantop

comment created time in 7 days

PullRequestReviewEvent

Pull request review commentpop-os/upgrade

fix(sources): upgrade to DEB822 sources

 fn insert_entry<P: AsRef<Path>>( }  pub fn create_new_sources_list(release: &str) -> io::Result<()> {

You can change -> io::Result<()> to -> anyhow::Result<()> for those errors below.

isantop

comment created time in 7 days

PullRequestReviewEvent

pull request commentpop-os/shell

Floating Window Exceptions GUI Support

Yeah it won't work anymore because GNOME Shell's not listening to process if you restart it.

mmstick

comment created time in 7 days

issue commentpop-os/gnome-control-center

Mouse settings not applied after disconnect/reconnect (3.38)

My first guess would be a debian patch

pkactual

comment created time in 7 days

more