Skip to content

Commit

Permalink
fix: add network check to check for updates (#637)
Browse files Browse the repository at this point in the history
* fix: add network check to check for updates

* docs(changeset): Added network check to check for updates
  • Loading branch information
avivm authored Jun 27, 2023
1 parent 01ed858 commit 9945e57
Showing 129 changed files with 1,207 additions and 1,143 deletions.
5 changes: 5 additions & 0 deletions .changeset/sweet-comics-add.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@krud-dev/ostara-main": patch
---

Added network check to check for updates
6 changes: 5 additions & 1 deletion app/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module.exports = {
extends: 'erb',
extends: ['erb', 'airbnb-typescript', 'prettier'],
rules: {
// A temporary hack related to IDE not resolving correct package.json
'import/no-extraneous-dependencies': 'off',
@@ -9,6 +9,8 @@ module.exports = {
'react/require-default-props': 'off',
'react/jsx-curly-brace-presence': 'off',
'react/jsx-props-no-spreading': 'off',
'react/jsx-no-useless-fragment': 'off',
'react/function-component-definition': 'off',
'react-hooks/exhaustive-deps': 'off',
'jsx-a11y/anchor-is-valid': 'off',
'promise/catch-or-return': 'off',
@@ -17,6 +19,7 @@ module.exports = {
'@typescript-eslint/no-use-before-define': 'off',
'@typescript-eslint/return-await': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/ban-ts-comment': 'off',
'no-empty-pattern': 'off',
'prefer-default-export': 'off',
@@ -26,6 +29,7 @@ module.exports = {
'object-shorthand': 'off',
'import/order': 'off',
'import/prefer-default-export': 'off',
'import/no-relative-packages': 'off',
'no-underscore-dangle': 'off',
'import/no-cycle': 'off',
'no-restricted-syntax': 'off',
1 change: 1 addition & 0 deletions app/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions app/package.json
Original file line number Diff line number Diff line change
@@ -240,6 +240,7 @@
"electronmon": "^2.0.2",
"eslint": "^8.43.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-config-erb": "^4.0.6",
"eslint-import-resolver-typescript": "^3.5.5",
"eslint-import-resolver-webpack": "^0.13.2",
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ import {
useBaseMutation,
} from 'renderer/apis/requests/base/useBaseMutation';
import { apiKeys } from 'renderer/apis/apiKeys';
import { HttpMethod, InstanceHttpRequestStatisticsRO } from '../../../../../common/generated_definitions';
import { InstanceHttpRequestStatisticsRO } from 'common/generated_definitions';
import { axiosInstance } from '../../../axiosInstance';
import { AxiosResponse } from 'axios';

@@ -14,7 +14,7 @@ type Variables = {
uri: string;
};

type Data = { [key in HttpMethod]: InstanceHttpRequestStatisticsRO };
type Data = { [key: string]: InstanceHttpRequestStatisticsRO };

export const getInstanceHttpRequestStatisticsForUriByMethods = async (variables: Variables): Promise<Data> => {
return (
4 changes: 2 additions & 2 deletions app/src/renderer/components/code/CodeEditor.tsx
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@ import { useMemo } from 'react';
import ReactCodeMirror, { ReactCodeMirrorProps } from '@uiw/react-codemirror';
import { EditorView } from '@codemirror/view';
import { Extension } from '@codemirror/state';
import { useSettings } from 'renderer/contexts/SettingsContext';
import { useSettingsContext } from 'renderer/contexts/SettingsContext';
import { langs } from '@uiw/codemirror-extensions-langs';

export type ProgrammingLanguage = 'yaml' | 'java' | 'json';
@@ -13,7 +13,7 @@ interface CodeEditorProps extends ReactCodeMirrorProps {
}

export default function CodeEditor({ language, extensions, ...props }: CodeEditorProps) {
const { darkMode } = useSettings();
const { darkMode } = useSettingsContext();

const editorTheme = useMemo<'light' | 'dark'>(() => (darkMode ? 'dark' : 'light'), [darkMode]);

4 changes: 2 additions & 2 deletions app/src/renderer/components/dialog/ConfirmationDialog.tsx
Original file line number Diff line number Diff line change
@@ -12,9 +12,9 @@ export type ConfirmationDialogProps = {
continueColor?: ColorSchema;
cancelText?: ReactNode;
onConfirm?: () => void;
};
} & NiceModalHocProps;

const ConfirmationDialog: FunctionComponent<ConfirmationDialogProps & NiceModalHocProps> = NiceModal.create(
const ConfirmationDialog: FunctionComponent<ConfirmationDialogProps> = NiceModal.create(
({ title, text, continueText, continueColor, cancelText, onConfirm }) => {
const modal = useModal();

Original file line number Diff line number Diff line change
@@ -14,13 +14,13 @@ export type ConfirmationTypingDialogProps = {
cancelText?: ReactNode;
confirmText: string;
onConfirm?: () => void;
};
} & NiceModalHocProps;

type FormValues = {
confirm: string;
};

const ConfirmationTypingDialog: FunctionComponent<ConfirmationTypingDialogProps & NiceModalHocProps> = NiceModal.create(
const ConfirmationTypingDialog: FunctionComponent<ConfirmationTypingDialogProps> = NiceModal.create(
({ title, text, continueText, continueColor, cancelText, confirmText, onConfirm }) => {
const modal = useModal();
const intl = useIntl();
4 changes: 2 additions & 2 deletions app/src/renderer/components/dialog/PasswordDialog.tsx
Original file line number Diff line number Diff line change
@@ -12,13 +12,13 @@ export type PasswordDialogProps = {
cancelText?: ReactNode;
onPassword?: (password: string) => void;
onPasswordDismissed?: () => void;
};
} & NiceModalHocProps;

type FormValues = {
password: string;
};

const PasswordDialog: FunctionComponent<PasswordDialogProps & NiceModalHocProps> = NiceModal.create(
const PasswordDialog: FunctionComponent<PasswordDialogProps> = NiceModal.create(
({ title, text, continueText, cancelText, onPassword, onPasswordDismissed }) => {
const modal = useModal();
const intl = useIntl();
4 changes: 2 additions & 2 deletions app/src/renderer/components/format/FormattedCron.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { useMemo } from 'react';
import { useSettings } from 'renderer/contexts/SettingsContext';
import { useSettingsContext } from 'renderer/contexts/SettingsContext';
import cronstrue from 'cronstrue/i18n';

type FormattedCronProps = {
value: string;
};

export default function FormattedCron({ value }: FormattedCronProps) {
const { localeInfo } = useSettings();
const { localeInfo } = useSettingsContext();

const prettyCron = useMemo<string>(() => cronstrue.toString(value, { locale: localeInfo.id }), [value]);

4 changes: 2 additions & 2 deletions app/src/renderer/components/item/ItemHeader.tsx
Original file line number Diff line number Diff line change
@@ -17,13 +17,13 @@ import { IconViewer } from 'renderer/components/common/IconViewer';
import useItemIcon from 'renderer/hooks/useItemIcon';
import ItemMenu from 'renderer/layout/navigator/components/sidebar/tree/menus/ItemMenu';
import { ItemRO } from '../../definitions/daemon';
import { useNavigatorLayout } from 'renderer/contexts/NavigatorLayoutContext';
import { useNavigatorLayoutContext } from 'renderer/contexts/NavigatorLayoutContext';

type ItemHeaderProps = { item: ItemRO };

export default function ItemHeader({ item }: ItemHeaderProps) {
const menuState = usePopupState({ variant: 'popover' });
const { data } = useNavigatorLayout();
const { data } = useNavigatorLayoutContext();

const color = useItemColor(item, data);
const displayName = useMemo<string>(() => getItemDisplayName(item), [item]);
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@ import AuthenticationDetailsFormHeader from './AuthenticationDetailsFormHeader';
import AuthenticationDetailsFormBearer from './AuthenticationDetailsFormBearer';
import AuthenticationDetailsFormQuerystring from './AuthenticationDetailsFormQuerystring';
import { usePrevious, useUpdateEffect } from 'react-use';
import { useAnalytics } from '../../../../contexts/AnalyticsContext';
import { useAnalyticsContext } from '../../../../contexts/AnalyticsContext';
import { ItemType } from '../../../../definitions/daemon';

export type AuthenticationDetailsFormProps = {
@@ -21,7 +21,7 @@ const AuthenticationDetailsForm: FunctionComponent<AuthenticationDetailsFormProp
itemType,
}: AuthenticationDetailsFormProps) => {
const intl = useIntl();
const { track } = useAnalytics();
const { track } = useAnalyticsContext();

const { control, watch } = useFormContext<{ authentication: Authentication$Typed }>();

@@ -30,9 +30,6 @@ const AuthenticationDetailsForm: FunctionComponent<AuthenticationDetailsFormProp

const AuthenticationDetailsFormType = useMemo<ComponentType<AuthenticationDetailsFormProps>>(() => {
switch (type) {
case 'none':
default:
return AuthenticationDetailsFormNone;
case 'inherit':
return AuthenticationDetailsFormInherit;
case 'basic':
@@ -43,6 +40,9 @@ const AuthenticationDetailsForm: FunctionComponent<AuthenticationDetailsFormProp
return AuthenticationDetailsFormBearer;
case 'query-string':
return AuthenticationDetailsFormQuerystring;
case 'none':
default:
return AuthenticationDetailsFormNone;
}
}, [type]);

Original file line number Diff line number Diff line change
@@ -10,22 +10,22 @@ import { useCrudCreate } from 'renderer/apis/requests/crud/crudCreate';
import { ApplicationModifyRequestRO, ApplicationRO } from 'common/generated_definitions';
import { applicationCrudEntity } from 'renderer/apis/requests/crud/entity/entities/application.crudEntity';
import { INHERITED_COLOR_VALUE } from 'renderer/hooks/useItemColor';
import { useAnalytics } from 'renderer/contexts/AnalyticsContext';
import { useAnalyticsContext } from 'renderer/contexts/AnalyticsContext';
import { getItemUrl } from 'renderer/utils/itemUtils';
import { useItems } from 'renderer/contexts/ItemsContext';
import { useItemsContext } from 'renderer/contexts/ItemsContext';
import { useNavigate } from 'react-router-dom';

export type CreateApplicationDialogProps = {
parentFolderId?: string;
sort?: number;
onCreated?: (item: ApplicationRO) => void;
};
onCreated?: (items: ApplicationRO[]) => void;
} & NiceModalHocProps;

const CreateApplicationDialog: FunctionComponent<CreateApplicationDialogProps & NiceModalHocProps> = NiceModal.create(
const CreateApplicationDialog: FunctionComponent<CreateApplicationDialogProps> = NiceModal.create(
({ parentFolderId, sort, onCreated }) => {
const modal = useModal();
const { track } = useAnalytics();
const { addItem } = useItems();
const { track } = useAnalyticsContext();
const { addItem } = useItemsContext();
const navigate = useNavigate();

const [submitting, setSubmitting] = useState<boolean>(false);
@@ -56,7 +56,7 @@ const CreateApplicationDialog: FunctionComponent<CreateApplicationDialogProps &
addItem(result);
navigate(getItemUrl(result));

onCreated?.(result);
onCreated?.([result]);

modal.resolve(result);
await modal.hide();
Original file line number Diff line number Diff line change
@@ -8,22 +8,22 @@ import { FolderModifyRequestRO, FolderRO } from 'common/generated_definitions';
import { useCrudCreate } from 'renderer/apis/requests/crud/crudCreate';
import { folderCrudEntity } from 'renderer/apis/requests/crud/entity/entities/folder.crudEntity';
import { INHERITED_COLOR_VALUE } from 'renderer/hooks/useItemColor';
import { useAnalytics } from 'renderer/contexts/AnalyticsContext';
import { useAnalyticsContext } from 'renderer/contexts/AnalyticsContext';
import { getItemUrl } from 'renderer/utils/itemUtils';
import { useItems } from 'renderer/contexts/ItemsContext';
import { useItemsContext } from 'renderer/contexts/ItemsContext';
import { useNavigate } from 'react-router-dom';

export type CreateFolderDialogProps = {
parentFolderId?: string;
sort?: number;
onCreated?: (item: FolderRO) => void;
};
onCreated?: (items: FolderRO[]) => void;
} & NiceModalHocProps;

const CreateFolderDialog: FunctionComponent<CreateFolderDialogProps & NiceModalHocProps> = NiceModal.create(
const CreateFolderDialog: FunctionComponent<CreateFolderDialogProps> = NiceModal.create(
({ parentFolderId, sort, onCreated }) => {
const modal = useModal();
const { track } = useAnalytics();
const { addItem } = useItems();
const { track } = useAnalyticsContext();
const { addItem } = useItemsContext();
const navigate = useNavigate();

const [submitting, setSubmitting] = useState<boolean>(false);
@@ -50,7 +50,7 @@ const CreateFolderDialog: FunctionComponent<CreateFolderDialogProps & NiceModalH
addItem(result);
navigate(getItemUrl(result));

onCreated?.(result);
onCreated?.([result]);

modal.resolve(result);
await modal.hide();
Original file line number Diff line number Diff line change
@@ -21,23 +21,23 @@ import { useCrudCreateBulk } from 'renderer/apis/requests/crud/crudCreateBulk';
import LogoLoader from 'renderer/components/common/LogoLoader';
import { every } from 'lodash';
import { URL_REGEX } from 'renderer/constants/regex';
import { useAnalytics } from 'renderer/contexts/AnalyticsContext';
import { useAnalyticsContext } from 'renderer/contexts/AnalyticsContext';
import { useNavigate } from 'react-router-dom';
import { useItems } from 'renderer/contexts/ItemsContext';
import { useItemsContext } from 'renderer/contexts/ItemsContext';

export type CreateInstanceDialogProps = {
parentApplicationId?: string;
parentFolderId?: string;
sort?: number;
onCreated?: (item: InstanceRO[]) => void;
};
} & NiceModalHocProps;

const CreateInstanceDialog: FunctionComponent<CreateInstanceDialogProps & NiceModalHocProps> = NiceModal.create(
const CreateInstanceDialog: FunctionComponent<CreateInstanceDialogProps> = NiceModal.create(
({ parentApplicationId, parentFolderId, sort, onCreated }) => {
const modal = useModal();
const queryClient = useQueryClient();
const { track } = useAnalytics();
const { addItems } = useItems();
const { track } = useAnalyticsContext();
const { addItems } = useItemsContext();
const navigate = useNavigate();

const [defaultValues, setDefaultValues] = useState<Partial<InstanceFormValues> | undefined>(undefined);
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@ import AuthenticationDetailsForm from '../../authentication/forms/Authentication
import { ApplicationRO, Authentication, InstanceModifyRequestRO } from '../../../../../common/generated_definitions';
import useEffectiveAuthentication from '../../authentication/hooks/useEffectiveAuthentication';
import EffectiveAuthenticationDetails from '../../authentication/effective/EffectiveAuthenticationDetails';
import { useAnalytics } from '../../../../contexts/AnalyticsContext';
import { useAnalyticsContext } from '../../../../contexts/AnalyticsContext';
import { useCrudShow } from '../../../../apis/requests/crud/crudShow';
import { applicationCrudEntity } from '../../../../apis/requests/crud/entity/entities/application.crudEntity';

@@ -41,7 +41,7 @@ const InstanceDetailsForm: FunctionComponent<InstanceDetailsFormProps> = ({
}: InstanceDetailsFormProps) => {
const intl = useIntl();
const { enqueueSnackbar } = useSnackbar();
const { track } = useAnalytics();
const { track } = useAnalyticsContext();

const methods = useForm<InstanceFormValues>({ defaultValues });
const {
Original file line number Diff line number Diff line change
@@ -8,13 +8,13 @@ import ItemIconMenu from 'renderer/components/item/dialogs/forms/fields/ItemIcon
import { ItemType } from '../../../../../definitions/daemon';
import { DEFAULT_ICON_VALUE } from '../../../../../hooks/useItemIcon';
import { FormattedMessage } from 'react-intl';
import { useAnalytics } from '../../../../../contexts/AnalyticsContext';
import { useAnalyticsContext } from '../../../../../contexts/AnalyticsContext';

type ItemIconFormFieldProps = { type: ItemType };

export default function ItemIconFormField({ type }: ItemIconFormFieldProps) {
const menuState = usePopupState({ variant: 'popper' });
const { track } = useAnalytics();
const { track } = useAnalyticsContext();

const { watch, setValue } = useFormContext<{ icon?: string }>();

Original file line number Diff line number Diff line change
@@ -6,16 +6,16 @@ import DialogTitleEnhanced from 'renderer/components/dialog/DialogTitleEnhanced'
import ApplicationDetailsForm, {
ApplicationFormValues,
} from 'renderer/components/item/dialogs/forms/ApplicationDetailsForm';
import { ApplicationModifyRequestRO, ApplicationRO } from '../../../../../common/generated_definitions';
import { useCrudUpdate } from '../../../../apis/requests/crud/crudUpdate';
import { applicationCrudEntity } from '../../../../apis/requests/crud/entity/entities/application.crudEntity';
import { ApplicationModifyRequestRO, ApplicationRO } from 'common/generated_definitions';
import { useCrudUpdate } from 'renderer/apis/requests/crud/crudUpdate';
import { applicationCrudEntity } from 'renderer/apis/requests/crud/entity/entities/application.crudEntity';

export type UpdateApplicationDialogProps = {
item: ApplicationRO;
onUpdated?: (item: ApplicationRO) => void;
};
} & NiceModalHocProps;

const UpdateApplicationDialog: FunctionComponent<UpdateApplicationDialogProps & NiceModalHocProps> = NiceModal.create(
const UpdateApplicationDialog: FunctionComponent<UpdateApplicationDialogProps> = NiceModal.create(
({ item, onUpdated }) => {
const modal = useModal();

Loading

0 comments on commit 9945e57

Please sign in to comment.