Skip to content

Commit

Permalink
upgrade deps
Browse files Browse the repository at this point in the history
  • Loading branch information
gabrielburnworth committed Dec 28, 2023
1 parent 2e94865 commit 3c1a8bb
Show file tree
Hide file tree
Showing 21 changed files with 62 additions and 46 deletions.
10 changes: 5 additions & 5 deletions Gemfile.lock
Expand Up @@ -114,7 +114,7 @@ GEM
docile (1.4.0)
e2mmap (0.1.0)
erubi (1.12.0)
factory_bot (6.4.2)
factory_bot (6.4.4)
activesupport (>= 5.0.0)
factory_bot_rails (6.4.2)
factory_bot (~> 6.4)
Expand Down Expand Up @@ -222,7 +222,7 @@ GEM
multipart-post (2.3.0)
mutations (0.9.1)
activesupport
net-imap (0.4.8)
net-imap (0.4.9)
date
net-protocol
net-pop (0.1.2)
Expand All @@ -232,7 +232,7 @@ GEM
net-smtp (0.4.0)
net-protocol
nio4r (2.7.0)
nokogiri (1.15.5-x86_64-linux)
nokogiri (1.16.0-x86_64-linux)
racc (~> 1.4)
orm_adapter (0.5.0)
os (1.1.4)
Expand Down Expand Up @@ -336,7 +336,7 @@ GEM
activerecord (>= 4.0.0)
railties (>= 4.0.0)
secure_headers (6.5.0)
set (1.0.4)
set (1.1.0)
signet (0.18.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
Expand Down Expand Up @@ -433,4 +433,4 @@ RUBY VERSION
ruby 3.1.4p223

BUNDLED WITH
2.5.0
2.5.3
3 changes: 2 additions & 1 deletion frontend/connectivity/batch_queue.ts
Expand Up @@ -3,6 +3,7 @@ import { store } from "../redux/store";
import { batchInitResources, bothUp } from "./connect_device";
import { maybeGetDevice } from "../resources/selectors";
import { deviceIsThrottled } from "./device_is_throttled";
import { UnknownAction } from "redux";

/** Performs resource initialization (Eg: a storm of incoming logs) in batches
* at a regular interval. We only need one work queue for the whole app,
Expand All @@ -25,7 +26,7 @@ export class BatchQueue {
work = () => {
const dev = maybeGetDevice(store.getState().resources.index);
if (!deviceIsThrottled(dev ? dev.body : undefined)) {
store.dispatch(batchInitResources(this.queue));
store.dispatch(batchInitResources(this.queue) as unknown as UnknownAction);
}
this.clear();
bothUp();
Expand Down
5 changes: 3 additions & 2 deletions frontend/connectivity/index.ts
Expand Up @@ -2,6 +2,7 @@ import { store } from "../redux/store";
import { networkUp, networkDown } from "./actions";
import { Edge } from "./interfaces";
import { Actions } from "../constants";
import { UnknownAction } from "redux";

/* ABOUT THIS FILE: These functions allow us to mark the network as up or
down from anywhere within the app (even outside of React-Redux). I usually avoid
Expand Down Expand Up @@ -39,13 +40,13 @@ export const dispatchQosStart = (id: string) => {

export const dispatchNetworkUp = (edge: Edge, at: number) => {
if (shouldThrottle(edge, at)) { return; }
store.dispatch(networkUp(edge, at));
store.dispatch(networkUp(edge, at) as unknown as UnknownAction);
bumpThrottle(edge, at);
};

export const dispatchNetworkDown = (edge: Edge, at: number) => {
if (shouldThrottle(edge, at)) { return; }
store.dispatch(networkDown(edge, at));
store.dispatch(networkDown(edge, at) as unknown as UnknownAction);
bumpThrottle(edge, at);
};

Expand Down
2 changes: 1 addition & 1 deletion frontend/devices/connectivity/generate_data.ts
Expand Up @@ -26,7 +26,7 @@ export const connectivityData = (props: ConnectivityDataProps) => {
userMQTT: browserToMQTT({ state: "up", at: moment().valueOf() }),
userAPI: browserToAPI({ state: "up", at: moment().valueOf() }),
botMQTT: botToMQTT({ state: "up", at: moment().valueOf() }),
botAPI: botToAPI(moment().toISOString()),
botAPI: botToAPI("" + moment().toISOString()),
botFirmware: botToFirmware("0.0.0.E", "express_k10"),
}
: {
Expand Down
4 changes: 2 additions & 2 deletions frontend/farm_events/add_farm_event.tsx
Expand Up @@ -57,8 +57,8 @@ export class RawAddFarmEvent
const { uuid } = this.props.findExecutable(executable_type, executable_id);
const varData = this.props.resources.sequenceMetas[uuid];
const action = init("FarmEvent", {
end_time: moment().add(63, "minutes").toISOString(),
start_time: moment().add(3, "minutes").toISOString(),
end_time: "" + moment().add(63, "minutes").toISOString(),
start_time: "" + moment().add(3, "minutes").toISOString(),
time_unit: "never",
executable_id,
executable_type,
Expand Down
4 changes: 2 additions & 2 deletions frontend/farm_events/map_state_to_props_add_edit.ts
Expand Up @@ -60,7 +60,7 @@ const handleTime = (
.toISOString();

// Set the time of the already existing iso string
const newStartISO = moment(currentStartISO)
const newStartISO = "" + moment(currentStartISO)
.set("hours", hours)
.set("minutes", minutes)
.toISOString();
Expand All @@ -71,7 +71,7 @@ const handleTime = (
const currentEndISO = new Date((currentISO || "").toString())
.toISOString();

const newEndISO = moment(currentEndISO)
const newEndISO = "" + moment(currentEndISO)
.set("hours", hours)
.set("minutes", minutes)
.toISOString();
Expand Down
3 changes: 2 additions & 1 deletion frontend/folders/actions.ts
Expand Up @@ -13,6 +13,7 @@ import { stepGet, STEP_DATATRANSFER_IDENTIFER } from "../draggable/actions";
import { joinKindAndId } from "../resources/reducer_support";
import { maybeGetSequence } from "../resources/selectors";
import { Path } from "../internal_urls";
import { UnknownAction } from "redux";

export const setFolderColor = (id: number, color: Color) => {
const d = store.dispatch as Function;
Expand Down Expand Up @@ -51,7 +52,7 @@ export const addNewSequenceToFolder = (config: DeepPartial<Folder> = {}) => {
kind: "sequence",
body: [],
};
store.dispatch(init("Sequence", newSequence));
store.dispatch(init("Sequence", newSequence) as unknown as UnknownAction);
push(Path.sequences(urlFriendly(newSequence.name)));
setActiveSequenceByName();
};
Expand Down
Expand Up @@ -113,8 +113,7 @@ describe("<ImageFilterMenu />", () => {
currentTarget: { value: "" }
});
expect(wrapper.instance().state[filter]).toEqual(undefined);
// eslint-disable-next-line no-null/no-null
expect(edit).toHaveBeenCalledWith(config, { [key]: null });
expect(edit).toHaveBeenCalledWith(config, { [key]: undefined });
expect(save).toHaveBeenCalledWith(config.uuid);
});

Expand Down
8 changes: 6 additions & 2 deletions frontend/photos/photo_filter_settings/image_filter_menu.tsx
Expand Up @@ -84,7 +84,9 @@ export class ImageFilterMenu
let value = undefined;
switch (datetime) {
case "beginDate":
value = offsetTime(input, beginTime || "00:00", timeSettings);
if (input) {
value = offsetTime(input, beginTime || "00:00", timeSettings);
}
this.setValues({ photo_filter_begin: value });
break;
case "beginTime":
Expand All @@ -94,7 +96,9 @@ export class ImageFilterMenu
}
break;
case "endDate":
value = offsetTime(input, endTime || "00:00", timeSettings);
if (input) {
value = offsetTime(input, endTime || "00:00", timeSettings);
}
this.setValues({ photo_filter_end: value });
break;
case "endTime":
Expand Down
2 changes: 1 addition & 1 deletion frontend/photos/photo_filter_settings/util.ts
Expand Up @@ -32,7 +32,7 @@ export const parseFilterSetting = (getConfigValue: GetWebAppConfigValue) =>
};

export const filterTime = (direction: "before" | "after", seconds = 1) =>
(image: TaggedImage) =>
(image: TaggedImage): string =>
moment(image.body.created_at)
.add(direction == "before" ? -seconds : seconds, "second")
.toISOString();
Expand Down
2 changes: 1 addition & 1 deletion frontend/plants/__tests__/plant_inventory_item_test.tsx
Expand Up @@ -48,7 +48,7 @@ describe("<PlantInventoryItem />", () => {
const p = fakeProps();
const plant = fakePlant();
plant.body.name = "";
plant.body.planted_at = moment().toISOString();
plant.body.planted_at = "" + moment().toISOString();
p.plant = plant;
const wrapper = shallow(<PlantInventoryItem {...p} />);
expect(wrapper.text()).toEqual("Unknown plant1 day old");
Expand Down
4 changes: 2 additions & 2 deletions frontend/plants/edit_plant_status.tsx
Expand Up @@ -84,7 +84,7 @@ const getUpdateByPlantStage = (plant_stage: PlantStage): PlantOptions => {
update.planted_at = undefined;
break;
case "planted":
update.planted_at = moment().toISOString();
update.planted_at = "" + moment().toISOString();
}
return update;
};
Expand Down Expand Up @@ -164,7 +164,7 @@ export const PlantDateBulkUpdate = (props: PlantDateBulkUpdateProps) => {
}))
&& plants.map(plant => {
props.dispatch(edit(plant, {
planted_at: moment(e.currentTarget.value)
planted_at: "" + moment(e.currentTarget.value)
.utcOffset(props.timeSettings.utcOffset).toISOString()
}));
props.dispatch(save(plant.uuid));
Expand Down
2 changes: 1 addition & 1 deletion frontend/plants/plant_panel.tsx
Expand Up @@ -66,7 +66,7 @@ export const EditDatePlanted = (props: EditDatePlantedProps) => {
value={datePlanted?.utcOffset(timeSettings.utcOffset)
.format("YYYY-MM-DD") || ""}
onCommit={e => updatePlant(uuid, {
planted_at: moment(e.currentTarget.value)
planted_at: "" + moment(e.currentTarget.value)
.utcOffset(timeSettings.utcOffset).toISOString()
})} />;
};
Expand Down
5 changes: 2 additions & 3 deletions frontend/redux/store.ts
@@ -1,14 +1,13 @@
import { createStore, PreloadedState } from "redux";
import { createStore } from "redux";
import { EnvName, Store } from "./interfaces";
import { rootReducer } from "./root_reducer";
import { registerSubscribers } from "./subscribers";
import { getMiddleware } from "./middlewares";
import { set } from "lodash";
import { Everything } from "../interfaces";

function getStore(envName: EnvName): Store {
return createStore(rootReducer,
{} as PreloadedState<Everything>,
{},
getMiddleware(envName));
}

Expand Down
2 changes: 1 addition & 1 deletion frontend/redux/version_tracker_middleware.ts
Expand Up @@ -18,7 +18,7 @@ function getVersionFromState(state: Everything) {

const fn: MW =
(store: Store<Everything>) =>
(dispatch: Dispatch<Action<object>>) =>
(dispatch: Dispatch<Action<string>>) =>
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(action: any) => {
const fbos = getVersionFromState(store.getState());
Expand Down
4 changes: 3 additions & 1 deletion frontend/regimens/set_active_regimen_by_name.ts
Expand Up @@ -3,8 +3,10 @@ import { store } from "../redux/store";
import { urlFriendly } from "../util";
import { selectRegimen } from "./actions";
import { Path } from "../internal_urls";
import { UnknownAction } from "redux";

const setRegimen = (uuid: string) => store.dispatch(selectRegimen(uuid));
const setRegimen = (uuid: string) =>
store.dispatch(selectRegimen(uuid) as unknown as UnknownAction);

export function setActiveRegimenByName() {
const chunk = Path.getLastChunk();
Expand Down
7 changes: 4 additions & 3 deletions frontend/resources/reducer_support.ts
@@ -1,7 +1,7 @@
import {
ResourceName, SpecialStatus, TaggedResource, TaggedSequence,
} from "farmbot";
import { combineReducers, ReducersMapObject } from "redux";
import { combineReducers, ReducersMapObject, UnknownAction } from "redux";
import { helpReducer as help } from "../help/reducer";
import { designer as farm_designer } from "../farm_designer/reducer";
import { photosReducer as photos } from "../photos/reducer";
Expand Down Expand Up @@ -40,6 +40,7 @@ import { getFbosConfig } from "./getters";
import { ingest, PARENTLESS as NO_PARENT } from "../folders/data_transfer";
import { FolderNode, FolderMeta } from "../folders/interfaces";
import { pointsSelectedByGroup } from "../point_groups/criteria/apply";
import { Everything } from "../interfaces";

export function findByUuid(index: ResourceIndex, uuid: string): TaggedResource {
const x = index.references[uuid];
Expand Down Expand Up @@ -275,8 +276,8 @@ const consumerReducer = combineReducers<RestResources["consumers"]>({
farmware,
help,
alerts
// eslint-disable-next-line @typescript-eslint/no-explicit-any
} as ReducersMapObject<RestResources["consumers"], any>);
} as ReducersMapObject<RestResources["consumers"], UnknownAction, Everything>,
) as Function;

/** The resource reducer must have the first say when a resource-related action
* fires off. Afterwards, sub-reducers are allowed to make sense of data
Expand Down
4 changes: 3 additions & 1 deletion frontend/sequences/set_active_sequence_by_name.ts
Expand Up @@ -4,8 +4,10 @@ import { urlFriendly } from "../util";
import { selectSequence } from "./actions";
import { setMenuOpen } from "./test_button";
import { Path } from "../internal_urls";
import { UnknownAction } from "redux";

const setSequence = (uuid: string) => store.dispatch(selectSequence(uuid));
const setSequence = (uuid: string) =>
store.dispatch(selectSequence(uuid) as unknown as UnknownAction);

export function setActiveSequenceByName() {
const chunk = Path.getLastChunk();
Expand Down
2 changes: 1 addition & 1 deletion frontend/wizard/actions.ts
Expand Up @@ -31,7 +31,7 @@ export const destroyAllWizardStepResults =
export const completeSetup = (device: TaggedDevice | undefined) =>
device &&
setDeviceProperty(device, {
setup_completed_at: moment().toISOString()
setup_completed_at: "" + moment().toISOString()
});

export const resetSetup = (device: TaggedDevice | undefined) =>
Expand Down
22 changes: 11 additions & 11 deletions package.json
Expand Up @@ -38,22 +38,22 @@
"@parcel/transformer-typescript-tsc": "2.10.3",
"@types/lodash": "4.14.202",
"@types/markdown-it": "13.0.7",
"@types/node": "20.10.4",
"@types/node": "20.10.5",
"@types/promise-timeout": "1.3.3",
"@types/react": "18.2.45",
"@types/react": "18.2.46",
"@types/react-color": "3.0.10",
"@types/react-dom": "18.2.17",
"@types/react-dom": "18.2.18",
"@types/ws": "8.5.10",
"axios": "1.6.2",
"axios": "1.6.3",
"bowser": "2.11.0",
"browser-speech": "1.1.1",
"events": "3.3.0",
"farmbot": "15.8.5",
"i18next": "23.7.11",
"i18next": "23.7.12",
"lodash": "4.17.21",
"markdown-it": "14.0.0",
"markdown-it-emoji": "3.0.0",
"moment": "2.29.4",
"moment": "2.30.1",
"monaco-editor": "0.45.0",
"mqtt": "5.1.4",
"npm": "10.2.5",
Expand All @@ -65,8 +65,8 @@
"react": "18.2.0",
"react-color": "2.19.3",
"react-dom": "18.2.0",
"react-redux": "8.1.3",
"redux": "4.2.1",
"react-redux": "9.0.4",
"redux": "5.0.1",
"redux-immutable-state-invariant": "2.1.0",
"redux-thunk": "3.1.0",
"takeme": "0.12.0",
Expand All @@ -78,12 +78,12 @@
"@types/enzyme": "3.10.12",
"@types/jest": "29.5.11",
"@types/readable-stream": "4.0.10",
"@typescript-eslint/eslint-plugin": "6.14.0",
"@typescript-eslint/parser": "6.14.0",
"@typescript-eslint/eslint-plugin": "6.16.0",
"@typescript-eslint/parser": "6.16.0",
"@wojtekmaj/enzyme-adapter-react-17": "0.8.0",
"coveralls": "3.1.1",
"enzyme": "3.11.0",
"eslint": "8.55.0",
"eslint": "8.56.0",
"eslint-plugin-eslint-comments": "3.2.0",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-jest": "27.6.0",
Expand Down
10 changes: 8 additions & 2 deletions spec/controllers/api/ai/ai_controller_spec.rb
Expand Up @@ -119,11 +119,17 @@ def chunk(content, done=nil)
expect(response.status).to eq(200)
expect(response.body).to eq("title")

statuses = []
bodies = []

(0..20).map do |_|
post :create, body: payload.to_json
statuses.push(response.status)
bodies.push(response.body)
end

expect(response.status).to eq(403)
expect(response.body).to eq({error: "Too many requests. Try again later."}.to_json)
if statuses.last() != 403 then puts statuses.join(" ") end
expect(statuses).to include(403)
expect(bodies).to include({error: "Too many requests. Try again later."}.to_json)
end
end

0 comments on commit 3c1a8bb

Please sign in to comment.