Skip to content

Dev to release #4493

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 91 commits into from
Aug 1, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
aa6aae8
Feat:: Add Mailbox Activity report page
kris6673 Jul 16, 2025
a9cbbda
fix copy paste bug
kris6673 Jul 16, 2025
8cffcfe
Merge pull request #4445 from kris6673/fix-mailbox-convert
KelvinTegelaar Jul 17, 2025
c8df261
Merge pull request #4444 from kris6673/Mailbox-Activity
KelvinTegelaar Jul 17, 2025
eae248d
extra handling for empty labels
KelvinTegelaar Jul 17, 2025
b040d6d
fix minor formatting bug
KelvinTegelaar Jul 18, 2025
d620ea1
auditlog updates
JohnDuprey Jul 22, 2025
0da6145
fix form conditions
JohnDuprey Jul 22, 2025
357d0f5
fixes height bug
KelvinTegelaar Jul 23, 2025
9e06d57
fix breach check exec ution
KelvinTegelaar Jul 23, 2025
5f292d1
fix rounding logic for time selection to always round down to the pre…
kris6673 Jul 23, 2025
0564f3e
Merge pull request #4462 from kris6673/fix-datePicker-rounding
KelvinTegelaar Jul 23, 2025
babba2d
CA policy handling
KelvinTegelaar Jul 23, 2025
619e9cd
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar Jul 23, 2025
33fef69
send email to the backend too
kris6673 Jul 23, 2025
103e8bc
Add alert if the mailbox is blocked for spam
kris6673 Jul 23, 2025
c2d579f
guid resolver tweaks
JohnDuprey Jul 23, 2025
ff507f8
Merge pull request #4463 from kris6673/fix-archive-and-blockedForSpam
JohnDuprey Jul 23, 2025
fbd6820
fix query key
JohnDuprey Jul 24, 2025
9c31e6f
update to newest license files
kris6673 Jul 24, 2025
6cb9db9
Merge pull request #4466 from kris6673/even-more-licenses
KelvinTegelaar Jul 24, 2025
ade18b2
search tweaks
JohnDuprey Jul 24, 2025
545334d
guid resolver tweaks
JohnDuprey Jul 24, 2025
cd24bdd
better object resolution
JohnDuprey Jul 24, 2025
a572a95
cleanup saved logs page
JohnDuprey Jul 24, 2025
81bd56b
fix saved logs page
JohnDuprey Jul 24, 2025
d2391d0
remove valueField prop from componentProps to fix current tenant auto…
kris6673 Jul 24, 2025
9c1235e
Add Deploy Policy button with permissions to pages
kris6673 Jul 24, 2025
2598bee
Add preselected option for tenant selection across multiple forms
kris6673 Jul 24, 2025
a994f90
Update index.js
JohnDuprey Jul 24, 2025
fa72deb
Bulk user property wizard #1
Jul 25, 2025
3853aef
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
JohnDuprey Jul 25, 2025
87995fc
audit log tweaks
JohnDuprey Jul 25, 2025
4331c7f
Update timers.js
JohnDuprey Jul 25, 2025
8ab9ca6
add alert fixes
JohnDuprey Jul 25, 2025
7c7c778
add common schema props
JohnDuprey Jul 25, 2025
001992b
disable console logging
JohnDuprey Jul 25, 2025
1385a13
use CIPP variants if available
JohnDuprey Jul 27, 2025
b9271fe
executive summary preview
JohnDuprey Jul 27, 2025
fdc9f26
update resolver to also look for unmatched guids in partner tenant
JohnDuprey Jul 27, 2025
f113477
Bulk user property wizard better formatting and bulk sending to API
Jul 28, 2025
4d221db
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
Jul 28, 2025
3365c73
Change action name
Jul 28, 2025
cc18d37
drift
KelvinTegelaar Jul 28, 2025
4b5c177
ui tweaks for patch wizard
JohnDuprey Jul 28, 2025
f156b4d
remove tabs from log view page
JohnDuprey Jul 28, 2025
bcba9bc
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar Jul 28, 2025
6172126
fix form submission for edit
JohnDuprey Jul 28, 2025
bb935e7
fix helper text
JohnDuprey Jul 28, 2025
8f39160
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
JohnDuprey Jul 28, 2025
64b49e7
Update CippFormComponent.jsx
JohnDuprey Jul 28, 2025
e8f3c3c
new drift standards placement
KelvinTegelaar Jul 28, 2025
684fca6
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar Jul 28, 2025
f4316e7
change how drift detection works
KelvinTegelaar Jul 28, 2025
547bacc
cleanup
KelvinTegelaar Jul 28, 2025
e780c29
updates
KelvinTegelaar Jul 28, 2025
8d6c962
Fixes the interval getting overridden by the recommended value when e…
Zacgoose Jul 29, 2025
20d8c64
Merge pull request #4474 from Zacgoose/editalertintervalfix
JohnDuprey Jul 29, 2025
4113da1
Add information about default configurations to docs helper
Zacgoose Jul 29, 2025
b088573
Add log entry page and shorten error message in table
Jul 29, 2025
8d4ad67
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
Jul 29, 2025
f9f2857
prevent adding multiple drift standards
KelvinTegelaar Jul 29, 2025
99a0f16
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar Jul 29, 2025
d0b674e
Merge pull request #4475 from Zacgoose/docsdesc-update
KelvinTegelaar Jul 29, 2025
361ed58
Feat: Add securityEnabled field switch
kris6673 Jul 29, 2025
963a331
Merge pull request #4482 from kris6673/issue4480
KelvinTegelaar Jul 29, 2025
d3a10e3
more improvements
KelvinTegelaar Jul 29, 2025
e4b3f4a
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar Jul 29, 2025
093dce1
Add bulk mailbox permissions action
Zacgoose Jul 30, 2025
ece5b18
Add SharePoint File Requests standard
Zacgoose Jul 30, 2025
3a238d9
fix nav issue with hiding menu items
JohnDuprey Jul 30, 2025
b4e60ea
Fix flexwrap issue
KelvinTegelaar Jul 30, 2025
f2a0cb1
update drift settings
KelvinTegelaar Jul 30, 2025
5bfaafe
updates to actions
KelvinTegelaar Jul 30, 2025
e615b23
hsitory timeline for tenant
KelvinTegelaar Jul 30, 2025
2f14434
decreased history to 5 days.
KelvinTegelaar Jul 31, 2025
a42c2ba
unused imports
KelvinTegelaar Jul 31, 2025
07e140c
text updates
KelvinTegelaar Jul 31, 2025
aec3cb3
fix autoremediate bug
KelvinTegelaar Jul 31, 2025
2f0c3c6
re-add rename device functionality
JohnDuprey Jul 31, 2025
7eaee18
fixes remediation
KelvinTegelaar Jul 31, 2025
2e486cb
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar Jul 31, 2025
7b9be3e
Add delete policy option
KelvinTegelaar Aug 1, 2025
3b0f2c0
LicenseAssignmentErrors alert
Aug 1, 2025
4b4ab7d
prerelease push
KelvinTegelaar Aug 1, 2025
ce95c23
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar Aug 1, 2025
f1f19f3
temporary removal of this
KelvinTegelaar Aug 1, 2025
71125d9
Merge pull request #4484 from Zacgoose/spo-file-requests
KelvinTegelaar Aug 1, 2025
704b2ec
Merge pull request #4483 from Zacgoose/bulk-mailbox-perms
KelvinTegelaar Aug 1, 2025
75ae791
Merge pull request #4468 from kris6673/deploy-button
KelvinTegelaar Aug 1, 2025
0d484f7
up version
KelvinTegelaar Aug 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion public/version.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"version": "8.2.1"
"version": "8.3.0"
}
25 changes: 19 additions & 6 deletions src/components/CippCards/CippBannerListCard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ export const CippBannerListCard = (props) => {
<li key={item.id}>
<Stack
direction="row"
flexWrap="wrap"
justifyContent="space-between"
sx={{
p: 3,
Expand All @@ -86,12 +85,18 @@ export const CippBannerListCard = (props) => {
onClick={isCollapsible ? () => handleExpand(item.id) : undefined}
>
{/* Left Side: cardLabelBox */}
<Stack direction="row" spacing={2} alignItems="center">
<Stack
direction="row"
spacing={2}
alignItems="center"
sx={{ flex: 1, minWidth: 0 }}
>
<Box
sx={{
alignItems: "center",
display: "flex",
flexDirection: "column",
flexShrink: 0,
}}
>
{typeof item.cardLabelBox === "object" ? (
Expand All @@ -111,8 +116,16 @@ export const CippBannerListCard = (props) => {
</Box>

{/* Main Text and Subtext */}
<Box>
<Typography color="text.primary" variant="h6">
<Box sx={{ flex: 1, minWidth: 0 }}>
<Typography
color="text.primary"
variant="h6"
sx={{
overflow: "hidden",
textOverflow: "ellipsis",
whiteSpace: "nowrap",
}}
>
{item.text}
</Typography>
<Typography color="text.secondary" variant="body2">
Expand All @@ -122,7 +135,7 @@ export const CippBannerListCard = (props) => {
</Stack>

{/* Right Side: Status and Expand Icon */}
<Stack alignItems="center" direction="row" spacing={2}>
<Stack alignItems="center" direction="row" spacing={2} sx={{ flexShrink: 0 }}>
{item?.statusText && (
<Stack alignItems="center" direction="row" spacing={1}>
<Box
Expand Down Expand Up @@ -166,7 +179,7 @@ export const CippBannerListCard = (props) => {
{item?.propertyItems?.length > 0 && (
<CippPropertyListCard
propertyItems={item.propertyItems || []}
layout="dual"
layout={other.layout || "dual"}
isFetching={item.isFetching || false}
/>
)}
Expand Down
37 changes: 24 additions & 13 deletions src/components/CippCards/CippExchangeInfoCard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
IconButton,
Typography,
CircularProgress,
Alert,
} from "@mui/material";
import { PropertyList } from "/src/components/property-list";
import { PropertyListItem } from "/src/components/property-list-item";
Expand Down Expand Up @@ -59,6 +60,11 @@ export const CippExchangeInfoCard = (props) => {
</Stack>
}
/>
{exchangeData?.BlockedForSpam ? (
<Alert severity="warning" sx={{ mx: 2, mt: 2, mb: 2 }}>
This mailbox is currently blocked for spam.
</Alert>
) : null}
<Divider />
<PropertyList>
<PropertyListItem
Expand All @@ -81,7 +87,10 @@ export const CippExchangeInfoCard = (props) => {
Hidden from GAL:
</Typography>
<Typography variant="inherit">
{getCippFormatting(exchangeData?.HiddenFromAddressLists, "HiddenFromAddressLists")}
{getCippFormatting(
exchangeData?.HiddenFromAddressLists,
"HiddenFromAddressLists"
)}
</Typography>
</Grid>
<Grid size={{ xs: 12, md: 4 }}>
Expand Down Expand Up @@ -127,14 +136,15 @@ export const CippExchangeInfoCard = (props) => {
value={
isLoading ? (
<Skeleton variant="text" width={200} />
) : (() => {
) : (
(() => {
const forwardingAddress = exchangeData?.ForwardingAddress;
const forwardAndDeliver = exchangeData?.ForwardAndDeliver;

// Determine forwarding type and clean address
let forwardingType = "None";
let cleanAddress = "";

if (forwardingAddress) {
if (forwardingAddress.startsWith("smtp:")) {
forwardingType = "External";
Expand All @@ -144,18 +154,17 @@ export const CippExchangeInfoCard = (props) => {
cleanAddress = forwardingAddress;
}
}

return (
<Grid container spacing={2}>
<Grid size={{ xs: 12, md: 6 }}>
<Typography variant="inherit" color="text.primary" gutterBottom>
Forwarding Status:
</Typography>
<Typography variant="inherit">
{forwardingType === "None"
{forwardingType === "None"
? getCippFormatting(false, "ForwardingStatus")
: `${forwardingType} Forwarding`
}
: `${forwardingType} Forwarding`}
</Typography>
</Grid>
{forwardingType !== "None" && (
Expand All @@ -172,18 +181,17 @@ export const CippExchangeInfoCard = (props) => {
<Typography variant="inherit" color="text.primary" gutterBottom>
Forwarding Address:
</Typography>
<Typography variant="inherit">
{cleanAddress}
</Typography>
<Typography variant="inherit">{cleanAddress}</Typography>
</Grid>
</>
)}
</Grid>
);
})()
)
}
/>

{/* Archive section - always show status */}
<PropertyListItem
divider
Expand All @@ -207,7 +215,10 @@ export const CippExchangeInfoCard = (props) => {
Auto Expanding Archive:
</Typography>
<Typography variant="inherit">
{getCippFormatting(exchangeData?.AutoExpandingArchive, "AutoExpandingArchive")}
{getCippFormatting(
exchangeData?.AutoExpandingArchive,
"AutoExpandingArchive"
)}
</Typography>
</Grid>
<Grid size={{ xs: 12, md: 6 }}>
Expand Down
67 changes: 67 additions & 0 deletions src/components/CippComponents/BreachSearchDialog.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import { useState } from "react";
import { Dialog, DialogContent, DialogTitle, Button, DialogActions } from "@mui/material";
import { Search } from "@mui/icons-material";
import { useForm, FormProvider } from "react-hook-form";
import { ApiPostCall } from "/src/api/ApiCall";
import { CippApiResults } from "./CippApiResults";
import { useSettings } from "../../hooks/use-settings";

export const BreachSearchDialog = ({ createDialog }) => {
const tenantFilter = useSettings()?.currentTenant;
const methods = useForm({
defaultValues: {},
});

// Use methods for form handling and control
const { handleSubmit } = methods;

const [isRunning, setIsRunning] = useState(false);
const breachSearchResults = ApiPostCall({
urlFromData: true,
});

const handleForm = () => {
setIsRunning(true);
breachSearchResults.mutate({
url: "/api/ExecBreachSearch",
queryKey: `breach-search-${tenantFilter}`,
data: { tenantFilter: tenantFilter },
});
};

// Reset running state when dialog is closed
const handleClose = () => {
setIsRunning(false);
createDialog.handleClose();
};

return (
<Dialog open={createDialog.open} onClose={handleClose} maxWidth="sm" fullWidth>
<FormProvider {...methods}>
<form onSubmit={handleSubmit(handleForm)}>
<DialogTitle>Run Breach Search</DialogTitle>
<DialogContent>
<div className="mb-3">
<p>
This will run a breach search to check for potentially compromised passwords and information
for the current tenant: <strong>{tenantFilter?.displayName || tenantFilter}</strong>
</p>
</div>
<CippApiResults apiObject={breachSearchResults} alertSx={{ mt: 2 }} />
</DialogContent>
<DialogActions>
<Button onClick={handleClose}>Cancel</Button>
<Button
type="submit"
variant="contained"
disabled={isRunning || breachSearchResults.isLoading}
startIcon={<Search />}
>
Run Breach Search
</Button>
</DialogActions>
</form>
</FormProvider>
</Dialog>
);
};
Loading
Loading