* fix: make ctrl/cmd + enter trigger modal
Multifile projects should be handled like legacy challenges in this
regard.
* test: check modal appears
* refactor: ignore additional solutions
* test: fix ctrl + enter tests
* fix: only run on electron
* fix: remove log
* fix: show completion modal if instructions focused
* fix: handle undefined challengeType
* fix: use certification hours consistently
Since the value appearing on the /learn map was hardcoded, it could have
gone out of sync with the certifications, which were relying on
certification-settings.
Also, for simplicity (and because it's hard to estimate accurately), all
the certifications are set to 300 hours. Fullstack being the exception,
as it is a set of certifications.
* feat: remove the hours from the map
cy.viewport should not be chainable, hence the failure in CI. Also, the
tests need to check for the absence of (Ctrl + Enter), not the presence
Check Your Code since that's present for all viewports.
* refactor: return response with data from ajax
Because we still need to manipulate the data coming back from the server
(files -> challengeFiles) and we want to keep ajax.ts as the interface
between client and server we need to return the manipulated data with
the response.
* feat: re-enable failed updates flushing
* test: failed updates get resubmitted and flushed
* fix: convert settings requests to use { data }
* refactor: use preserveSession
* test: tighten up user-token
This should be faster and a little more reliable. before should have
worked, but beforeEach seems more reliable, so I'm trying it.
* test: use a single test for intro-page
Should be more robust as well as a lot faster.
* fix: main menu a11y updates
* update font menu
* fix: sign in button text alignment
* fix: disabled button font
* fix: language menu font
* remove sign-in from main menu
* fix: add section dividers to menu
* fix: height on language selector menu
* fix: alignment of Menu button text
* fix: language globe icon
* refactor: remove dup selector
* update language menu colors
* refactor: clearer name for language menu display state
* fix: don't close onBlur if Menu button is clicked
* refactor: move globe icon styling to CSS
* refactor: get rid of switch statements
* refactor: remove try catch block
* fix: translate Change language button
* fix: move search into nav menu for mobile layout
* fix: forgot a merge
* refactor: updates for changes in i18n/all-langs
* fix: prevent menu from collapsing when focus is on change language button and user clicks into search
* fix: translate cancel change option in language picker
* feat: add cypress tests
* feat: display the complete language list
* fix: fix TS typing
* fix: force scrollbar on lang menu
* fix: remove scroll bar from lang menu
* fix: close menu when user tabs away from last menu item
* add list role to navigation list to appease Safari
* chore: capitalize Change Language/remove CSS comment
* fix: right side search box alignment in narrow view
* remove extraneous list role
* fix: cypress
Co-authored-by: ahmad abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
* test: increase timeouts for slow operations
* test: ignore ChunkLoadErrors again
* test: clean up commands
* Revert "fix(cypress): disable electron due to timeouts (#46231)"
This reverts commit 2b884d9dd9.
* test: various minor refactors
* feat: convert RWD cert projects
* feat: convert original projects
* fix: add usesMultiFileEditor to meta
* feat: add cypress tests for saving and loading to/from database
* fix: broken cypress tests
* fix: inconsistent variable naming
* fix: missed variable name
* fix: more cypress
* feat: add solutions for english
* fix: ctrl+s to database only if signed in
* fix: prioritize code from db
* refactor: expand the comments slightly
* feat: let users save cert project code to db
fix: move getChallenges call out of request function so it only runs once
fix: use FlashMessages enum
fix: transform challengeFiles earlier
test: make tribute page use multifile editor
stuff I was playing with - revert this to get it to a working state
refactor: allow undefined editableRegionBoundaries
fix: save history
history is not necessarily ["name.ext"] and using the incorrect history
could cause weird bugs
fix: replace files -> challengeFiles on the client
refactor: DRY out ajax
fix: use file -> challengefile map
refactor: rename ajax types
fix: alphatize flash-messages.ts
revert: tribute page project
fix: remove logs
fix: prettier
fix: cypress
fix: prettier
fix: remove submitComplete action
fix: block UI for new projects
fix: handle code size
* fix: catch undefined files
* fix: don't default to undefined when it's already the default
* fix: only update savedChallenges if applicable
* fix: dehumidify backend + fine tune nearby stuff
* fix: prop-types
* fix: dehumidify sagas
* fix: variable name
* fix: types
* Apply suggestions from code review
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* fix: typo
* fix: prettier
* fix: props types
* fix: flash messages
* Update client/src/utils/challenge-request-helpers.ts
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* chore: rename function uniformize -> standardize
* fix: flash message
* fix: add link to forum on flash messages
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* fix: token rework functional
fix: clean up
fix: more clean up
fix: more clean up
fix: add widget back to settings
fix:
fix:
fix: cypress
Apply suggestions from code review
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
fix: use flash enum
* chore: rename webhookToken -> userToken
fix: add translations I forgot to save
* fix: add missing tones for flash messages
* fix: node test
* fix: add cert to email for when all certs are earned
* fix: unhide rdbms from production
* fix: cert project input field
* feat: add cypress tests
* fix: message on project pages to lower expectations
* fix: update instructions
* fix: add quincy's suggestions
* fix: add beta label and reorder
* fix: utils test
* fix: move rdbms to bottom of settings
* fix: cypress tests
* Apply suggestions from code review
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* fix: only drop seeded users webhook tokens
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
fix: unhide cert from settings page
fix: add cert variables where missing
fix: show token on settings page
feat: add challenges to certified user data
fix: stylize settings page a little bit
fix: only show rdbms when upcomingChanges = true
fix: relational databases -> relational database
* fix: make breadcrumb nav more accessible
* refactor: cypress test and jest snapshot
* slight adjustment to left breadcrumb focus outline
* feat: translate aria for nav
* chore(tools): update snapshot
Co-authored-by: ahmad abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
* fix: scroll to certification section
* test: refactor and update show-cert
Pulls out the flaky code from the before hook (where a single failure
kills the suite) into the test. Also, the visit to settings to view the
certification only needed to happen once.
* chore: remove verify-can-claim-cert logic
* remove extraneous
* remove console log before Nich wakes up
* add api route back with flash
* remove unnecessary logic in completion-epic
* change tests for new layout
* dynamically use api location
* rename file
* fix Cypress api location
* fix(test): anchor does not have disabled class
* fix(tests): change js test to claim from /settings
* chore: change status to 410 (gone)
* update testing again
* oliver is nitpicky
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* make oliver happy
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* chore: update superblock properties
* refactor: remove isAudited from certs
It was always defaulting to English, anyway.
* refactor: get superblock from metas, not dirs
* fix: rename responsive-web-design-22
This converts the slugs to /2022/responsive-web-design
* refactor: remove unused export
* test: update test with new curriculum config
* refactor: use key not [key]
* refactor: remove directory reference from test
* test: login more directly
* test: separate login from other visits
In a single test, Cypress can only visit within a single domain, hence
the separation.
* chore: fail slowly for all strategies
* test: user certified user for showing cert
* test: fix and cleanup certifications