Git Product home page Git Product logo

vscode-wardley-maps's People

Contributors

damonsk avatar gitesh avatar johannrichard avatar preskton avatar raven-rwho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

vscode-wardley-maps's Issues

Error when reopening Wordley Maps preview: "Webview is disposed"

Issue description

When attempting to reopen a Wordley Maps (.wm) file preview after closing it, the extension fails to display the preview window again and throws a "Webview is disposed" error.

Steps to reproduce

  1. Open a Wordley Map file (.wm).
  2. Run the "Wordley Maps: Display Map" command from the command palette.
  3. Close the preview window that opens.
  4. With the preview window now closed, run the "Wordley Maps: Display Map" command again from the command palette.

Expected behavior

The second time the "Wordley Maps: Display Map" command is executed, a new preview window should open displaying the Wordley Map.

Actual behavior

The second time the "Wordley Maps: Display Map" command is run, the preview window does not open. Instead, an error alert window is displayed with the following details:

  • Title: Command 'Wordley Maps: Display Map' resulted in an error
  • Message: Webview is disposed

The Extension Host Output window also shows the following error log:

2024-03-10 18:33:52.681 [error] Error: Webview is disposed
    at R.c (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:152:46494)
    at R.reveal (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:152:46372)
    at MapViewLoader.reveal (~\.vscode-insiders\extensions\damonsk.vscode-wardley-maps-1.1.3\extension\out\MapViewLoader.js:63:21)
    at ~\.vscode-insiders\extensions\damonsk.vscode-wardley-maps-1.1.3\extension\out\extension.js:75:24
    at l.h (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:150:185649)
    at l.$executeContributedCommand (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:150:186509)
    at s.S (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:5505)
    at s.Q (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:5271)
    at s.M (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:4361)
    at s.L (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:3440)
    at g.value (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:2227)
    at i.y (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:80:1902)
    at i.fire (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:80:2119)
    at r.fire (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:105:14137)
    at g.value (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:173:8020)
    at i.y (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:80:1902)
    at i.fire (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:80:2119)
    at r.fire (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:105:14137)
    at MessagePortMain.<anonymous> (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:173:6300)
    at MessagePortMain.emit (node:events:517:28)
    at Object.MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2285) vscode-wardley-maps.display-map {"value":"damonsk.vscode-wardley-maps","_lower":"damonsk.vscode-wardley-maps"}

Additional Information

Closing and re-opening the .wm file restores the ability to display the map.

Environment

Wordley Maps Extension Version: 1.1.3
Version: 1.88.0-insider (user setup)
Commit: 6c19c003574b02afc604c0c1c471b1441b33a3d3
Date: 2024-03-08T08:14:03.524Z
Electron: 28.2.5
ElectronBuildId: 27336930
Chromium: 120.0.6099.291
Node.js: 18.18.2
V8: 12.0.267.19-electron.0
OS: Windows_NT x64 10.0.22631

Dev: Instructions for contributing

Update the README (or add a CONTRIBUTING) to detail how to:

  • Install prereqs
  • Build and package the extension
  • Debug & troubleshoot the extension
  • Identify key files & libraries (ViewLoader, App, wmlandscape)

Happy to take this one as I've just gone through this in #23.

Connecting lines break if the word "build" appears in a component name

The word build is breaking connections:

This breaks:

style wardley
title Test

component Foo [0.73, 0.50]
component Bar [0.74, 0.29]
component Foo-build [0.83, 0.32] 

Foo-build->Bar
Foo->Bar

image

Whereas this works:

style wardley
title Test

component Foo [0.73, 0.50]
component Bar [0.74, 0.29]
component Foo-another [0.83, 0.32] 

Foo-another->Bar
Foo->Bar

image

How do you export diagram images?

The online version had a clear means to export the diagrams. I don't see any obvious way to take a rendered diagram and export it from VSCode though. I'm pasting code into the website as a workaround.

Often unable to "drop" node or label text after dragging

I can add a bunch of components to a diagram and then click and drag them to the locations I want them. Initially, drag and drop works fine, but more often than not, the app gets into a state where a node is selected and will move with the mouse, but I cannot drop it when I release the mouse button.

It doesn't happen all the time, but seems to get worse as you have the map view open.

I've tried hitting escape to de-select the node. That doesn't work
I've tried double clicking to get it to drop. That works in rare occasions
I've tried changing focus to the map text and back to the map view. That doesn't work
I've tried saving the text map view to force refresh of the map view. That doesn't work

I've tried saving the text, then closing the map view and re-opening it. That seems to be most consistent to recover as a workaround.

Co-publish in Open VSX

Open VSX is an open-source registry for VS Code extensions. It can be used by any development environment that supports such extensions. See this article for more information.

It would be cool if this marvellous extension is available in OpenVSX.

the guide to publish it can be found here.

There is a Github Action to publish the extension to OpenVSX that can be used too.

Pioneer/Settler/Town Planner box changes are not saved

I've created a few boxes to highlight areas for pioneer/settler/town planner status.

When I click on the box and move it, it moves on the map - which is good.
When I reset or save the map and reopen, the box returns to its original (former) position.

command 'vscode-wardley-maps.helloWorld' not found

For some reason after installing the extension on Manjaro with vscode 1.62.0 the menu "Wardley Maps: Display Map" displayed an error: command 'vscode-wardley-maps.helloWorld' not found.

Opening the "Developer: Toggle Developer Tools" this error was present in the console:

workbench.desktop.main.js:sourcemap:1851 Activating extension 'damonsk.vscode-wardley-maps' failed: Cannot find module 'vscode-languageclient'
Require stack:
- /home/octo/.vscode-oss/extensions/damonsk.vscode-wardley-maps-1.0.12/extension/out/extension.js
- /usr/lib/code/out/vs/loader.js
- /usr/lib/code/out/bootstrap-amd.js
- /usr/lib/code/out/bootstrap-fork.js.

The error was fixed by:

cd $HOME/.vscode-oss/extensions/damonsk.vscode-wardley-maps-1.0.12 
npm i --only=prod

Perhaps this should have been automatically run by the extension on activation phase.

Any way to incorporate help / syntax into VSCode?

One of the nice features of the web-based tool is the documentation at the bottom with examples on using the syntax. Would be nice to not have to open up the webpage to view that.

Also, the documentation for CTRL + SPACE would be useful to have inside VSCode. I couldn't figure out how to get that without visiting the github site.

Loving the extension!!

Open VSX Listing: Signing the Publisher Agreement

Thank you for being part of the Open VSX community by adding your extensions to the Open VSX Registry. Please note that the service was recently transferred to the Eclipse Foundation and urgent action on your part is needed so we can continue to list your extensions. To ensure uninterrupted service, please sign the Eclipse Publisher Agreement on or before January 8, 2021. If not signed by that date, your extensions will be delisted and will no longer appear on the site nor be available via the API. If you sign at a later date, your extensions will then be re-activated. The signing process is explained in the Wiki (steps 1 and 2).

Please also note that all extensions MUST have a license in order to be listed.

More details are in these recent blog posts:
https://blogs.eclipse.org/post/brian-king/open-vsx-registry-under-new-management
https://blogs.eclipse.org/post/brian-king/new-era-open-vsx-registry

Today, there’s growing momentum around open source tools and technologies that support Visual Studio (VS) Code extensions. Leading global organizations are adopting these tools and technologies. This momentum has spurred demand for a marketplace without restrictions and limitations. Thanks for joining us on this journey as we continue to build the Open VSX community. We look forward to continued innovation from you in 2021!

Bug?: maps don't render under vscode in WSL

I'd like to do some more testing before declaring this a real bug, but it seems that maps don't render when running VScode under WSL. It's highly possible this is related to my setup, but I'll investigate further.

Slows me down on #23, as I can't dev on my non-Mac machine. 😬

image

Display an existing map shows empty canvas

Bug description:

Opening an existing map file display an empty canvas and may lead to erasing file content.

Possibly linked to #24 ?

How to reproduce:

  1. Linux
  2. Close any existing Map view tab
  3. Open an existing owm file in vs code (without having the map view previously opened, this is important to reproduce).
  4. Command "Wardley map: Display map" => an empty canvas is displayed
  5. Add a component in GUI mode (clicking inside the display view): the existing content of the file is replaced by this new component (only)
  6. Subsequent edit work fine.

Workaround:

The bug does not manifest if the display map view was already active/open for a different file (before loading the owm file).

Or if I click inside the text file while presented with the empty canvas (this refreshes the view with file content and subsequent edits wok fine).

Other:

A sincere thank you for the great work so far on this much appreciated extension 🙏

Kroki Server + OWM = ❤

just found these online wardley maps and I think it is a great project! Thanx for creating it.

I think it would be even better if it could be integrated into kroki.io. This way, Wardley Maps could automatically be included in markdown and asciidoc documents.

There is already an issue for the integration over at yuzutech/kroki#179 . Maybe these two project could work together to create something cool :-)

Question: About positioning of text

First of all, let me say that finding this plugin for visual studio made my day.

Second, I have a question. We have some maps where we use quite long text to describe elements. For example: “word1 word2 word3 word4 word 5.“ In the current situation this words are all aligned and put underneath each other. We can fix this by doing “word1_word2_word3 word4_word5” which creates two lines with first line containing 3 words (1, 2 and 3) and the second line 2 words (4 and 5).

e.g. : component word1_word2_word3 word4_word5[0.88, 0.03] label [70, -6]
Which isn’t preferred because of the underlines. Normally I would build the string with an invisible space, for example: “U+0020” but in the plugin translates this as part of the string.

My question: is there a way to fix this without getting into the code of plugin?

x and y are inverted

I would expect while placing a label on a map to have the first number being the X-axis and the second one being the Y-axis. But it seems to be swapped.

Typescript compilation issues on master

yarn run compile:ext is failing for me: -

(base) jim@BIGDROP:~/projects/vscode-wardley-maps$ yarn run compile:ext
yarn run v1.22.5
$ tsc -b
node_modules/vscode-languageserver/lib/callHierarchy.proposed.d.ts:5:58 - error TS2694: Namespace '"/home/jim/projects/vscode-wardley-maps/node_modules/vscode-languageserver/node_modules/vscode-languageserver-protocol/lib/common/api".Proposed' has no exported member 'CallHierarchyPrepareParams'.

5         onPrepare(handler: ServerRequestHandler<Proposed.CallHierarchyPrepareParams, Proposed.CallHierarchyItem[] | null, never, void>): void;
                                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~

yarn.log

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.