Skip to content

Commit f083345

Browse files
committed
partial update for release v1.1
1 parent 49b5e2d commit f083345

File tree

2 files changed

+102
-16
lines changed

2 files changed

+102
-16
lines changed

README.md

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# codereader
1+
# Code Reader+ v1.1
22

33
Home repo for our Windows Store app: https://www.microsoft.com/store/apps/9ntphrk6qlfg
44

5-
There is no better place to communicate between developers than GitHub. This is the place for *codereader*. Report bugs, file issues, suggest features or contribute some code for the next release. :)
5+
There is no better place to communicate between developers than GitHub. This is the place for *Code Reader+*. Report bugs, file issues, suggest features or contribute some code for the next release. :)
66

77
The planning and announcements would also be done here.
88

@@ -12,47 +12,56 @@ The planning and announcements would also be done here.
1212

1313
#### Protocols
1414

15-
1. Only git is supported via our own robin-git C# library; i.e. no current support for SVN, Mecurial or TFS
16-
2. On git we only support git servers that use Smart Http protocol; i.e. no Dumb Http protocol supported
17-
3. On GitHub we only support public repositories; Private repo access can be added though
15+
1. Only git is supported via our own robin-git C# library; i.e. no current support for SVN, Mecurial, TFS or plain folder.
16+
2. On git we only support git servers that use Smart Http protocol; i.e. no Dumb Http protocol supported.
17+
3. On git only HTTP/HTTPS are supported, SSH can be added if there is demand.
18+
4. On GitHub we only support public repositories; Private repo access is planned for v1.2.
1819

19-
#### Devices Dev/Tested On
20+
#### C# (Language Service)
21+
22+
1. Analysis ability is up to C#6. Support of C#7 is planned with low priority.
23+
2. Only basic Type information is collected. Type members includes methods, properties, fields, etc., and local variable declaration can be collected with more work not yet scheduled.
24+
3. We don't yet *understand* the concepts of project and solution, thus analysis was on a commit (in git terms, it is tree-ish, i.e. a file directory). Therefore our type table needs to tolerant duplication, i.e. a type could be defined in multiple files.
25+
4. Until we further optimise our ability to collect/access type info faster and reduce the storage footprint, it's not wise to analysis gigantic repositories, e.g. Corefx, without limiting the files to process.
2026

21-
1. Lenovo ThinkPad X1 Carbon 3rd gen (touchscreen), 8GB memory
22-
2. Cube iWork7 7" Intel Z3735G BayTrail 2GB memory, Windows 10 32bit
23-
3. Cube iWork12 12" Intel Z8300 CherryTrail 4GB memory, Windows 10 64 bit
2427

25-
#### Repo Size
28+
#### Git Repo Size
2629

2730
1. Due to the limitation in current robin-git lib, we can only handle git repo size <= 2GB.
28-
2. git resolve is very resource intensive, we have attempt to clone linux kernel repo on our 4GB tablet, and never able to complete the resolve to 100%, seems the OS terminated us without giving HockeyApp a chance to report exception. So if you have a huge repo in mind, don't use this app. We can add **--depth** support to robin-git in a later release.
31+
2. git resolve is very resource intensive, we have attempted to clone Linux kernel repo on our 4GB tablet, and never able to complete the resolve to 100%, seems the OS terminated us without giving HockeyApp a chance to report exception. We will add **--depth** support to robin-git in v1.2 release.
2932

3033
#### UWP
3134

3235
1. We would wanted to make *git clone* truly run in the **background**, but two things are stopping us: one is that until the Anniversary Edition of Windows 10, we can't really run a background task indefinitely. Cloning a large repo could take a long time depending on the network bandwidth; second, *git smart http protocol* is stateless, it does not support partial downloading or resume a previous session. Thus the clone op always happen in the **foreground**, we suggest you to let the app stay in the foreground until the clone is done, and don't let the tablet **sleep**, especially for large repo. The *receiving* part can survive short pauses e.g. 2 or 3 minutes, seems the UWP sandbox is doing a great work to maintain the http connection with git server by *keep-alive* traffic; the *resolving* part can be paused much longer but it's CPU intensive, when the app was sent background, Windows 10 freeze it, when active again, the resolving would carry on.
3336

34-
#### Me
3537

36-
1. This is my first UWP app, I'm still learning all the magics.
38+
#### Devices Dev/Tested On
39+
40+
1. Lenovo ThinkPad X1 Carbon 3rd gen (touchscreen), 8GB memory, Windows 10 pro 64 bit
41+
2. AlldoCube iWork7 7" Intel Z3735G BayTrail 2GB memory, Windows 10 home 32bit
42+
3. AlldoCube iWork12 12" Intel Z8300 CherryTrail 4GB memory, Windows 10 home 64 bit
3743

3844

3945
## Design Principles
4046

41-
* *codereader* is a reader, there is no plan to turn this into a *writer* or *IDE* in any sense.
47+
* *Code Reader+* is a reader, there is no plan to turn this into a *writer* or *IDE* in any sense.
4248
* given above *read only* principle, we are unlikely to offer git *commit* or *push* in foreseeable future.
4349
* there are plenty of hard problems to solve in the **read** side, if we could solve some of those we'll be helping the world on programming productivity and quality a lot.
4450
* Touchscreen is great for consuming information (this is manifested by the popularity of *ipad*), *reading* code can be passive or active or both.
4551
* Touch is our main interactive means in our app; although you can still use a keyboard and mouse, but that's a fallback.
4652
* **Offline** is pillar for our app, so we try to do everything within our app without you needing to jump to another app.
4753
* we truly buy the **Immersive** modern UI design language, thus our UI is *minimalist*, giving you maximum screen real estate for viewing the code.
4854

49-
## Next Release
55+
## Next Release v1.2
5056

51-
* Will be our *Language Story*, i.e. we will use Antlr4 for AST and enable our code viewer to have: Syntax Highlighting, Go to Definition, Line Number
57+
* Retro back to *Git Story*: add Git Fetch/Pull, Clone with Depth, Checkout commit/single file, Access of GitHub private repositories with credentials.
5258

5359

5460
## Known Issues
5561

62+
63+
#### v1.1
64+
5665
1. On Repo List page, items are sorted by Likes, but not considering the exact time Likes are flagged. So the order might be different from your last session. This is by design unless we have a requirement to also take the flagging time into sort order.
5766

5867
2. On Repo Blade page, the total count for Commits only reflect what is already loaded, since it was backed by an IIncrementalSource. This is by design and we could do better to also show the real total once the robin-git library supports that.
@@ -68,6 +77,9 @@ The planning and announcements would also be done here.
6877

6978
* https://github.com/Microsoft/UWPCommunityToolkit
7079
* https://github.com/mbdavid/LiteDB
80+
* https://github.com/antlr/antlr4
81+
* http://www.stringtemplate.org/
82+
7183

7284

7385

READMEv1.0.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# codereader
2+
3+
Home repo for our Windows Store app: https://www.microsoft.com/store/apps/9ntphrk6qlfg
4+
5+
There is no better place to communicate between developers than GitHub. This is the place for *codereader*. Report bugs, file issues, suggest features or contribute some code for the next release. :)
6+
7+
The planning and announcements would also be done here.
8+
9+
10+
## Limitations
11+
12+
13+
#### Protocols
14+
15+
1. Only git is supported via our own robin-git C# library; i.e. no current support for SVN, Mecurial or TFS
16+
2. On git we only support git servers that use Smart Http protocol; i.e. no Dumb Http protocol supported
17+
3. On GitHub we only support public repositories; Private repo access can be added though
18+
19+
#### Devices Dev/Tested On
20+
21+
1. Lenovo ThinkPad X1 Carbon 3rd gen (touchscreen), 8GB memory
22+
2. Cube iWork7 7" Intel Z3735G BayTrail 2GB memory, Windows 10 32bit
23+
3. Cube iWork12 12" Intel Z8300 CherryTrail 4GB memory, Windows 10 64 bit
24+
25+
#### Repo Size
26+
27+
1. Due to the limitation in current robin-git lib, we can only handle git repo size <= 2GB.
28+
2. git resolve is very resource intensive, we have attempt to clone linux kernel repo on our 4GB tablet, and never able to complete the resolve to 100%, seems the OS terminated us without giving HockeyApp a chance to report exception. So if you have a huge repo in mind, don't use this app. We can add **--depth** support to robin-git in a later release.
29+
30+
#### UWP
31+
32+
1. We would wanted to make *git clone* truly run in the **background**, but two things are stopping us: one is that until the Anniversary Edition of Windows 10, we can't really run a background task indefinitely. Cloning a large repo could take a long time depending on the network bandwidth; second, *git smart http protocol* is stateless, it does not support partial downloading or resume a previous session. Thus the clone op always happen in the **foreground**, we suggest you to let the app stay in the foreground until the clone is done, and don't let the tablet **sleep**, especially for large repo. The *receiving* part can survive short pauses e.g. 2 or 3 minutes, seems the UWP sandbox is doing a great work to maintain the http connection with git server by *keep-alive* traffic; the *resolving* part can be paused much longer but it's CPU intensive, when the app was sent background, Windows 10 freeze it, when active again, the resolving would carry on.
33+
34+
#### Me
35+
36+
1. This is my first UWP app, I'm still learning all the magics.
37+
38+
39+
## Design Principles
40+
41+
* *codereader* is a reader, there is no plan to turn this into a *writer* or *IDE* in any sense.
42+
* given above *read only* principle, we are unlikely to offer git *commit* or *push* in foreseeable future.
43+
* there are plenty of hard problems to solve in the **read** side, if we could solve some of those we'll be helping the world on programming productivity and quality a lot.
44+
* Touchscreen is great for consuming information (this is manifested by the popularity of *ipad*), *reading* code can be passive or active or both.
45+
* Touch is our main interactive means in our app; although you can still use a keyboard and mouse, but that's a fallback.
46+
* **Offline** is pillar for our app, so we try to do everything within our app without you needing to jump to another app.
47+
* we truly buy the **Immersive** modern UI design language, thus our UI is *minimalist*, giving you maximum screen real estate for viewing the code.
48+
49+
## Next Release
50+
51+
* Will be our *Language Story*, i.e. we will use Antlr4 for AST and enable our code viewer to have: Syntax Highlighting, Go to Definition, Line Number
52+
53+
54+
## Known Issues
55+
56+
1. On Repo List page, items are sorted by Likes, but not considering the exact time Likes are flagged. So the order might be different from your last session. This is by design unless we have a requirement to also take the flagging time into sort order.
57+
58+
2. On Repo Blade page, the total count for Commits only reflect what is already loaded, since it was backed by an IIncrementalSource. This is by design and we could do better to also show the real total once the robin-git library supports that.
59+
60+
3. On Repo Blade page, if you enable Global filter for "Likes" then disable it, the Commits blade will show the total commits count correctly, since we are trying to search for the selected item here without limiting how far we go, thus we enumerated everything with the side effect that we got the total commits. This can be improved.
61+
62+
4. On Repo Blade page, after you open up some levels, and toggle Global Likes Only button, for a blade that the opened item is not Liked, when you toggle Likes Only off, the blade does not scroll to show the opened item, this can be improved. Workaround: go to Code page and back.
63+
64+
5. On Repo Blade page, if you swipe open a folder on one level, while the next level is shown, if you swipe open a file on the same level as the folder, the file would be open in Code Page, if you go back Blade page, the opened folder would not close due to your selection of a file. This is for the convenience and can be improved for right use case.
65+
66+
67+
## Proudly using
68+
69+
* https://github.com/Microsoft/UWPCommunityToolkit
70+
* https://github.com/mbdavid/LiteDB
71+
72+
73+
74+
[![Get it on Windows 10](https://assets.windowsphone.com/f2f77ec7-9ba9-4850-9ebe-77e366d08adc/English_Get_it_Win_10_InvariantCulture_Default.png)](https://www.microsoft.com/store/apps/9ntphrk6qlfg?ocid=badge)

0 commit comments

Comments
 (0)