Skip to content

Status #72

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 120 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
06c5dd7
premin df
jenna-a2ai Mar 6, 2025
f048bd0
get_file_git_status
jenna-a2ai Mar 7, 2025
9ed46b5
get_file_qc_status scaffolding
jenna-a2ai Mar 7, 2025
01634ef
Merge remote-tracking branch 'origin/main' into status
jenna-a2ai Mar 19, 2025
8d5cb60
qc status for open issues
jenna-a2ai Mar 20, 2025
333a641
qc status function work
jenna-a2ai Mar 21, 2025
fd396fb
qc status closed issues
jenna-a2ai Mar 21, 2025
76ec728
qc status col
jenna-a2ai Mar 21, 2025
02bd33b
rework local commits git log
jenna-a2ai Mar 21, 2025
f86cb8f
qc status updates
jenna-a2ai Mar 24, 2025
975a5f7
add diagnostics for qc status and repo files
jenna-a2ai Mar 25, 2025
bf46205
add associated relevant files to qc status and diagnostics
jenna-a2ai Mar 25, 2025
312134d
add associated relevant files to qc status and diagnostics
jenna-a2ai Mar 25, 2025
3988d57
Merge remote-tracking branch 'refs/remotes/origin/status' into status
jenna-a2ai Mar 25, 2025
0de59e6
add QC status not available in case when current branch isn't qc branch
jenna-a2ai Mar 25, 2025
5fe2951
ghqc_status_app()
jenna-a2ai Mar 25, 2025
673e3fb
merging commit from resolve_glue_bug
jenna-a2ai Mar 26, 2025
e325274
status shiny app
jenna-a2ai Mar 26, 2025
015e8bc
updates to table
jenna-a2ai Mar 26, 2025
c8d9439
status app updates
jenna-a2ai Mar 27, 2025
ea675aa
update status app
jenna-a2ai Mar 27, 2025
9f643c8
adds milestone input to status app
jenna-a2ai Mar 27, 2025
2f03c72
adding error handling to in-app inputs
jenna-a2ai Mar 27, 2025
a9ae368
remove generate table button
jenna-a2ai Mar 27, 2025
fb908df
add caching
jenna-a2ai Mar 27, 2025
243b240
add DT dep
jenna-a2ai Mar 28, 2025
05083a2
remove error if file dne locally
jenna-a2ai Mar 28, 2025
71dcd6b
add hyperlinks to diagnostics
jenna-a2ai Mar 31, 2025
d24ed6d
update QC Statuses
jenna-a2ai Mar 31, 2025
27ca31c
add tryCatch to qc_status
jenna-a2ai Mar 31, 2025
05a65c0
improve caching
jenna-a2ai Mar 31, 2025
90c414a
status logs
jenna-a2ai Mar 31, 2025
dd3bdf4
update version to dev
jenna-a2ai Mar 31, 2025
c82d648
devtools::document
jenna-a2ai Mar 31, 2025
39aa9dd
use fillPage in UI
jenna-a2ai Apr 1, 2025
6aed589
adjust height
jenna-a2ai Apr 1, 2025
c6d79f1
height test
jenna-a2ai Apr 1, 2025
71a5356
ui change
jenna-a2ai Apr 1, 2025
75a3e47
ui change for table
jenna-a2ai Apr 1, 2025
e4a8f2f
ui change 3
jenna-a2ai Apr 1, 2025
dcc1a53
Merge remote-tracking branch 'refs/remotes/origin/status' into status
jenna-a2ai Apr 1, 2025
846f1d3
ui change 4
jenna-a2ai Apr 1, 2025
1455020
ui change 5
jenna-a2ai Apr 1, 2025
febfad8
scroll bar finally fixed
jenna-a2ai Apr 1, 2025
5f1ac59
adjust waiter to fill whole screen
jenna-a2ai Apr 1, 2025
fa7318d
add QCer checkbox
jenna-a2ai Apr 1, 2025
462fbdf
add caching for non-repo files
jenna-a2ai Apr 2, 2025
4e441b1
take remote log out of map_df
jenna-a2ai Apr 2, 2025
26c8272
add filter for file directory
jenna-a2ai Apr 2, 2025
a9b6730
add log to git status
jenna-a2ai Apr 2, 2025
9527b58
add qc status log time
jenna-a2ai Apr 2, 2025
a4960aa
refactor how git statuses are calculated
jenna-a2ai Apr 3, 2025
3ba48a1
add benchmark
jenna-a2ai Apr 3, 2025
23ef087
revise benchmark
jenna-a2ai Apr 3, 2025
e56a5b7
revise benchmark
jenna-a2ai Apr 3, 2025
339ca52
add benchmarking
jenna-a2ai Apr 3, 2025
969576f
optimize status app
jenna-a2ai Apr 4, 2025
ed82925
benchmark for git diff
jenna-a2ai Apr 4, 2025
d949afc
make git diff faster
jenna-a2ai Apr 4, 2025
c4e1787
simplify parameters
jenna-a2ai Apr 4, 2025
76507fb
minimize debounce
jenna-a2ai Apr 4, 2025
b24e15d
fix non-QC repo files
jenna-a2ai Apr 4, 2025
4d68a14
show non-qc files logic
jenna-a2ai Apr 4, 2025
7563e7d
root dir error handling
jenna-a2ai Apr 7, 2025
35c78ff
merge
jenna-a2ai Apr 7, 2025
714126d
remove browser
jenna-a2ai Apr 7, 2025
51a126c
Merge remote-tracking branch 'refs/remotes/origin/status' into status
jenna-a2ai Apr 7, 2025
714346d
merge
jenna-a2ai Apr 7, 2025
bb5bc87
fix merge conflicts
jenna-a2ai Apr 7, 2025
bf4b32a
fix flickering in non-qc files button
jenna-a2ai Apr 7, 2025
d33434a
fix non-qc files button
jenna-a2ai Apr 7, 2025
c781cce
fix sidebar width
jenna-a2ai Apr 7, 2025
9dc1daa
remove extra scroll bar
jenna-a2ai Apr 7, 2025
ec6feee
fix console error in DT
jenna-a2ai Apr 7, 2025
b8d886f
fix scroll bar
jenna-a2ai Apr 7, 2025
22e38d6
fix relevant files bug
jenna-a2ai Apr 8, 2025
af6c259
remove browsers
jenna-a2ai Apr 8, 2025
b56f0b2
remove browsers
jenna-a2ai Apr 8, 2025
4457a09
fix bug in get_init_qc_commit
jenna-a2ai Apr 8, 2025
e6c7870
fix reset bug
jenna-a2ai Apr 8, 2025
41a3675
fix toggle bug
jenna-a2ai Apr 8, 2025
b91efe1
update checkbox UI
jenna-a2ai Apr 8, 2025
f617efc
wrap file paths
jenna-a2ai Apr 8, 2025
a7d9a86
add column wrapping for files
jenna-a2ai Apr 8, 2025
862ff9e
re-fix toggle bug
jenna-a2ai Apr 8, 2025
aad8576
fix rcmdcheck findings
jenna-a2ai Apr 9, 2025
088d885
poc for comment button
jenna-a2ai Apr 10, 2025
ae17138
comment button implementation
jenna-a2ai Apr 10, 2025
86f1ff0
rest button and grid lines fixed
jenna-a2ai Apr 11, 2025
268ca13
update button logic
jenna-a2ai Apr 11, 2025
36e00b4
formatting w/ button logic
jenna-a2ai Apr 11, 2025
53308bf
reformat diagnostics
jenna-a2ai Apr 11, 2025
1db07ee
status commit
jenna-a2ai Apr 11, 2025
130f6fe
merge from main
jenna-a2ai Apr 11, 2025
89fbe05
deleted QC branch scenarios
jenna-a2ai Apr 11, 2025
f76c69b
add logic for merged in branches versus deleted branches
jenna-a2ai Apr 14, 2025
807b2d5
revise logic for qc status filter
jenna-a2ai Apr 14, 2025
f87541f
change logic for who is @ed in a resolve comment
jenna-a2ai Apr 14, 2025
99149d9
revise @ed user on github logic
jenna-a2ai Apr 15, 2025
7507dbf
remove old fxn
jenna-a2ai Apr 15, 2025
10224ef
merge from main
jenna-a2ai Apr 15, 2025
89d0fc0
only able to comment if git status is up-to-date
jenna-a2ai Apr 16, 2025
5ca658c
fix status factors
jenna-a2ai Apr 16, 2025
207ae3e
don't show comment button when qc commit == remote commit
jenna-a2ai Apr 16, 2025
09a6400
make row unselectable
jenna-a2ai Apr 16, 2025
6673119
add error handling if no ghqc milestones
jenna-a2ai Apr 16, 2025
67e3bf5
add reactives for git status info
jenna-a2ai Apr 17, 2025
9e9e07d
clean up status server
jenna-a2ai Apr 17, 2025
afbc105
fix rcmdcheck warnings
jenna-a2ai Apr 17, 2025
3d36fa7
merge from origin/main
jenna-a2ai Apr 17, 2025
33af551
fix rest button
jenna-a2ai Apr 17, 2025
5474ee6
remove scrollY
jenna-a2ai Apr 17, 2025
e2256dd
remove max height for table
jenna-a2ai Apr 17, 2025
3dcf786
stop table flickering
jenna-a2ai Apr 17, 2025
c9b2635
add back auto height for table
jenna-a2ai Apr 17, 2025
57fccda
set min height for scrollBody
jenna-a2ai Apr 17, 2025
bdfe059
make table min height smaller
jenna-a2ai Apr 17, 2025
036aaca
remove commented code
jenna-a2ai Apr 17, 2025
c5e9cec
attempt to fix column header rendering
jenna-a2ai Apr 17, 2025
23369cd
fix non-qc files bug
jenna-a2ai Apr 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package: ghqc.app
Title: Create QC Checklists in Github Issues
Version: 0.4.17
Version: 0.5.0.9001
Authors@R: c(
person("Jenna", "Johnson", email = "[email protected]", role = c("aut", "cre")),
person("Anne", "Zheng", email = "[email protected]", role = c("aut")),
Expand Down Expand Up @@ -39,7 +39,8 @@ Imports:
rprojroot (>= 2.0.3),
gitcreds (>= 0.1.2),
shinyvalidate,
xml2
xml2,
DT
Suggests:
testthat (>= 3.0.0),
httptest,
Expand Down
3 changes: 3 additions & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ export(ghqc_assign_app)
export(ghqc_record_app)
export(ghqc_resolve_app)
export(ghqc_set_config_repo)
export(ghqc_status_app)
import(dplyr)
import(purrr)
import(shiny)
importFrom(dplyr,"%>%")
importFrom(dplyr,case_when)
Expand Down
88 changes: 88 additions & 0 deletions R/app_04_status.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
#' @param milestones The default set of one or more milestones to render in the QC Status table
#'
#' @title Status QC file(s)
#'
#' @description
#' This function provides an interface to status QC files
#'
#' @return Starts a Shiny app and does not return any value.
#' @import shiny
#' @importFrom log4r info debug warn error
#' @export
ghqc_status_app <- function(milestones = NULL) {
inputted_milestones <- milestones

if (!exists("config_repo_path", .le)) ghqc_set_config_repo()
get_options()
git_fetch(prune = TRUE)

# error handling before starting app
rproj_root_dir()
creds <- check_github_credentials()
remote <- creds$remote
remote_name <- remote$name
org <- get_org_errors(remote)
repo <- get_repo_errors(remote)

all_ghqc_milestones <- list_ghqc_milestones(org, repo)

# error if no ghqc milestones
if (length(all_ghqc_milestones) == 0) {
error(.le$logger, glue::glue("There were no ghqc Milestones found in {org}/{repo}. Create ghqc Milestones using `ghqc_assign_app()`"))
rlang::abort("There were no open Milestones found.")
}

all_ghqc_milestone_names <- purrr::map_chr(all_ghqc_milestones, "title")

all_inputted_milestones_valid <- all(inputted_milestones %in% all_ghqc_milestone_names)
if (!(all_inputted_milestones_valid)) {
info(.le$logger, "Not all inputted Milestones exist. Rendering table with most recent Milestone")
}

default_milestones <- {
if (!is.null(inputted_milestones) && all_inputted_milestones_valid) {
inputted_milestones
} else {
get_most_recent_milestone(all_ghqc_milestones)
}
}

current_branch <- gert::git_branch()
local_commits <- get_local_commits()
remote_commits <- get_remote_commits(remote_name, current_branch)

ahead_behind_status <- check_ahead_behind()
# get files with remote changes
files_changed_in_remote_commits <- get_files_changed_in_remote_commits(remote_commits, ahead_behind_status)

# get files with local unpushed commits
files_changed_in_unpushed_local_commits <- get_files_changed_in_unpushed_local_commits(local_commits, ahead_behind_status)

# get files with local uncommitted file changes
files_with_uncommitted_local_changes <- get_files_with_uncommitted_local_changes()

app <- shinyApp(
ui = ghqc_status_ui(
id = "ghqc_status_app"
),
server = function(input, output, session) {
ghqc_status_server(
id = "ghqc_status_app",
all_ghqc_milestone_names = all_ghqc_milestone_names,
default_milestones = default_milestones,
org,
repo,
local_commits,
remote_commits,
current_branch,
remote,
ahead_behind_status,
files_changed_in_remote_commits,
files_changed_in_unpushed_local_commits,
files_with_uncommitted_local_changes
)
}
)
port <- as.numeric(Sys.getenv("GHQC_SHINY_PORT", 5257))
runApp(app, port = port)
}
Loading