profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/jtbandes/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

apple/swift 57343

The Swift Programming Language

apple/swift-evolution 12742

This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.

apple/swift-package-manager 8501

The Package Manager for the Swift Programming Language

apple/swift-corelibs-foundation 4409

The Foundation Project, providing core utilities, internationalization, and OS independence

cruise-automation/webviz 1253

web-based visualization libraries

apple/swift-corelibs-xctest 931

The XCTest Project, A Swift core library for providing unit test support

apple/swift-llbuild 890

A low-level build system, used by Xcode and the Swift Package Manager

apple/swift-lldb 652

This is the version of LLDB that supports the Swift programming language & REPL.

PR opened foxglove/studio

Reviewers
McapReader: more comments, change decompress interface to use Uint8Array

User-Facing Changes None

Description Feedback from https://github.com/foxglove/studio/pull/1885

+34 -13

0 comment

3 changed files

pr created time in 13 hours

create barnchfoxglove/studio

branch : jacob/mcap-feedback

created branch time in 13 hours

Pull request review commentfoxglove/studio

Add mcap package with Message Capture parsing support

+// This Source Code Form is subject to the terms of the Mozilla Public+// License, v2.0. If a copy of the MPL was not distributed with this+// file, You can obtain one at http://mozilla.org/MPL/2.0/++import { crc32 } from "@foxglove/crc";++import StreamBuffer from "./StreamBuffer";+import { MCAP_MAGIC } from "./constants";+import { parseMagic, parseRecord } from "./parse";+import { McapRecord } from "./types";++type McapReaderOptions = {+  /**+   * When set to true, Chunk records will be returned from `nextRecord()`. Chunk contents will still+   * be processed after each chunk record itself.+   */+  includeChunks?: boolean;++  /**+   * When a compressed chunk is encountered, the entry in `decompressHandlers` corresponding to the+   * compression will be called to decompress the chunk data.+   */+  decompressHandlers?: {+    [compression: string]: (buffer: DataView, decompressedSize: bigint) => DataView;+  };+};++/**+ * A streaming reader for Message Capture files.+ */+export default class McapReader {+  private buffer = new StreamBuffer(MCAP_MAGIC.length * 2);+  private decompressHandlers;+  private includeChunks;+  private doneReading = false;+  private generator = this.read();++  constructor({ includeChunks = false, decompressHandlers = {} }: McapReaderOptions = {}) {+    this.includeChunks = includeChunks;+    this.decompressHandlers = decompressHandlers;+  }++  done(): boolean {

largely useful for testing and asserting that there are no extraneous bytes in the stream

jtbandes

comment created time in 13 hours

PullRequestReviewEvent

Pull request review commentfoxglove/studio

Add mcap package with Message Capture parsing support

+// This Source Code Form is subject to the terms of the Mozilla Public+// License, v2.0. If a copy of the MPL was not distributed with this+// file, You can obtain one at http://mozilla.org/MPL/2.0/++import { crc32 } from "@foxglove/crc";++import StreamBuffer from "./StreamBuffer";+import { MCAP_MAGIC } from "./constants";+import { parseMagic, parseRecord } from "./parse";+import { McapRecord } from "./types";++type McapReaderOptions = {+  /**+   * When set to true, Chunk records will be returned from `nextRecord()`. Chunk contents will still+   * be processed after each chunk record itself.+   */+  includeChunks?: boolean;++  /**+   * When a compressed chunk is encountered, the entry in `decompressHandlers` corresponding to the+   * compression will be called to decompress the chunk data.+   */+  decompressHandlers?: {+    [compression: string]: (buffer: DataView, decompressedSize: bigint) => DataView;+  };+};++/**+ * A streaming reader for Message Capture files.+ */+export default class McapReader {+  private buffer = new StreamBuffer(MCAP_MAGIC.length * 2);+  private decompressHandlers;+  private includeChunks;+  private doneReading = false;+  private generator = this.read();++  constructor({ includeChunks = false, decompressHandlers = {} }: McapReaderOptions = {}) {+    this.includeChunks = includeChunks;+    this.decompressHandlers = decompressHandlers;+  }++  done(): boolean {+    return this.doneReading;+  }++  bytesRemaining(): number {

yep

jtbandes

comment created time in 13 hours

PullRequestReviewEvent

Pull request review commentfoxglove/studio

Add mcap package with Message Capture parsing support

+// This Source Code Form is subject to the terms of the Mozilla Public+// License, v2.0. If a copy of the MPL was not distributed with this+// file, You can obtain one at http://mozilla.org/MPL/2.0/++import { crc32 } from "@foxglove/crc";++import StreamBuffer from "./StreamBuffer";+import { MCAP_MAGIC } from "./constants";+import { parseMagic, parseRecord } from "./parse";+import { McapRecord } from "./types";++type McapReaderOptions = {+  /**+   * When set to true, Chunk records will be returned from `nextRecord()`. Chunk contents will still+   * be processed after each chunk record itself.+   */+  includeChunks?: boolean;++  /**+   * When a compressed chunk is encountered, the entry in `decompressHandlers` corresponding to the+   * compression will be called to decompress the chunk data.+   */+  decompressHandlers?: {+    [compression: string]: (buffer: DataView, decompressedSize: bigint) => DataView;+  };+};++/**+ * A streaming reader for Message Capture files.+ */+export default class McapReader {+  private buffer = new StreamBuffer(MCAP_MAGIC.length * 2);

where are we on # support?

jtbandes

comment created time in 13 hours

PullRequestReviewEvent

push eventfoxglove/studio

Jacob Bandes-Storch

commit sha b078bc36239e91c6f049b7ed3e2d2ec267a95636

unused import

view details

push time in 13 hours

Pull request review commentfoxglove/studio

Don't show sign in prompt and account pane if ConsoleApi is not present

 export default function Workspace(props: WorkspaceProps): JSX.Element {   const playerCapabilities = useMessagePipeline(selectPlayerCapabilities);   const playerProblems = useMessagePipeline(selectPlayerProblems); +  const [enableSharedLayouts = false] = useAppConfigurationValue<boolean>(+    AppSetting.ENABLE_CONSOLE_API_LAYOUTS,+  );+  const supportsAccountSettings = useContext(ConsoleApiContext) != undefined && enableSharedLayouts;

@defunctzombie a consequence of our decision to make useConsoleApi (and other similar hooks) throw an error if the context is missing — here we have to explicitly useContext(ConsoleApiContext) because we want to check for it being undefined. Not really a problem, just want to call it out in case it sparks any ideas for cleaner or more consistent patterns.

jtbandes

comment created time in 13 hours

PullRequestReviewEvent

PR opened foxglove/studio

Reviewers
Don't show sign in prompt and account pane if ConsoleApi is not present

User-Facing Changes None (feature flagged)

Description The Account tab of the sidebar and the sign-in prompt in the LayoutBrowser were previously shown when the Team Layouts feature flag was enabled. Now they are additionally gated on the presence of ConsoleApi, so when the feature flag is removed, these features will remain hidden if no ConsoleApi is provided.

Resolves https://github.com/foxglove/studio/issues/1901.

+24 -12

0 comment

2 changed files

pr created time in 13 hours

create barnchfoxglove/studio

branch : jacob/disable-signin-prompt

created branch time in 13 hours

PR merged foxglove/studio

Reviewers
Require confirmation for revert operation for personal as well as shared layouts docs

User-Facing Changes Added a confirmation step before reverting changes to a layout.

Description Resolves https://github.com/foxglove/studio/issues/1884.

+8 -10

0 comment

1 changed file

jtbandes

pr closed time in 13 hours

push eventfoxglove/studio

Jacob Bandes-Storch

commit sha ccf661909879f2fbd9cd3aec7e222b3217cdd3fe

Require confirmation for revert operation for personal as well as shared layouts (#1904) **User-Facing Changes** Added a confirmation step before reverting changes to a layout. **Description** Resolves https://github.com/foxglove/studio/issues/1884.

view details

push time in 13 hours

delete branch foxglove/studio

delete branch : jacob/confirm-revert-personal-layout

delete time in 13 hours

issue closedfoxglove/studio

Team layouts ask to confirm revert, but personal layouts do not

Description Inconsistency - for personal layouts:

  1. Change a personal layout
  2. Right click -> Revert
  3. Changes are reverted

However, for team layouts:

  1. Change a team layout
  2. Right click -> Revert
  3. I get prompted whether I am sure I want to discard changes

I think probably just never showing the confirmation modal is ok? But whichever option we go with, I don't see any reason for team layouts to be different from personal layouts?

  • Version: latest main
  • OS: linux

closed time in 13 hours

amacneil

PR opened foxglove/studio

Reviewers
Require confirmation for revert operation for personal as well as shared layouts docs

User-Facing Changes Added a confirmation step before reverting changes to a layout.

Description Resolves https://github.com/foxglove/studio/issues/1884.

+8 -10

0 comment

1 changed file

pr created time in 13 hours

push eventfoxglove/studio

Jacob Bandes-Storch

commit sha 16d2fdaf168d2c8171390dc1526978873de15837

Require confirmation for revert operation for personal as well as shared layouts

view details

push time in 13 hours

create barnchfoxglove/studio

branch : jacob/confirm-revert-personal-layout

created branch time in 13 hours

push eventfoxglove/studio

Jacob Bandes-Storch

commit sha f9761047e6115294dc4f7cdc9477a3cb596046e6

Add mcap package with Message Capture parsing support (#1885) **User-Facing Changes** None **Description** Adds a workspace package `@foxglove/mcap` with parsing support for the nascent mcap file format. This PR contains no Studio integration, just adding the package since it's begun to stabilize. The package includes a validate script which can be used to test with local .mcap files: ```sh $ yarn workspace @foxglove/mcap validate /path/to/file.mcap [--deserialize [--dump]] Reading gps.mcap Read 886.10kiB in 89.54ms (9.66MiB/sec) Record counts: 1 Chunk 22 ChannelInfo 30445 Message 1 Footer ``` Because the file format and especially the parser is still evolving, we'll keep it in the studio repo for now and later move it into a separate repo.

view details

push time in 14 hours

PR merged foxglove/studio

Reviewers
Add mcap package with Message Capture parsing support

User-Facing Changes None

Description Adds a workspace package @foxglove/mcap with parsing support for the nascent mcap file format. This PR contains no Studio integration, just adding the package since it's begun to stabilize.

The package includes a validate script which can be used to test with local .mcap files:

$ yarn workspace @foxglove/mcap validate /path/to/file.mcap [--deserialize [--dump]]
Reading gps.mcap
Read 886.10kiB in 89.54ms (9.66MiB/sec)
Record counts:
       1 Chunk
      22 ChannelInfo
   30445 Message
       1 Footer

Because the file format and especially the parser is still evolving, we'll keep it in the studio repo for now and later move it into a separate repo.

+1075 -9

0 comment

16 changed files

jtbandes

pr closed time in 14 hours

delete branch foxglove/studio

delete branch : jacob/mcap

delete time in 14 hours

push eventfoxglove/studio

Jacob Bandes-Storch

commit sha 14b5b262bec50682cfd6eb5d922777b9db59aac9

use crc from npm

view details

push time in 14 hours

created tagfoxglove/crc

tagv0.0.1

Fast CRC32 computation in TypeScript

created time in 14 hours

push eventfoxglove/crc

Jacob Bandes-Storch

commit sha 2dedace6be19dfbbb13d3efc96d7a62c1f227be3

Update README and publish to npm

view details

push time in 14 hours

delete tag foxglove/crc

delete tag : v0.0.1

delete time in 14 hours

created tagfoxglove/crc

tagv0.0.1

Fast CRC32 computation in TypeScript

created time in 14 hours

push eventfoxglove/studio

Jacob Bandes-Storch

commit sha ae2818db686b8c5c07cbaac35e71f600edfbd36a

fix tests for crc validation & new fields

view details

push time in 15 hours

push eventfoxglove/studio

Jacob Bandes-Storch

commit sha c1479c1b1622316a53a3936890d619b39b56ed53

fix decompressLZ4 types

view details

push time in 15 hours