Replace the hand-rolled user-agent regexes with the device_detector gem. Its UA database recognises many more clients (and, e.g., GNOME Web when its UA carries the Epiphany token). WebKit "Safari" user agents on Linux (WebKitGTK, which GNOME Web sends) are labelled "WebKit on Linux", since Safari never runs on Linux. Part of #254
98 lines
2.3 KiB
Ruby
98 lines
2.3 KiB
Ruby
source 'https://rubygems.org'
|
|
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
|
|
|
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
|
|
gem 'rails', '~> 8.1'
|
|
# Use Puma as the app server
|
|
gem 'puma', '~> 8.0'
|
|
# View components
|
|
gem "view_component"
|
|
# Asset bundler
|
|
gem 'propshaft'
|
|
# Allows custom JS build tasks to integrate with the asset pipeline
|
|
gem 'cssbundling-rails'
|
|
# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
|
|
gem "importmap-rails"
|
|
# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
|
|
gem "turbo-rails"
|
|
# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
|
|
gem "stimulus-rails"
|
|
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
|
gem 'jbuilder', '~> 2.15'
|
|
# Use Active Model has_secure_password
|
|
gem 'bcrypt', '~> 3.1'
|
|
|
|
# Configuration
|
|
gem 'dotenv-rails'
|
|
|
|
# Authentication
|
|
gem 'warden'
|
|
gem 'devise', '~> 5.0'
|
|
gem 'devise_ldap_authenticatable'
|
|
gem 'net-ldap'
|
|
|
|
# Utilities
|
|
gem 'aasm'
|
|
gem "image_processing", "~> 1.12.2"
|
|
gem "rqrcode", "~> 2.0"
|
|
gem 'rails-settings-cached', '~> 2.8.3'
|
|
gem 'pagy', '~> 6.0', '>= 6.0.2'
|
|
gem 'flipper'
|
|
gem 'flipper-active_record'
|
|
gem 'flipper-ui'
|
|
gem 'gpgme', '~> 2.0.24'
|
|
gem 'zbase32', '~> 0.1.1'
|
|
gem 'kramdown'
|
|
gem 'device_detector'
|
|
|
|
# HTTP requests
|
|
gem 'faraday'
|
|
gem 'down'
|
|
gem 'aws-sdk-s3', require: false
|
|
|
|
# Background/scheduled jobs
|
|
gem 'solid_queue'
|
|
gem "mission_control-jobs"
|
|
|
|
# Monitoring
|
|
gem "sentry-ruby"
|
|
gem "sentry-rails"
|
|
|
|
# Services
|
|
gem 'discourse_api'
|
|
gem "lnurl"
|
|
gem 'manifique', '~> 1.1.0'
|
|
gem 'nostr', '~> 0.6.0'
|
|
gem "redis", "~> 5.4"
|
|
|
|
group :development, :test do
|
|
# Use sqlite3 as the database for Active Record
|
|
gem 'sqlite3', '>= 2.1'
|
|
gem 'rspec-rails'
|
|
gem 'rails-controller-testing'
|
|
end
|
|
|
|
group :development do
|
|
# Access an interactive console on exception pages or by calling 'console' anywhere in the code.
|
|
gem 'web-console', '~> 4.3'
|
|
gem 'listen', '~> 3.2'
|
|
gem 'letter_opener'
|
|
gem 'letter_opener_web'
|
|
gem 'faker'
|
|
gem 'solargraph'
|
|
end
|
|
|
|
group :test do
|
|
gem 'factory_bot_rails'
|
|
gem 'capybara'
|
|
gem 'database_cleaner'
|
|
gem 'webmock'
|
|
end
|
|
|
|
group :production do
|
|
gem 'pg', '~> 1.5'
|
|
end
|
|
|
|
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
|
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|