profile
viewpoint
Orta Therox orta Microsoft on TypeScript Huddersfield / NYC, US https://orta.io I help people build dev ecosystems. Current: TypeScript. Contributed to: Danger, CocoaPods, GraphQL, RxSwift & Svelte.

danger/danger 4247

🚫 Stop saying "you forgot to …" in code review (in Ruby)

BendingSpoons/tempura-swift 574

A holistic approach to iOS development, inspired by Redux and MVVM

ashfurrow/Nimble-Snapshots 289

Nimble matchers for FBSnapshotTestCase.

dblock/ARTiledImageView 224

Display, pan and deep zoom with tiled images on iOS.

ashfurrow/second_curtain 127

Upload failing iOS snapshot tests cases to S3

dblock/ios-snapshot-test-case-expecta 92

Expecta matchers for ios-snapshot-test-case.

ashfurrow/Forgeries 83

Helper methods for testing iOS code

bamlab/dev-standards 74

https://bamtech.gitbooks.io/dev-standards/

alloy/AxeMode 60

:monkey::wrench: for Xcode

push eventCocoaPods/cdn.cocoapods.org

igor-makarov

commit sha e02e841a56561527a3f64574d290af9e046854f5

deploy: 298d49b2c5b929be1f64a39d701dab6535d2c6a0

view details

push time in a few seconds

fork dblock/slack-ruby-bot-server-rtm

An extension to slack-ruby-bot-server that makes it easy to implement real-time (RTM) bots.

fork in 5 minutes

issue commentCocoaPods/cocoapods.org

search result not showing up correctly on cocoapods.org

There is the same issue with hidapi pod. Also there is similar report for Pendo: #437 I think it appears in case of incorrect deletion of existing version of a pod

mhocouchbase

comment created time in 6 minutes

issue openedmicrosoft/TypeScript

Const objects with symbol values should have type "unique symbol" but have "symbol" instead

<!-- 🚨 STOP 🚨 STOP 🚨 STOP 🚨

Half of all issues filed here are duplicates, answered in the FAQ, or not appropriate for the bug tracker. Even if you think you've found a bug, please read the FAQ first, especially the Common "Bugs" That Aren't Bugs section!

Please help us by doing the following steps before logging an issue:

  • Search: https://github.com/Microsoft/TypeScript/search?type=Issues
  • Read the FAQ: https://github.com/Microsoft/TypeScript/wiki/FAQ

Please fill in the entire template below. -->

<!-- Please try to reproduce the issue with the latest published version. It may have already been fixed. For npm: typescript@next This is also the 'Nightly' version in the playground: http://www.typescriptlang.org/play/?ts=Nightly --> TypeScript Version: 4.1.2 (Playground)

<!-- Search terms you tried before logging this (so others can find this issue more easily) --> Search Terms:

  • object const unique symbol

Code

const v1 = Symbol(); // typeof v1 is unique symbol (typeof v1)
const v2 = {s: Symbol()}; // typeof v2 is {s: symbol}
const v3 = {s: Symbol()} as const; // typeof v3 is {readonly s: symbol}, expected {readonly s: unique symbol}

Expected behavior: The type of v3 to be {readonly s: unique symbol} (or {readonly s: typeof v3['s']})

Actual behavior: The type of v3 is {readonly s: symbol}, making it assignable with other "symboled" objects

Playground Link: https://www.typescriptlang.org/play?target=99#code/MYewdgzgLgBAbgRhgXhgZQJ4FsBGIA2AFAJQDcMA9BTFBgA4CmIAZvEgJYQwCuY7AjtwYwI2PPhiFajFm2IAoUJFhwATChgBvCAC50YgiQC+5KjXpNWamJy26RB-EcXho8AMwbtezLkPEjGABDLiVoU2ppSw8bLk0AJwYggBNwfAwRPVE-JwAaGAYAD0ZgKAZkrUSUtIz7XgEhBxyjIA

Related Issues: N/A

Observations The reason I think this is a bug, is that I'd have expected symbols to behave like other primitives in the sense that as const, when used in objects/arrays, would use the literal value type, rather than the general primitive type.

Compare to strings (playground):

const v4 = 'hello'; // typeof v4 is "hello"
const v5 = {s: 'hello'}; // typeof v2 is {s: string}
const v6 = {s: 'hello'} as const; // typeof v3 is {readonly s: "hello"}, as expected

or numbers (playground):

const v7 = 6; // typeof v4 is 6
const v8 = {s: 6}; // typeof v2 is {s: number}
const v9 = {s: 6} as const; // typeof v3 is {readonly s: 6}, as expected

created time in 8 minutes

push eventCocoaPods/cdn.cocoapods.org

igor-makarov

commit sha d8326c5b9952051c8ef5be35e1c8adec298b9ec3

deploy: 298d49b2c5b929be1f64a39d701dab6535d2c6a0

view details

push time in 23 minutes

push eventCocoaPods/cdn.cocoapods.org

igor-makarov

commit sha 4ef8a91720c7f17ad5a94b2c3f125415023ae3f3

deploy: 298d49b2c5b929be1f64a39d701dab6535d2c6a0

view details

push time in 30 minutes

push eventCocoaPods/cdn.cocoapods.org

igor-makarov

commit sha 37dafc34aff631edb0431ef62c3da8888da6db57

deploy: 298d49b2c5b929be1f64a39d701dab6535d2c6a0

view details

push time in 36 minutes

push eventCocoaPods/cdn.cocoapods.org

igor-makarov

commit sha eac31b1e1bf9d92390ad02548531f2982fd7b1fa

deploy: 298d49b2c5b929be1f64a39d701dab6535d2c6a0

view details

push time in 43 minutes

issue commentmicrosoft/TypeScript

Error: TS1055: Type 'Promise' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value.

Who should we tag to reopen this, I found only one name?

Hello, @RyanCavanaugh, this is not a question, but clearly a bug that needs fixing. If it's not a duplicate, please change the issue type and re-open.

Regards

hackhat

comment created time in an hour

push eventCocoaPods/cdn.cocoapods.org

igor-makarov

commit sha 1f9881bea86b836a26ccbc2462d35ea6259698b4

deploy: 298d49b2c5b929be1f64a39d701dab6535d2c6a0

view details

push time in an hour

issue commentmicrosoft/language-server-protocol

prepareRename: what is defaultBehavior, rationale

Thank you for answering! That clears things up a bit, at least my first question.

However, it is still unclear to me what the default behavior should be, i.e. in what cases the server should not respond with defaultBehavior? I am implementing this for the lsp-mode client, and as such need to provide some sort of default range behavior. Should clients only send the capability for certain language servers where they know that the defaultBehavior has been implemented, or can it be implemented generically, perhaps using the identifier at point as defined by the language's syntax? (dashes are allowed in LISPs, while not in C for example). Would you consider renaming a C-style label defaultBehavior?

int main() {
    label:/* cursor here, "label:" should be marked */ goto label;
}

Also, what do we stand to gain by implementing this client-side? Wouldn't this just increase the complexity of servers?

Sorry for the many questions.
nbfalcon

comment created time in an hour

push eventCocoaPods/cdn.cocoapods.org

igor-makarov

commit sha 9a7f46049231ed23394ecd5f55d6c1435a69ae83

deploy: 298d49b2c5b929be1f64a39d701dab6535d2c6a0

view details

push time in an hour

PR opened microsoft/VerifiableCredential-SDK-Android

Test performance of sign/verify primitives

Problem: Adding performance tests for the crypto primitives

Solution: Add special test so Logcat can show the performance with filter: PerfTest->

Validation: New unit tests

Type of change:

  • [ ] Feature work
  • [ ] Bug fix
  • [ ] Documentation
  • [ ] Engineering change
  • [x] Test
  • [ ] Logging/Telemetry

Risk:

  • [ ] High – Errors could cause MAJOR regression of many scenarios. (Example: new large features or high level infrastructure changes)
  • [ ] Medium – Errors could cause regression of 1 or more scenarios. (Example: somewhat complex bug fixes, small new features)
  • [x] Small – No issues are expected. (Example: Very small bug fixes, string changes, or configuration settings changes)
+123 -0

0 comment

1 changed file

pr created time in an hour

push eventCocoaPods/cdn.cocoapods.org

igor-makarov

commit sha 8e3205e54c850a01b182a6f74adea68cc3596142

deploy: 298d49b2c5b929be1f64a39d701dab6535d2c6a0

view details

push time in an hour

fork RobertLowe/activeadmin_addons

Extends ActiveAdmin to enable a set of great optional UX improving add-ons

fork in an hour

issue commentmicrosoft/language-server-protocol

prepareRename: what is defaultBehavior, rationale

Does that make sense?

nbfalcon

comment created time in an hour

issue commentmicrosoft/language-server-protocol

prepareRename: what is defaultBehavior, rationale

This got added for the following cases: a server only wants to change the range in one case. In all other cases it is happy with the editor's default behavior. In 3.15 the server either needs to handle all cases or none. With the new 3.16. the server can only treat the one case special and let the client use its default to compute the rename range.

nbfalcon

comment created time in an hour

push eventdanger/kotlin

Gianluca Zuddas

commit sha acb79aa604265512dd50ee5bfb053d60f8f5c673

Updated CHANGELOG.md

view details

push time in an hour

issue commentmicrosoft/TypeScript

Why is there no error in this place

Duplicate of #20863 and other.

mytheart

comment created time in an hour

push eventCocoaPods/cdn.cocoapods.org

igor-makarov

commit sha 42d12360bb985cbd5507a00e2d21fe00247a3018

deploy: 298d49b2c5b929be1f64a39d701dab6535d2c6a0

view details

push time in an hour

pull request commentgraphql/graphql.github.io

Re-add NGraphQL link in Code page (for .NET)

thank you. I was thinking about adding code snippet, but unfortunately, by design (and .NET nature), the smallest possible setup involves about half a dozen classes. NGraphQL does not support schema-first, only code first (by design), and this requires more than a few lines. I will add code snippet later to client library reference. I suggest you guys do not focus too much on code snippets. Not all languages are like JavaScript and offer a trivial sample. - which is not necessarily disadvantage. To expand on description - I don't know, the essence is there in this sentence - library for building GraphQL servers. All I can add is marketing fluff. Also guys, please do not put too much weight on this description. In general, no serious developer will make a choice based on just reading this short description or snippets on your page. He/she will inspect ALL links in details, downloading the code and spending quite a lot of time on each solution. The description on your site could only impact the order in which he'd go thru the list, but not the process or final decision. thank you.

rivantsov

comment created time in an hour

PR opened microsoft/TypeScript-Website

Docs: Correct "Visual Studio Code" typo

visual studio and vs code are different editors, from the previous sentence I'm think we mean vs code instead?

+1 -1

0 comment

1 changed file

pr created time in an hour

push eventCocoaPods/cdn.cocoapods.org

igor-makarov

commit sha 044dc8faf97ec9710468794aa3ff39374d2ab01d

deploy: 298d49b2c5b929be1f64a39d701dab6535d2c6a0

view details

push time in an hour

push eventCocoaPods/cdn.cocoapods.org

igor-makarov

commit sha 581238c8b9ebb90537abe1fc7fbae49eccb900b9

deploy: 298d49b2c5b929be1f64a39d701dab6535d2c6a0

view details

push time in 2 hours

push eventCocoaPods/cdn.cocoapods.org

igor-makarov

commit sha 1776752aadc7a6b6a3117e5359a20ae6956bd9ac

deploy: 298d49b2c5b929be1f64a39d701dab6535d2c6a0

view details

push time in 2 hours

Pull request review commentdanger/kotlin

Road to 1.0 - Refactor project structure

+package systems.danger.kotlin++import systems.danger.kotlin.json.JsonParser+import systems.danger.kotlin.models.danger.DSL+import systems.danger.kotlin.models.danger.DangerDSL+import systems.danger.kotlin.models.danger.DangerResults+import systems.danger.kotlin.models.git.FilePath+import systems.danger.kotlin.sdk.DangerContext+import systems.danger.kotlin.sdk.Violation+import java.io.File++internal class MainDangerRunner(jsonInputFilePath: FilePath, jsonOutputPath: FilePath) : DangerContext {

Danger runner now was split in 3 files: MainDangerRunner that contains the private implementation, MainPlugins that contains the helpers for registering and using Danger plugins and MainScript that contains all the API functions like message warn and initialisation val danger=Danger(args) or danger(args) {...} block.

Extensions onGit onGitHub .. moved to KtxDangerDSL.kt

gianluz

comment created time in 2 hours

pull request commentdanger/kotlin

Road to 1.0 - Refactor project structure

<!-- 0 failure: 1 warning: Any Changes To Li...

DangerID: danger-id-Danger; -->

<table> <thead> <tr> <th width="50"></th> <th width="100%" data-danger-table="true">Warnings</th> </tr> </thead> <tbody><tr> <td>:warning:</td> <td>

Any Changes To Library Code Should Be Reflected In The Changelog.

Please Consider Adding A Note There And Adhere To The Changelog Guidelines. </td> </tr> </tbody> </table>

<p align="right"> Generated by :no_entry_sign: <a href="https://danger.systems">Danger Kotlin</a> against 4a2c2f1a351d3c9ed170c8e5b0cbb3013e650b3e </p>

gianluz

comment created time in 2 hours

Pull request review commentdanger/kotlin

Road to 1.0 - Refactor project structure

+package systems.danger.kotlin.json++import kotlinx.serialization.decodeFromString+import kotlinx.serialization.encodeToString+import kotlinx.serialization.json.Json+import systems.danger.kotlin.models.git.FilePath+import java.io.File++internal object JsonParser {

Json parser extracted

gianluz

comment created time in 2 hours

Pull request review commentdanger/kotlin

Road to 1.0 - Refactor project structure

 interface ShellExecutor {     fun execute(command: String, arguments: List<String> = emptyList()): String } -class ShellExecutorImpl : ShellExecutor {+internal class ShellExecutorImpl : ShellExecutor {

our internal implementation for the shell executor shouldn't be visible from the danger file, we can access by interface

gianluz

comment created time in 2 hours

more