• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

charmbracelet / bubbletea
72%
main: 72%

Build:
Build:
LAST BUILD BRANCH: windows-fkeys
DEFAULT BRANCH: main
Repo Added 23 Oct 2020 11:19AM UTC
Token sVvtjfzwgxqBi6p6dMmbxpK6dVpQ57TRn regen
Build 3557 Last
Files 17
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH bugfix/1167-windows-ignored-input
branch: bugfix/1167-windows-ignored-input
CHANGE BRANCH
x
Reset
Sync Branches
  • bugfix/1167-windows-ignored-input
  • 1.18
  • 1212-context-error
  • 20220825-clear-screen
  • 20220825-linux-console
  • 20220825-screen-cursor
  • 20220829-alt
  • 20220927-csi
  • 20221006-keymap
  • 20221007-fix-resize-outside-of-tea
  • 20221007-insert
  • 20221007-key-input
  • 20221007-suspend
  • 20221016-delay-cmd
  • 20221021-invert-control
  • 20221021-long-input
  • 20221021-simplify-keys
  • Add-clx-to-Bubble-Tea-in-the-Wild
  • KeySpace
  • add-brows
  • add-chip8-to-projects-in-the-wild
  • add-clive-to-bubbletea-in-the-wild
  • add-gama-into-readme
  • add-link
  • add-package-msg
  • add-pug-to-bubbletea-in-the-wild
  • add-scrabler-in-the-wild
  • add-skeleton
  • added-SIGTERM-Signal
  • allowed-types-example
  • altscreen-cursor
  • altscreen-lines
  • altscreen-mtx
  • altscreen-repaint
  • altscreen-toggle
  • anacrolix
  • ansi-compressor
  • api-example
  • auto-input
  • auto-input-tty
  • auto-wrap
  • autocomplete
  • autocomplete-example
  • autocomplete-example-edits
  • background-color
  • bashbunni-issue-templates
  • batch-events
  • batch-nil
  • batch-tidying
  • batchmsg-test
  • bracketed-paste
  • breakup-start
  • bsd-fix
  • bsd32
  • bubbles-0.7.7
  • bubbles-idomatic-stuff
  • bubbles-use-table
  • build
  • build-ci
  • build-tags
  • bump-ansi
  • bump-bubbles
  • bump-bubbles-in-examples
  • bump-containerd-console
  • bump-deps
  • bump-deps-ansi
  • bump-isatty
  • bump-lipgloss
  • calendar-component-example
  • cancel-readloop
  • cancelreader
  • cancelreader-wait
  • catchpanic-option
  • cc
  • cellbuffer
  • chat-example-fix
  • chezmoi
  • ci-sync-linter-config
  • ci-tests
  • cleanup_after_termination
  • clear-line-optimization
  • clearscreen-repaint
  • cmd-wrapping
  • cmds-orga
  • codeowners
  • codespell
  • collin/fix-mutex-lock-issue
  • colorprofile
  • colorprofile-writer
  • command-readme-links
  • commands-tutorial-source
  • compact-sequences
  • composable-view
  • compressor-programopt
  • configure-max-fps
  • console-bump
  • console-windows-fork
  • contributing
  • ctrl-page-keys
  • cursor
  • cursor-visibility
  • custom-input
  • custom-renderer
  • daemon-mode
  • debounce-example
  • debug-input-handling
  • delve-instructions
  • demo-typo
  • dep
  • dependabot-chore
  • dependabot-time
  • dependabot-tutorials
  • dependabot-weekly
  • dependabot/github_actions/actions/checkout-3
  • dependabot/github_actions/actions/checkout-4
  • dependabot/github_actions/actions/setup-go-3
  • dependabot/github_actions/actions/setup-go-4
  • dependabot/github_actions/actions/setup-go-5
  • dependabot/github_actions/golangci/golangci-lint-action-4
  • dependabot/github_actions/golangci/golangci-lint-action-5
  • dependabot/github_actions/golangci/golangci-lint-action-6
  • dependabot/github_actions/stefanzweifel/git-auto-commit-action-5
  • dependabot/go_modules/examples/github.com/charmbracelet/bubbles-0.10.3
  • dependabot/go_modules/examples/github.com/charmbracelet/bubbles-0.16.0
  • dependabot/go_modules/examples/github.com/charmbracelet/bubbles-0.17.1
  • dependabot/go_modules/examples/github.com/charmbracelet/bubbles-0.18.0
  • dependabot/go_modules/examples/github.com/charmbracelet/bubbles-0.19.0
  • dependabot/go_modules/examples/github.com/charmbracelet/bubbles-0.20.0
  • dependabot/go_modules/examples/github.com/charmbracelet/glamour-0.5.0
  • dependabot/go_modules/examples/github.com/charmbracelet/glamour-0.6.0
  • dependabot/go_modules/examples/github.com/charmbracelet/glamour-0.7.0
  • dependabot/go_modules/examples/github.com/charmbracelet/glamour-0.8.0
  • dependabot/go_modules/examples/github.com/charmbracelet/lipgloss-0.10.0
  • dependabot/go_modules/examples/github.com/charmbracelet/lipgloss-0.11.0
  • dependabot/go_modules/examples/github.com/charmbracelet/lipgloss-0.11.1
  • dependabot/go_modules/examples/github.com/charmbracelet/lipgloss-0.12.1
  • dependabot/go_modules/examples/github.com/charmbracelet/lipgloss-0.13.0
  • dependabot/go_modules/examples/github.com/charmbracelet/lipgloss-0.13.1
  • dependabot/go_modules/examples/github.com/charmbracelet/lipgloss-0.6.0
  • dependabot/go_modules/examples/github.com/charmbracelet/lipgloss-0.7.0
  • dependabot/go_modules/examples/github.com/charmbracelet/lipgloss-0.7.1
  • dependabot/go_modules/examples/github.com/charmbracelet/lipgloss-0.8.0
  • dependabot/go_modules/examples/github.com/charmbracelet/lipgloss-0.9.0
  • dependabot/go_modules/examples/github.com/charmbracelet/lipgloss-0.9.1
  • dependabot/go_modules/examples/github.com/charmbracelet/lipgloss-1.0.0
  • dependabot/go_modules/examples/github.com/mattn/go-isatty-0.0.16
  • dependabot/go_modules/examples/github.com/mattn/go-isatty-0.0.17
  • dependabot/go_modules/examples/github.com/mattn/go-isatty-0.0.18
  • dependabot/go_modules/examples/github.com/mattn/go-isatty-0.0.19
  • dependabot/go_modules/examples/github.com/mattn/go-isatty-0.0.20
  • dependabot/go_modules/examples/github.com/muesli/termenv-0.10.0
  • dependabot/go_modules/examples/github.com/muesli/termenv-0.14.0
  • dependabot/go_modules/examples/github.com/muesli/termenv-0.15.0
  • dependabot/go_modules/examples/github.com/muesli/termenv-0.15.1
  • dependabot/go_modules/examples/golang.org/x/net-0.17.0
  • dependabot/go_modules/examples/golang.org/x/net-0.23.0
  • dependabot/go_modules/examples/golang.org/x/net-0.33.0
  • dependabot/go_modules/examples/gomod-d16fa4ff6e
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-0.13.1
  • dependabot/go_modules/github.com/charmbracelet/lipgloss-1.0.0
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.1.2
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.1.3
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.1.4
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.2.2
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.2.3
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.3.0
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.3.1
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.4.2
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.4.5
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.7.0
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.8.0
  • dependabot/go_modules/github.com/charmbracelet/x/term-0.2.0
  • dependabot/go_modules/github.com/charmbracelet/x/term-0.2.1
  • dependabot/go_modules/github.com/containerd/console-1.0.3
  • dependabot/go_modules/github.com/containerd/console-1.0.4
  • dependabot/go_modules/github.com/mattn/go-isatty-0.0.16
  • dependabot/go_modules/github.com/mattn/go-isatty-0.0.17
  • dependabot/go_modules/github.com/mattn/go-isatty-0.0.18
  • dependabot/go_modules/github.com/mattn/go-isatty-0.0.19
  • dependabot/go_modules/github.com/mattn/go-isatty-0.0.20
  • dependabot/go_modules/github.com/muesli/cancelreader-0.2.2
  • dependabot/go_modules/github.com/muesli/termenv-0.10.0
  • dependabot/go_modules/github.com/muesli/termenv-0.14.0
  • dependabot/go_modules/github.com/muesli/termenv-0.15.0
  • dependabot/go_modules/github.com/muesli/termenv-0.15.1
  • dependabot/go_modules/golang.org/x/sync-0.10.0
  • dependabot/go_modules/golang.org/x/sync-0.11.0
  • dependabot/go_modules/golang.org/x/sync-0.2.0
  • dependabot/go_modules/golang.org/x/sync-0.3.0
  • dependabot/go_modules/golang.org/x/sync-0.4.0
  • dependabot/go_modules/golang.org/x/sync-0.5.0
  • dependabot/go_modules/golang.org/x/sync-0.6.0
  • dependabot/go_modules/golang.org/x/sync-0.7.0
  • dependabot/go_modules/golang.org/x/sync-0.8.0
  • dependabot/go_modules/golang.org/x/sync-0.9.0
  • dependabot/go_modules/golang.org/x/sys-0.17.0
  • dependabot/go_modules/golang.org/x/sys-0.18.0
  • dependabot/go_modules/golang.org/x/sys-0.19.0
  • dependabot/go_modules/golang.org/x/sys-0.20.0
  • dependabot/go_modules/golang.org/x/sys-0.21.0
  • dependabot/go_modules/golang.org/x/sys-0.22.0
  • dependabot/go_modules/golang.org/x/sys-0.23.0
  • dependabot/go_modules/golang.org/x/sys-0.24.0
  • dependabot/go_modules/golang.org/x/sys-0.25.0
  • dependabot/go_modules/golang.org/x/sys-0.26.0
  • dependabot/go_modules/golang.org/x/sys-0.27.0
  • dependabot/go_modules/golang.org/x/sys-0.28.0
  • dependabot/go_modules/golang.org/x/sys-0.29.0
  • dependabot/go_modules/golang.org/x/sys-0.30.0
  • dependabot/go_modules/golang.org/x/term-0.16.0
  • dependabot/go_modules/golang.org/x/term-0.17.0
  • dependabot/go_modules/golang.org/x/term-0.18.0
  • dependabot/go_modules/golang.org/x/term-0.19.0
  • dependabot/go_modules/golang.org/x/term-0.20.0
  • dependabot/go_modules/golang.org/x/term-0.5.0
  • dependabot/go_modules/golang.org/x/term-0.6.0
  • dependabot/go_modules/golang.org/x/term-0.7.0
  • dependabot/go_modules/golang.org/x/term-0.8.0
  • dependabot/go_modules/golang.org/x/term-0.9.0
  • dependabot/go_modules/golang.org/x/text-0.3.8
  • dependabot/go_modules/gomod-f87529afe5
  • dependabotfix
  • deprecate-perforamance-stuff
  • deprecate-some-options
  • deprecated-use
  • deps
  • dlvhdr/tree-example
  • dns53-in-the-wild
  • doc-vscode-debug
  • docs
  • docs-add-projects
  • docs-add-projects-2
  • docs-add-prs
  • docs-deprecated
  • docs-every
  • docs-os
  • docs-sortapps
  • docs/logger
  • docs/not-british
  • docs2
  • docs_slurmcommander
  • donechan
  • double-repaint
  • dragonfly
  • empty-renders
  • enable-virtual-terminal-input
  • environ
  • erase-last-cell
  • event-filter
  • event-logger
  • example
  • example-lint
  • example-off-by-one
  • examples
  • examples-cleanup
  • examples-housekeeping
  • examples/download-progress
  • examples/use-lipgloss
  • exec-cancelreader
  • exec-cancelreader-opts
  • exec-cmd
  • exec-edits
  • exec-interface
  • exec-stdout
  • exec-test
  • execfail-test
  • ext-mouse
  • extra-keys
  • faq
  • feat/add-addl-libs
  • feat/log-multiline
  • feat/sequence-support-batch
  • feature/fix-examples
  • feature/mouse-tests
  • filepicker
  • final-render
  • fix-1167
  • fix-63
  • fix-CI
  • fix-cmd-tests
  • fix-context-error-swalling
  • fix-cursor-adjustment
  • fix-example
  • fix-hang-if-panic-during-init
  • fix-index-out-of-range-in-credit-card-example
  • fix-init-deadlock
  • fix-js
  • fix-line-count
  • fix-line-skip
  • fix-lint
  • fix-list-default-example
  • fix-msgs
  • fix-newline
  • fix-race-condition
  • fix-renderer-race
  • fix-renderer-race-altscreen
  • fix-spinner-example
  • fix-stackover
  • fix-typo
  • fix-typos
  • fix-with-fps-doc-comment
  • fix/#24
  • fix/docs
  • fix/docs--progress-download
  • fix/examples/bugs-in-package-manager
  • focus-blur-1
  • focus-docs
  • fps
  • function-keys
  • gifs
  • github-workflows
  • glamorous-viewport
  • glamour-example
  • glamour-example-fix
  • global-state
  • go-1.16
  • go-1.17-build-tags
  • go-mod-tidy
  • go117
  • goland-wait-for-terminal-size
  • goreleaser
  • grapheme-clustering
  • handle-cancelio
  • handler-housekeeping
  • handler-shadow
  • handlers-teardown
  • hello-again-keyspace
  • help-example
  • honor-ignored-lines
  • hrily/fix-nested-seq
  • httpit
  • ignore-error
  • ime
  • improve-chat-example
  • improve-docs
  • in-the-wild
  • ineffectual-assignment
  • inkel/program-start-docs
  • inkel/typo-tick
  • input
  • input-background-foreground
  • input-clipboard
  • input-close
  • input-closer
  • input-focus-blur
  • input-kitty
  • input-term-feats
  • input-test-error
  • input-tidying
  • input-validation
  • input-x-windows
  • input-xterm-other-keys
  • insert-key
  • interop
  • is-quit
  • its-called-cursed
  • keymsgs-batch
  • keys
  • kill-program
  • layouts-docs
  • leak-test
  • lint
  • lint-action
  • lint-workflow
  • lint2
  • linter-fixes
  • linter-rules
  • linter-soft-hard
  • lipgloss
  • lipgloss-auto-copy
  • list-example
  • list-example-improvements
  • list-formatting-test
  • list-new-rework
  • local-gifs
  • log
  • main
  • master
  • minesweeper
  • modify-personal-project-name
  • more-keybindings
  • more-lint
  • more-wildness
  • mouse
  • move-tutorial
  • mr-hacky-hack
  • multi-byte
  • multiline-input
  • mutex-flush
  • nachrichtenWithBubbletea
  • nakedreturn
  • nderjung/fix-639
  • nderjung/fix-nil-cancelreader
  • nested-models-docs
  • new-bubbles-constructors
  • nijo/add-startm-that-returns-final-model
  • nil-check-in-batch-cmd
  • nil-raw
  • nilrenderer-tests
  • nlcr
  • no-flick-render
  • nolint-directives
  • on-quit
  • opost
  • optional-signal-handler
  • opts-order
  • output-access
  • pager-performance-fix
  • panic-handler
  • patch-1
  • patch-2
  • patterns
  • pchhetri/add-chtop
  • picture-tag
  • pipe-fix
  • prefix-fix
  • println-docs
  • println-multiline-messages
  • println-renderer
  • program-kill
  • program-quit
  • program-struct
  • progress-anim
  • progress-example
  • prompt-cleanup
  • provisions-passed
  • pty
  • quit-test
  • race
  • race-flush-write
  • races-and-a-bug
  • readme
  • readme-badges
  • readme-fix
  • readme-fixes
  • readme-footer
  • readme-images
  • readme-links
  • readme-projects-update
  • readme-typos
  • readme-updates
  • realtime-example
  • received-typo
  • recover-cmd-panic
  • reduce-term-deps
  • refs/tags/v0.12.2
  • refs/tags/v0.12.3
  • refs/tags/v0.12.4
  • refs/tags/v0.12.5
  • refs/tags/v0.13.0
  • refs/tags/v0.13.1
  • refs/tags/v0.13.2
  • refs/tags/v0.13.3
  • refs/tags/v0.13.4
  • refs/tags/v0.13.5
  • refs/tags/v0.14.0
  • refs/tags/v0.14.1
  • refs/tags/v0.15.0
  • refs/tags/v0.16.0
  • refs/tags/v0.17.0
  • refs/tags/v0.18.0
  • refs/tags/v0.19.0
  • refs/tags/v0.19.1
  • refs/tags/v0.19.2
  • refs/tags/v0.19.3
  • refs/tags/v0.20.0
  • refs/tags/v0.22.0
  • refs/tags/v0.23.0
  • refs/tags/v0.23.1
  • refs/tags/v0.23.2
  • refs/tags/v0.24.0
  • refs/tags/v0.24.1
  • refs/tags/v0.24.2
  • refs/tags/v0.25.0
  • refs/tags/v0.26.0
  • refs/tags/v0.26.1
  • refs/tags/v0.26.2
  • refs/tags/v0.26.3
  • refs/tags/v0.26.4
  • refs/tags/v0.26.5
  • refs/tags/v0.26.6
  • refs/tags/v0.27.0
  • refs/tags/v0.27.1
  • refs/tags/v1.0.0
  • refs/tags/v1.0.1
  • refs/tags/v1.1.0
  • refs/tags/v1.1.1
  • refs/tags/v1.1.2
  • refs/tags/v1.1.3
  • refs/tags/v1.2.0
  • refs/tags/v1.2.1
  • refs/tags/v1.2.2
  • refs/tags/v1.2.3
  • refs/tags/v1.2.4
  • refs/tags/v1.3.0
  • refs/tags/v1.3.2
  • refs/tags/v1.3.3
  • refs/tags/v2.0.0-alpha.1
  • refs/tags/v2.0.0-alpha.2
  • release-renderer
  • remote-ioutil
  • remove-deprecated
  • remove-extra-full-screen-message
  • remove-keyspace
  • remove-redundant-lock
  • render-mutex
  • render-overflow
  • render-ticker
  • renderer-hotfix
  • renderer-optimization
  • renderer-reinit
  • renderer-stopkill-mutex
  • repaint-on-resize
  • replace-KeySpace
  • reset-cursor-pos
  • resize-handling
  • restore-release-cmds
  • restore-rerender
  • restoreterminalstate-fix
  • result-example-update
  • revert-1196-lint-workflow
  • revert-40-windows
  • revert-621-master
  • revert-v2-master
  • runewidth-ea
  • screen-orga
  • screen-panic
  • screen-renderer
  • screen-tests
  • scrolls
  • send-deadlock
  • send-on-closed-channel-fix
  • sendmsg-goroutine
  • seq
  • sequence
  • sequencemsg-test
  • set-title
  • setout
  • shift-modifier
  • shift-n-arrow-keys
  • showcursor
  • shutdown-lock
  • sighup
  • sigint
  • simple-list-example-cleanup
  • spelling
  • spinner-example-fix
  • spinner-id
  • spinner-update
  • split-editors-vertical
  • ssh-example
  • stable-v0.24.3
  • start-run-rename
  • startmodel-test
  • stopwatch
  • sub-deps
  • suggestions
  • suspend
  • table
  • table-example
  • table-resize
  • tabsexample
  • taming
  • term/ansi
  • term/input
  • termenv
  • termenv-bump
  • termenv-envcolorprofile
  • termenv-output
  • termenv2
  • termsize-check
  • test
  • tests
  • tests2
  • textarea
  • textarea-examples
  • textarea-split-editors
  • textinput-cursormode
  • textinput-example-improvements
  • textinput-update
  • tidy
  • tidy-examples
  • tidying-up
  • timer
  • timers
  • tmpls
  • tracer
  • truncate
  • tutorial
  • tutorial-map-to-slice
  • typo
  • typos
  • update-contributing
  • update-example-projects
  • update-readme-countdown
  • upstream-master
  • use-renovate
  • use-setting-filter-helper
  • v2-1212-context-error
  • v2-cmd-verbs
  • v2-colorprofile
  • v2-cursor-model
  • v2-cursor-styles
  • v2-cursorview
  • v2-doom-fire
  • v2-enh-keeb
  • v2-enhanced-keyboard
  • v2-envmsg
  • v2-example-update
  • v2-examples
  • v2-exp
  • v2-exp-ansi
  • v2-exp-examples
  • v2-exp-new
  • v2-ferocious
  • v2-ferocious2
  • v2-frames
  • v2-generics
  • v2-init
  • v2-init-size
  • v2-input
  • v2-keyboard-docs
  • v2-kitty-export
  • v2-kitty-ext
  • v2-kitty-wez
  • v2-mod-path
  • v2-msg-interface
  • v2-no-grapheme-clustering
  • v2-query-bg
  • v2-raw
  • v2-remove-cursor
  • v2-render-cursor
  • v2-renderer
  • v2-renderer-reset
  • v2-req-bg
  • v2-space
  • v2-splash
  • v2-sync
  • v2-textarea-api
  • v2-tuts
  • v2-vt
  • v2-windows-api
  • v2-windows-lost-key
  • v2.0.1-alpha.1
  • viewport
  • vim
  • wait
  • walk
  • welcome-back-fm
  • will/avoid-shadow
  • win-coninput
  • win-shift
  • win-size
  • win-size-cmd
  • win_input_records
  • windows
  • windows-console-restore
  • windows-fkeys
  • windows-notty-output
  • windows-winsize
  • windows/respect-altgr
  • windowsarm64
  • withcontext
  • without-signals
  • wrap-errs
  • x-term
  • zeichenorientierte-benutzerschnittstelle

04 Feb 2025 01:44AM UTC coverage: 71.933%. First build
13126615848

Pull #1305

github

awoodbeck
fix: use CancelIoEx to cancel Windows conInputReader across threads

The Windows conInputReader uses `windows.CancelIo` to close the read
loop's input handle. Windows `CancelIo` docs indicate that call is
only appropriate for I/O operations on the same thread as the `CancelIo`
call. Since the read loop is in its own goroutine, it's likely to be
on another thread from the bubbletea Program.

This change adds a call to Windows `CancelIoEx`, which will cancel I/O
operations across threads.
Pull Request #1305: fix: use CancelIoEx to cancel Windows conInputReader across threads

1243 of 1728 relevant lines covered (71.93%)

178.49 hits per line

Relevant lines Covered
Build:
Build:
1728 RELEVANT LINES 1243 COVERED LINES
178.49 HITS PER LINE
Source Files on bugfix/1167-windows-ignored-input
  • List 17
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
13126615848 bugfix/1167-windows-ignored-input fix: use CancelIoEx to cancel Windows conInputReader across threads The Windows conInputReader uses `windows.CancelIo` to close the read loop's input handle. Windows `CancelIo` docs indicate that call is only appropriate for I/O operations on the... Pull #1305 04 Feb 2025 02:05PM UTC awoodbeck github
71.93
See All Builds (3139)

Badge your Repo: bubbletea

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc