text:
Use filer as a tinymce attachments provider

Hi,
Can I use filer as a tinyMCE (or another html / text editor) attachments provider ?
Thanks for your help !

@frague59 unfortunately such integration is a bit tricky. Most of these integration just end up inserting a specific url to a file into the editor. But in the case of django-filer, the url is not guaranteed to stay the same. If you change permissions or replace the file, it will get a new url.
So anything using filer files will have to reference the File object in the database and get the url from that dynamically.
I suspect that is something that would be hard to integrate in tinyMCE.
We have this implemented for the CKeditor used with the django-cms text plugin though.

feel free to re-open if you have more questions

repo: divio/django-filer


text:
How to update the divolte-collector.conf and reload the service

Thanks for this great service.
We are running Divolte in a docker container and it would speed of development and testing of the config file if we can just copy the file into the container and have it be reloaded automatically.
Reading the documentations it seems like this is done for the geo2ip database file. Is that true?
Thanks again.
Also we have a bug to report on Divolte 0.6:
When we start the service in the container and run it again we get this error:
2018-01-26 03:28:39.509Z [main] INFO  [AppInfoParser]: Kafka version : 0.10.2.1
2018-01-26 03:28:39.509Z [main] INFO  [AppInfoParser]: Kafka commitId : e89bffd6b2eff799
2018-01-26 03:28:39.511Z [main] WARN  [AppInfoParser]: Error registering AppInfo mbean
javax.management.InstanceAlreadyExistsException: kafka.producer:type=app-info,id=divolte.collector
	at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
	at org.apache.kafka.common.utils.AppInfoParser.registerAppInfo(AppInfoParser.java:58)
	at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:335)
	at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:204)
	at io.divolte.server.kafka.KafkaFlushingPool.<init>(KafkaFlushingPool.java:45)
	at io.divolte.server.Server.lambda$new$6(Server.java:92)
	at com.google.common.collect.CollectCollectors.lambda$toImmutableMap$1(CollectCollectors.java:62)
	at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
	at io.divolte.server.Server.<init>(Server.java:89)
	at io.divolte.server.Server.<init>(Server.java:60)
	at io.divolte.server.Server.main(Server.java:199)

It seems that when kafka-producer was initialized then stopping the service does not clean up something so restarting it will cause this error.
The service actually works afterward and sends the data to kafka successfully.

As @friso noted this isn't something we're planning on working on for now.
The GeoIP database is a special-case: this is routinely updated in the background while Divolte is running so we support that. (It was fairly easy to implement and the impact of re-loading it is very narrow in scope.)

source: gharchive/issue

authors: asnare ddehghan

repo: divolte/divolte-collector

license_type: permissive

license_source: github-api


text:
🛑 Heritage Auctions is down

In a8e3f9b, Heritage Auctions (https://www.ha.com/) was down:

HTTP code: 403
Response time: 181 ms

Resolved: Heritage Auctions is back up in 3d4cfb9 after 15 minutes.

repo: divtiply/artupptime

license: MIT


text:
🛑 Van Ham is down

In 2be091c, Van Ham (https://www.van-ham.com/en/index.html) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Van Ham is back up in c0b61f4 after 3 hours, 54 minutes.


text:
🛑 Radio France Open API is down

In cd52647, Radio France Open API ($RADIO_FRANCE_API_URL_WITH_TOKEN) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Radio France Open API is back up in 3fb1757.


text:
zabbix_database_sqlload variable README fix

Description of PR
Small fix on a typo for the variable that controls the load of the SQL data, and bool filter to remove the Ansible warning on the bare variable usage.
Type of change
Docs Pull Request

Thanks! 👍

source: gharchive/pull-request

authors: blacksd dj-wasabi

repo: dj-wasabi/ansible-zabbix-server


text:
DOMContentLoaded event don't fire when form is added by JQuery's .html() function

My form:
<form id='create_form' method="post" action="{{ request.path }}"> {% csrf_token %}
        <script type="text/javascript" src="{% static 'ckeditor/ckeditor-init.js' %}"></script>
        ...
</form>

It is rendered from server and send via a ajax request then I want add it to bootstrap modal by jquery's .html(). When I do that, ckeditor don't work, only normal textarea tag appears.
I discover this code never run:
document.addEventListener('DOMContentLoaded', function() {
    initialiseCKEditor();
    initialiseCKEditorInInlinedForms();
});

when I change it to:
$(function() {
    initialiseCKEditor();
    initialiseCKEditorInInlinedForms();
});

it works well!
I use django-ckeditor 5.3.0.
django-ckeditor 5.2.2 works well.
Sorry, I dont know English very well!

I had the same problem. You can trigger the DOMContentLoaded event after injecting your form HTML in the DOM, like this:
window.document.dispatchEvent(new Event("DOMContentLoaded", {
    bubbles: true,
    cancelable: true
}));

Shouldn't document.readyState be complete or something in this case anyway? It seems to me that the bundled JS should run initialisers even without the synthetic DOMContentLoaded event.

My use case is a Django form injected dynamically (using jQuery .html() method) in a Bootstrap modal. Without the synthetic DOMContentLoaded event a django-ckeditor RichTextField was rendered as a simple TextArea. With the synthetic event fired after the form is injected in the DOM, the form field is rendered correctly with CKEditor.

authors: baxeico matthiask vanphong1310

repo: django-ckeditor/django-ckeditor


text:
devappserver2 not working with local shell since last GAE SDK update

The old devappserver has been removed, and now local shell does not work properly. It activates the test stubs, and so does not use datastore_path.

I patched StubManager.activate_stubs as follows to get this working in the easiest way possible:
    def activate_stubs(self, connection):

        try:
            from google.appengine.tools import dev_appserver_main
            self.setup_local_stubs(connection)
        except ImportError:

            command_line_args = sys.argv
            is_local_shell = 'shell' in command_line_args and 'remote' not in command_line_args
            datastore_path = connection.settings_dict.get('datastore_path', None) if is_local_shell else None

            self.activate_test_stubs(connection, datastore_path)

I still don't quite get why the djangoappengine setup workflow is implemented as it is. It seems that test and shell have the exact same stub setup via DatabaseWrapper. Shouldn't they be distinguished in some way? Also, setup_local_stubs needs to be fixed.

Thanks for this @jacobg . I've ran into the same problem with newer versions of the GAE SDK—will try and use your fix.

Thank you :+1:

it it still an issue.as the traceback point out there is no 'old_dev_appserver' or 'dev_appserver' in module 'google.appengine.tools', I'm using google app engine version 1.9.19 on windows.
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "c:\Users\Yunyan\Github\djangoTest\mysite-app-engine\django\core\management\__init__.py", line 453, in exe
om_command_line
    utility.execute()
  File "c:\Users\Yunyan\Github\djangoTest\mysite-app-engine\django\core\management\__init__.py", line 392, in exe
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "c:\Users\Yunyan\Github\djangoTest\mysite-app-engine\django\core\management\__init__.py", line 263, in fet
and
    app_name = get_commands()[subcommand]
  File "c:\Users\Yunyan\Github\djangoTest\mysite-app-engine\django\core\management\__init__.py", line 109, in get
ds
    apps = settings.INSTALLED_APPS
  File "c:\Users\Yunyan\Github\djangoTest\mysite-app-engine\django\conf\__init__.py", line 53, in __getattr__
    self._setup(name)
  File "c:\Users\Yunyan\Github\djangoTest\mysite-app-engine\django\conf\__init__.py", line 48, in _setup
    self._wrapped = Settings(settings_module)
  File "c:\Users\Yunyan\Github\djangoTest\mysite-app-engine\django\conf\__init__.py", line 132, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "c:\Users\Yunyan\Github\djangoTest\mysite-app-engine\django\utils\importlib.py", line 35, in import_module
    __import__(name)
  File "c:\Users\Yunyan\Github\djangoTest\mysite-app-engine\myapp\settings.py", line 6, in <module>
    from djangoappengine.settings_base import *
  File "c:\Users\Yunyan\Github\djangoTest\mysite-app-engine\djangoappengine\settings_base.py", line 6, in <module
    setup_env()
  File "c:\Users\Yunyan\Github\djangoTest\mysite-app-engine\djangoappengine\boot.py", line 79, in setup_env
    setup_project()
  File "c:\Users\Yunyan\Github\djangoTest\mysite-app-engine\djangoappengine\boot.py", line 140, in setup_project
    from .utils import have_appserver, on_production_server
  File "c:\Users\Yunyan\Github\djangoTest\mysite-app-engine\djangoappengine\utils.py", line 24, in <module>
    "Error was: %s" % e)
Exception: Could not get appid. Is your app.yaml file missing? Error was: cannot import name old_dev_appserver

authors: beaumartinez jacobg lucasmazzetto realhu1989

repo: django-nonrel/djangoappengine

license_source: bigquery


text:
formset.errors can be out of sync with formset.forms

If you delete a form in a formset you now a situation where len(formset.forms) != len(formset.errors). But the documentation for formset.errors says "Return a list of form.errors for every form in self.forms.". To keep them in sync, insert an empty dict for deleted entries.
The workaround is to never use formset.errors but instead get the form from formset.forms and then use the errors property from that form.

Thanks for the patch, however this is expected behavior (see f32d24652b920135eb6a0f3de74599f03e181731 and ticket 28321).

No it isn't. The linked issue is very clear:
I'd argue that this violates the principle of least surprise, and that for a deleted form with errors, an empty dict should be added to ._errors in a formset's full_clean().

This is exactly what my patch fixes.

IMO it is expected behavior, that's why tests are failing. I don't see any point in returning an empty dict for invalid, deleted form. You can start a new thread on the django-developers mailing list if you think that this behavior should change.

We already have an open thread https://groups.google.com/d/msg/django-developers/yzZpfOe48iw/giczt-qNBAAJ, you can leave a comment there.

The test was introduced at the same time as the broken code. It just locks down the bug. I agree though that I missed deleting the test.
Please reopen the PR and I'll fix this first thing tomorrow when I get into work.

authors: boxed felixxm

repo: django/django


text:
Refs #32074 -- Fixed handling memoryview content by HttpResponse on Python 3.10+.

ticket-32074
An iterator was added to memoryview in Python 3.10, see bpo-41732.
See also ticket-30294.

@carltongibson It's not urgent, I can wait :+1: httpwrappers.tests.HttpResponseTests.test_memoryview_content fails on Python 3.10 without this patch:
======================================================================
FAIL: test_memoryview_content (httpwrappers.tests.HttpResponseTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/felixx/repo/django/tests/httpwrappers/tests.py", line 372, in test_memoryview_content
    self.assertEqual(r.content, b'memoryview')
AssertionError: b'109101109111114121118105101119' != b'memoryview'


text:
Fixed #26607 -- Allowed customizing formset kwargs with ModelAdmin.get_formset_kwargs().

ticket-26607
Supersedes #6590
I have added a hook to set the initial parameters for formset values in admin.
Steps to reproduce

Let the models.py be as follows:

class Author(models.Model):
    name = models.CharField(max_length=100)
    price = models.IntegerField()
    def __str__(self):
        return self.name

class Book(models.Model):
    author = models.ForeignKey(Author, on_delete=models.CASCADE)
    name = models.CharField(max_length=100)
    price = models.IntegerField()
    def __str__(self):
        return self.name

Let admin.py be as follows:

class BookInline(admin.StackedInline):
    model = Book
class AuthorAdmin(admin.ModelAdmin):
    inlines = [
        BookInline,
    ]
admin.site.register(Author, AuthorAdmin)

Visiting http://localhost:8000/admin/polls/author/add/?name=author_name&price=120&book__1_name=book1name&book__1_price=122&book__2_name=book2name&book__2_price=123 will give the following results

Please review the patch so that I may start working on tests.
Also please provide me some documentation reference for documenting the same.

Any updates on this PR?

@felixxm may you please review this PR and provide the comments.
Regards

@manav014 previous comments for this ticket suggest a more general hook is required here. Therefore this this patch looks too specific.
Could you give some thought on a more general hook?

@manav014 previous comments for this ticket suggest a more general hook is required here. Therefore this this patch looks too specific.
Could you give some thought on a more general hook?

Hey, @smithdc1  Thank You for your comment.
May you please specify what kind of general hook is required like what we expect from that hook and what are the expected end results.

May we include something like this in the formset_params.update.
 if request.method == 'POST':
                formset_params.update({
                    'data': request.POST,
                    'files': request.FILES,
                    'save_as_new': '_saveasnew' in request.POST,
                    **kwargs
                })

After adding this we may add a hook to get the kwargs from the user.

Of course, thanks for your interest in this ticket. :+1:
For a description of what is required here please see Tim's comment on the ticket. I hope this helps.
https://code.djangoproject.com/ticket/26607#comment:3

@smithdc1  Thank you for your suggestions. I have added a commit with the desired changes please review the changes, so that I may start working with tests and documentation.

Any updates on this PR?

Any updates on this PR?

The ticket has flags set by yourself indicating that this needs documentation and tests. It is also marked as needing improvement. These flags indicate that the patch isn't ready for review and it will not be on the review queue.
I suggest writing the documentation and tests first before requesting review.

Thank You @pope1ni for the comment. I have added tests.

I have committed the required changes. Please review them and also, may anyone please help me out with the reason why these tests are getting failed.

May anyone please help me with why are these tests getting failed? I tried to get into details but didn't get the solution.

All the checks are working fine on my system. I used flake8 and isort tools to check that along with pre-commit and they all are working fine.

Clicking through to the details showed "commit changed". This can happen if you push changes to your branch while tests are already running.
Now that they've all completed I'll close and reopen this to kick them off again…

Thank You @pope1ni for solving the check failures problem. But, Still one test is pending from yesterday and 1 test is failed :( Don't know the reason for it.
Also the way I am implementing the functionality to set formset parameters is fine?

Thank You @pope1ni . All check are successfully passed now. :)

Any updates on this PR?

Any updates on this PR?

If you want to put your patch on the review queue you need to uncheck "patch needs improvement" on the ticket.
I have had a look, however, and think that this needs a bit more thought into the approach - see my comments below. I'm also not convinced we should provide the implementation for setting initial as it seems as though it would be quite fragile.

Sure @pope1ni  I will take care of this in the future and Thank You for the review.  I agree that the implementation get formset initial data seems quite fragile but the feature of passing default values to initial formset data would be beneficial for developers and administrators. What are your views? Or would it be better to not add a separate function to get formset official data through URL?

If you want to put your patch on the review queue you need to uncheck "patch needs improvement" on the ticket.
I have had a look, however, and think that this needs a bit more thought into the approach - see my comments below. I'm also not convinced we should provide the implementation for setting initial as it seems as though it would be quite fragile.

Sure @pope1ni  I will take care of this in the future and Thank You for the review.  I agree that the implementation get formset initial data seems quite fragile but the feature of passing default values to initial formset data would be beneficial for developers and administrators. What are your views? Or would it be better to not add a separate function to get formset official data through URL?

I have committed the first change of adding a hook for custom formset parameters.
It is yet to be discussed that whether we shall add the hook to get formset initial values from the URL or not.

Please add docs and release notes.

@manav014 You had these in 4864f929a9302c722eab78e85d18b7471b1a489a for the original implementation you did, but they were removed not adapted to the changes. Please update for the new get_formset_params() hook and re-target for Django 4.0 in the release notes and .. versionadded:: annotations.
I think that the documentation for this hook should have a simple example of using this such as at the end of my https://github.com/django/django/pull/13722#discussion_r555603617 above showing formset_kwargs, but also mention that setting initial is possible.

It is yet to be discussed that whether we shall add the hook to get formset initial values from the URL or not.

IMO, we shouldn't do this. It's too complex and error-prone.

The consensus on the ticket and now here is that we shouldn't try to implement support for initial, or provide an example. It is enough to highlight in the documentation that this hook is the place to do it.
In light of this, please update the PR title to Fixed #26607 -- Added ModelAdmin.get_formset_params() hook.

Thank you @pope1ni @felixxm  for your reviews.
I have changed the title and I will add a commit with release notes soon.
I totally agree with the point that adding a hook for initial formsets parameters using URL would be complex. But it would be a good feature to implement. Shall I create a separate ticket for the same or a separate PR or is it fine to skip the same for now:)?

Shall I create a separate ticket for the same or a separate PR or is it fine to skip the same for now:)?

If you create a ticket, I will close it as "wontfix" with a recommendation to start a discussion on DevelopersMailingList where you'll reach a wider audience.

I have added the release notes.

@manav014 Thanks :+1: I pushed small edits and changed docs.

buildbot, test on selenium.

Thanks @manav014 for persisting with this. 🥇

3. Visiting http://localhost:8000/admin/polls/author/add/?name=author_name&price=120&book__1_name=book1name&book__1_price=122&book__2_name=book2name&book__2_price=123 will give the following results

For everyone who wants this behavior back can use
  def get_formset_kwargs(self, request, obj, inline, prefix):
        index = 0
        initial = []
        while True:
            entry = request.GET.getlist(f"{prefix}-{index}")
            if not entry:
                if index < inline.extra:
                    index += 1
                    initial.append(None)
                    continue
                break
            initial.append(dict(item.split('=') for item in entry))
            index += 1

        result = super().get_formset_kwargs(request, obj, inline, prefix)
        result["initial"] = initial
        return result

The general format is <related_name>-<index>=<key>=<value>


text:
Fixed #33517 -- Prevented second lookup from returning fractional seconds on PostgreSQL.

Not sure if the tests are written properly (the need for a new class and the usage of psycopg2.extras). But the test correctly detects the error before the fix.

@felixxm Done


text:
Fixed #35625 -- Fixed a crash when adding a field with db_default and check constraint.

Trac ticket number

ticket-35625
Branch description
This is the exact same issue as refs ticket-30408 but for creating a model with a constraint containing % escapes instead of column addition. All of these issues stem from a lack of SQL and parameters separation from the BaseConstraint DDL generating methods preventing them from being mixed with other parts of the schema alteration logic that do make use of parametrization on some backends (e.g. Postgres, MySQL for DEFAULT).
Prior to the addition of Field.db_default and GeneratedField in 5.0, parametrization of DDL was never exercised on model creation so this is effectively a bug with db_default as the GeneratedField case was addressed by ticket-35336.
Thanks @julienc91 for the report.

Thank you both!

authors: charettes sarahboyce


text:
Show table name psycopg2

Recently in a question in stackoverflow an user asked if would be possible if when an integrity error appear the table name of that exception could be show, so after looking for a while in DatabaseErrorWrapper.exit method I add to the exception the table name like this:
if exc_value.diag.table_name:
	argument, tb_name = exc_value.args + ("In the table '%s'" % exc_value.diag.table_name,)
	dj_exc_value = dj_exc_type(argument + tb_name)
else:
	dj_exc_value = dj_exc_type(*exc_value.args)

dj_exc_value = dj_exc_type(a) # Line 86 \django\db\utils.py
So my question, is this viable, could be implemented?

I am a second year Engineering student . I want to contribute in this Organization.Any help given from mentors will be very helpful to me.

I'm not sure if we would want to make a change here but the proposed patch doesn't seem to work as indicated by the test failures.

authors: metrafull2 timgraham yashraj-Dhanuka


text:
Loader's @loaded always compares by identity

Hey, this line here is problematic:
https://github.com/djezzzl/n1_loader/blob/7756cf8f9506eb6307a3788928119f55c2832921/lib/n1_loader/core/loader.rb#L111
Why isn't it configurable? :sweat_smile: What if I actually want it to compare normally? Here's the use case:

the loader receives an ActiveRecord::Relation as its elements,
then in the #perform it actually loads those records,
and then calls the #fulfill for each separate record,
and then when the different AR object (but same record)  is passed to the #for method - there's no such key :grimacing:

For now as a workaround I'm using the following hack:
def loaded
  super.tap { @loaded = {}.merge!(@loaded) if @loaded.compare_by_identity? }
end

Hi @FunkyloverOne,
This is configurable through cache_key  if I understood your problem correctly.
If this is what you expected, could you please help me to improve the documentation?

Hey @djezzzl, no my problem is different.
The cache_key is used to compare loaders between each other.
And the loaded - is a hash, where the keys are elements and the values are their loaded data.

Hi @FunkyloverOne,
Thank you for the issue, and I'm sorry it took me long to address it.
It was done here: https://github.com/djezzzl/n1_loader/pull/41.
And was released as 1.7.0.
Please check it out and let me know if it helps.
Thank you, and have a great day!

authors: FunkyloverOne djezzzl


text:
how to add image on post

please give me an example for adding image on post

Could you explain your problem more precisely?
If you want to add an image to your note or to the details of a todo list item, I'm sorry because this is currently not possible. This feature will be added within the next releases.

A post is written in Markdown, so you can add an image in Markdown style:
![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png "Logo Title Text 1")

Take a look at this cheatsheet
If you want to have more possibilities to customize the size and position of your image use HTML directly in your Markdown. Take a look at this tutorial

repo: djuelg/Shapez-Theme

license: mit


text:
Remove href. Use data-index-number attribute insteads.

In AngularJS app, if we click on a day, we will be redirect to another page. This merge request remove the href attribute, and replace it by data-index-number attribute.

Haven't tested it yet, but just from looking at the code, seems fine.
Thanks for the contribution

authors: dkLtd tienvx

repo: dkLtd/weekLine


text:
Baixar capítulos em paralelo

Fala mano! cara, fenomenal esse teu repo! curti deveras! seguinte, eu não manjo de ruby, mas acho que seria se baixassemos os capitulos em paralelo. seria muito mais rápido!

Cara, eu tentei fazer isso no incio. O problema é que dá muito trabalho
pra sincronizar tudo, fica mais fácil se tudo executar
em sequencia.
Também, pra baixar em paralelo é só abrir mais de um terminal.
Eu geralmente baixo três, quatro mangas
ao mesmo tempo, cada um em terminal diferente.

Cara, eu tentei fazer isso no incio. O problema é que dá muito trabalho
pra sincronizar tudo, fica mais fácil se tudo executar
em sequencia.
Também, pra baixar em paralelo é só abrir mais de um terminal.
Eu geralmente baixo três, quatro mangas
ao mesmo tempo, cada um em terminal diferente.

sincornizar em que sentido? em elixir seria bem simples fazer isso! daria pra criarmos uma lista de capitulos, iterar nela e começar um processo para cada uma, dai ele faria por baixo dos panos os downloads, cada processo um capitulo! vou ver de pegar pra fazer depois e mando aqui! achei real o repo irado cara. nunca tinha pensado em criar um scrapper pra isso! hahahaha

sincornizar em que sentido? em elixir seria bem simples fazer isso! daria pra criarmos uma lista de capitulos, iterar nela e começar um processo para cada uma, dai ele faria por baixo dos panos os downloads, cada processo um capitulo! vou ver de pegar pra fazer depois e mando aqui! achei real o repo irado cara. nunca tinha pensado em criar um scrapper pra isso! hahahaha

@dkeas comecei aqui -> https://github.com/yashin5/manga_ex

@dkeas está funcionando filé(ta na branch feat/download...) mas levei ip block do mangahost lol como tu fez pra não passar por isso?

man, até que eu ainda nao tive problema. eu baixei vagabond todinho, levou uns 5 minutos, foi ai que eu fui bloqueado! hahaha eu nao tive como testar com tantos! tem algum em especifico que tu acha bom testar? testei naruto, one piece, vagabond, hajime no ippo, uns aleatórios pequenos la... foi tudo certinho

sobre o vagabond: fazendo uma conta zoada rápida, da cerca de 6k de páginas no total (umas 18 por capitulo por mais de 300 capitulos...) entao mais de 6k de requests quase simultaneas do mesmo IP... talvez por isso tenha dado o problema! podemos fazer em batch, de 10 em 10 por exemplo, dai da um sleep de 1 minuto, depois mais 10... oque acha?

to com a ideia de implementar outros ports, pra fazer download de outros sites.. botar lá uns gringos tmb, e isso funcionar como uma lib, oq acha? ta afim de colar junto?

Ai man, "terminei" la
https://github.com/yashin5/manga_ex_cli

boa tarde, por favor peço que me perdoem por estar incomodando em pleno domingo porem eu estava com o seguinte problema e não sabia como resolver e já estava aqui na comunidade para pedir ajuda quando eu vi na postagem principal que senhor dkeas tinha estado online a menos de 1 hora desde a escrita desta mensagem, e sabendo que estava ativo resolvi atualizar aplicativo e deu certo e sendo assim ao invés de pedir ajuda gostaria de registar meus mais sinceros agradecimentos por nos ajudar e resolver nossos problemas.
E seguinte:
desde sexta feira eu estava tentando baixar mangas mas não estava conseguindo toda vez que eu ia pesquisar um titulo me aparecia uma mensagem de que não estava conectado a internet e também outra mensagem de que a conexão esta sendo encerrada e na mesma frase também algo relacionado a ssl bem sem saber o que era e achando que tinha sido bloqueado pela cloudflare por ter baixado muitos mangas na data anterior eu procurei alternativas porem ate achei uma de um outro aplicativo dessa mesma postagem porem não consegui usar, tentei usar vpn e também não deu certo, e por fim quando já estava desistindo, vim aqui para comentar e pedir ajuda a comunidade incluindo e claro criador de aplicativo, senhor dkeas, e passando pela aba de aplicativo eu vi que criador de aplicativo dmanga teria estado online a menos de uma hora desde eu comecei a digitar esta mensagem, sabendo assim que senhor dkeas esta ainda ativo a frente deste aplicativo, pensei na possibilidade de mesmo ter sido atualizado e seguindo essa ideia, fui ate prompt de comando e apliquei para atualizar e deu certo.
neste momento vibro de alegria e esta mensagem que era para der de pedido de ajuda, se tornou uma mensagem de agradecimento por terem consertado, realmente eu não tenho palavras para descrever o suficiente quanto eu estou feliz por poder mais uma vez poder baixar mangas para poder colecionar e ler.
Senhor dkeas e se mais alguma pessoa estiver envolvido neste projeto dmanga, agradeço imensamente por terem arrumado e colocado mais uma vez dmanga para funcionar de novo, muito obrigado mais uma vez e boa tarde

repo: dkeas/DManga


text:
Add KFinder by @robertwtucker

[x] Project URL:
[x] Update contents.json instead of README
[x] One project per pull request
[x] Screenshot included
[x] Avoid iOS or open-source in description as it is assumed
[x] Use this commit title format if applicable: Add app-name by @github-username
[x] Use approved format for your entry

Sorry the diff is too big so I am unable to approve
https://github.com/dkhamsing/open-source-ios-apps/pull/1696/files
Can you start over or leave a comment with the project you would like to add, thanks

authors: dkhamsing robertwtucker

repo: dkhamsing/open-source-ios-apps


text:
upgrade dependencies to fix build

apparently resolves conflict between libdparse 0.7.2-alpha.4 and ~>0.8

Let's check the html outcome before merging this.

I manually browsed the HTML and it doesn't seem to be broken. The changes between ddox 0.16.10 and 0.16.11 was just the libdparse upgrade anyhow: https://github.com/rejectedsoftware/ddox/compare/v0.16.10...master

authors: MartinNowak wilzbach


text:
Update to fontawesome 4.7.0 ?

Hi,
Is it possible to update this module to fontawesome 4.7.0 ? The used component http://mjolnic.com/fontawesome-iconpicker updated 3 days ago.
Fontawesome 4.7.0 has a lot new icons :)
Thanks in advance!

well, if I use the last commit (dev-master) instead of the tag v0.4 it seems that I have all the icons as well. So I close this issue :)


text:
Error when calling logError callback on error

This is a simple task to compile sass to css with sourcemaps:
gulp.task('sass', function () {
    gulp.src(['*.scss'])
        .pipe(sourcemaps.init())
        .pipe(sass().on('error', sass.logError))
        .pipe(sourcemaps.write('./'))
        .pipe(gulp.dest('dist'));
});

I'm getting this error if there is a syntax error on sass file:
/Users/lm/Sites/app/node_modules/gulp-sass/index.js:170
  this.emit('end');
       ^
TypeError: undefined is not a function
    at Function.logError (/Users/lm/Sites/app/node_modules/gulp-sass/index.js:170:8)
    at DestroyableTransform.<anonymous> (/Users/lm/Sites/app/gulpfile.js:109:16)
    at DestroyableTransform.emit (events.js:129:20)
    at onwriteError (/Users/lm/Sites/app/node_modules/gulp-sass/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:345:10)
    at onwrite (/Users/lm/Sites/app/node_modules/gulp-sass/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:363:5)
    at WritableState.onwrite (/Users/lm/Sites/app/node_modules/gulp-sass/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:123:5)
    at afterTransform (/Users/lm/Sites/app/node_modules/gulp-sass/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:84:5)
    at TransformState.afterTransform (/Users/lm/Sites/app/node_modules/gulp-sass/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:59:12)
    at errorM (/Users/lm/Sites/app/node_modules/gulp-sass/index.js:123:14)
    at Object.callback (/Users/lm/Sites/app/node_modules/gulp-sass/index.js:134:18)

Do you have a reproduction in a repo ?

I'm running into the same issue. While I'm able to work around that by using gulp-plumber I would prefer to do that without yet another plugin.
@xzyfer The basic issue is that gulp-sass doesn't work when used with watch and all the examples I can find seem to be outdated / don't work. If you are having trouble to reproduce this I'm happy to provide  an example but could you point me at some documentation / example that is supposed to be working?

@digital-wonderland a reproduction repository is probably the only way we'll be able to progress this issue. Most of our issues are cause by incorrect configuration or broken plugins in the pipeline which make them impossible for us to reproduce. Below are some examples of previous reproduction repositories.
https://github.com/doginthehat/gulp-sass-bug-test
https://github.com/doginthehat/gulp-sass-bug-test

I wanted to write a 'beep' to the console by creating my own error callback.  The trick is to manually bind the logError function:
.pipe(sass({...})
.on('error', function(err) {
  console.error('\x07'); // so it doesn't just fail (literally) silently!
  sass.logError.bind(this)(err);
}))

The syntax is a bit ridiculous, but it works!

@alalonde binding the logError worked for me!

Closing as stale. There appear to be work arounds.

authors: Keats alalonde digital-wonderland levani taivu xzyfer

repo: dlmanning/gulp-sass


text:
Feature/value archiving

Description
Added archiving of attributes to malcom state in redux. Also added plot view for selected widget types.
Testing instructions
Add a set up instructions describing how the reviewer should test the code

Review code
Check Travis build
Review changes to test coverage
npm start
navigate to localhost:3000/PANDA:INENC1/val
view plot of archived data
navigate to localhost:3000/PANDA:INENC1/a
view plot of archived bool data (shows as 0/1 instead of true/false)

Agile board tracking
connect to #263
closes #263

Codecov Report

Merging #281 into version1 will decrease coverage by 0.62%.
The diff coverage is 72.41%.

@@             Coverage Diff              @@
##           version1     #281      +/-   ##
============================================
- Coverage     91.26%   90.63%   -0.63%
============================================
  Files            68       69       +1
  Lines          2003     2050      +47
  Branches        317      326       +9
============================================
+ Hits           1828     1858      +30
- Misses          155      169      +14
- Partials         20       23       +3

Impacted Files
Coverage Δ

src/infoDetails/infoBuilders.js
81.03% <100%> (ø)
:arrow_up:

src/malcolm/reducer/malcolmReducer.js
87.21% <100%> (+0.49%)
:arrow_up:

...s/attributeSelector/attributeSelector.component.js
100% <100%> (ø)
:arrow_up:

src/malcolm/reducer/attribute.reducer.js
88.96% <100%> (+1.93%)
:arrow_up:

src/mainMalcolmView/middlePanel.container.js
84.84% <100%> (-1.82%)
:arrow_down:

src/attributePlot/attributePlot.container.js
11.11% <11.11%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e87f747...9a1cffa. Read the comment docs.

repo: dls-controls/malcolmjs


text:
Fix cases where floating point numbers are used as array indices.

Python (v3.6.9) fails to execute this code, with errors like the following:
examples$ python3 AFRL_demo.py
Traceback (most recent call last):
  File "AFRL_demo.py", line 27, in <module>
    [phs, platform] = phsRead.AFRL(directory, pol, start_az, n_az = 3)
  File "../ritsar/phsRead.py", line 76, in AFRL
    R_c = pos[npulses/2]
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

This fixes those errors for all of the examples.

I put the changes you listed that I didn't already have in my fork. Let me know if you see anything else, I've made quite a few changes in trying to get AFRL's Wide Angle SAR to work for me.


text:
Replace identiy/identity in code

Probably there are 2 mistakes in code and need replace  identiy to identity
as example here:
https://github.com/dmachard/go-dnscollector/blob/e503fc1d1ee84d45534de83309a4e142797a4bfd/dnsutils/message.go#L18

thank to report this issue.
fix in commit https://github.com/dmachard/go-dnscollector/commit/c7a130dd7cdba7ce609d15ded608e53f2cb301a8

new release v0.6.0 available

thank you, I will test it tomorrow

authors: KVInventoR dmachard

repo: dmachard/go-dnscollector


text:
created volumes not found on first run, using base_volume_name

Version Reports:
Distro  version of host:
debian
Terraform Version Report
Terraform v0.11.11

Provider and libvirt versions
git checkout

Description of Issue/Question
Setup
I try to archive an generation of the domains images and based on disks on the fly using
count.
Each setup might consist of several images which have different OS base images:

variable "client_systems" {
type = "list"
default = [
{ client1 = "stretch_image" },
{ client2 = "buster_image"  }
]
}

these are my images with their source:

variable "images" {
type = "list"
default = [
{ stretch_image = "http://terraform-image-host/stretch.img" },
{ buster_image  = "http://terraform-image-host/terraform/buster.img" }
]
}

base volumes are created like this:

resource "libvirt_volume" "os_base_volume" {
count    = "${length(var.images)}"
name     = "${element(keys(var.images[count.index]), 0)}"
source   = "${element(values(var.images[count.index]), 1)}"
}

and then the domain volumes shall be created by this:

resource "libvirt_volume" "client_volume" {
count    = "${length(var.client_systems)}"
name = "${var.user}-${element(keys(var.client_systems[count.index]), 0)}"
base_volume_pool = "default"
base_volume_name  = "${element(keys(var.images[count.index]), 0)}"
size           = "15000000000"
}

i dont know how to reference base_volume_id here in the right way, so i use base_volume_name,
assuming that the volumes have been created.
The first apply fails with the following error message:

Error: Error applying plan:
2 error(s) occurred:

libvirt_volume.client_volume[1]: 1 error(s) occurred:

libvirt_volume.client_volume.1: Can't retrieve volume buster_image: virError(Code=50, Domain=18, Message='Storage volume not found: no storage vol with matching name 'buster_image'')

libvirt_volume.client_volume[0]: 1 error(s) occurred:

libvirt_volume.client_volume.0: Can't retrieve volume stretch_image: virError(Code=50, Domain=18, Message='Storage volume not found: no storage vol with matching name 'stretch_image'')

If i however run terraform apply a second time, it works out nicely:

Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
libvirt_volume.client_volume[1]: Creating...
base_volume_name: "" => "buster_image"
base_volume_pool: "" => "default"
format:           "" => ""
name:             "" => "ma-client2"
pool:             "" => "default"
size:             "" => "15000000000"
libvirt_volume.client_volume[0]: Creating...
base_volume_name: "" => "stretch_image"
base_volume_pool: "" => "default"
format:           "" => ""
name:             "" => "ma-client1"
pool:             "" => "default"
size:             "" => "15000000000"
libvirt_volume.client_volume[0]: Creation complete after 0s (ID: /var/lib/libvirt/images/ma-client1)
libvirt_volume.client_volume[1]: Creation complete after 0s (ID: /var/lib/libvirt/images/ma-client2)

the complete plan looks like this initially:

libvirt_volume.client_volume[0]
id:
base_volume_name:           "stretch_image"
base_volume_pool:           "default"
format:
name:                       "FOOBAR-client1"
pool:                       "default"
size:                       "15000000000"

libvirt_volume.client_volume[1]
id:
base_volume_name:           "buster_image"
base_volume_pool:           "default"
format:
name:                       "FOOBAR-client2"
pool:                       "default"
size:                       "15000000000"

libvirt_volume.os_base_volume[0]
id:
format:
name:                       "stretch_image"
pool:                       "default"
size:
source:                     "http://imagehost/install/terraform/stretch.img"

libvirt_volume.os_base_volume[1]
id:
format:
name:                       "buster_image"
pool:                       "default"
size:
source:                     "http://imagehost/install/terraform/buster.img"

what am i missing here?
Thanks :)

nevermind, it seemed to create the client volumes before the os_base_volume, i used depends_on to work around this. Nothing module related here, can be closed :)

repo: dmacvicar/terraform-provider-libvirt


text:
Allow specifying a recording file via query parameter

Use cases:

I want to share a link of the recording, but have the original scene still be playable.
I want to quickly switch between recordings for testing purposes, without having to modify my code.

https://foo.bar/aframe.html?webvr-recording=recordings/baz.json
https://foo.bar/aframe.html?webvr-recording=recordings/qux.json

yep

https://github.com/dmarcos/aframe-motion-capture/pull/12

authors: dmarcos ngokevin

repo: dmarcos/aframe-motion-capture


text:
FTPPermError

I'm getting this error. How can i fix it?
Successfully generated site
Sending site over FTP (host: 72.29.66.216, port: 21, ftps: false)
Connected to server. Sending site
 -> about
 -> index.html
 -> assets
 -> main.css
 -> bitbucket-pipelines.yml
 -> docker-compose.yml
 -> Dockerfile
 -> feed.xml
 -> feed.xslt.xml
 -> index.html
 -> jekyll
 -> update
 -> 2016
 -> 10
 -> 22
 -> welcome-to-jekyll.html
 -> README.md
/Users/paulocesarpcfj/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/ftp.rb:342:in `getresp': 501 No file name (Net::FTPPermError)
	from /Users/paulocesarpcfj/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/ftp.rb:367:in `block in sendcmd'
	from /Users/paulocesarpcfj/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
	from /Users/paulocesarpcfj/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/ftp.rb:365:in `sendcmd'
	from /Users/paulocesarpcfj/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/ftp.rb:1002:in `delete'
	from /Users/paulocesarpcfj/.rvm/gems/ruby-2.3.0/gems/glynn-1.3.0/lib/glynn/ftp.rb:70:in `block in remove_files'
	from /Users/paulocesarpcfj/.rvm/gems/ruby-2.3.0/gems/glynn-1.3.0/lib/glynn/ftp.rb:69:in `each'
	from /Users/paulocesarpcfj/.rvm/gems/ruby-2.3.0/gems/glynn-1.3.0/lib/glynn/ftp.rb:69:in `remove_files'
	from /Users/paulocesarpcfj/.rvm/gems/ruby-2.3.0/gems/glynn-1.3.0/lib/glynn/ftp.rb:19:in `block in sync'
	from /Users/paulocesarpcfj/.rvm/gems/ruby-2.3.0/gems/glynn-1.3.0/lib/glynn/ftp.rb:29:in `block in connect'
	from /Users/paulocesarpcfj/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/ftp.rb:150:in `open'
	from /Users/paulocesarpcfj/.rvm/gems/ruby-2.3.0/gems/glynn-1.3.0/lib/glynn/ftp.rb:25:in `connect'
	from /Users/paulocesarpcfj/.rvm/gems/ruby-2.3.0/gems/glynn-1.3.0/lib/glynn/ftp.rb:17:in `sync'
	from /Users/paulocesarpcfj/.rvm/gems/ruby-2.3.0/gems/glynn-1.3.0/bin/glynn:80:in `<top (required)>'
	from /Users/paulocesarpcfj/.rvm/gems/ruby-2.3.0/bin/glynn:23:in `load'
	from /Users/paulocesarpcfj/.rvm/gems/ruby-2.3.0/bin/glynn:23:in `<main>'
	from /Users/paulocesarpcfj/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval'
	from /Users/paulocesarpcfj/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>'

Thanks.

Paulo,
Looks like you're facing an issue with the new feature of deleting files missing locally.
I just pushed a commit logging which file we're trying to delete before doing so: 71a7d62fc465feee705a8f5f2bf20202e1131335
Could you try using glynn from the github repository to get that log and paste it here?
Thanks

@dmathieu I traced what is happening here. NLST command from FTP protocol does not support recursive listing, as Dir.Glob function. I have 1:1 copy on the server and this is happening:
ftp.nlst("#{distant}/**/*") result:
["", "", "/blog/public/css:", "", ".", "..", "animate.min.css", "main.css", "responsive.gs.12col.css", "", "", "/blog/public/images:", "", ".", "..", "eagle.png", "favicon.ico", "flower.png", "logo.png", "", "", "/blog/public/js:", "", ".", "..", "jquery.fitvids.js"]

Dir.glob("#{local}/**/*") result:
["C:/Users/Kamil/_dev/blog/_site/404.html", "C:/Users/Kamil/_dev/blog/_site/ecto-strange-error.html", "C:/Users/Kamil/_dev/blog/_site/feed.xml", "C:/Users/Kamil/_dev/blog/_site/Gemfile", "C:/Users/Kamil/_dev/blog/_site/Gemfile.lock", "C:/Users/Kamil/_dev/blog/_site/hello-world.html", "C:/Users/Kamil/_dev/blog/_site/index.html", "C:/Users/Kamil/_dev/blog/_site/LICENSE.md", "C:/Users/Kamil/_dev/blog/_site/public", "C:/Users/Kamil/_dev/blog/_site/public/css", "C:/Users/Kamil/_dev/blog/_site/public/css/animate.min.css", "C:/Users/Kamil/_dev/blog/_site/public/css/main.css", "C:/Users/Kamil/_dev/blog/_site/public/css/responsive.gs.12col.css", "C:/Users/Kamil/_dev/blog/_site/public/images", "C:/Users/Kamil/_dev/blog/_site/public/images/eagle.png", "C:/Users/Kamil/_dev/blog/_site/public/images/favicon.ico", "C:/Users/Kamil/_dev/blog/_site/public/images/flower.png", "C:/Users/Kamil/_dev/blog/_site/public/images/logo.png", "C:/Users/Kamil/_dev/blog/_site/public/js", "C:/Users/Kamil/_dev/blog/_site/public/js/jquery.fitvids.js", "C:/Users/Kamil/_dev/blog/_site/README.md", "C:/Users/Kamil/_dev/blog/_site/serial-port-details-in-c-sharp.html", "C:/Users/Kamil/_dev/blog/_site/stm-hal-usb-library-hard-fault.html", "C:/Users/Kamil/_dev/blog/_site/stm32-unique-id.html"]

So diff (ftp.nlst("#{distant}/**/*") - Dir.glob("#{local}/**/*")) is:
["", "", "/blog/public/css:", "", ".", "..", "animate.min.css", "main.css", "responsive.gs.12col.css", "", "", "/blog/public/images:", "", ".", "..", "eagle.png", "favicon.ico", "flower.png", "logo.png", "", "", "/blog/public/js:", "", ".", "..", "jquery.fitvids.js"]

In order to this function work properly you must make some changes:

make recursive FTP listing functionality
filter list out of dots, empty entries, etc.
strip local and remote paths to relative matching part
after that you can make subtraction, and delete unnecessary elements

Also, I think that this missing file removal should be optional, to activate in the .yml file. I personally don't want to delete any data from my server without confirmation.
If you want some additional logs just let me know.

+1

All right, I've yanked the 1.3.0 version.
Any PR fixing this is more than welcome. I will not do it myself though, as I don't have any FTP server handy, and won't ever be able to verify this as working properly.

Also, I'm declaring bankruptcy on this repo. I haven't touched an FTP server in over 5 years, and there are much better ways of deploying static websites than with FTP today.
If anyone wants ownership of this repository, I will transfer it to whoever fixes this issue.

Then the error will still occurring or will have a rollback?
Thanks!

You must uninstall and reinstall the gem. The error will not occur anymore.
Files missing locally will not be deleted in your FTP server anymore either.

Thanks, it worked!

I'm leaving this issue open, as yanking a gem is not a long-term solution :)

@dmathieu you mention that there are better methods for deploying a static website than over FTP. What other 'recommended' methods are there?

GitHub Pages; Heroku static; Amazon S3 are the ones that come out of my mind.

@dmathieu I get some ridiculously cheap hosting from DirectNic (with excellent uptime and support), but without any command-line access. I guess for me, FTP is still the way to go then

Feel free to fix this issue and I'll gladly transfer this repository to you :)
Note: GitHub Pages is free too.

@dmathieu , i don't have much experience with github pages and these others mentioned. How about the domain ? For example, i want www.somesite.com, with the github page i can use this ? Or I need let the domain be www.somesite.github.com ?
But thanks for the information, i'm studying the possibilities of migrations.

@dmathieu I'd love to, but I don't understand Ruby that well. Thanks anyway!
I'll look at GitHub pages, but the last time I checked, I couldn't get it working and for image hosting, it was terrible. On top of that, the documentation wasn't straightforward/helpful/clear

@paulocesarpcfj https://help.github.com/articles/using-a-custom-domain-with-github-pages/

authors: 128keaton dmathieu freakone paulocesarpcfj

repo: dmathieu/glynn


text:
Subtask reorder should allow uninterrupted scroll

With a large-ish number of subtasks, if you want to reorder a subtask off-screen, you're forced to drop the subtask when reach the screen border, scroll up, then grab the subtask to keep reordering until the next screen boundary.
The screen should scroll automatically when you reach the end of screen rather than forcing intermittent drops & pickups.
OpenTasks 1.1.8.2
CyanogenMod 13.0

Please add this feature, it would be a huge usability improvement

authors: mach-o xoxys

repo: dmfs/opentasks


text:
Update notification on device boot

In order to respect task the started or were due while the device was shut down, the task app needs to update notification on boot.
In this process, the task app needs to persist a "last_updated" timestamp for due and start notifications.

This is duplicated by #131

fixed in 1.1.7

authors: TobiasRe dmfs

repo: dmfs/tasks


text:
Added New Instagram Login Button

I've added a new Instagram Login button in order to expand the posibilities of this plugin!
Let me know if there's some error or something wrong.

#15

Thanks for your pull request. I'm afraid I'm stopping work on this project as I no longer have time to maintain it.

authors: dmjones ginuxone