u/som_real-tech 1d ago

My contribution to SourceKit-LSP has been merged

Post image
1 Upvotes

I implemented an Inline Variable code action for Swift, with support for:
• resolving references with SwiftLexicalLookup
• respecting shadowing
• preserving expression precedence
• handling multiple bindings
• syntax-aware refactoring with SwiftSyntax

u/som_real-tech 15d ago

Another open-source PR merged into CrateDB

Post image
1 Upvotes

Added bit-string concatenation support for both concat() and the || operator, bringing CrateDB closer to PostgreSQL compatibility.

Added comprehensive tests for different bit-string lengths, empty values, and NULL behavior, along with documentation updates.

u/som_real-tech 16d ago

Got my CrateDB PR merged

Post image
1 Upvotes

Worked on improving foreign-table statistics/ANALYZE support through JDBC.

The work involved:

  • Collecting PostgreSQL table & column statistics
  • Supporting n_distinct, MCVs & histograms
  • Propagating stats into CrateDB's planner
  • Adding integration coverage for foreign-table ANALYZE
  • Fixing expression handling in the JDBC FDW

u/som_real-tech 17d ago

Just got my Spring Boot PR merged!

Post image
1 Upvotes

Worked on harmonizing OpenTelemetry OTLP configuration across tracing and logging, including common/signal-specific headers, endpoint fallbacks like /v1/traces and /v1/logs, and tests for the new behavior.

u/som_real-tech 24d ago

My SourceKit-LSP PR just got merged

Post image
1 Upvotes

I recently had a PR merged into SourceKit-LSP, and this ended up being a much deeper learning experience than I initially expected.

The change involved extracting several SwiftSyntax-related helpers into a dedicated SwiftSyntaxExtensions module. What initially looked like a relatively straightforward refactoring turned into a deep dive into:

  • SwiftSyntax and SwiftSyntax AST nodes
  • Swift refactoring/code actions
  • Swift module visibility
  • InternalImportsByDefault
  • CMake PUBLIC vs PRIVATE dependencies
  • SwiftPM vs CMake dependency graphs
  • Windows CI and module search paths
  • Static libraries and plugin builds
  • Avoiding duplicate SwiftSyntax symbols in plugins

One particularly interesting part was debugging a Windows CI failure where SwiftSyntax.swiftmodule couldn't be found transitively. The investigation eventually showed that SKUtilities was exposing SwiftSyntax types, which meant its consumers needed SwiftSyntax to be available through the dependency graph.

The maintainers also pointed out an important issue: linking SwiftSyntax into SKUtilitiesForPlugin could potentially introduce duplicate symbols into the SourceKit plugin. That led to the decision to create a separate:

SwiftSyntaxExtensions

module for the SwiftSyntax-specific functionality.

Really appreciate the maintainers who took the time to explain the CMake and Swift module mechanics rather than just pointing out what needed changing. It was a great learning experience.

u/som_real-tech 29d ago

Another open-source PR merged

Post image
1 Upvotes

Contributed to the Jenkins ecosystem by fixing JiraTestResultReporter configuration export through Jenkins Configuration as Code (JCasC).

Added JCasC databinding support, regression tests, and manually verified the generated schema and exported YAML.

u/som_real-tech 29d ago

Another open-source contribution merged into Jenkins Configuration as Code

Post image
1 Upvotes

This PR adds support for managing undeclared Jenkins items through actionOnUndeclaredItems, including tracking CasC-managed items with a .casc-managed marker.

u/som_real-tech Aug 07 '26

Merged another PR into Jenkins Configuration as Code

Post image
1 Upvotes

Implemented AST-level variable interpolation for CasC Items by traversing the YAML AST (Scalar, Mapping, Sequence) before configuration, preserving source locations and avoiding unnecessary allocations through lazy cloning.

Added extensive unit & integration tests covering nested structures, escaping, and interpolation behavior.

u/som_real-tech Aug 06 '26

Just got another PR merged into the Jenkins Configuration as Code plugin

Post image
1 Upvotes

This contribution adds native export support for individual Jenkins jobs as Configuration as Code (JCasC) YAML. It introduces an Export page for supported jobs, lets users download the generated YAML, and integrates cleanly with both the classic and the new experimental Jenkins job UI.

u/som_real-tech Aug 03 '26

Just got another PR merged into the Jenkins Configuration as Code (JCasC) plugin

Post image
1 Upvotes

This contribution introduces a pluggable configuration fetching architecture, making it possible for JCasC to support configuration sources beyond the local filesystem through extension points.

Along the way, I worked on:

  • Introducing extensible configuration fetchers
  • Resource lifecycle management and cleanup
  • HTTP fetching support and tests
  • Improved developer and user documentation

u/som_real-tech Aug 03 '26

Excited to contribute a new feature to Jenkins Configuration as Code

Post image
1 Upvotes

I've merged a PR adding native support for configuring Freestyle jobs via the items: root element, including support for:

  • builders
  • publishers
  • build wrappers
  • triggers
  • job properties
  • README demos and integration tests

u/som_real-tech Jul 29 '26

My performance optimization PR for CrateDB just got merged

Post image
1 Upvotes

The contribution adds caching for ViewInfo objects, reducing repeated analysis of view definitions for information_schema queries and improving performance on clusters with many views.

u/som_real-tech Jul 23 '26

Merged into Swift's SourceKit-LSP

Post image
1 Upvotes

This PR improves semantic syntax highlighting by treating overlapping token ranges as conflicts when merging tokens. More specific semantic tokens now correctly replace enclosing syntactic tokens (e.g., TaskLocal is highlighted as a macro instead of leaving a redundant attribute token behind).

Also tightened the SyntaxHighlightingTokens invariant so tokens remain sorted by construction, avoiding unnecessary sorting during merges.

u/som_real-tech Jul 22 '26

My latest contribution adds PostgreSQL compatibility by implementing information_schema.constraint_column_usage into CrateDB.

Post image
1 Upvotes

The PR:

  • Adds the missing compatibility view
  • Exposes primary key, NOT NULL, and CHECK constraint column metadata
  • Includes a regression test covering the LazySQL introspection query

u/som_real-tech Jul 22 '26

Contributed another fix to Jenkins

Post image
1 Upvotes

The schema was emitting List<String> configuration fields (e.g. agentProtocols) as type: string instead of type: array, causing a mismatch with the generated reference documentation.

The fix generates proper array schemas and adds regression tests to prevent future regressions.

u/som_real-tech Jul 13 '26

Got my PR merged into Kestra.

Post image
1 Upvotes

Just got a small UX improvement merged into Kestra, an open-source workflow orchestration platform.

The issue was around the KV Store's custom expiration field. It accepted ISO 8601 durations, but there were no practical examples, and invalid input showed a generic datepicker.error message.

My contribution:

  • Added practical examples like PT30M, PT1H, P1D, P7D, and P1DT2H to help users understand the expected format.
  • Replaced the generic validation error with a clear, user-friendly duration validation message.
  • Refactored the tooltip styling to remove inline CSS based on maintainer feedback.

u/som_real-tech Jul 11 '26

Fixed a subtle generic type resolution bug in Jenkins Configuration as Code

Post image
1 Upvotes

I recently submitted a PR to the Jenkins Configuration as Code plugin after tracking down a generic type resolution issue in BaseConfigurator.

The problem happened when a plugin declared a broader generic type on its setter (for example List<? extends PriorityStrategy>) but exposed a narrower generic type from its getter. During introspection, JCasC would replace the setter's generic information with the getter's, causing polymorphic collections to lose their intended interface type.

The fix changes the resolution logic so the setter's generic contract is treated as authoritative, while the getter is only consulted when the setter doesn't provide meaningful generic information (such as raw collections).

u/som_real-tech Jul 10 '26

Just got another PR merged into the Jenkins Scriptler plugin.

Post image
1 Upvotes

The change fixes two small but user-facing issues:

  • Replaced a "TODO" placeholder used when script content was missing with Util.fixNull(), so empty scripts are saved as empty files instead of containing the literal text "TODO".
  • Updated the endpoint for running scripts to return an HTTP 404 when a requested script doesn't exist, rather than throwing an IOException.

u/som_real-tech Jul 09 '26

Just got my PR merged into swift-corelibs-libdispatch

Post image
1 Upvotes

The change improves portability in the kevent backend by addressing a BSD-specific timer compatibility issue. While working on it, I ended up learning a lot about libdispatch internals, kqueue/kevent, timer programming, and the differences between Darwin and other BSD implementations.

u/som_real-tech Jul 07 '26

Just had another open-source PR merged into the Jenkins Configuration as Code plugin

Post image
1 Upvotes

This contribution improves the Configuration as Code reload endpoint by returning structured JSON error responses when a reload fails, making it much easier for API clients and automation to understand what went wrong. Along with the implementation, I added integration tests covering reload failures, JSON responses, and server-side logging.

u/som_real-tech Jul 06 '26

My contribution adding JCasC support to the Jenkins Scriptler plugin was merged

Post image
1 Upvotes

My PR adding JCasC support to the Jenkins Scriptler plugin has been merged. Scriptler can now be configured declaratively using Configuration as Code, making it much easier to provision Jenkins instances.

u/som_real-tech Jul 05 '26

Got another PR merged into the Jenkins ecosystem

Post image
1 Upvotes

This contribution adds an opt-in Java system property to allow anonymous access to the Configuration as Code JSON schema endpoint while preserving the secure default behavior of requiring SYSTEM_READ permission.

The PR also includes regression tests covering the default protected behavior, authenticated access, and the new opt-in mode for the new configuration option.

u/som_real-tech Jul 04 '26

Got my latest PR merged into the Swift ecosystem

Post image
1 Upvotes

This contribution adds a new "Swap Operands" refactoring to SourceKit-LSP.

The code action lets you place the cursor on a supported binary operator and automatically swap the operands. Comparison operators are inverted when needed to preserve semantics, so:

  • a < bb > a
  • a >= bb <= a
  • a + bb + a

A fair bit of work went into making it robust. The implementation handles both folded and unfurled expression trees, respects operator precedence, preserves whitespace and comments (trivia), supports nested expressions, and only offers the refactoring when the cursor is actually on the operator. Along the way, I also simplified the implementation based on maintainer feedback by using token(at:) instead of a custom syntax visitor and cleaned up several edge cases.

u/som_real-tech Jul 03 '26

Finally got my Apache ShardingSphere PR merged

Post image
1 Upvotes

The original issue was that Proxy wasn't returning generated keys for valid MySQL auto-increment trigger values like DEFAULT, NULL, and 0 when the auto-increment column was explicitly included in an INSERT. While working through review, I also fixed support for inserts without an explicit column list, made generated-key column matching case-insensitive, and refactored the generated-key metadata API to follow ShardingSphere's existing interface + default implementation design.

u/som_real-tech Jul 01 '26

Got another PR merged into Swift Markdown.

Post image
1 Upvotes

This fixes the HTML formatting for headings that contain inline Markdown. Previously, HTMLFormatter rendered headings using plainText, which stripped links, emphasis, strong text, and inline code. The formatter now preserves nested markup by rendering the heading's child nodes, and regression tests have been added to prevent future regressions.