Giter Club home page Giter Club logo

app's Introduction

The App Fair icon

Discord Server Weblate project translated Licensed under the AGPL 3.0 GitHub all releases

The App Fair

App Fair.app is a tool for macOS 12 that provides the ability to browse, search for, download, install, and update apps from a selection of appsource catalogs and Homebrew cask repositories.

For more information, and to download the app, visit the home page at appfair.app. To learn more about the appfair.net process for building and publishing apps, visit appfair.net.

Description

The App Fair app enables users to search, browse, install, and update applications from a selection of online app catalogs.

Installation

The latest release can be downloaded from the homepage at appfair.app, or from the GitHub releases page.

Alternatively, Homebrew users can install App Fair directly with the command:

$ brew install appfair/app/app-fair

Development

The App Fair.app is built and maintained using the appfair.net system.

Translations

Translators are invited to help translate the App Fair strings into their local language. We use the "Weblate" translation interface to enable translation contirbutions without needing to use source control management directly.

Start contributing by going to: https://hosted.weblate.org/engage/appfair/.

Internal Notes

App Fair.app is built and distributed as a (mostly) standard appfair.net app. One difference is that updates to the App Fair.app itself are automatically downloaded and installed when a new release is created when older clients next launch or refresh their catalogs.

Another difference from its peer appfair.net apps in that it is not sandboxed. This is unfortunately necessary in order to allow the process to install other apps.

The final major difference is that App Fair.app is signed and notarized, which is not otherwise a requirement for appfair.net apps.

app's People

Contributors

appfairz avatar comradekingu avatar marcprux avatar nathanbnm 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

Watchers

 avatar  avatar  avatar  avatar

Forkers

serhii-londar

app's Issues

macOS Big Sur

Basicly the title my problem.
I'm not able to update to Monterey for a lot of reasons.
Please bring back Big Sur support

Homebrew Cask searching is slow

Would recommend only updating the UI on enter, or after maybe half a second of not typing. Currently the searching is very sluggish. macOS 12.4, Macbook Air M1.

Can't install any apps, get the same error

macOS 12.6.3. Homebrew installed.
Here is the error message:

Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory" UserInfo={NSURL=file:///var/folders/ck/j8t453x13_35hksc5g24jwy00000gn/T/cmd-B2637DD9-3632-4470-89A5-8D9671C8C427/App%20Fair%20Command.scpt, NSLocalizedFailureReason=/private/var/folders/ck/j8t453x13_35hksc5g24jwy00000gn/T/cmd-B2637DD9-3632-4470-89A5-8D9671C8C427/App Fair Command.scpt:0:448: execution error: /Users/username/Library/Application\ Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/2.X.Y\ (Macintosh;\ Intel\ Mac\ OS\ X\ 12.6.3)\ curl/7.79.1 --header Accept-Language:\ en --fail --silent --max-time 5 --retry 3 --location --remote-time --output /Users/username/Library/Caches/Homebrew/api/formula.json --time-cond /Users/username/Library/Caches/Homebrew/api/formula.json --compressed --silent https://formulae.brew.sh/api/formula.json

Slow installation for some casks on ARM Macs

When installing an app from the "Homebrew casks" catalog on an ARM Mac, the installation sometimes seems to freeze at around 75%, although it eventually completes. The catalog view looks like:

Screen Shot 2022-01-25 at 9 44 36 AM

The issue is that the we pre-download the expected artifact so we can support progress monitoring & cancellation (as well as provide a reasonable user-facing error if the checksum fails), and then we fork brew to complete the installation. However, the JSON API at https://formulae.brew.sh/api/cask.json only ever lists the Intel version of any cask (due to Homebrew/brew#12786), so when we fork brew to complete the installation, it doesn't utilize the pre-cached Intel version, but instead downloads the ARM version, which means that the two separate cask artifacts are downloaded.

Ideally the cask formula would be enhanced to list all the artifact architectures (and associated sha256 checksums), but in the meantime we could generate the JSON locally (which will use the local architecture) to “pre-flight” the cask. E.g., brew info --json=v2 --casks signal will result in:

{
  "formulae": [

  ],
  "casks": [
    {
      "token": "signal",
      "full_token": "signal",
      "tap": "homebrew/cask",
      "name": [
        "Signal"
      ],
      "desc": "Instant messaging application focusing on security",
      "homepage": "https://signal.org/",
      "url": "https://updates.signal.org/desktop/signal-desktop-mac-arm64-5.29.0.dmg",
      "appcast": null,
      "version": "5.29.0",
      "versions": {
      },
      "installed": "5.29.0",
      "outdated": false,
      "sha256": "fb7d12460c0207d1dcdfd1ae136a7f4e2dd5f6770d7c064b1aad3f1605e92169",
      "artifacts": [
        [
          "Signal.app"
        ],
        {
          "trash": [
            "~/Library/Application Support/Signal",
            "~/Library/Preferences/org.whispersystems.signal-desktop.helper.plist",
            "~/Library/Preferences/org.whispersystems.signal-desktop.plist",
            "~/Library/Saved Application State/org.whispersystems.signal-desktop.savedState"
          ],
          "signal": {
          }
        }
      ],
      "caveats": null,
      "depends_on": {
      },
      "conflicts_with": null,
      "container": null,
      "auto_updates": true
    }
  ]
}

Alternatively, we could do some simplistic parsing of the ruby to come up with all the possible permutations of the cask artifact that will be installed:

cask "signal" do
  arch = Hardware::CPU.intel? ? "x64" : "arm64"

  version "5.29.0"

  if Hardware::CPU.intel?
    sha256 "bda244f082328caedc95d46c4b76b7d134337d27bb7c8e85b827c801d7d2e5c6"
  else
    sha256 "fb7d12460c0207d1dcdfd1ae136a7f4e2dd5f6770d7c064b1aad3f1605e92169"
  end

  url "https://updates.signal.org/desktop/signal-desktop-mac-#{arch}-#{version}.dmg"
  name "Signal"
  desc "Instant messaging application focusing on security"
  homepage "https://signal.org/"

  livecheck do
    url "https://updates.signal.org/desktop/latest-mac.yml"
    strategy :electron_builder
  end

  auto_updates true

  app "Signal.app"

  zap trash: [
    "~/Library/Application Support/Signal",
    "~/Library/Preferences/org.whispersystems.signal-desktop.helper.plist",
    "~/Library/Preferences/org.whispersystems.signal-desktop.plist",
    "~/Library/Saved Application State/org.whispersystems.signal-desktop.savedState",
  ]
end

Catalog not shown

Hi,
Unfortunately, only 21 apps are displayed for me. No matter what I set, only a few apps are shown. macOS 12.6 is installed.

Bildschirmfoto 2022-10-16 um 16 16 45

Error running installier

Hello,

I was about to install some apps but every time I get the following error:

The operation couldn’t be completed. /private/var/folders/hr/smqh17jj54z_twj4x8b1hb0w0000gn/T/scriptcmd-58EF3EC6-2FC8-47C4-B120-7192D6C363E0/App Fair Command.scpt:0:451: execution error: /Users/Leon/Library/Application\ Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/2.X.Y\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 12.0.1\)\ curl/7.77.0 --header Accept-Language:\ en --fail --silent --max-time 5 --retry 3 --location --remote-time --output /Users/Leon/Library/Caches/Homebrew/api/formula.json --header If-Modified-Since:\ Mon,\ 18\ Jul\ 2022\ 16:46:03\ GMT --compressed --silent https://formulae.brew.sh/api/formula.json /Users/Leon/Library/Application\ Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/2.X.Y\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 12.0.1\)\ curl/7.77.0 --header Accept-Language:\ en --max-time 5 --retry 3 --fail https://formulae.brew.sh/api/cask-source/xcodes.rb /Users/Leon/Library/Application\ Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/2.X.Y\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 12.0.1\)\ curl/7.77.0 --header Accept-Language:\ en --retry 3 --location --silent --head --request GET https://github.com/RobotsAndPencils/XcodesApp/releases/download/v1.6.0b14/Xcodes.zip Error: Download failed on Cask 'xcodes' with message: No such file or directory @ rb_file_s_symlink - (../downloads/7992e0306d8ecf041450f93c44cc8295c83f95bcb75f8cf4ae1a869b8caa6506--Xcodes.zip, /Users/Leon/Library/Caches/Homebrew/Cask/xcodes--1.6.0,14.zip) /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:363:insymlink'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:363:in block in ln_s' /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1574:in fu_each_src_dest0'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:361:in ln_s' /Users/Leon/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/download_strategy.rb:426:in fetch'
/Users/Leon/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cask/download.rb:25:in fetch' /Users/Leon/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cask/installer.rb:185:in download'
/Users/Leon/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cask/installer.rb:75:in fetch' /Users/Leon/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cask/installer.rb:106:in install'
/Users/Leon/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cask/cmd/install.rb:79:in block in install_casks' /Users/Leon/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cask/cmd/install.rb:78:in each'
/Users/Leon/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cask/cmd/install.rb:78:in install_casks' /Users/Leon/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cmd/install.rb:183:in install'
/Users/Leon/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/brew.rb:93:in <main>' (1)

What can I do now?

Homebrew Cask installations fail on macOS 13 due to missing Cask folder

I can't barely install any apps. Always getting this error:

The operation couldn’t be completed. /private/var/folders/dw/xxxpgm9n56xg6q_0ttkz2mrc0000gn/T/scriptcmd-4C361CD4-B233-4A37-B80F-9C474EBAA853.scpt:0:451: execution error: /Users/eriond/Library/Application\ Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/2.X.Y\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 12.4\)\ curl/7.79.1 --header Accept-Language:\ en --max-time 5 --retry 3 --fail https://formulae.brew.sh/api/cask-source/fork.rb /Users/eriond/Library/Application\ Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/2.X.Y\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 12.4\)\ curl/7.79.1 --header Accept-Language:\ en --retry 3 --location --silent --head --request GET https://cdn.fork.dev/mac/Fork-2.18.1.dmg Error: Download failed on Cask 'fork' with message: No such file or directory @ rb_file_s_symlink - (../downloads/54d1e5efe8841eb3a1bb2d9488bc8d50147313a56ed501241c8b3b6c9ace7d85--Fork-2.18.1.dmg, /Users/eriond/Library/Caches/Homebrew/Cask/fork--2.18.1.dmg) /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:363:in symlink'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:363:in block in ln_s' /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1574:in fu_each_src_dest0'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:361:in ln_s' /Users/eriond/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/download_strategy.rb:426:in fetch'
/Users/eriond/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cask/download.rb:25:in fetch' /Users/eriond/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cask/installer.rb:180:in download'
/Users/eriond/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cask/installer.rb:75:in fetch' /Users/eriond/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cask/installer.rb:106:in install'
/Users/eriond/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cask/cmd/install.rb:78:in block in install_casks' /Users/eriond/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cask/cmd/install.rb:77:in each'
/Users/eriond/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cask/cmd/install.rb:77:in install_casks' /Users/eriond/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/cmd/install.rb:179:in install'
/Users/eriond/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/Library/Homebrew/brew.rb:110:in <main>' (1)

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.