OfficeDev / office-js

A repo and NPM package for Office.js, corresponding to a copy of what gets published to the official "evergreen" Office.js CDN, at https://appsforoffice.microsoft.com/lib/1/hosted/office.js.
https://learn.microsoft.com/javascript/api/overview
Other
682 stars 95 forks source link

Office.ribbon.requestUpdate throws SharedRuntime ID missing error. #4368

Open Shukla-Dev opened 6 months ago

Shukla-Dev commented 6 months ago

I am trying to develop excel addin with custom functions and taskpane and I want to achieve enable and disable control functionality but when I try to use Office.ribbon.requestUpdate method it throws Rich Api : SharedRuntime ID is missing Error.

I followed steps shown in this doc : https://learn.microsoft.com/en-us/office/dev/add-ins/design/disable-add-in-commands

Useful logs

image This is the error I am getting in console.

Thank you for taking the time to report an issue. Our triage team will respond to you in less than 72 hours. Normally, response time is <10 hours Monday through Friday. We do not triage on weekends.

samantharamon commented 6 months ago

Thanks for reporting this, @Shukla-Dev.

@penglongzhaochina, could you please look into this further?

shanshanzheng-dev commented 6 months ago

Hi @m-hellesen, could you please take a look this bug? Thanks.

mhelles commented 6 months ago

Hi there, can you please share a manifest with us so we can debug further?

Shukla-Dev commented 6 months ago

It works fine when I use Taskpane.Url to open taskpane and enable and disable controls. but I have multiple controls that opens different urls and in manifest I have different urls for them then it is showing this error...

<?xml version="1.0" encoding="UTF-8"?> <OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="TaskPaneApp">

135feec9-952b-4a18-9164-ea5f7f5127ec 1.0.0.0 contoso en-US https://localhost:3000/ ReadWriteDocument <!-- Description of the Getting Started callout. resid points to a LongString resource --> <Description resid="GetStarted.Description"/> <!-- Point to a url resource which details how the add-in should be used. --> <LearnMoreUrl resid="GetStarted.LearnMoreUrl"/> </GetStarted> <!-- Function file is a HTML page that includes the JavaScript where functions for ExecuteAction will be called. Think of the FunctionFile as the code behind ExecuteFunction. --> <FunctionFile resid="Taskpane.Url" /> <ExtensionPoint xsi:type="PrimaryCommandSurface"> <CustomTab id="TabCustom"> <Group id="GetWizardBuilder.Group"> <Label resid="GetWizardBuilder.Title" /> <Icon> <bt:Image size="16" resid="73s-Logo.16x16" /> <bt:Image size="32" resid="73s-Logo.32x32" /> <bt:Image size="80" resid="73s-Logo.80x80" /> </Icon> <Control xsi:type="Button" id="GetWizardBuilderButton"> <Label resid="GetWizardBuilder.Label" /> <Supertip> <Title resid="GetWizardBuilder.Label" /> <Description resid="GetWizardBuilder.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="GetWizardBuilder-16" /> <bt:Image size="32" resid="GetWizardBuilder-32" /> <bt:Image size="80" resid="GetWizardBuilder-80" /> </Icon> <Action xsi:type="ExecuteFunction"> <FunctionName>openTaskpane</FunctionName> </Action> </Control> <Control xsi:type="Button" id="GetListButton"> <Label resid="GetList.Label" /> <Supertip> <Title resid="GetList.Label" /> <Description resid="GetList.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="GetList-16" /> <bt:Image size="32" resid="GetList-32" /> <bt:Image size="80" resid="GetList-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Taskpane.Url" /> </Action> </Control> <Control xsi:type="Button" id="GetPerformanceButton"> <Label resid="GetPerformance.Label" /> <Supertip> <Title resid="GetPerformance.Label" /> <Description resid="GetPerformance.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="GetPerformance-16" /> <bt:Image size="32" resid="GetPerformance-32" /> <bt:Image size="80" resid="GetPerformance-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Taskpane.Url" /> </Action> <Enabled>false</Enabled> </Control> </Group> <Group id="PushWizardBuilder.Group"> <Label resid="PushWizardBuilder.Title" /> <Icon> <bt:Image size="16" resid="73s-Logo.16x16" /> <bt:Image size="32" resid="73s-Logo.32x32" /> <bt:Image size="80" resid="73s-Logo.80x80" /> </Icon> <Control xsi:type="Button" id="PushWizardBuilderButton"> <Label resid="PushWizardBuilder.Label" /> <Supertip> <Title resid="PushWizardBuilder.Label" /> <Description resid="PushWizardBuilder.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="PushWizardBuilder-16" /> <bt:Image size="32" resid="PushWizardBuilder-32" /> <bt:Image size="80" resid="PushWizardBuilder-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Apply.Worksheet.Url" /> </Action> </Control> <Control xsi:type="Button" id="PushListButton"> <Label resid="PushList.Label" /> <Supertip> <Title resid="PushList.Label" /> <Description resid="PushList.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="PushList-16" /> <bt:Image size="32" resid="PushList-32" /> <bt:Image size="80" resid="PushList-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Taskpane.Url" /> </Action> <Enabled>false</Enabled> </Control> </Group> <Group id="Actions.group"> <Label resid="Actions.Title" /> <Icon> <bt:Image size="16" resid="73s-Logo.16x16" /> <bt:Image size="32" resid="73s-Logo.32x32" /> <bt:Image size="80" resid="73s-Logo.80x80" /> </Icon> <Control xsi:type="Menu" id="RefreshMenu"> <Label resid="Refresh.Label" /> <Supertip> <Title resid="Refresh.Label" /> <Description resid="Refresh.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Refresh-16" /> <bt:Image size="32" resid="Refresh-32" /> <bt:Image size="80" resid="Refresh-80" /> </Icon> <Items> <Item id="RefreshWoorkbookItem"> <Label resid="RefreshWoorkbook.Label"/> <Supertip> <Title resid="RefreshWoorkbook.Label" /> <Description resid="RefreshWoorkbook.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Workbook-16" /> <bt:Image size="32" resid="Workbook-32" /> <bt:Image size="80" resid="Workbook-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Refresh.Workbook.Url" /> </Action> </Item> <Item id="RefreshWorksheetItem"> <Label resid="RefreshWorksheet.Label"/> <Supertip> <Title resid="RefreshWorksheet.Label" /> <Description resid="RefreshWorksheet.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Worksheet-16" /> <bt:Image size="32" resid="Worksheet-32" /> <bt:Image size="80" resid="Worksheet-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Refresh.Worksheet.Url" /> </Action> </Item> <Item id="RefreshSelectedItem"> <Label resid="RefreshSelected.Label"/> <Supertip> <Title resid="RefreshSelected.Label" /> <Description resid="RefreshSelected.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Cells-16" /> <bt:Image size="32" resid="Cells-32" /> <bt:Image size="80" resid="Cells-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Refresh.Selected.Url" /> </Action> </Item> </Items> </Control> <Control xsi:type="Menu" id="PushMenu"> <Label resid="Push.Label" /> <Supertip> <Title resid="Push.Label" /> <Description resid="Push.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Push-16" /> <bt:Image size="32" resid="Push-32" /> <bt:Image size="80" resid="Push-80" /> </Icon> <Items> <Item id="SubmitWorkbook"> <Label resid="SubmitWorkbook.Label"/> <Supertip> <Title resid="SubmitWorkbook.Label" /> <Description resid="SubmitWorkbook.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Workbook-16" /> <bt:Image size="32" resid="Workbook-32" /> <bt:Image size="80" resid="Workbook-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Apply.Selected.Url" /> </Action> </Item> <Item id="SubmitWorksheet"> <Label resid="SubmitWorkSheet.Label"/> <Supertip> <Title resid="SubmitWorkSheet.Label" /> <Description resid="SubmitWorksheet.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Worksheet-16" /> <bt:Image size="32" resid="Worksheet-32" /> <bt:Image size="80" resid="Worksheet-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Apply.Worksheet.Url" /> </Action> </Item> <Item id="SubmitCells"> <Label resid="SubmitCells.Label"/> <Supertip> <Title resid="SubmitCells.Label" /> <Description resid="SubmitCells.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Cells-16" /> <bt:Image size="32" resid="Cells-32" /> <bt:Image size="80" resid="Cells-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Apply.Workbook.Url" /> </Action> </Item> </Items> </Control> <Control xsi:type="Menu" id="UnlinkMenu"> <Label resid="Unlink.Label" /> <Supertip> <Title resid="Unlink.Label" /> <Description resid="Unlink.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Unlink-16" /> <bt:Image size="32" resid="Unlink-32" /> <bt:Image size="80" resid="Unlink-80" /> </Icon> <Items> <Item id="UnlinkWorkbook"> <Label resid="UnlinkWorkbook.Label"/> <Supertip> <Title resid="UnlinkWorkbook.Label" /> <Description resid="UnlinkWorkbook.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Workbook-16" /> <bt:Image size="32" resid="Workbook-32" /> <bt:Image size="80" resid="Workbook-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Apply.Selected.Url" /> </Action> </Item> <Item id="UnlinkWorksheet"> <Label resid="UnlinkWorksheet.Label"/> <Supertip> <Title resid="UnlinkWorksheet.Label" /> <Description resid="UnlinkWorksheet.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Worksheet-16" /> <bt:Image size="32" resid="Worksheet-32" /> <bt:Image size="80" resid="Worksheet-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Apply.Worksheet.Url" /> </Action> </Item> <Item id="UnlinkCells"> <Label resid="UnlinkCells.Label"/> <Supertip> <Title resid="UnlinkCells.Label" /> <Description resid="UnlinkCells.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Cells-16" /> <bt:Image size="32" resid="Cells-32" /> <bt:Image size="80" resid="Cells-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Apply.Workbook.Url" /> </Action> </Item> </Items> </Control> </Group> <Group id="Account.group"> <Label resid="Account.Title" /> <Icon> <bt:Image size="16" resid="73s-Logo.16x16" /> <bt:Image size="32" resid="73s-Logo.32x32" /> <bt:Image size="80" resid="73s-Logo.80x80" /> </Icon> <Control xsi:type="Menu" id="AccountMenu"> <Label resid="Account.Label" /> <Supertip> <Title resid="Account.Label" /> <Description resid="Account.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="AccountIcon-16" /> <bt:Image size="32" resid="AccountIcon-32" /> <bt:Image size="80" resid="AccountIcon-80" /> </Icon> <Items> <Item id="LogInItem"> <Label resid="LogIn.Label"/> <Supertip> <Title resid="LogIn.Label" /> <Description resid="LogIn.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Login-16" /> <bt:Image size="32" resid="Login-32" /> <bt:Image size="80" resid="Login-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Taskpane.Url" /> </Action> <Enabled>true</Enabled> </Item> <Item id="LogOutItem"> <Label resid="LogOut.Label"/> <Supertip> <Title resid="LogOut.Label" /> <Description resid="LogOut.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Logout-16" /> <bt:Image size="32" resid="Logout-32" /> <bt:Image size="80" resid="Logout-80" /> </Icon> <Action xsi:type="ShowTaskpane"> <TaskpaneId>MainTaskPaneID</TaskpaneId> <SourceLocation resid="Taskpane.Url" /> </Action> <Enabled>false</Enabled> </Item> </Items> </Control> </Group> <Label resid="CustomTab.Title" /> <InsertAfter>TabHelp</InsertAfter> </CustomTab> </ExtensionPoint> </DesktopFormFactor> </Host> </Hosts> <!-- You can use resources across hosts and form factors. --> <Resources> <bt:Images> <bt:Image id="73s-Logo.16x16" DefaultValue="https://localhost:3000/assets/73s-logo-16x16.png"/> <bt:Image id="73s-Logo.32x32" DefaultValue="https://localhost:3000/assets/73s-logo-32x32.png"/> <bt:Image id="73s-Logo.80x80" DefaultValue="https://localhost:3000/assets/73s-logo-80x80.png"/> <bt:Image id="PushWizardBuilder-16" DefaultValue="https://localhost:3000/assets/pushWizardBuilder-16.png"/> <bt:Image id="PushWizardBuilder-32" DefaultValue="https://localhost:3000/assets/pushWizardBuilder-32.png"/> <bt:Image id="PushWizardBuilder-80" DefaultValue="https://localhost:3000/assets/pushWizardBuilder-80.png"/> <bt:Image id="GetWizardBuilder-16" DefaultValue="https://localhost:3000/assets/getWizardBuilder-16.png"/> <bt:Image id="GetWizardBuilder-32" DefaultValue="https://localhost:3000/assets/getWizardBuilder-32.png"/> <bt:Image id="GetWizardBuilder-80" DefaultValue="https://localhost:3000/assets/getWizardBuilder-80.png"/> <bt:Image id="GetList-16" DefaultValue="https://localhost:3000/assets/getList-16.png"/> <bt:Image id="GetList-32" DefaultValue="https://localhost:3000/assets/getList-32.png"/> <bt:Image id="GetList-80" DefaultValue="https://localhost:3000/assets/getList-80.png"/> <bt:Image id="PushList-16" DefaultValue="https://localhost:3000/assets/pushList-16.png"/> <bt:Image id="PushList-32" DefaultValue="https://localhost:3000/assets/pushList-32.png"/> <bt:Image id="PushList-80" DefaultValue="https://localhost:3000/assets/pushList-80.png"/> <bt:Image id="GetPerformance-16" DefaultValue="https://localhost:3000/assets/getPerformance-16.png"/> <bt:Image id="GetPerformance-32" DefaultValue="https://localhost:3000/assets/getPerformance-32.png"/> <bt:Image id="GetPerformance-80" DefaultValue="https://localhost:3000/assets/getPerformance-80.png"/> <bt:Image id="Refresh-16" DefaultValue="https://localhost:3000/assets/refresh-16.png"/> <bt:Image id="Refresh-32" DefaultValue="https://localhost:3000/assets/refresh-32.png"/> <bt:Image id="Refresh-80" DefaultValue="https://localhost:3000/assets/refresh-80.png"/> <bt:Image id="Push-16" DefaultValue="https://localhost:3000/assets/push-16.png"/> <bt:Image id="Push-32" DefaultValue="https://localhost:3000/assets/push-32.png"/> <bt:Image id="Push-80" DefaultValue="https://localhost:3000/assets/push-80.png"/> <bt:Image id="Unlink-16" DefaultValue="https://localhost:3000/assets/unlink-16.png"/> <bt:Image id="Unlink-32" DefaultValue="https://localhost:3000/assets/unlink-32.png"/> <bt:Image id="Unlink-80" DefaultValue="https://localhost:3000/assets/unlink-80.png"/> <bt:Image id="AccountIcon-16" DefaultValue="https://localhost:3000/assets/accountIcon-16.png"/> <bt:Image id="AccountIcon-32" DefaultValue="https://localhost:3000/assets/accountIcon-32.png"/> <bt:Image id="AccountIcon-80" DefaultValue="https://localhost:3000/assets/accountIcon-80.png"/> <bt:Image id="Login-16" DefaultValue="https://localhost:3000/assets/login-16.png"/> <bt:Image id="Login-32" DefaultValue="https://localhost:3000/assets/login-32.png"/> <bt:Image id="Login-80" DefaultValue="https://localhost:3000/assets/login-80.png"/> <bt:Image id="Logout-16" DefaultValue="https://localhost:3000/assets/logout-16.png"/> <bt:Image id="Logout-32" DefaultValue="https://localhost:3000/assets/logout-32.png"/> <bt:Image id="Logout-80" DefaultValue="https://localhost:3000/assets/logout-80.png"/> <bt:Image id="Workbook-16" DefaultValue="https://localhost:3000/assets/workbook-16.png"/> <bt:Image id="Workbook-32" DefaultValue="https://localhost:3000/assets/workbook-32.png"/> <bt:Image id="Workbook-80" DefaultValue="https://localhost:3000/assets/workbook-80.png"/> <bt:Image id="Worksheet-16" DefaultValue="https://localhost:3000/assets/worksheet-16.png"/> <bt:Image id="Worksheet-32" DefaultValue="https://localhost:3000/assets/worksheet-32.png"/> <bt:Image id="Worksheet-80" DefaultValue="https://localhost:3000/assets/worksheet-80.png"/> <bt:Image id="Cells-16" DefaultValue="https://localhost:3000/assets/cells-16.png"/> <bt:Image id="Cells-32" DefaultValue="https://localhost:3000/assets/cells-32.png"/> <bt:Image id="Cells-80" DefaultValue="https://localhost:3000/assets/cells-80.png"/> </bt:Images> <bt:Urls> <bt:Url id="GetStarted.LearnMoreUrl" DefaultValue="https://go.microsoft.com/fwlink/?LinkId=276812" /> <bt:Url id="Formula.Url" DefaultValue="https://localhost:3000/index.html" /> <bt:Url id="Taskpane.Url" DefaultValue="https://localhost:3000/index.html" /> <bt:Url id="Login.Url" DefaultValue="https://localhost:3000/index.html?login" /> <bt:Url id="Logout.Url" DefaultValue="https://localhost:3000/index.html?login=false" /> <bt:Url id="Functions.Script.Url" DefaultValue="https://localhost:3000/assets/functions.js" /> <bt:Url id="Functions.Metadata.Url" DefaultValue="https://localhost:3000/assets/functions.json" /> <bt:Url id="Apply.Selected.Url" DefaultValue="https://localhost:3000/index.html?formula=selected" /> <bt:Url id="Apply.Worksheet.Url" DefaultValue="https://localhost:3000/index.html?formula=worksheet" /> <bt:Url id="Apply.Workbook.Url" DefaultValue="https://localhost:3000/index.html?formula=workbook" /> <bt:Url id="Refresh.Selected.Url" DefaultValue="https://localhost:3000/index.html?formula=refresh_selected" /> <bt:Url id="Refresh.Worksheet.Url" DefaultValue="https://localhost:3000/index.html?formula=refresh_worksheet" /> <bt:Url id="Refresh.Workbook.Url" DefaultValue="https://localhost:3000/index.html?formula=refresh_workbook" /> </bt:Urls> <!-- ShortStrings max characters==125. --> <bt:ShortStrings> <bt:String id="GetStarted.Title" DefaultValue="Get started with your 73 Strings add-in!" /> <bt:String id="CustomTab.Title" DefaultValue="73 Strings" /> <bt:String id="GetWizardBuilder.Title" DefaultValue="Formula Builder - GET" /> <bt:String id="PushWizardBuilder.Title" DefaultValue="Formula Builder - PUSH" /> <bt:String id="Actions.Title" DefaultValue="Actions" /> <bt:String id="Account.Title" DefaultValue="Account" /> <bt:String id="PushWizardBuilder.Label" DefaultValue="Push" /> <bt:String id="GetWizardBuilder.Label" DefaultValue="Get" /> <bt:String id="GetList.Label" DefaultValue="Get List" /> <bt:String id="PushList.Label" DefaultValue="Push List" /> <bt:String id="GetPerformance.Label" DefaultValue="Get Performance" /> <bt:String id="Push.Label" DefaultValue="Push" /> <bt:String id="Refresh.Label" DefaultValue="Refresh" /> <bt:String id="SubmitWorkbook.Label" DefaultValue="Submit Workbook" /> <bt:String id="SubmitWorkSheet.Label" DefaultValue="Submit Worksheet" /> <bt:String id="SubmitCells.Label" DefaultValue="Submit Cells" /> <bt:String id="RefreshSelected.Label" DefaultValue="Cells" /> <bt:String id="RefreshWorksheet.Label" DefaultValue="Worksheet" /> <bt:String id="RefreshWoorkbook.Label" DefaultValue="Workbook" /> <bt:String id="Account.Label" DefaultValue="Account" /> <bt:String id="LogIn.Label" DefaultValue="Sign in" /> <bt:String id="LogOut.Label" DefaultValue="Sign out" /> <bt:String id="Unlink.Label" DefaultValue="Unlink" /> <bt:String id="UnlinkWorkbook.Label" DefaultValue="Workbook" /> <bt:String id="UnlinkWorksheet.Label" DefaultValue="Worksheet" /> <bt:String id="UnlinkCells.Label" DefaultValue="Cells" /> <bt:String id="Functions.Namespace" DefaultValue="S73" /> </bt:ShortStrings> <!-- LongStrings max characters==250. --> <bt:LongStrings> <bt:String id="GetStarted.Description" DefaultValue="Your 73 Strings add-in loaded successfully. Go to the 73 Strings tab and log in to your 73 Strings account to get started." /> <bt:String id="FormulaBuilder.Tooltip" DefaultValue="Click to build your formula" /> <bt:String id="Push.Tooltip" DefaultValue="Push your formula" /> <bt:String id="Refresh.Tooltip" DefaultValue="Refresh your formula results" /> <bt:String id="SubmitWorkbook.Tooltip" DefaultValue="Submit workbook" /> <bt:String id="SubmitWorksheet.Tooltip" DefaultValue="Submit worksheet" /> <bt:String id="SubmitCells.Tooltip" DefaultValue="Submit cells" /> <bt:String id="RefreshSelected.Tooltip" DefaultValue="Refresh selected" /> <bt:String id="RefreshWorksheet.Tooltip" DefaultValue="Refresh worksheet" /> <bt:String id="RefreshWoorkbook.Tooltip" DefaultValue="Refresh workbook" /> <bt:String id="Account.Tooltip" DefaultValue="Account management" /> <bt:String id="LogIn.Tooltip" DefaultValue="Sign in to your 73 Strings account" /> <bt:String id="LogOut.Tooltip" DefaultValue="Sign out of your 73 Strings account" /> <bt:String id="Unlink.Tooltip" DefaultValue="Unlink" /> <bt:String id="RefreshSelected.Tooltip" DefaultValue="Refresh selected" /> <bt:String id="UnlinkCells.Tooltip" DefaultValue="Unlink selected" /> <bt:String id="UnlinkWorksheet.Tooltip" DefaultValue="Unlink Worksheet" /> <bt:String id="UnlinkWorkbook.Tooltip" DefaultValue="Unlink Workbook" /> <bt:String id="PushWizardBuilder.Tooltip" DefaultValue="Push" /> <bt:String id="GetWizardBuilder.Tooltip" DefaultValue="Get" /> <bt:String id="GetList.Tooltip" DefaultValue="Get List" /> <bt:String id="PushList.Tooltip" DefaultValue="Push List" /> <bt:String id="GetPerformance.Tooltip" DefaultValue="Get Performance" /> </bt:LongStrings> </Resources> </VersionOverrides> <!-- End Add-in Commands Mode integration. --> <p></OfficeApp></p> </div> </div> <div class="comment"> <div class="user"> <a rel="noreferrer nofollow" target="_blank" href="https://github.com/Rick-Kirkham"><img src="https://avatars.githubusercontent.com/u/9088056?v=4" />Rick-Kirkham</a> commented <strong> 6 months ago</strong> </div> <div class="markdown-body"> <p>@m-hellesen and @mhelles (Are you the same person?) Another customer is reporting the same thing: <a href="https://stackoverflow.com/questions/78440930/unhandled-promise-rejection-the-sharedruntime-id-is-missing-in-angular-and-o">sharedruntime id is missing</a>. The common denominator is that both customers are using Angular. Can we bump this up in priority? </p> </div> </div> <div class="comment"> <div class="user"> <a rel="noreferrer nofollow" target="_blank" href="https://github.com/thekingofspain"><img src="https://avatars.githubusercontent.com/u/2846624?v=4" />thekingofspain</a> commented <strong> 2 months ago</strong> </div> <div class="markdown-body"> <p>I am running into the same error in a TypeScript React.js Add-in:</p> <pre><code>excel-win32-16.01.js:25 Uncaught (in promise) RichApi.Error: The SharedRuntime ID is missing. at new n (excel-win32-16.01.js:25:265603) at i.processRequestExecutorResponseMessage (excel-win32-16.01.js:25:330050) at excel-win32-16.01.js:25:328113 at async updateAoiRibbon (ribbon.ts?t=1725653491714:68:9)</code></pre> <p>Notes:</p> <ul> <li>Not using Custom Excel functions</li> <li>Using <em>CustomTab</em></li> <li>Using multiple <em>Group</em> elements with multiple <em>Control</em> elements, with each Control mapped to an individual taskpane</li> <li>In <em>Control</em> 's of type menu, all the <em>Item</em> elements use the same <em>TaskPaneId</em> value but with different <code>SourceLocation.resids</code> (same URL with different query strings)</li> <li>Using multiple <em>Host</em> elements where each host uses the same <em>CustomTab</em> element values</li> <li>Using <code>Office.onReady</code> in the command.ts file to call <code>Office.context.document.addHandlerAsync</code> for the <code>Office.EventType.DocumentSelectionChanged</code> event</li> <li>The event handler for <code>DocumentSelectionChanged</code> attempts to update the Ribbon and fails.</li> </ul> <p>I do believe in a “Hello World” version of the code, a visible taskpane was able to turn on and off the controls on a ribbon. However, I want the ribbon to control which taskpanes are available.</p> <p>The Manifest.xml file is 17k+ lines long :(</p> </div> </div> <div class="comment"> <div class="user"> <a rel="noreferrer nofollow" target="_blank" href="https://github.com/abhijitrc"><img src="https://avatars.githubusercontent.com/u/38459533?v=4" />abhijitrc</a> commented <strong> 1 month ago</strong> </div> <div class="markdown-body"> <p>I am facing the same error as Dev, i am using Angular & Typescript. RichApi.Error: The Sharedruntime ID is missing. at new n (excel-win32-16.01.js:25:265618) at i.processRequestExecutorResponseMessage (excel-win32-16.01.js:25:330065) at excel-win32-16.01.js:25:328128 at _ZoneDelegate.invoke (zone.js:372:26) at Zone.run (zone.js:134:43) at zone.js:1275:36 at _ZoneDelegate.invokeTask (zone.js:406:31) at Zone.runTask (zone.js:178:47) at drainMicroTaskQueue (zone.js:585:35)</p> </div> </div> <div class="comment"> <div class="user"> <a rel="noreferrer nofollow" target="_blank" href="https://github.com/trigurl"><img src="https://avatars.githubusercontent.com/u/62981524?v=4" />trigurl</a> commented <strong> 3 weeks ago</strong> </div> <div class="markdown-body"> <p>Hello, are you still seeing this issue? </p> </div> </div> <div class="comment"> <div class="user"> <a rel="noreferrer nofollow" target="_blank" href="https://github.com/trigurl"><img src="https://avatars.githubusercontent.com/u/62981524?v=4" />trigurl</a> commented <strong> 3 weeks ago</strong> </div> <div class="markdown-body"> <p>So I was able to repro this error, when you specify a sharedruntime, your URL for your sharedruntime and taskpane need to match.</p> <p>For example: Manifest snippet 1: `<Runtimes></p> <Runtime resid="SharedRuntimeUrl" lifetime="long" /> <p></Runtimes>`</p> <p>Manifest snippet 2:</p> <p>` <CustomTab id="CustomTab1"></p> <Label resid="TabLabel" /> <pre><code> <Group id="TPGroup1"> <Label resid="SharedTPGroup.Label" /> <Icon> <bt:Image size="16" resid="Icon16" /> <bt:Image size="32" resid="Icon32" /> <bt:Image size="80" resid="Icon80" /> </Icon> <Control xsi:type="Button" id="BtnShow1"> <Label resid="ShowSharedTP.Label" /> <Supertip> <Title resid="ShowSharedTP.Label" /> <Description resid="ShowSharedTP.Tooltip" /> </Supertip> <Icon> <bt:Image size="16" resid="Icon16" /> <bt:Image size="32" resid="Icon32" /> <bt:Image size="80" resid="Icon80" /> </Icon> <Action xsi:type="ShowTaskpane"> <SourceLocation resid="SharedRuntimeUrl" /> </Action> </Control> </Group>`</code></pre> </div> </div> <div class="comment"> <div class="user"> <a rel="noreferrer nofollow" target="_blank" href="https://github.com/thekingofspain"><img src="https://avatars.githubusercontent.com/u/2846624?v=4" />thekingofspain</a> commented <strong> 3 weeks ago</strong> </div> <div class="markdown-body"> <blockquote> <p>So I was able to repro this error, when you specify a sharedruntime, your URL for your sharedruntime and taskpane need to match.</p> </blockquote> <p>Please confirm that, based on your findings, if an add-in uses a shared runtime, that add-in is then limited to a single task pane and URL until this issue is resolved. </p> <p>Can the single task pane in a shared runtime add-in use different resid's, where each resid points to the same URL but maps to a different set of query parameters?</p> </div> </div> <div class="comment"> <div class="user"> <a rel="noreferrer nofollow" target="_blank" href="https://github.com/trigurl"><img src="https://avatars.githubusercontent.com/u/62981524?v=4" />trigurl</a> commented <strong> 3 weeks ago</strong> </div> <div class="markdown-body"> <p>So when your add-in uses sharedruntime, the add-in is running all of it's code in one browser. It gives the add-in the ability to share global state between say a taskpane and functions. There is 1 endpoint (conceptually you can think of it as having 1 display surface). The endpoint is what you specified in the runtime element. So it's by design this way, we do not support multiples. </p> <p>If you want to have multiple taskpanes (multiple display surfaces) then you cannot use shared runtime. What you might have to do is make sure your multiple taskpanes are all under the same domain, and use cookies, local storage if you need to shared data.</p> </div> </div> <div class="page-bar-simple"> </div> <div class="footer"> <ul class="body"> <li>© <script> document.write(new Date().getFullYear()) </script> Githubissues.</li> <li>Githubissues is a development platform for aggregating issues.</li> </ul> </div> <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js"></script> <script src="/githubissues/assets/js.js"></script> <script src="/githubissues/assets/markdown.js"></script> <script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/highlight.min.js"></script> <script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/go.min.js"></script> <script> hljs.highlightAll(); </script> </body> </html>