小编Dán*_*ein的帖子

在 Safari 中加载时,加载项在经典模式下无法在 Outlook Web App 中运行

嗨 Office 365 (Microsoft 365) 团队,

我想在认证过程中寻求您的帮助。我的 Outlook 加载项认证失败,只有一个问题:

1120.3.2.5 在线 Safari

在 Safari (13.1) 中加载时,加载项在现代和经典模式下的 Outlook Web App 中不起作用

启动时出现以下错误:“出现问题,我们无法启动此加载项。请稍后再试或联系您的系统管理员。”。

我已经成功地测试了加载项

  • 不同的 Safari 版本(13.0 和 13.1),以及
  • 电子邮件帐户(企业 Azure Exchange 服务器和 Outlook Live (@outlook.hu))
  • (也在 Chrome 中,只是为了确定)

在以下网址上:

我的加载项的任务面板应用了内容安全策略规则集(框架祖先),允许将 html 文件嵌入以下来源:

您能否确认认证过程使用的是在这些域之一上运行的 OWA?(我在日志中找不到任何关于 CSP 违规的报告。)

我不知道为什么加载项在我的计算机上运行但仍然没有通过认证。

以下堆栈溢出问题可能与此相关:

safari outlook outlook-web-app office-store

12
推荐指数
1
解决办法
549
查看次数

使用自定义设置器和清理功能包装 useState 挂钩

我想创建一个自定义的 React hook

  1. 包装一个状态(使用 创建useState),
  2. 当组件卸载时运行清理功能,
  3. 执行派生值的自定义设置器逻辑,
  4. 并导出自定义设置器和内部状态值。
export function useCustomState() {
  const [value, setValue] = useState();

  useEffect(() => {
    return () => {
      // do cleanup
    };
  }, [value]);

  function customSetValue(newValue) {
    if (value) {
      // do cleanup for the previous value
    }

    const derivedValue = derive(newValue);
    setValue(derivedValue);
  }

  return [value, customSetValue];
}

Run Code Online (Sandbox Code Playgroud)

我可以用上面的代码来实现这一点。当我使用钩子中的返回值useEffect作为依赖项时,就会出现问题,因为返回的自定义设置器始终是新的函数引用。

const Component = () => {
  const [value, setValue] = useCustomState();
  useEffect(
    () => {
      setValue(simpleValue);
    },
    [setValue],
  );

  return <p>{ …
Run Code Online (Sandbox Code Playgroud)

reactjs react-hooks

6
推荐指数
1
解决办法
7607
查看次数

Haskell映射不会遍历整个列表

我正在尝试学习Haskell的基础知识,同时为Pandoc开发一个过滤器,以递归方式包含其他markdown文件.

基于脚本指南,我能够创建一个有点工作的过滤器.这将查找带有include类的CodeBlocks 并尝试包含引用文件的AST.

```include
section-1.md
section-2.md
#pleasedontincludeme.md
```
Run Code Online (Sandbox Code Playgroud)

整个过滤器和输入源可以在以下存储库中找到:steindani/pandoc-include(或见下文)

可以使用过滤器运行pandoc,并使用以下命令以markdown格式查看输出: pandoc -t json input.md | runhaskell IncludeFilter.hs | pandoc --from json --to markdown

我注意到map函数(在第38行) - 尽管获取要包含的文件列表 - 只调用第一个元素的函数.这不是唯一奇怪的行为.包含的文件也可以包含一个处理的包含块,并包含引用的文件; 但它不会更深入,忽略最后一个文件的包含块.

为什么map函数不遍历整个列表?为什么它在2级层次结构后停止?

请注意,我刚刚开始学习Haskell,我确信我犯了错误,但我很高兴学习.

谢谢

完整源代码:

module Text.Pandoc.Include where

import Control.Monad
import Data.List.Split

import Text.Pandoc.JSON
import Text.Pandoc
import Text.Pandoc.Error

stripPandoc :: Either PandocError Pandoc -> [Block]
stripPandoc p =
  case p of
    Left _ -> [Null]
    Right (Pandoc _ blocks) -> blocks

ioReadMarkdown :: String …
Run Code Online (Sandbox Code Playgroud)

io monads dictionary haskell pandoc

3
推荐指数
1
解决办法
255
查看次数