From 09736c23c1c7d42e08c16db67db51542ec149033 Mon Sep 17 00:00:00 2001 From: Andrew Bonventre Date: Sun, 6 Oct 2019 19:39:23 -0400 Subject: [PATCH] Add cmd/data; selected-only toggle --- cmd/data/main.go | 58 +++++++++++++++++++++++++++++ data.js | 2 +- go.mod | 5 +++ go.sum | 95 ++++++++++++++++++++++++++++++++++++++++++++++++ index.js | 24 ++++++++++-- style.css | 5 +++ 6 files changed, 184 insertions(+), 5 deletions(-) create mode 100644 cmd/data/main.go create mode 100644 go.mod create mode 100644 go.sum diff --git a/cmd/data/main.go b/cmd/data/main.go new file mode 100644 index 0000000..25779a1 --- /dev/null +++ b/cmd/data/main.go @@ -0,0 +1,58 @@ +package main + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "io" + "log" + "os" + + "golang.org/x/build/maintner" + "golang.org/x/build/maintner/godata" +) + +func main() { + corpus, err := godata.Get(context.Background()) + if err != nil { + log.Fatal(err) + } + var issues []*ghIssue + // -label:Go2 + // -label:Proposal-Crypto + // -label:Proposal-Hold + // -label:proposal-accepted proposal sort:updated-desc + corpus.GitHub().Repo("golang", "go").ForeachIssue(func(issue *maintner.GitHubIssue) error { + if issue.Closed || issue.Milestone == nil || issue.Milestone.Title != "Proposal" { + return nil + } + if issue.HasLabel("Go2") || + issue.HasLabel("Proposal-Crypto") || + issue.HasLabel("Proposal-Hold") || + issue.HasLabel("Proposal-Accepted") { + return nil + } + issues = append(issues, &ghIssue{ + Number: issue.Number, + Title: issue.Title, + }) + + return nil + }) + fmt.Fprintln(os.Stderr, len(issues), "issues") + var buf bytes.Buffer + buf.WriteString("export const ISSUE_DATA = ") + if err := json.NewEncoder(&buf).Encode(issues); err != nil { + log.Fatal(err) + } + buf.WriteByte(';') + if _, err := io.Copy(os.Stdout, &buf); err != nil { + log.Fatal(err) + } +} + +type ghIssue struct { + Number int32 `json:"number"` + Title string `json:"title"` +} diff --git a/data.js b/data.js index 98f1a5c..1e923a1 100644 --- a/data.js +++ b/data.js @@ -1 +1 @@ -export const ISSUE_DATA = [{"number":34654,"title":"proposal: formal URI scheme for code locations"},{"number":34652,"title":"proposal: text/template/parse: add CommentNode to the parse tree "},{"number":34626,"title":"proposal: testing: Compute benchmark statistics"},{"number":34624,"title":"proposal: io, net: implement WriterTo for pipes"},{"number":34622,"title":"proposal: backports: fix regressions in previous releases for N days"},{"number":34600,"title":"proposal: document api compatibility"},{"number":34594,"title":"proposal: crypto/cipher: Specify nonce and tag sizes for GCM"},{"number":34593,"title":"proposal: database/sql: sql.IsNull"},{"number":34586,"title":"proposal: overload allocator within specified namespaces"},{"number":34544,"title":"proposal: cmd/vet: detect defer rows.Close()"},{"number":34536,"title":"proposal: clarify backporting policy"},{"number":34527,"title":"Proposal: cmd/go: add GOMODCACHE"},{"number":34515,"title":"proposal: Go 2: extended type inference for make and new"},{"number":34510,"title":"proposal: x/sync: pass errgroup.WithContext's derived context directly"},{"number":34508,"title":"proposal: x/tools/go/analysis: add tags or codes to diagnostics"},{"number":34502,"title":"proposal: net: in-memory transport"},{"number":34471,"title":"proposal: encoding/binary: cache dataSize across invocations of Read and Write"},{"number":34409,"title":"proposal: stability documentation conventions"},{"number":34403,"title":"proposal: Go 2: aggregate error handling \u0026 defer syntax sugar"},{"number":34376,"title":"proposal: add \"Backlog\" milestone"},{"number":34375,"title":"proposal: bytes: Introduce a FindFirstMultiByteChar API"},{"number":34372,"title":"proposal: add gnu assembler output as comments alongside Go assembler in Go objdump output"},{"number":34313,"title":"proposal: create a package `runes` with functionality similar to `bytes` to work with rune slices"},{"number":34306,"title":"proposal: testing: flag show skipped"},{"number":34305,"title":"proposal: io: add NewReaderAt interface"},{"number":34293,"title":"proposal: go docs in diverse formats like json instead of just plain text"},{"number":34174,"title":"proposal: string interpolation"},{"number":34144,"title":"proposal: Go 2: extend \"continue\" to jump to start of function"},{"number":34129,"title":"proposal: TestMain should not require os.Exit"},{"number":34088,"title":"proposal: Go 2: allow trailing commas in the switch case enumerations"},{"number":34069,"title":"proposal: encoding/pem: add DecodeStrict"},{"number":34038,"title":"proposal: move mature wiki content behind Gerrit"},{"number":33997,"title":"proposal: x/crypto/ed25519: add NewKeyFromPlain to generate a PublicKey from a PrivateKey"},{"number":33974,"title":"proposal: make the internal lockedfile package public"},{"number":33957,"title":"proposal: Go 2: Destructuring operator to assign fields in different types of the structs"},{"number":33920,"title":"proposal: io/ioutil: TempFile: pattern should prevent directory traversal"},{"number":33892,"title":"proposal: Go 2 review meeting minutes"},{"number":33848,"title":"proposal: cmd/go: automatically check and use vendored packages"},{"number":33818,"title":" proposal: Go 2: Type parameterized interface default methods"},{"number":33805,"title":"io/ioutil: TempDir should support patterns like TempFile does"},{"number":33791,"title":"proposal: add explicit decision doc for large changes"},{"number":33762,"title":"proposal: sync: add new Map method LoadAndDelete"},{"number":33714,"title":"proposal: encoding/json: Opt-in for true streaming support"},{"number":33701,"title":"proposal: runtime/pprof: add new WithLabels* function that requires fewer allocations"},{"number":33694,"title":"Proposal: Go 2: add chained interval comparisons"},{"number":33688,"title":"proposal: testing: define naming convention for test functions"},{"number":33670,"title":"proposal: identify large changes \u0026 add more process"},{"number":33629,"title":"proposal: x/playground: support all versions of Go"},{"number":33627,"title":"proposal: go 2: a simpler approach to generics with \"concrete\" interfaces"},{"number":33604,"title":"proposal: go 2: (Lightweight) generics in Go using type lists"},{"number":33595,"title":"proposal: x/tools/gopls: support for per-.go file builds"},{"number":33567,"title":"proposal: vet should catch shadowing of predeclared identifiers"},{"number":33564,"title":"proposal: crypto/ecdsa: make PrivateKey implement json.Unmarshaler"},{"number":33528,"title":"proposal: separate proposal review from contended decision-making"},{"number":33524,"title":"proposal: update proposal/README.md to stand alone"},{"number":33522,"title":"proposal: gopherbot: add proposal process status box to each proposal issue"},{"number":33518,"title":"proposal: cmd/go: provide a portable and simple way to run SDK-like Go tools"},{"number":33502,"title":"proposal: review meeting minutes"},{"number":33466,"title":"proposal: x/tools: tool to audit diffs in dependencies"},{"number":33457,"title":"proposal: image: add generic metadata support for jpeg, gif, png"},{"number":33430,"title":"proposal: crypto: crypto.Hash implement fmt.Stringer and export crypto.maxHash"},{"number":33410,"title":"proposal: Go 2: replace contract kind lists with methods on built-in types"},{"number":33408,"title":"proposal: Go 2: extend contracts to include member variables"},{"number":33359,"title":"proposal: Go 2: negative slice/array indexes"},{"number":33328,"title":"testing: proposal: automatically scale benchmark metrics in results output"},{"number":33323,"title":"proposal: create contribution guidelines for technical writers"},{"number":33317,"title":"proposal: crypto/x509: expose hash algorithm for SignatureAlgorithm"},{"number":33281,"title":"proposal: crypto engines"},{"number":33273,"title":"proposal: Go 2: text/template: allow template and block outputs to be chained"},{"number":33263,"title":"proposal: cmd/gofmt: deprecate 'gofmt' in favor of 'go fmt'"},{"number":33232,"title":"proposal: Go 2: add alias for interface {} as any"},{"number":33229,"title":"Proposal: implementation strategy for ACME RFC8555 in x/crypto/acme"},{"number":33205,"title":"Proposal: Go 2: Add Posit data type"},{"number":33194,"title":"proposal: testing (*B).Lap(string name, b *testing.B) for sub-benchmarks of a single process"},{"number":33184,"title":"proposal: time: add Reset api"},{"number":33167,"title":"proposal: Go 2: allow self-referencing closures"},{"number":33162,"title":"proposal: errors: configurable Handle(error) function"},{"number":33161,"title":"proposal: Go 2: block scoped error handling"},{"number":33152,"title":"proposal: Go 2: simplify error handling with ? and ..."},{"number":33150,"title":"proposal: Go 2: use symbol or function call in assignment for error handling"},{"number":33136,"title":"proposal: reflect: add Value.SetZero"},{"number":33135,"title":"proposal: meta: add milestone(s) or labels for pre-release blockers"},{"number":33122,"title":"proposal: Go2: arg tags for marking const, other properties; use in vet"},{"number":33097,"title":"proposal: net: make Resolver.PreferGo and GODEBUG=netdns=go use Go code on Windows"},{"number":33088,"title":"proposal: Go2: automatically take address of pointer parameters (reference arg behavior)"},{"number":33080,"title":"Proposal: allow conversion between return types and structs"},{"number":33078,"title":"proposal: \"Filled types\": a mechanism to guarantee types are not nil at compile time"},{"number":33074,"title":"proposal: Go 2: Use `?\u003cvariable\u003e` simplify handling of multiple-return-values"},{"number":33070,"title":"proposal: Go 2: list symbols that don't require package name"},{"number":33067,"title":"proposal: Go 2: remove the \"if\" keyword and use \"err?!\" to avoid error handling boilerplate"},{"number":33060,"title":"proposal: reflect: add mechanisms to allocate large slices only if possible"},{"number":33046,"title":"proposal: Go 2: Make goroutine return channel with function result (promise)"},{"number":33029,"title":"proposal: Go 2: add \"or err: statement\" after function calls for error handling"},{"number":33002,"title":"Proposal: go2 - Expand check functionality with scoped handle blocks"},{"number":32966,"title":"proposal: cmd/go: improve ability to fetch insecure dependencies"},{"number":32964,"title":"proposal: Go 2: add tryfunc keyword to further reduce boilerplating for error handling"},{"number":32958,"title":"proposal: x/crypto/ssh: export a transport interface"},{"number":32939,"title":"proposal: cmd/go: coverpkg should default to the package list"},{"number":32895,"title":"proposal: Go 2: mini-package: a solution to unify Go builtin and custom generics"},{"number":32874,"title":"proposal: crypto/x509: ability to add custom curve when parsing X509 certificate"},{"number":32863,"title":"proposal: Go 2: generic native types (GNTs)"},{"number":32816,"title":"proposal: cmd/fix: automate migrations for simple deprecations"},{"number":32779,"title":"proposal: encoding/json: memoize strings during decode?"},{"number":32716,"title":"proposal: crypto/tls: remove SSLv3 support"},{"number":32670,"title":"proposal: x/crypto/curve25519: new X25519 API"},{"number":32620,"title":"Proposal: Go2: add hygienic macros"},{"number":32590,"title":"proposal: Go 2: improvements to raw strings"},{"number":32558,"title":"proposal: os: allow Chtimes with time.Time{} to avoid setting time"},{"number":32466,"title":"proposal: adopt golang.org/design/cryptography-principles"},{"number":32456,"title":"proposal: net/url: add FromFilePath and ToFilePath"},{"number":32450,"title":"proposal: Go 2: start using semantic versions for Go releases"},{"number":32447,"title":"proposal: x/crypto/blake2[b|s]: Implement personalisation and salting"},{"number":32426,"title":"proposal: crypto/tls: supported certificate types API"},{"number":32420,"title":"proposal: regexp: add (*Regexp).SubexpIndex"},{"number":32417,"title":"proposal: x/crypto/blake2s: add New(size, key)"},{"number":32406,"title":"proposal: crypto/tls: add request context to ClientHelloInfo and CertificateRequestInfo"},{"number":32245,"title":"proposal: Go 2: support read-only and practical immutable values in Go"},{"number":32121,"title":"proposal: testing: report failing test after panic"},{"number":32115,"title":"proposal: runtime: KeepAlive should perhaps keep things from being moved"},{"number":32111,"title":"proposal: testing: add Cleanup method"},{"number":32088,"title":"proposal: os: Create/Open/OpenFile() set FILE_SHARE_DELETE on windows"},{"number":31933,"title":"proposal: crypto/tls: support DHE"},{"number":31866,"title":"cmd/go: do not download “modules” that contain no Go files"},{"number":31848,"title":"proposal: crypto/tls: add DialWithConn(conn net.Conn, timeout time.Duration, addr string, config *Config) (*Conn, error)"},{"number":31795,"title":"proposal: Go 2: change len, cap to return untyped ints if result is constant"},{"number":31773,"title":"proposal: crypto/tls: Authority Information Access support"},{"number":31761,"title":"proposal: x/mod: new repo for module mechanics"},{"number":31701,"title":"encoding/json: second decode after error impossible"},{"number":31671,"title":"proposal: net: export isDomainName"},{"number":31651,"title":"testing: API for deferring a cleanup step when subtests use Parallel"},{"number":31626,"title":"encoding/base64: decoder output depends on chunking of underlying reader"},{"number":31520,"title":"proposal: crypto/tls: allow registration of additional key exchanges"},{"number":31481,"title":"proposal: cmd/go: build argument to disable readonly $GOPATH/pkg/mod"},{"number":31442,"title":"proposal: Improve error handing using `guard` and `must` keywords"},{"number":31406,"title":"doc: net/http/httputil: add example for reuse of Director"},{"number":31111,"title":"proposal: Go 2: counter proposal to error values (v2)"},{"number":31107,"title":"proposal: text/template,html/template: add ExecuteContext methods"},{"number":31103,"title":"text/template: make and/or operators short-circuit evaluation"},{"number":31064,"title":"proposal: cmd/vet: require explicit variable shadowing"},{"number":31036,"title":"x/net/nettest: add TestListener API"},{"number":31033,"title":"x/net/nettest: extend TestConn with optional interface checks"},{"number":30984,"title":"proposal: x/net/nettest: add MakeLocalPipe to construct local listener and connections"},{"number":30979,"title":"image: add sample fuzz tests for prototype of \"fuzzing as a first class citizen\""},{"number":30951,"title":"cmd/vet: add math check for erroneous math expressions"},{"number":30895,"title":"proposal: cmd/trace: generate trace graph for custom region selection"},{"number":30870,"title":"proposal: database/sql: define a Decimal decompose interface for decimal packages"},{"number":30639,"title":"proposal: Go 2: add mechanism to remove API as a function of caller's go.mod \"go 1.xx\" version"},{"number":30615,"title":"proposal: unicode/utf8: add String"},{"number":30614,"title":"proposal: os: add PathSeparatorString and PathListSeparatorString"},{"number":30613,"title":"proposal: Go 2: checked integer types"},{"number":30609,"title":"runtime/pprof: add ReadMaps preloading API"},{"number":30582,"title":"proposal: Go 2: unsafe: add Unreachable"},{"number":30516,"title":"proposal: cmd/go: 'go mod tidy' should remove stale 'replace' directives"},{"number":30454,"title":"x/net/dns/dnsserver: new package"},{"number":30452,"title":"net: add (*Resolver).ResolveIPAddr"},{"number":30439,"title":"all: remove nacl port"},{"number":30428,"title":"proposal: Go 2: range types"},{"number":30369,"title":"proposal: cmd/go: use the `go` version declared in the `go.mod` file to determine module boundaries and checksums"},{"number":30343,"title":"proposal: x/tools/cmd/present: add support for quote"},{"number":30325,"title":"proposal: crypto/tls: Expose maps for cipher suite IDs/names"},{"number":30318,"title":"proposal: Go 2: let := support any l-value that = supports"},{"number":30256,"title":"meta: request output of `go list -m all` in the issue template"},{"number":30246,"title":"wiki: CodeReviewComments should more thoroughly describe test helper functions"},{"number":30241,"title":"proposal: cmd/go: standard-library vendoring in module mode"},{"number":30209,"title":"proposal: Go 2: spec: add integer types with explicit overflow behavior, and remove unchecked operations on built-in integers"},{"number":30207,"title":"Proposal: cmd/go/internal/lockedfile: add Append function"},{"number":30158,"title":"proposal: crypto: update dev.boringcrypto branches as per security policies"},{"number":30140,"title":"proposal: concrete interfaces for crypto.PublicKey and crypto.PrivateKey"},{"number":30119,"title":"proposal: cmd/go: enable mutual TLS authentication with client certificates in the go tool"},{"number":30083,"title":"proposal: add x/tools/cmd/mapper"},{"number":30058,"title":"proposal: cmd/go: ignore directories containing `.goignore` in file scans"},{"number":30040,"title":"proposal: Go 2: ban calling append with a single argument"},{"number":29991,"title":"net: add FlagRunning as network interface flag"},{"number":29982,"title":"proposal: reflect: add constants for size of int, bool, etc."},{"number":29951,"title":"math/big: add Int.AddInt64, Int.CmpInt64"},{"number":29934,"title":"proposal: Go 2 error values"},{"number":29894,"title":"proposal: net/http: add MethodSearch constant for HTTP SEARCH method"},{"number":29814,"title":"cmd/go: use version control to discover the main module's version?"},{"number":29813,"title":"proposal: cmd/go: 'go mod tidy' should remove stale 'exclude' directives"},{"number":29721,"title":"x/sync/semaphore: make semaphore resizable."},{"number":29720,"title":"x/mobile/gl: ctx.BufferData and ctx.BufferSubData with unsafe.Pointer"},{"number":29696,"title":"proposal: runtime: add way for applications to respond to GC backpressure"},{"number":29688,"title":"proposal: encoding/json: add InputOffset to json decoder"},{"number":29678,"title":"proposal: net: add MarshalText/UnmarshalText to HardwareAddr"},{"number":29540,"title":"x/crypto/acme/autocert: Enable custom port / IP binding"},{"number":29501,"title":"proposal: Go 2: sync/atomic: type modifiers as an addition to types"},{"number":29409,"title":"net/http: add digest access authentication to Transport"},{"number":29373,"title":"proposal: cmd/go: add GOARM=8 for further optimization on armv7/aarch32"},{"number":29326,"title":"proposal: Go 2: remove dot imports from the language"},{"number":29301,"title":"proposal: x/crypto/openpgp: add support for more features"},{"number":29288,"title":"cmd/go: extract TestScript functionality to internal/script"},{"number":29266,"title":"doc: document that developers working in the go repo should run 'go test'"},{"number":29258,"title":"proposal: Go 2: prohibit in-package tests from extending a package's API"},{"number":29146,"title":"net: add IP.IsPrivate (RFC 1918 \u0026 RFC 4193)"},{"number":29104,"title":"proposal: runtime/trace: improve Go diagnostics / tracing"},{"number":29069,"title":"encoding/asn1: timeParsing functions impose static formats"},{"number":29039,"title":"x/net/dns: add LookupCNAME"},{"number":29036,"title":"proposal: Go 2: make imported symbols predictable"},{"number":29035,"title":"proposal: encoding/json: add error var to compare the returned error when using json.Decoder.DisallowUnknownFields()"},{"number":29012,"title":"proposal: Go 2: make rune be a new type of concrete type int32, not an alias"},{"number":29003,"title":"proposal: Go 2: text/template: return errors from HTMLEscape and JSEscape"},{"number":28987,"title":"proposal: Go 2: enums as an extension to types"},{"number":28873,"title":"proposal: encoding/asn1: add \"enum\" keyword for TagEnum"},{"number":28872,"title":"proposal: encoding/asn1: expose parseTagAndLength"},{"number":28835,"title":"proposal: cmd/go: subcommands to add and remove modules from the module cache"},{"number":28728,"title":"proposal: context: enable first class citizenship of third party implementations"},{"number":28660,"title":"proposal: crypto/tls: allow configurability of supported Signature Hash Algorithms"},{"number":28623,"title":"proposal: runtime: provide access to info about recent GC cycles"},{"number":28608,"title":"proposal: Go 2: express pointer/struct/slice/map/array types as possibly-const interface types"},{"number":28592,"title":"proposal: testing: add -shuffle and -shuffleseed to shuffle tests"},{"number":28591,"title":"proposal: Go 2: language: make slices of constant strings constant if the indexes are constant"},{"number":28590,"title":"proposal: module repository health check tool"},{"number":28538,"title":"math: add MaxUint, MinInt, MaxInt"},{"number":28438,"title":"proposal: enum type (revisited)"},{"number":28427,"title":"proposal: crypto: add SignContext"},{"number":28366,"title":"proposal: Go 2: non-reference channel types"},{"number":28342,"title":"proposal: Go 2: update context package for Go 2"},{"number":28308,"title":"cmd/vet: flag using %s:%d to construct network addresses"},{"number":28254,"title":"proposal: Go 2: spec: add `self` type for use within interfaces"},{"number":28150,"title":"proposal: Go 2: fmt: don't recover panics except for dereferencing nil fmt.Stringer receivers"},{"number":28148,"title":"proposal: x/crypto/sha3: add SHA3 assembly implementation for ARMv7"},{"number":28143,"title":"proposal: encoding/json: add \"readonly\" tag"},{"number":28135,"title":"testing: add (*T).Deadline"},{"number":28133,"title":"proposal: Go 2: spec: make fewer types nillable"},{"number":28124,"title":"encoding/xml: update character ranges for names to fifth edition (2008) specification"},{"number":28089,"title":"x/tools/go/generated: parser for https://golang.org/s/generatedcode format"},{"number":27975,"title":"proposal: Go 2: immutable type qualifier"},{"number":27935,"title":"proposal: add container/queue"},{"number":27896,"title":"proposal: Go 2: spec: define identifiers to be NFKC-normalized "},{"number":27881,"title":"cmd/go: \"go doc . foo\" not working on Windows?"},{"number":27830,"title":"proposal: image: decoding options"},{"number":27804,"title":"proposal: go 2: reduce unspecified behaviors of expression evaluation orders in multi-value assignments"},{"number":27727,"title":"proposal: Go 2: reflect: remove Value.Bytes"},{"number":27721,"title":"x/tools/cmd/godoc: add \"jump to identifier\" dialog via search box within sticky top-bar"},{"number":27714,"title":"x/tools/cmd/godoc: add \"jump to identifier\" dialog via F keyboard shortcut, like on godoc.org"},{"number":27700,"title":"proposal: x/tools/cmd/getgo: document and possibly ship in distributions"},{"number":27605,"title":"proposal: Go 2: operator functions"},{"number":27599,"title":"proposal: x/crypto: add support for AES Key Wrap"},{"number":27589,"title":"proposal: encoding/json: struct tag to marshal nil slices and maps as non-null"},{"number":27531,"title":"proposal: Go 2: io: require io.Reader to return either n \u003e 0 or an error"},{"number":27519,"title":"proposal: Go 2: The #id/catch error model, a rethink of check/handle"},{"number":27484,"title":"proposal: crypto/tls: add support for AES-CCM"},{"number":27481,"title":"proposal: Go 2: allow interfaces to require comparable types"},{"number":27366,"title":"proposal: encoding/json: Support for nested values in JSON tags"},{"number":27308,"title":"x/tools/cmd/guru: add type position to 'describe' output"},{"number":26950,"title":"proposal: crypto/x509: add functions to download certificates from windows update, and retrieve certificates from windows x509stores"},{"number":26842,"title":"proposal: Go 2: spec: always permit comparisons against zero value of type"},{"number":26840,"title":"proposal: x/crypto/ssh: new callbacks to Config and error type"},{"number":26756,"title":"proposal: encoding/xml: add RawXML token"},{"number":26746,"title":"proposal: doc/install: define minimum supported VCS versions"},{"number":26512,"title":"proposal: encoding/xml: support *string for innerxml in Unmarshal"},{"number":26492,"title":"cmd/go: build: add -static flag"},{"number":26422,"title":"proposal: Go 2: os/exec: follow Context guidelines"},{"number":26397,"title":"x/dl: add versioned gofmts"},{"number":26282,"title":"proposal: clone and splice, new channel primitives"},{"number":26281,"title":"proposal: Go 2: bytes: remove NewBufferString"},{"number":26263,"title":"proposal: math/rand: rework for Go 2"},{"number":26232,"title":"cmd/go: define HTTP authentication extension mechanism"},{"number":26227,"title":"cmd/go: check for import path collision in go build"},{"number":26074,"title":"proposal: cmd/link: by default, do not write out DWARF"},{"number":26070,"title":"proposal: Go 2: only give special properties to unsafe.Pointer if package imports unsafe"},{"number":26058,"title":"proposal: Go 2: permit goto over declaration if variable is not used after goto label"},{"number":26049,"title":"os: API to detect that the read end of a pipe was closed"},{"number":25988,"title":"proposal: x/exp/rand: add NewLockedSource"},{"number":25951,"title":"proposal: testing: add a flag to detect unnecessary skips"},{"number":25873,"title":"cmd/go: allow forcing tags on/off during go mod vendor, tidy"},{"number":25860,"title":"proposal: Go 2: interface literals"},{"number":25854,"title":"proposal: Go 2: remove io.Seeker, SeekStart, etc., change Seek method "},{"number":25736,"title":"proposal: tools for more readable stacktraces"},{"number":25582,"title":"proposal: Go 2 : add support for conditional statements "},{"number":25572,"title":"proposal: time: use big-endian/ISO reference time"},{"number":25450,"title":"x/build/cmd/gitmirror: lock commit conversations"},{"number":25449,"title":"x/tools/cmd/godoc: create table of contents from headings in package overview"},{"number":25448,"title":"proposal: promote panic(nil) to non-nil panic value"},{"number":25444,"title":"x/tools/cmd/godoc: add support for hotlinks"},{"number":25408,"title":"proposal: io: add OnceCloser helper"},{"number":25357,"title":"proposal: text/template: Move text/template/parse into an internal package"},{"number":25342,"title":"x/net/ipv4: add IPv4 header checksum computation for ipv4.Header type"},{"number":25309,"title":"x/crypto/cryptotest: new package"},{"number":25232,"title":"database/sql: add `lastUseTime` or similar to driverConn, add SetConnMaxIdleLefttime to DB"},{"number":25228,"title":"proposal: crypto/tls: implement Session IDs resumption"},{"number":25219,"title":"proposal: x/crypto/poly1305: implement a subset of the hash.Hash interface"},{"number":25194,"title":"x/net/http/httpguts: add ParseCookie and ParseSetCookie"},{"number":25137,"title":"proposal: sort: Stable with better asymptotic time complexity"},{"number":24990,"title":"proposal: crypto/cipher: detached mode AEAD Seal/Open"},{"number":24988,"title":"proposal: x/crypto/sha3: add KMAC"},{"number":24929,"title":"testing: stream t.Log output as it happens"},{"number":24918,"title":"x/sys/linux/perf: add package for Linux perf tracing"},{"number":24673,"title":"proposal: crypto/tls: provide a way to access local certificate used to set up a connection"},{"number":24654,"title":"proposal: Go 2: reflect: return opaque pointer instead of uintptr"},{"number":24630,"title":"proposal: encoding: BinaryMarshaler should be an append API"},{"number":24543,"title":"runtime: non-cooperative goroutine preemption"},{"number":24513,"title":"net/http: automatically add X-Content-Type-Options: nosniff"},{"number":24282,"title":"proposal: Go 2: improve for-loop ergonomics"},{"number":24205,"title":"proposal: Go 2: net: make Pipe asynchronous"},{"number":24204,"title":"proposal: Go 2: allow cap(make([]T, m, n)) \u003e n"},{"number":24171,"title":"proposal: crypto/cipher: allow short tags in NewGCMWithNonceAndTagSize"},{"number":24160,"title":"proposal: crypto/rand: guard against mutation of Reader variable"},{"number":24121,"title":"proposal: math/rand: Expose constructor for `lockedSource`"},{"number":23841,"title":"net: add support for Happy Eyeballs version 2 (RFC 8305)"},{"number":23806,"title":"proposal: cmd/go: add transitive Deps for TestImports and XTestImports"},{"number":23804,"title":"proposal: math/rand: add function for random bool"},{"number":23637,"title":"proposal: Go 2: spec: introduce structured tags"},{"number":23514,"title":"proposal: crypto/cipher: ability to use AEAD mode as block mode"},{"number":23401,"title":"net/http/pprof: add seconds= to mutex/block profile handler"},{"number":23340,"title":"encoding/gob: better support for error"},{"number":23282,"title":"proposal: crypto/x509: add support to get SSL context from certificate store on windows"},{"number":23172,"title":"doc: mention \"purego\" build tag convention somewhere"},{"number":23113,"title":"proposal: add package \"internal/diff\""},{"number":23044,"title":"proposal: runtime: add a mechanism for specifying a minimum target heap size"},{"number":23019,"title":"os/exec: consider changing Wait to stop copying goroutines rather than waiting for them"},{"number":22964,"title":"cmd/go: add test -coverhtml"},{"number":22876,"title":"proposal: Go 2: read-only types"},{"number":22841,"title":"proposal: net/http: add Client.Put, Client.Patch"},{"number":22836,"title":"proposal: crypto/tls: add GetConfigForServer callback to *tls.Config"},{"number":22826,"title":"proposal: net: add support for \"let localhost be localhost\""},{"number":22823,"title":"io/ioutil: add WriteNopCloser"},{"number":22752,"title":"proposal: encoding/json: add access to the underlying data causing UnmarshalTypeError"},{"number":22741,"title":"x/crypto/ssh: add package for Key Revocation Lists"},{"number":22729,"title":"proposal: Go 2: add kind-specific nil predeclared identifier constants"},{"number":22585,"title":"x/net/html: add Escape/Unescape transformers"},{"number":22544,"title":"proposal: database/sql: value converter interface for rows.Scan "},{"number":22537,"title":"net/http.Transport: add a ConnectionManager interface to separate the connection management from http.Transport"},{"number":22533,"title":"proposal: encoding/json: preserve unknown fields"},{"number":22480,"title":"proposal: encoding/json: add omitnil option"},{"number":22397,"title":"proposal: add a package to atomically create or replace a file"},{"number":22274,"title":"Proposal: crypto/tls: Implement RFC 7633 TLS Feature Extension"},{"number":22267,"title":"Proposal: crypto/tls: Support RFC 6961 Multiple Certificate Status Request Extension"},{"number":22218,"title":"proposal: add GOEXPERIMENT=checkptr"},{"number":22191,"title":"proposal: x/net/sctp: new package"},{"number":22188,"title":"proposal: Go 2: find a way to export uncased identifiers"},{"number":22154,"title":"x/build/devapp: flag new contributors in CL list"},{"number":22013,"title":"proposal: Go 2: remove embedded struct"},{"number":21990,"title":"proposal: encoding/json: support struct tag for time.Format in JSON Marshaller/Unmarshaller"},{"number":21953,"title":"proposal: Go 2: permit directional variants of named channel types"},{"number":21835,"title":"proposal: use PCG Source in math/rand for Go 2"},{"number":21789,"title":"proposal: crypto/x509: Provide a mechanism for accessing SRVNames"},{"number":21719,"title":"x/tools: agree to use a specific JS formatter"},{"number":21704,"title":"proposal: crypto: add function to compare PrivateKey and PublicKey"},{"number":21670,"title":"proposal: Go 2: Have functions auto-implement interfaces with only a single method of that same signature"},{"number":21526,"title":"net/http: add DialTLSContext to Transport"},{"number":21498,"title":"proposal: Go 2: Lightweight anonymous function syntax"},{"number":21496,"title":"proposal: spec: permit eliding the type of struct fields in nested composite literals"},{"number":21473,"title":"proposal: permit iota, omission of init expressions in var declarations"},{"number":21463,"title":"Proposal: regexp: Optimize fixed-length patterns"},{"number":21447,"title":"x/crypto/chacha20poly1305: request for xchacha20 variant"},{"number":21324,"title":"proposal: x/all: start tagging versions"},{"number":21295,"title":"testing: collect performance counters for benchmarks"},{"number":21292,"title":"proposal: cmd/go: -mirror flag for go-get"},{"number":21291,"title":"proposal: Go 2: remove bare return"},{"number":21165,"title":"proposal: Go 2: sync: remove the Cond type"},{"number":21130,"title":"proposal: Go 2: add const literals for reference types like structs, maps, and arrays"},{"number":21111,"title":"proposal: testing: allow examples to return an error"},{"number":21083,"title":"net: resolver should call res_init when resolv.conf changes"},{"number":21070,"title":"proposal: Go 2: hash: make the Sum method less confusing"},{"number":21069,"title":"proposal: language: Go 2: panic on send/receive on nil channel"},{"number":20946,"title":"x/tools/present: add footer template"},{"number":20885,"title":"proposal: Securing Go vendor packaging"},{"number":20883,"title":"proposal: Go 2: cmd/go: allow relative imports"},{"number":20818,"title":"x/tools/cmd/goimports: support repairing import grouping/ordering"},{"number":20803,"title":"proposal: spec: require call results to be explicitly used or ignored (Go 2)"},{"number":20802,"title":"proposal: spec: consider more strict \"declared and not used\" check (go/vet or even spec)"},{"number":20792,"title":"proposal: cmd/trace: add 'greedy goroutine diagnosis' option"},{"number":20758,"title":"proposal: net/http/httputil: split into focused subpackages (Go 2)"},{"number":20757,"title":"proposal: time: make Duration safer to use (Go 2)"},{"number":20733,"title":"proposal: spec: redefine range loop variables in each iteration"},{"number":20706,"title":"proposal: spec: allow combining characters in identifiers"},{"number":20661,"title":"proposal: math/rand: disambiguate Read from crypto/rand.Read"},{"number":20660,"title":"proposal: spec: disallow NaN keys in maps"},{"number":20654,"title":"proposal: math/big: support for constant-time arithmetic"},{"number":20637,"title":"x/net/netlink, vendor/golang.org/x/net/netlink: new package"},{"number":20616,"title":"proposal: spec: disallow assigning \u003e32bit untyped constant to variable of type int"},{"number":20598,"title":"proposal: spec: init-only package level variables"},{"number":20566,"title":"net/http: add context.Context to PushOptions"},{"number":20544,"title":"proposal: crypto/ecdsa: should provide an ASN1/DER verification routine"},{"number":20443,"title":"proposal: spec: add read-only slices and maps as function arguments"},{"number":20420,"title":"crypto/tls: customisable max TLS record size"},{"number":20322,"title":"proposal: cmd/go: add *_unix.go recognition (and presumably unix build tag)"},{"number":20280,"title":"proposal: io: add Context parameter to Reader, etc."},{"number":20210,"title":"proposal: spec: disallow unicode import paths to avoid punycode attacks"},{"number":20209,"title":"proposal: spec: disallow LTR/RTL characters in string literals?"},{"number":20177,"title":"proposal: cmd/go: support build customization with a build.go file"},{"number":20173,"title":"cmd/asm: change canonical spelling of CMOVLEQ to CMOVL.EQ etc"},{"number":20171,"title":"proposal: spec: disallow T\u003c-\u003euintptr conversion for type T unsafe.Pointer"},{"number":20169,"title":"encoding/csv: add a way to limit bytes read per field/record"},{"number":20148,"title":"proposal: cmd/vet: add check for common error mishandling pattern"},{"number":20131,"title":"x/tools/cmd/godoc: list types that satisfy an interface within its package"},{"number":20115,"title":"proposal: cmd/vet: detect homograph attacks"},{"number":20005,"title":"runtime: add per-G shadows of writeBarrier.enabled"},{"number":19991,"title":"proposal: spec: add built-in result type (like Rust, OCaml)"},{"number":19858,"title":"proposal: encoding/json: add mechanism to mark fields as required"},{"number":19814,"title":"proposal: spec: add typed enum support"},{"number":19787,"title":"proposal: spec: add decimal float types (IEEE 754-2008)"},{"number":19778,"title":"proposal: spec: relax structural matching for conversions"},{"number":19744,"title":"runtime: redirect println(runtime.writeErr) to NSLog(asl_log) on iOS"},{"number":19727,"title":"proposal: cmd/vet: missing error assignment check"},{"number":19725,"title":"proposal: introduce new html meta tag for issue trackers"},{"number":19700,"title":"proposal: civil time package"},{"number":19660,"title":"proposal: io/ioutil: rename to io/fileio or similar"},{"number":19623,"title":"proposal: spec: change int to be arbitrary precision"},{"number":19412,"title":"proposal: spec: add sum types / discriminated unions"},{"number":19367,"title":"proposal: unsafe: add Slice and String types, conversions to replace reflect.{Slice,String}Header"},{"number":19307,"title":"x/net/http: support content negotiation"},{"number":19234,"title":"proposal: cmd/go: force vendor directory only"},{"number":19199,"title":"proposal: crypto/tls: SessionTicketWrapper and Forward Secrecy by default"},{"number":19128,"title":"testing: add -benchsplit to get more data points"},{"number":19109,"title":"proposal: cmd/go: make fuzzing a first class citizen, like tests or benchmarks"},{"number":19057,"title":"proposal: runtime: add AlignedN types that can be used to increase alignment"},{"number":19002,"title":"proposal: all: define deprecation policy for OS versions"},{"number":18983,"title":"proposal: how to specify mechanical code updates after API changes?"},{"number":18871,"title":"proposal: reflect: make Value uncomparable"},{"number":18804,"title":"proposal: net: reconsider representation of IP"},{"number":18802,"title":"proposal: sync: support for sharded values"},{"number":18786,"title":"proposal: reflect: rename StructField.Anonymous to Embedded"},{"number":18775,"title":"proposal: spec: use zero receiver for value method invoked via nil pointer"},{"number":18757,"title":"proposal: net: ParseIP should return an error, like other Parse functions"},{"number":18692,"title":"x/crypto/ssh: Support Encrypted Private Keys"},{"number":18617,"title":"proposal: spec: use zero receiver for value method embedded via nil pointer"},{"number":18605,"title":"proposal: spec: allow x, y..., z in list for variadic function argument"},{"number":18597,"title":"proposal: cmd/compile: define register-based calling convention"},{"number":18585,"title":"proposal: encoding/binary: Read (or a new call) should return number of bytes read"},{"number":18497,"title":"proposal: audio package"},{"number":18482,"title":"crypto/tls: add DialContextWithDialer"},{"number":18441,"title":"proposal: x/tools/cmd/goimports: support searching for Go packages within a Bazel WORKSPACE"},{"number":18098,"title":"proposal: add Validate functions to image/jpeg, image/png etc."},{"number":17244,"title":"proposal: decide policy for sub-repositories"},{"number":17056,"title":"proposal: x/tools/cmd/godoc: hide deprecated things by default"},{"number":17048,"title":"Proposal: Basic C API for the runtime"},{"number":16971,"title":"proposal: x/crypto/scrypt: make API match x/crypto/bcrypt"},{"number":16904,"title":"proposal: x/image packages to render TrueType fonts"},{"number":16620,"title":"proposal: sync: mechanism to select on condition variables"},{"number":16474,"title":"proposal: io: CopyBuffer should avoid ReadFrom/WriteTo"},{"number":16420,"title":"x/term: Please remove the empty x/term repo"},{"number":16419,"title":"proposal: add a parseutils sub-package under x/net/html"},{"number":16383,"title":"proposal: cmd/go: Add a go new command to alleviate new user confusion"},{"number":16364,"title":"runtime: Add loosely ordered channels?"},{"number":16353,"title":"proposal: Add an x/media package"},{"number":16342,"title":"cmd/asm: a flag to dump Prog initialization as Go code"},{"number":16257,"title":"proposal: add SASL package to subrepos"},{"number":15513,"title":"proposal: cmd/go: support compiling all tests without running"},{"number":15490,"title":"proposal: runtime: add SchedStats API"},{"number":15345,"title":"debug/pe: extend package so it can be used by cmd/link"},{"number":15292,"title":"proposal: spec: generic programming facilities"},{"number":15268,"title":"x/build: set GOTRACEBACK=2 on all builders?"},{"number":15209,"title":"proposal: spec: allow assignment-compatible values in append and copy"},{"number":14878,"title":"crypto/tls: add SetOCSPStaple function"},{"number":14873,"title":"proposal: add new ioctls and refactor existing ioctls for solaris in x/sys/unix"},{"number":14443,"title":"proposal: runtime: rationalize runtime.Errors"},{"number":14313,"title":"cmd/go: decide, document standard benchmark data format"},{"number":14305,"title":"x/build: use `go tool dist test -k` on fast builders?"},{"number":14274,"title":"proposal: x/crypto: add crypt(3) password hash algorithms"},{"number":14218,"title":"cmd/link: serialize Reloc.Variant field to Go object files"},{"number":14106,"title":"proposal: os: File should be an interface"},{"number":13504,"title":"encoding/xml: add generic representation of XML data"},{"number":13473,"title":"proposal: os: Stdin, Stdout and Stderr should be interfaces"},{"number":13182,"title":"proposal: Go 2: log: change Logger to be an interface"},{"number":12854,"title":"proposal: spec: type inferred composite literals"},{"number":12503,"title":"net: allow custom Resolver method implementation(s)"},{"number":11939,"title":"proposal: encoding/json, encoding/xml: support zero values of structs with omitempty"},{"number":11695,"title":"website: add bug filing wizard"},{"number":11646,"title":"regexp: port RE2's DFA matcher to the regexp package"},{"number":10275,"title":"proposal: encoding: make stdlib types implement TextMarshaler/BinaryMarshaler consistently"},{"number":10006,"title":"proposal: spec: reconsider rule disallowing div-0 by constants"},{"number":9859,"title":"proposal: spec: direct reference to embedded fields in struct literals"},{"number":9654,"title":"proposal: net: Addr, LocalAddr, RemoteAddr must return established endpoint addresses"},{"number":9424,"title":"net/http: document errors more (*Transport, Client's wrapper errors, etc), how to check canceled, ..."},{"number":9360,"title":"proposal: net: should provide an interface for dialing"},{"number":9097,"title":"proposal: spec: add \u0026T(v) to allocate variable of type T, set to v, and return address"},{"number":8082,"title":"proposal: spec: represent interfaces by their definition and not by package and name"},{"number":7898,"title":"database/sql: nested transaction or save point support"},{"number":7873,"title":"proposal: go/doc: Support for bulleted lists"},{"number":7124,"title":"go/ast: remove MergePackageFiles for Go2 (it's not used, and buggy)"},{"number":6977,"title":"proposal: spec: allow embedding overlapping interfaces"},{"number":6213,"title":"proposal: encoding/json: add \"inline\" struct tag"},{"number":4842,"title":"net: add support for TCP Fast Open"},{"number":4719,"title":"cmd/go: drop $GOPATH/pkg"},{"number":4096,"title":"proposal: spec: accept slices and single elements in one append?"},{"number":2794,"title":"proposal: spec: require tagged literals for external structs"},{"number":377,"title":"proposal: spec: various changes to :="}] \ No newline at end of file +export const ISSUE_DATA = [{"number":16364,"title":"runtime: Add loosely ordered channels?"},{"number":17244,"title":"proposal: decide policy for sub-repositories"},{"number":18022,"title":"cmd/vet: add check for sync.WaitGroup abuse"},{"number":18387,"title":"cmd/go: provide a way to resolve an import path to a vcs, url, etc."},{"number":18692,"title":"x/crypto/ssh: Support Encrypted Private Keys"},{"number":22537,"title":"net/http.Transport: add a ConnectionManager interface to separate the connection management from http.Transport"},{"number":22823,"title":"io/ioutil: add WriteNopCloser"},{"number":26049,"title":"os: API to detect that the read end of a pipe was closed"},{"number":27881,"title":"cmd/go: \"go doc . foo\" not working on Windows?"},{"number":28124,"title":"encoding/xml: update character ranges for names to fifth edition (2008) specification"},{"number":28590,"title":"proposal: module repository health check tool"},{"number":28592,"title":"proposal: testing: add -shuffle and -shuffleseed to shuffle tests"},{"number":28728,"title":"proposal: context: enable first class citizenship of third party implementations"},{"number":29289,"title":"wiki: CodeReviewComments change: Discourage duplicate imports with different names"},{"number":29678,"title":"proposal: net: add MarshalText/UnmarshalText to HardwareAddr"},{"number":29696,"title":"proposal: runtime: add way for applications to respond to GC backpressure"},{"number":29813,"title":"proposal: cmd/go: 'go mod tidy' should remove stale 'exclude' directives"},{"number":29982,"title":"proposal: reflect: add constants for size of int, bool, etc."},{"number":30058,"title":"proposal: cmd/go: ignore directories containing `.goignore` in file scans"},{"number":30516,"title":"proposal: cmd/go: 'go mod tidy' should remove stale 'replace' directives"},{"number":30984,"title":"proposal: x/net/nettest: add MakeLocalPipe to construct local listener and connections"},{"number":31064,"title":"proposal: cmd/vet: require explicit variable shadowing"},{"number":31107,"title":"proposal: text/template,html/template: add ExecuteContext methods"},{"number":31406,"title":"doc: net/http/httputil: add example for reuse of Director"},{"number":32111,"title":"proposal: testing: add Cleanup method"},{"number":32115,"title":"proposal: runtime: KeepAlive should perhaps keep things from being moved"},{"number":32558,"title":"proposal: os: allow Chtimes with time.Time{} to avoid setting time"},{"number":32721,"title":"proposal: cmd/go: allow 'go get -u' to upgrade the targets of replacements"},{"number":32816,"title":"proposal: cmd/fix: automate migrations for simple deprecations"},{"number":32939,"title":"proposal: cmd/go: coverpkg should default to the package list"},{"number":32966,"title":"proposal: cmd/go: improve ability to fetch insecure dependencies"},{"number":33060,"title":"proposal: reflect: add mechanisms to allocate large slices only if possible"},{"number":33097,"title":"proposal: net: make Resolver.PreferGo and GODEBUG=netdns=go use Go code on Windows"},{"number":33135,"title":"proposal: meta: add milestone(s) or labels for pre-release blockers"},{"number":33136,"title":"proposal: reflect: add Value.SetZero"},{"number":33162,"title":"proposal: errors: configurable Handle(error) function"},{"number":33184,"title":"proposal: time: add Reset api"},{"number":33194,"title":"proposal: testing (*B).Lap(string name, b *testing.B) for sub-benchmarks of a single process"},{"number":33263,"title":"proposal: cmd/gofmt: deprecate 'gofmt' in favor of 'go fmt'"},{"number":33273,"title":"proposal: Go 2: text/template: allow template and block outputs to be chained"},{"number":33323,"title":"proposal: create contribution guidelines for technical writers"},{"number":33457,"title":"proposal: image: add generic metadata support for jpeg, gif, png"},{"number":33502,"title":"proposal: review meeting minutes"},{"number":33518,"title":"proposal: cmd/go: provide a portable and simple way to run SDK-like Go tools"},{"number":33522,"title":"proposal: gopherbot: add proposal process status box to each proposal issue"},{"number":33524,"title":"proposal: update proposal/README.md to stand alone"},{"number":33528,"title":"proposal: separate proposal review from contended decision-making"},{"number":33564,"title":"proposal: crypto/ecdsa: make PrivateKey implement json.Unmarshaler"},{"number":33567,"title":"proposal: vet should catch shadowing of predeclared identifiers"},{"number":33595,"title":"proposal: x/tools/gopls: support for per-.go file builds"},{"number":33629,"title":"proposal: x/playground: support all versions of Go"},{"number":33670,"title":"proposal: identify large changes \u0026 add more process"},{"number":33688,"title":"proposal: testing: define naming convention for test functions"},{"number":33701,"title":"proposal: runtime/pprof: add new WithLabels* function that requires fewer allocations"},{"number":33714,"title":"proposal: encoding/json: Opt-in for true streaming support"},{"number":33762,"title":"proposal: sync: add new Map method LoadAndDelete"},{"number":33791,"title":"proposal: add explicit decision doc for large changes"},{"number":33848,"title":"proposal: cmd/go: automatically check and use vendored packages"},{"number":33920,"title":"proposal: io/ioutil: TempFile: pattern should prevent directory traversal"},{"number":33974,"title":"proposal: make the internal lockedfile package public"},{"number":34038,"title":"proposal: move mature wiki content behind Gerrit"},{"number":34069,"title":"proposal: encoding/pem: add DecodeStrict"},{"number":34129,"title":"proposal: TestMain should not require os.Exit"},{"number":34293,"title":"proposal: go docs in diverse formats like json instead of just plain text"},{"number":34305,"title":"proposal: io: add NewReaderAt interface"},{"number":34306,"title":"proposal: testing: flag show skipped"},{"number":34313,"title":"proposal: create a package `runes` with functionality similar to `bytes` to work with rune slices"},{"number":34372,"title":"proposal: add gnu assembler output as comments alongside Go assembler in Go objdump output"},{"number":34375,"title":"proposal: bytes: Introduce a FindFirstMultiByteChar API"},{"number":34376,"title":"proposal: add \"Backlog\" milestone"},{"number":34409,"title":"proposal: stability documentation conventions"},{"number":34471,"title":"proposal: encoding/binary: cache dataSize across invocations of Read and Write"},{"number":34502,"title":"proposal: net: in-memory transport"},{"number":34527,"title":"Proposal: cmd/go: add GOMODCACHE"},{"number":34536,"title":"proposal: clarify backporting policy"},{"number":34544,"title":"proposal: cmd/vet: detect defer rows.Close()"},{"number":34586,"title":"proposal: overload allocator within specified namespaces"},{"number":34593,"title":"proposal: database/sql: sql.IsNull"},{"number":34600,"title":"proposal: document api compatibility"},{"number":34622,"title":"proposal: backports: fix regressions in previous releases for N days"},{"number":34624,"title":"proposal: io, net: implement WriterTo for pipes"},{"number":34626,"title":"proposal: testing: Compute benchmark statistics"},{"number":34652,"title":"proposal: text/template/parse: add CommentNode to the parse tree "},{"number":34654,"title":"proposal: formal URI scheme for code locations"},{"number":34680,"title":"proposal: html/template: add ability to combine/clone/rebind parsed html/template templates"},{"number":34681,"title":"syscall: define Windows O_ALLOW_DELETE for use in os.OpenFile"},{"number":34698,"title":"proposal: time: Long/Short day and month names should start with Upper case to allow customization"},{"number":34701,"title":"proposal: encoding/json: new MarshalAppender interface to make custom marshallers more efficient"},{"number":34707,"title":"Proposal: add `go test -long`"},{"number":34717,"title":"proposal: x/sys: new syscall.PtraceSeize for linux"}] diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..01924f3 --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module github.com/andybons/propnotes + +go 1.13 + +require golang.org/x/build v0.0.0-20191002162221-c41ee31c2ed1 diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..b6c16b5 --- /dev/null +++ b/go.sum @@ -0,0 +1,95 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY= +github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= +github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go4.org v0.0.0-20180809161055-417644f6feb5 h1:+hE86LblG4AyDgwMCLTE6FOlM9+qjHSYS+rKqxUVdsM= +go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= +golang.org/x/build v0.0.0-20191002162221-c41ee31c2ed1 h1:+szGjeN7sMGQgixKH5KdKc7xPzzV6rm3wXeBFb+wCKA= +golang.org/x/build v0.0.0-20191002162221-c41ee31c2ed1/go.mod h1:fYw7AShPAhGMdXqA9gRadk/CcMsvLlClpE5oBwnS3dM= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190424203555-c05e17bb3b2d/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190502183928-7f726cade0ab h1:9RfW3ktsOZxgo9YNbBAjq1FWzc/igwEcUzZz8IXgSbk= +golang.org/x/net v0.0.0-20190502183928-7f726cade0ab/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a h1:tImsplftrFpALCYumobsd0K86vlAs/eXGFms2txfJfA= +golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/index.js b/index.js index c0122d2..e2246fd 100644 --- a/index.js +++ b/index.js @@ -15,7 +15,6 @@ const AttendeeList = ({ attendees, addAttendee, removeAttendee }) => { { e.target.checked ? addAttendee(member) : removeAttendee(member); }} @@ -68,12 +67,17 @@ const IssueList = ({ notes, updateNote, }) => { + const [onlyShowSelected, setOnlyShowSelected] = useState(false); const [filter, setFilter] = useState(''); const [filteredIssues, setFilteredIssues] = useState([...issues]); - const filterIssues = filter => { + const filterIssues = (onlyShowSelected, filter) => { + setOnlyShowSelected(onlyShowSelected); setFilter(filter); const filteredIssues = issues.filter(issue => { + if (onlyShowSelected && !selectedIssues.has(issue.number)) { + return false; + } if (filter.trim() === '') { return true; } @@ -88,7 +92,19 @@ const IssueList = ({ return ( <> -

Issues

+
+

Issues

+ +
diff --git a/style.css b/style.css index a8969c6..9962617 100644 --- a/style.css +++ b/style.css @@ -71,6 +71,11 @@ a { font: inherit; padding: 0.25rem 0.15rem; } +.IssueListHeader { + align-items: center; + display: flex; + justify-content: space-between; +} .Issue { background-color: #f1f2f3; border-radius: 3px;