Skip to content

manual review#36

Open
PrajaktaBendreBito wants to merge 11 commits intotestingbranchfrom
mix-language
Open

manual review#36
PrajaktaBendreBito wants to merge 11 commits intotestingbranchfrom
mix-language

Conversation

@PrajaktaBendreBito
Copy link
Copy Markdown
Owner

@PrajaktaBendreBito PrajaktaBendreBito commented Dec 23, 2025

Summary by Bito

  • Introduces new features in Go, including concurrency and interface handling.
  • Adds comprehensive class definitions and testing routines in Java.
  • Introduces utility functions, DOM manipulation, error handling, and modern coding practices in JavaScript, Python, Ruby, and TypeScript.
  • Overall, introduces a suite of new features across six programming languages (Go, Java, JavaScript, Python, Ruby, TypeScript), significantly expanding the codebase and enhancing cross-language support and system capabilities.

PrajaktaBendreBito and others added 9 commits June 26, 2025 16:33
Co-authored-by: bito-code-review[bot] <188872107+bito-code-review[bot]@users.noreply.github.com>
Co-authored-by: bito-code-review[bot] <188872107+bito-code-review[bot]@users.noreply.github.com>
Co-authored-by: bito-code-review[bot] <188872107+bito-code-review[bot]@users.noreply.github.com>
@PrajaktaBendreBito PrajaktaBendreBito changed the title Verify Review Skipped when Seat Required manual review Dec 24, 2025
@PrajaktaBendreBito
Copy link
Copy Markdown
Owner Author

/review

@bito-app-pre-prod
Copy link
Copy Markdown
Contributor

bito-app-pre-prod bot commented Dec 24, 2025

Changelist by Bito

This pull request implements the following key changes.

Key Change Files Impacted
New Feature - New Cross-Language Implementations

test.go - Introduces a new Go package with concurrency routines, interface definitions, and utility functions.

test.java - Adds a comprehensive user management class with data processing methods and embedded tests in Java.

test.js - Implements various utility functions, DOM interactions, and object manipulations in JavaScript.

test.py - Provides a fresh Python module featuring class definitions, computational functions, and file handling routines.

test.rb - Introduces a Ruby class covering JSON processing, error management, and array transformations.

test.ts - Adds new TypeScript functions with event handling, class structures, and error throwing for robust functionality.

Copy link
Copy Markdown
Contributor

@bito-app-pre-prod bito-app-pre-prod bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review Agent Run #a658ac

Actionable Suggestions - 16
Additional Suggestions - 17
  • test.go - 2
    • SRP violation · Line 26-26
      The function veryLongFunctionWithTooManyResponsibilities has too many parameters and likely too many responsibilities.
    • Error handling · Line 35-35
      The error from os.Open is ignored, which may hide failures.
  • test.java - 4
    • Direct Thread Creation · Line 33-41
      Directly creating and starting a new Thread can lead to resource management issues; an ExecutorService would provide better control.
    • Mixed Responsibilities · Line 51-57
      The class mixes user management logic with vehicle modeling via inner classes, violating single responsibility.
    • Variable Shadowing · Line 38-38
      The local maxSize variable shadows the static maxSize field, potentially confusing readers about which value is used.
    • Unnecessary Else · Line 47-48
      The 'else' after 'return null;' is redundant and can be omitted for cleaner control flow.
  • test.ts - 10
    • Variable Declaration · Line 1-1
      Use const instead of var for better scoping and to avoid hoisting issues.
      Code suggestion
       @@ -1,1 +1,1 @@
      - var a = 1, b = 2
      + const a = 1, b = 2
    • Object Modification · Line 4-4
      Adding arbitrary properties to arrays can confuse readers and is discouraged.
    • Type Safety · Line 22-22
      Cast to HTMLButtonElement | null for type safety.
      Code suggestion
       @@ -22,1 +22,1 @@
      - const button = document.querySelector('button')
      + const button = document.querySelector('button') as HTMLButtonElement | null
    • Error Handling · Line 54-54
      Use new Error() for proper error handling.
      Code suggestion
       @@ -54,1 +54,1 @@
      - throw 'Something went wrong'
      + throw new Error('Something went wrong')
    • Array Creation · Line 3-3
      Prefer [] over new Array() for conciseness.
      Code suggestion
       @@ -3,1 +3,1 @@
      - const arr = new Array(1, 2, 3)
      + const arr = [1, 2, 3]
    • Object Creation · Line 6-6
      Prefer {} over new Object().
      Code suggestion
       @@ -6,1 +6,1 @@
      - const obj = new Object()
      + const obj = {}
    • Property Access · Line 9-10
      Use const {name, age} = user; for readability.
      Code suggestion
       @@ -8,4 +8,2 @@
        const user = { name: 'Alice', age: 25 }
      - const name = user.name
      - const age = user.age
      + const {name, age} = user
    • Function Syntax · Line 12-12
      Use const foo = () => 42; for simplicity.
      Code suggestion
       @@ -12,3 +12,1 @@
      - const foo = function() {
      -   return 42
      - };
      + const foo = () => 42;
    • Callback Syntax · Line 17-17
      Use (value) => console.log(value) in forEach.
    • Unnecessary Code · Line 27-27
      Empty class may be unnecessary.
  • test.js - 1
    • Unused import and require style forbidden · Line 19-19
      The import `getData` is assigned but never used. Additionally, `require()` style imports are forbidden; use ES6 `import` syntax instead.
      Code suggestion
       @@ -19,1 +19,1 @@
      -const getData = require('./data');
      +import getData from './data';
Review Details
  • Files reviewed - 6 · Commit Range: e1e0a00..d4aee42
    • test.go
    • test.java
    • test.js
    • test.py
    • test.rb
    • test.ts
  • Files skipped - 0
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful
    • Java-google-format (Linter) - ✔︎ Successful
    • Ruby (Linter) - ✔︎ Successful
    • Eslint (Linter) - ✔︎ Successful
    • Golangci-lint (Linter) - ✖︎ Failed
    • MyPy (Static Code Analysis) - ✔︎ Successful
    • Astral Ruff (Static Code Analysis) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Default Agent You can customize the agent settings here or contact your Bito workspace admin at prajakta.bendre@bito.ai.

Documentation & Help

AI Code Review powered by Bito Logo

Comment thread test.py
if x: return 42

def check_type(obj):
if type(obj) == int:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Type check improvement

Using type(obj) == int fails for int subclasses (e.g., bool); use isinstance(obj, int) to correctly handle inheritance.

Code Review Run #a658ac


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

explain this suggestion

Comment thread test.py
Comment thread test.py
@@ -0,0 +1,41 @@
import os,sys
from math import *
Copy link
Copy Markdown
Contributor

@bito-app-pre-prod bito-app-pre-prod bot Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wildcard import prevents name detection

Replace from math import * with explicit imports of needed functions to enable proper name detection and improve code clarity.

Code suggestion
Check the AI-generated fix before applying
Suggested change
from math import *
from math import ceil, floor
Review Rule
Bito created the rule Avoid Wildcard Imports for repo: PrajaktaBendreBito/BookStore, language: Python. Bito will avoid suggestions that match this rule. You can manage review rules here.
Code Review Run #a658ac

Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

avoid

Comment thread test.py
Comment on lines +17 to +18
def example(x):
if x: return 42
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing explicit return at function end

Add explicit return None or restructure the function to ensure all code paths return a value.

Code suggestion
Check the AI-generated fix before applying
Suggested change
def example(x):
if x: return 42
def example(x):
if x: return 42
return None

Code Review Run #a658ac


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.py
return True

def open_file():
f = open ("file.txt")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resource leak prevention

Manual file handling risks resource leaks if exceptions occur; use a context manager to ensure automatic closure.

Code Review Run #a658ac


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.py Outdated
Comment thread test.py
if val == None:
print("is none")

SOME_CONST = "abc",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Data type fix

The trailing comma after 'abc' creates a tuple ('abc',) instead of a string 'abc'; if a string is intended, remove the comma to avoid type-related errors when used.

Code Review Run #a658ac


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.ts
}
}

function process(value: any) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Type Safety

Avoid any; use string for toUpperCase.

Code suggestion
Check the AI-generated fix before applying
Suggested change
function process(value: any) {
function process(value: string) {

Code Review Run #a658ac


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.js
const numbers = new Array(1, 2, 3);

const message = "Hello, world!";
const greeting = "Hello, " + name;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undefined variable reference

The variable 'name' is referenced in the string concatenation but not defined until later, leading to a ReferenceError at runtime.

Code Review Run #a658ac


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.js
const greeting = "Hello, " + name;

const getUser = function(id) {
return database.findUser(id);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undefined variable reference

The variable 'database' is not defined, causing a ReferenceError when the function is called.

Code Review Run #a658ac


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.js
const age = 30;
let firstName;

if (a === b) doSomething();
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undefined variable reference

Variables 'a' and 'b' are not defined, causing a ReferenceError if the condition is evaluated.

Code Review Run #a658ac


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.js

if (a === b) doSomething();

if (isValid) doSomethingElse();
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undefined variable reference

Variable 'isValid' is not defined, causing a ReferenceError if the condition is evaluated.

Code Review Run #a658ac


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.js
}
}

const button = $(".button");
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undefined variable reference

Variable '$' is not defined, likely intended for jQuery, causing a ReferenceError.

Code Review Run #a658ac


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.java
Comment on lines +22 to +29
switch(AGE){
case 18:
System.out.println("Adult");
case 21:
System.out.println("Drinking age in US");
default:
System.out.println("Other age");
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Switch Fall-Through Bug

The switch statement on AGE lacks break statements, causing unintended fall-through that prints extra messages for cases like AGE=18.

Code Review Run #a658ac


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.go
Comment on lines +27 to +28
if a > 10 {
panic("too big")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Avoid panic

Using panic for error handling is not recommended; consider returning an error.

Code Review Run #a658ac


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.rb
require 'json'; require 'net/http'
include Math

class sample_class
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Class name must be a constant literal

Class name sample_class must start with an uppercase letter. Ruby convention requires class names to be constants (PascalCase). Rename to SampleClass.

Code suggestion
Check the AI-generated fix before applying
Suggested change
class sample_class
class SampleClass

Code Review Run #a658ac


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

PrajaktaBendreBito and others added 2 commits December 24, 2025 13:26
Co-authored-by: bito-app-pre-prod[bot] <192595177+bito-app-pre-prod[bot]@users.noreply.github.com>
Co-authored-by: bito-app-pre-prod[bot] <192595177+bito-app-pre-prod[bot]@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@bito-app-pre-prod bito-app-pre-prod bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review Agent Run #32e34c

Actionable Suggestions - 15
Additional Suggestions - 16
  • test.go - 3
    • Ignored error · Line 40-40
      Ignoring the error from veryLongFunctionWithTooManyResponsibilities may hide failures.
    • SRP violation · Line 26-26
      The function name and parameter list suggest multiple responsibilities, violating SRP.
    • Dead code · Line 33-36
      helperFunction is defined but never called, making it dead code.
  • test.rb - 5
    • Unused imports · Line 1-1
      'json' and 'net/http' are required but not used, wasting memory.
    • Unused include · Line 2-2
      Math is included but not used.
    • Instance variable naming · Line 7-7
      Instance variables in Ruby should use snake_case. '@value' should be '@value' to match conventions.
    • Method naming convention · Line 10-10
      Method names in Ruby should use snake_case. 'processUser' should be 'process_user'.
    • Redundant comparison · Line 80-80
      Redundant '== true' in condition.
  • test.java - 1
    • Unused Inner Classes · Line 51-57
      The inner classes vehicle and car are defined but never used, adding unnecessary code.
  • test.ts - 7
    • Style Issue · Line 1-1
      Using 'var' instead of 'let'/'const' can lead to scoping issues; prefer block-scoped declarations.
    • Style Issue · Line 3-3
      Prefer array literals over 'new Array()' for simplicity and consistency.
    • Style Issue · Line 6-6
      Prefer object literals over 'new Object()' for simplicity.
    • Readability Issue · Line 9-10
      Destructuring improves readability and reduces repetition.
    • Style Issue · Line 12-12
      Arrow functions are more concise for simple expressions.
    • Style Issue · Line 17-17
      Arrow functions in callbacks improve readability.
    • Style Issue · Line 54-54
      Throwing strings is discouraged; use Error objects for better error handling.
Filtered by Review Rules

Bito filtered these suggestions based on rules created automatically for your feedback. Manage rules.

  • test.py - 1
    • Wildcard import prevents name detection · Line 2-2
Review Details
  • Files reviewed - 6 · Commit Range: e1e0a00..cbedee4
    • test.go
    • test.java
    • test.js
    • test.py
    • test.rb
    • test.ts
  • Files skipped - 0
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful
    • Eslint (Linter) - ✔︎ Successful
    • Java-google-format (Linter) - ✔︎ Successful
    • Golangci-lint (Linter) - ✖︎ Failed
    • Ruby (Linter) - ✔︎ Successful
    • MyPy (Static Code Analysis) - ✔︎ Successful
    • Astral Ruff (Static Code Analysis) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Default Agent You can customize the agent settings here or contact your Bito workspace admin at prajakta.bendre@bito.ai.

Documentation & Help

AI Code Review powered by Bito Logo

Comment thread test.py
Comment on lines +29 to +33
def open_file():
f = open ("file.txt")
data = f.read()
f.close()
return data
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use context manager for file operations

Use a with statement to ensure the file is properly closed: with open('file.txt') as f: data = f.read().

Code suggestion
Check the AI-generated fix before applying
Suggested change
def open_file():
f = open ("file.txt")
data = f.read()
f.close()
return data
def open_file():
with open("file.txt") as f:
return f.read()

Code Review Run #32e34c


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.rb
else
if user.active?
if is_enabled
send_email(user)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undefined method call

Calling undefined method 'send_email' will raise NoMethodError at runtime. Ensure this method is defined or the call is removed.

Code Review Run #32e34c


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.rb
end
end

user = User.create(:name => "Alice")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undefined class reference

User is undefined, causing NameError. Ensure User class is available.

Code Review Run #32e34c


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.rb
end

begin
risky_operation
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undefined method call

risky_operation is undefined, will raise NoMethodError.

Code Review Run #32e34c


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.rb
puts e.message
end

result = large_collection.map { |item| item.process }.first(10)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undefined variable

large_collection is undefined, causing NameError.

Code Review Run #32e34c


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.rb

result = large_collection.map { |item| item.process }.first(10)

hash = array.reduce({}) do |memo, item|
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undefined variable

array is undefined.

Code Review Run #32e34c


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.rb
memo
end

if config[:timeout]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undefined variable

config is undefined.

Code Review Run #32e34c


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.rb
timeout = 30
end

if file.empty? == true then puts 'Empty file' end
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undefined variable

file is undefined.

Code Review Run #32e34c


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.rb

if file.empty? == true then puts 'Empty file' end

if foo == 'bar' then do_something end
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undefined variable and method

foo and do_something are undefined.

Code Review Run #32e34c


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.java
Comment on lines +59 to +62
@Test
void testPositive() {
assertEquals(10, someMethod(5));
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mixed Responsibilities

Placing a test method in the production user_manager class mixes testing logic with business logic, potentially affecting maintainability in a shared module.

Code Review Run #32e34c


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.py
Comment on lines +25 to +27
def check_prefix(filename):
if filename[:5] == "data_":
return True
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing explicit return at function end

Add explicit return False at the end of the function to ensure all code paths return a value.

Code suggestion
Check the AI-generated fix before applying
Suggested change
def check_prefix(filename):
if filename[:5] == "data_":
return True
def check_prefix(filename):
if filename[:5] == "data_":
return True
return False

Code Review Run #32e34c


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.go
Comment on lines +16 to +19
x := make(chan int, 1)
go func() {
x <- 1
}()
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Goroutine leak risk

The goroutine sends to channel x but there's no receive, potentially causing a leak and incomplete work.

Code Review Run #32e34c


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.js
this.name = name;
}

const getData = require('./data');
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused import and require style forbidden

The import getData is unused and require() style imports are forbidden. Use ES6 import syntax instead: import getData from './data'; and remove if unused.

Code suggestion
Check the AI-generated fix before applying
Suggested change
const getData = require('./data');
import getData from './data';

Code Review Run #32e34c


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Comment thread test.ts
}

function process(value: any) {
console.log(value.toUpperCase())
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Runtime Error Risk

Calling 'toUpperCase' on 'any' type can fail at runtime if the value isn't a string.

Code Review Run #32e34c


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant