RhodeCode - issues: Issueshttps://issues.rhodecode.com/https://issues.rhodecode.com/favicon.ico?16960560042016-09-29T13:41:00ZRhodeCode - issues
Redmine RhodeCode CE/EE - Task #4251 (Feedback): [customer] Pull request with subreposhttps://issues.rhodecode.com/issues/42512016-09-29T13:41:00ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>While a lot of time passed since we’ve exchanged emails last time, let me share some details about the way we work at R and what kind of Rhodecode improvements would be useful for us. </p>
<ul>
<li>Most of our iOS/Mac product repositories are Mercurial </li>
<li>We extensively use Mercurial’s subrepositories for internal dependencies: our internal libraries are Mercurial or git repositories, which are added to product repository as a subrepo. </li>
<li>I like github flow: creating feature branches (bookmarks in Mercurial), opening pull request to master (default), code-reviewing this pull request and merging it after review is finished</li>
</ul>
<p>Unfortunately Rhodecode does not allow to create pull request for Mercurial repository in case it contains any subrepo, even if there were no changes in that sub-repositories. </p>
<p>So that’s the main reason why we can’t use github flow with Rhodecode and that’s the reason why we have to Crucible. </p>
<p>I’ve shared these details with team about a year ago : <a href="https://rhodecode.tenderapp.com/help/discussions/support-tickets/1234-unable-to-create-pull-request" class="external">https://rhodecode.tenderapp.com/help/discussions/support-tickets/1234-unable-to-create-pull-request</a></p>
<p>Currently Rhodecode is more like a repository storage for us and while post-commit reviews are possible they are rarely used. That’s why most people at R almost never see Rhodecode web interface. </p>
<p>Let me know if you need any more details or have any workaround that would still allow us to use pull requests. </p>
RhodeCode CE/EE - Task #4238 (Resolved): default reviewers updateshttps://issues.rhodecode.com/issues/42382016-09-22T12:45:15ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>Some of my notes</p>
<ul>
<li>it would be good to SAVE the reasons for a reviewer, so it's clear to outsiders which roles other members have. It's good to know "WHO" is the author, who is form the team etc</li>
<li>it'd be good to have "exclude" author option so it's not a possibility that author gets picked to review his own PR</li>
</ul>
RhodeCode CE/EE - Task #4237 (Resolved): Enable HTTP supporthttps://issues.rhodecode.com/issues/42372016-09-21T16:24:18ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>We must enable http support by default. We need to make sure that the defaults are now NOT pyro4 but the http backends. It means that commented out .ini settings should now default into http mode for hooks, scm_app, and server. </p>
<ul>
<li>we need to make sure http mode is used for testing</li>
<li>we should make sure that any auto-runned vcsserver is in http mode not pyro</li>
<li>http mode should be in default config so even with things commented in the .ini the default mode should be http</li>
</ul>
RhodeCode CE/EE - Task #4203 (Resolved): Get rid of svn.proxy.parent_path_root, and replace it wi...https://issues.rhodecode.com/issues/42032016-08-29T19:35:40ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>the SVN setting: svn.proxy.parent_path_root is not required and actually makes configuration much harder. We have this stored inside the database the event should read this setting instead.</p>
RhodeCode CE/EE - Task #4202 (Resolved): Polish the 503.html pagehttps://issues.rhodecode.com/issues/42022016-08-29T16:56:27ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>We have a custom page for NGINX if RhodeCode is down, under: <a href="https://internal-code.rhodecode.com/rhodecode-enterprise-ce/files/default/rhodecode/public/502.html" class="external">https://internal-code.rhodecode.com/rhodecode-enterprise-ce/files/default/rhodecode/public/502.html</a></p>
<p>It is shown via such NGINX entry:</p>
<pre><code> ## custom 502 error page
error_page 502 /502.html;
location = /502.html {
root /path/to/.rccontrol/enterprise-1/static;
}
</code></pre>
<p>It looks very ugly, we should make it look nice and have some more usefull information.</p>
<p>We CANNOT use any variables, images etc. It needs to be PURE html (similar to email templates) but without variables.</p>
RhodeCode CE/EE - Task #4194 (Resolved): move svn http backend out of labs into a real VCS settingshttps://issues.rhodecode.com/issues/41942016-08-23T11:30:07ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>We think that SVN backend is stable enough, and shouldn't be labs settings. We should move it outside of labs into a dedicated SVN options under <code>_admin/settings/vcs</code></p>
RhodeCode CE/EE - Task #4181 (Resolved): Integrations: allow root repos only integrationshttps://issues.rhodecode.com/issues/41812016-08-18T16:09:31ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>I realized that repo groups already allow to have really good control over integrations. I think last missing bit would be a flag that sets the global integrations to work for root level projects only. This would allow to create global catch all for all root level projects, + possible combinations of integrations on repo group level.</p>
<p>THen i could:</p>
<ul>
<li>set global slack integration for all our root projects which are the main ones</li>
<li>set slack integration for <code>u</code> usergroup which is our namespace for forks</li>
<li>skip <code>release</code> group which produces a lot of noise</li>
<li>add any other repo group that we have if we need to.</li>
</ul>
<p>THoughts ?</p>
RhodeCode CE/EE - Task #4180 (Resolved): integrations: possible limit the updates senthttps://issues.rhodecode.com/issues/41802016-08-17T09:42:46ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>based on the amount of comments in this ticket: <a href="https://issues.rhodecode.com/issues/4172" class="external">https://issues.rhodecode.com/issues/4172</a></p>
<p>I wonder, if maybe it's better to aggregate those, and send a list of referenced tickets instead of updating ticket on each commit pushed. In case of large pushes it would almost spam the issue tracker server. After i merged 5-6 commits i got 5-6 emails from redmine.</p>
RhodeCode CE/EE - Task #4153 (Resolved): Optimize readme fetching by changing the system of readm...https://issues.rhodecode.com/issues/41532016-08-05T01:49:06ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>Mostly based on the task from customer, It seems the current readme search logic is slow, and fragile to errors. Repositories that don't have readme do very expensive checks for over 30 files.</p>
<p>The current logic iterates over generate patterns of files and tries to search for such file inside the repository. In GIT case with a lot of BINARY big files it's very slow to call get_node('unknonw_readme_path')<br>
IMHO the whole search for readme logic is flowed. Image there's no readme we have to iterate over 30-50 combinations to search for readme.</p>
<p>Customer reported that in his case opening summary page (in which renderer search is taking place) takes 30-50s !!</p>
<p>Plan to fix this is:</p>
<ul>
<li><p>add renderer to per-repo-settings. It will allow to define what renderer each repository uses. Probably need some changes how we fetch the global renderers.<br>
per repo renderer will allow to generate per-repo order of readmes.</p></li>
<li><p>added new option about readme generation to into global visual and per repo: visual, consisting of:<br>
<code>autodetect</code> (based on renderer try to auto-detect like currently)<br>
<code>none</code> (don't load any readmes),<br>
<code><list_of_patterns></code> List in order of picked renderer either global, or local</p></li>
</ul>
RhodeCode CE/EE - Task #4151 (Resolved): [packaging] Subversion to current 1.9.X https://issues.rhodecode.com/issues/41512016-08-04T13:23:51ZJohannes Bornholdjohannes@rhodecode.com
<p>Update subversion to the current version from nixpkgs.</p>
RhodeCode CE/EE - Task #4140 (Resolved): Check middleware chain status, and Verify that special m...https://issues.rhodecode.com/issues/41402016-07-31T20:18:42ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>The special middleware that catches custom exceptions should be verified working with http backend, and others.</p>
<p>If i turn off vcsserver, and open page that requires VCSSERVER i should see a special page reporting VCSSERVER is down, and not a regular 500 error.<br>
I think we had this logic somehow, but it either got broken, or lost.</p>
RhodeCode CE/EE - Task #3556 (Resolved): Disable and rename initial_repo_scan flaghttps://issues.rhodecode.com/issues/35562016-04-22T14:30:46ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>When doing an migration from 2.X/1.X to 3.X or 4.X the initial_repo_scan was enabled by default. This is a really bad flag, and we should by default disable it.</p>
<p>I think by renaming it and making sure it's turned off, we can have a nicer migration path. And still expose it for people if they wish to enable this (somehow bad) functionality.</p>
RhodeCode CE/EE - Task #3454 (Feedback): [ce/ee] visually differentiate the two editionshttps://issues.rhodecode.com/issues/34542016-04-07T15:38:27ZOliver Strobeloliver@rhodecode.com
<p>Currently we are only changing the footer to include Community vs. Enterprise differentiation.</p>
<p>Purpose: It should be possible to tell the difference in edition quickly when switching between CE/EE tabs.</p>
<p>Potential solutions:<br>
1) Add the edition name into the header after the logo on the top left<br>
2) Change the colour of the header between editions, eg.<br>
CE = dark grey<br>
EE = black</p>
<p>Thoughts?</p>
RhodeCode CE/EE - Task #3239 (Resolved): Catch all route for repo page or repo group page is alwa...https://issues.rhodecode.com/issues/32392016-03-04T10:32:22ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>THere's two routes in the match chain that catch repositories and groups landing page</p>
<pre><code> _connect_with_slash(
rmap, 'repo_group_home', '/{group_name}',
controller='home', action='index_repo_group',
conditions={'function': check_group},
requirements=URL_NAME_REQUIREMENTS)
</code></pre>
<p>and</p>
<pre><code> _connect_with_slash(
rmap, 'summary_home', '/{repo_name}',
controller='summary', action='index',
conditions={'function': check_repo},
requirements=URL_NAME_REQUIREMENTS)
</code></pre>
<p>There are defined at the beginning of the routes. Those routes execute check_repo and check_repo_group.<br>
What it means that if you visit any other page inside a repo or group you have the check_repo or check_group executed twice.</p>
<p>Example:</p>
<p>You go to <a href="https://code.rhodecode.com/https://code.rhodecode.com/rhodecode-momentum/pull-request" class="external">https://code.rhodecode.com/https://code.rhodecode.com/rhodecode-momentum/pull-request</a>, currently it matches both checks, eg.</p>
<ul>
<li>code checks if <code>rhodecode-momentum/pull-request</code> is a repository group (since /{group_name} match)</li>
<li>code checks if <code>rhodecode-momentum/pull-request</code> is a repository (since /{repo_name} match)</li>
<li>code checks if <code>rhodecode-momentum</code> is a repo (since /{repo_name}/pull-request}, only this matches since the route matches patterns, and repo check is valid.</li>
</ul>
<p>Imho we should move the eager matching patterns at the end, so we reduce the group/repo checks to the very end. This should speed up most of the pages since those checks will be skipped</p>
RhodeCode CE/EE - Task #2744 (Resolved): Deprecating Internet Explorerhttps://issues.rhodecode.com/issues/27442015-09-29T16:05:04ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>Thought about it a little bit, here's my proposal on ie deprecation:</p>
<p>RhodeCode 3.7 would be the last IE8 tested release.<br>
RhodeCode 3.7+ we stop testing on IE8</p>
<p>RhodeCode 3.8 would be the last supporting IE9<br>
RhodeCode 3.8+ we would stop testing on IE9</p>
<p>TBD: do we simply stop testing, on clean up IE specific hacks ?</p>
<p>As of 3.7+ and 3.8+ we need a dedicated page about not supported browser to display to users that use older browsers. Why ? We have twice issue that users did use ie11, but they had IE7/8 rendering engine enabled. We should be explicit about detecting older IE and listing what we actually support</p>