m0ngr31 / dailynotes Goto Github PK
View Code? Open in Web Editor NEWApp for taking notes and tracking tasks on a daily basis
License: MIT License
App for taking notes and tracking tasks on a daily basis
License: MIT License
Have you considered using TaskPaper as a (hopefully easy?) way to get project and per-task-item tag support? I'd be willing to look at trying to add support for this if it's something you're open to, as I'd love to be able to throw tasks in my notes for a day and then be able to see all of those tasks grouped by project.
It took me a while to find all the features in the screenshots. :) I think a search icon would be helpful. If you don't have any tags to click on, I'm not sure how you would even get to search. Its kind of a mystery navigation as it is.
I think it would be super cool if we could somehow implement support for mermaid charts for technical notes/documentation.
Source: https://mermaid.js.org/intro/
I might have time to submit a PR myself, but if someone else has time, I'd super appreciate it!
I don't know if I have enough details to help troubleshoot this, but I enabled autosave and started writing away.
Then I left the page up in a browser and did some other things. Came back to mark a task as completed and the page lost text that I had written earlier in the day. I was able to "undo" it and bring the text back, and I believe I hit save. After a page refresh, however, the text disappeared again and now I can't recover it.
I wish I had more to share, but the logs don't show anything other than benign warnings re: cache_key.
Otherwise, the project looks great. The UI is excellent.
I've tried to use an Postgress database for DialyNotes as database engine, because sqlalchemy does support it.
But using the following connection string wont work, what i am doing wrong?
DATABASE_URI = username:password@host:port/database_name
https://www.geeksforgeeks.org/connecting-postgresql-with-sqlalchemy-in-python/
Can you maybe make a website instead of the current method?
Spoiler alert i really want it!
Often when I'm typing a few characters will be deleted as I start to type because the systems saves and reloads the page with the saved data.
On auto save, can we make it so it doesn't reload after save?
When trying to mount the config_dir
I run into permission issues.
I am in no way a Docker expert, and usually rely on linuxserver.io images on our homeserver, e.g. hedgedoc.
Linuxserver.io usually offers the following environment variables: PUID, PGID
:
User / Group Identifiers
When using volumes (
-v
flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the userPUID
and groupPGID
.Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
Would it make sense to allow this configuration?
I am using tags in my Daily notes - and also in some extra notes not assigned to one day.
When clicking on a tag and seeing all the notes with that tag, I would really like to see them in some order. Ideally for sorting (for me), "Daily" notes get their assigned date as sorting order and other notes the last change date.
As the title says, right now if you missclick something you just lose it, thanks.
I added a second use to my install earlier today, and it looks like two users can't create a note on the same day.
Steps to reproduce:
Error (From Web):
There was an error saving. Please try again.
Error (From Logs):
[2021-02-22 17:11:42,583] ERROR in app: Exception on /api/save_day [PUT]
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
self.dialect.do_execute(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 593, in do_execute
cursor.execute(statement, parameters)
sqlite3.IntegrityError: UNIQUE constraint failed: note.title
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.8/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/usr/local/lib/python3.8/site-packages/flask_jwt_extended/view_decorators.py", line 108, in wrapper
return fn(*args, **kwargs)
File "/app/app/routes.py", line 85, in save_day
db.session.flush()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/scoping.py", line 163, in do
return getattr(self.registry(), name)(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 2523, in flush
self._flush(objects)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 2664, in _flush
transaction.rollback(_capture_exception=True)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__
compat.raise_(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 182, in raise_
raise exception
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 2624, in _flush
flush_context.execute()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/unitofwork.py", line 422, in execute
rec.execute(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/unitofwork.py", line 586, in execute
persistence.save_obj(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/persistence.py", line 239, in save_obj
_emit_insert_statements(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/persistence.py", line 1135, in _emit_insert_statements
result = cached_connections[connection].execute(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1011, in execute
return meth(self, multiparams, params)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1124, in _execute_clauseelement
ret = self._execute_context(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context
self._handle_dbapi_exception(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1510, in _handle_dbapi_exception
util.raise_(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 182, in raise_
raise exception
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
self.dialect.do_execute(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 593, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint failed: note.title
[SQL: INSERT INTO note (uuid, user_id, data, title, is_date) VALUES (?, ?, ?, ?, ?)]
[parameters: ('7da0c9d329b54385b8dde27d096527a4', 'e8eb9ea720a64def9ab4d9a6e570f2ce', b'-{t[\xdd\xbb\xe5"\xc1\x0f\x12\xb9\xff\xec\x9bM\xed\xf39\x05\xd6)YO\xf0\xcc\x95\xe7\x8b\xd8\x01\xb3\x9d', b'0\x15\x001\n\xc0\xfa\x1c\xd2$', 1)]
(Background on this error at: http://sqlalche.me/e/13/gkpj)
Hello,
I like your daily notes app... but is it possible to change the colors (theme) to something lighter ? ;-)
Thanks
Hello,
I realy like your project and the idea of dailynotes
would it be possible to add environment variable for BASE URL to be able run dailynotes behind a reverse proxy subfolder ?
eg
https://mydomain.ex/subfolder/date/09-26-2020
Thank you
^^^^
First of all: very good work so far. I love your tool. I use to plan my day by setting up a note for every meeting. But when i need to switch the note for another meeting i have to use the (powerful) search function.
Is there a way to list the notes for the current or selected day?
I know settings are WIP, but just in case: Please let us change the first day of the week. :-)
Seeing Sunday as first day of the weeks is for me European just reeeaaaly weird. ๐
Allow tags to be nested
Hi,
If possible, for future image releases, could you create a tag for the version number (in addition to latest) for those that would prefer to pin a specific version, rather than be tied to "latest".
Some examples:
Thanks!
^^^^
If I try to save a note for one day, I always get an error-message "There was an error saving. Please try again". In the docker logs I see the python error "ValueError: IV must be 16 bytes long".
I appears if I build the container myself from the cloned github repo, or if I pull the "offical" dockerimage from docker hub. Does anyone other gets these errors?
One complete logoutput is:
server_1 | Traceback (most recent call last):
server_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 2447, in wsgi_app
server_1 | response = self.full_dispatch_request()
server_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1952, in full_dispatch_request
server_1 | rv = self.handle_user_exception(e)
server_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1821, in handle_user_exception
server_1 | reraise(exc_type, exc_value, tb)
server_1 | File "/usr/local/lib/python3.8/site-packages/flask/_compat.py", line 39, in reraise
server_1 | raise value
server_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1950, in full_dispatch_request
server_1 | rv = self.dispatch_request()
server_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1936, in dispatch_request
server_1 | return self.view_functions[rule.endpoint](**req.view_args)
server_1 | File "/usr/local/lib/python3.8/site-packages/flask_jwt_extended/view_decorators.py", line 108, in wrapper
server_1 | return fn(*args, **kwargs)
server_1 | File "/app/app/routes.py", line 72, in save_day
server_1 | enc_date = aes_encrypt(title)
server_1 | File "/app/app/models.py", line 18, in aes_encrypt
server_1 | cipher = AES.new(key, AES.MODE_CFB, key[::-1])
server_1 | File "/usr/local/lib/python3.8/site-packages/Crypto/Cipher/AES.py", line 95, in new
server_1 | return AESCipher(key, *args, **kwargs)
server_1 | File "/usr/local/lib/python3.8/site-packages/Crypto/Cipher/AES.py", line 59, in __init__
server_1 | blockalgo.BlockAlgo.__init__(self, _AES, key, *args, **kwargs)
server_1 | File "/usr/local/lib/python3.8/site-packages/Crypto/Cipher/blockalgo.py", line 141, in __init__
server_1 | self._cipher = factory.new(key, *args, **kwargs)
server_1 | ValueError: IV must be 16 bytes long
Thanks for helping
Asking if we can get instructions on installing without docker please
Would be greatly appreciated
Firt of all, thanks for making DailyNotes. The project looks exactly like what I was looking for, and I love how easy everything was in terms of setup. I am running in a Docker container, zero issues whatsoever.
I have a few questions:
Notes
(the non-date bound) should be called something different, always be visible in the sidebar, and the "+" sign should be next to it (rather than on the main top bar).That's it, thank you again for making DailyNotes, the tool is super promising, hope I'll find a way to contribute somehow
A.
Something like this? https://discuss.codemirror.net/t/clickable-urls-in-markdown-mode/1389
I have created an ARM build and if possible I'd like to contribute to this project, but I am not sure the right steps to take.
I usually use a script ( BUILD.sh ) to build my multi architecture docker images with Github actions.
I checked your approach and it's a bit different.
Usually the way you create multi architecture images is via buildx. There is a Github Actions step for buildx but I am not very familiar on how to use it, so I leave the best way to do this up to the developer.
The image I've made works on arm and is way smaller than the current one ( 300mb vs 60mb ). Here: https://hub.docker.com/repository/docker/stefangenov/dailynotes/tags?page=1&ordering=last_updated
and the repo:
https://github.com/Michaelpalacce/docker-dailynotes
Actually, this are two minor thoughts:
Thanks for the app though, I really like using it.
I don't know if this should be a preference or an update, but it seems like the task list can become unmanageable by showing all tasks. I personally would prefer to only show tasks related to the current note.
Until yesterday, the docker image of DailyNotes stops to work.
app_1 | Traceback (most recent call last):
app_1 | File "/usr/local/bin/flask", line 8, in <module>
app_1 | sys.exit(main())
app_1 | File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 967, in main
app_1 | cli.main(args=sys.argv[1:], prog_name="python -m flask" if as_module else None)
app_1 | File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 586, in main
app_1 | return super(FlaskGroup, self).main(*args, **kwargs)
app_1 | File "/usr/local/lib/python3.8/site-packages/click/core.py", line 782, in main
app_1 | rv = self.invoke(ctx)
app_1 | File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
app_1 | return _process_result(sub_ctx.command.invoke(sub_ctx))
app_1 | File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
app_1 | return _process_result(sub_ctx.command.invoke(sub_ctx))
app_1 | File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
app_1 | return ctx.invoke(self.callback, **ctx.params)
app_1 | File "/usr/local/lib/python3.8/site-packages/click/core.py", line 610, in invoke
app_1 | return callback(*args, **kwargs)
app_1 | File "/usr/local/lib/python3.8/site-packages/click/decorators.py", line 21, in new_func
app_1 | return f(get_current_context(), *args, **kwargs)
app_1 | File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 425, in decorator
app_1 | with __ctx.ensure_object(ScriptInfo).load_app().app_context():
app_1 | File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 388, in load_app
app_1 | app = locate_app(self, import_name, name)
app_1 | File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 240, in locate_app
app_1 | __import__(module_name)
app_1 | File "/app/server.py", line 1, in <module>
app_1 | from app import app
app_1 | File "/app/app/__init__.py", line 21, in <module>
app_1 | from app import routes, models
app_1 | File "/app/app/routes.py", line 91, in <module>
app_1 | def create_note():
app_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1315, in decorator
app_1 | self.add_url_rule(rule, endpoint, f, **options)
app_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 98, in wrapper_func
app_1 | return f(self, *args, **kwargs)
app_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1282, in add_url_rule
app_1 | raise AssertionError(
app_1 | AssertionError: View function mapping is overwriting an existing endpoint function: wrapper
app_1 | Traceback (most recent call last):
app_1 | File "./verify_data_migrations.py", line 3, in <module>
app_1 | from app import app, db
app_1 | File "/app/app/__init__.py", line 21, in <module>
app_1 | from app import routes, models
app_1 | File "/app/app/routes.py", line 91, in <module>
app_1 | def create_note():
app_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1315, in decorator
app_1 | self.add_url_rule(rule, endpoint, f, **options)
app_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 98, in wrapper_func
app_1 | return f(self, *args, **kwargs)
app_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1282, in add_url_rule
app_1 | raise AssertionError(
app_1 | AssertionError: View function mapping is overwriting an existing endpoint function: wrapper
app_1 | [2021-03-01 11:24:23 +0000] [1] [INFO] Starting gunicorn 20.0.4
app_1 | [2021-03-01 11:24:23 +0000] [1] [INFO] Listening at: http://0.0.0.0:5000 (1)
app_1 | [2021-03-01 11:24:23 +0000] [1] [INFO] Using worker: sync
app_1 | [2021-03-01 11:24:23 +0000] [12] [INFO] Booting worker with pid: 12
app_1 | [2021-03-01 11:24:24 +0000] [12] [ERROR] Exception in worker process
app_1 | Traceback (most recent call last):
app_1 | File "/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
app_1 | worker.init_process()
app_1 | File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py", line 119, in init_process
app_1 | self.load_wsgi()
app_1 | File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
app_1 | self.wsgi = self.app.wsgi()
app_1 | File "/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi
app_1 | self.callable = self.load()
app_1 | File "/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
app_1 | return self.load_wsgiapp()
app_1 | File "/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
app_1 | return util.import_app(self.app_uri)
app_1 | File "/usr/local/lib/python3.8/site-packages/gunicorn/util.py", line 358, in import_app
app_1 | mod = importlib.import_module(module)
app_1 | File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
app_1 | return _bootstrap._gcd_import(name[level:], package, level)
app_1 | File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
app_1 | File "<frozen importlib._bootstrap>", line 991, in _find_and_load
app_1 | File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
app_1 | File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
app_1 | File "<frozen importlib._bootstrap_external>", line 783, in exec_module
app_1 | File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
app_1 | File "/app/server.py", line 1, in <module>
app_1 | from app import app
app_1 | File "/app/app/__init__.py", line 21, in <module>
app_1 | from app import routes, models
app_1 | File "/app/app/routes.py", line 91, in <module>
app_1 | def create_note():
app_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1315, in decorator
app_1 | self.add_url_rule(rule, endpoint, f, **options)
app_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 98, in wrapper_func
app_1 | return f(self, *args, **kwargs)
app_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1282, in add_url_rule
app_1 | raise AssertionError(
app_1 | AssertionError: View function mapping is overwriting an existing endpoint function: wrapper
app_1 | [2021-03-01 11:24:24 +0000] [12] [INFO] Worker exiting (pid: 12)
app_1 | [2021-03-01 11:24:24 +0000] [1] [INFO] Shutting down: Master
app_1 | [2021-03-01 11:24:24 +0000] [1] [INFO] Reason: Worker failed to boot.
It's not possible to use another release (all release have the same issue).
Are you working to fix this issue?
Just this. Is it possible to search for multiple tags? If yes, what is the syntax?
I changed my docker desktop for windows to wsl2 from hyperv. I tried logging into dailynotes and the log in wouldn't work. So I recreated the user, and now all the data is lost. i don't see how to recover anything. Any advice?
Hoping I didnt miss it, but the search feature would be great to have a button at the top to invoke it.
I have been loving DailyNotes, but my one pet peeve is that there is no VIM bindings mode. I enjoy using VIM, and even if it was just a simple implementation this would be an amazing feature.
Hi there,
Nice find this little tool, like it a lot. I've been just wondering how to change a given user password if using the SQLite DB.
Let me know,
Cheers and thanks!
o.
I just came across this and wanted to give it a go but can't seem to get it to save any notes.
I even tried setting the /app/config folder and the app.db to 777 but still get the same message pop up in the web interface whenever I click the save icon.
Apart from that the docker image appears to be running fine and I can create a user and login fine.
Is there something I've missed? Or even a log file somewhere on the docker that I have missed?
version: "2"
services:
dailynotes:
image: m0ngr31/dailynotes:version-1.0-beta6
container_name: dailynotes
volumes:
- {{ dailynotes_data_dir }}:/app/config
environment:
- DB_SERVER_HOST=mysql://pi:[email protected]/dailynotes
ports:
- {{ http_port }}:5000
restart: always
/app/config
, could you please give us some examples about the config, is config a file or a dir?docker exec dailynote pip install psycopg2
?WHen I use it on localhost it works fine. WHen I use it with the reverse proxy, things don't save. I made a note initially, and it saved. I went back and added more to it, and I saved it, and it confirmed that I saved. However, upon going back to the note, the modifications were not there and only the initial content was there.
It sounds like something needs to be changed on the reverse proxy, but I see no instructions about it.
I am using dailynotes on docker, and my reverse proxy is swag.
edit: actually it doesn't even save on localhost.
Hello,
Can we have support to rtl languages, maybe automatically switching or using a switch in the upper bar.
PS: I love DailyNotes, and I use it daily. And I hope I'll be able to contribute to it.
Hi,
Black is becoming the de facto standard for formatting Python code (for example Flask is using it).
Using automatic formatter could lower the barrier for potential code contributors (including myself), since it's shifting the burden of choosing and enforcing code format to a tool instead of following subjective style, which doesn't comply PEP8.
I have a bunch of python sqalchemy errors when installing this ; on Docker Synology using portainer ; it was a simple enough guie I was following . stuck at sign up page . [https://mariushosting.com/how-to-install-dailynotes-on-your-synology-nas/]
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file today at 6:57:58 PM(Background on this error at: https://sqlalche.me/e/14/e3q8)
I have extracted what I feel might be the most relevant code out of the logs ...
^^^^
Using DailyNotes quickly becomes a second nature. Yet, I often forget to hit that save button, and loose information.
Up until now, I have used Apple Notes, which automatically save. It has proven to be the right workflow for me. Offering this as an option would be brilliant.
note body I want to use markdown
I found that in dockerhub, the tagged latest
image is 7month ago, please point to the newest.
Come up with a shortcode to handle kanban columns on a task
Very beautiful app! I understand that it still is in beta, so features will be added. In the roadmap, I did not see any export option. Would be useful to have, I think?
I noticed copying in some commands I new I would need again that it wouldn't save.
Figured out it was the Dashes rather than Hyphens that I copied
That the file would save.
Message: There was an error saving. Please try again.
Outcome: File doesn't save (obviously)
[2020-06-27 08:33:31,231] ERROR in app: Exception on /api/save_day [PUT] Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 2447, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1952, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1821, in handle_user_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python3.8/site-packages/flask/_compat.py", line 39, in reraise raise value File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1950, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1936, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/usr/local/lib/python3.8/site-packages/flask_jwt_extended/view_decorators.py", line 108, in wrapper return fn(*args, **kwargs) File "/app/app/routes.py", line 74, in save_day note.text = data File "/usr/local/lib/python3.8/site-packages/sqlalchemy/ext/hybrid.py", line 900, in __set__ self.fset(instance, value) File "/app/app/models.py", line 99, in text self.data = aes_encrypt(value) File "/app/app/models.py", line 23, in aes_encrypt return binascii.hexlify(cipher.encrypt(data)) File "/usr/local/lib/python3.8/site-packages/Crypto/Cipher/blockalgo.py", line 244, in encrypt return self._cipher.encrypt(plaintext) ValueError: Input strings must be a multiple of 16 in length
I really like it btw :)
I pulled m0ngr31/dailynotes:latest
but I'm missing the checkbox icon next to the plus button at the top and I don't see any options for searching. I feel like I'm on an older version but I don't know how else to force something newer?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.