message: change regex to include onenote urls
diff: @@ -8,9 +8,10 @@ import { IRequest } from "@fluidframework/core-interfaces";
  import { IResolvedUrl, IUrlResolver } from "@fluidframework/driver-definitions";
  import { createOdspUrl, OdspDriverUrlResolver } from "@fluidframework/odsp-driver";
  -const fluidOfficeServers = [
  +const fluidOfficeAndOneNoteServers = [
  "dev.fluidpreview.office.net",
  "fluidpreview.office.net",
  + "www.onenote.com",
  ];
  export class FluidAppOdspUrlResolver implements IUrlResolver {
  @@ -18,9 +19,9 @@ export class FluidAppOdspUrlResolver implements IUrlResolver {
  const reqUrl = new URL(request.url);
  const server = reqUrl.hostname.toLowerCase();
  let contents: { drive: string; item: string; site: string } | undefined;
  - if (fluidOfficeServers.includes(server)) {
  + if (fluidOfficeAndOneNoteServers.includes(server)) {
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
  - contents = await initializeFluidOffice(reqUrl);
  + contents = await initializeFluidOfficeOrOneNote(reqUrl);
  } else if (server === "www.office.com") {
  const getRequiredParam = (name: string): string => {
  const value = reqUrl.searchParams.get(name);
  @@ -52,17 +53,17 @@ export class FluidAppOdspUrlResolver implements IUrlResolver {
  }
  }
  -async function initializeFluidOffice(urlSource: URL) {
  +async function initializeFluidOfficeOrOneNote(urlSource: URL) {
  const pathname = urlSource.pathname;
  // eslint-disable-next-line @typescript-eslint/prefer-regexp-exec
  - const siteDriveItemMatch = pathname.match(/\/p\/([^/]*)\/([^/]*)\/([^/]*)/);
  + const siteDriveItemMatch = pathname.match(/\/(p|preview)\/([^/]*)\/([^/]*)\/([^/]*)/);
  // eslint-disable-next-line no-null/no-null
  if (siteDriveItemMatch === null) {
  return undefined;
  }
  - const site = decodeURIComponent(siteDriveItemMatch[1]);
  + const site = decodeURIComponent(siteDriveItemMatch[2]);
  // Path value is base64 encoded so need to decode first
  const decodedSite = fromBase64ToUtf8(site);
  @@ -76,7 +77,7 @@ async function initializeFluidOffice(urlSource: URL) {
  // Since we have the drive and item, only take the host ignore the rest
  const siteUrl = decodedSite.substring(storageType.length + 1);
  - const drive = decodeURIComponent(siteDriveItemMatch[2]);
  - const item = decodeURIComponent(siteDriveItemMatch[3]);
  + const drive = decodeURIComponent(siteDriveItemMatch[3]);
  + const item = decodeURIComponent(siteDriveItemMatch[4]);
  return { site: siteUrl, drive, item };
  }
  