gitgraph.js: Cannot read property 'color' of undefined #1460

Closed
opened 2025-11-02 04:01:32 -06:00 by GiteaMirror · 13 comments
Owner

Originally created by @denpatin on GitHub (Jan 16, 2018).

  • Gitea version (or commit ref): 1.3.2
  • Git version: 1.8.3.1
  • Operating system: CentOS 7
  • Database (use [x]):
    • PostgreSQL
    • MySQL
    • MSSQL
    • SQLite
  • Can you reproduce the bug at https://try.gitea.io:
    • Yes (provide example URL)
    • No (because it's a commercial product)
    • Not relevant

Description

There're not so many branches that a currently simultaneously used (around 6-7), however the overall number of branches is 28. Something started to go wrong today then the git graph stopped to display correctly—there're no more colors at all. Below are the screenshots of the problem.

Unfortunately I really cannot give more info about the problem because our development process haven't changed for a long time: We just commit and push and very often review this git graph on out instance of Gitea. And out of the blue it gets white with an error in JS console.

My first assumption was that it may be connected with the fact than each new branch gets it own color, and maybe there's a finite number of colors to display, however 28 branches isn't a limit at all for a bit project... So I do believe the assumption is wrong.

We don't have any plugins or instandard stuff, just a Gitea's binary, the DB, and repos.

Screenshots

The result of something goes wrong with git graph:

image

What the developer tools in Chrome outputs regarding the error:

image

The direct place in the JS file where the error occurs:

image

Originally created by @denpatin on GitHub (Jan 16, 2018). <!-- 1. Please speak English, this is the language all of us can speak and write. 2. Please ask questions or configuration/deploy problems on our Discord server (https://discord.gg/NsatcWJ) or forum (https://discourse.gitea.io). 3. Please take a moment to check that your issue doesn't already exist. 4. Please give all relevant information below for bug reports, because incomplete details will be handled as an invalid report. --> - Gitea version (or commit ref): 1.3.2 - Git version: 1.8.3.1 - Operating system: CentOS 7 - Database (use `[x]`): - [x] PostgreSQL - [ ] MySQL - [ ] MSSQL - [ ] SQLite - Can you reproduce the bug at https://try.gitea.io: - [ ] Yes (provide example URL) - [x] No (because it's a commercial product) - [ ] Not relevant ## Description There're not so many branches that a currently simultaneously used (around 6-7), however the overall number of branches is 28. Something started to go wrong today then the git graph stopped to display correctly—there're no more colors at all. Below are the screenshots of the problem. Unfortunately I really cannot give more info about the problem because our development process haven't changed for a long time: We just commit and push and very often review this git graph on out instance of Gitea. And out of the blue it gets white with an error in JS console. My first assumption was that it may be connected with the fact than each new branch gets it own color, and maybe there's a finite number of colors to display, however 28 branches isn't a limit at all for a bit project... So I do believe the assumption is wrong. We don't have any plugins or instandard stuff, just a Gitea's binary, the DB, and repos. ## Screenshots The result of something goes wrong with git graph: ![image](https://user-images.githubusercontent.com/1271040/34992008-b5b54e76-fadc-11e7-89bc-8bc6ed479518.png) What the developer tools in Chrome outputs regarding the error: ![image](https://user-images.githubusercontent.com/1271040/34992127-2f0d71ae-fadd-11e7-9e7f-d5bccda94644.png) The direct place in the JS file where the error occurs: ![image](https://user-images.githubusercontent.com/1271040/34992371-116d74e0-fade-11e7-8bc9-3e1879c88da0.png)
GiteaMirror added the type/bug label 2025-11-02 04:01:32 -06:00
Author
Owner

@lafriks commented on GitHub (Jan 16, 2018):

Could be worth to report it also upstream to (gitgraph.js) authors

@lafriks commented on GitHub (Jan 16, 2018): Could be worth to report it also upstream to (gitgraph.js) authors
Author
Owner

@lunny commented on GitHub (Jan 16, 2018):

This is blocked by upstream repository.

@lunny commented on GitHub (Jan 16, 2018): This is blocked by upstream repository.
Author
Owner

@denpatin commented on GitHub (Jan 16, 2018):

So I'll duplicate the problem in the upstream Issues.

@denpatin commented on GitHub (Jan 16, 2018): So I'll duplicate the problem in the upstream Issues.
Author
Owner

@kjellkvinge commented on GitHub (Jan 17, 2018):

@denpatin I think you opened this issue on another project named gitgraph. Upstream for gitea is https://github.com/bluef/gitgraph.js

@kjellkvinge commented on GitHub (Jan 17, 2018): @denpatin I think you opened this issue on another project named gitgraph. Upstream for gitea is https://github.com/bluef/gitgraph.js
Author
Owner

@denpatin commented on GitHub (Jan 17, 2018):

@kjellkvinge OK, thanks for this tip!

@denpatin commented on GitHub (Jan 17, 2018): @kjellkvinge OK, thanks for this tip!
Author
Owner

@kjellkvinge commented on GitHub (Jan 17, 2018):

@denpatin I tried to reproduce the error without any luck. The error you get is probably because the element is missing from an array, which is build from the output from gitea

          $("#graph-raw-list li span.node-relation").each(function () {                                  
                  graphList.push($(this).text());                                                        
          }) 

The graph is build from the output of the git log command. Could you provide the output from this for debugging?

#master
git log --graph --date-order --all -C -M -n 100 --date=iso --pretty=format:"" --no-color

#should return something like this:
* 
| *   
| |\  
| | | * 
| | | | * 
| * | | | 
| * | | | 
| | | | | * 
| | | | | * 
| * | | | |   
| |\ \ \ \ \  
| | | |_|_|/  

Also, you could use your browser and look at the content of <ul id="graph-raw-list">

which could look like this:

<li><span class="node-relation">* </span></li>
<li><span class="node-relation">\| *   </span></li>
<li><span class="node-relation">\| \|\  </span></li>
<li><span class="node-relation">\| \| \| * </span></li>
<li><span class="node-relation">\| \| \| \| * </span></li>
<li><span class="node-relation">\| * \| \| \| </span></li>

kk

@kjellkvinge commented on GitHub (Jan 17, 2018): @denpatin I tried to reproduce the error without any luck. The error you get is probably because the element is missing from an array, which is build from the output from gitea ``` $("#graph-raw-list li span.node-relation").each(function () { graphList.push($(this).text()); }) ``` The graph is build from the output of the git log command. Could you provide the output from this for debugging? ``` #master git log --graph --date-order --all -C -M -n 100 --date=iso --pretty=format:"" --no-color #should return something like this: * | * | |\ | | | * | | | | * | * | | | | * | | | | | | | | * | | | | | * | * | | | | | |\ \ \ \ \ | | | |_|_|/ ``` Also, you could use your browser and look at the content of `<ul id="graph-raw-list">` which could look like this: ``` <li><span class="node-relation">* </span></li> <li><span class="node-relation">\| * </span></li> <li><span class="node-relation">\| \|\ </span></li> <li><span class="node-relation">\| \| \| * </span></li> <li><span class="node-relation">\| \| \| \| * </span></li> <li><span class="node-relation">\| * \| \| \| </span></li> ``` kk
Author
Owner

@lunny commented on GitHub (Jan 18, 2018):

Since github.com/nicoespeon/gitgraph.js has more stars, maybe we should convert to that repository.

@lunny commented on GitHub (Jan 18, 2018): Since `github.com/nicoespeon/gitgraph.js` has more stars, maybe we should convert to that repository.
Author
Owner

@denpatin commented on GitHub (Jan 18, 2018):

@kjellkvinge,
here's the excerpt from the output of the command stated by you:

*
*
| *
| | *
* | |
|\ \ \
| | |/
| |/|
| * |
| * |
* | |
| | | *
| | | *
| |_|/

Plus the excerpt from the output from the browser:

<li><span class="node-relation">* </span></li>
<li><span class="node-relation">* </span></li>
<li><span class="node-relation">| * </span></li>
<li><span class="node-relation">| | * </span></li>
<li><span class="node-relation">* | |   </span></li>
<li><span class="node-relation">|\ \ \  </span></li>
<li><span class="node-relation">| | |/  </span></li>
<li><span class="node-relation">| |/|   </span></li>
<li><span class="node-relation">| * | </span></li>
<li><span class="node-relation">| * | </span></li>
<li><span class="node-relation">* | | </span></li>
<li><span class="node-relation">| | | * </span></li>
<li><span class="node-relation">| | | * </span></li>
<li><span class="node-relation">| |_|/  </span></li>

UPD: in the, say, SourceTree the situation is displayed normally, too.

image

@denpatin commented on GitHub (Jan 18, 2018): @kjellkvinge, here's the excerpt from the output of the command stated by you: ``` * * | * | | * * | | |\ \ \ | | |/ | |/| | * | | * | * | | | | | * | | | * | |_|/ ``` Plus the excerpt from the output from the browser: ```html <li><span class="node-relation">* </span></li> <li><span class="node-relation">* </span></li> <li><span class="node-relation">| * </span></li> <li><span class="node-relation">| | * </span></li> <li><span class="node-relation">* | | </span></li> <li><span class="node-relation">|\ \ \ </span></li> <li><span class="node-relation">| | |/ </span></li> <li><span class="node-relation">| |/| </span></li> <li><span class="node-relation">| * | </span></li> <li><span class="node-relation">| * | </span></li> <li><span class="node-relation">* | | </span></li> <li><span class="node-relation">| | | * </span></li> <li><span class="node-relation">| | | * </span></li> <li><span class="node-relation">| |_|/ </span></li> ``` UPD: in the, say, SourceTree the situation is displayed normally, too. ![image](https://user-images.githubusercontent.com/1271040/35099035-92c8ad0e-fc67-11e7-83a0-3ecb388bebe3.png)
Author
Owner

@kjellkvinge commented on GitHub (Jan 18, 2018):

@lunny http://github.com/nicoespeon/gitgraph.js and https://github.com/bluef/gitgraph.js is two very different projects which has nothing in common except the name :). I dont think this the first provide any easy way to illustrate a repository. Its more for illustrating workflows and explain how git and branching might work.

@denpatin I stil cant reproduce the error with your output. Could you please provide all the lines from the output of the git command, and all the contents in the graph-raw-list-element?

I manage to reproduce the error when i manually change the li elements, for instance:

<li><span class="node-relation">* </span></li>
<li><span class="node-relation">| * </span></li>
<li><span class="node-relation">| | * </span></li>
<li><span class="node-relation">* | |   </span></li>
<li><span class="node-relation">|\ \ \  </span></li>
<li><span class="node-relation">| | |/ | </span></li><!-- there I added another pipe -->
<li><span class="node-relation">| |/|   </span></li>
<li><span class="node-relation">| * | </span></li>
<li><span class="node-relation">| * | </span></li>
<li><span class="node-relation">* | | </span></li>
<li><span class="node-relation">| | | * </span></li>
<li><span class="node-relation">| | | * </span></li>
<li><span class="node-relation">| |_|/  </span></li>

@kjellkvinge commented on GitHub (Jan 18, 2018): @lunny http://github.com/nicoespeon/gitgraph.js and https://github.com/bluef/gitgraph.js is two very different projects which has nothing in common except the name :). I dont think this the first provide any easy way to illustrate a repository. Its more for illustrating workflows and explain how git and branching might work. @denpatin I stil cant reproduce the error with your output. Could you please provide all the lines from the output of the git command, and all the contents in the `graph-raw-list`-element? I manage to reproduce the error when i manually change the li elements, for instance: ``` <li><span class="node-relation">* </span></li> <li><span class="node-relation">| * </span></li> <li><span class="node-relation">| | * </span></li> <li><span class="node-relation">* | | </span></li> <li><span class="node-relation">|\ \ \ </span></li> <li><span class="node-relation">| | |/ | </span></li><!-- there I added another pipe --> <li><span class="node-relation">| |/| </span></li> <li><span class="node-relation">| * | </span></li> <li><span class="node-relation">| * | </span></li> <li><span class="node-relation">* | | </span></li> <li><span class="node-relation">| | | * </span></li> <li><span class="node-relation">| | | * </span></li> <li><span class="node-relation">| |_|/ </span></li> ```
Author
Owner

@denpatin commented on GitHub (Jan 18, 2018):

@kjellkvinge I intentionally reduce the output so as not to gorge a lot of visible space here :)

Ok, here's the full output.

* 
* 
| * 
| | * 
* | |   
|\ \ \  
| | |/  
| |/|   
| * | 
| * | 
* | | 
| | | * 
| | | * 
| |_|/  
|/| |   
* | |   
|\ \ \  
| |_|/  
|/| |   
| * | 
| | * 
| * | 
* | | 
* | | 
|/ /  
* | 
* | 
* |   
|\ \  
* | | 
* | | 
* | |   
|\ \ \  
* | | | 
| | | * 
| | | *   
| | | |\  
| | | * | 
| | * | | 
| * | | |   
| |\ \ \ \  
| | * | | | 
| * | | | |   
| |\ \ \ \ \  
| | |/ / / /  
| |/| | | |   
| | | | | *   
| | | | | |\  
| | | | |/ /  
| | | |_| /   
| | |/| |     
| | * | | 
| | | | * 
| * | | | 
| * | | | 
| | | | * 
| | | | * 
| | | | * 
| | * | |   
| | |\ \ \  
| | | | |/  
| | | |/|   
| | | * |   
| | | |\ \  
| | * | | | 
| |/ / / /  
| | * | | 
| | * | |   
| | |\ \ \  
| | * | | | 
| | | * | | 
| * | | | | 
| * | | | |   
| |\ \ \ \ \  
| | | |_|_|/  
| | |/| | |   
| | * | | | 
| | * | | | 
| * | | | | 
| * | | | |   
| |\ \ \ \ \  
| | |/ / / /  
| | | | * | 
| | | | * | 
| | | | * | 
| | * | | | 
| | * | | | 
| | * | | | 
| * | | | | 
| | * | | | 
| * | | | |   
| |\ \ \ \ \  
| | * | | | | 
| * | | | | | 
| | | | | | *   
| | | | | | |\  
| | | | | | * | 
| * | | | | | |   
| |\ \ \ \ \ \ \  
| | | | | | * | | 
| | | | | | * | | 
| | | | | |/ / /  
| | * | | | | | 
| | | |/ / / /  
| | |/| | | |   
| * | | | | | 
| |/ / / / /  
| * | | | |   
| |\ \ \ \ \  
| | |/ / / /  
| | * | | | 
| | * | | | 
| * | | | |   
| |\ \ \ \ \  
| * \ \ \ \ \   
| |\ \ \ \ \ \  
| | | | | * | | 
| | | | | * | | 
| | | | | * | | 
| | | | | * | | 
| | | | | * | | 
| | | | | * | | 
| | | | | * | | 
| | | | | * | | 
| | | | | * | | 
| | | | | * | | 
| | | | | * | | 
| | | | | * | | 
| | | | | | |/  
| | | | | |/|   
| * | | | | |   
| |\ \ \ \ \ \  
| | |_|_|_|/ /  
| |/| | | | |   
| | * | | | | 
| * | | | | | 
| * | | | | |   
| |\ \ \ \ \ \  
| | |_|_|_|_|/  
| |/| | | | |   
| * | | | | | 
| * | | | | | 
| | | * | | | 
| | | * | | | 
| | | * | | |   
| | | |\ \ \ \  
| | |/ / / / /  
| * | | | | | 
| * | | | | | 
| | * | | | | 
| * | | | | | 
| | |_|_|_|/  
| |/| | | |   
| | * | | | 
| |/ / / /  

And the full output from the browser:

<li><span class="node-relation">* </span></li>
<li><span class="node-relation">* </span></li>
<li><span class="node-relation">| * </span></li>
<li><span class="node-relation">| | * </span></li>
<li><span class="node-relation">* | |   </span></li>
<li><span class="node-relation">|\ \ \  </span></li>
<li><span class="node-relation">| | |/  </span></li>
<li><span class="node-relation">| |/|   </span></li>
<li><span class="node-relation">| * | </span></li>
<li><span class="node-relation">| * | </span></li>
<li><span class="node-relation">* | | </span></li>
<li><span class="node-relation">| | | * </span></li>
<li><span class="node-relation">| | | * </span></li>
<li><span class="node-relation">| |_|/  </span></li>
<li><span class="node-relation">|/| |   </span></li>
<li><span class="node-relation">* | |   </span></li>
<li><span class="node-relation">|\ \ \  </span></li>
<li><span class="node-relation">| |_|/  </span></li>
<li><span class="node-relation">|/| |   </span></li>
<li><span class="node-relation">| * | </span></li>
<li><span class="node-relation">| | * </span></li>
<li><span class="node-relation">| * | </span></li>
<li><span class="node-relation">* | | </span></li>
<li><span class="node-relation">* | | </span></li>
<li><span class="node-relation">|/ /  </span></li>
<li><span class="node-relation">* | </span></li>
<li><span class="node-relation">* | </span></li>
<li><span class="node-relation">* |   </span></li>
<li><span class="node-relation">|\ \  </span></li>
<li><span class="node-relation">* | | </span></li>
<li><span class="node-relation">* | | </span></li>
<li><span class="node-relation">* | |   </span></li>
<li><span class="node-relation">|\ \ \  </span></li>
<li><span class="node-relation">* | | | </span></li>
<li><span class="node-relation">| | | * </span></li>
<li><span class="node-relation">| | | *   </span></li>
<li><span class="node-relation">| | | |\  </span></li>
<li><span class="node-relation">| | | * | </span></li>
<li><span class="node-relation">| | * | | </span></li>
<li><span class="node-relation">| * | | |   </span></li>
<li><span class="node-relation">| |\ \ \ \  </span></li>
<li><span class="node-relation">| | * | | | </span></li>
<li><span class="node-relation">| * | | | |   </span></li>
<li><span class="node-relation">| |\ \ \ \ \  </span></li>
<li><span class="node-relation">| | |/ / / /  </span></li>
<li><span class="node-relation">| |/| | | |   </span></li>
<li><span class="node-relation">| | | | | *   </span></li>
<li><span class="node-relation">| | | | | |\  </span></li>
<li><span class="node-relation">| | | | |/ /  </span></li>
<li><span class="node-relation">| | | |_| /   </span></li>
<li><span class="node-relation">| | |/| |     </span></li>
<li><span class="node-relation">| | * | | </span></li>
<li><span class="node-relation">| | | | * </span></li>
<li><span class="node-relation">| * | | | </span></li>
<li><span class="node-relation">| * | | | </span></li>
<li><span class="node-relation">| | | | * </span></li>
<li><span class="node-relation">| | | | * </span></li>
<li><span class="node-relation">| | | | * </span></li>
<li><span class="node-relation">| | * | |   </span></li>
<li><span class="node-relation">| | |\ \ \  </span></li>
<li><span class="node-relation">| | | | |/  </span></li>
<li><span class="node-relation">| | | |/|   </span></li>
<li><span class="node-relation">| | | * |   </span></li>
<li><span class="node-relation">| | | |\ \  </span></li>
<li><span class="node-relation">| | * | | | </span></li>
<li><span class="node-relation">| |/ / / /  </span></li>
<li><span class="node-relation">| | * | | </span></li>
<li><span class="node-relation">| | * | |   </span></li>
<li><span class="node-relation">| | |\ \ \  </span></li>
<li><span class="node-relation">| | * | | | </span></li>
<li><span class="node-relation">| | | * | | </span></li>
<li><span class="node-relation">| * | | | | </span></li>
<li><span class="node-relation">| * | | | |   </span></li>
<li><span class="node-relation">| |\ \ \ \ \  </span></li>
<li><span class="node-relation">| | | |_|_|/  </span></li>
<li><span class="node-relation">| | |/| | |   </span></li>
<li><span class="node-relation">| | * | | | </span></li>
<li><span class="node-relation">| | * | | | </span></li>
<li><span class="node-relation">| * | | | | </span></li>
<li><span class="node-relation">| * | | | |   </span></li>
<li><span class="node-relation">| |\ \ \ \ \  </span></li>
<li><span class="node-relation">| | |/ / / /  </span></li>
<li><span class="node-relation">| | | | * | </span></li>
<li><span class="node-relation">| | | | * | </span></li>
<li><span class="node-relation">| | | | * | </span></li>
<li><span class="node-relation">| | * | | | </span></li>
<li><span class="node-relation">| | * | | | </span></li>
<li><span class="node-relation">| | * | | | </span></li>
<li><span class="node-relation">| * | | | | </span></li>
<li><span class="node-relation">| | * | | | </span></li>
<li><span class="node-relation">| * | | | |   </span></li>
<li><span class="node-relation">| |\ \ \ \ \  </span></li>
<li><span class="node-relation">| | * | | | | </span></li>
<li><span class="node-relation">| * | | | | | </span></li>
<li><span class="node-relation">| | | | | | *   </span></li>
<li><span class="node-relation">| | | | | | |\  </span></li>
<li><span class="node-relation">| | | | | | * | </span></li>
<li><span class="node-relation">| * | | | | | |   </span></li>
<li><span class="node-relation">| |\ \ \ \ \ \ \  </span></li>
<li><span class="node-relation">| | | | | | * | | </span></li>
<li><span class="node-relation">| | | | | | * | | </span></li>
<li><span class="node-relation">| | | | | |/ / /  </span></li>
<li><span class="node-relation">| | * | | | | | </span></li>
<li><span class="node-relation">| | | |/ / / /  </span></li>
<li><span class="node-relation">| | |/| | | |   </span></li>
<li><span class="node-relation">| * | | | | | </span></li>
<li><span class="node-relation">| |/ / / / /  </span></li>
<li><span class="node-relation">| * | | | |   </span></li>
<li><span class="node-relation">| |\ \ \ \ \  </span></li>
<li><span class="node-relation">| | |/ / / /  </span></li>
<li><span class="node-relation">| | * | | | </span></li>
<li><span class="node-relation">| | * | | | </span></li>
<li><span class="node-relation">| * | | | |   </span></li>
<li><span class="node-relation">| |\ \ \ \ \  </span></li>
<li><span class="node-relation">| * \ \ \ \ \   </span></li>
<li><span class="node-relation">| |\ \ \ \ \ \  </span></li>
<li><span class="node-relation">| | | | | * | | </span></li>
<li><span class="node-relation">| | | | | * | | </span></li>
<li><span class="node-relation">| | | | | * | | </span></li>
<li><span class="node-relation">| | | | | * | | </span></li>
<li><span class="node-relation">| | | | | * | | </span></li>
<li><span class="node-relation">| | | | | * | | </span></li>
<li><span class="node-relation">| | | | | * | | </span></li>
<li><span class="node-relation">| | | | | * | | </span></li>
<li><span class="node-relation">| | | | | * | | </span></li>
<li><span class="node-relation">| | | | | * | | </span></li>
<li><span class="node-relation">| | | | | * | | </span></li>
<li><span class="node-relation">| | | | | * | | </span></li>
<li><span class="node-relation">| | | | | | |/  </span></li>
<li><span class="node-relation">| | | | | |/|   </span></li>
<li><span class="node-relation">| * | | | | |   </span></li>
<li><span class="node-relation">| |\ \ \ \ \ \  </span></li>
<li><span class="node-relation">| | |_|_|_|/ /  </span></li>
<li><span class="node-relation">| |/| | | | |   </span></li>
<li><span class="node-relation">| | * | | | | </span></li>
<li><span class="node-relation">| * | | | | | </span></li>
<li><span class="node-relation">| * | | | | |   </span></li>
<li><span class="node-relation">| |\ \ \ \ \ \  </span></li>
<li><span class="node-relation">| | |_|_|_|_|/  </span></li>
<li><span class="node-relation">| |/| | | | |   </span></li>
<li><span class="node-relation">| * | | | | | </span></li>
<li><span class="node-relation">| * | | | | | </span></li>
<li><span class="node-relation">| | | * | | | </span></li>
<li><span class="node-relation">| | | * | | | </span></li>
<li><span class="node-relation">| | | * | | |   </span></li>
<li><span class="node-relation">| | | |\ \ \ \  </span></li>
<li><span class="node-relation">| | |/ / / / /  </span></li>
<li><span class="node-relation">| * | | | | | </span></li>
<li><span class="node-relation">| * | | | | | </span></li>
<li><span class="node-relation">| | * | | | | </span></li>
<li><span class="node-relation">| * | | | | | </span></li>
<li><span class="node-relation">| | |_|_|_|/  </span></li>
<li><span class="node-relation">| |/| | | |   </span></li>
<li><span class="node-relation">| | * | | | </span></li>
<li><span class="node-relation">| |/ / / /  </span></li>

I've cut the tags and compared the two outputs. My diff viewer said "The two files are identical".

@denpatin commented on GitHub (Jan 18, 2018): @kjellkvinge I intentionally reduce the output so as not to gorge a lot of visible space here :) Ok, here's the full output. ``` * * | * | | * * | | |\ \ \ | | |/ | |/| | * | | * | * | | | | | * | | | * | |_|/ |/| | * | | |\ \ \ | |_|/ |/| | | * | | | * | * | * | | * | | |/ / * | * | * | |\ \ * | | * | | * | | |\ \ \ * | | | | | | * | | | * | | | |\ | | | * | | | * | | | * | | | | |\ \ \ \ | | * | | | | * | | | | | |\ \ \ \ \ | | |/ / / / | |/| | | | | | | | | * | | | | | |\ | | | | |/ / | | | |_| / | | |/| | | | * | | | | | | * | * | | | | * | | | | | | | * | | | | * | | | | * | | * | | | | |\ \ \ | | | | |/ | | | |/| | | | * | | | | |\ \ | | * | | | | |/ / / / | | * | | | | * | | | | |\ \ \ | | * | | | | | | * | | | * | | | | | * | | | | | |\ \ \ \ \ | | | |_|_|/ | | |/| | | | | * | | | | | * | | | | * | | | | | * | | | | | |\ \ \ \ \ | | |/ / / / | | | | * | | | | | * | | | | | * | | | * | | | | | * | | | | | * | | | | * | | | | | | * | | | | * | | | | | |\ \ \ \ \ | | * | | | | | * | | | | | | | | | | | * | | | | | | |\ | | | | | | * | | * | | | | | | | |\ \ \ \ \ \ \ | | | | | | * | | | | | | | | * | | | | | | | |/ / / | | * | | | | | | | | |/ / / / | | |/| | | | | * | | | | | | |/ / / / / | * | | | | | |\ \ \ \ \ | | |/ / / / | | * | | | | | * | | | | * | | | | | |\ \ \ \ \ | * \ \ \ \ \ | |\ \ \ \ \ \ | | | | | * | | | | | | | * | | | | | | | * | | | | | | | * | | | | | | | * | | | | | | | * | | | | | | | * | | | | | | | * | | | | | | | * | | | | | | | * | | | | | | | * | | | | | | | * | | | | | | | | |/ | | | | | |/| | * | | | | | | |\ \ \ \ \ \ | | |_|_|_|/ / | |/| | | | | | | * | | | | | * | | | | | | * | | | | | | |\ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | | * | | | | | | * | | | | | | | | * | | | | | | * | | | | | | * | | | | | | |\ \ \ \ | | |/ / / / / | * | | | | | | * | | | | | | | * | | | | | * | | | | | | | |_|_|_|/ | |/| | | | | | * | | | | |/ / / / ``` And the full output from the browser: ```html <li><span class="node-relation">* </span></li> <li><span class="node-relation">* </span></li> <li><span class="node-relation">| * </span></li> <li><span class="node-relation">| | * </span></li> <li><span class="node-relation">* | | </span></li> <li><span class="node-relation">|\ \ \ </span></li> <li><span class="node-relation">| | |/ </span></li> <li><span class="node-relation">| |/| </span></li> <li><span class="node-relation">| * | </span></li> <li><span class="node-relation">| * | </span></li> <li><span class="node-relation">* | | </span></li> <li><span class="node-relation">| | | * </span></li> <li><span class="node-relation">| | | * </span></li> <li><span class="node-relation">| |_|/ </span></li> <li><span class="node-relation">|/| | </span></li> <li><span class="node-relation">* | | </span></li> <li><span class="node-relation">|\ \ \ </span></li> <li><span class="node-relation">| |_|/ </span></li> <li><span class="node-relation">|/| | </span></li> <li><span class="node-relation">| * | </span></li> <li><span class="node-relation">| | * </span></li> <li><span class="node-relation">| * | </span></li> <li><span class="node-relation">* | | </span></li> <li><span class="node-relation">* | | </span></li> <li><span class="node-relation">|/ / </span></li> <li><span class="node-relation">* | </span></li> <li><span class="node-relation">* | </span></li> <li><span class="node-relation">* | </span></li> <li><span class="node-relation">|\ \ </span></li> <li><span class="node-relation">* | | </span></li> <li><span class="node-relation">* | | </span></li> <li><span class="node-relation">* | | </span></li> <li><span class="node-relation">|\ \ \ </span></li> <li><span class="node-relation">* | | | </span></li> <li><span class="node-relation">| | | * </span></li> <li><span class="node-relation">| | | * </span></li> <li><span class="node-relation">| | | |\ </span></li> <li><span class="node-relation">| | | * | </span></li> <li><span class="node-relation">| | * | | </span></li> <li><span class="node-relation">| * | | | </span></li> <li><span class="node-relation">| |\ \ \ \ </span></li> <li><span class="node-relation">| | * | | | </span></li> <li><span class="node-relation">| * | | | | </span></li> <li><span class="node-relation">| |\ \ \ \ \ </span></li> <li><span class="node-relation">| | |/ / / / </span></li> <li><span class="node-relation">| |/| | | | </span></li> <li><span class="node-relation">| | | | | * </span></li> <li><span class="node-relation">| | | | | |\ </span></li> <li><span class="node-relation">| | | | |/ / </span></li> <li><span class="node-relation">| | | |_| / </span></li> <li><span class="node-relation">| | |/| | </span></li> <li><span class="node-relation">| | * | | </span></li> <li><span class="node-relation">| | | | * </span></li> <li><span class="node-relation">| * | | | </span></li> <li><span class="node-relation">| * | | | </span></li> <li><span class="node-relation">| | | | * </span></li> <li><span class="node-relation">| | | | * </span></li> <li><span class="node-relation">| | | | * </span></li> <li><span class="node-relation">| | * | | </span></li> <li><span class="node-relation">| | |\ \ \ </span></li> <li><span class="node-relation">| | | | |/ </span></li> <li><span class="node-relation">| | | |/| </span></li> <li><span class="node-relation">| | | * | </span></li> <li><span class="node-relation">| | | |\ \ </span></li> <li><span class="node-relation">| | * | | | </span></li> <li><span class="node-relation">| |/ / / / </span></li> <li><span class="node-relation">| | * | | </span></li> <li><span class="node-relation">| | * | | </span></li> <li><span class="node-relation">| | |\ \ \ </span></li> <li><span class="node-relation">| | * | | | </span></li> <li><span class="node-relation">| | | * | | </span></li> <li><span class="node-relation">| * | | | | </span></li> <li><span class="node-relation">| * | | | | </span></li> <li><span class="node-relation">| |\ \ \ \ \ </span></li> <li><span class="node-relation">| | | |_|_|/ </span></li> <li><span class="node-relation">| | |/| | | </span></li> <li><span class="node-relation">| | * | | | </span></li> <li><span class="node-relation">| | * | | | </span></li> <li><span class="node-relation">| * | | | | </span></li> <li><span class="node-relation">| * | | | | </span></li> <li><span class="node-relation">| |\ \ \ \ \ </span></li> <li><span class="node-relation">| | |/ / / / </span></li> <li><span class="node-relation">| | | | * | </span></li> <li><span class="node-relation">| | | | * | </span></li> <li><span class="node-relation">| | | | * | </span></li> <li><span class="node-relation">| | * | | | </span></li> <li><span class="node-relation">| | * | | | </span></li> <li><span class="node-relation">| | * | | | </span></li> <li><span class="node-relation">| * | | | | </span></li> <li><span class="node-relation">| | * | | | </span></li> <li><span class="node-relation">| * | | | | </span></li> <li><span class="node-relation">| |\ \ \ \ \ </span></li> <li><span class="node-relation">| | * | | | | </span></li> <li><span class="node-relation">| * | | | | | </span></li> <li><span class="node-relation">| | | | | | * </span></li> <li><span class="node-relation">| | | | | | |\ </span></li> <li><span class="node-relation">| | | | | | * | </span></li> <li><span class="node-relation">| * | | | | | | </span></li> <li><span class="node-relation">| |\ \ \ \ \ \ \ </span></li> <li><span class="node-relation">| | | | | | * | | </span></li> <li><span class="node-relation">| | | | | | * | | </span></li> <li><span class="node-relation">| | | | | |/ / / </span></li> <li><span class="node-relation">| | * | | | | | </span></li> <li><span class="node-relation">| | | |/ / / / </span></li> <li><span class="node-relation">| | |/| | | | </span></li> <li><span class="node-relation">| * | | | | | </span></li> <li><span class="node-relation">| |/ / / / / </span></li> <li><span class="node-relation">| * | | | | </span></li> <li><span class="node-relation">| |\ \ \ \ \ </span></li> <li><span class="node-relation">| | |/ / / / </span></li> <li><span class="node-relation">| | * | | | </span></li> <li><span class="node-relation">| | * | | | </span></li> <li><span class="node-relation">| * | | | | </span></li> <li><span class="node-relation">| |\ \ \ \ \ </span></li> <li><span class="node-relation">| * \ \ \ \ \ </span></li> <li><span class="node-relation">| |\ \ \ \ \ \ </span></li> <li><span class="node-relation">| | | | | * | | </span></li> <li><span class="node-relation">| | | | | * | | </span></li> <li><span class="node-relation">| | | | | * | | </span></li> <li><span class="node-relation">| | | | | * | | </span></li> <li><span class="node-relation">| | | | | * | | </span></li> <li><span class="node-relation">| | | | | * | | </span></li> <li><span class="node-relation">| | | | | * | | </span></li> <li><span class="node-relation">| | | | | * | | </span></li> <li><span class="node-relation">| | | | | * | | </span></li> <li><span class="node-relation">| | | | | * | | </span></li> <li><span class="node-relation">| | | | | * | | </span></li> <li><span class="node-relation">| | | | | * | | </span></li> <li><span class="node-relation">| | | | | | |/ </span></li> <li><span class="node-relation">| | | | | |/| </span></li> <li><span class="node-relation">| * | | | | | </span></li> <li><span class="node-relation">| |\ \ \ \ \ \ </span></li> <li><span class="node-relation">| | |_|_|_|/ / </span></li> <li><span class="node-relation">| |/| | | | | </span></li> <li><span class="node-relation">| | * | | | | </span></li> <li><span class="node-relation">| * | | | | | </span></li> <li><span class="node-relation">| * | | | | | </span></li> <li><span class="node-relation">| |\ \ \ \ \ \ </span></li> <li><span class="node-relation">| | |_|_|_|_|/ </span></li> <li><span class="node-relation">| |/| | | | | </span></li> <li><span class="node-relation">| * | | | | | </span></li> <li><span class="node-relation">| * | | | | | </span></li> <li><span class="node-relation">| | | * | | | </span></li> <li><span class="node-relation">| | | * | | | </span></li> <li><span class="node-relation">| | | * | | | </span></li> <li><span class="node-relation">| | | |\ \ \ \ </span></li> <li><span class="node-relation">| | |/ / / / / </span></li> <li><span class="node-relation">| * | | | | | </span></li> <li><span class="node-relation">| * | | | | | </span></li> <li><span class="node-relation">| | * | | | | </span></li> <li><span class="node-relation">| * | | | | | </span></li> <li><span class="node-relation">| | |_|_|_|/ </span></li> <li><span class="node-relation">| |/| | | | </span></li> <li><span class="node-relation">| | * | | | </span></li> <li><span class="node-relation">| |/ / / / </span></li> ``` I've cut the tags and compared the two outputs. My diff viewer said "The two files are identical".
Author
Owner

@kjellkvinge commented on GitHub (Jan 18, 2018):

@denpatin that is a nice graph :) The problem is reproducable. not sure how to fix it though.

A workaround might be the following. Its not perfect, but it will fix the uncaught error.

@@ -371,7 +371,16 @@ var gitGraph = function (canvas, rawGraphList, config) {
                                        inlineIntersect = false;
                                }
                                
-                               color = flows[colomnIndex].color;
+                               if (colomnIndex >= flows.length){
+                               console.log("we have a problem");
+                               console.log(colomnIndex);
+                               console.log(flows);
+                               console.log(currentRow);
+                               color = "#000000";
+                               }else{
+                                       color = flows[colomnIndex].color;
+                               }
+                               //color = flows[colomnIndex].color;

but that is probably a discusion for bluef/gitgraph.js#4

@kjellkvinge commented on GitHub (Jan 18, 2018): @denpatin that is a nice graph :) The problem is reproducable. not sure how to fix it though. A workaround might be the following. Its not perfect, but it will fix the uncaught error. ```patch @@ -371,7 +371,16 @@ var gitGraph = function (canvas, rawGraphList, config) { inlineIntersect = false; } - color = flows[colomnIndex].color; + if (colomnIndex >= flows.length){ + console.log("we have a problem"); + console.log(colomnIndex); + console.log(flows); + console.log(currentRow); + color = "#000000"; + }else{ + color = flows[colomnIndex].color; + } + //color = flows[colomnIndex].color; ``` but that is probably a discusion for bluef/gitgraph.js#4
Author
Owner

@denpatin commented on GitHub (Jan 18, 2018):

@kjellkvinge You already have got a patch, cool 👍 Maybe you create a PR for the gitgraph.js project that will close the https://github.com/bluef/gitgraph.js/issues/4 issue? When it's reviewed on that side and accepted then we need to have these changes here updated from the upstream. Maybe we can be in time for releasing v1.3.3, for example 😺

@denpatin commented on GitHub (Jan 18, 2018): @kjellkvinge You already have got a patch, cool 👍 Maybe you create a PR for the gitgraph.js project that will close the https://github.com/bluef/gitgraph.js/issues/4 issue? When it's reviewed on that side and accepted then we need to have these changes here updated from the upstream. Maybe we can be in time for releasing v1.3.3, for example 😺
Author
Owner

@axifive commented on GitHub (May 31, 2018):

I fixed this bug https://github.com/bluef/gitgraph.js/pull/5

@axifive commented on GitHub (May 31, 2018): I fixed this bug https://github.com/bluef/gitgraph.js/pull/5
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/gitea#1460