Giter Site home page Giter Site logo

i's Introduction

Roam Garden issues and discussions

This repository is a place to sumbmit Bug reports, feature requests, and hold general discussions about Roam Garden.

Navigation

Find public Roadmap at https://github.com/roam-garden/i/projects/1
Report issues in: https://github.com/roam-garden/i/issues
Submit feature requests and ideas in: https://github.com/roam-garden/i/discussions/categories/feature-requests-ideas
Ask questions you’re wondering about in https://github.com/roam-garden/i/discussions/categories/q-a
Showcase your Garden in https://github.com/roam-garden/i/discussions/categories/show-and-tell

i's People

Contributors

stvad avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

i's Issues

Double parenthetical ((around text)) not working

Describe the bug
Collapsible double parenthetical in Roam ((around the text)) does not work.
It can be a very useful and even creative feature perfectly fitting for digital roam-gardening.

Expected behavior
It should simply behave the same as in Roam.

Forgot my username

I know the email I signed up with, but not my username. A "forgot username" function would be helpful, or the ability to log in with email.

Markdown hyperlink references break on single-word page names

When using markdown to add page references to pages with a single-word title, the links break. For example, a link of the style:
[some text here]([[Page]])
Renders as
%5B%5BPage%5D%5D
in the garden.

Oddly enough, it works when the text exactly matches the page name, and it works when the page name is more than one word. IOW, both this:
[Page]([[Page]])
and this
[some text here]([[Page Name Here]])
work just fine.

The bug is case-sensitive, as well.
[page]([[Page]])
also renders as
%5B%5BPage%5D%5D

Roam.Garden should offer similar settings for namespaces as Roam

Describe the bug
Roam namespace view switching options are missing. I am a heavy namespace user as I use them for differentiating some special kinds of pages. Namespaces are great for internal organizing, but they are not so great to be shown outside... In this case, they can clutter the public garden and can even confuse a reader.

Roam offers a simple option to switch between levels of visibility of the namespace headers. You can switch between full view, capital letters, and completely hidden namespace/s (which I prefer for my roam-gardening ideas as it hides my internal data organization). See:

CleanShot 2021-02-26 at 17 18 00@2x

To explain how valuable namespacing can be, let's consider a Roam page with the name Person/Elon Musk dedicated to a known entrepreneur. You can have another page Book/Elon Musk about a book with the same name but with completely different information – book bibliographical data etc. Still, when you switch the namespace view off, you can see only the Elon Musk link in any context without everything preceding the /. Internally these are still two completely different pages with no special (database) connection.

Expected behavior
Add Roam-garden-based setting to a Plant Garden page for switching between the visibility of all namespaces used in a public garden. Same as in Roam User Settings (picture above). Different styling not necessary.

When the page name in Roam is too long it can break the build

Example error for the page named Distance education, according to a formal definition, is 1) institutionally accredited, 2) has separation of student and teacher, 3) uses interactive telecommunications to 4) facilitate interaction between a learning group, the teacher, and learning resources

ENAMETOOLONG: name too long, open '/Users/vlad/coding/knowledge/garden/.cache/json/_Distance-education-according-to-a-formal-definition-is-1)-institutionally-accredited-2)-has-sep
aration-of-student-and-teacher-3)-uses-interactive-telecommunications-to-4)-facilitate-interaction-between-a-learning-group-the-teacher-and-learning-resources.json'



  Error: ENAMETOOLONG: name too long, open '/Users/vlad/coding/knowledge/garden/.cache/json/_Distance-education-according-to-a-formal-definition-is-1)-institutionally-accredited-2
  )-has-separation-of-student-and-teacher-3)-uses-interactive-telecommunications-to-4)-facilitate-interaction-between-a-learning-group-the-teacher-and-learning-resources.json'

Improve performance when rendering large pages

Describe the bug
You can observe a clear performance degradation in rendering for the following two cases:

  • Page with many blocks
  • Page with many references to other pages
    • I think there may also be load time impact here coming from number of resources required to load

It's not clear for the moment if they have the same root cause or different ones

Examples:
The following gardens experience performance issues described:

Support attribute links

  • Parse roam attributes as links
  • style attribute links to look similar to how they look in Roam

image

Invalid CSS breaks the build

Describe the bug
When user uploads invalid CSS that breaks the site build and does not notify (#16 ) user about the failure which is a pretty bad experience

Expected behavior
In the order of preference:

  • Input validation during upload reports a problem to the user immediately
  • Build succeeds but css is not applied
  • If build fails - user gets notification #16 with explanation

Roam "Document“ style missing

Describe the bug
It is not possible to publish blocks in Document mode (without bullets).

To Reproduce
Steps to reproduce the behavior:

  1. Create a page in Roam with text content and set all (or some) blocks to Document mode
  2. Plant a garden
  3. See all text is bulleted

Expected behavior
Roam.Garden should strictly differentiate between block modes.

Links to the pages with [[nested [[page]]]] references are not rendered properly

Describe the bug

Only internal link is rendered
image

A link to the full page should be rendered instead.


Some internal notes:

When viewing garden on mobile - some content does not fold (requiring horizontal scroll)

Describe the bug
Some element ends up being too wide for Mobile screen and so the whole notes shifts being wider the desired and triggering horizontal scroll.

Sometimes this actually makes sense (e.g. when level of nesting is too deep), but I'm seeing this also in cases when it's not justified

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://vlad.roam.garden/Clean-Code:-A-Handbook-of-Agile-Software-Craftsmanship from the phone

Expected behavior
Content fits the screen

Screenshots

image

Smartphone (please complete the following information):

  • Device: Galaxy S9+
  • OS: Android
  • Browser: Chrome

Support rendering Roam queries

Currently they are displayed as text, but it should be possible to execute it and display rendered results

image


Workarounds:

If you can "materialize" results of the query as set of block references - Roam Garden will render those references. Some SmartBlocks do this

Switching light/dark modes doesn't update font color in the graph visualisation

Describe the bug
After loading the page, if you switch from light to dark mode, and then open the graph viz, node names are not readable as they carry font color from the original mode.

However, if you re-load the page, it starts in your target, already-switched mode, then the graph looks as it should. So reload is needed to make it work as expected.

To Reproduce

  1. Load the garden.
  2. Switch light/dark mode.
  3. Open graph viz via the icon (top right by default).
  4. See error.

Expected behavior
Font color of node names should change too after switching the color mode, so you don't end up reading dark-colored text on dark-colored background in the graph (or light on light).

Screenshots
image

Desktop (please complete the following information):

  • OS: Win, MacOS
  • Browser: multiple, in all I tried

Embedding hypothes.is breaks internal link navigation in some cases

first noticed on https://vlad.roam.garden/Vlad's-Dating-Profile

associated errors:

DOMException: Node.insertBefore: Child to insert before is not a child of this node [react-dom.production.min.js:209:194](webpack:///node_modules/react-dom/cjs/react-dom.production.min.js)
DOMException: Node.insertBefore: Child to insert before is not a child of this node [react-dom.production.min.js:209:194](webpack:///node_modules/react-dom/cjs/react-dom.production.min.js)
Uncaught (in promise) DOMException: Node.insertBefore: Child to insert before is not a child of this node

Graph view does not scale for large graphs

Describe the bug
Graph view does not scale well for large graphs. If you try to use it on such - it'll freeze the page for a really long time before loading.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://vlad.roam.garden/
  2. Click on graph view icon
  3. Regret it
  4. After ~10sec it'll finish loading and unfreeze

Expected behavior
Using graph view does not freeze the whole app

Additional context
A thing to consider is - can it scale well? Or should I consider having only a local graph view (with selected depth) and a more simplified view for the overall graph.

Form data from "Create or update your garden“ missing when trying to update

Describe the bug
The settings page used to create or update my garden contains forms that are suddenly empty in "default state".

To Reproduce
I just used another computer when logging into my Roam.Garden account.

Expected behavior
My forms should be pre-filled with my Garden data that were used before to plant a garden and update it sooner.

HTML elements on separate lines cause build to fail

Describe the bug
Inline elements get escaped successfully, but the ones on separate line are treated by MDX parser in a different manner, so current escaping logic does not work.

To Reproduce
Run the build with the following page
debug.txt

Expected behavior
Build works, html element is rendered as text

Additional context
So far I've seen this 2x for Iframe element

Having Roam42 SmartBlock with JavaScript shared breaks the build

a few aspects here:

  • xml-like syntax of smartblock is failing to parse.
  • then on the fallback - I try to escape the symbols but they are already escaped, so generated code ends up with double escape translating into the escape of backslash instead of escape of

example block

 <%J:```javascript
let reg_parent_string = new RegExp('\`\`\`clojure\\s(.+)\`\`\`','s');

let query;
try{
  query = window.datomicQuery.getParentBlock()[0][0].match(reg_parent_string)[1];
} catch (err) {
  return 'ERROR - make sure you run the query from a block nested immediately under your query. Also check that common functions on [[Template/Datomic Query]] are running.';
}

//Execute query
let results;
try { 	
  results = window.roamAlphaAPI.q(query);
} catch (err) {
  return err;
}

return window.datomicQuery.processResults(results,query) + ']]]]';```%>

Page name collision when they use a mix of unicode and ascii characters

Current page naming logic normalizes page names to create readable URLs. Part of that normalization is removing unicode characters.

When it's fully comprized of unicode characters - the original transformation returns an empty string and there is an additional logic to handle that case. Unfortunately another case is not handled rn:

🙂1 and 🙀1 would resolve to the same page name - 1 (and special logic won't kick-in as it's not empty)

requirements:

  • Map pages like this onto distinct URLs
  • Minimize change in name-structure otherwise. Ideally avoid any changes not related to the affected pages. As changing the name structure generally would break already existing links to gardens.

Example garden: https://nicolejiang.roam.garden

example 1
example 2

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.