Skip to content

v1.3.0

Compare
Choose a tag to compare
@trevor-anderson trevor-anderson released this 10 Mar 13:15
· 332 commits to main since this release

1.3.0 (2024-03-10)

Bug Fixes

  • add 'handle' to RegisterNewUser form+type+etc (18bf2f8)
  • add 'isActiveAccountStore' read, if false nav to /products not /home (a06bb52)
  • add 'key' prop to map'd elements (83388dc)
  • add 'showDialog' to props (944bb23)
  • add 'User' prefix to sca fragment to match schema (a159f58)
  • add @font-face styles to fix font vertical alignment issues (5e261c5)
  • add DOMPurify script integrity sha, update v to 3.0.9 (af6a53a)
  • add rounding to avg amount stat (3218194)
  • add vi calls to mock system time (c353282)
  • cache: correct logic for list-query caching+merging (0edd257)
  • chart: add min y-axis value to prevent decimal tick-labels (71af378)
  • correct .vscode dir ignore pattern (95c616f)
  • correct err-log logic, rm unused namespaces (340e1fc)
  • correct FormProps type param handling (874cb90)
  • correct playLottie logic to achieve desired play behavior (e375a88)
  • correct props typing, add jsdoc (a43121f)
  • correct style syntax for preferred scroll behavior (3f743eb)
  • correct styles to achieve desired aesthetic (f968ed8)
  • correct svg import syntax to use SVGR ?react suffix (373b96f)
  • correct syntax for setting default font (0b0dab7)
  • ensure 'handleWindowResize' updates context when user-agent changes (9e15ebb)
  • ensure 'name' doesnt render 'null' str (d535d70)
  • ensure 'selectedSubscription' value is init'd on mobile (b95b179)
  • ensure className prop is properly handled (ac1b39c)
  • ensure default viewContact logic is skipped if contact.id matches user (043b1fb)
  • ensure Intl objs aren't inst'd on each fn call (f6a6be5)
  • ensure mobile tabs never show in TABLE view, update a11y props (b6d9939)
  • ensure mock item id's don't contain 'CONTACT#' (b997a65)
  • ensure SearchUsers query uses ContactFields fragment (92a2333)
  • ensure some tick-labels hide on small viewports, add year (6057798)
  • ensure TextField value is empty string if nullish (38ed24c)
  • export all from Buttons (0d24694)
  • export raw WO+Inv-related icons for better styling (af312bf)
  • impl gqlInfo namespace, rm old eslint directives (e780362)
  • impl milliseconds for test args (9e68ce1)
  • implement safeJsonStringify (17bc2f6)
  • improve THEMES typings (0d9bb16)
  • mobile-style: ensure page scrolls on mobile (1e40454)
  • mocks: update mocks to reflect nullable GQL types (327c467)
  • pass 'backgroundIcon' prop into EmptyListFallback (f91f098)
  • provide 'onClick' prop to styled container for cursor styling (216a44a)
  • provide default selectedSub upon checkout in mobile (b1173d0)
  • replace 'contacts' query name w 'myContacts' (49e807f)
  • replace 'mergeUpdate' w shallow-merge to not break Observable (2baa88f)
  • replace dep'd JSX type namespace with React.JSX (ade9549)
  • replace double-quotes w backtick str to ensure proper parsing of newline char (72e300b)
  • replace inline destructure of apiResponse w conditional key option-chain check (a346969)
  • replace JSON.stringify w safeJsonStringify (8e63047)
  • rm cache-only fetchPolicy (a9d1f45)
  • rm console debug msg from localStorage util (1f1a6da)
  • rm console.warn block, set default env-var values (c494975)
  • rm duplicative export (60f6210)
  • rm dynamic import DevModeTools (58e3f05)
  • rm extraneous deepCopy util (e16ab80)
  • rm Node-env 'captureStackTrace' in PreFetchedItemError (61a87ed)
  • rm old 'EncodedAuthToken' opaque type (d8db58f)
  • rm old 'localIndex' Symbol-handling logic (baa8586)
  • rm old isItemOwnedByUser nav-state handling (be13d66)
  • rm old storage util now in src/stores/ (313cd2c)
  • rm unnecessary 'extends unknown in DataParser type (f34a145)
  • sb: add SelectProps type params to BasicDemo (fdf6554)
  • ts: add override ref prop type (249875d)
  • types: correct ItemDataParser types used to make context values (6bc7ffb)
  • types: correct reactiveVars typings (b09f7dd)
  • types: mv 'WorkOrderWithUpcomingEvent' type to this comp (8271b49)
  • update calculate.test for ci (a3bf0bb)
  • update clear-mocks cache-mod to use DELETE sentinel obj (9b5e046)
  • update exports to reflect file changes (c78ade4)
  • update faker args to reflect pkg update (a371ffc)
  • update GQL fragments+queries to reflect field changes (364b859)
  • update gql import path from '@graphql' to '@/graphql' (88de3a2)
  • update import paths to use '@/*' (90dbb3a)
  • update import paths to use '@/*' (6f01796)
  • update logger timestamps to use Dayjs format-strs (4921b9c)
  • update logic to add Auth header on req (f8346e9)
  • update old jest references to vi (4182577)
  • update regex to ensure currency amounts dont begin with 0 (969fb03)
  • update stats key from 'TOTAL' to 'SUM' (c1d818e)
  • update TP exports (de0f108)
  • update types exports (6bfd6c5)
  • use dayjs for proper timestamp formatting (c235b5f)

Features

  • a11y: add a11y props 'role' and 'aria-label' (a2ea93b)
  • add 'craco' for path aliasing (1dd39a6)
  • add 'createdAt' and 'updatedAt' fields to AuthTokenPayload (e79ed5a)
  • add 'deepCopy' util (10107f1)
  • add 'ItemDetailsGroup', rm nestability of 'ItemDetails' (dc9e623)
  • add 'json' to EOL fixer for Lotties (d742c58)
  • add 'license' property (2626069)
  • add 'license' property (0685ab9)
  • add 'mergeUpdate' override to merge nested props (0e87df1)
  • add 'MODE' to 'ENV' object (f7acb26)
  • add 'setDefaultIfEmpty' (efe94f9)
  • add 'stepContent' classNames to exported obj (32cc139)
  • add 'svg' to EOL fixer exclude_types (1012e25)
  • add 'tableProps' to core item list views (f1546be)
  • add 'Tabs' to list of comps exports (65d5e0a)
  • add 'Tabs' with a11y comps+utils (96e9da5)
  • add 'XscrollContainer' for easy horizontal scrolling (6a1b728)
  • add 'yupCommonSchema' formUtils (f5bfc05)
  • add | SVGElement to type constraint of T (ce8cf20)
  • add ability to pass props to Loading comp (d073b8e)
  • add abortController for req cancels (4264c83)
  • add AddressCardIcon (e02cc33)
  • add API_HOSTS_BY_MODE (9b5f61c)
  • add authenticatedUserStore reactive var (a868cfb)
  • add Autocomplete,DatePicker,Select,Slider,PWinput (94438e4)
  • add axios default 'withCredentials:true' (6a609a2)
  • add base StyledChip comp for core-item chips (d15d4ff)
  • add better prop handling (bfe5882)
  • add better prop typing (7e25b3f)
  • add better typings for authService method params (6d5f282)
  • add better typings for MUI theme (3f51933)
  • add BrowserTracing to Sentry config (234c0bb)
  • add btn to open GoogleMaps at location (48d15a8)
  • add ButtonLoadingIndicator (36bfec5)
  • add ChecklistContainer to comps (e93865a)
  • add checkoutValues storage token (4217de3)
  • add codegen config for gql-related TS types (fae079f)
  • add codegen types (29681d5)
  • add codegen-made files to 'exclude' regex for EOL hook (6672a43)
  • add comp exports to Navigation module (f940de0)
  • add config param to httpService methods (d6f4a25)
  • add CoreItemView layout + WO+Inv+Contact item pages (095eaa5)
  • add CoreItemView layout, migrate WOs+INVs item views (337b2dc)
  • add DataGrid helpers to simplify props formation (b86fbf8)
  • add dateTime utils (a5336cf)
  • add dayjs setup side effect file (39a5a14)
  • add dayjs type-safety utils (3e57aa6)
  • add default prop showLabel=true for BottomNav Mui Tabs (fde2b4b)
  • add default props+styles to Mui Tab+Tabs comps (989ad63)
  • add DevModeTools (a5b3fea)
  • add DevTools components (b1d60c5)
  • add dir for all DataGrid slots/ (7c7f9cd)
  • add displayName to ToggleButtonWithTooltip (bd8db3a)
  • add effect to close popper on esc-press (9c2ed5a)
  • add env VITE_ENABLE_DEV_TOOLS (007e55e)
  • add explicit gofixit.app domain+subdomains to traceProp targets (150a39e)
  • add export of App comp from app/ module (be63651)
  • add export of DataDisplay classNames (d2967fb)
  • add export of static elementIDs for Dialog (fa2acfe)
  • add exports of DataGrid classNames (88f9be4)
  • add exports of Intl.NumberFormat objects (17ae491)
  • add exports of new comp dirs (042737d)
  • add fallback 'themeName' as a safety precaution (2837cd8)
  • add FixitUser type, add 'handle' to User+Contact (7b63e98)
  • add FormFieldHandlers form util (b2bc0d3)
  • add FormView for WOs+Invs+Contacts pages (a922353)
  • add fwd ref, rm unused JSX exports (0daf0ce)
  • add getMuiPaperStyles helper fn (5b15db9)
  • add global style for scrollbars via webkit (699836e)
  • add grid-related Mui system props like 'gridArea' (11b09cc)
  • add handleAuthRefresh to pageRefresh logic (319daa3)
  • add HomePageRoutes and StripeConnect state layer (1aaf6cc)
  • add https://sentry.io to trusted-types policy (604384c)
  • add Icons comp dir (9d88a2d)
  • add ignore '.graphql' to EOL fixer hooks (315d21d)
  • add impl of ItemsPerMonthChart for INVs (3b42a35)
  • add impl of ItemsPerMonthChart for WOs (b46df7e)
  • add index file to Indicators module (3ab8c71)
  • add init selected sub of TRIAL if unset (72f6215)
  • add init storage-values to ReactiveStore's with storage (039272c)
  • add JSON-parseability to stored values that use JSON (a809f07)
  • add LeadingDotsSpan comp (d284b51)
  • add light/dark variants of secondary+error (b2af180)
  • add LinkToWorkOrder nav comp (b13e7b3)
  • add ListHeader,CreateItemButton, update CILV (b01090f)
  • add ListView for WOs+Invs+Contacts pages (32fdc48)
  • add ListViewSettingsStore to replace state/reducers (8d1836e)
  • add localization context wrapper (ae042ec)
  • add LocalizationProvider (83e4733)
  • add lottie-react package (8066350)
  • add LottieAnimations comp dir (8ddfe5e)
  • add LP img assets and Carousel comp (56b01a6)
  • add min+max height to header container (87e20c0)
  • add more default opts (81971dc)
  • add Mui x- comp theme aug imports here (6ec791c)
  • add myInvoices query-type which gets invs' WOs (a105b50)
  • add NavLink comp, wraps RRD Link comp (6c4fe9b)
  • add NoMaxWidthTooltip component (a149eca)
  • add NON_BREAKING_SPACE_CHAR (931360f)
  • add NoWrapSpace Text component (f69e74b)
  • add numeric utils (f05150c)
  • add open-api codegen script and types (759a476)
  • add PageLayoutContext (mobile/desktop layout) (4567fa3)
  • add pages/Dashboard (049036b)
  • add pages/LandingPage (b327723)
  • add pages/MobileWebviewStripeBridge (6adbee6)
  • add pages/ProfilePage (5c7315a)
  • add PaymentRequiredToast for 402 error handling (b15abd5)
  • add PhoneShapedContainer comp (3bb2537)
  • add ProfileView layout + ProfilePage impl (240a2e5)
  • add RainbowBorderBox comp (1eaef95)
  • add re-export of reactive vars for back-compat path refs (484832d)
  • add ReceiptShapedContainer comp (95627c4)
  • add ref fwd, rm unused JSX exports (185dede)
  • add ref fwd, rm unused JSX exports (4bac830)
  • add ref fwd'ing to link comps for Mui Tooltips (de1d2f2)
  • add safeJsonStringify util (76f1b23)
  • add SearchUsers component (05ff4cb)
  • add src/layouts dir (5cde053)
  • add static classNames exports (30a0a12)
  • add string formatter utils (3ab68f2)
  • add styleOverrides for Mui AppBar,Avatar,Chip (ce429ea)
  • add Tabs,TabPanel to expand upon tab a11y props (92b9447)
  • add TermsOfServicePage (fc578f2)
  • add Tooltip to Avatar comps, lower css select specificity (9b63388)
  • add trustedTypes default policy (37a31d4)
  • add typedefs for react-swipeable-views-react-18-fix (cae8ed3)
  • add useAppThemeObject hook (14cd65b)
  • add useHandlePageRefresh to stop refreshes (ce92f02)
  • add Vite envs dec, rm Window, update ProcessEnv (345fbbf)
  • add Vite-built bundle analysis result html file (281d55d)
  • add WO status chip (b8b67e4)
  • add yup setLocale side effect file (9f78fa9)
  • add+export types for PLC (4453567)
  • bump engines.node to v20 (c163c95)
  • centralize Checkout utils in helpers/ (ce540f8)
  • centralize List, list-items, virt-list, etc in comps/List (9329831)
  • change limit of max toast msgs to 1 from 2 (20e983a)
  • ci: add 'no-commit-to-branch' hook to forbid pushing to main (5b207fd)
  • ci: add 'no-commit-to-branch' hook to forbid pushing to main (71d6960)
  • ci: add index.html to paths triggering release on PR (6fba07e)
  • ci: add index.html to paths triggering release on PR (96047ff)
  • ci: rm PR from events triggering Release Workflow (a03e203)
  • ci: set engines.node to '>=16.0.0', set explicit node-version in Test Workflow (4b9b19b)
  • comps: add re-usable buttons (25b4250)
  • comps: add reusable Checklist (083136e)
  • comps: add reusable DataGrid (62fa389)
  • comps: add reusable HelpInfo (499ec18)
  • comps: add reusable ItemEventsTimeline (c0854e7)
  • comps: add reusable modal comps (45a47cf)
  • config Sentry to use tunnel '/sentry-proxy' in staging/prod (d146cdc)
  • enable Apollo dev tools in staging (377cef8)
  • enable DevTools in AppBar by default (f161525)
  • enable logging 4xx errs in staging (0af7276)
  • enable Sentry logging in staging env (60153e8)
  • ensure Sentry is only enabled in non-test envs (4700d45)
  • export new utils from utils dir (a977108)
  • extract CoreItemsListViewContent into own file (fb52fb3)
  • extract InvoiceProcessStepper into Stepper comp (dd22b78)
  • fix imports, impl Form helpers (9e2c981)
  • fix scroll behavior, impl new stores+helpers (e1a7f9d)
  • gql: rm unused phoneContact files (eb7359e)
  • html: expand meta tag entries for 'Keywords' and 'Description' (1d14194)
  • ignore 'CanceledError' from abortController.abort() invocation (207cd47)
  • impl and wrap @nerdware getTypeSafeError (51f3b70)
  • impl BaseFormSubmitButton (d2d84cc)
  • impl codegen'd SubscriptionPriceLabels type (b6bd983)
  • impl createBrowserRouter, add routes dict (8cfc1bd)
  • impl helpers, memoize contextValues (5f99a30)
  • impl helpers,constants,stores (abc858e)
  • impl new helpers and slots (98c7097)
  • impl new Tabs comp+helpers, fix props type (78cbfbc)
  • impl open-api types, add services helpers (c4a67c4)
  • impl route-constants, update import paths (235ebc9)
  • Invite: add CreateInvite mutation gql def (2a850c3)
  • locale: add dayjs localization imports (130b76f)
  • lower 'autoClose' to 1.2 seconds (7f63867)
  • memoize globalStyles, impl new helpers+types (452ca0e)
  • misc package updates (minor+patch only) (be6f85b)
  • mv all Form inputs into comps/Form/inputs/ (fc31230)
  • mv pages/Invoices/ListView to pages/InvoicesListView, update ListView args (f322b81)
  • mv ProtectedRoute comps to navigation dir (86406e0)
  • mv setupTests to tests dir, update for Vitest (605f63c)
  • overhaul CheckoutPage imports,helpers,styles (645ad62)
  • overhaul LP to include more product txt+images (c1bf2ea)
  • overhaul WO item view (853083c)
  • proliferate ListViewSettings to storage util, core-item list views (05e1a2f)
  • reduce traces sample rate from 1 to 0.5 (ed54796)
  • replace 'cache-only' fetchPolicy w 'network-only' (d81c01e)
  • replace all direct env-var reads with ENV object (aacefe0)
  • replace AuthToken types w codegen'd API types (85d7e8c)
  • replace CategoryScale w TimeSeriesScale for Dashboard charts (9c7057b)
  • replace HTTP log lvls from debug to info (665dcd9)
  • replace ItemEventsTimeline w flexible Timeline comp (59494f4)
  • replace momentjs with dayjs (c6aa7a4)
  • replace old StripeCardInput w StripePaymentInput (325a3d4)
  • replace PROMO_CODES env-var w api-query input (b276276)
  • rm 'draggable' prop (e357c10)
  • rm 'pauseOnHover:false' from toast.success (6a1b6c8)
  • rm all Webview context,comps,etc (8ff0608)
  • rm CanvasGradientBG from LandingPage (1cd8060)
  • rm CheckoutContext (replaced w reactive var) (5f8b2db)
  • rm components/ChecklistContainer (d1977dd)
  • rm comps/Typography, Mui comps used directly now (5221db5)
  • rm deprecated 'NewConnection' possibleTypes (628682f)
  • rm deprecated Stripe 'bridge pages' (7cc6eb6)
  • rm DevNavMenu (9d4105b)
  • rm DialogButton, place styles in StyledMuiDialog (eb0840d)
  • rm ExplainerText standalone comp (c61b436)
  • rm hasSeenIntroStore (41f1820)
  • rm index file to enforce specific imports (45600ff)
  • rm mocks, prep for pre-release (44de9fd)
  • rm mv'd FetchState files (now in app/) (14b577a)
  • rm old 'ListSettingsReactiveStore' type (dac6eeb)
  • rm old 'routers/' files (now 'routes/') (e35231f)
  • rm old comps/Inputs (now in Form/inputs) (948c303)
  • rm old InvoiceWorkOrderInfo comp (3170f87)
  • rm old isItemOwnedByUser nav state (824d953)
  • rm old list-item comp (now in comps/List/) (4723072)
  • rm old UserAvatar comp (258945c)
  • rm old utils/logger dir (f708b67)
  • rm old virt-list comp (now in comps/List/) (3d874c8)
  • rm padding from scroll container (a205ba4)
  • rm service-related hooks (f40ea79)
  • rm StripeBadge (now in Branding/) (4089c4a)
  • rm tab helpers (now in comps/Tabs/) (acc0cc4)
  • rm tokenFieldsStore (b3d307d)
  • rm types/UserLogin (open-api types used instead) (f23542a)
  • rm unused 'Expand' global typedef (26397f4)
  • rm unused classNames export (4fbecd6)
  • rm unused Form/FileInput comp (fc57a10)
  • rm unused util files (32a317f)
  • rm useEffect, impl route constants (a0b38c4)
  • rm useQueryParams hook (8116c7f)
  • rm utils covered by @nerdware utils pkgs (cf8e2bc)
  • rm web-vitals (be6a20b)
  • rm wo w inv fields query (2934b83)
  • sb: add PickANumber Select story (5b0770b)
  • split comps into own files, impl new helpers (2dc574d)
  • split FormSubmitButton styled comp into own comp (f699132)
  • split PageContainer into RootAppLayout, useAuthRefresh, and AppBar (a00b3a7)
  • uninstall lodash.merge, rm'd from ReactiveStore (d8e58eb)
  • update ApolloCache type policies (30bf7e1)
  • update ApolloLink links (411452f)
  • update App structure, add jsdoc (2081bd6)
  • update Button (5d4dc06)
  • update codegen'd GQL types to reflect current schema (a211de5)
  • update codegen'd gql types, add types exports (27c0473)
  • update codegen'd types to reflect API changes (ea122a8)
  • update comp to provide props req'd for PaymentInput (b56bfc6)
  • update components (567c632)
  • update Dialog (03766c8)
  • update EB to use Sentry, static classNames (ab4053c)
  • update env vars (ccc9f1c)
  • update ErrorBoundary (41283c2)
  • update Form module exports (401329e)
  • update GQL local schema file to current (b65dca6)
  • update GQL schema for API changes (2259217)
  • update GQL schema for API changes (1a35c4e)
  • update GQL schema for API changes (481ac9e)
  • update GQL schema used for codegen (d888ab2)
  • update hooks (0ae4e1b)
  • update import paths, impl form+route helpers, rm old styles (b042f03)
  • update import paths, rm old styles (fbaca17)
  • update imports, impl new helpers (b2f6a2b)
  • update Indicators (ef63a3d)
  • update layouts (01e0a8a)
  • update Logo comps (abed25f)
  • update packages (5903dd8)
  • update page to use new Widgets,helpers,classes (a1ae748)
  • update PageNotFound styles,layout (a63432e)
  • update PageNotFound, add DragonIcon (0cb1b44)
  • update pages (9142357)
  • update pages/CheckoutPage (ba47c32)
  • update pages/LoginPage (602661e)
  • update pages/PageNotFound (97c6527)
  • update pages/PrivacyPolicyPage (9560389)
  • update pages/ProductsPage (139eaf1)
  • update pages/RegisterPage (7a5bc0b)
  • update paths to svg files in StripeBadge (6997375)
  • update reactive vars (61d61c2)
  • update README w project layout (9fbe33e)
  • update Sentry to use RRv6 int, new config api (ba7eee0)
  • update StripeForm (84d2104)
  • update types (862b40b)
  • update Typography comps (e143dec)
  • update WebView components (37c0a25)
  • website-expansion: init commit of 'new' fixit-web pwa files BREAKING_CHANGE (9ad26f2)
  • whole new look and better perf for ChecklistInput (5736ec3)
  • WIP update BREAKING_CHANGE (c62a505)

Performance Improvements

  • http: add link attr's and manifest props to improve load time (c014f44)
  • images: replace PNGs w WEBPs, rm unused (f25512b)
  • rm index file to enforce specific imports for tree-shaking (35171d8)
  • rm index files to enforce specific imports for tree-shaking (72f1b43)