Commit Graph

412 Commits

Author SHA1 Message Date
matildepark
782ea1a6e7
Merge pull request #3696 from urbit/lf/bundle-cleanup
interface: various bundle size optimisations
2020-10-16 18:32:07 -04:00
Philip Monk
77b33632a6
Merge remote-tracking branch 'origin/master' into release/next-sys 2020-10-14 19:26:33 -07:00
Liam Fitzgerald
f14c0ee19e interface, glob: serve source maps externally 2020-10-14 13:26:40 +10:00
Liam Fitzgerald
627937f5a0 publish-mark: address review 2020-10-05 15:26:27 +10:00
Joe Bryan
b5c9f4ed2a zuse: removes redundant definitions of $mite and $octs 2020-10-03 23:34:10 -07:00
Liam Fitzgerald
ef7bb37f8f Merge branch 'release/next-userspace' into lf/graph-publish-fe 2020-10-01 09:43:34 +10:00
Ted Blackman
d6899857f4 +graph-store/import-graph 2020-09-18 16:50:34 -04:00
Ted Blackman
77658b1a8a Merge remote-tracking branch 'origin/release/link' into lf/graph-be 2020-09-15 16:46:00 -04:00
Liam Fitzgerald
a81c41b942 publish: update validator mark to allow for revisions 2020-09-15 15:51:46 +10:00
Logan Allen
cfe9484087 graph-validator-link: removed unicode characters 2020-09-14 14:50:27 -05:00
Liam Fitzgerald
ff1219bbda marks: add graph-view marks 2020-09-11 09:35:44 +10:00
Liam Fitzgerald
22b6277abe publish: rewrite top-level for graph-store 2020-09-10 20:09:52 +10:00
Liam Fitzgerald
4df053733b Merge branch 'lf/publish-graph' into lf/graph-publish-fe 2020-09-09 11:19:46 +10:00
Liam Fitzgerald
502792a734 publish: store title in content 2020-09-08 16:09:06 +10:00
Liam Fitzgerald
d1a1cfccad publish: first draft of graph-store migration 2020-09-08 14:23:50 +10:00
Liam Fitzgerald
7174f3281b marks: add graph-view marks 2020-09-04 00:12:12 +10:00
Liam Fitzgerald
ca309fb831 marks: add hook actions 2020-09-01 15:11:17 +10:00
Ted Blackman
dd2bae9320 links: data migration compiles; untested and still needs subscription migration 2020-08-18 15:41:24 -04:00
Ted Blackman
96d2906edc link: graph validator compiles and runs 2020-08-18 13:32:04 -04:00
Logan Allen
452d6ea4e1 graph-store: fully tested mark validation system 2020-07-28 12:03:09 -07:00
Logan Allen
a35749e2be graph-store: first validator mark builds 2020-07-27 12:56:30 -07:00
Logan Allen
325667f9ec Merge branch 'master' into la/graph-store 2020-07-27 12:10:22 -07:00
Logan Allen
7876912700 graph: chat validator mark 2020-07-22 13:54:20 -07:00
Liam Fitzgerald
24b25a3422 Merge remote-tracking branch 'origin/release/next-userspace' into lf/groups-refactor 2020-07-22 10:42:52 +00:00
Logan Allen
c06eb4d8c0 graph-store: removed +mop from sur and added test validator for chat 2020-07-21 17:38:06 -07:00
Philip Monk
d641210c6f
Merge branch 'philip/glob' (#3139)
* philip/glob:
  interface: don't require urbitrc for build:prod
  maintainers: add glob-making instructions
  publish: loosen +noun:grab
  glob: autostart and make ota-able
  glob: added app to distribute js outside clay

Signed-off-by: Philip Monk <phil@pcmonk.me>
2020-07-21 11:22:16 -07:00
Philip Monk
9ca9b5318b
publish: loosen +noun:grab 2020-07-20 17:58:23 -07:00
Matilde Park
a3caf1a214 Merge branch 'release/next-userspace' into lf/groups-refactor 2020-07-16 13:55:44 -04:00
Liam Fitzgerald
755139f8f4 marks: add hash mark 2020-07-15 14:26:17 +10:00
Logan Allen
80d67c2f16 graph-view: delete for now 2020-07-08 15:39:20 -04:00
Logan Allen
a7cbecc0e2 Merge branch 'lf/groups-refactor' into la/graph-store 2020-07-06 15:02:20 -04:00
Liam Fitzgerald
26c610f8d2 interface: update store + api + subscriptions for new groups 2020-07-02 12:19:32 +10:00
Liam Fitzgerald
9b61c5571b Merge branch 'ford-fusion' into lf/groups-refactor 2020-06-27 10:42:16 +10:00
Logan Allen
e055ba98ae graph-store+view: added a variety of query types for subset fetching, individual post fetching, child fetching, etc 2020-06-26 14:38:11 -04:00
Liam Fitzgerald
846fe8c048 groups: convert JSON encodings to camelcase 2020-06-26 17:02:51 +10:00
Liam Fitzgerald
ad6efe44ff groups: update generators and marks for ford-fusion 2020-06-26 12:45:02 +10:00
Ted Blackman
26ff47b93d Merge remote-tracking branch 'origin/release/next-userspace' into ford-fusion 2020-06-25 22:24:30 -04:00
Liam Fitzgerald
47352a06ba groups: finalize state adapters 2020-06-24 10:28:57 +10:00
Logan Allen
ec432a5b10 graph: got some things working and fixed an issue introduced by rebase 2020-06-23 14:01:04 -04:00
Liam Fitzgerald
8cf81002ec Merge branch 'ford-fusion' into lf/groups-refactor 2020-06-23 12:13:03 +10:00
Matilde Park
5ad03868b2 Merge branch 'master' into release/next-userspace 2020-06-22 10:24:34 -04:00
Philip Monk
6ff9f75bb7
Merge remote-tracking branch 'origin/master' into ford-fusion 2020-06-19 14:52:18 -07:00
Liam Fitzgerald
d66dbff61e groups: migrate to push-pull hooks and resources 2020-06-08 17:53:16 +10:00
Philip Monk
8b78f04dd3
Merge remote-tracking branch 'origin/master' into ford-fusion 2020-06-02 21:50:20 -07:00
Fang
30924609e0
Merge pull request #2882 from urbit/lf/links-refactors
links: namespace types
2020-06-02 17:16:37 +02:00
Liam Fitzgerald
f60181871a groups: finish rewrite 2020-06-02 15:11:02 +10:00
Liam Fitzgerald
d2de8d72eb groups: begin rewrite 2020-06-02 15:07:09 +10:00
Philip Monk
62889d78d1
txt: don't conflict if identical changes 2020-06-01 20:46:43 -07:00
Logan Allen
9b5c93d2f1 file-server: renamed to file-server 2020-06-01 14:02:12 -04:00
Logan Allen
f13b174f16 landscape: renamed to http-server-store, finished subscribable configuration 2020-06-01 14:01:38 -04:00
Isaac Visintainer
ae58a62fad landscape: added static serving to landscape.hoon 2020-06-01 14:00:47 -04:00
Logan Allen
deb7c3445b apps: finish mark and http cleanup 2020-06-01 14:00:46 -04:00
Logan Allen
4550bc6dc1 apps: updated apps to use consistent %initial update 2020-06-01 14:00:46 -04:00
Logan Allen
34fc7b7f30 launch: fixed mark conversions and added files 2020-06-01 13:57:06 -04:00
Logan Allen
0c2b770411 launch: added json marks 2020-06-01 13:57:06 -04:00
Fang
f54c5066d4
Merge pull request #2956 from urbit/master
Merge master into release/next-userspace
2020-05-29 13:24:44 +02:00
John Franklin
510fb6b394 hoon: bat/net to bas/fas 2020-05-28 06:58:18 -05:00
Fang
36b7fc2e4f
Merge branch 'release/next-sys' into m/debug-dashboard 2020-05-26 20:36:27 +02:00
Isaac Visintainer
7c9f128910 publish: fix publish-info mark quote escaping 2020-05-21 17:16:54 -06:00
Fang
f96c83a4a9
spider, debug fe: actually support killing threads 2020-05-20 22:35:53 +02:00
matildepark
91cf06b542
Merge pull request #2814 from urbit/lf/chat-type-namespacing
chat: improve namespacing of chat-* types
2020-05-19 19:54:22 -04:00
matildepark
74fb1ad68f
Merge pull request #2884 from urbit/lf/publish-namespacing
publish: abide by namespacing conventions
2020-05-19 19:14:55 -04:00
Isaac Visintainer
ac9890c2a9 publish: fix bug in publish comment mark 2020-05-12 17:49:03 -06:00
Liam Fitzgerald
782135fc97 publish: abide by namespacing conventions 2020-05-09 11:26:25 +10:00
Liam Fitzgerald
2946eb55cb links: namespace view types 2020-05-08 16:07:44 +10:00
Liam Fitzgerald
edfcb389db links: namespace store types and lib 2020-05-08 15:33:04 +10:00
Ted Blackman
2be61eaac9 /mar: all marks build 2020-05-08 01:29:47 -04:00
Liam Fitzgerald
bf965a26ea links: rename files to namespacing convention 2020-05-08 14:27:37 +10:00
Fang
ac494a265e
verb: allow subscribing to events
This excludes, necessarily, events that don't let us emit moves.
(+on-save, +on-peek)
2020-05-08 01:46:29 +02:00
Liam Fitzgerald
cf8e8f8dc4 Merge branch 'master' into lf/chat-type-namespacing 2020-05-07 10:39:11 +10:00
Ted Blackman
339e4e34ce clay: fix %mime->%html mark conversion 2020-05-06 01:09:35 -04:00
Ted Blackman
8abdd3d066 mar: all marks build; added +grad and +noun:grow to many 2020-05-04 23:21:05 -04:00
Liam Fitzgerald
d7a5499b9a chat: expose types with libs 2020-04-30 09:04:29 +10:00
Liam Fitzgerald
531efa82a9 chat: address review comments 2020-04-29 18:45:07 +10:00
Liam Fitzgerald
5f4fc28bc9 chat: improve namespacing of chat-* types
Improved the namespacing by dropping the app prefix on types, e.g.
chat-hook-action -> action. Compensated for shadowing by importing the
/sur files behind a face. End result is that a chat-hook-action becomes
an action:hook. Splits chat-json into lib/chat-{hook,store,view}. Uses
^? on changes files in /lib and /sur to discourage deeply nested
importing.
2020-04-28 12:01:13 +10:00
Logan Allen
9b4f070f3e s3: style cleanup, response to comments 2020-04-27 15:31:04 -04:00
Logan Allen
daf32fd0f9 s3-store: initial commit 2020-04-24 12:19:01 -04:00
Philip Monk
fa0e019ddf
clay: change %park interface to not take caches
Now a full commit is synchronous.  -commit will be assimilated back into
clay.
2020-04-23 13:54:57 -07:00
Fang
a810468dcf
Merge pull request #2777 from urbit/ixv/publish-groupify
publish: groupify notebooks
2020-04-23 02:00:24 +02:00
Jared Tobin
5b9887ca19
Merge branch 'la-contact-delete-fix' (#2738)
* origin/la-contact-delete-fix:
  t groups + contacts: make removes completely clean up state
  contact-js: made channel handle onChannelError
  contact-hook: tested it, got /synced path working, and subscriptions loading
  contacts: fix group deletion and do some quality of life fixes

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-04-22 14:04:19 +04:00
Isaac Visintainer
49463197f5 publish: add groupify action 2020-04-21 14:34:40 -07:00
Ted Blackman
1b27582e3a ford-fusion: minor cleanup to +get-value 2020-04-17 02:23:19 -04:00
Liam Fitzgerald
963d04831d Merge branch 'master' into lf/publish-del-edit 2020-04-15 10:07:29 +10:00
Logan Allen
bfcaf6468e contact-hook: tested it, got /synced path working, and subscriptions loading 2020-04-14 18:05:32 -04:00
Isaac Visintainer
113c86037c publish: fix bug in comment mark 2020-04-14 11:23:06 -07:00
Liam Fitzgerald
fa92d1cb7f publish: use @tas for comment ref in marks
Comment references in publish actions are @tas of a rendered @da. The
mark expected @da, causing a mismatch.
2020-04-14 20:15:57 +10:00
Isaac Visintainer
f9e17e61a2 publish: update state with limbo field 2020-04-12 23:21:42 -07:00
Fang
5f94fe0cf4
link-listen-hook: explicitly track subscriptions
Instead of going purely off metadata, we now track the collections we're
listening to, and allow the user to remove collections from that list.

This allows us to remove/ignore collections, without mutilating group
assocations locally.
2020-03-25 22:41:20 +01:00
Logan Allen
64938e24e9 chat-hook: added ability to subscribe to chat-hook state from the frontend 2020-03-11 16:44:15 -07:00
Fang
3e7f0dd9d8
link-view: support %delete and %invite actions
%delete tries to be as local as possible in its impact.
%invite deals with un/managed branching for you.
2020-03-04 22:11:54 +01:00
Fang
396d13ee1a
Merge branch 'os1-rc' of https://github.com/urbit/urbit into m/link-meta 2020-03-04 18:55:29 +01:00
Fang
950023e448
link-view: in mark, use terms for +of cases 2020-03-03 16:26:08 +01:00
Matilde Park
15b5395f3c metadata-json: add json to action parsers 2020-03-02 22:30:32 -05:00
Fang
111333ec93
link: can create managed groups for new collections
Just defers to contact-view for managed group creation.
2020-03-03 00:12:05 +01:00
Fang
0539f3ca1f
link fe: metadata integration
- finds resources & displays details using metadata-store
- supports creating new collections for groups
- supports creating new collections with new unmanaged group
- supports receiving invites for new (unmanaged) collections
2020-03-01 02:10:35 +01:00
Logan Allen
0d69e17f3b apps: main backend integration between metadata and chat 2020-02-26 14:10:32 -08:00
Isaac Visintainer
00a9eb9eab Merge branch 'master' into os1-rc 2020-02-19 16:04:21 -08:00
Fang
a5889794b9
link-listen-hook: ping groupies for retry on-join
Shortcuts the existing retry timer by having new members send out a poke
when they acknowledge joining the group.
The existing retry logic is left in place to deal with other cases of
subscription failure.

Also fixes an incorrect relevancy check during subscription retries, now
properly preventing duplicate subscriptions.
2020-02-18 15:43:04 +01:00
Isaac Visintainer
45b82e04f0 updated notebook creation logic to be in line with groups/contacts
added invite reducer
fixed page transition on new notebook creation
2020-02-06 11:42:48 -08:00
matildepark
9727fab259
Merge pull request #2233 from urbit/m/uplink-os1
link: subscriptions for the frontend
2020-02-05 15:30:53 -05:00
Fang
bda077862e
link: prepare marks
Also renames an object attribute to closer match the hoon code.
2020-02-05 17:46:47 +01:00
Isaac Visintainer
9b260e081d change publish api to pass though group paths from frontend 2020-02-04 11:14:06 -08:00
Matilde Park
45f9adc10c Merge branch 'publish-remix-fe-encore' into os1-rc 2020-01-27 16:24:21 -05:00
Liam Fitzgerald
3c74888c9d Merge branch 'master' into langserver-rpc-rewrite 2020-01-27 12:11:19 +10:00
Logan Allen
ed481d89a5 contacts: end to end tested apis with working reducers 2020-01-23 13:13:51 -08:00
Isaac Visintainer
f49e97a5c3 fix publish-action mark 2020-01-23 10:52:09 -08:00
Liam Fitzgerald
1e3fa28735 language-server: refactor RPC marks 2020-01-22 11:30:07 +10:00
Liam Fitzgerald
680e60b2a5 language-server: dynamic error highlighting 2020-01-22 11:30:05 +10:00
Liam Fitzgerald
8822097cd2 language-server: basic request/response cycle 2020-01-22 11:25:19 +10:00
Liam Fitzgerald
ed3fc3f54c language-server: first pass at JSON parsers 2020-01-22 11:25:05 +10:00
Isaac Visintainer
9a8f1bec90 made publish marks backward compatible 2020-01-21 10:49:35 -08:00
Isaac Visintainer
041900dc26 handle marking posts as read 2020-01-21 10:49:35 -08:00
Isaac Visintainer
d4ae9dbcc8 added js reducers 2020-01-21 10:49:35 -08:00
Isaac Visintainer
e807e6c223 paginated frontend api 2020-01-21 10:49:35 -08:00
Isaac Visintainer
504b9b289c group and permissions creation on %new-book action 2020-01-21 10:49:35 -08:00
Isaac Visintainer
2836cf3f08 reworked file ingestion to not use ford 2020-01-21 10:49:35 -08:00
Fang
fcf1846b6f
various: remove trailing whitespace 2020-01-03 22:06:42 +01:00
Fang
ea7c1db61c
various: use =/ in place of =+ ^-
Also faceless =; where appropriate.
2019-12-21 14:29:14 -03:30
Fang
2048f7ab9e
link: make network comms work
This resolves a number of issues that were keeping communications with
foreign ships from working.

- there was no link-update mark
- there was no +on-arvo handling in link-listen-hook
- link-listen-hook was subscribing to the non-existent "link-hook"
- link-proxy-hook permission check was looking at a wrong path

Also makes link-listen-hook aware that subscriptions might get rejected
because of permissions, so that it ignores failed subscriptions instead
of being loud about it.
2019-12-11 20:49:50 +01:00
Philip Monk
689b829a1d
Merge remote-tracking branch 'origin/master' into rc 2019-11-30 21:54:36 -08:00
Philip Monk
2e9abe18ad
drum: restore startup apps 2019-11-26 23:08:42 -08:00
Matilde Park
be4b479660 soto: amend tab sole-effect json and handler
The behaviour of $tab sole-effects lacked a 'tab' key, so Soto wasn't
catching or writing them to the screen. This commit amends both the
handler and the sole-effect to fix that behaviour.
2019-11-25 19:38:07 -05:00
Philip Monk
4d1457bbaa
Merge remote-tracking branch 'origin/master' into philip/mall-real 2019-11-24 00:01:04 -08:00
Isaac Visintainer
51d61e4d49 static gall: convert soto 2019-11-22 12:57:58 -08:00
Jared Tobin
5258579ee2
Merge branch 'matilde/soto' (#1952)
* origin/matilde/soto:
  soto: style changes
  interface: add soto source code
  drum: Boot with %soto
  arvo: adds soto application
  mar/sole: add %tab conversion

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-20 13:15:42 +08:00
Logan Allen
8421e236df chat: added temporary chat-two-update mark with new %messages type 2019-11-15 15:27:50 -08:00
Matilde Park
8fb13e4f99 soto: style changes
This commit amends the Soto application with style changes
requested during code review, including structuring the mark
conversion as a library.
2019-11-14 20:06:11 -05:00
Logan Allen
dcde20c86c sur: added rw-security to replace chat-security 2019-11-14 10:42:55 -08:00
Logan Allen
9cacb12dbc chat: add history functionality. optionally request backlog. 2019-11-14 10:42:52 -08:00
Matilde Park
c39d887415 mar/sole: add %tab conversion
Our mark definitions for sole actions and effects pre-date our tab
completion work. This commit adds tab completion actions and
effects to the definition, so they can be sent and received as JSON.
2019-11-14 12:15:27 -05:00
Philip Monk
881517c872
mall: fix tests 2019-11-13 20:45:12 -08:00
Philip Monk
cd3308d8d9
mall: convert lens 2019-11-13 16:20:24 -08:00
Philip Monk
1caa30d812
mall: convert eth-watcher to mall/imp 2019-11-11 21:36:32 -08:00
Jared Tobin
144445beb1
Merge branch 'invite-app' (#1901)
* origin/invite-app:
  chat-hook: upgrade from old state and perform invitatory creation and subscription
  invite-hook: crash upon invalid invite received
  changed invite peek interface to /:path/:uid
  invite: add comments and clean up
  chat-js: added invite functionality
  chat-hook: added invite functionality
  app: added invite app and mark converters to JSON

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-06 15:47:05 +08:00
Jared Tobin
3fac197ec1
Merge branch 'eth-watcher-2' (#1895)
* eth-watcher-2: (21 commits)
  eth: move existing chain requests into ethio
  eth-watcher: refactor refresh rate to top of file
  hook: add pool-group-hook for making invite groups
  ethio: add +read-contract for chain state reading
  zuse: add delegated-sending address
  eth: move eth-watcher's request-rpc into ethio lib
  gaze: make compile for latest eth-watcher
  drum: start eth-watcher on boot
  azimuth-tracker: remove deprecated generator
  eth: implement azimuth-tracker using eth-watcher
  eth-watcher: ensure logs always sent oldest-first
  eth-watcher: allow peers to unconfigured watchdogs
  eth-watcher: saner %watch behavior
  eth-watcher: implement %clear poke
  eth-watcher: store logs in state to implement peer
  eth-watcher: move types into /sur file
  eth-watcher: properly tag out-peer-data
  eth-watcher: single update timer loop
  eth-watcher: implement /block peek
  eth: turn azimuth-tracker into eth-watcher
  ...

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-05 17:11:19 +08:00
Logan Allen
656f264f96 app: added invite app and mark converters to JSON 2019-11-01 14:04:50 -07:00
Logan Allen
c660a79332 apps: remove %hall and %talk 2019-10-30 13:52:19 -07:00
Fang
7bc17357ba
eth: remove old eth-watcher files
These were deprecated in favor of azimuth-tracker in #1320.

(Azimuth-tracker, however, isn't a general-purpose Ethereum log watcher
tool. Commits to transform it into a more broadly useful tool are
forthcoming.)
2019-10-25 13:08:27 +02:00
Logan Allen
b12e305c9c apps: added permission hook and chat-view %join action 2019-10-11 14:09:30 -07:00
Logan Allen
e3b39f735f marks: moved hook action marks 2019-10-02 18:30:50 -07:00
Logan Allen
8b74a674f3 chat-hook: updated to allow a simpler message send flow 2019-10-02 18:30:50 -07:00
Logan Allen
f9377536fb app: Added chat store, hook, marks, and view. 2019-10-01 10:18:36 -07:00
Logan Allen
4b01718d76 apps: added group/permission stores, hooks, marks 2019-09-30 14:46:07 -07:00
Logan Allen
203be550fe tiebout: removed since it's unused 2019-09-26 14:43:50 -07:00
Isaac Visintainer
5a2d0e62ca fixed unread notification logic and added unread badges to post previews 2019-08-13 15:39:37 -07:00
Isaac Visintainer
2f5d2bfb36 handle edge cases in blog/post naming 2019-08-13 10:39:56 -07:00
Fang
2726eff1d4
Move :chat types into /sur 2019-08-11 11:59:59 -07:00
Fang
cac4b2b70f
Move :launch types into /sur 2019-08-09 14:54:52 -07:00
Philip Monk
c453450d9c
add |moon, |moon-cycle-keys, and |moon-breach 2019-08-07 17:59:01 -07:00
Joe Bryan
6fb8ed12ea removes %lens-json, updates :lens to handle %sole-effect directly 2019-08-05 16:39:52 -07:00
Elliot Glaysher
d9a0cb4c6b
Merge branch 'master' into lens-export 2019-07-23 13:43:42 -07:00
Isaac Visintainer
b7aad187e6 updated publish files 2019-07-18 15:34:42 -07:00
Elliot Glaysher
a8c2c06db9 Now with a working --import. 2019-07-16 13:52:42 -07:00
Elliot Glaysher
5082ce6b98 Part 1: Add the export action and get that into herb. 2019-07-15 15:18:28 -07:00
Isaac Visintainer
a60d8cdbfc changed name of app to be consistent 2019-07-11 15:07:05 -07:00
Isaac Visintainer
cfebabe7c7 updated publish files 2019-07-11 11:32:30 -07:00
Logan Allen
9d16d94d54 Remove recoverable-error 2019-07-05 16:43:29 -07:00
Logan Allen
1c3764ba03 Remove quri mark, map-to-json lib, mar/hall/speeches, lib/httr-to-json, app/time, and app/server 2019-07-05 16:29:59 -07:00
Logan Allen
5e48b4ce82 Remove ask, rss-xml, x-urb, x-urb-elem 2019-07-05 15:15:15 -07:00
Logan Allen
f43a5e1b5d Removed old references to setting up fora, streams, collection, web folder, landscape, and plan 2019-07-05 15:05:09 -07:00
Logan Allen
da118c90de Updated all apps to use launch-action mark 2019-07-05 12:59:43 -07:00
Jared Tobin
b3901ab42f Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8'
git-subtree-dir: pkg/arvo
git-subtree-mainline: 9c8f40bf6c
git-subtree-split: c20e2a185f
2019-06-28 12:48:05 +08:00