profile
viewpoint
Eli Perkins eliperkins NYC, NY http://eliperkins.me Craft beer aficionado, esports evangelist, yak shaver and mobile engineer.

downshift-js/downshift 8834

🏎 A set of primitives to build simple, flexible, WAI-ARIA compliant React autocomplete, combobox or select dropdown components.

eliperkins/base16-Ocean-Xcode-Theme 10

A spacegray/base16-inspired color scheme for Xcode

eliperkins/BBEnterpriseUpdater 5

Version checking for Apple Enterprise app deployments

eliperkins/Capacitor 2

Quick Flux-ish thing in Swift

eliperkins/AFIncrementalStore 1

Core Data Persistence with AFNetworking, Done Right

eliperkins/aoc-2019 1

Advent of Code 2019 solutions!

eliperkins/ac-nh-turnip-prices 0

Price calculator/predictor for Turnip prices

eliperkins/AFAmazonS3Client 0

AFNetworking Client for the Amazon S3 API

eliperkins/alcatraz-packages 0

Package list repository for Alcatraz

startedMakeupStudio/swift-declarative-configuration

started time in 3 days

startedapple/swift-metrics

started time in 3 days

startedapple/apple_rules_lint

started time in 8 days

delete branch eliperkins/Catalogue

delete branch : taki-on/fix_script

delete time in 8 days

push eventeliperkins/Catalogue

taki-on

commit sha 8663240a7050bc813e15f284a8321cb60dbd5440

Adopt new asset catalogue folder structure

view details

Eli Perkins

commit sha 18677162aa984bab413abd435c6bd83f753b6540

Merge pull request #2 from eliperkins/taki-on/fix_script Adopt new asset catalogue folder structure

view details

push time in 8 days

PR merged eliperkins/Catalogue

Adopt new asset catalogue folder structure

We had Primer.xcassets for the colors in the past, but now we have Assets.xcassets for diverse asset types, and the color is now living under Assets.xcassets/Primer/. This PR makes the code adopts the new folder structure. The command stays the same.

+13 -7

0 comment

2 changed files

taki-on

pr closed time in 8 days

PullRequestReviewEvent
MemberEvent

issue commenteliperkins/Catalogue

Request to be a contibutor

Related: this tool is fairly specific to github/mobile-ios currently. I don't have much intention on treating it as a proper open-source project and generalizing it, so if we want to move this tool/package into that repo, I think that's okay too! It might make it easier to maintain.

taki-on

comment created time in 13 days

issue closedeliperkins/Catalogue

Request to be a contibutor

Hey!

I found that this script is optimized for the old color catalogue folder structure, so it does not work anymore. I have a branch where I updated the logic adopting the new folder structure, but I can't open a PR, since I do not have permission.

Can you help me? :) @eliperkins

closed time in 13 days

taki-on

issue commenteliperkins/Catalogue

Request to be a contibutor

Invite sent!

taki-on

comment created time in 13 days

startedapple/swift-algorithms

started time in 15 days

startedmuter-mutation-testing/muter

started time in 16 days

PullRequestReviewEvent

Pull request review commentelisburner/testing

Use capital case

-# testing+# Testing Test repo

Wat

eliperkins

comment created time in 17 days

PullRequestReviewEvent

startedsoto-project/soto

started time in 16 days

PullRequestReviewEvent

Pull request review commentelisburner/testing

Use capital case

-# testing+# Testing

Wat

eliperkins

comment created time in 17 days

PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent

startedapple/swift-atomics

started time in 20 days

PullRequestReviewEvent

Pull request review commentsoffes/MarkdownKit

Fixed handling of auto links

 public class Link: Node {             return nil         } +        if isAutolink {+            return childRange+        }+         return NSRange(location: NSMaxRange(childRange) + 2, length: (url.absoluteString as NSString).length)     }      public var title: String? {         cmark_node_get_title(node).map(String.init)     } +    public var isAutolink: Bool {

I think internal is fine if we care about the test case that uses it differentiating between autolinks and explicit links. My gut says that since the two tests are named testLinkDelimiters and testAutomaticLinks, and the strings in those tests are explicitly different, that making this private should be fine.

haldun

comment created time in 20 days

Pull request review commentsoffes/MarkdownKit

Fixed handling of auto links

 public class Link: Node {             return nil         } +        if isAutolink {+            return childRange+        }+         return NSRange(location: NSMaxRange(childRange) + 2, length: (url.absoluteString as NSString).length)     }      public var title: String? {         cmark_node_get_title(node).map(String.init)     } +    public var isAutolink: Bool {

Does this need to be public? I'm not sure what the use-case would be for consumers of this, given that MarkdownKit.Link abstracts over both []() style links and these autolinks.

haldun

comment created time in 20 days

PullRequestReviewEvent
PullRequestReviewEvent

startedFrictionalGames/AmnesiaTheDarkDescent

started time in a month

startedgithub/template-parts

started time in a month

startedmattt/swift-package-registry

started time in a month

startedsoulverteam/SoulverCore

started time in a month

startedcharpeni/react-native-is-catalyst

started time in a month

startedLeafCutterLabs/miniMACRO5

started time in a month

startedtenderlove/analog-terminal-bell

started time in a month

startedrelay-tools/Relay.swift

started time in 2 months

startedmaryjenel/kanban_clojure_reagant

started time in 2 months

created tageliperkins/Down

tagv0.9.5

Blazing fast Markdown / CommonMark rendering in Swift, built upon cmark.

created time in 2 months

push eventeliperkins/Down

Eli Perkins

commit sha b94005bb25650d2f83fe750e83ced0c40ac2c96a

Pass reference to view upon completion

view details

push time in 2 months

created tageliperkins/Down

tagv0.9.4

Blazing fast Markdown / CommonMark rendering in Swift, built upon cmark.

created time in 2 months

push eventeliperkins/Down

Eli Perkins

commit sha bc33ad03875dd91d87ddb1bd8cb9ac93359644ba

fix naming collision

view details

push time in 2 months

fork eliperkins/Down

Blazing fast Markdown / CommonMark rendering in Swift, built upon cmark.

fork in 2 months

startedbytedance/bytemd

started time in 2 months

startedShopify/syrup

started time in 2 months

startedthii/xcbeautify

started time in 2 months

startedsquare/workflow-swift

started time in 2 months

startedkyleve/Listable

started time in 2 months

issue commentapollographql/apollo-ios

RFC: Networking Updates

  1. Is there anyone using the context: UnsafeMutableRawPointer? on the various send/fetch methods for ApolloClient in a way that could not be replaced by this change? I took it out for now but I figured It's worth asking.

Not using it here 🤷‍♂️ feels like a pretty cumbersome API to use effectively right now, so removing it seems alright, as long as we don't think others are using it.

I'm extremely tempted to rip out the current ` that RequestChainNetworkTransport is replacing altogether, largely because I would need to keep a whole bunch of knotted code in ApolloClient around that facilitates caching longer than I'd like to. However, I'd like to hear y'all's thoughts about ripping the band-aid in a single release (with a migration guide) vs. doing a bridge release that still has HTTPNetworkTransport and its associated ick with a bunch of deprecation warnings.

I think it's alright to remove this in favor of RequestChainNetworkTransport. Is there a way to deprecate it, and replace it's impl with RequestChainNetworkTransport? If it feels like more overhead to maintain, API-wise, I think it's fine to force consumers over to use RequestChainNetworkTransport instead, since it solves the same problems that supplying a custom HTTPNetworkTransport was doing.

designatednerd

comment created time in 2 months

startedhome-assistant/architecture

started time in 2 months

startedBinaryBirds/feather

started time in 2 months

startedmichaeleisel/JJLISO8601DateFormatter

started time in 2 months

startedhello/suripu

started time in 2 months

startedhello/suripu-ios

started time in 2 months

fork eliperkins/XcodeGen

A Swift command line tool for generating your Xcode project

fork in 2 months

release eliperkins/SQLite.swift

0.12.8

released time in 2 months

created tageliperkins/SQLite.swift

tag0.12.8

A type-safe, Swift-language layer over SQLite3.

created time in 2 months

push eventeliperkins/SQLite.swift

Eli Perkins

commit sha 746c55016a6b3ebf18f75ecf63c73f427756bb40

Build library for distribution This ensures that the swiftinterface file is included in the archive, so that the binary can be used in ABI-stable environments.

view details

push time in 2 months

startedmichaeleisel/ZippyJSON

started time in 2 months

issue commentapollographql/apollo-ios

RFC: Networking Updates

Instantiating a new legacy client

Heh, this was kinda funny to me.


public let requestCreator: RequestCreator

Should the request creator live on all requests? Said another way, what's the rationale behind only allowing JSONRequests to have this property?

Do you think it is possible to add an ErrorType: Error generic type to the signature ofhandleErrorAsync

+1 to this, but definitely not critical for the context of this RFC. I feel like typed errors could be it's own whole RFC/PR too!

ApolloStore will no longer require a GraphQLQuery explicitly for fetching data from the store. It will instead return an error if the GraphQLOperationType is not .query. This change is necessary to avoid going down an enormous rabbit hole with generics since GraphQLOperation has an associated type.

I'm a little bit fuzzy on what this change is. If not a GraphQLQuery, what will the input for data fetching from the store be? Can you clarify for me?


All told, this seems solid! One of our big use cases in the GitHub app for the current delegate implementation of this is to logout on HTTP 401 status codes, so it seems like that should make this a little simpler (just need an interceptor to throw an error when those responses come back).

Holler if you want some feedback directly on https://github.com/apollographql/apollo-ios/pull/1341 as well!

designatednerd

comment created time in 3 months

PR opened soffes/MarkdownKit

Add MIT license

I noticed there wasn't a license here yet! This should let it get attributed by things that include licenses (related: https://github.com/github/mobile-ios/issues/3592)

+21 -0

0 comment

1 changed file

pr created time in 3 months

push eventeliperkins/MarkdownKit

Eli Perkins

commit sha 863a3c352a98670089f941368854f11ea9b6cedd

Add MIT license

view details

push time in 3 months

startedunsignedapps/Vexil

started time in 3 months

created repositoryeliperkins/team-posts

created time in 3 months

startedone-sup/one-sup

started time in 3 months

startedfelixrieseberg/macintosh.js

started time in 3 months

startedgithub/roadmap

started time in 3 months

push eventeliperkins/MarkdownKit

Eli Perkins

commit sha 656fe1f1dbcd114eb553ffed822f157c805ac3a1

Remove unneeded test

view details

push time in 3 months

Pull request review commentsoffes/MarkdownKit

Ensure consecutive HTML comments don't crash

 final class LocationsTests: XCTestCase {         let paragraph = document.children.first!         XCTAssertEqual(markdown, paragraph.content)     }++    func testRangesWithConsecutiveHTMLComments() {+        let markdown = """+<!-- Here's an HTML comment -->+<!-- and a second one with some more content -->+"""+        let document = Parser.parse(markdown)!+        XCTAssertEqual(markdown, document.content)++        let firstLine = document.children.first+        let secondLine = document.children[document.children.startIndex.advanced(by: 1)]++        XCTAssertNotNil(firstLine?.range)+        XCTAssertNil(secondLine.range)

Oh ya, whoops. I started out with this test before writing the other one. I'll remove this whole test, tbh.

eliperkins

comment created time in 3 months

push eventeliperkins/MarkdownKit

Eli Perkins

commit sha 3f422aeaeb962ca17a883f88cf466d3a3a05a6d8

Revert range change

view details

push time in 3 months

push eventeliperkins/MarkdownKit

Eli Perkins

commit sha 105542e6b795f7f542e98a61881c8d80ce184a57

Use cmark-gfm's built-in task list check

view details

push time in 3 months

push eventeliperkins/MarkdownKit

Eli Perkins

commit sha 12aac7759ae160576570bf30807f9110cd153718

Ensure consecutive HTML comments don't crash Related to https://github.com/github/mobile-ios/issues/3435 With two consecutive HTML comments, cmark will report a negative range for the all HTML comments after the first. Using this negative range with NSAttributedString APIs would cause an exception to be thrown that would crash the app if unhandled. This ensures that only valid, positive ranges are passed from cmark to NSAttributedString APIs. However, any HTML comments after the first are not given any attributes, and will thus render as base text.

view details

push time in 3 months

PR opened soffes/MarkdownKit

Update to latest version of github/cmark-gfm

This pulls in the latest changes from github/cmark-gfm, mainly focusing on security fixes related to GHSA-7gc6-9qr5-hc85

cc @philipturnbull

+512 -737

0 comment

4 changed files

pr created time in 3 months

PR opened soffes/MarkdownKit

Ensure consecutive HTML comments don't crash

Related to https://github.com/github/mobile-ios/issues/3435

With two consecutive HTML comments, cmark will report a negative range for the all HTML comments after the first. Using this negative range with NSAttributedString APIs would cause an exception to be thrown that would crash the app if unhandled.

This ensures that only valid, positive ranges are passed from cmark to NSAttributedString APIs. However, any HTML comments after the first are not given any attributes, and will thus render as base text.

+37 -0

0 comment

4 changed files

pr created time in 3 months

push eventeliperkins/MarkdownKit

Eli Perkins

commit sha 6a23e9551c16dc8bdaea4665854ec7b4f14a0d9c

Ensure consecutive HTML comments don't crash Related to https://github.com/github/mobile-ios/issues/3435 With two consecutive HTML comments, cmark will report a negative range for the all HTML comments after the first. Using this negative range with NSAttributedString APIs would cause an exception to be thrown that would crash the app if unhandled. This ensures that only valid, positive ranges are passed from cmark to NSAttributedString APIs. However, any HTML comments after the first are not given any attributes, and will thus render as base text.

view details

push time in 3 months

push eventeliperkins/MarkdownKit

Eli Perkins

commit sha 6e3b86a1e5e55ca7d89626a625227010d069405e

Update to latest version of github/cmark-gfm

view details

push time in 3 months

push eventeliperkins/MarkdownKit

push time in 3 months

create barncheliperkins/MarkdownKit

branch : ep/update-cmark-gfm

created branch time in 3 months

create barncheliperkins/MarkdownKit

branch : ep/fix-html-comments

created branch time in 3 months

fork eliperkins/MarkdownKit

Fancy Markdown input with TextKit powered by CommonMark

fork in 3 months

startedAvdLee/appstoreconnect-swift-sdk

started time in 3 months

startedjordansinger/WindowsXP-SwiftUI

started time in 3 months

startednerdsupremacist/Snap

started time in 3 months

starteddanielctull-apps/git-reflog-ui

started time in 3 months

more