Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update FAQ.md #901

Merged
merged 1 commit into from
Mar 11, 2022
Merged

Update FAQ.md #901

merged 1 commit into from
Mar 11, 2022

Conversation

tdimiduk
Copy link
Contributor

I'm not sure how many people have this problem, but this error message was pretty confusing for me until I realized what was going on, so it might be worth documenting.

I'm not sure how many people have this problem, but this error message was pretty confusing for me until I realized what was going on, so it might be worth documenting.
@ali-abrar ali-abrar merged commit e3ec75f into obsidiansystems:master Mar 11, 2022
@ali-abrar
Copy link
Member

Thanks!

augyg pushed a commit that referenced this pull request May 5, 2022
ali-abrar added a commit that referenced this pull request May 10, 2022
* deprecate prismEncoder and rename it prismDecoder to signal contravariance

* deprecate isoEncoder and rename it isoDecoder to signal contravariance

* reexport deprecated prismEncoder and isoEncoder

* rename prismEncoder to viewEncoder and isoEncoder to viewEncoder. make latter contravariant

* change dangling prismDecoder to reviewEncoder

* added documentation on reviewEncoders contravariance

* fix reviewEncoder doc typo

* Improve haddocks for reviewEncoder

* Get rid of.gitignore in dep

* route: Fix more confusion, make viewEncoder covariant again

* route: Typo

* Update ChangeLog

* Fix ob doc

* Add test for checking 'ob doc' works

* Copy ob-run.hs file to local directory

In some environments, ghc will try to create .hi files in the same
directory as the source code when compiling. When the .hs file is in
the read-only Nix store this gives “openBinaryFile: permission
denied”. To avoid this, just copy the file to the working directory.

* Remove COMPLETE pragma and add warning for (:.) on GHC < 8.10

* Move CPP pragma to the top

* cliapp: export createProcess

* skeleton: Update .gitignore

* skeleton: Remove shell.nix

* ob run: display warnings for 'common'

I always find myself adding this one line to every ob project initialized ever. It already has one for backend.cabal and frontend.cabal.

* Fix typo

* Use 'staticWhich' in nix prefetch

* Added -dedupe option to ghcjs builds by default.

- Smaller JavaScript
- Seemingly even faster JavaScript (not measured, just feels like it)
- Way faster deployment, due to closure compiler having far less work to
do.

Size benefits of skeleton app:

Without -dedupe:

  unminified + uncompressed: 9.1 MB
  unminified + compressed: 867 kB
  minifed + uncompressed: 2.8 MB
  minified + compressed: 520.3 kB

With -dedupe:

  unminified + uncompressed: 5.3 MB
  unminified + compressed: 634.7 kB
  minifed + uncompressed: 1.5 MB
  minified + compressed: 361.6 kB

Those reductions improve loading times for bigger apps quite
dramatically, also the time the closure compiler takes is suddenly
manageable again. (Like one minute, instead of half an hour or more.)

* added posix shell escape lib

* rm result files that snuck in

* added projectProc commands

* rm unused file

* shell-escape command

* added posix shell escape lib

* rm result files that snuck in

* Weaken types of commands again

* Remove extra dep from bad auto merge

* Centralise bashEscaping

* command: Clarify imports in Obelisk.Command.Run

* command: Fix ob shell to support arbitrary shell commands again

* command: Support custom Prelude

* Update ChangeLog

* Fix ob profile to work with custom Prelude

* Improve profile exe source

* command: Make ob shell work with '--'

* command: Document and test ob shell support for --

* Update ChangeLog

* Bump reflex-platform for dedupe fix for GHCJS

* Adds some GHCJS options to the frontend cabal file

* Switch to develop of reflex-platform

* command: Get rid of commented line

* skeleton: Fix Haddock build of GHCJS frontend

* Update ChangeLog

* Fix typo

* deploy guide: Clarify instructions on mac

* Move path functions into utils module

* Lint

* Add migration information about GHCJS dedup change

* cliapp, command: Preserve exit code for subprocesses

* cliapp: Code review changes

* Update ChangeLog

* selftest: Add tests for ob repl including for custom Prelude

* Add high-level description to README

* Add obelisk logo to README

* Do not advertise hacky features in TOC

* readme: Make logo smaller

* readme: Wording improvements to overview

* readme: Move development environment into contributing

* faq: Delete out-of-date section on 'ob run' implementation

* faq: Minor improvements

* readme, faq: Move some sections out of README into FAQ

* readme: Refer to FAQ in README

* readme: Get rid of ghcide section

* readme: Move local deploy to end of section

* contributing: Explain purpose of ghcid in dev env

* faq: Improvements from review

* readme: Improvements from review

* readme: Better answer 'Who'

* contributing: Improve dev env docs

* readme, faq: Grammar fixes, polish

* Mass it's -> its corrections

* readme: Small improvements

* Update README.md for typo

Co-authored-by: Alexandre Esteves <2335822+alexfmpe@users.noreply.github.com>

* Fix typo

* Bump ghcide to 0.2.0

* Backport ACME upgrades and switch to Lego from nixpkgs 20.03

* Version 0.8.0.1

* Revert "Version 0.8.0.1"

This reverts commit 3cc20de.

* Revert "Backport ACME upgrades and switch to Lego from nixpkgs 20.03"

This reverts commit 4bee10d.

* Delete scripts since they aren't being maintained

* readme: Fix link to Overview

* readme: Fix TOC

* Add/update project descriptions

* readme: Fix location of Locally heading in TOC

* Standardize warnings and enable -Werror in all obelisk libraries

* skeleton: Standardize warnings and enable -O

* route: Sort imports

* route: Minimize imports from JSaddle

* route: Clean up lint

* route: Remove rudundant imports

* Fix ssh option flags syntax

* Add 'tabulation' lib to 'obeliskEnvs'

* Add RouteToUrl and SetRoute instances for DynamicWriterT

* Add mmorph MFunctor instance for RoutedT

* Refactor/cleanup preprocessor code

* Support CPP options in preprocessor

* Refactor preprocessor to make debugging easier

* Fix preprocessor to keep working when cabal parsing fails

* Add MonadThrow instance for ConfigsT

* Add HasConfigs instances for StateT(s)

* Add MFunctor instance for ConfigsT

* Fix asset creation when asset file names aren't valid nix drv names

* skeleton: Use -threaded by default in backend exe

* skeleton: Don't ignore .ghc.environment files so they are conspicuous

* Support multiple frontend exes

* executable-config-lookup: Provide android-activity dependency when necessary

* Add write-ghc-environment-files: never to skeleton

* Use stdout for nginx's access log by default

Otherwise nginx will save access logs to disk which can fill up the disk

* Actually just turn nginx access_log off for obelisk

* Add prompts to successful ob init logs

* Use recommended nginx proxy settings by default in obelisk deployments

* Add staticWhich around most subprocess paths

* Use gitProc

* Use createDirectoryIfMissing instead of mkdir subprocess

* Consistent styling of install cli

* Fix disabling implicit prelude

* reflex-platform: bump to rc/0.6.1.0

* Fix Universe instance for (Some Void1), which should use UniverseSome

* Put processed all.js files into an .assets directory

* Backport ACME upgrades and switch to Lego from nixpkgs 20.03

This reverts commit 4f2d3f1.

* Version 0.8.0.1

This reverts commit 9c2c45a.

* Require users to accept Let's Encrypt terms

* Update ChangeLog regarding new Let's Encrypt terms requirement for HTTPS deployments

* Promote 0.8.0.1 to 0.9.0.0 due to breaking change

* reflex-platform: 0.5.3.0 -> 0.6.0.0

* Accept system config argument

fixes #813

* executable-config: Add MonadFail instance for ConfigsT

* Bump reflex-platform

* Make readme slightly clearer

* Rename JS assets in serverExe instead

This preserves the naming behavior of compressedJs because it is public facing.

* Version 0.9.0.1

* haskell-overlays: misc-deps: hnix -> 0.8.0.0

* route: Add missing dep

* haskell-overlays: aeson-gadt-th -> 0.2.4

* run: fix name shadowing

* Update ChangeLog.md

* Update ChangeLog.md

* Remove errors and warning for local packages without a library component

* Update pull_request_template.md

* Update ChangeLog.md

* Turn off hole fits to speed up compilation

Any occurrance of a type hole or undefined identifier that starts with
an underscore causes substantial slowdowns in compilation without this
GHC option.

* reflex-platform -> 0.6.2.0

* Add immutable directive to Cache-Control header

* Update changelog

* Prepare release 0.9.1.0

* ios: Bump to sdk 13.2

* Update changelog

* asset-manifest: Use template-haskell to generate asset paths

* asset-manifest: Reduce the amount of code in the generated module

* asset-manifest: Provide access to the deprecated version as a user setting

* asset-manifest: Don't leave links to the generated src lying around

* asset-manifest: Fix ob run issue caused by generated module importing generating package

* static: use symlink to built staticFiles when it's a derivation

* static: Reload static asset derivations when they change

* static: improve logging of static derivation rebuild in ob run

* static: Handle and report static asset drv build errors

* static: Improve logging of drv builds

* static: add staticFilePath

* Update ChangeLog.md

* static: Add static.out to default skeleton gitignore

* static: Use polling fsnotify backend on macOS due to upstream issue

* Add note regarding package visibility in ob run

* static: Produce full filepaths when using hashed staticFilePath

* static: Make staticFilePath refer to the symlinked original name

This works better when used with ob repl

* static: Fix static.out symlink generation in raw files case

* Refrain from loading non-referenced packages

* Fix project shells

* Enter ob's nix shell directly without shelling out

* Update reflex-platform to get reflex-0.8.1.0

* skeleton: Let Frontend:lib depends on reflex-dom-core instead of reflex-dom

This follows the design of reflex dom that libraries should
denepds on reflex-dom-core instead of reflex-dom. It also reduce
the closure of skeleton since reflex-dom requires gtk, webkit,
etc, which is never used by backend executable.

* Frontend: fix loading css file by ios app

A <base href="/"> element in the html string makes the ios app
look for (some of) its assets in /static/ instead of where they
are:
/private/var/containers/Bundle/Application/[BA9B...B8C]/frontend.app/static/

There should probably be no base element in the html in a WKWebView
since the baseURL is set separately in a WKWebView.

Resolves: #790

* ios: don't use baseTag in wkwebview, but leave it in place on other platforms

* frontend: fix basetag+head (missing do)

* Bump reflex-platform for updated haskell-overlays

* haskell-overlays: update logging deps

* cliapp: Remove orphan MonadFail instance

* Bump reflex-platform for new jsaddle(-dom)

* deps: skip hnix tests

* deps: skip hnix-store-core tests

* reflex-platform -> 0.7.1.0

* Bump reflex-platform for new patch 0.0.4.0

* Bump to nixpkgs 20.09

* Add git/hpack overrides

* Fix imports

* Fix obelisk-command build with newer cabal

* Bump reflex-platform for nixpkgs-20.03

* Bump reflex-platform to last 20.03 release

* Bump reflex-platform slightly to last 19.09 release

Want to maximize the number of small changes we get in before big
Nixpkgs bumps.

* WIP: Rewrite of routing tutorial

Contains more explicit intent of the route package and how to think
the way that makes using obelisk-route the most effective.

* Add ob hoogle documentation to obelisk readme

Remove editorialising the user experience of routes and its comparison to other routing
packages.

Remove the use of the newtype and stick to a bare Int for now.

Remove and instead link to the obelisk documentation for the live development environment.

Remove the aside for the wrapped typeclass for a later section.

* Remove aside on composition

Doesn't make sense without an example to follow, use in a later section.

* Add aside for R type alias

* Add haddock for R type alias, can't think of a new name yet

* Tweak haddock for 'R' type.

Move documentation into subfolder to keep things organised.

Add readme and point to documentation folder

* initial updates based on PR feedback

* Removed the building blocks section and rearranged

moved the building blocks sections closer to where the types are first used or introduced
so that the connection is more easily understood

* Rename readShowEncoder and add deprecation warning to old function.

readShowEncoder is being renamed to unsafeShowEncoder, added a deprecation warning to the
old name.

Updated the haddocks for both unsafeShowEncoder and unsafeTshowEncoder to include the
property that the read/show instances have to satisfy to be considered inverses of one
another.

* Match rename of readShowEncoder

* Reworded description of the user route to be added.

* Tweaks and rewordings and corrections

* Clean up some haddocks in Obelisk.Route

Add module header and start to categorise and arrange the export list into a more
organised table of contents.

* Fixed up some wording, created tentative class for ReadShow encoders

Created the CanShowReadSafe class intended for types that have Read and Show instances
that are inverses of each other.

Added an exported testing function that is used for the existing instances and users can
use to try to validate a type of their own.

Should it use Text instead of String?

* Add haddock to isCansafeshowreadvalidfor function

* Add section on main route

add aside for segment result inline with its first appearance

* Removed CanSafeShowRead and related tests

* More restructuring from outline document

split document into old and new segments.

* So many updates and the nested routes section is in

* Move composition section, add section on parameterised routes

* add multiple param sections

* add section for query parameters

* add anchor links for some sections

* Update initial route encoding, remove 'way of the route' heading

* Rename top level route in nested section to not clash with earlier section

* More feedback updates

- Change Universe to empty instance after deriving enum & bounded
- Change 'missing' page to 'privacy policy' page

* Move the mention of non-exhaustive pattern matches.

Moved the paragraph on pattern matches being non-exhaustive to immediately after where we add the
type to the MyRoute type for the privacy policy.

* Move the introduction of LambdaCase

* Add discussion about abstract routes for the nested section.

Add note about packaged routes.

Rename `NestedRoute` to `TopLevel`

Start removing `Route` from type names

* More route renames, removed bidirectionality madness

Removed 'app' from some routes

* Type renames, description of type argument to TopLevel route

* Wording update for route hierarchy discussion

* adjusting wording

* Fixes from feedback

* Added aside for `R` type back in

* Re-add missing case keyword and remove unused anchor tag

* Add section on scope

Point out which parts of the url this package deals with and establish some terminology that we may
or may not have used consistently in this document.

* routes: remove errant export

* Update changelog: routes documentation

* docs: add a link to the routes doc to "guides"

* v0.9.2.0

* Fix in light of past merge

* reflex-platform: update thunk branch name

* Cut next release

* Release 0.9.3.0

* Release 0.9.4.0

* reflex-platform -> 0.9.2.0 (reflex-dom-core-0.7 (Remove HasJSContext)) (#884)

* Fix markdown (#890)

* nixpkgs: remove acme/letsencrypt overrides (#889)

Now that we're on a newer nixpkgs, we shouldn't need this.

* Add FieldHKD (#891)

Co-authored-by: Ali Abrar <ali.abrar@obsidian.systems>

* Update FAQ.md (#901)

* Take out unused line

* Replace `.`s in host name with underscores.

* rebased Develop into cn-add-routeLinkAttr

* Added to ChangeLog and Linted

Co-authored-by: Elaine Cardenas <elaine.cardenas@obsidian.systems>
Co-authored-by: Elliot Cameron <3noch@users.noreply.github.com>
Co-authored-by: Elliot Cameron <eacameron@gmail.com>
Co-authored-by: Tom Smalley <tfsmalley@gmail.com>
Co-authored-by: Matthew Bauer <mjbauer95@gmail.com>
Co-authored-by: Jacquin Mininger <jacquin.mininger@gmail.com>
Co-authored-by: Sridhar Ratnakumar <srid@srid.ca>
Co-authored-by: Alexandre Esteves <2335822+alexfmpe@users.noreply.github.com>
Co-authored-by: Alexandre Esteves <alexandre.fmp.esteves@gmail.com>
Co-authored-by: Robert Klotzner <robert.klotzner@gmx.at>
Co-authored-by: Owen Shepherd <414owen@gmail.com>
Co-authored-by: Dave Laing <dave.laing.80@gmail.com>
Co-authored-by: Malte Brandy <malte.brandy@maralorn.de>
Co-authored-by: Ken Micklas <git@kmicklas.com>
Co-authored-by: Leon P Smith <leon.smith@obsidian.systems>
Co-authored-by: Robert Prije <robert@prije.family>
Co-authored-by: Ali Abrar <aliabrar@gmail.com>
Co-authored-by: bxrt <bart@bartschipper.com>
Co-authored-by: Ryan Trinkle <ryan@trinkle.org>
Co-authored-by: Doug Beardsley <mightybyte@gmail.com>
Co-authored-by: Ying-Ruei Liang(KK) <thumbd03803@gmail.com>
Co-authored-by: John Ericson <John.Ericson@Obsidian.Systems>
Co-authored-by: Sean Chalmers <sclhiannan@gmail.com>
Co-authored-by: Ali Abrar <ali.abrar@obsidian.systems>
Co-authored-by: Tom Dimiduk <tom@dimiduk.net>
Co-authored-by: agarcia <alexandre.garciadeoliveira@obsidian.systems>
Co-authored-by: Joshua Potter <jrpotter2112@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants