Skip to content

Releases: department-of-veterans-affairs/caseflow

deployed/20240920_211358

20 Sep 21:13
ba1fd59
Compare
Choose a tag to compare

Commit: ba1fd59

Merge pull request #22862 from department-of-veterans-affairs/release/FY24Q4.5.0

Release R2.5.0

Appeals Caseflow R2.5.0_FY24Q4.5

19 Sep 21:26
ba1fd59
Compare
Choose a tag to compare

Commit: ba1fd59

Merge pull request #22862 from department-of-veterans-affairs/release/FY24Q4.5.0

Release R2.5.0


Commit: bb83d03

APPEALS-50829: (#22868)

Add restricted_statuses solution and initial RSpec test file

Fix positioning of restricted_statuses array to under set_type

Make modification that only prevents non-board users from viewing the assigned_to_location CSS IDs

Only prevent vso employees/Private attorneys from viewing CSS IDs in restricted status state

Refactor comment to better explain what is happening, and add proper staging to RSpec file

Make restricted statuses array immutable

Add more extensive test coverage (every restricted status type)

Co-authored-by: AimanK Aiman.Kayad@va.gov


Commit: 5486121

Revert "hotfix APPEALS-23420 and APPEALS-57844 (#22848)" (#22867)

This reverts commit 8d7b9da.


Commit: acd7828

Feature/APPEALS-50887 (#22844)

  • Calvin/APPEALS-43852-cavc-levers (#21441)

  • enabled cavc affinity levers in UI

  • updated rspec

  • [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

  • [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

  • Affinity rules applied to non genpop

  • Addressed comments

  • Addressed comments

  • fixed rubocop issues + added clarity to where clause


Co-authored-by: Calvin Calvin.Costa@va.gov

  • APPEALS-44956: Add AppealAffinity model and database table (#21526)

  • add migration for appeal_affinities

  • add AppealAffinity model and associations, update migration for new column

  • update index to be unique

  • add factory, add tests

  • add factory traits to appeal and case for appeal affinities

  • add combination trait to appeal factory

  • add appeal_affinity to skipped associations in ETL reporting

  • add a validation, test

  • Craig/appeals 44958 (#21564)

  • add new job, update affinity model validation and after save hook

  • add update from push job

  • fix job extending distribution scopes

  • add with appeal affinities to distribution scopes

  • typo

  • add error handling, add test file

  • add distributed case factory, refactor naming in job

  • fix factories, added tests

  • fix migration for null affinity start date column

  • fixes, added tests

  • more test updates

  • add return in job if no query results, tests for no query results

  • add test for after_save hook adding dist task instructions

  • set start dist job to queue affinity job after running

  • fix update job and start dist job spec

  • queue affinity update job from push job

  • code clarity

  • fix judge in seed file

  • remove comment, fix hearing factory, disable some seeds for testing

  • add more tests

  • test refactor

  • update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

  • disable new seed on reset

  • update seed file with vet names, add another seed category

  • fix distirbuted case factory?

  • actually fix GHA runs

  • lint, test fixes

  • change constants in new job

  • [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action (#21556)

  • test changes for seans ticket

  • test changes

  • added joins to all required methods

  • fixed lint

  • fixed column ambiguity errors

  • cleaned up naming scheme

  • Documentation for JOIN_PREVIOUS_APPEALS constant


Co-authored-by: Calvin Calvin.Costa@va.gov

  • APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

  • swap distribution queries from distribution_task to appeal_affinities

  • update seed files to use appeal affinities instead of distribution task

  • clean up seed file method names

  • add missing Timecop.return in ama affinity case seed

  • fix name of a method in a seed file

  • remove references to distribution task in distribution scopes

  • fix push priority job tests

  • fix naming of args in one of the seed files

  • fix user seed, fix date format in distribution task instructions

  • fix tests for date format update

  • APPEALS-44187: Factory Bot Additions (#21438)

  • AC1: values for bfddec and bfmpro

  • AC2: case issues updated to '3'

  • AC3-4: attorney and judge additions

  • ac 5: bfdpdcn addition

  • AC6: case type action addition

  • ac7: new folder match to original

  • ac8: case issues set to original

  • AC 3/4: added associations to original

  • ac3/4: updated logic to handle no args

  • ac3/4: return sattyid

  • ac7:updating folder assignment

  • ac7: added bfkey to except block

  • ac7/8: update to case issue list and validations dismissed

  • removed byebug

  • ac7: added 'ticknum' to except

  • lint fixes

  • lint fixes

  • lint fixes

  • lint fixes

  • nested trait into form_9 factory

  • new addtions

  • added .save to case issues

  • resolving correspondent and titrnum associations

  • fixed bfdc typo

  • factory additions

  • added ssn to associated corr.

  • removed transient and added .save

  • added after create to corr factory

  • veteran lookup check prior to create

  • committing missed 'end'

  • moved over veteran create to case fact.

  • move corr. association field to case fact.

  • lint issues + corres. save

  • Calvin/APPEALS-44957-rake-affinity (#21577)

  • grabbed receipt dates from distributed cases

  • refactored for functionality + added method to grab appeals that match

  • using receipt date, get all related appeals

  • added update/creation plus cleaned prior imple.

  • gets most recent distributed case receipt_date

  • skips if receipt_date is nil for performance

  • if appeal affinity is nil, it will now be updated

  • created spec file

  • fixed non ready appeals

  • updated query to match new AC

  • removing comment

  • testing for each docket

  • updated spec file

  • added new tests to rspec

  • updated start date to receipt date instead of Time.now

  • fixed date/time rspec errors

  • added rails logger to know when rake task has finished

  • added tag for rails log

  • removed nonpriority dockets for direct_review and evidence_submission

  • fixed lint issue

  • fixed flaky spec test

  • limits distributed cases query to within the last week

  • APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

  • add affinity start date to explain page

  • add feature test to verify dates display

  • Sudhir/appeals 43851 (#21613)

  • Implement CAVC + AOD Affinity Lever for AMA Dockets

  • addressed comments

  • addressed comments

  • Addressed comments

  • added cavc_aod_affinity in case distribution lever model

  • addressed comments

  • addressed comments

  • updated specs

  • Updated specs

  • specs changes reverted

  • ama_aod and ama_non_aod queries updated

  • change the assertion in docket spec

  • Craig/appeals 46196 (#21689)

  • fix query, tested locally

  • add basic test to verify csv downloads aren't broken

  • APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

  • add test to validate cavc+aod on hearing docket appeals

  • lint, test case_docket_spec fix

  • modify case_docket_spec again

  • more test fix testing

  • attempt to fix test again

  • test removing prev appeals from nonpriority queries

  • more test tests

  • feature toggle change in test

  • reorder new portions of query

  • remove unused portions of queries in case_docket

  • revert unneeded change to query order

  • revert unneeded change to query order

  • update rake task and spec (#21731)

  • APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

  • add aod hearing cases to ama affinity cases seed

  • fix lever spec

  • APPEALS-45148: Hook to clear saved affinity date (#21623)

  • initial imp. idea

  • AC1: check for affinity_start_date on assignment

  • AC2/3: update affinity start date w/ instr.

  • updates to naming, instructions, and hook logic

  • updates after review

  • rspec coverage and addtional condition

  • removed unused identifier

  • removed reduntant 'self's

  • added update on actual AA record

  • updated to save aa record and addtional rspec

  • added change to assignment on no record test

  • check for assignment

  • addd update to 'on_hold' status

  • public method to handle legacy affinity appeals

  • added .reload to :with_affinity_appeal

  • added .reload to :ready_for_distribution

  • updates to pass explain_spec

  • switched boolean values

  • typo

  • readujsted order on :create for affinity appeal

  • removed after(:create)

  • testing rspec by readding after :create

  • reloading in assertation

  • addressing lint errors

  • fix seeds/users_spec

  • add case dist lever to new tests (#21776)

  • fix tests, add lever to factory, fix dist scopes (#21779)

  • fix rubocop warning

  • Acd/appeals 43853 43854 (#21971)

  • Calvin/appeals 43853 (#21723)

  • initial updates

  • removing unnecessary variable

  • focused in on priority

  • removing non priority stuff

  • added general comments

  • added BFAC and AOD to cavc aod lever query

  • adding judge vacols id to query

  • aod affinity_start_date filter initial changes

  • fixed sorting

  • fixed rubocop issues

  • updated filter method

  • error handling

  • added ineligibility to queries for PREV_DECIDING_JUDGE

  • fixed SQL query + added comments

  • added exclude from affinity check into the case docket queries

  • error handling + fixing sql queries

  • rejects appeals without affinity_start_dates and nonmatching judges

  • fixing rubocop offenses

  • fixed inconsistencies between methods

  • fixed conditions for rejecting appeals...

Read more

deployed/20240918_211341

18 Sep 21:13
e34da00
Compare
Choose a tag to compare

Commit: e34da00

feature/APPEALS-34124-43428-29105-28925-33581 - Rails 6.1 upgrade (release) (#22813) (#22817)

  • 🔧 Assume defaults for config.action_dispatch.use_cookies_with_metadata and config.action_mailer.delivery_job

The following config settings are not backwards compatible:

  • config.action_dispatch.use_cookies_with_metadata
  • config.action_mailer.delivery_job

Now that Rails 6.0 is stable on production, we can assume
their default values going forward.

  • ✅ Fix flakey spec

  • 🔧 Assume default for config.action_dispatch.use_authenticated_cookie_encryption

Since we are making other cookie configuration changes in this PR for Rails 6.0,
this is an opportune time to migrate this Rails 5.2 cookie setting to its
default value as well.

  • ⏪️ Restore overrides for config.action_dispatch.use_authenticated_cookie_encryption and config.action_dispatch.use_cookies_with_metadata

While testing in PreProd, we discovered that, without these cookie config overrides,
re-authentication was broken -- after logging out, a user could not log back in.

Since the default settings are still optional going forward, we can restore these
overrides and devise a solution to migrate cookies later.

For more details, see Jira story APPEALS-54897:

https://jira.devops.va.gov/browse/APPEALS-54897

  • ✨ Add new utility module for adding DB indexes concurrently

Introduces Caseflow::Migrations::AddIndexConcurrently as a replacement
for Caseflow::Migration for migrations on ActiveRecord 6.0 and beyond,
since Caseflow::Migration is forever coupled to ActiveRecord 5.1 due
to its extensive use on legacy migrations and should be deprecated moving
forward.

  • 🗑️ Deprecate Caseflow::Migration

  • 🔧 Add instructive error message for non-concurrent add_index migrations

  • 🚨 Address linter / codeclimate complaints

  • ✨ Introduce SslRedirectExclusionPolicy

To be used in the environment configuration settings for excluding exempt
request paths from SSL redirects when config. force_ssl = true

  • ♻️ Replace deprecated controller-level force_ssl

Replace deprecated controller-level force_ssl with
equivalent configuration settings in preparation for
the Rails 6.1 upgrade.

  • 🔥 Remove deprecated config setting config.active_record.sqlite3.represent_boolean_as_integer

This will have no implications for Caseflow, since we are only using the sqlite3
adapter nominally for the demo_vacols database, which is not actually being used
in our demo environments (demo environments are deployed as development envs).

  • ⬆️ Update caseflow-commons to resolve sub-dependency conflicts

Removes unneeded gems bourbon and neat, which had a sub-dependency conflict on thor.

  • ⬆️ Update rails and other gems as necessary

  • 🐛 Fix 'uninitialized constant' error when loading app

  • ⬆️ bin/rails app:update - Apply relevant changes

  • 🔧 Override default for config.active_record.has_many_inversing

  • 🔧 Assume default for config.active_storage.track_variants

We're not currently using ActiveStorage in Caseflow, so it
is safe to just assume the default here.

  • 🔧 Override default for config.active_job.retry_jitter

The default jitter is probably safe, however, I'm not 100% sure that we
don't have any jobs that need to be requeued with exact wait times. So
we let's override this for now to stay on the safe side.

  • 🔧 Assume default for config.active_job.skip_after_callbacks_if_terminated

We're not currently using throw :abort within any before_enqueue/before_perform 
callbacks on existing Caseflow jobs, so the default should be fine here.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#4c60

  • 🔧 Assume default for config.action_dispatch.cookies_same_site_protection

This setting controls the SameSite optional attribute for the
Set-Cookie header.

SameSite=Lax means that the cookie is not sent on cross-site requests,
such as on requests to load images or frames, but is sent when a user is
navigating to the origin site from an external site (for example, when
following a link). This is the default behavior if the SameSite attribute
is not specified.

Lax is currently the default assumed by both Chrome and Edge browsers
when this attribute is left unspecified, so assuming this value
should be sensible. It allows us to have our cake (blocking CSRF attacks)
and eat it too (providing a logged-in experience when users navigate to
Caseflow across origins).

For more background, see

  • 🔧 Assume default for config.action_controller.urlsafe_csrf_tokens

  • 🔧 Assume default for ActiveSupport.utc_to_local_returns_utc_offset_times

We're not using ActiveSupport::TimeZone.utc_to_local anywhere,
so the default is safe to assume here.

  • 🔧 Assume default for config.action_dispatch.ssl_default_redirect_status

The default is safe to assume.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#4c3e

  • 🔧 Assume default for config.active_record.legacy_connection_handling

The default should be safe to assume here, as we do not do any
role or shard switching on database connections.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#8007

  • 🔧 Assume default for config.action_view.form_with_generates_remote_forms

We don't use the form_with helper anywhere, so this behavior change is
inconsequential for us, and we can safely assume the new default.

  • 🔧 Assume default for config.active_storage.queues.analysis

We do not use ActiveStorage, so the default is safe to assume here.

  • 🔧 Assume default for config.active_storage.queues.purge

We do not use ActiveStorage, so the default is safe to assume here.

  • 🔧 Assume default for config.action_mailbox.queues.incineration

We don't use ActionMailbox, so the new default is safe to assume here.

  • 🔧 Assume default for config.action_mailbox.queues.routing

We do not use ActionMailbox, so the default is safe to assume here.

  • 🔧 Assume default for config.action_mailer.deliver_later_queue_name

We're not using ActionMailer::MessageDelivery #deliver_later anywhere,
so the default is safe to assume.

  • 🔧 Assume default for config.action_view.preload_links_header

This flag can be safely uncommented. Browsers that support Link
headers will get a performance boost. Browsers that don’t will
ignore them.

We override in development environments to avoid an edge case
leading to an HTTP response header overflow.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#3679

  • 🔥 Remove 'new_framework_defaults_6_1.rb'

  • 🔧 Load defaults for Rails 6.1

  • ♻️ Extract constant

  • ♻️ Migrate to new Rails deprecation config where applicable

  • ♻️ Push members down now that there is only one subclass

  • 🩹 Add forgotten disallowed deprecation warning

This deprecation warning was addressed by the following
PR, but we forgot to add it to the list of disallowed
deprecation warnings:

#21614

  • 💡 Update comment

Task rake routes has been replaced with rails routes

  • ✅ Update test to account for change to ActionDispatch::Response#content_type 

ActionDispatch::Response#content_type now returns the full Content-Type header

  • 🚨 Exclude 'config.ru' from Rubocop cops

  • 🚚 Move 'db/etl/migrate' to 'db/etl_migrate'

  • 🚚 Move 'db/etl/schema.rb' to 'db/etl_schema.rb'

  • ♻️ Arrange 'database.yml' configs by environment

Group DB configs by environment in anticipation of
reformatting for Rails 6+ multi-DB configuration.

  • 🔧 Reformat 'database.yml' to Rails 6+ multi-DB conventions

  • 🔧 Add etl migration paths to DB config

  • 🔧 Update DB connection names in 'database_cleaner' config

  • ♻️ Use new database-specific rake tasks

After migrating to the Rails 6+ native multi-database configuration,
the behavior of some DB management tasks, such as rake db:migrate
changed such that they now act on ALL databases and not just the
primary database. So we must replace the invocations of these
tasks with their new, database-specific counterparts.

  • ➖ Remove 'multiverse' gem

Now that we have fiully transitioned to Rails-native
multi-database support, we are no longer reliant on
the 'multiverse' gem and can remove it.

  • 🗃️ Prohibit execution of vacols DB and non-DB-specific rake tasks

After transitioning to Rails-native multi-DB support,
the behavior of some DB tasks changed such that they will now
act on ALL databases and not just the primary database
(ex. rake db:migrate will now migrate ALL databases).

To avoid accidents, we re-define these tasks here to no-op
and output a helpful message to redirect developers toward
using their new database-specific counterparts instead.

  • ♻️ Create new environment for GH workflow 'Make-docs-to-webpage'

Instead of performing a bunch of hard-to-maintain sed gymnastics
to modify the existing 'test' environment, let's create a new
'make_docs' environment (based off of 'test') and configure it
appropriately for use by the 'Make-docs-to-webpage' GH workflow.

  • 💚 Remove redundant DB migrations from CI workflow

Task db:schema:load already loads the checked in schema,
so there should be no need to run db:migrate aft...

Read more

deployed/20240917_211353

17 Sep 21:13
e34da00
Compare
Choose a tag to compare

Commit: e34da00

feature/APPEALS-34124-43428-29105-28925-33581 - Rails 6.1 upgrade (release) (#22813) (#22817)

  • 🔧 Assume defaults for config.action_dispatch.use_cookies_with_metadata and config.action_mailer.delivery_job

The following config settings are not backwards compatible:

  • config.action_dispatch.use_cookies_with_metadata
  • config.action_mailer.delivery_job

Now that Rails 6.0 is stable on production, we can assume
their default values going forward.

  • ✅ Fix flakey spec

  • 🔧 Assume default for config.action_dispatch.use_authenticated_cookie_encryption

Since we are making other cookie configuration changes in this PR for Rails 6.0,
this is an opportune time to migrate this Rails 5.2 cookie setting to its
default value as well.

  • ⏪️ Restore overrides for config.action_dispatch.use_authenticated_cookie_encryption and config.action_dispatch.use_cookies_with_metadata

While testing in PreProd, we discovered that, without these cookie config overrides,
re-authentication was broken -- after logging out, a user could not log back in.

Since the default settings are still optional going forward, we can restore these
overrides and devise a solution to migrate cookies later.

For more details, see Jira story APPEALS-54897:

https://jira.devops.va.gov/browse/APPEALS-54897

  • ✨ Add new utility module for adding DB indexes concurrently

Introduces Caseflow::Migrations::AddIndexConcurrently as a replacement
for Caseflow::Migration for migrations on ActiveRecord 6.0 and beyond,
since Caseflow::Migration is forever coupled to ActiveRecord 5.1 due
to its extensive use on legacy migrations and should be deprecated moving
forward.

  • 🗑️ Deprecate Caseflow::Migration

  • 🔧 Add instructive error message for non-concurrent add_index migrations

  • 🚨 Address linter / codeclimate complaints

  • ✨ Introduce SslRedirectExclusionPolicy

To be used in the environment configuration settings for excluding exempt
request paths from SSL redirects when config. force_ssl = true

  • ♻️ Replace deprecated controller-level force_ssl

Replace deprecated controller-level force_ssl with
equivalent configuration settings in preparation for
the Rails 6.1 upgrade.

  • 🔥 Remove deprecated config setting config.active_record.sqlite3.represent_boolean_as_integer

This will have no implications for Caseflow, since we are only using the sqlite3
adapter nominally for the demo_vacols database, which is not actually being used
in our demo environments (demo environments are deployed as development envs).

  • ⬆️ Update caseflow-commons to resolve sub-dependency conflicts

Removes unneeded gems bourbon and neat, which had a sub-dependency conflict on thor.

  • ⬆️ Update rails and other gems as necessary

  • 🐛 Fix 'uninitialized constant' error when loading app

  • ⬆️ bin/rails app:update - Apply relevant changes

  • 🔧 Override default for config.active_record.has_many_inversing

  • 🔧 Assume default for config.active_storage.track_variants

We're not currently using ActiveStorage in Caseflow, so it
is safe to just assume the default here.

  • 🔧 Override default for config.active_job.retry_jitter

The default jitter is probably safe, however, I'm not 100% sure that we
don't have any jobs that need to be requeued with exact wait times. So
we let's override this for now to stay on the safe side.

  • 🔧 Assume default for config.active_job.skip_after_callbacks_if_terminated

We're not currently using throw :abort within any before_enqueue/before_perform 
callbacks on existing Caseflow jobs, so the default should be fine here.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#4c60

  • 🔧 Assume default for config.action_dispatch.cookies_same_site_protection

This setting controls the SameSite optional attribute for the
Set-Cookie header.

SameSite=Lax means that the cookie is not sent on cross-site requests,
such as on requests to load images or frames, but is sent when a user is
navigating to the origin site from an external site (for example, when
following a link). This is the default behavior if the SameSite attribute
is not specified.

Lax is currently the default assumed by both Chrome and Edge browsers
when this attribute is left unspecified, so assuming this value
should be sensible. It allows us to have our cake (blocking CSRF attacks)
and eat it too (providing a logged-in experience when users navigate to
Caseflow across origins).

For more background, see

  • 🔧 Assume default for config.action_controller.urlsafe_csrf_tokens

  • 🔧 Assume default for ActiveSupport.utc_to_local_returns_utc_offset_times

We're not using ActiveSupport::TimeZone.utc_to_local anywhere,
so the default is safe to assume here.

  • 🔧 Assume default for config.action_dispatch.ssl_default_redirect_status

The default is safe to assume.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#4c3e

  • 🔧 Assume default for config.active_record.legacy_connection_handling

The default should be safe to assume here, as we do not do any
role or shard switching on database connections.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#8007

  • 🔧 Assume default for config.action_view.form_with_generates_remote_forms

We don't use the form_with helper anywhere, so this behavior change is
inconsequential for us, and we can safely assume the new default.

  • 🔧 Assume default for config.active_storage.queues.analysis

We do not use ActiveStorage, so the default is safe to assume here.

  • 🔧 Assume default for config.active_storage.queues.purge

We do not use ActiveStorage, so the default is safe to assume here.

  • 🔧 Assume default for config.action_mailbox.queues.incineration

We don't use ActionMailbox, so the new default is safe to assume here.

  • 🔧 Assume default for config.action_mailbox.queues.routing

We do not use ActionMailbox, so the default is safe to assume here.

  • 🔧 Assume default for config.action_mailer.deliver_later_queue_name

We're not using ActionMailer::MessageDelivery #deliver_later anywhere,
so the default is safe to assume.

  • 🔧 Assume default for config.action_view.preload_links_header

This flag can be safely uncommented. Browsers that support Link
headers will get a performance boost. Browsers that don’t will
ignore them.

We override in development environments to avoid an edge case
leading to an HTTP response header overflow.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#3679

  • 🔥 Remove 'new_framework_defaults_6_1.rb'

  • 🔧 Load defaults for Rails 6.1

  • ♻️ Extract constant

  • ♻️ Migrate to new Rails deprecation config where applicable

  • ♻️ Push members down now that there is only one subclass

  • 🩹 Add forgotten disallowed deprecation warning

This deprecation warning was addressed by the following
PR, but we forgot to add it to the list of disallowed
deprecation warnings:

#21614

  • 💡 Update comment

Task rake routes has been replaced with rails routes

  • ✅ Update test to account for change to ActionDispatch::Response#content_type 

ActionDispatch::Response#content_type now returns the full Content-Type header

  • 🚨 Exclude 'config.ru' from Rubocop cops

  • 🚚 Move 'db/etl/migrate' to 'db/etl_migrate'

  • 🚚 Move 'db/etl/schema.rb' to 'db/etl_schema.rb'

  • ♻️ Arrange 'database.yml' configs by environment

Group DB configs by environment in anticipation of
reformatting for Rails 6+ multi-DB configuration.

  • 🔧 Reformat 'database.yml' to Rails 6+ multi-DB conventions

  • 🔧 Add etl migration paths to DB config

  • 🔧 Update DB connection names in 'database_cleaner' config

  • ♻️ Use new database-specific rake tasks

After migrating to the Rails 6+ native multi-database configuration,
the behavior of some DB management tasks, such as rake db:migrate
changed such that they now act on ALL databases and not just the
primary database. So we must replace the invocations of these
tasks with their new, database-specific counterparts.

  • ➖ Remove 'multiverse' gem

Now that we have fiully transitioned to Rails-native
multi-database support, we are no longer reliant on
the 'multiverse' gem and can remove it.

  • 🗃️ Prohibit execution of vacols DB and non-DB-specific rake tasks

After transitioning to Rails-native multi-DB support,
the behavior of some DB tasks changed such that they will now
act on ALL databases and not just the primary database
(ex. rake db:migrate will now migrate ALL databases).

To avoid accidents, we re-define these tasks here to no-op
and output a helpful message to redirect developers toward
using their new database-specific counterparts instead.

  • ♻️ Create new environment for GH workflow 'Make-docs-to-webpage'

Instead of performing a bunch of hard-to-maintain sed gymnastics
to modify the existing 'test' environment, let's create a new
'make_docs' environment (based off of 'test') and configure it
appropriately for use by the 'Make-docs-to-webpage' GH workflow.

  • 💚 Remove redundant DB migrations from CI workflow

Task db:schema:load already loads the checked in schema,
so there should be no need to run db:migrate aft...

Read more

Appeals Caseflow_R2.4.3_FY24Q4.5 Release

16 Sep 21:13
e34da00
Compare
Choose a tag to compare

Commit: e34da00

feature/APPEALS-34124-43428-29105-28925-33581 - Rails 6.1 upgrade (release) (#22813) (#22817)

  • 🔧 Assume defaults for config.action_dispatch.use_cookies_with_metadata and config.action_mailer.delivery_job

The following config settings are not backwards compatible:

  • config.action_dispatch.use_cookies_with_metadata
  • config.action_mailer.delivery_job

Now that Rails 6.0 is stable on production, we can assume
their default values going forward.

  • ✅ Fix flakey spec

  • 🔧 Assume default for config.action_dispatch.use_authenticated_cookie_encryption

Since we are making other cookie configuration changes in this PR for Rails 6.0,
this is an opportune time to migrate this Rails 5.2 cookie setting to its
default value as well.

  • ⏪️ Restore overrides for config.action_dispatch.use_authenticated_cookie_encryption and config.action_dispatch.use_cookies_with_metadata

While testing in PreProd, we discovered that, without these cookie config overrides,
re-authentication was broken -- after logging out, a user could not log back in.

Since the default settings are still optional going forward, we can restore these
overrides and devise a solution to migrate cookies later.

For more details, see Jira story APPEALS-54897:

https://jira.devops.va.gov/browse/APPEALS-54897

  • ✨ Add new utility module for adding DB indexes concurrently

Introduces Caseflow::Migrations::AddIndexConcurrently as a replacement
for Caseflow::Migration for migrations on ActiveRecord 6.0 and beyond,
since Caseflow::Migration is forever coupled to ActiveRecord 5.1 due
to its extensive use on legacy migrations and should be deprecated moving
forward.

  • 🗑️ Deprecate Caseflow::Migration

  • 🔧 Add instructive error message for non-concurrent add_index migrations

  • 🚨 Address linter / codeclimate complaints

  • ✨ Introduce SslRedirectExclusionPolicy

To be used in the environment configuration settings for excluding exempt
request paths from SSL redirects when config. force_ssl = true

  • ♻️ Replace deprecated controller-level force_ssl

Replace deprecated controller-level force_ssl with
equivalent configuration settings in preparation for
the Rails 6.1 upgrade.

  • 🔥 Remove deprecated config setting config.active_record.sqlite3.represent_boolean_as_integer

This will have no implications for Caseflow, since we are only using the sqlite3
adapter nominally for the demo_vacols database, which is not actually being used
in our demo environments (demo environments are deployed as development envs).

  • ⬆️ Update caseflow-commons to resolve sub-dependency conflicts

Removes unneeded gems bourbon and neat, which had a sub-dependency conflict on thor.

  • ⬆️ Update rails and other gems as necessary

  • 🐛 Fix 'uninitialized constant' error when loading app

  • ⬆️ bin/rails app:update - Apply relevant changes

  • 🔧 Override default for config.active_record.has_many_inversing

  • 🔧 Assume default for config.active_storage.track_variants

We're not currently using ActiveStorage in Caseflow, so it
is safe to just assume the default here.

  • 🔧 Override default for config.active_job.retry_jitter

The default jitter is probably safe, however, I'm not 100% sure that we
don't have any jobs that need to be requeued with exact wait times. So
we let's override this for now to stay on the safe side.

  • 🔧 Assume default for config.active_job.skip_after_callbacks_if_terminated

We're not currently using throw :abort within any before_enqueue/before_perform 
callbacks on existing Caseflow jobs, so the default should be fine here.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#4c60

  • 🔧 Assume default for config.action_dispatch.cookies_same_site_protection

This setting controls the SameSite optional attribute for the
Set-Cookie header.

SameSite=Lax means that the cookie is not sent on cross-site requests,
such as on requests to load images or frames, but is sent when a user is
navigating to the origin site from an external site (for example, when
following a link). This is the default behavior if the SameSite attribute
is not specified.

Lax is currently the default assumed by both Chrome and Edge browsers
when this attribute is left unspecified, so assuming this value
should be sensible. It allows us to have our cake (blocking CSRF attacks)
and eat it too (providing a logged-in experience when users navigate to
Caseflow across origins).

For more background, see

  • 🔧 Assume default for config.action_controller.urlsafe_csrf_tokens

  • 🔧 Assume default for ActiveSupport.utc_to_local_returns_utc_offset_times

We're not using ActiveSupport::TimeZone.utc_to_local anywhere,
so the default is safe to assume here.

  • 🔧 Assume default for config.action_dispatch.ssl_default_redirect_status

The default is safe to assume.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#4c3e

  • 🔧 Assume default for config.active_record.legacy_connection_handling

The default should be safe to assume here, as we do not do any
role or shard switching on database connections.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#8007

  • 🔧 Assume default for config.action_view.form_with_generates_remote_forms

We don't use the form_with helper anywhere, so this behavior change is
inconsequential for us, and we can safely assume the new default.

  • 🔧 Assume default for config.active_storage.queues.analysis

We do not use ActiveStorage, so the default is safe to assume here.

  • 🔧 Assume default for config.active_storage.queues.purge

We do not use ActiveStorage, so the default is safe to assume here.

  • 🔧 Assume default for config.action_mailbox.queues.incineration

We don't use ActionMailbox, so the new default is safe to assume here.

  • 🔧 Assume default for config.action_mailbox.queues.routing

We do not use ActionMailbox, so the default is safe to assume here.

  • 🔧 Assume default for config.action_mailer.deliver_later_queue_name

We're not using ActionMailer::MessageDelivery #deliver_later anywhere,
so the default is safe to assume.

  • 🔧 Assume default for config.action_view.preload_links_header

This flag can be safely uncommented. Browsers that support Link
headers will get a performance boost. Browsers that don’t will
ignore them.

We override in development environments to avoid an edge case
leading to an HTTP response header overflow.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#3679

  • 🔥 Remove 'new_framework_defaults_6_1.rb'

  • 🔧 Load defaults for Rails 6.1

  • ♻️ Extract constant

  • ♻️ Migrate to new Rails deprecation config where applicable

  • ♻️ Push members down now that there is only one subclass

  • 🩹 Add forgotten disallowed deprecation warning

This deprecation warning was addressed by the following
PR, but we forgot to add it to the list of disallowed
deprecation warnings:

#21614

  • 💡 Update comment

Task rake routes has been replaced with rails routes

  • ✅ Update test to account for change to ActionDispatch::Response#content_type 

ActionDispatch::Response#content_type now returns the full Content-Type header

  • 🚨 Exclude 'config.ru' from Rubocop cops

  • 🚚 Move 'db/etl/migrate' to 'db/etl_migrate'

  • 🚚 Move 'db/etl/schema.rb' to 'db/etl_schema.rb'

  • ♻️ Arrange 'database.yml' configs by environment

Group DB configs by environment in anticipation of
reformatting for Rails 6+ multi-DB configuration.

  • 🔧 Reformat 'database.yml' to Rails 6+ multi-DB conventions

  • 🔧 Add etl migration paths to DB config

  • 🔧 Update DB connection names in 'database_cleaner' config

  • ♻️ Use new database-specific rake tasks

After migrating to the Rails 6+ native multi-database configuration,
the behavior of some DB management tasks, such as rake db:migrate
changed such that they now act on ALL databases and not just the
primary database. So we must replace the invocations of these
tasks with their new, database-specific counterparts.

  • ➖ Remove 'multiverse' gem

Now that we have fiully transitioned to Rails-native
multi-database support, we are no longer reliant on
the 'multiverse' gem and can remove it.

  • 🗃️ Prohibit execution of vacols DB and non-DB-specific rake tasks

After transitioning to Rails-native multi-DB support,
the behavior of some DB tasks changed such that they will now
act on ALL databases and not just the primary database
(ex. rake db:migrate will now migrate ALL databases).

To avoid accidents, we re-define these tasks here to no-op
and output a helpful message to redirect developers toward
using their new database-specific counterparts instead.

  • ♻️ Create new environment for GH workflow 'Make-docs-to-webpage'

Instead of performing a bunch of hard-to-maintain sed gymnastics
to modify the existing 'test' environment, let's create a new
'make_docs' environment (based off of 'test') and configure it
appropriately for use by the 'Make-docs-to-webpage' GH workflow.

  • 💚 Remove redundant DB migrations from CI workflow

Task db:schema:load already loads the checked in schema,
so there should be no need to run db:migrate ...

Read more

deployed/20240914_142153

14 Sep 14:21
e34da00
Compare
Choose a tag to compare

Commit: e34da00

feature/APPEALS-34124-43428-29105-28925-33581 - Rails 6.1 upgrade (release) (#22813) (#22817)

  • 🔧 Assume defaults for config.action_dispatch.use_cookies_with_metadata and config.action_mailer.delivery_job

The following config settings are not backwards compatible:

  • config.action_dispatch.use_cookies_with_metadata
  • config.action_mailer.delivery_job

Now that Rails 6.0 is stable on production, we can assume
their default values going forward.

  • ✅ Fix flakey spec

  • 🔧 Assume default for config.action_dispatch.use_authenticated_cookie_encryption

Since we are making other cookie configuration changes in this PR for Rails 6.0,
this is an opportune time to migrate this Rails 5.2 cookie setting to its
default value as well.

  • ⏪️ Restore overrides for config.action_dispatch.use_authenticated_cookie_encryption and config.action_dispatch.use_cookies_with_metadata

While testing in PreProd, we discovered that, without these cookie config overrides,
re-authentication was broken -- after logging out, a user could not log back in.

Since the default settings are still optional going forward, we can restore these
overrides and devise a solution to migrate cookies later.

For more details, see Jira story APPEALS-54897:

https://jira.devops.va.gov/browse/APPEALS-54897

  • ✨ Add new utility module for adding DB indexes concurrently

Introduces Caseflow::Migrations::AddIndexConcurrently as a replacement
for Caseflow::Migration for migrations on ActiveRecord 6.0 and beyond,
since Caseflow::Migration is forever coupled to ActiveRecord 5.1 due
to its extensive use on legacy migrations and should be deprecated moving
forward.

  • 🗑️ Deprecate Caseflow::Migration

  • 🔧 Add instructive error message for non-concurrent add_index migrations

  • 🚨 Address linter / codeclimate complaints

  • ✨ Introduce SslRedirectExclusionPolicy

To be used in the environment configuration settings for excluding exempt
request paths from SSL redirects when config. force_ssl = true

  • ♻️ Replace deprecated controller-level force_ssl

Replace deprecated controller-level force_ssl with
equivalent configuration settings in preparation for
the Rails 6.1 upgrade.

  • 🔥 Remove deprecated config setting config.active_record.sqlite3.represent_boolean_as_integer

This will have no implications for Caseflow, since we are only using the sqlite3
adapter nominally for the demo_vacols database, which is not actually being used
in our demo environments (demo environments are deployed as development envs).

  • ⬆️ Update caseflow-commons to resolve sub-dependency conflicts

Removes unneeded gems bourbon and neat, which had a sub-dependency conflict on thor.

  • ⬆️ Update rails and other gems as necessary

  • 🐛 Fix 'uninitialized constant' error when loading app

  • ⬆️ bin/rails app:update - Apply relevant changes

  • 🔧 Override default for config.active_record.has_many_inversing

  • 🔧 Assume default for config.active_storage.track_variants

We're not currently using ActiveStorage in Caseflow, so it
is safe to just assume the default here.

  • 🔧 Override default for config.active_job.retry_jitter

The default jitter is probably safe, however, I'm not 100% sure that we
don't have any jobs that need to be requeued with exact wait times. So
we let's override this for now to stay on the safe side.

  • 🔧 Assume default for config.active_job.skip_after_callbacks_if_terminated

We're not currently using throw :abort within any before_enqueue/before_perform 
callbacks on existing Caseflow jobs, so the default should be fine here.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#4c60

  • 🔧 Assume default for config.action_dispatch.cookies_same_site_protection

This setting controls the SameSite optional attribute for the
Set-Cookie header.

SameSite=Lax means that the cookie is not sent on cross-site requests,
such as on requests to load images or frames, but is sent when a user is
navigating to the origin site from an external site (for example, when
following a link). This is the default behavior if the SameSite attribute
is not specified.

Lax is currently the default assumed by both Chrome and Edge browsers
when this attribute is left unspecified, so assuming this value
should be sensible. It allows us to have our cake (blocking CSRF attacks)
and eat it too (providing a logged-in experience when users navigate to
Caseflow across origins).

For more background, see

  • 🔧 Assume default for config.action_controller.urlsafe_csrf_tokens

  • 🔧 Assume default for ActiveSupport.utc_to_local_returns_utc_offset_times

We're not using ActiveSupport::TimeZone.utc_to_local anywhere,
so the default is safe to assume here.

  • 🔧 Assume default for config.action_dispatch.ssl_default_redirect_status

The default is safe to assume.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#4c3e

  • 🔧 Assume default for config.active_record.legacy_connection_handling

The default should be safe to assume here, as we do not do any
role or shard switching on database connections.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#8007

  • 🔧 Assume default for config.action_view.form_with_generates_remote_forms

We don't use the form_with helper anywhere, so this behavior change is
inconsequential for us, and we can safely assume the new default.

  • 🔧 Assume default for config.active_storage.queues.analysis

We do not use ActiveStorage, so the default is safe to assume here.

  • 🔧 Assume default for config.active_storage.queues.purge

We do not use ActiveStorage, so the default is safe to assume here.

  • 🔧 Assume default for config.action_mailbox.queues.incineration

We don't use ActionMailbox, so the new default is safe to assume here.

  • 🔧 Assume default for config.action_mailbox.queues.routing

We do not use ActionMailbox, so the default is safe to assume here.

  • 🔧 Assume default for config.action_mailer.deliver_later_queue_name

We're not using ActionMailer::MessageDelivery #deliver_later anywhere,
so the default is safe to assume.

  • 🔧 Assume default for config.action_view.preload_links_header

This flag can be safely uncommented. Browsers that support Link
headers will get a performance boost. Browsers that don’t will
ignore them.

We override in development environments to avoid an edge case
leading to an HTTP response header overflow.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#3679

  • 🔥 Remove 'new_framework_defaults_6_1.rb'

  • 🔧 Load defaults for Rails 6.1

  • ♻️ Extract constant

  • ♻️ Migrate to new Rails deprecation config where applicable

  • ♻️ Push members down now that there is only one subclass

  • 🩹 Add forgotten disallowed deprecation warning

This deprecation warning was addressed by the following
PR, but we forgot to add it to the list of disallowed
deprecation warnings:

#21614

  • 💡 Update comment

Task rake routes has been replaced with rails routes

  • ✅ Update test to account for change to ActionDispatch::Response#content_type 

ActionDispatch::Response#content_type now returns the full Content-Type header

  • 🚨 Exclude 'config.ru' from Rubocop cops

  • 🚚 Move 'db/etl/migrate' to 'db/etl_migrate'

  • 🚚 Move 'db/etl/schema.rb' to 'db/etl_schema.rb'

  • ♻️ Arrange 'database.yml' configs by environment

Group DB configs by environment in anticipation of
reformatting for Rails 6+ multi-DB configuration.

  • 🔧 Reformat 'database.yml' to Rails 6+ multi-DB conventions

  • 🔧 Add etl migration paths to DB config

  • 🔧 Update DB connection names in 'database_cleaner' config

  • ♻️ Use new database-specific rake tasks

After migrating to the Rails 6+ native multi-database configuration,
the behavior of some DB management tasks, such as rake db:migrate
changed such that they now act on ALL databases and not just the
primary database. So we must replace the invocations of these
tasks with their new, database-specific counterparts.

  • ➖ Remove 'multiverse' gem

Now that we have fiully transitioned to Rails-native
multi-database support, we are no longer reliant on
the 'multiverse' gem and can remove it.

  • 🗃️ Prohibit execution of vacols DB and non-DB-specific rake tasks

After transitioning to Rails-native multi-DB support,
the behavior of some DB tasks changed such that they will now
act on ALL databases and not just the primary database
(ex. rake db:migrate will now migrate ALL databases).

To avoid accidents, we re-define these tasks here to no-op
and output a helpful message to redirect developers toward
using their new database-specific counterparts instead.

  • ♻️ Create new environment for GH workflow 'Make-docs-to-webpage'

Instead of performing a bunch of hard-to-maintain sed gymnastics
to modify the existing 'test' environment, let's create a new
'make_docs' environment (based off of 'test') and configure it
appropriately for use by the 'Make-docs-to-webpage' GH workflow.

  • 💚 Remove redundant DB migrations from CI workflow

Task db:schema:load already loads the checked in schema,
so there should be no need to run db:migrate aft...

Read more

deployed/20240912_211336

12 Sep 21:13
f62b14f
Compare
Choose a tag to compare

Commit: f62b14f

hotfix/APPEALS-57834 (#22799) (#22800)

Co-authored-by: davywentwortht2it david.wentworth@va.gov

deployed/20240911_224800

11 Sep 22:48
f62b14f
Compare
Choose a tag to compare

Commit: f62b14f

hotfix/APPEALS-57834 (#22799) (#22800)

Co-authored-by: davywentwortht2it david.wentworth@va.gov


Commit: 5ae099e

feature/appeals-47313 (#22749) (#22763)

  • Remove and reinstall pdfjs-dist@2.6.347 and use cdn to get rid of fake worker warning

  • Comment out pdfjs worker lines in documentViewer.js to get rid of fake worker warning

  • Add PdfDocument component with no batching

  • Add MVP working reader prototype 2.0

  • Add reader prototype warning on toolbar

  • Add MVP zoom function

  • Add prototype route

  • Fix next and previous doc links with prototype path

  • Extract toolbar buttons out to ReaderToolbar component

  • Fix prop type in PdfDocument

  • Remove prototype logic

  • Clean up prototype with utils

  • Fix scroll issue on document list view for Reader

  • APPEALS-46785. Add text layer to prototype.

  • Revert pdf-annotate changes

  • Revert PdfFile imports and comment out pdfjs imports

  • Remove extra sidebar html in PdfDocument

  • Remove unnecessary props from PdfDocument

  • Add WIP rotate function

  • Clean up components and css

  • Add pageUtil and clean up PdfDocument

  • Update rotate function

  • Fix sidebar css to dynamically shrink

  • APPEALS-46785. Add test coverage for pageUtil#renderPage.

  • APPEALS-46785. Search functionality for Reader prototype.

  • Update yarn.lock after rebasing.

  • APPEALS-48219. Prototype version of issue tags.

  • Update css for page rotate function

  • Remove and reinstall pdfjs-dist@2.6.347 and use cdn to get rid of fake worker warning

  • APPEALS-46785. Add text layer to prototype.

  • Add current page display functionality

  • Fix getPageNumFromScrollTop function for when document has been rotated

  • Fix getPageNumFromScrollTop function to have max page number

  • Fix css for rotation

  • Add sidebar categories

  • APPEALS-49501. Fix keyboard shortcut modal.

  • APPEALS-49501. Make pageUtil into Page component for React efficiency.

  • APPEALS-49501. Comments rework.

  • APPEALS-49501. Fix test/lint errors.

  • APPEALS-515895. Add back-to-documents-list hotkey.

  • Layout cleanup and add toggle menu function

  • Add MVP WIP DocumentInfo

  • Refactor redux appeal and fix Sidebar CSS to scroll

  • Update vacolsId proptype to string

  • APPEALS-52496. Update layout of Reader Prototype to match original layout.

  • Cleaning up imports and removing glamor.

  • Potential fix for double render error.

  • Add reader prototype feature toggle

  • Fix same canvas render error

  • Add Fake PDFJS Worker solution

  • Add pdfjs worker to intializers assets

  • Remove ocr path from documents controller

  • Add WIP load document error handling

  • Add error handling for PdfDocument when document load failure

  • Remove logic to access prototype through url

  • Update page title for Reader

  • Revert schema

  • Extract logic to DocumentLoadError component

  • Move banner/format.js to caseflow util directory

  • Remove 2.0 components, screens, routes directories and get successful compile

  • Remove 2.0 layouts directory

  • Remove 2.0 Router component

  • Move ErrorBoundary and Loadable components to client/app/components

  • Remove 2.0/components/shared directory

  • Move 2.0 store

  • Remove vscode settings

  • Remove 2.0 path lines

  • Delete 2.0 path lines in webpack config

  • Add back in vscode files

  • Fix text layer error. Fix pages leaking between documents.

  • Add max width to sidebar css to fix long document type overflow

  • Update element name for jump to page function

  • Remove scroll into view smooth

  • Update current page calculation

  • Hide search bar when switching documents.

  • Add IntersectionObserver logic to Page

  • Add useState

  • Add IntersectionObserver logic

  • Revert current page logic to use page size estimations instead of IntersectionObserver

  • Remove pdfjs imports from documentViewer.js and PdfFile.jsx

  • Add page number validation for ReaderFooter page input field

  • Cleanup

  • Disable previous/next buttons while pdf downloads. (#22511)

  • Remove canvas and test relying on it. (#22495)

  • Use intersection observer to hide offscreen pages.

  • Replace observer with content-visibility css.

  • Address comments from code review.

  • Davywentwortht2it/fix failures (#22631)

  • Remove linting errors.

  • Fix broken specs.

  • Comment out failing reader tests.

  • Update reviewer.scss to fix lint errors

  • Add space in reviewer.scss to fix lint error

  • Update css name


  • Re-enable failing specs. (#22666)

  • Re-enable failing specs.

  • Reduce flakiness of specs.

  • Reduce flakiness of specs.

  • Reduce flakiness of specs.

  • Reduce flakiness of specs.


  • Laurenyj/update prototypefooter (#22677)

  • fix PdfUIPageNumInput page width bug

  • Update prototype reader footer to match original reader footer css updates

  • Revert reviewer changes

  • move styles to the correct place to override width:100

  • Remove unused prototype css

  • Update page input test snap

  • Revert Page component changes and update with ctx options


  • Add assets folder to public (#22700)

  • Add page render optimization using the IntersectionObserver API and f… (#22707)

  • Add page render optimization using the IntersectionObserver API and fix page input CSS to account for 4 digit page numbers

  • Add content visibility auto to Page

  • Re-add comment to explain content visibility auto

  • Move pdf worker file to public/pdfjs and update path (#22729)

  • Move pdf worker file to public/pdfjs and update path

  • Delete app/assets/pdfjs/pdf.worker.min.js

  • Delete public/assets/pdf.worker.min.js

  • Delete app/assets/javascripts/pdf.worker.min.js

  • linter


Co-authored-by: laurenyj 44596134+laurenyj@users.noreply.github.com
Co-authored-by: Davy Wentworth david.wentworth@va.gov
Co-authored-by: Sean Parker Sean.Parker3@va.gov

deployed/20240911_211338

11 Sep 21:13
5ae099e
Compare
Choose a tag to compare

Commit: 5ae099e

feature/appeals-47313 (#22749) (#22763)

  • Remove and reinstall pdfjs-dist@2.6.347 and use cdn to get rid of fake worker warning

  • Comment out pdfjs worker lines in documentViewer.js to get rid of fake worker warning

  • Add PdfDocument component with no batching

  • Add MVP working reader prototype 2.0

  • Add reader prototype warning on toolbar

  • Add MVP zoom function

  • Add prototype route

  • Fix next and previous doc links with prototype path

  • Extract toolbar buttons out to ReaderToolbar component

  • Fix prop type in PdfDocument

  • Remove prototype logic

  • Clean up prototype with utils

  • Fix scroll issue on document list view for Reader

  • APPEALS-46785. Add text layer to prototype.

  • Revert pdf-annotate changes

  • Revert PdfFile imports and comment out pdfjs imports

  • Remove extra sidebar html in PdfDocument

  • Remove unnecessary props from PdfDocument

  • Add WIP rotate function

  • Clean up components and css

  • Add pageUtil and clean up PdfDocument

  • Update rotate function

  • Fix sidebar css to dynamically shrink

  • APPEALS-46785. Add test coverage for pageUtil#renderPage.

  • APPEALS-46785. Search functionality for Reader prototype.

  • Update yarn.lock after rebasing.

  • APPEALS-48219. Prototype version of issue tags.

  • Update css for page rotate function

  • Remove and reinstall pdfjs-dist@2.6.347 and use cdn to get rid of fake worker warning

  • APPEALS-46785. Add text layer to prototype.

  • Add current page display functionality

  • Fix getPageNumFromScrollTop function for when document has been rotated

  • Fix getPageNumFromScrollTop function to have max page number

  • Fix css for rotation

  • Add sidebar categories

  • APPEALS-49501. Fix keyboard shortcut modal.

  • APPEALS-49501. Make pageUtil into Page component for React efficiency.

  • APPEALS-49501. Comments rework.

  • APPEALS-49501. Fix test/lint errors.

  • APPEALS-515895. Add back-to-documents-list hotkey.

  • Layout cleanup and add toggle menu function

  • Add MVP WIP DocumentInfo

  • Refactor redux appeal and fix Sidebar CSS to scroll

  • Update vacolsId proptype to string

  • APPEALS-52496. Update layout of Reader Prototype to match original layout.

  • Cleaning up imports and removing glamor.

  • Potential fix for double render error.

  • Add reader prototype feature toggle

  • Fix same canvas render error

  • Add Fake PDFJS Worker solution

  • Add pdfjs worker to intializers assets

  • Remove ocr path from documents controller

  • Add WIP load document error handling

  • Add error handling for PdfDocument when document load failure

  • Remove logic to access prototype through url

  • Update page title for Reader

  • Revert schema

  • Extract logic to DocumentLoadError component

  • Move banner/format.js to caseflow util directory

  • Remove 2.0 components, screens, routes directories and get successful compile

  • Remove 2.0 layouts directory

  • Remove 2.0 Router component

  • Move ErrorBoundary and Loadable components to client/app/components

  • Remove 2.0/components/shared directory

  • Move 2.0 store

  • Remove vscode settings

  • Remove 2.0 path lines

  • Delete 2.0 path lines in webpack config

  • Add back in vscode files

  • Fix text layer error. Fix pages leaking between documents.

  • Add max width to sidebar css to fix long document type overflow

  • Update element name for jump to page function

  • Remove scroll into view smooth

  • Update current page calculation

  • Hide search bar when switching documents.

  • Add IntersectionObserver logic to Page

  • Add useState

  • Add IntersectionObserver logic

  • Revert current page logic to use page size estimations instead of IntersectionObserver

  • Remove pdfjs imports from documentViewer.js and PdfFile.jsx

  • Add page number validation for ReaderFooter page input field

  • Cleanup

  • Disable previous/next buttons while pdf downloads. (#22511)

  • Remove canvas and test relying on it. (#22495)

  • Use intersection observer to hide offscreen pages.

  • Replace observer with content-visibility css.

  • Address comments from code review.

  • Davywentwortht2it/fix failures (#22631)

  • Remove linting errors.

  • Fix broken specs.

  • Comment out failing reader tests.

  • Update reviewer.scss to fix lint errors

  • Add space in reviewer.scss to fix lint error

  • Update css name


  • Re-enable failing specs. (#22666)

  • Re-enable failing specs.

  • Reduce flakiness of specs.

  • Reduce flakiness of specs.

  • Reduce flakiness of specs.

  • Reduce flakiness of specs.


  • Laurenyj/update prototypefooter (#22677)

  • fix PdfUIPageNumInput page width bug

  • Update prototype reader footer to match original reader footer css updates

  • Revert reviewer changes

  • move styles to the correct place to override width:100

  • Remove unused prototype css

  • Update page input test snap

  • Revert Page component changes and update with ctx options


  • Add assets folder to public (#22700)

  • Add page render optimization using the IntersectionObserver API and f… (#22707)

  • Add page render optimization using the IntersectionObserver API and fix page input CSS to account for 4 digit page numbers

  • Add content visibility auto to Page

  • Re-add comment to explain content visibility auto

  • Move pdf worker file to public/pdfjs and update path (#22729)

  • Move pdf worker file to public/pdfjs and update path

  • Delete app/assets/pdfjs/pdf.worker.min.js

  • Delete public/assets/pdf.worker.min.js

  • Delete app/assets/javascripts/pdf.worker.min.js

  • linter


Co-authored-by: laurenyj 44596134+laurenyj@users.noreply.github.com
Co-authored-by: Davy Wentworth david.wentworth@va.gov
Co-authored-by: Sean Parker Sean.Parker3@va.gov

deployed/20240910_211327

10 Sep 21:13
5ae099e
Compare
Choose a tag to compare

Commit: 5ae099e

feature/appeals-47313 (#22749) (#22763)

  • Remove and reinstall pdfjs-dist@2.6.347 and use cdn to get rid of fake worker warning

  • Comment out pdfjs worker lines in documentViewer.js to get rid of fake worker warning

  • Add PdfDocument component with no batching

  • Add MVP working reader prototype 2.0

  • Add reader prototype warning on toolbar

  • Add MVP zoom function

  • Add prototype route

  • Fix next and previous doc links with prototype path

  • Extract toolbar buttons out to ReaderToolbar component

  • Fix prop type in PdfDocument

  • Remove prototype logic

  • Clean up prototype with utils

  • Fix scroll issue on document list view for Reader

  • APPEALS-46785. Add text layer to prototype.

  • Revert pdf-annotate changes

  • Revert PdfFile imports and comment out pdfjs imports

  • Remove extra sidebar html in PdfDocument

  • Remove unnecessary props from PdfDocument

  • Add WIP rotate function

  • Clean up components and css

  • Add pageUtil and clean up PdfDocument

  • Update rotate function

  • Fix sidebar css to dynamically shrink

  • APPEALS-46785. Add test coverage for pageUtil#renderPage.

  • APPEALS-46785. Search functionality for Reader prototype.

  • Update yarn.lock after rebasing.

  • APPEALS-48219. Prototype version of issue tags.

  • Update css for page rotate function

  • Remove and reinstall pdfjs-dist@2.6.347 and use cdn to get rid of fake worker warning

  • APPEALS-46785. Add text layer to prototype.

  • Add current page display functionality

  • Fix getPageNumFromScrollTop function for when document has been rotated

  • Fix getPageNumFromScrollTop function to have max page number

  • Fix css for rotation

  • Add sidebar categories

  • APPEALS-49501. Fix keyboard shortcut modal.

  • APPEALS-49501. Make pageUtil into Page component for React efficiency.

  • APPEALS-49501. Comments rework.

  • APPEALS-49501. Fix test/lint errors.

  • APPEALS-515895. Add back-to-documents-list hotkey.

  • Layout cleanup and add toggle menu function

  • Add MVP WIP DocumentInfo

  • Refactor redux appeal and fix Sidebar CSS to scroll

  • Update vacolsId proptype to string

  • APPEALS-52496. Update layout of Reader Prototype to match original layout.

  • Cleaning up imports and removing glamor.

  • Potential fix for double render error.

  • Add reader prototype feature toggle

  • Fix same canvas render error

  • Add Fake PDFJS Worker solution

  • Add pdfjs worker to intializers assets

  • Remove ocr path from documents controller

  • Add WIP load document error handling

  • Add error handling for PdfDocument when document load failure

  • Remove logic to access prototype through url

  • Update page title for Reader

  • Revert schema

  • Extract logic to DocumentLoadError component

  • Move banner/format.js to caseflow util directory

  • Remove 2.0 components, screens, routes directories and get successful compile

  • Remove 2.0 layouts directory

  • Remove 2.0 Router component

  • Move ErrorBoundary and Loadable components to client/app/components

  • Remove 2.0/components/shared directory

  • Move 2.0 store

  • Remove vscode settings

  • Remove 2.0 path lines

  • Delete 2.0 path lines in webpack config

  • Add back in vscode files

  • Fix text layer error. Fix pages leaking between documents.

  • Add max width to sidebar css to fix long document type overflow

  • Update element name for jump to page function

  • Remove scroll into view smooth

  • Update current page calculation

  • Hide search bar when switching documents.

  • Add IntersectionObserver logic to Page

  • Add useState

  • Add IntersectionObserver logic

  • Revert current page logic to use page size estimations instead of IntersectionObserver

  • Remove pdfjs imports from documentViewer.js and PdfFile.jsx

  • Add page number validation for ReaderFooter page input field

  • Cleanup

  • Disable previous/next buttons while pdf downloads. (#22511)

  • Remove canvas and test relying on it. (#22495)

  • Use intersection observer to hide offscreen pages.

  • Replace observer with content-visibility css.

  • Address comments from code review.

  • Davywentwortht2it/fix failures (#22631)

  • Remove linting errors.

  • Fix broken specs.

  • Comment out failing reader tests.

  • Update reviewer.scss to fix lint errors

  • Add space in reviewer.scss to fix lint error

  • Update css name


  • Re-enable failing specs. (#22666)

  • Re-enable failing specs.

  • Reduce flakiness of specs.

  • Reduce flakiness of specs.

  • Reduce flakiness of specs.

  • Reduce flakiness of specs.


  • Laurenyj/update prototypefooter (#22677)

  • fix PdfUIPageNumInput page width bug

  • Update prototype reader footer to match original reader footer css updates

  • Revert reviewer changes

  • move styles to the correct place to override width:100

  • Remove unused prototype css

  • Update page input test snap

  • Revert Page component changes and update with ctx options


  • Add assets folder to public (#22700)

  • Add page render optimization using the IntersectionObserver API and f… (#22707)

  • Add page render optimization using the IntersectionObserver API and fix page input CSS to account for 4 digit page numbers

  • Add content visibility auto to Page

  • Re-add comment to explain content visibility auto

  • Move pdf worker file to public/pdfjs and update path (#22729)

  • Move pdf worker file to public/pdfjs and update path

  • Delete app/assets/pdfjs/pdf.worker.min.js

  • Delete public/assets/pdf.worker.min.js

  • Delete app/assets/javascripts/pdf.worker.min.js

  • linter


Co-authored-by: laurenyj 44596134+laurenyj@users.noreply.github.com
Co-authored-by: Davy Wentworth david.wentworth@va.gov
Co-authored-by: Sean Parker Sean.Parker3@va.gov