A lightweight Traits like module
Readline Interface for IPython 5.4+
IPython widgets for mesh generation
Myst - Markedly Structured Text
Regular news about Jupyter
Convert American Mathematical Society meeting program web pages to ical files
Blank an OSX Screen
jasongrout/BogartCombinatorics 1
Bogart's combinatorics book (see https://math.dartmouth.edu/news-resources/electronic/kpbogart/)
push eventsagemath/sagemath.github.io
commit sha bc88b94ce551d095a3ec111afd0ee76e105af8b0
auto publish 2021-03-08 09:35:15+00:00
push time in 11 minutes
issue commentjupyterlab/jupyterlab
Enable kite server in order to run kite in jupyter lab
I also showed the log file that was produced when I tried to enable the server here.
comment created time in 21 minutes
issue commentjupyterlab/jupyterlab
Enable kite server in order to run kite in jupyter lab
Hi @agoose77 yes I have.
<pre><font color="#4E9A06"><b>thamu@thamu-PC</b></font>:<font color="#3465A4"><b>~</b></font>$ pip3 install jupyter-kite Requirement already satisfied: jupyter-kite in ./.local/lib/python3.8/site-packages (2.0.2) </pre>
comment created time in 24 minutes
push eventsagemath/sagetrac-mirror
commit sha 8daee485448243574f4a6c0e1c92d940fe6e7f5b
fix bugs in construction of free modules over Ore rings
push time in 42 minutes
pull request commentjupyter/notebook
Any updates of this very useful piece of work becoming available as an extension ? :)
comment created time in an hour
push eventsagemath/sagemath.github.io
commit sha 4355004aa7ba37cc3eba3344b72f0748a09451e4
auto publish 2021-03-08 08:34:43+00:00
push time in an hour
issue commentjupyterlab/jupyterlab
Enable kite server in order to run kite in jupyter lab
Have you installed jupyter-kite via pip?
comment created time in an hour
push eventjupyterlab/pull-requests
commit sha 1eebdf06f700ea8b8a96d4255f70cc978e0eb78a
Bump to version 2.0.0
commit sha f4a423eedce70d1214ff7b52cec25ca4e6a36048
Merge pull request #25 from fcollonval/bump-version Bump to version 2.0.0
push time in an hour
issue closedjupyterlab/pull-requests
README has incorrect config param name
The README says to update your c.GitHubConfig.access_token, but it should be c.GitHubConfig.github_access_token.
closed time in 2 hours
davidrsissue commentjupyterlab/pull-requests
README has incorrect config param name
Parameters have been changed in #16 ➡️ closing this one.
comment created time in 2 hours
issue closedjupyterlab/pull-requests
Jupyterlab failed to build after installing pull-requests
Given that jupyterlab >2.0 is not compatible with pull-requests. I have jupyterlab 1.0.0 jupyter core : 4.6.3 jupyter-notebook : 6.0.3 qtconsole : not installed ipython : 7.15.0 ipykernel : 5.3.0 jupyter client : 6.1.3 jupyter lab : 1.0.0 nbconvert : 5.6.1 ipywidgets : not installed nbformat : 5.0.7 traitlets : 4.3.3
After running jupyter labextension install @jupyterlab/pullrequests
I get
Building jupyterlab assets (build:prod:minimize) An error occured. RuntimeError: JupyterLab failed to build See the log file for details: /tmp/jupyterlab-debug-6twlehu6.log
When checking the log file, I can see
LabBuildApp] Building in /Users/fuadissa/miniconda3/share/jupyter/lab [LabBuildApp] Node v14.1.0
[LabBuildApp] Building jupyterlab assets [LabBuildApp] WARNING | "[email protected]" is not compatible with the current JupyterLab Conflicting Dependencies: JupyterLab Extension Package
=1.0.0 <2.0.0 >=2.0.0 <3.0.0 @jupyterlab/apputils =3.0.0 <4.0.0 >=4.0.0 <5.0.0 @jupyterlab/coreutils =1.0.0 <2.0.0 >=2.0.0 <3.0.0 @jupyterlab/notebook =1.0.0 <2.0.0 >=2.0.0 <3.0.0 @jupyterlab/rendermime =4.0.0 <5.0.0 >=5.0.0 <6.0.0 @jupyterlab/services
[LabBuildApp] > node /Users/fuadissa/miniconda3/lib/python3.7/site-packages/jupyterlab/staging/yarn.js install --non-interactive [LabBuildApp] yarn install v1.15.2 [1/5] Validating package.json... [2/5] Resolving packages... [3/5] Fetching packages... [4/5] Linking dependencies... [5/5] Building fresh packages... success Saved lockfile. Done in 149.57s.
[LabBuildApp] > node /Users/fuadissa/miniconda3/lib/python3.7/site-packages/jupyterlab/staging/yarn.js yarn-deduplicate -s fewer --fail [LabBuildApp] yarn run v1.15.2 $ /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/.bin/yarn-deduplicate -s fewer --fail error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
[LabBuildApp] > node /Users/fuadissa/miniconda3/lib/python3.7/site-packages/jupyterlab/staging/yarn.js [LabBuildApp] yarn install v1.15.2 [1/5] Validating package.json... [2/5] Resolving packages... [3/5] Fetching packages... [4/5] Linking dependencies... [5/5] Building fresh packages... success Saved lockfile. Done in 10.61s.
[LabBuildApp] > node /Users/fuadissa/miniconda3/lib/python3.7/site-packages/jupyterlab/staging/yarn.js run build [LabBuildApp] yarn run v1.15.2 $ webpack ModuleNotFoundError: Module not found: Error: Can't resolve 'd3-color' in '/Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/@jupyterlab/pullrequests/lib/components/diff' at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/webpack/lib/Compilation.js:821:10 at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:397:22 at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:130:21 at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:224:22 at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/neo-async/async.js:2830:7 at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/neo-async/async.js:6877:13 at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:214:25 at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/Resolver.js:184:12 at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/Resolver.js:238:5 at eval (eval at create (/Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1) at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:37:5 at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/Resolver.js:238:5 at eval (eval at create (/Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1) at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/Resolver.js:238:5 at eval (eval at create (/Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:27:1) at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:42:38 at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/Resolver.js:238:5 at eval (eval at create (/Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:28:1) at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/ModuleKindPlugin.js:23:37 at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/Resolver.js:238:5 at eval (eval at create (/Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1) at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/Resolver.js:238:5 at eval (eval at create (/Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1) at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/forEachBail.js:30:14 at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/Resolver.js:238:5 at eval (eval at create (/Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1) at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:37:5 at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/Resolver.js:238:5 at eval (eval at create (/Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1) at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/Resolver.js:238:5 at eval (eval at create (/Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:27:1) at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:42:38 at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/Resolver.js:238:5 at eval (eval at create (/Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:16:1) at /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/enhanced-resolve/lib/Resolver.js:238:5 at eval (eval at create (/Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:27:1) resolve 'd3-color' in '/Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/@jupyterlab/pullrequests/lib/components/diff' Parsed request is a module using description file: /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/@jupyterlab/pullrequests/package.json (relative path: ./lib/components/diff) Field 'browser' doesn't contain a valid alias configuration resolve as module /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/@jupyterlab/pullrequests/lib/components/diff/node_modules doesn't exist or is not a directory /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/@jupyterlab/pullrequests/lib/components/node_modules doesn't exist or is not a directory /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/@jupyterlab/pullrequests/lib/node_modules doesn't exist or is not a directory /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/@jupyterlab/pullrequests/node_modules doesn't exist or is not a directory /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/@jupyterlab/node_modules doesn't exist or is not a directory /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/node_modules doesn't exist or is not a directory /Users/fuadissa/miniconda3/share/jupyter/lab/node_modules doesn't exist or is not a directory /Users/fuadissa/miniconda3/share/jupyter/node_modules doesn't exist or is not a directory /Users/fuadissa/miniconda3/share/node_modules doesn't exist or is not a directory /Users/fuadissa/miniconda3/node_modules doesn't exist or is not a directory /Users/fuadissa/node_modules doesn't exist or is not a directory /Users/node_modules doesn't exist or is not a directory /node_modules doesn't exist or is not a directory looking for modules in /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules using description file: /Users/fuadissa/miniconda3/share/jupyter/lab/staging/package.json (relative path: ./node_modules) Field 'browser' doesn't contain a valid alias configuration using description file: /Users/fuadissa/miniconda3/share/jupyter/lab/staging/package.json (relative path: ./node_modules/d3-color) no extension Field 'browser' doesn't contain a valid alias configuration /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/d3-color doesn't exist .wasm Field 'browser' doesn't contain a valid alias configuration /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/d3-color.wasm doesn't exist .mjs Field 'browser' doesn't contain a valid alias configuration /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/d3-color.mjs doesn't exist .js Field 'browser' doesn't contain a valid alias configuration /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/d3-color.js doesn't exist .json Field 'browser' doesn't contain a valid alias configuration /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/d3-color.json doesn't exist as directory /Users/fuadissa/miniconda3/share/jupyter/lab/staging/node_modules/d3-color doesn't exist error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
[LabBuildApp] JupyterLab failed to build [LabBuildApp] Traceback (most recent call last):
[LabBuildApp] File "/Users/fuadissa/miniconda3/lib/python3.7/site-packages/jupyterlab/debuglog.py", line 47, in debug_logging yield
[LabBuildApp] File "/Users/fuadissa/miniconda3/lib/python3.7/site-packages/jupyterlab/labapp.py", line 80, in start command=command, logger=self.log)
[LabBuildApp] File "/Users/fuadissa/miniconda3/lib/python3.7/site-packages/jupyterlab/commands.py", line 373, in build command=command, clean_staging=clean_staging)
[LabBuildApp] File "/Users/fuadissa/miniconda3/lib/python3.7/site-packages/jupyterlab/commands.py", line 566, in build raise RuntimeError(msg)
[LabBuildApp] RuntimeError: JupyterLab failed to build
[LabBuildApp] Exiting application: JupyterLab
closed time in 2 hours
issafuadissue commentjupyterlab/pull-requests
Jupyterlab failed to build after installing pull-requests
Closing as it works for JupyterLab 2 (JLab 3 is coming shortly).
Please open a new issue if there is still some issue with installation.
comment created time in 2 hours
issue closedjupyterlab/pull-requests
Error when launching Jupyter-lab
When I execute jupyter lab, then I got,
File "/home/ubuntu/.local/lib/python3.5/site-packages/notebook/notebookapp.py", line 1572, in init_server_extensions
mod = importlib.import_module(modulename)
File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 661, in exec_module
File "<frozen importlib._bootstrap_external>", line 767, in get_code
File "<frozen importlib._bootstrap_external>", line 727, in source_to_code
File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
File "/home/ubuntu/.local/lib/python3.5/site-packages/jupyterlab_pullrequests/handlers.py", line 30
reason=f"Invalid parameter 'filter'. Expected value 'created' or 'assigned', received '{pr_filter}'."
^
SyntaxError: invalid syntax
It seems like it's something related to jupyterlab_pullrequests.
Is there a way to fix this?
closed time in 2 hours
dwy904issue commentjupyterlab/pull-requests
Error when launching Jupyter-lab
Closing as it is not appearing in the reboot #16
Please open a new issue if it is still there.
comment created time in 2 hours
issue closedjupyterlab/pull-requests
Allow user to change default GitHub URL
This is an unbelievably useful extension for making notebook code review more accessible.
We'd love to use it with our corporate Github system, which has an API identical to that of public GitHub. In order to use this, we'd need to be able to set the base URL for Github as a configurable parameter from the Jupyter Configuration file.
closed time in 2 hours
riordanissue commentjupyterlab/pull-requests
Allow user to change default GitHub URL
Fixes in #16
comment created time in 2 hours
issue closedjupyterlab/pull-requests
Markdown does not render in Description

closed time in 2 hours
jaipreet-sissue commentjupyterlab/pull-requests
Markdown does not render in Description
Fixes in #16
comment created time in 2 hours
issue openedjupyterlab/pull-requests
- in the PR summary,
- the chat messages could be a lot more condensed and probably don't need any border at all, nor are extra layout colors needed...
- the PR source/target repo and key (this could be the link instead of the View Details button,
- e.g.
[octocat]jupyterlab/pull-requests#16)- the provider could hoist this SVG instead of cooking it into the typescript build
- e.g.
- the proposer (also with a link to their page)
- a tall tree or wide miller columns of the files that are actually in that pr that open the tear-aways, with better metadata than
+/-- the file browser is just going to need a lot of work, and really needs first-class, first-party support, potentially via that datagrid merged cell PR on lumino (think i mentioned above)
- the "start a new discussion" box could always be visible, and stuck to the bottom of the tab
- making it automatically scale to what you're writing would be fly, but a SplitPanel would be fine, too
- i don't know if the "reply" on a past message makes much sense, unless the provider actually supports them (GH sure doesn't, buh)
- i'd expect too see the why changing metadata in the summary, with a link to open that diff you are seeing
Originally posted by @bollwyvl in https://github.com/jupyterlab/pull-requests/issues/16#issuecomment-791439670
created time in 2 hours
issue openedjupyterlab/pull-requests
- the file diff
- the big popout boxes look good in the file view
- i feel like the extra-thick blue lines coming out of the plus could be just a single pixel thick, and probably not
jp-brand-color0all the time
Originally posted by @bollwyvl in https://github.com/jupyterlab/pull-requests/issues/16#issuecomment-791439670
created time in 2 hours
pull request commentjupyter/nbclient
Thanks a lot @juhuebner, I made some comments mainly for me to understand better your changes.
comment created time in 2 hours
push eventjupyterlab/pull-requests
commit sha badcbf20ac044af5d295a092bf71fd58cde5a7a1
Conform to extension template
commit sha 7746f22c7f3bb6928b3f434444f14457410f3181
Fix unit tests
commit sha 962f05136cc2f2491416d66ec7705180c681ae28
Lint code
commit sha 247138056465a9b61571063250560f26fd5cb491
Fix jest
commit sha 7160050c00854ee556f3d1071d4db960fccb0501
Switch to SVG icons
commit sha 5ab43ce935cff63324fed772ea8c2ec4826d8769
Use only monaco editor
commit sha aaab29e34804d7b815b38e38f799f9f7525a3b28
Use ActionButton
commit sha 576e21a7686a33ee427fac4e3da4c069bd1a1ed6
Correct naming
commit sha 46b78784636e05bc46ca220451c71b57fb1522b4
Modernize backend
commit sha 6b290ead9cd4b84c5ac955c7ba7afde8bd61112a
Fix and update Jest
commit sha 6aadb53dd0d869f47cab60a4124438ee6b80a4bc
Fix GitLab client
commit sha 836ab31df287b9f81f02229cd166e4340efb1782
Render PR description as Markdown
commit sha 92f95cd938cdd4a1747c03a901e66c1c5b776dd4
Fix CI
commit sha adc74d8b42e953accfc64629cf362ab411e569fa
Use FilePath component
commit sha 05e731a0405a5b1f14cf5e07d1420c2e0fc7a56a
WIP Switch to codemirror
commit sha e806c6ef278ab5452552800bf136942b8e520c22
Fix gitlab assigned query
commit sha 5d4d43c35cd5d7f13f1f0e02a059e97092d1cf58
Bump version
commit sha e29ef497f16a75965132139f71db1bcb1ea1a2e2
Correct extension icon
commit sha 506625378a64cefe41ba99f0a5972d39c5fc871a
Add comment decoration
commit sha 7497fcc832b3098c587b072cd3316e1c2fa7e5ff
Change threads data structure
push time in 2 hours
PR merged jupyterlab/pull-requests
I'm working on rebooting this extension. Should this extension keep living in the jupyterlab organization? Could I be granted right to publish it on pypi (cc @blink1073 @jaipreet-s)?
TODO
- [x] Add support for GitLab
- [x] Update GitHub for new discussion data structure
- [x] More server configuration (base url, token, third service)
- [x] Switch to codemirror for plain text (for Jupyter ecosystem coherence)
- [x] Refresh the code
- [ ] Extend testing
- [x] Switch to GitHub workflow
- [ ] UI improvements
- [ ] Use virtual tree view for PR/file list
- [x] Better file path display
- [x] Support markdown rendering
- [x] Support discussion at PR level
pr closed time in 2 hours
Pull request review commentjupyter/nbclient
def _cleanup() -> None: # the fix for python3.7: https://github.com/python/cpython/pull/15706/files if sys.platform == 'win32': if sys.version_info < (3, 7):- subprocess._cleanup = _cleanup- subprocess._active = None+ subprocess._cleanup = _cleanup # type: ignore+ subprocess._active = None # type:ignore
Is it needed?
comment created time in 2 hours
Pull request review commentjupyter/nbclient
commands = python -c 'import pathlib; print("documentation available under file://\{0\}".format(pathlib.Path(r"{toxworkdir}") / "docs_out" / "index.html"))' # Distro-[testenv:dist]+[testenv:dist-{win, linux}] skip_install = true-# Have to use /bin/bash or the `*` will cause that argument to get quoted by the tox command line...+platform =+ win: win|msys+ linux: linux|darwin+allowlist_externals = + win: powershell+ linux: bash + commands = python setup.py sdist --dist-dir={distdir} bdist_wheel --dist-dir={distdir}- /bin/bash -c 'python -m pip install -U --force-reinstall {distdir}/nbclient*.whl'- /bin/bash -c 'python -m pip install -U --force-reinstall --no-deps {distdir}/nbclient*.tar.gz'+ win: powershell Get-ChildItem -Path {distdir} -Filter nbclient*.whl | foreach \{python -m pip install -U --force-reinstall $_.FullName\}+ win: powershell Get-ChildItem -Path {distdir} -Filter nbclient*.tar.gz | foreach \{python -m pip install -U --force-reinstall --no-deps $_.FullName\}+ # Have to use /bin/bash or the `*` will cause that argument to get quoted by the tox command line...+ linux: bash -c 'python -m pip install -U --force-reinstall {distdir}/nbclient*.whl'+ linux: bash -c 'python -m pip install -U --force-reinstall --no-deps {distdir}/nbclient*.tar.gz'
We don't need to use /bin/bash anymore?
comment created time in 2 hours
Pull request review commentjupyter/nbclient
commands = python -c 'import pathlib; print("documentation available under file://\{0\}".format(pathlib.Path(r"{toxworkdir}") / "docs_out" / "index.html"))' # Distro-[testenv:dist]+[testenv:dist-{win, linux}] skip_install = true-# Have to use /bin/bash or the `*` will cause that argument to get quoted by the tox command line...+platform =+ win: win|msys+ linux: linux|darwin+allowlist_externals = + win: powershell+ linux: bash
Could you explain why we need this?
comment created time in 2 hours