on master help sign in
Merge branch 'master' into thelifeandtimes-whom
1aaee2aMatilde Park
content/grants/abacus.md+1−1
@@ -12,7 +12,7 @@ description = "Abacus: A basic calculator app with the ability to convert units"
12reward = "1 star ($1k bonus if done by Assembly)"
12reward = "1 star ($1k bonus if done by Assembly)"
13assignee = ["~sorpes-ranrep"]
13assignee = ["~sorpes-ranrep"]
14grant_id = "B0160"
14grant_id = "B0160"
15−champion = "Holium"
15+champion = ["Holium"]
16completed = false
16completed = false
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0160&prefill_Grant+Name=Abacus"
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0160&prefill_Grant+Name=Abacus"
18+++
18+++
content/grants/app-engram.md+1−1
@@ -12,7 +12,7 @@ description = "Engram is a knowledge management application that allows individu
12reward = "7 stars"
12reward = "7 stars"
13assignee = ["~nolteg-tobtyc", "~dalsyr-diglyn"]
13assignee = ["~nolteg-tobtyc", "~dalsyr-diglyn"]
14grant_id = "B0128"
14grant_id = "B0128"
15−champion = "Holium"
15+champion = ["Holium"]
16completed = false
16completed = false
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0155&prefill_Grant+Name=Engram"
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0155&prefill_Grant+Name=Engram"
18+++
18+++
content/grants/app-openbsd.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "Runtime" ]
10image = ""
10image = ""
11description = "Get the project to the point where it works on OpenBSD"
11description = "Get the project to the point where it works on OpenBSD"
12reward = "1 star"
12reward = "1 star"
13−mentor = "~silsyn-wathep"
13+mentor = ["~silsyn-wathep"]
14assignee = ["~tidsut-radryd"]
14assignee = ["~tidsut-radryd"]
15grant_id = "A0103"
15grant_id = "A0103"
16completed = false
16completed = false
content/grants/app-urvault.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = "UrVault: Urbit Password Manager"
12description = "UrVault: Urbit Password Manager"
13reward = "$12,000 in WSTR"
13reward = "$12,000 in WSTR"
14assignee = ["~dabber-sicsup"]
14assignee = ["~dabber-sicsup"]
15−mentor = "~mocrux-nomdep"
15+mentor = ["~mocrux-nomdep"]
16grant_id = "A01465"
16grant_id = "A01465"
17completed = false
17completed = false
18canceled = true
18canceled = true
content/grants/app-uv-native-notificatons.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = "Build native notifications into Urbit Visor"
12description = "Build native notifications into Urbit Visor"
13reward = "1 star"
13reward = "1 star"
14assignee = ["~toclec-baldeg"]
14assignee = ["~toclec-baldeg"]
15−mentor = "~haddef-sigwen"
15+mentor = ["~haddef-sigwen"]
16grant_id = "A0119"
16grant_id = "A0119"
17completed = false
17completed = false
18canceled = false
18canceled = false
content/grants/apprenticeship-extending-bitcoin.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "App Dev", "Other" ]
10image = ""
10image = ""
11description = ""
11description = ""
12reward = "1 star"
12reward = "1 star"
13−mentor = "~dasrun-fadben"
13+mentor = ["~dasrun-fadben"]
14assignee = ["~sipned-nistug"]
14assignee = ["~sipned-nistug"]
15grant_id = "A0113"
15grant_id = "A0113"
16completed = true
16completed = true
content/grants/apprenticeship-studio-collections.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "App Dev", "Other" ]
10image = ""
10image = ""
11description = "Extend ~tirrel's studio app content offering to include groups collections"
11description = "Extend ~tirrel's studio app content offering to include groups collections"
12reward = "1 star"
12reward = "1 star"
13−mentor = "~novlud-padtyv"
13+mentor = ["~novlud-padtyv"]
14assignee = ["~dachus-tiprel"]
14assignee = ["~dachus-tiprel"]
15grant_id = "A0147"
15grant_id = "A0147"
16completed = false
16completed = false
content/grants/apprenticeship-studio-email.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "App Dev", "Other" ]
10image = ""
10image = ""
11description = "Build out email capabilities of ~tirrel's Studio app"
11description = "Build out email capabilities of ~tirrel's Studio app"
12reward = "1 star"
12reward = "1 star"
13−mentor = "~novlud-padtyv"
13+mentor = ["~novlud-padtyv"]
14assignee = ["~rivmud-fabwen"]
14assignee = ["~rivmud-fabwen"]
15grant_id = "A0114"
15grant_id = "A0114"
16completed = true
16completed = true
content/grants/astrolabe.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = "Urbit address space explorer"
12description = "Urbit address space explorer"
13reward = "5 stars"
13reward = "5 stars"
14assignee = ["~midlev-mindyr"]
14assignee = ["~midlev-mindyr"]
15−champion = "~norsyr-torryn"
15+champion = ["~norsyr-torryn"]
16grant_id = "P0099"
16grant_id = "P0099"
17completed = false
17completed = false
18canceled = false
18canceled = false
content/grants/bitcoin-wallet-maintenance.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "App Dev", "Arvo" ]
10image = ""
10image = ""
11description = "Help us maintain the Bitcoin Wallet."
11description = "Help us maintain the Bitcoin Wallet."
12reward = "3 stars"
12reward = "3 stars"
13−mentor = "~timluc-miptev"
13+mentor = ["~timluc-miptev"]
14assignee = ["~finned-palmer"]
14assignee = ["~finned-palmer"]
15completed = true
15completed = true
16work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0032&prefill_Grant+Name=Bitcoin%20Wallet%20Maintenance"
16work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0032&prefill_Grant+Name=Bitcoin%20Wallet%20Maintenance"
content/grants/chronicle.md+1−1
@@ -12,7 +12,7 @@ description = "Chronicle is a news app that links all articles from group channe
12reward = "2 stars ($4k bonus if done by Assembly)"
12reward = "2 stars ($4k bonus if done by Assembly)"
13assignee = [""]
13assignee = [""]
14grant_id = "B0161"
14grant_id = "B0161"
15−champion = "Holium"
15+champion = ["Holium"]
16completed = false
16completed = false
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0161&prefill_Grant+Name=Chronicle"
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0161&prefill_Grant+Name=Chronicle"
18+++
18+++
content/grants/clojure-urbit-client.md+1−1
@@ -8,7 +8,7 @@ grant_category = ["App Dev - Other"]
8image = ""
8image = ""
9description = "Urbit client for the Clojure programming language"
9description = "Urbit client for the Clojure programming language"
10reward = "3 stars"
10reward = "3 stars"
11−champion = "~littel-wolfur"
11+champion = ["~littel-wolfur"]
12assignee = ["~sorted-falnyd"]
12assignee = ["~sorted-falnyd"]
13grant_id = "P0072"
13grant_id = "P0072"
14completed = false
14completed = false
content/grants/communal-computing.md+1−1
@@ -9,7 +9,7 @@ image = ""
9description = "User research, domain research/synthesis, white paper creation and publicity effort around Urbit ID as a solution to questions of IoT identity sharing and privacy"
9description = "User research, domain research/synthesis, white paper creation and publicity effort around Urbit ID as a solution to questions of IoT identity sharing and privacy"
10reward = "4.6 stars"
10reward = "4.6 stars"
11assignee = ["~pilwyc-fastec"]
11assignee = ["~pilwyc-fastec"]
12−mentor = "~simfur-ritwed"
12+mentor = ["~simfur-ritwed"]
13grant_id = "P0113"
13grant_id = "P0113"
14completed = false
14completed = false
15link = ""
15link = ""
content/grants/community-meetups.md+1−1
@@ -12,7 +12,7 @@ description = "Earn stars by building culture through local, recurring, and in-p
12reward = "1 star"
12reward = "1 star"
13assignee = [""]
13assignee = [""]
14grant_id = "B0165"
14grant_id = "B0165"
15−champion = "~dalweb-donfun"
15+champion = ["~dalweb-donfun"]
16completed = false
16completed = false
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0165&prefill_Grant+Name=Meetup%20Bounty"
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0165&prefill_Grant+Name=Meetup%20Bounty"
18+++
18+++
content/grants/contacts.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "App Dev", "Arvo" ]
10image = ""
10image = ""
11description = "Contact Management App"
11description = "Contact Management App"
12reward = "1 star"
12reward = "1 star"
13−mentor = "~timluc-miptev"
13+mentor = ["~timluc-miptev"]
14assignee = [""]
14assignee = [""]
15completed = false
15completed = false
16canceled = true
16canceled = true
content/grants/cue.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = "A bookmarking tool that reminds you of content you saved for later"
12description = "A bookmarking tool that reminds you of content you saved for later"
13reward = "4 stars"
13reward = "4 stars"
14assignee = ["~mallus-fabres"]
14assignee = ["~mallus-fabres"]
15−champion = "~fabled-faster"
15+champion = ["~fabled-faster"]
16grant_id = "P0146"
16grant_id = "P0146"
17completed = false
17completed = false
18canceled = false
18canceled = false
content/grants/digital-editor-MROB.md+1−1
@@ -11,7 +11,7 @@ image = ""
11description = "Digital Editor for the Mars Review of Books"
11description = "Digital Editor for the Mars Review of Books"
12reward = "$4,500 in WSTR"
12reward = "$4,500 in WSTR"
13assignee = ["~randem-wishes"]
13assignee = ["~randem-wishes"]
14−champion = "~librex-dozryc"
14+champion = ["~librex-dozryc"]
15grant_id = "B0115"
15grant_id = "B0115"
16completed = false
16completed = false
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0140&prefill_Grant+Name=Digital%20Editor%2C%20Mars%20Review%20of%20Books"
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0140&prefill_Grant+Name=Digital%20Editor%2C%20Mars%20Review%20of%20Books"
content/grants/digital-storefront.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = "Online Store for Selling Digital Content (Text / Audio / Video)"
12description = "Online Store for Selling Digital Content (Text / Audio / Video)"
13reward = "3 stars"
13reward = "3 stars"
14assignee = ["~tirrel"]
14assignee = ["~tirrel"]
15−champion = "~tacryt-socryp"
15+champion = ["~tacryt-socryp"]
16grant_id = "P0140"
16grant_id = "P0140"
17completed = false
17completed = false
18canceled = false
18canceled = false
content/grants/dusko-valve.md+1−1
@@ -11,7 +11,7 @@ image = ""
11description = "a tool which allows NFT artists to offer planets for redemption to their patrons alongside their NFTs"
11description = "a tool which allows NFT artists to offer planets for redemption to their patrons alongside their NFTs"
12reward = "1.0 WSTR"
12reward = "1.0 WSTR"
13assignee = ["~tasset-norlux"]
13assignee = ["~tasset-norlux"]
14−champion = "~tacryt-socryp"
14+champion = ["~tacryt-socryp"]
15grant_id = "P0118"
15grant_id = "P0118"
16completed = true
16completed = true
17canceled = false
17canceled = false
content/grants/eyre-scry.md+1−1
@@ -11,7 +11,7 @@ image = ""
11description = "Speed up Urbit http server by implementing a cache for requests"
11description = "Speed up Urbit http server by implementing a cache for requests"
12reward = "5 stars"
12reward = "5 stars"
13assignee = ["~watter-parter"]
13assignee = ["~watter-parter"]
14−champion = "~tirrel"
14+champion = ["~tirrel"]
15grant_id = "B0151"
15grant_id = "B0151"
16completed = false
16completed = false
17canceled = false
17canceled = false
content/grants/faux.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = "Discord Bridge"
12description = "Discord Bridge"
13reward = "2 stars"
13reward = "2 stars"
14assignee = ["~midsum-salrux"]
14assignee = ["~midsum-salrux"]
15−champion = "~littel-wolfur"
15+champion = ["~littel-wolfur"]
16grant_id = "P0145"
16grant_id = "P0145"
17completed = true
17completed = true
18canceled = false
18canceled = false
content/grants/full-stop.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = "A Menstruation Tracker for Urbit"
12description = "A Menstruation Tracker for Urbit"
13reward = "5 stars"
13reward = "5 stars"
14assignee = ["Quartus"]
14assignee = ["Quartus"]
15−champion = "~tocrex-holpen"
15+champion = ["~tocrex-holpen"]
16grant_id = "P0172"
16grant_id = "P0172"
17completed = false
17completed = false
18canceled = false
18canceled = false
content/grants/general-web-permissions.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = "Enabling the ability to log in and view private or user-specific content"
12description = "Enabling the ability to log in and view private or user-specific content"
13reward = "3 stars"
13reward = "3 stars"
14assignee = ["~tirrel"]
14assignee = ["~tirrel"]
15−champion = "~tacryt-socryp"
15+champion = ["~tacryt-socryp"]
16grant_id = "P0142"
16grant_id = "P0142"
17completed = false
17completed = false
18canceled = false
18canceled = false
content/grants/go-urbit.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = "Create a go-urbit library that contains the required functions for interfacing with Ames"
12description = "Create a go-urbit library that contains the required functions for interfacing with Ames"
13reward = "3 stars"
13reward = "3 stars"
14assignee = ["~litryl-tadmev"]
14assignee = ["~litryl-tadmev"]
15−champion = "~wicdev-wisryt"
15+champion = ["~wicdev-wisryt"]
16grant_id = "P0111"
16grant_id = "P0111"
17completed = false
17completed = false
18canceled = false
18canceled = false
content/grants/herd.md+1−1
@@ -12,7 +12,7 @@ description = "Herd - Dependency management for Citadel"
12reward = "2 stars"
12reward = "2 stars"
13assignee = ["~midsum-salrux"]
13assignee = ["~midsum-salrux"]
14grant_id = "P0170"
14grant_id = "P0170"
15−champion = "~littel-wolfur"
15+champion = ["~littel-wolfur"]
16completed = false
16completed = false
17+++
17+++
18
18
content/grants/hoon-eval.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "Core Dev" ]
10image = ""
10image = ""
11description = "Build an eval command and a stateless REPL mode in vere"
11description = "Build an eval command and a stateless REPL mode in vere"
12reward = "1 star"
12reward = "1 star"
13−mentor = "~master-morzod"
13+mentor = ["~master-morzod"]
14assignee = ["~mopfel-winrux"]
14assignee = ["~mopfel-winrux"]
15completed = false
15completed = false
16canceled = false
16canceled = false
content/grants/hoon-markdown-library.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = "CommonMark-based Library for Hoon Markdown"
12description = "CommonMark-based Library for Hoon Markdown"
13reward = "3 stars"
13reward = "3 stars"
14assignee = ["~tirrel"]
14assignee = ["~tirrel"]
15−champion = "~tacryt-socryp"
15+champion = ["~tacryt-socryp"]
16grant_id = "P0141"
16grant_id = "P0141"
17completed = false
17completed = false
18canceled = false
18canceled = false
content/grants/json-jet.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "Core Dev" ]
10image = ""
10image = ""
11description = "Create high performance JSON parsing/serializing jet."
11description = "Create high performance JSON parsing/serializing jet."
12reward = "1 star"
12reward = "1 star"
13−mentor = "~timluc-miptev"
13+mentor = ["~timluc-miptev"]
14assignee = ["~finmep-lanteb"]
14assignee = ["~finmep-lanteb"]
15completed = true
15completed = true
16canceled = false
16canceled = false
content/grants/lexicon.md+1−1
@@ -12,7 +12,7 @@ description = "A simple dictionary app with ability to add custom definitions fo
12reward = "1 star ($3k bonus if done by Assembly)"
12reward = "1 star ($3k bonus if done by Assembly)"
13assignee = ["~bitful-pannul"]
13assignee = ["~bitful-pannul"]
14grant_id = "B0162"
14grant_id = "B0162"
15−champion = "Holium"
15+champion = ["Holium"]
16completed = false
16completed = false
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0162&prefill_Grant+Name=Lexicon"
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0162&prefill_Grant+Name=Lexicon"
18+++
18+++
content/grants/loom-pointer-compression.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "Core Dev", "Runtime" ]
10image = ""
10image = ""
11description = "Expand the maximum addressable loom size"
11description = "Expand the maximum addressable loom size"
12reward = "1 star"
12reward = "1 star"
13−mentor = "~fanfun-mocbud"
13+mentor = ["~fanfun-mocbud"]
14assignee = ["~barter-simsum"]
14assignee = ["~barter-simsum"]
15grant_id = "A0173"
15grant_id = "A0173"
16completed = false
16completed = false
content/grants/meld-memory.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "Core Dev" ]
10image = ""
10image = ""
11description = "Reduce memory usage of |meld"
11description = "Reduce memory usage of |meld"
12reward = "1 star"
12reward = "1 star"
13−mentor = "~master-morzod"
13+mentor = ["~master-morzod"]
14assignee = ["~winter-paches"]
14assignee = ["~winter-paches"]
15completed = false
15completed = false
16canceled = false
16canceled = false
content/grants/membrane.md+1−1
@@ -9,7 +9,7 @@ image = ""
9description = "Martian native spreadsheets"
9description = "Martian native spreadsheets"
10reward = "5 stars"
10reward = "5 stars"
11assignee = ["~tiller-tolbus"]
11assignee = ["~tiller-tolbus"]
12−champion = "~sarlev-sarsen"
12+champion = ["~sarlev-sarsen"]
13grant_id = "P0138"
13grant_id = "P0138"
14completed = false
14completed = false
15canceled = false
15canceled = false
content/grants/minesweeper.md+1−1
@@ -12,7 +12,7 @@ description = "A redesigned version of minesweeper where all of the game logic i
12reward = "1 star ($2k if done by Assembly)"
12reward = "1 star ($2k if done by Assembly)"
13assignee = ["~hanfel-dovned"]
13assignee = ["~hanfel-dovned"]
14grant_id = "B0163"
14grant_id = "B0163"
15−champion = "Holium"
15+champion = ["Holium"]
16completed = false
16completed = false
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0163&prefill_Grant+Name=Minesweeper"
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0163&prefill_Grant+Name=Minesweeper"
18+++
18+++
content/grants/native-planet-2.md+1−1
@@ -11,7 +11,7 @@ image = ""
11description = "Native Planet - A domestic hosting solution for Urbit"
11description = "Native Planet - A domestic hosting solution for Urbit"
12reward = "6 stars"
12reward = "6 stars"
13assignee = ["~dalhec-banler"]
13assignee = ["~dalhec-banler"]
14−champion = "~poldec-tonteg"
14+champion = ["~poldec-tonteg"]
15grant_id = "P0126"
15grant_id = "P0126"
16completed = false
16completed = false
17canceled = false
17canceled = false
content/grants/nested-goals.md+1−1
@@ -8,7 +8,7 @@ grant_category = ["App Dev"]
8image = ""
8image = ""
9description = "Urbit application for invidividual and social management of high-level goals and their tasks"
9description = "Urbit application for invidividual and social management of high-level goals and their tasks"
10reward = "3 stars"
10reward = "3 stars"
11−champion = "~tacryt-socryp"
11+champion = ["~tacryt-socryp"]
12assignee = ["~niblyx-malnus"]
12assignee = ["~niblyx-malnus"]
13grant_id = "P0143"
13grant_id = "P0143"
14completed = false
14completed = false
content/grants/notifications-protocol.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "Core Dev" ]
10image = ""
10image = ""
11description = "Build a new network protocol to Urbit to handle notifying subscribers when a new datum is published"
11description = "Build a new network protocol to Urbit to handle notifying subscribers when a new datum is published"
12reward = "1 star"
12reward = "1 star"
13−mentor = "~rovnys-ricfer"
13+mentor = ["~rovnys-ricfer"]
14assignee = ["~novned-tidsyl", "~boldur-dashes"]
14assignee = ["~novned-tidsyl", "~boldur-dashes"]
15grant_id = "A0136"
15grant_id = "A0136"
16completed = false
16completed = false
content/grants/nuck-jet.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "Core Dev" ]
10image = ""
10image = ""
11description = "Create new high performance string parser jet."
11description = "Create new high performance string parser jet."
12reward = "1 star"
12reward = "1 star"
13−mentor = "~timluc-miptev"
13+mentor = ["~timluc-miptev"]
14assignee = [""]
14assignee = [""]
15completed = false
15completed = false
16canceled = true
16canceled = true
content/grants/olif.md+1−1
@@ -12,7 +12,7 @@ description = "Olif: olfactive rendering of Urbit address space"
12reward = "2 stars"
12reward = "2 stars"
13assignee = ["~litneb-maltyp"]
13assignee = ["~litneb-maltyp"]
14grant_id = "P0159"
14grant_id = "P0159"
15−champion = "~tocrex-holpen"
15+champion = ["~tocrex-holpen"]
16completed = false
16completed = false
17+++
17+++
18
18
content/grants/peat.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = "Social Areoloy, or, Urbit's first Backup Utility"
12description = "Social Areoloy, or, Urbit's first Backup Utility"
13reward = "4 stars"
13reward = "4 stars"
14assignee = ["Quartus"]
14assignee = ["Quartus"]
15−champion = "~sarlev-sarsen"
15+champion = ["~sarlev-sarsen"]
16grant_id = "P0174"
16grant_id = "P0174"
17completed = false
17completed = false
18canceled = false
18canceled = false
content/grants/port-maintenance.md+1−1
@@ -8,7 +8,7 @@ grant_category = ["App Dev"]
8image = ""
8image = ""
9description = "Maintain the Port application"
9description = "Maintain the Port application"
10reward = "2 stars"
10reward = "2 stars"
11−champion = "~nocsyx-lassul"
11+champion = ["~nocsyx-lassul"]
12assignee = ["~latter-bolden"]
12assignee = ["~latter-bolden"]
13grant_id = "B0112"
13grant_id = "B0112"
14completed = false
14completed = false
content/grants/quorum.md+1−1
@@ -12,7 +12,7 @@ description = "Quorum: Clone of Stack Exchange on Urbit"
12reward = "3 stars"
12reward = "3 stars"
13assignee = ["~tamlut-modnys", "~litlep-nibbyt", "~sidnym-ladrut"]
13assignee = ["~tamlut-modnys", "~litlep-nibbyt", "~sidnym-ladrut"]
14grant_id = "B0167"
14grant_id = "B0167"
15−champion = "~lagrev-nocfep"
15+champion = ["~lagrev-nocfep"]
16completed = false
16completed = false
17+++
17+++
18
18
content/grants/ra-debugging-tools.md+1−1
@@ -8,7 +8,7 @@ grant_category = ["App Dev", "Arvo"]
8image = ""
8image = ""
9description = "Debugging Tools"
9description = "Debugging Tools"
10reward = "2 stars"
10reward = "2 stars"
11−mentor = "~master-morzod"
11+mentor = ["~master-morzod"]
12assignee = ["~nosmes-sibwyx", "~topfet-parmed"]
12assignee = ["~nosmes-sibwyx", "~topfet-parmed"]
13completed = false
13completed = false
14canceled = true
14canceled = true
content/grants/ra-page-tracking.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "App Dev", "Arvo" ]
10image = ""
10image = ""
11description = "Improve Page Tracking"
11description = "Improve Page Tracking"
12reward = "2 stars"
12reward = "2 stars"
13−mentor = "~silsyn-wathep"
13+mentor = ["~silsyn-wathep"]
14assignee = ["~fanfun-mocbud"]
14assignee = ["~fanfun-mocbud"]
15completed = true
15completed = true
16work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=A0039&prefill_Grant+Name=Runtime%20Apprenticeship%3A%20Improve%20Page%20Tracking"
16work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=A0039&prefill_Grant+Name=Runtime%20Apprenticeship%3A%20Improve%20Page%20Tracking"
content/grants/ra-segfaults.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "App Dev", "Arvo" ]
10image = ""
10image = ""
11description = "Segfaults"
11description = "Segfaults"
12reward = "2 stars"
12reward = "2 stars"
13−mentor = "~silsyn-wathep"
13+mentor = ["~silsyn-wathep"]
14assignee = [""]
14assignee = [""]
15completed = false
15completed = false
16canceled = true
16canceled = true
content/grants/ra-stack-overflow.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "App Dev", "Arvo" ]
10image = ""
10image = ""
11description = "Stack Overflow"
11description = "Stack Overflow"
12reward = "2 stars"
12reward = "2 stars"
13−mentor = "~silsyn-wathep"
13+mentor = ["~silsyn-wathep"]
14assignee = [""]
14assignee = [""]
15completed = false
15completed = false
16canceled = true
16canceled = true
content/grants/regex-library.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "Core Dev" ]
10image = ""
10image = ""
11description = "Implement a regular expressions library in Hoon"
11description = "Implement a regular expressions library in Hoon"
12reward = "3 stars"
12reward = "3 stars"
13−mentor = "~lagrev-nocfep"
13+mentor = ["~lagrev-nocfep"]
14assignee = ["~macrep-racdec"]
14assignee = ["~macrep-racdec"]
15grant_id = "B0149"
15grant_id = "B0149"
16completed = false
16completed = false
content/grants/seguro-phase-2.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = "Implement a working FoundationDB event read/write layer that is as ready as possible for interfacing with the Urbit runtime."
12description = "Implement a working FoundationDB event read/write layer that is as ready as possible for interfacing with the Urbit runtime."
13reward = "5 stars"
13reward = "5 stars"
14assignee = ["~mastyr-bottec"]
14assignee = ["~mastyr-bottec"]
15−champion = "~master-morzod"
15+champion = ["~master-morzod"]
16grant_id = "P0168"
16grant_id = "P0168"
17completed = false
17completed = false
18canceled = false
18canceled = false
content/grants/seguro-prototype.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = ""
12description = ""
13reward = "2 stars"
13reward = "2 stars"
14assignee = ["~mastyr-bottec"]
14assignee = ["~mastyr-bottec"]
15−champion = "~master-morzod"
15+champion = ["~master-morzod"]
16grant_id = "P0130"
16grant_id = "P0130"
17completed = false
17completed = false
18canceled = false
18canceled = false
content/grants/slam.md+1−1
@@ -9,7 +9,7 @@ image = ""
9description = "Slam Action Game"
9description = "Slam Action Game"
10reward = "3 stars"
10reward = "3 stars"
11assignee = ["~hanfel-dovned"]
11assignee = ["~hanfel-dovned"]
12−champion = "~rabsef-bicrym"
12+champion = ["~rabsef-bicrym"]
13grant_id = "P0101"
13grant_id = "P0101"
14completed = false
14completed = false
15link = ""
15link = ""
content/grants/slaw-scot-jets.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "Core Dev" ]
10image = ""
10image = ""
11description = "Tune slaw/scot jets for better perfomance."
11description = "Tune slaw/scot jets for better perfomance."
12reward = "1 star"
12reward = "1 star"
13−mentor = "~master-morzod"
13+mentor = ["~master-morzod"]
14assignee = [""]
14assignee = [""]
15grant_id = "B0137"
15grant_id = "B0137"
16completed = false
16completed = false
content/grants/symmetric-routing.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "Core Dev" ]
10image = ""
10image = ""
11description = "Change Urbit's peer discovery, routing, and packet forwarding to use symmetric routing"
11description = "Change Urbit's peer discovery, routing, and packet forwarding to use symmetric routing"
12reward = "1 star"
12reward = "1 star"
13−mentor = "~rovnys-ricfer"
13+mentor = ["~rovnys-ricfer"]
14assignee = ["~novned-tidsyl", "~boldur-dashes"]
14assignee = ["~novned-tidsyl", "~boldur-dashes"]
15grant_id = "A0135"
15grant_id = "A0135"
16completed = false
16completed = false
content/grants/trill-ufa.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = "Urbit microblogging platform and social feed aggregator"
12description = "Urbit microblogging platform and social feed aggregator"
13reward = "5 stars"
13reward = "5 stars"
14assignee = ["~mirtyl-wacdec"]
14assignee = ["~mirtyl-wacdec"]
15−champion = "~poldec-tonteg"
15+champion = ["~poldec-tonteg"]
16grant_id = "P0127"
16grant_id = "P0127"
17completed = false
17completed = false
18canceled = false
18canceled = false
content/grants/trove.md+1−1
@@ -12,7 +12,7 @@ description = "A shared file drive allowing the upload of files to an S3 bucket
12reward = "2 stars ($4k bonus if done by Assembly)"
12reward = "2 stars ($4k bonus if done by Assembly)"
13assignee = [""]
13assignee = [""]
14grant_id = "B0164"
14grant_id = "B0164"
15−champion = "Holium"
15+champion = ["Holium"]
16completed = false
16completed = false
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0164&prefill_Grant+Name=Trove"
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0164&prefill_Grant+Name=Trove"
18+++
18+++
content/grants/ua-collaborative-text-editor.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "App Dev", "Arvo" ]
10image = ""
10image = ""
11description = "A line-based editor for looking at text and code."
11description = "A line-based editor for looking at text and code."
12reward = "1 star"
12reward = "1 star"
13−mentor = "~timluc-miptev"
13+mentor = ["~timluc-miptev"]
14assignee = ["~hanfel-dovned"]
14assignee = ["~hanfel-dovned"]
15completed = true
15completed = true
16work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=A0019&prefill_Grant+Name=Collaborative%20text%20editor%20and%20annotator"
16work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=A0019&prefill_Grant+Name=Collaborative%20text%20editor%20and%20annotator"
content/grants/ua-filesharer.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "App Dev", "Arvo" ]
10image = ""
10image = ""
11description = "An application that allows peers to upload files to managed storage, either on or off Urbit, and share files with each other."
11description = "An application that allows peers to upload files to managed storage, either on or off Urbit, and share files with each other."
12reward = "1 star"
12reward = "1 star"
13−mentor = "~timluc-miptev"
13+mentor = ["~timluc-miptev"]
14assignee = [""]
14assignee = [""]
15completed = true
15completed = true
16work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0022&prefill_Grant+Name=Filesharer"
16work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0022&prefill_Grant+Name=Filesharer"
content/grants/ua-heads-up-poker.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "App Dev", "Arvo" ]
10image = ""
10image = ""
11description = "A fun client app that would be a good way to get acquainted with Urbit's networking and p2p abilities."
11description = "A fun client app that would be a good way to get acquainted with Urbit's networking and p2p abilities."
12reward = "1 star"
12reward = "1 star"
13−mentor = "~timluc-miptev"
13+mentor = ["~timluc-miptev"]
14assignee = ["~bacwyl-samweg", "~hodzod-walrus"]
14assignee = ["~bacwyl-samweg", "~hodzod-walrus"]
15completed = true
15completed = true
16work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0021&prefill_Grant+Name=Heads-up%20poker"
16work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0021&prefill_Grant+Name=Heads-up%20poker"
content/grants/ua-invoice-system.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "App Dev", "Arvo" ]
10image = ""
10image = ""
11description = "A system to request and record payments made and received."
11description = "A system to request and record payments made and received."
12reward = "1 star"
12reward = "1 star"
13−mentor = "~timluc-miptev"
13+mentor = ["~timluc-miptev"]
14assignee = [""]
14assignee = [""]
15completed = true
15completed = true
16work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0020&prefill_Grant+Name=Invoice%20system"
16work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0020&prefill_Grant+Name=Invoice%20system"
content/grants/ua-marketplace.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "App Dev", "Arvo" ]
10image = ""
10image = ""
11description = "A marketplace in which users can post items for sale and browse goods for sale by other users."
11description = "A marketplace in which users can post items for sale and browse goods for sale by other users."
12reward = "1 star"
12reward = "1 star"
13−mentor = "~timluc-miptev"
13+mentor = ["~timluc-miptev"]
14assignee = ["~dachus-tiprel"]
14assignee = ["~dachus-tiprel"]
15grant_id = "A0009"
15grant_id = "A0009"
16completed = false
16completed = false
content/grants/urbit-forms.md+1−1
@@ -12,7 +12,7 @@ image = ""
12description = "Create forms and surveys with multiple question types"
12description = "Create forms and surveys with multiple question types"
13reward = "2 stars"
13reward = "2 stars"
14assignee = ["~nallux-dozryl"]
14assignee = ["~nallux-dozryl"]
15−champion = "~lagrev-nocfep"
15+champion = ["~lagrev-nocfep"]
16grant_id = "P0110"
16grant_id = "P0110"
17completed = false
17completed = false
18canceled = false
18canceled = false
content/grants/urbit-interface-framework.mdnew file+79
@@ -0,0 +1,79 @@
1++++
2+title = "Urbit Interface Framework"
3+date = "2022-08-24"
4+
5+[taxonomies]
6+grant_type = [ "Proposal" ]
7+grant_category = [ "Other" ]
8+
9+[extra]
10+image = ""
11+description = "Develop framework for alternative urbit web browser interface"
12+reward = "5 stars"
13+champion = "~nocsyx-lassul"
14+assignee = ["~nortex-ramnyd"]
15+grant_id = "P0100"
16+completed = false
17+canceled = false
18++++
19+
20+# Rationale
21+
22+I'm proposing to write code for what could become an alternative urbit web browser interface alongside Landscape, Escape, Holium and maybe others I've yet to see.
23+This interface basically functions like website builder [Wix](https://www.wix.com/) but puts more emphasis on
24+1. Enabling creation of custom components as easy as using pre-fabricated ones - Wix has an option to create custom components with javascript but it's limited and impractical.
25+2. Implementing collaborative composing as an integral feature rather than an "add-on".
26+
27+The interface would be composed together from components in similar way Wix does. The components are draggable around the screen and it will be possible to align a component into a grid with automatic alignment. In practice this enables composing (live) "dashboards" for reasoning about various data.
28+The interface will be accessed from browser and mobile browser. Future work includes a native iOS app and a desktop Electron app. Though it's the same codebase for web browser interface, the mobile browser interface components will be auto-aligned for mobile screen. iOS app will have support for native notifications and widgets.
29+The components will be written in Sail, an Urbit markup language. A trivial example of a component could be `;smiley` which renders on the screen as `:-)`.
30+The `;smiley` definition might look something like `;span: ":-)"`. It must be in valid HTML namespace, but can be written in Sail syntax or alternatively, defined in pure HTML itself.
31+If you try to add this `;smiley` component to your screen but it doesn't exist on your urbit yet, a prompt appears telling to either define this component or download component with this name from other urbit. By default, downloads happen from your parent star but can be configured to download from other indexers as well.
32+Alternatively, if you know that this `;smiley` component exists on some particular urbit, you can also download directly by just appending the name of urbit, e.g. if ~nortex-ramnyd has this component, you could `;smiley~nortex-ramnyd` and after that, this component is available on your ship as well (so next time you want to use this component, you can just `;smiley` without asking it from ~nortex-ramnyd).
33+For this project, I will implement an additional CSS abstraction layer into Sail. This makes styling components a little bit easier. So instead of `;smiley(style "color:blue")`, it would be `;smiley(color "blue")`. Or to make custom fonts easier `;p(font "custom-font"): Hello` or `;p(font "https://url-of/custom-font.woff2"): Hello`. To bypass CORS restrictions, I'll host a CORS relay (or can be configured to use a different host).
34+"Pages" of composed components are linked together like web pages and can be either pages composed by only you (only available on your urbit), e.g. your "home screen"/"dashboard", or group pages - pages that are composed together by group members.
35+Both types can have specified view and edit permissions.
36+The first time when the interface is installed (an Electron app), the "welcome" screen appears and this is also the "home screen" that appears when later reopening the application. The welcome screen walks through the functionality of the interface and subsequently prepares the user to start composing their home screen.
37+Some code I have already written, the repository is stored on github: https://github.com/h5gq3/wix.com
38+# Milestones and Compenstation
39+## Milestone 1: finish core features and polish UI
40+### 2 stars
41+The first milestone is to get the current functionality polished and usable with minimal bugs. It should be clear to the user how to edit and add blocks as well as how to switch back to rendering. The user should be able to install the freeform editor as an app and see the basic demo where state is only seen through the app itself.
42+- Implement basic fixed freeform positioning
43+- Implement component resizing logic
44+- Implement page routing
45+- Add some UI for showing editing vs rendered state
46+- Add UI helpers for rendering editor
47+- Add docket file and editor html + js so that it can be rendered as an app for ease of showing off
48+## Milestone 2: usability and component enhancements
49+### 1 star
50+In this milestone we're mostly just improving the usability of the editor and adding nice-to-have features like being able to make and use components.
51+- Implement component creation logic using React 18
52+- Download components from other ships
53+- Install and use React components straight from markup
54+- CSS abstraction
55+- Some "convenience" functions library in style of jQuery
56+## Milestone 3: collaborative editing
57+### 1 star
58+In this milestone we implement push and pull hooks similar to how groups works to allow for syncing of state between multiple editors and implement custom permissioning logic.
59+## Milestone 4: proof of concept custom component/app - DeepSpace meditation app
60+### 1 star
61+In this milestone we create an application on top of the interface builder. The design considerations for this application are as follows:
62+### Design - The DeepSpaceApp
63+- three slightly different 2-3 min guided basic meditation where the user sees written text + hears audio with some simple animation like a dot that is going bigger when you breathe in and smaller when you breathe out
64+ - one where the user focuses on breathing
65+ - one where the user focuses on counting
66+ - one where the user focuses on “feeling”
67+- built-in timer to set up a time of how long users that already knows techniques of meditation want to meditate with a bell sound at the start and end of the session
68+- a small journal that the user can write a few words after each meditation to store the ideas, and feelings that emerge during the session, it is also good practice to write short journals for a benefit of daily focus and mental health, by storing it all on Urbit user will have a feeling that he really own it personally and no one have access to it
69+- quote of some zen master, budda, Krishna, or from Hermetic books to inspire users after each meditation, all taken from some pre-created database
70+- way to evaluate each user’s meditation session, emotional/mental state of each day with "triangle" "circle" "square" (not “:)” , “:|” , “:(“ -> like in every other meditation app)
71+- **MOST IMPORTANT**: Group sessions so like there will be pre-define and pre-announced three hours daily in UTC when users will know that if they want to meditate with other people they can join and see how many people meditate with them at the same time (they don't need to hear each other or anything, just a visible number of people, maybe Urbit names, some levitations dots representing users, that now are currently login and potentially meditate at the same time). This builds a strong connection between people and lets them feel “not alone” in the process or even in the whole world/space/time.
72+# Future Work
73+Future work involves expanding the functionality and writing custom components, aka "apps".
74+Potential expansions:
75+- Dragging various media onto the page and automatically storing it in your data store (possibly IPFS or S3)
76+- Sail and udon improvement - try improving syntax for more ergonomic use
77+- "Convenience" functions library expansion
78+- Codemirror integrations like indentation, syntax highlighting, and json previewing
79+- Component discovery from other ships
content/grants/value-articles.md+1−1
@@ -9,7 +9,7 @@ image = ""
9description = "Create in-depth valuation models for Urbit address space, network effects, and commercial utilization"
9description = "Create in-depth valuation models for Urbit address space, network effects, and commercial utilization"
10reward = "$5000"
10reward = "$5000"
11assignee = [""]
11assignee = [""]
12−champion = "~simfur-ritwed"
12+champion = ["~simfur-ritwed"]
13id = "B0156"
13id = "B0156"
14completed = false
14completed = false
15work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0156&prefill_Grant+Name=Urbit%20Value%20Longform%20Writing%2FAnalysis"
15work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0156&prefill_Grant+Name=Urbit%20Value%20Longform%20Writing%2FAnalysis"
content/grants/volt-ui.md+1−1
@@ -10,7 +10,7 @@ grant_category = [ "App Dev", "Other" ]
10image = ""
10image = ""
11description = "An app to serve the UI to urbit's lightning wallet"
11description = "An app to serve the UI to urbit's lightning wallet"
12reward = "1 star"
12reward = "1 star"
13−mentor = "~dasrun-fadben"
13+mentor = ["~dasrun-fadben"]
14assignee = ["~mipsun-diflex"]
14assignee = ["~mipsun-diflex"]
15grant_id = "A0152"
15grant_id = "A0152"
16completed = false
16completed = false
gnosis-safe.md+1−1
@@ -11,7 +11,7 @@ image = ""
11description = "An Urbit app that serves the Gnosis Safe UI, but with Urbit used for storing safe/wallet metadata and exchanging signatures."
11description = "An Urbit app that serves the Gnosis Safe UI, but with Urbit used for storing safe/wallet metadata and exchanging signatures."
12reward = "1 star"
12reward = "1 star"
13assignee = [""]
13assignee = [""]
14−champion = "~dinleb-rambep"
14+champion = ["~dinleb-rambep"]
15grant_id = "B0154"
15grant_id = "B0154"
16completed = false
16completed = false
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0154&prefill_Grant+Name=Gnosis%20Safe"
17work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0154&prefill_Grant+Name=Gnosis%20Safe"
pages/grants/[slug].js+17−7
@@ -46,13 +46,23 @@ export default function Grant({ post, markdown, search }) {
46 );
46 );
47 });
47 });
48 const mentorLink =
48 const mentorLink =
49+ mentor &&
50+ mentor.map((each, index) => {
49− mentor && ob.isValidPatp(mentor) ? (
51+ return ob.isValidPatp(each) ? (
52+ <>
53+ {index ? ", " : ""}
50− <Link href={`/ids/${mentor}`} passHref>
54+ <Link href={`/ids/${each}`} passHref>
51− <a className="text-green-400">{mentor}</a>
55+ <a className="text-green-400">{each}</a>
52− </Link>
56+ </Link>
57+ </>
53− ) : (
58+ ) : (
54− mentor
59+ <>
60+ {index ? ", " : ""}
61+ {each}
62+ </>
63+ );
55− );
64+ });
65+
56 const metaPost = Object.assign({}, post);
66 const metaPost = Object.assign({}, post);
57 metaPost.title = `${post.title} - Grant`;
67 metaPost.title = `${post.title} - Grant`;
58
68