1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-02 11:42:42 +01:00
phorge-phorge/src/applications/people
epriestley 3984c14260 Tokenize external editor links so they can be safely materialized on the client
Summary:
Ref T13515. Currently, opening a file to a particular line in an external editor relies on replacing "%l" with "%l" (which is escaped as "%25l") on the server, and then replacing "%25l" with the line number on the client. This will fail if the file path (or any other variable) contains "%l" in its unencoded form.

The parser also can't identify invalid variables.

Pull the parser out, formalize it, and make it generate an intermediate representation which can be sent to the client and reconstituted.

(This temporarily breaks Diffusion and permanently removes the weird, ancient integration in Dark Console.)

Test Plan:
  - Added a bunch of tests for the actual parser.
  - Used "Open in Editor" in Differential.

Maniphest Tasks: T13515

Differential Revision: https://secure.phabricator.com/D21143
2020-04-19 09:02:49 -07:00
..
application Add a test to verify that all routing maps are plausibly valid, and remove some dead routes 2020-02-14 18:06:24 -08:00
cache Reduce the cost of generating default user profile images 2018-03-01 16:53:17 -08:00
capability Add a "Can Disable Users" capability to the "People" application 2018-08-27 08:01:27 -07:00
conduit Deprecate "user.enable" and "user.disable" API methods, redefine them in terms of "user.edit" 2018-08-27 08:00:48 -07:00
config Move "wild" config types to new code 2017-06-27 12:34:56 -07:00
controller Allow installs to provide "Request a Username Change" instructions 2019-09-24 11:09:26 -07:00
customfield Hide "Availability" and "Calendar" on user profiles for disabled users 2019-03-28 17:24:35 -07:00
editor Update repository identities after all mutations to users and email addresses 2019-11-19 09:41:59 -08:00
engine Add Revisions to User Profiles 2017-05-21 09:24:37 -07:00
engineextension Add an "availaiblity" attachment for user.search 2018-12-09 16:41:12 -08:00
garbagecollector Provide bin/garbage for interacting with garbage collection 2015-10-02 09:17:24 -07:00
guidance Add a bunch of Phacility-specific code to the upstream, thinly veiled as generic code 2016-11-15 09:11:22 -08:00
icon Add additional icons for User Profiles 2016-01-31 20:09:06 +00:00
lipsum Make bin/lipsum generate hanldle generator keys and arguments more clearly 2017-02-27 09:09:28 -08:00
mail Record account recovery email links in the user activity log and make the mail message reference the log 2019-07-24 07:13:34 -07:00
management Replace "bin/people profileimage" with "bin/user enable|empower" 2019-08-20 17:51:14 -07:00
markup Fix spelling 2017-10-09 10:48:04 -07:00
menuitem Update all existing ProfileMenuItems for the more-structured API 2019-04-02 15:20:39 -07:00
phid Add an "ExternalAccountIdentifier" table 2020-02-22 17:44:13 -08:00
policyrule Move some files around 2015-11-17 06:26:13 +11:00
query Implement "PolicyInterface" on "UserEmail" so "EmailQuery" can load them properly 2019-11-25 15:08:13 -08:00
search Reduce the amount of boilerplate that implementing FerretInterface requires 2017-09-07 13:23:31 -07:00
searchfield Add basic typechecking support to Conduit 2015-12-14 04:21:39 -08:00
storage Tokenize external editor links so they can be safely materialized on the client 2020-04-19 09:02:49 -07:00
typeahead Give user log types a tokenizer and datasource instead of a page of checkboxes 2019-07-24 07:11:42 -07:00
userlog Record account recovery email links in the user activity log and make the mail message reference the log 2019-07-24 07:13:34 -07:00
view Fix deprecated argument order for "implode()" 2019-10-17 09:11:27 -07:00
xaction Allow username changes which modify letter case to go through as valid 2019-11-06 08:10:36 -08:00