From 0cba09f53dfbb8715f13e1f1ece4aac84462baf0 Mon Sep 17 00:00:00 2001 From: Tola Leng Date: Tue, 22 Jul 2025 15:46:44 +0700 Subject: [PATCH 1/6] Updated Credentail for Demo [Docs]: Demo Login #74 --- README.md | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 2bdff25..ed8c3df 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ CheckCle is an Open Source solution for seamless, real-time monitoring of full-s ## 🎯 Live Demo 👉 **Try it now:** [CheckCle Live Demo](https://demo.checkcle.io) + User: admin@example.com | Passwd: Admin123456 ## 🌟 Core Features @@ -110,11 +111,12 @@ services: 4. Follow the Quick Start Guide at https://docs.checkcle.io ### -![checkcle-collapse-black](https://pub-4a4062303020445f8f289a2fee84f9e8.r2.dev/images/uptime-monitoring.png) -![Service Detail Page](https://pub-4a4062303020445f8f289a2fee84f9e8.r2.dev/images/uptime-service-detail.png) -![checkcle-server-instance](https://pub-4a4062303020445f8f289a2fee84f9e8.r2.dev/images/instance-server-monitoring.png) +![checkcle-collapse-black](https://pub-4a4062303020445f8f289a2fee84f9e8.r2.dev/images/uptime-1.4.png) +![Service Detail Page](https://cdn.checkcle.io/images/uptime/uptime-regional-detail.png) +![checkcle-server-instance](https://cdn.checkcle.io/images/server/server-list.png) +![SSL Monitoring](https://cdn.checkcle.io/images/ssl-domain/ssl-list.png) ![Schedule Maintenance](https://pub-4a4062303020445f8f289a2fee84f9e8.r2.dev/images/checkcle-schedule-maintenance.png) -![SSL Monitoring](https://pub-4a4062303020445f8f289a2fee84f9e8.r2.dev/images/ssl-monitoring.png) + ## 📝 Development Roadmap @@ -171,12 +173,7 @@ CheckCle is released under the MIT License. --- ## 👥 Contributors +Thank you for contributing and continuously making CheckCle better, you're awesome 🫶 [![](https://contrib.rocks/image?repo=operacle/checkcle)](https://github.com/operacle/checkcle/graphs/contributors) - -## Star History - -[![Star History Chart](https://api.star-history.com/svg?repos=operacle/checkcle&type=Date)](https://www.star-history.com/#operacle/checkcle&Date) - -Stay informed, stay online, with CheckCle! 🌐 From 9f704bb1adf0aad686e15e5c75deaa499c65ab48 Mon Sep 17 00:00:00 2001 From: Tola Leng Date: Tue, 22 Jul 2025 20:11:11 +0700 Subject: [PATCH 2/6] Added Reddit Community --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ed8c3df..5c3664d 100644 --- a/README.md +++ b/README.md @@ -163,7 +163,7 @@ Here are some ways you can help improve CheckCle: - Website: [checkcle.io](https://checkcle.io) - Documentation: [docs.checkcle.io](https://docs.checkcle.io) - GitHub Repository: ⭐ [CheckCle](https://github.com/operacle/checkcle.git) -- Community Channels: Engage via discussions and issues! +- Reddit Community: [reddit](https://www.reddit.com/r/checkcle) - Discord: Join our community [@discord](https://discord.gg/xs9gbubGwX) - X: [@tlengoss](https://x.com/tlengoss) From 57f815e29ef14dc76b4750cf84cfaab2782126c8 Mon Sep 17 00:00:00 2001 From: Tola Leng Date: Wed, 23 Jul 2025 21:52:06 +0700 Subject: [PATCH 3/6] Updated server agent automate bash script --- scripts/server-agent.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/server-agent.sh b/scripts/server-agent.sh index 3435b3e..e73db52 100644 --- a/scripts/server-agent.sh +++ b/scripts/server-agent.sh @@ -232,7 +232,7 @@ configure_agent() { log_info "Final configuration:" log_info " Server Name: $SERVER_NAME" log_info " Agent ID: $AGENT_ID" - log_info " PocketBase URL: $POCKETBASE_URL" + log_info " PB API URL: $POCKETBASE_URL" log_info " IP Address: $IP_ADDRESS" log_info " OS Type: $OS_TYPE" log_info " Health Check Port: $HEALTH_CHECK_PORT" @@ -341,7 +341,7 @@ test_installation() { show_post_install_info() { echo echo "=============================================" - echo " Installation Complete!" + echo " CheckCle Server Agent Installation Complete!" echo "=============================================" echo log_success "CheckCle Monitoring Agent installed and configured successfully" From fc568891d50d3123a7b7f5070b0cdf7c9c70fdfc Mon Sep 17 00:00:00 2001 From: Tola Leng Date: Wed, 23 Jul 2025 21:53:31 +0700 Subject: [PATCH 4/6] =?UTF-8?q?=F0=9F=93=96=20Updated=20README=20-=20For?= =?UTF-8?q?=20project=20status=20and=20url=20image?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5c3664d..d9cbe4f 100644 --- a/README.md +++ b/README.md @@ -130,10 +130,10 @@ services: - ✅ SSL & Domain Monitoring - ✅ Schedule Maintenance - ✅ Incident Management -- [ ] Infrastructure Server Monitoring +- ✅ Infrastructure Server Monitoring - ✅ Operational Status / Public Status Pages - ✅ Uptime monitoring (HTTP, TCP, PING, DNS) Full functionality -- ✅ Distributed Regional Monitoring Agent [Support Operation](https://github.com/operacle/Distributed-Regional-Monitoring) +- ✅ Distributed Regional Monitoring Agent - ✅ System Setting Panel and Mail Settings - ✅ User Permission Roles - [ ] Notifications (Email/Slack/Discord/Signal) From 4ff92b4c4da5e85609628eaa7249c98cada58af5 Mon Sep 17 00:00:00 2001 From: Tola Leng Date: Wed, 23 Jul 2025 21:55:23 +0700 Subject: [PATCH 5/6] Updated server metric field --- .../1753102275_updated_server_metrics.js | 61 +++++++++++++++++++ .../1753102296_updated_server_metrics.js | 42 +++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 server/pb_migrations/1753102275_updated_server_metrics.js create mode 100644 server/pb_migrations/1753102296_updated_server_metrics.js diff --git a/server/pb_migrations/1753102275_updated_server_metrics.js b/server/pb_migrations/1753102275_updated_server_metrics.js new file mode 100644 index 0000000..acce145 --- /dev/null +++ b/server/pb_migrations/1753102275_updated_server_metrics.js @@ -0,0 +1,61 @@ +/// +migrate((app) => { + const collection = app.findCollectionByNameOrId("pbc_1998570700") + + // add field + collection.fields.addAt(20, new Field({ + "autogeneratePattern": "", + "hidden": false, + "id": "text772177811", + "max": 0, + "min": 0, + "name": "detail", + "pattern": "", + "presentable": false, + "primaryKey": false, + "required": false, + "system": false, + "type": "text" + })) + + // update field + collection.fields.addAt(19, new Field({ + "autogeneratePattern": "", + "hidden": false, + "id": "text3065852031", + "max": 0, + "min": 0, + "name": "error_message", + "pattern": "", + "presentable": false, + "primaryKey": false, + "required": false, + "system": false, + "type": "text" + })) + + return app.save(collection) +}, (app) => { + const collection = app.findCollectionByNameOrId("pbc_1998570700") + + // remove field + collection.fields.removeById("text772177811") + + // update field + collection.fields.addAt(19, new Field({ + "autogeneratePattern": "", + "hidden": false, + "id": "text3065852031", + "max": 0, + "min": 0, + "name": "message", + "pattern": "", + "presentable": false, + "primaryKey": false, + "required": false, + "system": false, + "type": "text" + })) + + return app.save(collection) +}) diff --git a/server/pb_migrations/1753102296_updated_server_metrics.js b/server/pb_migrations/1753102296_updated_server_metrics.js new file mode 100644 index 0000000..262830d --- /dev/null +++ b/server/pb_migrations/1753102296_updated_server_metrics.js @@ -0,0 +1,42 @@ +/// +migrate((app) => { + const collection = app.findCollectionByNameOrId("pbc_1998570700") + + // update field + collection.fields.addAt(20, new Field({ + "autogeneratePattern": "", + "hidden": false, + "id": "text772177811", + "max": 0, + "min": 0, + "name": "details", + "pattern": "", + "presentable": false, + "primaryKey": false, + "required": false, + "system": false, + "type": "text" + })) + + return app.save(collection) +}, (app) => { + const collection = app.findCollectionByNameOrId("pbc_1998570700") + + // update field + collection.fields.addAt(20, new Field({ + "autogeneratePattern": "", + "hidden": false, + "id": "text772177811", + "max": 0, + "min": 0, + "name": "detail", + "pattern": "", + "presentable": false, + "primaryKey": false, + "required": false, + "system": false, + "type": "text" + })) + + return app.save(collection) +}) From fda91aedb93e65222d336f729fd0acc7aa76afb9 Mon Sep 17 00:00:00 2001 From: Tola Leng Date: Wed, 23 Jul 2025 22:13:20 +0700 Subject: [PATCH 6/6] Fix: Display new service immediately - Ensure that newly created services are immediately visible in the services table list on the Uptime Monitoring dashboard, without requiring a manual refresh or a delay. --- .../src/components/services/AddServiceDialog.tsx | 7 ++++++- .../components/services/add-service/ServiceForm.tsx | 12 ++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/application/src/components/services/AddServiceDialog.tsx b/application/src/components/services/AddServiceDialog.tsx index 4d37c26..13e5947 100644 --- a/application/src/components/services/AddServiceDialog.tsx +++ b/application/src/components/services/AddServiceDialog.tsx @@ -8,6 +8,7 @@ import { } from "@/components/ui/dialog"; import { ServiceForm } from "./ServiceForm"; import { ScrollArea } from "@/components/ui/scroll-area"; +import { useQueryClient } from "@tanstack/react-query"; interface AddServiceDialogProps { open: boolean; @@ -15,7 +16,11 @@ interface AddServiceDialogProps { } export function AddServiceDialog({ open, onOpenChange }: AddServiceDialogProps) { - const handleSuccess = () => { + const queryClient = useQueryClient(); + const handleSuccess = async () => { + // Immediately invalidate and refetch services data + await queryClient.invalidateQueries({ queryKey: ["services"] }); + await queryClient.refetchQueries({ queryKey: ["services"] }); onOpenChange(false); }; diff --git a/application/src/components/services/add-service/ServiceForm.tsx b/application/src/components/services/add-service/ServiceForm.tsx index 8e66a92..28ba8e9 100644 --- a/application/src/components/services/add-service/ServiceForm.tsx +++ b/application/src/components/services/add-service/ServiceForm.tsx @@ -13,6 +13,7 @@ import { serviceService } from "@/services/serviceService"; import { Service } from "@/types/service.types"; import { ServiceRegionalFields } from "./ServiceRegionalFields"; import { getServiceFormDefaults, mapServiceToFormData, mapFormDataToServiceData } from "./serviceFormUtils"; +import { useQueryClient } from "@tanstack/react-query"; interface ServiceFormProps { onSuccess: () => void; @@ -31,6 +32,7 @@ export function ServiceForm({ }: ServiceFormProps) { const { toast } = useToast(); const [isSubmitting, setIsSubmitting] = useState(false); + const queryClient = useQueryClient(); // Initialize form with default values const form = useForm({ @@ -91,6 +93,16 @@ export function ServiceForm({ }); } + // Force immediate refresh of services data + queryClient.setQueryData(["services"], (oldData: any) => { + // Invalidate the cache to force a fresh fetch + return undefined; + }); + + // Invalidate and refetch services query + await queryClient.invalidateQueries({ queryKey: ["services"] }); + await queryClient.refetchQueries({ queryKey: ["services"] }); + onSuccess(); if (!isEdit) { form.reset();