xmpp connection fails for server with hostname only in /etc/hosts

In case the xmpp server hostname is only in /etc/hosts, finding the srv record with dns.srv previously returned [] but since 6adb9fa73a266cf5fdd685badfb0fa7de7137402 it now throws idiokit.dns._dns.NoData
Example (jid changed):
2016-04-01 19:24:28Z test.bridge[27504] INFO Connecting to XMPP dst server with JID 'user@host'
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL Traceback (most recent call last):
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/abusehelper/core/bot.py", line 308, in execute
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     return self.run()
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/abusehelper/bots/bridgebot/bridgebot.py", line 111, in run
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     return idiokit.main_loop(self.main())
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/idiokit/idiokit.py", line 296, in _next
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     next = require_stream(self._gen.throw(*args))
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/abusehelper/bots/bridgebot/bridgebot.py", line 96, in main
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     self.xmpp_dst_room)
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/idiokit/idiokit.py", line 296, in _next
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     next = require_stream(self._gen.throw(*args))
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/abusehelper/bots/bridgebot/bridgebot.py", line 75, in _join
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     ssl_ca_certs=ca_certs)
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/idiokit/idiokit.py", line 296, in _next
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     next = require_stream(self._gen.throw(*args))
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/idiokit/xmpp/__init__.py", line 113, in connect
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     sock = yield _get_socket(jid.domain, host, port, timeout)
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/idiokit/idiokit.py", line 296, in _next
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     next = require_stream(self._gen.throw(*args))
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/idiokit/xmpp/__init__.py", line 63, in _get_socket
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     results = yield _resolve.resolve(domain, host, port)
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/idiokit/idiokit.py", line 296, in _next
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     next = require_stream(self._gen.throw(*args))
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/idiokit/xmpp/_resolve.py", line 22, in resolve
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     srv_records = yield dns.srv("_xmpp-client._tcp." + domain)
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/idiokit/idiokit.py", line 296, in _next
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     next = require_stream(self._gen.throw(*args))
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/idiokit/dns/_dns.py", line 944, in srv
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     _, answers, _ = yield resolver.query(name, SRV.code)
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/idiokit/idiokit.py", line 298, in _next
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     next = require_stream(self._gen.send(peel_args(args)))
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL   File "/usr/lib/python2.6/site-packages/idiokit/dns/_dns.py", line 833, in query
2016-04-01 19:24:28Z test.bridge[27504] CRITICAL     raise NoData("no data")

This causes idiokit.xmpp._resolve.resolve() to throw the exception. It should apparently be catched in idiokit.xmpp._resolve.resolve() in the same way as the other dns errors.
    try:
        srv_records = yield dns.srv("_xmpp-client._tcp." + domain)
    except (dns.ResponseError, dns.DNSTimeout):
        srv_records = []

A note: bots also have a parameter to define the xmpp-server IP.


Extra Action Button resets after reload

Hi, thank you for making this gerat addon. 👍
The Extra Action Button is moveable but it resets position after UI reload. I test with Garrison Ability Button.
I notice that MoveAnything changes the frame name to ExtraAbilityContainer and removes ZoneAbilityFrame as well in new release. Don't know if it helps.

Hi, Alex. Thanks for letting me know! The information about MoveAnything is very helpful. I'm working on a fix!

Hi again, Alex. This bug should be fixed in the latest version of Drift (1.0.6) that can be downloaded here https://www.curseforge.com/wow/addons/drift. Could you download this new release and confirm the bug is no longer present?
Thanks!

Yes, I just confirmed that this issue has been fixed. Thank you!


include trigger span in text,  add a cross sentence test

Thanks so much for the test case.  If the trigger is not in the first sentence or last sentence, and it can't be in both, then its interval is being compared against intervals from other sentences.  I think that intervals are counted per sentence.  If an argument from sentence 0 starts at 10 and the trigger interval starts in sentence 1 at 5, then start will end up sentence 0 at 5 even though that doesn't seem right.  If the trigger is in sentence 3 starting at 20 and the last argument is in sentence 4 that is only 10 words long, the program will probably crash.  Does the trigger need to be combined with all the arguments in sentenceAndMentionsSeq instead?

I'm also concerned about the tokenInterval coming in.  The constructor is only ever called from MigrationUtils.copyWithNewArgs with the new token interval calculated from
    def getNewTokenInterval(intervals: Iterable[Interval]): Interval = Interval(intervals.minBy(_.start).start, intervals.maxBy(_.end).end)

which doesn't take the trigger into account while I see elsewhere like in org.clulab.package.odin the trigger interval being taken into account.
  // token interval that contains trigger and all matched arguments
  def mkTokenInterval(trigger: TextBoundMention, arguments: Map[String, Seq[Mention]]): Interval = {
    val allStarts = trigger.start +: arguments.values.flatMap(_.map(_.start)).toSeq
    val allEnds = trigger.end +: arguments.values.flatMap(_.map(_.end)).toSeq
    Interval(allStarts.min, allEnds.max)
  }

These things seem quite complicated and I hope that we can eventually simplify them.

Does the trigger need to be combined with all the arguments in sentenceAndMentionsSeq instead?

You are right. Thank you. I missed that.

the trigger interval being taken into account.

That makes sense. Didn't know.
I'll try to adjust the code and push again.

That looks good.  How certain are we that
      odin.mkTokenInterval(mention.asInstanceOf[EventMention].trigger, newArgs)

is valid?  We have lots of unchecked assumptions and maybe it's a good one.  (I don't know.)  There is also some code for
  def mkTokenInterval(arguments: Map[String, Seq[Mention]]): Interval = {

I wonder if there needs to be something to handle either case, perhaps a match.

I wonder if there needs to be something to handle either case, perhaps a match.

Not sure I understood this part. A match between what and what?
Also, with either the odin token interval method or the token interval method I had before, the token interval in a crossSenteneceEventMention is still not great since the token int's are per sentence. Is there a way/does it make sense to not have token interval at all? That's sort of what this todo was about:
https://github.com/clulab/eidos/blob/b87a0697e33ac9b4f272c51d60be60da689fa927/src/main/scala/org/clulab/wm/eidos/mentions/CrossSentenceEventMention.scala#L9

Thanks!  I think you're right about the tokenInterval.  Now I recall the CrossSentenceMention that doesn't have one and besides that I was just pointing out how the trigger comparison would be a problem across sentences.  What to do?  For a standard Mention, perhaps it should just max out the token interval for the sentence it is in, i.e., use only the args and trigger that are in the same sentence.  Becky probably knows better.
Not that it matters much then, but something like this might work for the match:
      mention match {
        case mention: EventMention => odin.mkTokenInterval(mention.trigger, newArgs)
        case _: Mention => odin.mkTokenInterval(newArgs)
      }

I'll go ahead and merge it so that I have your changes.


Dependency source choices

During the setup users are greeted with the following option:
Select dependency_source:
1 - conda-forge
2 - conda
3 - pip
Choose from 1, 2, 3 [1]:

Users may become slightly confused if they need to pull from both conda and pip for example (or if they dont know where they need to pull from). Can this either be reworded or become a multiple choice selection?

This is not the best option, I agree. Right now this only configures the CI choices as to where to prefer packages from. One problem is codecov on only on pip and conda-forge, but not on Anaconda default channel, so if the conda option is chosen, it uses conda then pip
One of the limitations of the cookiecutter.json file is that option is limited to just "dependency_source": ["conda-forge", "conda", "pip"] and its filled in from there.

conda means just the default anaconda channel, right? If so, maybe anaconda would be a bit clearer?


Allow graceful interruption of worker sleep

When daemonized through Delayed::Command Delayed::Worker will ignore signals every time it sleeps after detecting an empty queue. That's specially problematic when using a long sleep_delay (30+ seconds) with a predominantly idle queue, because the Daemons gem will forcefully kill the process if it's not responsive.
Another way the issue manifests is when executing something like the following:
Delayed::Worker.sleep_delay = 30.seconds
Delayed::Command.new(['run']).daemonize

Trying to stop the command with Ctrl-C outputs a message Exiting..., but nothing else happens, apparently. The command does stop, however, after the full sleep_delay interval elapses.
The root cause is a sleep call in Delayed::Worker, which cannot be interrupted unless a signal is raised. Since raising signals is often undesirable because it might also interrupt unfinished jobs we need to address only the case when Delayed::Worker is sleeping.
This patch offers a solution, which consists in substituting the sleep call with a wait on an event. Setting the event from the trap enables the worker to exit immediately. Otherwise, if the timeout given to the wait call elapses, everything behaves as if sleep was called.
This resolves the issue #593 and may also be related to #459 and #916.

Coverage decreased (-0.2%) to 90.909% when pulling a63f213bb0de228e03b77760ebb35ef430a87ff1 on romuloceccon:graceful_sleep_interruption into e3772d4f0c8470d0fcba00c86ca3bc4f5e876830 on collectiveidea:master.


Add Invitation modal

Summary
Add th enew Invitation modal, allowing in one single modal to invite regular users and guests.
Ticket Link
MM-14769

Overall looks good. I made a few suggestions and have some questions. I'm unclear about the decisions between using React.Component vs React.PureComponent though. Could you clarify please?

@mkraft PTAL


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-k8s-28-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4012

Questions ?
Please refer to the Backport tool documentation


Default allowedMethods to "*"

Currently, if you provide a list of allowed methods, all of those methods are always returned as allowed in response to the preflight request.
This means that if you had a DELETE route and POST route with the same endpoint, but you only wanted the POST route to support CORS, the preflight request would come back and say that DELETE was supported as well, even though it is not.
* on the other hand only includes the requested method in the response, as you can see here:
https://github.com/asm89/stack-cors/blob/master/src/Asm89/Stack/CorsService.php#L114-L117
This in combination with #92 means if you had a setup like this:
Route::delete('my-route', 'Controller@action');

Route::group(['middleware' => ['cors']], function () {
    Route::post('my-route', 'Controller@action');
});

...a preflight request for the DELETE endpoint would disallow CORS entirely, and a preflight request for the POST endpoint would set the Access-Control-Allow-Methods header to just POST, rather than GET, POST, PUT, DELETE like the current default would.
Overall using "*" as the default setting actually tightens up the CORS restrictions and allows things to behave in a more automatic way, so you don't even have to worry about configuring which methods are allowed and in conjuction with #92, it will all be done automatically based on the routes you've added the cors middleware to.

Thanks!


Update build.sbt

Fixes the Unresolved dependency path issue received when trying to resolve the play-json dependency.

Hi @thingseye,
Thank you for your contribution! We really value the time you've taken to put this together.
Before we proceed with reviewing this pull request, please sign the Lightbend Contributors License Agreement:
http://www.lightbend.com/contribute/cla


Syncing for offline use not working

Expected behavior:
When a user is online records should be synced to the user's browser for offline use.
Actual behavior:
Records are not synced for offline use.
Steps to reproduce:

Make sure you don't have offline records already synced.  Make sure the app isn't running in any tabs and then you can clear out any offline data stored by going to chrome://settings/cookies in a Chrome tab.  You should see a screen like this:

Type in localhost (or whatever host your app is running on) and you should see an entry like the one in the screenshot.  Click on the entry and then click on the X on the right hand side of the screen.
Make sure the app is running via ember serve or via hospitalrun-server.
Navigate to the application and verify that records are available.  For testing simplicity I would use the sample-data set here:
https://github.com/HospitalRun/hospitalrun-frontend/blob/master/sample-data.txt
Leave the app up for 5 minutes to make sure syncing has time to complete.
Turn off the server and then check in the app if the records you saw while the server was running are still there.
Screenshots (if applicable):
N/A
OS and Browser:
Chrome 53.0.2785.143 (64-bit)

Just a couple notes about this issue:

Syncing/offline use is limited to browsers that support serviceworker and Chrome is the preferred browser to use for offline use.
The synchronization code is all encapsulated here:
https://github.com/HospitalRun/hospitalrun-frontend/blob/master/app/serviceworkers/pouchdb-sync.js

Solving this issue requires knowledge of PouchDB and serviceworkers.  If you have a question on the current code and/or those technologies, please feel free to ping me (@jkleinsc)

I'd like to try fixing this if no one else does. Not sure how long it'll take since I'm new to both PouchDB and Service Workers.

@tangollama I'd like to pick this one up

@jkleinsc I closed all the tabs while server was running, then cleared all the localhost cookies. I already had some entries so I didn't use the test data. Left the app running for 5 mins. Turned off the server and the records are still showing.

@mdarmani Perhaps you could also check this discussion out. I can confirm the problem mentioned.

@mdarmani since @gnowoel asked first, I'd like to give @gnowoel this issue  @gnowoel it is yours unless for some reason you have changed your mind about it.
A couple of notes:

Serviceworkers do not run on a hard refresh (eg cmd+shift+r/ctrl+shift+r)

I suspect the issue may be tied to an upgrade to a newer version of PouchDB.  We recently upgraded from 5.3.2 to 5.4.5

Part of the issue may have to do with the fact that the sync process between pouch (local offline in browser store) and couch (server side db store) runs through the service worker proxies so I think it is possible if the network request fails on a sync we could end up in a situation where the service worker code falls back to the local pouchdb and ends up syncing the pouchdb to itself instead of to the server side couchdb.  I'll explain a little bit more below how the service worker code is designed:

If you look at the top of the service worker code you'll see code like this:

toolbox.router.get('/db/main/_all_docs', function(request, values, options) {

This code is using https://github.com/GoogleChrome/sw-toolbox to add network proxies for calls to couchdb.  These calls try to get the data from the network, but if that fails they grab the data from the local pouchdb
2) The setupRemoteSync function sets up the syncing between pouchdb and couchdb.  The one thing we should do is set a header in the pouchOptions.ajax.headers that notes that the request originated from the local pouchdb, eg something like:
pouchOptions.ajax.headers['x-local-pouch-request'] = true;

and then in the couchDBResponse function we can check to see if that header is set and if it is and the network request fails, that failure should be returned instead of calling runPouchFn
This would make sure that we aren't running into the issue where a failed server side sync is causing local pouch to sync with itself.  There may be other issues, but this is at least one thing that needs improvement/fixing.

@jkleinsc Thanks for your guidance! Will check it out.

@jkleinsc No fix yet. Just some random findings :)
In my experiments, I tried to directly wire the local Pouch to the remote Couch, but the problem still persists. Considering the requests triggered within a service worker will not go through the proxy routes, I guess the reason should not be self-syncing.
From what I saw, the initial replication always worked, but it then just paused indefinitely. I tried many ways to rule out the unrelated facts, like writing a service worker by hand, upgrading PouchDB, and even disabling Ad blocker. But no matter what, the syncing still doesn’t work.
Then I moved the syncing part to the web page (outside of the service worker), and suddenly everything just went fine.
So I suspect it has to do with how we use PouchDB. We currently create the PouchDB database in two places, one in the web page for querying database, and the other in the service worker for syncing (and falling back, but never used I believe). Although we use the same name when creating and they are actually the same instance in the IndexdDB, but this arrangement might break syncing somehow. Not sure why though, because it should be legal to use one database in multiple tabs. Is it missing change events? Did it work before?
If this is what happened, I think we have at least two choices:

Use a proxy library (a fake PouchDB) for querying database, and the requests would be delegated to the real PouchDB in the service worker, which syncs with the remote CouchDB;
Use remote CouchDB for querying database exclusively, and intercept requests in the service worker for offline usage, which is when PouchDB comes into play.

I learned the first approach from worker-pouch, and the second one seems to be what are currently using. No idea which is better. But I think we need to remove the PouchDB from the web page either way.
But is it really the root of the problem? What's your thoughts on this?

@gnowoel thanks for the research.  The local db created in the web page https://github.com/HospitalRun/hospitalrun-frontend/blob/5b1b9288006a17e4bda2ed8b63bbeb21459c07a6/app/services/database.js#L52 is only a fallback for non service worker browsers and should never fire if seviceworkers are working.  I guess we could verify whether or not this is happening or not via console.log or debug.
The code in the service worker basically does the same thing as worker-pouch except it doesn't do any of the work in the web page thread.

@gnowoel I just retested this and everything worked correctly for me offline.  Can you retest and see if it works for you with the latest?

@jkleinsc In my case, the initial syncing always work, but the subsequent changes from either end won't be populated to the other one. I'm experimenting with a minimal setup (only index.html and sw.js) with various combinations, but I haven't got an answer for now.

@jkleinsc I still see the same problem in my mini setup. It's works for the initial replication, but nothing happens on data change afterwards.
Before testing, I first clear the data and unregister any existing Service Worker. Then I do a hard reload (Shift-Command-R) followed by a normal reload (Command-R). When the Service Worker is running, I manage the local PouchDB through the exposed localMainDB variable in Chrome's Developer Tools, like:
localMainDB.info().then(function(info) {
  console.log(info);
});

This way, I can change a record and see if it's populated to the remote CouchDB.
I can also do it in the other way around, by manually updating a record in CouchDB with Futon/Fauxton, and checking if it has been pushed back to the local PouchDB in the Service Worker's console window.
I check the status of the Service Works in this page: chrome://serviceworker-internals/, and open a console window from here: chrome://inspect/#service-workers.
No idea about why syncing doesn't work in my testing. Does it have to do with the fact that a Service Worker is stoppable? It would be nice if you could take a look at the sw.js file in my mini setup, because I believe the root of the problem is hiding somewhere there.

@gnowoel as far as I can tell sw.js looks ok.
I asked on the PouchDB slack about this issue and here is what Nolan Lawson (one of the PouchDB maintainers) had to say:
From https://pouchdb.slack.com/archives/general/p1477069584001156
nolanlawson [1:06 PM]
jkleinsc I've never heard of that before, but in principle SWs can be terminated at any time by the browser so you have to prepare for that situation. the browser can shut it down for performance reasons; it's not guaranteed to be constantly running
if you need it to be constantly running then the best bet is Background Sync, which is a bit of a misnomer but basically just means "wake PouchDB up when the server says there's a change"
jkleinsc [1:40 PM]
nolanlawson are you talking about serviceworker background sync (eg https://developers.google.com/web/updates/2015/12/background-sync) or is there some convention in pouchdb for background sync?
nolanlawson [1:43 PM]
I was talking about this, yeah ^
[1:44]
I would have written a library for PouchDB, but I think honestly the best bet is 1) server pokes the browser 2) pouchdb does a single-shot replication 3) pouchdb waits for server to poke it again
which doesn't need a library

Not sure about this but perhaps check if the ember-pouch unloadedDocumentChanged is fired when records should sync?

Nolan Lawson's suggestion is truly inspiring. Will see what I can do with the one-shot approach.

@jkleinsc I managed to make the Background Sync approach basically work and here's how.
In the web page:

Create local and remote databases
Sync databases for the first time
Watch for changes and trigger sync events
Register a service worker

And in the service worker:

Create local and remote databases
Capture the sync event and sync databases

This arrangement however has some known problems:

We have PouchDB instances in both the web page and the service worker, but the sync event will only be triggered when changes of data happen in the web page (i.e. changes from within the service worker will be ignored).
I tried to do the initial sync in the service worker, but failed with a 500 error (due to some _local records missing if we use db.repliate(), or empty response if we use db.sync()).

A sample app can be found here.
This is just for your consideration and I have no idea if it's applicable to HospitalRun. I think I need your guidance on what to do next.

@gnowoel thanks for your work on this.  I have a couple comments:

Ideally the local pouchdb should only be in the SW.  I'd like to see some more details about the sync failing in the SW.
I think the solution for this problem will probably require a multi faceted approach using background sync as well as possibly using the push API (eg https://serviceworke.rs/push-simple.html)
I think instead of using one time sync events, periodic sync may be the better solution because we could trigger synchronization on a regular basis.  More details on period sync are available here: https://github.com/WICG/BackgroundSync/blob/master/explainer.md#periodic-synchronization-in-design
I think I need to spend some more time thinking about how we solve this problem.  I'm attending Offline Camp this weekend and I'm hoping to have some time then to think and talk about this problem with others.

@gnowoel I have been meaning to get back to you on this but I have been pretty buried lately.  Here's an update based on learnings from Offline Camp.

It turns out that periodic sync is not supported by any browsers at the current time, so it is not an option for a solution.

One of the reasons that my original solution was not working is because global scope in a serviceworker is unreliable at best:
https://github.com/pouchdb/pouchdb/issues/5851#issuecomment-258822778.  I think this also explains why you couldn't do the initial sync within a serviceworker.  Also, that initial sync should be done on the SW install event, eg:
javascript
this.addEventListener('install', function(event) {
let localMainDB = new PouchDB('localMainDB');
let remoteDB = new PouchDB('http://couchadmin:test@localhost:5984/main');
localDB.sync(remoteDB);
});

3. We can use background sync(https://wicg.github.io/BackgroundSync) and the Push API (https://w3c.github.io/push-api/) to managing syncing within a SW.  Background sync can be initiated from either the UI thread or the SW thread.  Firing a background sync event from the SW is accomplished via the following:
```javascript
self.registration.sync.register('sync');

@jkleinsc Thanks for the update and sorry for my late. I haven't got a chance to look into this issue until today.
The Background Sync approach used to work in my test app, but somehow the sync events are never triggered in today's experiments. So, before I can figure out how to integrate Push API and other ideas you mentioned above, I'd like to try making Background Sync work first.
No idea what happened. But will report back to you as soon as I've made any progress.

@jkleinsc I couldn't get Background Sync working again. So I downloaded the official Background Sync demo and hoped to find out where I did wrong. But to my surprise, the app failed on all Chrome, Opera and Firefox on my localhost. And when it failed, Chrome didn't output any error message.
However, the online version works fine for Chrome.
My OS and browsers are up-to-date:

macOS Sierra 10.12.1
Google Chrome 54.0.2840.98 64-bit
Opera 41.0.2353.56
Firefox 50.0

@gnowoel one thing I forgot to mention is that Background Sync is only currently supported in Chrome, so until other browsers implement it, it won't work there.
As far as the demo not working, that is strange.  Maybe it had to do with running on localhost?  The one thing I observed was that I needed to toggle my internet connection in order to test the background sync vs just turning off the web server.  The spec seems to indicate that it is tied to network connection, not server reachability:

The user agent is considered to be online if the user agent has established a network connection. A user agent MAY use a stricter definition of being online. Such a stricter definition MAY take into account the particular service worker or origin a sync registration is associated with.
From: https://wicg.github.io/BackgroundSync/spec/#concepts

In theory you could polyfill background sync in other browsers by listening for the online event (see https://developer.mozilla.org/en-US/docs/Online_and_offline_events) and then sending a message to the service worker to fire the sync event.

@jkleinsc Toggling network connection did the trick (Guess it's becuase of my VPN or something). Now the sync events get fired normally. Thanks!
(To run the Background Sync demo app locally, I also need to adjust the scope when registering the service worker.)

Push API
As far as I know, Push API would basically do the same thing as db.changes(). Considering Push API needs server-side cooperation, wouldn't it be simpler to just use db.changes() in the main thread, at least as the first step?
Primary database
It looks like we’re using remote CouchDB as the primary database. Is there any specific reason that we can't use local PouchDB directly and let it worry about how to sync behind the scene? That way, we don't have to deal with database switching and the timing gap caused by it. (Say we add a record online, and go offline immediately. The newly added record would disappear because it has not been synced back to the local database yet.)
Thoughts
I'm thinking if we could do the following?

Using PouchDB as the only database in the main thread
Watching data changes from both databases with db.changes() and firing sync events from the main thread
Listening on sync events and sync databases in the Service Worker

Since we don't connect to the remote CouchDB directly, there's no need to intercept the query requests in the Service Worker. Now the responsibility of the Service Worker would be:

Caching static assets
Syncing databases

@gnowoel I think maybe a little background might help explain things further.
When I first started working on HospitalRun, I started off with the local database being the primary database that would then sync changes to the remote CouchDB.
What I found out was that when the dataset started to get large, clients were having trouble syncing, so I ran into issues where users had changes locally that were not getting syncing to the remote CouchDB database and browsers were "freezing" during sync.  In a one user system this would be ok, but since HospitalRun is multi-user it meant that other users were not seeing patients entered by other users.
As I investigated this problem further, I found out that IndexedDB (which PouchDB uses behind the scenes) blocks the DOM: https://nolanlawson.com/2015/09/29/indexeddb-websql-localstorage-what-blocks-the-dom/
Given this, I decided two things:

To fix an immediate problem in a hospital, the primary database would be the remote CouchDB database.  This meant not as good offline support but in a networked hospital environment everyone would be able to have access to the "latest" records.
In order to bolster offline support dropped/impacted by moving the primary db to the remote CouchDB, I added service worker code to handle offline.  Doing sync in the service worker means that any IndexedDB work gets done in a separate thread, which means there isn't extra load on the UI (DOM manipulating/main) thread.

Long term what I would like to see is a way of users selecting what mode they want to run in.  For example:

Offline first - make local pouchdb primary database.
Network first - make remote couchdb primary database.
Other - maybe strategy like "fastest" response between network and offline

Does that make sense?
As far as the PUSH API is concerned, the difference is who is listening to the changes feed and which db is the "primary database".  You could in the browser listen for changes on the remote DB, but that would require a constant polling to pull in changes vs the server initiating a push when a change actually happens.

@jkleinsc Yes, it makes sense. Thanks for the detailed explanation! Will see what I can do...

@jkleinsc I updated the code with PR #820. It's by no means a complete solution, but I was thinking if we could:

fix the upfront bug first, and
make as few changes as possible.

What I did is just making Background Sync work, and in my simple tests, the problem seems to be fixed.
My implementation looks somewhat naive, because I use global variables for sharing database instances. There must be a better way, but I just don't know.
The initial sync happens in the main thread, because I can't do it in the service worker. Tried to put the code in different places, inside or outside of a function, in the install or activate handler, but nothing worked.
To check it out, perhaps you could add or change some records offline, and then go online and refresh the page. After a while, the databases should be synced.
Hope this is good enough at least for now.


Unable to build the image

The very first line:
FROM mcr.microsoft.com/windows/servercore:ltsc2019
is failing with 'no matching manifest for unknown in the manifest list entries'.
Please provide an alternative solution

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b31d4f6c-d16d-2ba1-1294-6aa94e328046
Version Independent ID: 88aec599-4410-697d-1002-1c41b1c17bb6
Content: Running a self-hosted agent in Docker - Azure Pipelines
Content Source: docs/pipelines/agents/docker.md
Product: devops
Technology: devops-cicd
GitHub Login: @juliobbv
Microsoft Alias: juliobv

Any comments/fixes for this?

Having the same issue.

I needed to run all windows updates to get this working. Once I was on the proper version of windows, it built fine.

The very first line:
FROM mcr.microsoft.com/windows/servercore:ltsc2019
is failing with 'no matching manifest for unknown in the manifest list entries'.
Please provide an alternative solution
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b31d4f6c-d16d-2ba1-1294-6aa94e328046
Version Independent ID: 88aec599-4410-697d-1002-1c41b1c17bb6
Content: Running a self-hosted agent in Docker - Azure Pipelines
Content Source: docs/pipelines/agents/docker.md
Product: devops
Technology: devops-cicd
GitHub Login: @juliobbv
Microsoft Alias: juliobv

--
Your host OS version should correspond with the one inside the image. You can check your host version with the command winver and then find an appropriate image here (or update your OS)

Thank you so much for pointing this out @nikitamakarovbl! :)
Unfortunately it took me 4 hours to get here and find this lovely piece of information.
I have a few points to make:

This means when I want to run build agents with "Windows Server" (SAC), my Docker host system also needs to be "Windows Server" (SAC), same goes for LTSC, right?
Why is this even a thing? Is suppose this is a limitation of Docker for Windows?
As this information is so crucial, could this information please be added somehow to the docs to save other peoples time?

Also I'm not even sure why they're recommending doing this in a windows server container as well, it's so huge compared to an equivalent linux-based agent.


release: v1.0.0a8

Signed-off-by: Lars Holm Nielsen<EMAIL_ADDRESS>

Coverage remained the same at 100.0% when pulling<PHONE_NUMBER>0b910e01171124dde3318f1005bbd1 on lnielsen:rel-v1.0.0a8 into<PHONE_NUMBER>dd103b4e869efef8fa800e5c887881 on inveniosoftware:master.


Removed constraint on namespace when obtaining available Jaeger instances

Fixes #60 by removing the namespace constraint when querying for available Jaegers, as Kubernetes will do the right thing and deliver only the ones that the Operator's account can see.
@gregoryfranklin: do you think you'd be able to try this one out?
Signed-off-by: Juraci Paixão Kröhling<EMAIL_ADDRESS>

This change is

@pavolloffay could you please review this one?

Done, thanks!


Prefer to use malloc to override malloc

This is recommended here: https://github.com/bazelbuild/bazel/issues/818#issuecomment-180362316
But more importantly, this fixes issues when trying to include eventuals
in targets that are built as shared libraries.
Fixes https://github.com/3rdparty/eventuals/issues/470.

Let's add the following code to our targets in test/grpc/, so that Bazel will not try to compile jemalloc while building ... target:
target_compatible_with = select({
        "@platforms//os:linux": [],
        "@platforms//os:macos": [],
        "//conditions:default": ["@platforms//:incompatible"],
    }),


Upgrade react-intl to a version that uses the new Context API, then to the latest.

OK, just pushed some changes, ready for another review!

(Just fixed a conflict.)

 Also posted a few notes on CZO here.

Marking as blocked by #3547; see discussion.

And #3547 has been resolved, so I'm unblocking this. 🙂

Bumping the priority of this—see https://github.com/zulip/zulip-mobile/pull/4274#issuecomment-714203606.

Thanks for the review! Just pushed a new revision.

Merged! Thanks again.


Fix app-header z-index

Fixed menu z-index.
Attaching screenshot how it looks for me on Chrome v49.0.2623.87 m (64-bit)

In the fix I gave .app-header z-index of 10, but maybe a lower z-index should be also set on .app-main and .app-footer

Fixed in a7eb6187a13d1b1810340deff8b18963f71fe808


Incorrect control-A and control-E behavior with soft_wrap

Check for existing issues

[X] Completed

Describe the bug / provide steps to reproduce it
When editing a file that with soft wrapping:

control-e goes to the end of the soft-wrap line
control-a goes to the beginning of the soft-wrap line

These should go to the beginning and end of the line, not the soft wrapped character limit.
control-k behaves correctly, and deletes to the end of the line, rather than the soft-wrap line.
Environment
Zed: v0.97.5 (stable)
OS: macOS 13.4.1
Memory: 32 GiB
Architecture: aarch64

I think that's desired behavior. If you want to go to the 'real' beginning/end of line, just ctrl a / ctrl e again.

Oh, I didn't know about double pressing to go to the real beginning of the line. That's great @liebkne!
It seems a little surprising though, do other apps have that behavior?
Would it make sense to make ctrl + k do the same thing?


Discount Functionality in Cart

Discounts applied in the cart are not reflecting correctly or are not working at all.
Details:
Discount not applied: The discount code entered does not show any reduction in the cart total.
Incorrect discount amount: The applied discount is not the expected percentage or fixed amount.
Discount disappears: The discount is initially applied but vanishes during checkout.
Limited product applicability: Discounts are not working for specific items in the cart despite meeting the advertised criteria.
Impact:
Users are frustrated when promised discounts fail to apply.
Users may abandon their carts if the final price is higher than expected.
Confusion arises when discount rules are unclear or not functioning as advertised.
Desired Outcome:
Discounts should be applied accurately according to the advertised terms and conditions.
Discounts should remain reflected throughout the checkout process.
Clear error messages should be displayed if a discount cannot be applied, explaining the reason.

@khushi-joshi-05  please assign this to me i am GSSOC'24 contributor with 2+ years of experience in development


[RFR] Review FileInput handling when allowing only a single file

This PR introduces a breaking change:
When allowing only a single file, onChange will be called with a single file (instead of an array containing a single file).

Can't you remove the breaking change from this PR? It seems that the bug could be handled without breaking BC

I made a fix pr with #954.
However I think the current behavior is quite strange. If we want a single file we should not receive an array.

However I think the current behavior is quite strange. If we want a single file we should not receive an array.

Absolutely agree.


A case where jnp.sinc + jit make a function unstable and non-deterministic

Description
Hello jax team!
While working on my jax-based wave simulator, I have encountered this edge case where things are quite weird. Following is the best MRE that I managed to prepare from stripping down the simulation code, sorry if it is quite long, but in a minute I will explain why I can't obviously see how to make it shorter
from matplotlib import pyplot as plt

from jax import numpy as jnp
from jax import jit
from jax.lax import scan

def fft_gradient(u, axis, k_space_op, k_filter):
    Fu = jnp.fft.fftn(u)
    k_op = jnp.moveaxis(k_space_op, axis, -1)
    iku = jnp.moveaxis(Fx * k_filter[axis] * k_op, -1, axis)
    return jnp.fft.ifftn(iku).real

def mass_conservation_rhs(N,dx,u,params):
    k_vec, k_space_op = params
    k_filter = [1j * k * jnp.exp(-1j * k * delta / 2) for k, delta in zip(k_vec, dx)]
    du = jnp.stack([fft_gradient(u[..., axis], axis, k_space_op, k_filter) for axis in range(len(N))], axis=-1)
    return -du

def momentum_conservation_rhs(N,dx,p,params):
    k_vec, k_space_op = params
    k_filter = [1j * k * jnp.exp(1j * k * delta / 2) for k, delta in zip(k_vec, dx)]
    dp = jnp.stack([fft_gradient(p[..., 0], axis, k_space_op, k_filter) for axis in range(len(N))], axis=-1)
    return -dp

def kspace_op(N, dx):
    k_vec = [jnp.fft.fftfreq(n, delta) * 2 * jnp.pi for n, delta in zip(N, dx)]
    k_space_op = jnp.sinc(jnp.zeros(N)) # <-- This should be equivalent to jnp.ones(N), but weirdly is not.
    # k_space_op = jnp.ones(N) # <-- Using this makes the computation deterministic and equal to non-jit version
    return k_vec, k_space_op

def integrator(N,dx,p0=None):
    # Setup parameters
    dt, output_steps = 2e-5, jnp.arange(0, 200, 1)

    # Initialize variables
    u0 = jnp.zeros(N + (len(N),))
    rho = jnp.stack([p0[..., 0] for i in range(len(N))], axis=-1) / len(N)

    # Numerical simulation parameters
    params = kspace_op(N, dx)

    def scan_fun(fields, n):
        p, u, rho = fields

        du = momentum_conservation_rhs(N, dx, p, params)
        u = u + dt * du

        drho = mass_conservation_rhs(N, dx, u, params)
        rho = rho + dt * drho

        p = jnp.sum(rho, -1, keepdims=True)
        observation = p[12,12,12] if len(N) == 3 else p[12,12]
        return [p, u, rho], observation

    # Semi-implicit integration
    y0 = [p0, u0, rho]
    _, ys = scan(scan_fun, y0, output_steps)

    return ys

# Domain size
N, dx = (64, 64, 64), (0.1e-3, 0.1e-3, 0.1e-3)

# Initial pressure is a localized spike
p0 = jnp.zeros(N)
p0 = p0.at[32,32,32].set(1.0) if len(N) == 3 else p0.at[32,32].set(1.0)
p0 = jnp.expand_dims(p0, -1)

def f(p0):
    return integrator(N, dx, p0=p0)

g = jit(f) # <-- This function is the weird one

## Running the functions 5 times and recording output
for _ in range(5):
    y = f(p0)                           # Uncompiled function
    plt.plot(jnp.abs(y), color="k")
    y = g(p0)                           # Compiled function
    plt.plot(jnp.abs(y), color="r")
plt.yscale("log")
plt.show()

The last parts of the code are used to visually plot the results of running the function 5 times with jit (red) and without jit (black):

Please note the log-axis. Where the red traces disappear, the output is a NaN.
As you can see, the function without jit is stable, while the outputs with jit are unstable but, more importantly I believe, non deterministic.
Some extra observations that make things more weird:

If I replace the line k_space_op = jnp.sinc(jnp.zeros(N)) with k_space_op = jnp.ones(N), which in every way should be numerically equivalent since N is a static argument, the results are  almost  correct and the function becomes deterministic. I say almost because the very first values are actually different than for the non-jitted version: this is probably just a matter of numerical precision.
This is derived from a 3D simulation. If I make it 2D by setting N, dx = (64, 64), (0.1e-3, 0.1e-3), the jitted function is stable and deterministic again. It also exactly matches the non-jitted code.
The issue arises only on GPU. If I disable the GPU and run this on the CPU the problem almost disappears. Again, by almost here I mean that the function becomes deterministic and also the very initial values are different compared from the non-jitted version.
Happens both on my desktop computer (specs below) and on colab
This code comes from a function that was working correctly at least up to jax 0.3.20.
If I simplify the code further, the problem seems to disappear

What jax/jaxlib version are you using?
jax 0.4.10, jaxlib 0.4.10
Which accelerator(s) are you using?
GPU
Additional system info
Python 3.10.11, Ubuntu 22.04.2 LTS
NVIDIA GPU info
$nvidia-smi

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.41.03              Driver Version: 530.41.03    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce GTX 1080         Off| 00000000:01:00.0  On |                  N/A |
| 36%   53C    P2               34W / 180W|    963MiB /  8192MiB |      2%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|

I'm trying to run your reproducer, but Fx is not defined in fft_gradient.
Can you fix the example code?

Sorry, not sure how I skipped that line, I have added it back now.
Should be correct now, I have just tried it on colab and confirmed that I get the problem.

Just adding on this, it seems to not matter if one uses jnp.sinc or not. The same problem happens if one replaces jnp.sinc with jnp.cos for example.

I just tried to reproduce this again: it reproduces for me with jax/jaxlib 0.4.10, but not with 0.4.12. Can you try updating to 0.4.12?

Yes I have just tested it on 0.4.11 and I don't see the issue anymore, not sure what changed

I'm going to see if I can bisect it to a change, but fixed is fixed!

Indeed! :smile:

Not sure if it can be helpful, but this also got solved by 0.4.11: https://github.com/google/jax/issues/14302
The shared component between them is mainly the FFT-based algorithm of calculating gradients.

I bisected the fix to this XLA change https://github.com/openxla/xla/commit/215705b93dae2c58ce6f8657532d05d05cdf6526
I'm not sure why it fixes the problem, but it seems to do the trick!


Launching the OBF newsletter

One of the action items from the OBF Birds of Feather meeting was to start releasing a newsletter periodically. I'd suggest we start with OBF related updates as well as community related updates and interesting links.
This is a call to everyone out there who works in open bioinformatics - please share interesting stuff! This could be a new project launch, an interesting update or release, a link to useful resources (e.g. some nice biology related icons or an open source tool that could be useful, etc. If you aren't sure about something, feel free to drop me a line personally to discuss it, e.g. via twitter or email (yochannah@gmail.com).
Promoting yourself or your workplace is totally ok here - this is literally what the newsletter is for, within reason!
I'll start by leaving a few comments on the issue with possible content items.

Longer newsletter items:

GCCBOSC quick summary, including photos from Berenice Batut - if anyone's blogged about their experiences at GCCBOSC, please share on this issue!
Logo voting! Several volunteers have been helping redesign the OBF logo and we'd like the community to choose which we go with.

Interesting links: (p.s. this is at least partially me promoting stuff I like that I think/hope will be interesting for others, too)

PLOS open source toolkit, a curated set of articles that focuses on good quality open source tools and alternates between hardware and software. Many OBF projects could be highlighted here!
Mozilla Festival, especially the openness space - proposals for sessions are open until the end of the month.
Opencon - unfortunately applications will close before we get the chance to send this newsletter out, but remote attendance will still be possible.
Biology icons from Reactome

Sorry my connection this morning was terrible, so i might have missed it. But do we plan to have the BOSC survey wrapped up by the time of the newsletter? Otherwise we could share that one again there too.

Ok, quick note: **anyone who wants to share something here that's open bioinformatics-related should feel free to add links to this issue! **
I've started transferring content to a proper draft here: https://docs.google.com/document/d/1-_G3iKcxLNH49hmCsFIqv_IrKy3zqBsyeQ2XA0uLWcQ/edit# - anyone from the OBF board should already have access to edit this, and anyone at all has access to comment. If you'd like access and you don't have it, leave a comment and we'll see what we can do!

I'm not sure about the answer to @gedankenstuecke's question actually. @nlharris are you still looking for input on the GCCBOSC survey or are we happy with the number of answers?

Hi,
don't know how relevant but for miRTop project:

we have official page for the miRNA annotation format: https://github.com/miRTop/mirGFF3
we got accepted in FAIRsharing: https://fairsharing.org/bsg-s001218/
we got a winner for our logo competition: https://github.com/miRTop/mirtop/issues/29#issuecomment-405435689

Feel free to ignore :)

@plants this is exactly the sort of thing we are looking for, thanks!

ok, this issue is frozen accepting any new items and will hopefully go out in the next 24 hours. It has a "if you can't see this email properly" archive version here - https://github.com/OBF/newsletter/blob/master/newsletters/2018-07.md tagging @lpantano and @llrs as your projects are both mentions - if I've made any mistakes, please PR corrections :)

I'll close this once it's emailed out - in the meantime, if anyone wants to propose content for the next issue, please add it here: https://github.com/OBF/newsletter/issues/3


chore: bump chokidar to v4

PR Checklist

[x] Addresses an existing open issue: fixes #5214
[ ] That issue was marked as status: accepting prs
[x] Steps in CONTRIBUTING.md were taken

Overview
This PR bumps chokidar v4. It's backwards compatible besides globs, which can be added via tinyglobby or the already included dep glob

Some integration tests are failing, due to mocha not being able to JSON parse the results 🤔
https://github.com/mochajs/mocha/actions/runs/10862070814/job/30145234042?pr=5215#step:5:466

See #5090, #5148 , #5216 – we will update dependencies in due time. Mocha 11 will be a primarily dependency bumping release.


Removal of "using namespace std;", "using std::vector;", using std::string;", etc.

Thank you
On Mon, Apr 11, 2022 at 2:31 AM Jack Bates @.***> wrote:

@.**** approved this pull request.
 The renaming of symbols that are keywords will
undoubtedly help someone's sanity. This [large] patch is straightforward,
and as-advertised. I pulled and built it locally. CI passed. I approve.
—
Reply to this email directly, view it on GitHub
https://github.com/openfheorg/openfhe-development/pull/27#pullrequestreview-937519201,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG46TLTIBP6JLRC5DBLTJPLVEPBMZANCNFSM5S7YAOCA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Implement 'krb5_verify_init_creds'

Several libraries have been created to allow Ruby applications to authenticate users using their Kerberos credentials, via the krb5_get_init_creds_password function provided by rkerberos, in the context of frameworks like Devise and OmniAuth.
None of these libraries currently check that the credentials obtained using a user's password actually come from a trusted KDC. They are therefore vulnerable to spoofing of the KDC, historically known as the 'Zanarotti attack'. I have knocked together my own code here (and I'd be very glad of any feedback from people more familiar with the Kerberos library) to support obtaining and verifying initial credentials securely.
However I would like to be able to submit pull requests to these various existing projects to at least allow them to be used securely with the correct configuration without trying to unnecessarily move them away from rkerberos.
To that end, I'm requesting that rkerberos implement the krb5_verify_init_creds function. (I would try to do it myself, but I don't trust myself not to make a complete mess of writing any C…)

Hi!
I'll see what I can do on this front, but there's some other things that I'll take care of first, https://github.com/domcleal/rkerberos/pull/9 being the first priority on my list. Proper verification of credentials is something I can look into after that.

I've started working on this in my fork: https://github.com/sonOfRa/rkerberos/tree/credentials
I'd greatly appreciate feedback on this (and suggestions as to how I'm supposed to write tests for this).

Regarding testing, I struggled to come up with sensible unit tests but I did find that validating behaviour against an actual Kerberos server was helpful for me.
I think that I should admit that I'm now unlikely to make use of any work on krb5_verify_init_creds. I've had no response on any of the five issues that I've opened against that fail to verify Kerberos credentials. Raising it with GitLab (as their product depends on one of these gems), I was invited to fix the issue myself or forget about it. Perhaps I've overestimated the vulnerability that failing to verify credentials presents.
The gem that I've written in the meantime serves my needs and it's a little bit more portable than rkerberos (not least because it has far less functionality, I hasten to add).


Animate.css is not working in any browser.

I used animate.css in Dreamweaver and its not working in any of the browser.
Please Help.
My code is:

Animate

Animation

Hello,
Your code seems to be improperly pasted.

My Code is:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Animate</title>
<link rel="stylesheet" href="animate.min.css">

Animation

This can be anything. Could you please create a pen on Codepen and share it with your code?

@shahzeb1 Try put class "visible" in element.

@eltonmesquita This is my link to pen on Codepen: https://codepen.io/devrathi/pen/oLmXmz

Look in my example:
https://codepen.io/diego92ms/pen/zBZvrk
You need call the library Animate, correct way.

@shahzeb1 I saw your code and I don't think there is any difference in the code but your code is working fine but not mine. Can you please explain where I am doing wrong? Thanks.
The animate.css CDN is not working.

@Devrathi, you're not adding the animate.css to the page. If you go to the Settings of the pen and click in CSS, you'll see the @Diego-Soares added the link to animate.css.

There is no animation In chromium 52 and Firefox 48, previous version worked fine. I haven't changed any styling in the mean time.
I'm using animate.css 3.5.0 for my website (the logo at the top is animated via flipIn).

UPDATE Animation works, my webserver's minify directive was the problem.

Thank you @eltonmesquita it worked, but can you tell if I want to use the animate.css in my website then should I have to download animate.css or I can just use the CDN.

You should only rely on the CDN for testing. If you are going to use it for a live website download the package to your project.

klk

animate.css files not downloading in my browser instead shows me raw.githubusercontent.com
am using google chrome

Please, follow the instructions on the readme and avoid linking files directly from GitHub.


多显卡问题

是否已有关于该错误的issue或讨论？ | Is there an existing issue / discussion for this?

[X] 我已经搜索过已有的issues和讨论 | I have searched the existing issues / discussions

该问题是否在FAQ中有解答？ | Is there an existing answer for this in FAQ?

[X] 我已经搜索过FAQ | I have searched FAQ

当前行为 | Current Behavior
我有一台3090*4的服务器，现在我想让其中三张显卡运行通义千问14B模型，请问有方法指定吗？
期望行为 | Expected Behavior
No response
复现方法 | Steps To Reproduce
No response
运行环境 | Environment
- OS:
- Python:
- Transformers:
- PyTorch:
- CUDA (`python -c 'import torch; print(torch.version.cuda)'`):

备注 | Anything else?
No response

Since you are not giving any information, we suppose the most general approch is
export CUDA_VISIBLE_DEVICES=0,1,2

# related command to start your application

由于您未提供任何具体应用信息，我们推测最通用的方法是：
export CUDA_VISIBLE_DEVICES=0,1,2

# 相关命令以启动您的应用程序


Can and should we use python magic for numpy matrices

I think we can use rmul and lmul to create a class that wraps numpy matrices nicely such that you can write things like
H = 0.5 * X * X + 0.2 * Y * I
or if you want to use labeled qubits
H = 0.5 * X(q1) * X(q2) + 0.2 Y[1].
This would be useful as a base for at least a few cases I can think of

gate obtained by exponentiating these operators
returning expecatation values of these operators, in simulation, and also at hardware.

You could even use these as substitutes in other places where we are currently using numpy arrays.

Is * the pointwise product, the matrix product, the tensor product, or the kronecker product?

was tensor.  Pointwise (Hamadard) product is crazy ;)

@ only appeared in python 3.5, so I'm not sure if we can use that for matrix multiplication?

Another thing is that there are implicit kroneckers in the first, and int he second the qubit order is necessary to define the kronecker order.

I think it's fine for the tensor order to be implicit in the application order. On the other hand, X * X really really looks like it should be the identity to me.

Obsoleted by the introduction of PauliString and PauliSum.


How do I read props?

The docs note that you can declare private props on webc components using the special @ syntax, but they don't clarify how to access this data in JavaScript:

Make any attribute into a prop by prefixing it with @. Props are “private” attributes that don’t end up in the output HTML (they are private to WebC). They will be filtered from the output HTML but are available to the component’s data.

This is the example from the docs:
<my-component @propName="Hello"></my-component>

Where is propName accessible in the web component?
Do we still need to use @ wherever we access it in JavaScript or do we drop that?

Sorry, duplicate of https://github.com/11ty/eleventy-plugin-webc/issues/23

Example deploying to https://www.11ty.dev/docs/languages/webc/#props-(properties)
and on https://github.com/11ty/webc#properties-or-props

For future reference: @propName is accessed within the component as propname, not propName


Reorganize branches

Delete unused branches. I think it would be nice to make the main branch of this repo a ros2 branch.

Agreed. I propose:

[ ] Delete all branches that are merged into: master, foxy_devel or humble
[ ] Create a pull request from https://github.com/MRamirez25/mc_mros_reasoner (check if the fixes there are still relevant)

What about the branches melodic, rosmodel2owl, rosnavigationowl, and refactoring?
melodic and rosnavigationowl are behind master and don't have any commits to be merged
rosmodel2owl and refactoring  have commits to be merged and are behind master

Create a pull request from https://github.com/MRamirez25/mc_mros_reasoner (check if the fixes there are still relevant)

I think this is not necessary.

I think it would be nice to make the main branch of this repo a ros2 branch.

I can't change the repo settings. @chcorbato Can you make the humble branch the main one?

@Rezenders I have given the maintainers team (you and Elvin) Maintain access to the repo. Let me know in case this is not enough to do the actions you suggest, I agree with them.
In any case the main branch should be master (or if you prefer rename it to main) and for the moment be pointing to the same commit than humble


function compare(a, b) in queue.js does not compare correctly

What happened?
function compare(a, b) in queue.js does not compare correctly when 2 or more consecutive members are objects.
What should have happened?
It should return false.
Steps to reproduce the problem
These 2 examples return true instead of false:
var a = { f: {a:2}, t: {a:2} };
var b = { f: {b:2}, t: {a:2} };
compare(a, b)

var a = { f: {a:2}, t: {a:2} };
var b = { g: {a:2}, t: {a:2} };
compare(a, b)

function compare(a, b) {
     for (var key in a) {
         if (a.hasOwnProperty(key)) {

             // if (!b.hasOwnProperty(key)) return false;

             if (typeof a[key] !== typeof b[key]) {
                 return false;
             }

             if (typeof a[key] === "object") {
                 if (!compare(a[key], b[key])) {
                     return false;
                 }

             } else if (!a[key] === b[key]) {
                 return false;
             }
         }
     }
     return true;
 }

Hi @davidglezz! compare is just intended as a private helper function that would help us avoid the need of bringing in a separate dependency. But it looks like your implementation does indeed help scenarios like this, so I "merged" it. Thanks!


Chore/report coverage test

Description
Add here short description what has changed
Why?
Describe why the change is introduced
Links to related issues

Fixes LD-XXX
Not covered by the PR: LD-XXX
Possible improvements: LD-XXX

Demo

Before the PR
After the PR

Documentation

Link to documentation: Add link here
Link to figma: Add link here
Add here other useful documentation links that are useful for PR reviewer

Checklist

[ ] New functionality is covered by Analytics events
[ ] Analytics events are documented
[ ] Analytics dashboard is updated
[ ] Functionality covered by unit tests
[ ] I have manually tested if the code works

Overall Project
NaN% NaN%
:green_apple:

There is no coverage information present for the Files changed

Overall Project
NaN% NaN%
:green_apple:

There is no coverage information present for the Files changed

Overall Project
NaN% NaN%
:green_apple:

There is no coverage information present for the Files changed

Overall Project
NaN% NaN%
:green_apple:

There is no coverage information present for the Files changed

Overall Project
NaN% NaN%
:green_apple:

There is no coverage information present for the Files changed

Overall Project
NaN% NaN%
:green_apple:

There is no coverage information present for the Files changed

Overall Project
NaN% NaN%
:green_apple:

There is no coverage information present for the Files changed

Overall Project
83.44% -0.15%
:green_apple:

Files changed
0%
:x:

File
Coverage

AuthRepositoryImplTest.kt
88.06%
:green_apple:

FakeAuthRepository.kt
50% -26.92%
:x:


habitat: 0.90.6 -> 1.6.614

Bump version to fix build failure for ZHF (#199919)
original build failure: https://hydra.nixos.org/build/199393830/nixlog/2
Had to disable checkPhase for a single error. Don't know enough Rust to decipher it. CLI seemed operational.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

(Is probably superseded by #231526, reopen this if you think not)


Package maintenance

Landed in https://github.com/metarhia/do/commit/da7aa13b0d122f6349d9299695a1d7a75efb5eea, https://github.com/metarhia/do/commit/f60890054a45bbbf390ae312b83285922a3bbbbf, https://github.com/metarhia/do/commit/917f5d0807e004f5f06f9521403ae51151f7f247 and https://github.com/metarhia/do/commit/794c21d4ec0157e8669733537d3048e2a316f933


Limit the line no. of hover information

Maybe the number of lines displayed while hovering over some error/output should be limited? I regularly get artefacts like the one attached. (Although I actually think, the window manager should catch these...) I think more than, say, 20 lines on the hovering info is too much.

@javra, I'll check what we can do with this. BTW, do you think this broken image is what you get from Lean mode (or some uploading problem)?

@soonhokong No that's how it actually looks! (CentOS 7 with Gnome 3.14)

--server option has been deleted from the lean3 branch. All lean-server-* emacs commands were also deleted. The feature described in this post will be eventually reimplemented in the lean3 branch using a much simpler architecture suggested by Clément Pit.


Found a path  not build

hi, guys,
thanks for your tools, it is very useful!
I have found a case to report if this is bug or not.
I　use the skimage.morphology.skeletonize to generate the 3D vessel skeleton, and use skan.Skeletonto do analysis.
But I found a case that a pixel have the connection with another(with 27-neighbourhood), and double confirm the degree match the skeleton image. But the path not exist as the bellow red one, so what is the reason or is it a bug?

@jni could you help me?

@fgbxx sorry for the delay! Could you provide some sample data and a script so I can investigate? The smaller the better. Typically, if you do like a 21x21x21 pixel window around the connection of interest in the binary skeleton, that will be enough to reproduce the error.

Hi @fgbxx, I will be happy to investigate this bug but I would need a reproducible example to get anywhere!


Parcel collection in keep-alive mode may be missing messages received after the connection started

That would explain https://github.com/relaycorp/relaynet-gateway-android/issues/724

Not seeing this in the new Belgium env.


Option to open Key2Joy armed

Is there a way to open the program armed already?

Hi, thanks for your question!
Yes, using the command line interface you should be able to start the program and enable arming using a single command.
Let me know if that answers your question and if you need help after that.

Sorry for pointing you in the direction of broken code. There is an older version which may work a lot better, I recommend trying 0.6.0.
Cool project! Sound like a fun way to use this project :)
All the newer 0.7.0 versions are quite bugged sadly and I haven't found the time to work on it. I hope 0.6.0 works for your situation.
And the not registering releases of keys might be a 0.7.0 problem (I hope it is). It's something I haven't been able to reproduce on command yet. I feel it's similar to #61


Update dependencies (submodules) so that the project builds on Linux ARM64

Add Github Actions based CI. It builds and tests on Linux x86_64 and aarch64

Fixes #149

Any feedback on the proposed changes ?
Without these changes it is impossible to use speedseq on ARM64 due to the usage of x86_64 binary for Sambamba.
This PS uses Sambamba as a submodule and builds it for the current CPU architecture.
Also this PR updates Bwa to a newer version that supports ARM64.

I also needed to build speedseq on Linux ARM64!
Thank you, @martin-g !
I hope this PR is merged soon!


Android - flickering last to first item (onSnapToItem setState)

Hi, I notice that the carrousel is flickering in Android(last image to first one) when in onSnapToItem function the state has changed.
Like:  onSnapToItem={(index) => {
this.setState({activeDotIndex: index});
}}
Similar issue like this pull request should be fix : https://github.com/meliorence/react-native-snap-carousel/pull/368
Please take a look.
Thanks

i think we encounter the same problem，the last imag in Carousel is flickering when running android

Facing the same issues. I have 3 data and it's flickering the first image of every 3rd loop. For some devices, its happening for every loop.

+1

Any solution?

@karanbhatia507 add props : itemWidth

i have the same issue when swiping from last to first item and vice versa. I saw onSnapToItem call 2 times when i did that. Any solution?
"react-native-snap-carousel": "^3.9.1",
"react-native": "0.60.6"

Hi, I'm facing the same issue. Any workaround?

removeClippedSubviews={false}可以解决这个问题，通过这个swiper库leecade/react-native-swiper#1232
的问题产生的灵感来源，也有同样的属性，已试过可以解决

any update?

@15110011 add props : itemWidth

@15110011 add props : itemWidth

i did but its still flickering

tried with v4.0.0-beta.6 it was so smooth but still flickering 😄

Sorry, please allow me to advertise for my open source library! ~
I think this library react-native-reanimated-carousel will solve your problem. It is a high performance and very simple component, complete with React-Native reanimated 2

removeClippedSubviews={false}可以解决这个问题，通过这个swiper库leecade/react-native-swiper#1232
的问题产生的灵感来源，Carousel有同样的属性，试验过可以解决

works for me

removeClippedSubviews={false}可以解决这个问题，通过这个swiper库leecade/react-native-swiper#1232
的问题产生的灵感来源，Carousel有同样的属性，试验过可以解决

Works for me too! Thanks!

"react-native-snap-carousel": "^3.9.1",
"react-native": "0.64.2",

add this line will fix the issue
removeClippedSubviews={false}

i did use removeClippedSubviews={false} but not working, please help

reverting the version to 3.9.1 helped me for looping/snapping properly on Android.


Add SEO fields to product and category models and make editable in the dashboard

There are a few SEO components that we regularly find clients asking for the ability to control on product and category pages:

Meta title
Meta description
Slug

For products, slug, meta title and description are all auto-generated from the product title/description, with no option to override any of these. While this is fine a lot of the time, Oscar should provide the ability to override these.
For categories, meta title and description are also auto-generated from the product title/description, and there is no option to override.
I think we should have a "Search Engine Optimisation" tab on the dashboard edit views for both of these, which allow override of these parameters.

Hey @solarissmoke ,
Just wanted to confirm that we are talking about the AbtractProduct and AbstractCategory classes from src/oscar/apps/catalogue/abstract_models.py right?
Also, will this issue involve changes in the model and changes to the frontend (dashboard)?

@SameeranB yes, but note that there is already a PR for this feature under review.

Aah... that's great. No issues... I'll look for some other issue to resolve.


tableManager.IDENTIFIER returns old schema when using withSchema("test")

When opening a database with another schema using withSchema("test"), the tableManager..IDENTIFIER.asSchemaIdentifier() returns the old schema name i.s.o. "test".
I am using version 3.1.4.

Sorry for my late response. The id remains the same regardless of withSchema()' but the namechanges. It isname` that is being used when rendering SQL queries. I hope this clarifies the situation.


Check wrangler.toml before doing publish steps

This PR verifies the presence of account_id and name in wrangler.toml when calling wrangler publish
and additionally verifies the presence of zone_id and route when calling wrangler publish --release, before actually doing any steps towards said command (important for users on slow internet connections, as some of these steps involve fetching deps).
Fixes #197.
Probably fixes #211.

My naive implementation here does not currently address #197  -- this logic belongs in settings/project.rs or main.rs.
Right now where it is in commands/publish/mod.rs a build will run (and fetch build deps) before verifying the wrangler.toml. The only way to verify wrangler.toml before wrangler does any work is:

when it's first read in settings/project.rs (calling Project::new with some sort of "required fields")
immediately after in main.rs. (just copy/paste the code I've written in commands/publish/mod.rs and put it after Project::new).

@granjef3 , let's discuss tomorrow, but I looking at main.rs, the logic in command::build is "shared", if you will, among several commands. perhaps it makes sense to extract that to a lower level function that could be called by many commands (build, publish, preview), allowing you to encapsulate the validation inside the preview call while still calling it before the build step.

Resolved the issue I was dealing with before:

used a list that gets appended (I'd like to display this better in the error message but unsure as to how)
Removed injecting cache throughout the code (it gets memoized in install/mod.rs now)
moved the build call from main.rs to inside publish/preview
all so that we can call validate before build, and have publish own its validator.

The only thing i would do differently here is push the build logic down a layer of abstraction, so it is below rather than level with the things that call it. That's a code org thing.

I believe lazy_static! is file local. normal static constants in rust must be known at compile time, the lazy_static! macro encapsulate some typing/unsafe magic so they can be initialized at runtime. I don't think it is a code smell in this use case as it is not being used to do communication or anything like that, just to avoid performing the Cache::new operation more than once as the original code did.
I think the code organization thing is a valid point. Build is more of an "operation" or "step" than a command. Curious to see @ashleygwilliams opinion on this.

i will take a quick look and give a review- but otherwise i think we should land this


Implement expand_dims

It is related to #337.

I added negative test case.

What happens when axis + len(shape) + 1 is still negative?

Slice can specify axis of the out of range.
And, this implementation has numpy compatible.
https://github.com/numpy/numpy/blob/v1.9.1/numpy/lib/shape_base.py#L273

What happens when axis + len(shape) + 1 is still negative?

Even if the axis is out of range , Slice will work.
And, this implementation has numpy compatible.
https://github.com/numpy/numpy/blob/v1.9.1/numpy/lib/shape_base.py#L273

@okuta Thank you for adding negative indices cases.

OK, I'll merge.

Thank you!


How to override the http headers sent when requesting a tile

Issue Type
[X ] Question
[ ] Bug
[ ] Improvement
[ ] Build system related
[ ] Performance
[ ] Documentation
Description and/or steps/code to reproduce the problem
Recently I placed the tile server behind a gateway that requires Http Authorization header to be sent always. How do we tell OSM Droid to add the auth header at every request going forward?
Environment
If it's a bug, version(s) of android this affects:
All
Version of osmdroid the issue relates to:
6.1.2

@vvavepacket Something like that: https://github.com/osmdroid/osmdroid/blob/master/osmdroid-android/src/main/java/org/osmdroid/tileprovider/modules/TileDownloader.java#L107?

How does one override these other than modifying the source files and
recompiling them? Can these be extended without doing the above?
On Sat, Aug 8, 2020, 4:44 AM monsieurtanuki<EMAIL_ADDRESS>wrote:

@vvavepacket https://github.com/vvavepacket Something like that:
https://github.com/osmdroid/osmdroid/blob/master/osmdroid-android/src/main/java/org/osmdroid/tileprovider/modules/TileDownloader.java#L107
?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/osmdroid/osmdroid/issues/1627#issuecomment-670846056,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB7JJWSE6CX5HXVHHDIFKPDR7UF5LANCNFSM4PYJV6FQ
.

@vvavepacket If it's only a matter of additional http request properties, then you can implement IConfigurationProvider or override DefaultConfigurationProvider, and more specifically method Map<String, String> getAdditionalHttpRequestProperties().
You may even not have to override this method, but just add your properties directly using the method.


go: rewrite interface{} as any

This PR rewrites instances of interface{} as any. It was generated with the help of gofmt and, more specifically, via executing gofmt -w -r 'interface{} -> any' . inside the root of the repository, manually excluding the following files (which look to be autogenerated):

pkg/apis/api.acorn.io/v1/conversion.go
pkg/apis/internal.acorn.io/v1/map.go
pkg/openapi/generated/openapi_generated.go

As an added benefit, running gofmt also fixed the format of the following files:

pkg/cli/pull.go
pkg/cli/secret_rm.go
pkg/cli/start.go
pkg/cli/stop.go
pkg/cli/tag.go
pkg/client/info.go
pkg/version/version.go

which were not properly formatted.
Signed-off-by: Panagiotis Siatras<EMAIL_ADDRESS>

Oh cool, I was just thinking as I was removing references to ioutil that we should move everything to any. Thanks.

Not quite sure what broke the build, might it be possible this is a flaky test? If so, could we rerun the build one more time, please?

Github is 500ing on me, so I cannot see the build. But yeah, we started seeing a flaky test yesterday. If it's the same one, i'll rerun until we get a clean build.
@ibuildthecloud we probably need to dig further into that failure

So, this is definetely a flaky test as it also broke #661 (which didn't touch any of the Go code) 😭


simulate unrelated captions as a training metric

shuffle the text embeddings along the first axis, predict on shuffled embedding, then compare your predicted image embedding to the original text embedding to simulate an unrelated caption/pred_img
this trick assumes the distribution of embeddings is uniform, but given we're working on the billions scale I think that's alright 😄

@nousr cool! do you think you can just get with a shift? that would guarantee a mismatch of embeddings
import torch
batch_size = 1000
torch.roll(torch.arange(batch_size), 1)

@lucidrains thanks for the suggestion :D should be good now 👍

Thank you!


optional force unwrap fails if target name contains special characters

Description
some characters such as space cannot be encoded in a URL host name, even with percent encoding. this causes optional force unwrap of the URL to fail at runtime, causing a DocC preview crash.
it can be reproduced on Linux by running the command below on this commit of the test package https://github.com/tayloraswift/snippets-example/commit/968f351f28239860f1f81367909d6578e4f951ba
swift package --disable-sandbox preview-documentation --target Snippets\ Example

@Kyle-Ye followed these steps, changing the manifest for macOS compatibility, and took this screenshot from a debugger:

Checklist

[ ] If possible, I've reproduced the issue using the main branch of this package.
[X] This issue hasn't been addressed in an existing GitHub issue.

Swift-DocC Version Information
Plugin version 1.3.0
Swift Compiler Version Information
Swift version 5.10 (swift-5.10-RELEASE)
Target: x86_64-unknown-linux-gnu

This is a dupe of https://github.com/swiftlang/swift-docc/issues/290 (now fixed)


RDBMS Store shutting down Carbon Datasource

Description:
When defining an RDBMS store we can use the 'datasource' property and point to a Carbon Datasource that has being defined in the deployment.yaml file.
In this case, when initializing the store, RDBMSEventTable class will create a reference to the Carbon datasource and use it throughout the lifetime of the RDBMS Store.
Issue is, when destroying the RDBMS Store (when calling RDBMSEventTable.disconnect()), this datasource will also be closed.
Once it is closed, the datasource will no longer be available to be used.
As a result,

All the other components which may use the same datasource (e.g. the same datasource may be used for cluster coordination), will no longer be able to use the datasource.
We will not be able to redeploy the same Siddhi app as long as the same datasource is used, as the datasource is closed.

Affected Product Version:
SP 4.0.0
OS, DB, other environment details and versions:
standalone SP
Steps to reproduce:

Define a datasource in deployment.yaml file of editor with name 'WSO2_TEST_DB'
Bring up the SP editor
Create following siddhi app; save and start it.

@App:name("RDBMSTableOrdinal")

@Store(type='rdbms', datasource='WSO2_TEST_DB')
define table ownerTable (name string, owner string);

define stream ownerStream (name string, owner string);

from ownerStream
select *
insert into ownerTable;

Stop above Siddhi app and start again.

Following error log will be printed:
 [2018-03-13_16-36-41_286] ERROR {org.wso2.siddhi.core.table.Table} - Error on 'RDBMSTableOrdinal'. Failed to initialize store for table name 'ownerTable': Error initializing connection: HikariDataSource HikariDataSource (HikariPool-1) has been closed. Error while connecting to Table 'ownerTable', will retry in '30 sec'. (Encoded)
org.wso2.siddhi.core.exception.ConnectionUnavailableException: Failed to initialize store for table name 'ownerTable': Error initializing connection: HikariDataSource HikariDataSource (HikariPool-1) has been closed.
	at org.wso2.extension.siddhi.store.rdbms.RDBMSEventTable.connect(RDBMSEventTable.java:829)
	at org.wso2.siddhi.core.table.Table.connectWithRetry(Table.java:364)
	at org.wso2.siddhi.core.table.Table$1.run(Table.java:376)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.wso2.extension.siddhi.store.rdbms.exception.RDBMSTableException: Error initializing connection: HikariDataSource HikariDataSource (HikariPool-1) has been closed.
	at org.wso2.extension.siddhi.store.rdbms.RDBMSEventTable.getConnection(RDBMSEventTable.java:974)
	at org.wso2.extension.siddhi.store.rdbms.RDBMSEventTable.getConnection(RDBMSEventTable.java:959)
	at org.wso2.extension.siddhi.store.rdbms.RDBMSEventTable.tableExists(RDBMSEventTable.java:1162)
	at org.wso2.extension.siddhi.store.rdbms.RDBMSEventTable.connect(RDBMSEventTable.java:819)
	... 9 more
Caused by: java.sql.SQLException: HikariDataSource HikariDataSource (HikariPool-1) has been closed.
	at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:81)
	at org.wso2.extension.siddhi.store.rdbms.RDBMSEventTable.getConnection(RDBMSEventTable.java:971)
	... 12 more

Fix merged in commit 304ebd7c37f78331f0b70bdfb0e80858a5c9d39d hence closing the issue.


asm-lsp: 0.7.4 -> 0.9.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/bergercookie/asm-lsp/releases.
meta.description for asm-lsp is: Language server for NASM/GAS/GO Assembly
meta.homepage for asm-lsp is: https://github.com/bergercookie/asm-lsp
Updates performed

Rust version update

To inspect upstream changes

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.8.0 with grep in /nix/store/cyk6lpjyhnaivl78srwv1l2rb50qns4l-asm-lsp-0.8.0
found 0.8.0 in filename of file in /nix/store/cyk6lpjyhnaivl78srwv1l2rb50qns4l-asm-lsp-0.8.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

asm-lsp

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/cyk6lpjyhnaivl78srwv1l2rb50qns4l-asm-lsp-0.8.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A asm-lsp https://github.com/r-ryantm/nixpkgs/archive/1007c323a371c7812c2ac0da40893cd8024592e7.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/1007c323a371c7812c2ac0da40893cd8024592e7#asm-lsp

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/cyk6lpjyhnaivl78srwv1l2rb50qns4l-asm-lsp-0.8.0
ls -la /nix/store/cyk6lpjyhnaivl78srwv1l2rb50qns4l-asm-lsp-0.8.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

asm-lsp

Maintainer pings
cc @NotAShelf for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/bergercookie/asm-lsp/releases.
meta.description for asm-lsp is: Language server for NASM/GAS/GO Assembly
meta.homepage for asm-lsp is: https://github.com/bergercookie/asm-lsp
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.9.0 with grep in /nix/store/fzyasf371plx4a2l57a7ld6gw32m64f9-asm-lsp-0.9.0
found 0.9.0 in filename of file in /nix/store/fzyasf371plx4a2l57a7ld6gw32m64f9-asm-lsp-0.9.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

asm-lsp

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/fzyasf371plx4a2l57a7ld6gw32m64f9-asm-lsp-0.9.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A asm-lsp https://github.com/r-ryantm/nixpkgs/archive/f5a53c02c0e5ed552d5331690d27eb0a3dcef311.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/f5a53c02c0e5ed552d5331690d27eb0a3dcef311#asm-lsp

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/fzyasf371plx4a2l57a7ld6gw32m64f9-asm-lsp-0.9.0
ls -la /nix/store/fzyasf371plx4a2l57a7ld6gw32m64f9-asm-lsp-0.9.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

asm-lsp

Maintainer pings
cc @NotAShelf for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

diff lgtm, unable to test for the time being.


Disable application submission in tests

Asana task
We don't want to submit applications in cypress tests anymore, as the submissions appear in the SimpliGov dashboard and this can be confusing.

also, I tired running the tests in simpligov pre-prod, and saw some applications (in review / waiting states) and wondering if this will ultimately still be annoying to admins in prod.

I wonder if there is more of a benefit to just stopping the tests in prod instead of trying to run a sub-set of tests in pre-prod.


can't get kanshi to match a configuration

Apologies beforehand if this is me missing something obvious (I feel like it must be) but the following behaviour seems odd to me
~/.config/kanshi
cat config
{
    output "*" mode 1920x1080
}
~/.config/kanshi
kanshi
Connected outputs:
output eDP-1 vendor AUO product 0x2036 serial 0x0
Matching configuration: None
Waiting for output changes...

How does "*" end up with Matching configuration: None? I've tried several different strings to a get a match but nothing seems to get picked up by kanshi (e.g. eDP-1) doesn't work either.
This is on ubuntu 19.04 and
sway version 1.1-rc1-55-gc9cb5ced (Jul  9 2019, branch 'master')
wlroots=df3f0ffbb0bcce8a12c83b577fd688a4ec290e7e

kanshi doesn't support quoted strings, yet. It would be a nice feature to add. Renamed the issue.

Fair enough. The man states that you’re suppose to quote strings though doesn’t it? Also note that basically no string I added there could get a match, quoted or otherwise e.g. eDP-1 doesn’t match even though it appears that it should from kanshis output

Arguments can be quoted (with ") if they contain spaces.

Oh, sorry. We do support quoted strings: https://github.com/emersion/kanshi/blob/master/parser.c#L130
It seems you're using a very old version of kanshi, back when it was written in Rust. Please update to the latest commit.

Right. That was the "obvious thing" I referred to in my original post (I had both the rust and C versions installed but the rust one had precedence in PATH). Apologies for the noise.


Documentation: migrate STM32F3

Summary
Documentation: migrate STM32F3
Impact
Testing
local build

Since documentation ci pass, let's merge it.


test theme

This pull request introduces a new theme called cyberpunk to the src/theme.ts file. The changes add the new theme's color scheme and include it in the preset export.
New theme addition:

src/theme.ts: Added a new theme named cyberpunk with specific background, text, badge, bar, border, avatar placeholder, and logo colors.

Inclusion in presets:

src/theme.ts: Included the cyberpunk theme in the preset export to make it available for use.

It seems the bot is working correctly. I am closing this test PR now.


Extend mock client?

Docker Swarm is planning to switch to using the engine-api, and move away from samalba/dockerclient.
One of the important provisions in dockerclient is the mockclient functionality (https://github.com/samalba/dockerclient/tree/master/mockclient), which Swarm needs for unit tests.
engine-api also provides this, but with an important difference -  a single mock client takes in a function that defines mock behavior for a single API endpoint. It would be nice to have a single mock client support mock behavior for multiple API endpoints, much like https://github.com/samalba/dockerclient/tree/master/mockclient. Is this something that would be acceptable if built into engine-api?

cc @dongluochen @calavera

On second thoughts, it should be possible to implement a single function that implements all API endpoints using a switch statement, which allows the mock client to stay the same. Thanks to @vieux for the suggestion. I'm closing this issue for now, will reopen if I run into issues.


FromCache call sometimes results in "Index was outside the bounds of the array."

I got this error after doing an iisreset.
I don't remember getting this error ever before.
Strange that it doesn't happen consistently. Sometimes it works fine, and sometimes I get the error. Makes me think this a multi-threading issue or something similar.
var additionalTags = new List<string>(tags);
additionalTags.Add(CacheTags.All);

//Error here
query.FromCache(additionalTags.ToArray());

StackTrace:
Exception Message: Index was outside the bounds of the array.
Stack trace:
   at System.Collections.Generic.List`1.Contains(T item)
   at Z.EntityFramework.Plus.QueryCacheManager.<>c__DisplayClass40_0.b__1(String x, List`1 list)
   at System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(TKey key, Func`2 addValueFactory, Func`3 updateValueFactory)
   at Z.EntityFramework.Plus.QueryCacheManager.AddCacheTag(String cacheKey, String[] tags)
   at Z.EntityFramework.Plus.QueryCacheExtensions.FromCache[T](IQueryable`1 query, MemoryCacheEntryOptions options, String[] tags)
   at Z.EntityFramework.Plus.QueryCacheExtensions.FromCache[T](IQueryable`1 query, String[] tags)

Hello @john-luke-laue ,
Honestly, I don't think there is anything we can do.
Looking at the stack trace, it happens on this line:
if (!list.Contains(cacheKey))

which call the contain method from the list.
At this point, these are some internal method that we don't have access.
Best Regards,
Jonathan

Hello @john-luke-laue ,
This issue will be closed since it has been answered and there is nothing we can really do about it.
Feel free to reopen it if you feel otherwise.
Best Regards,
Jonathan

Hello @nathan-hitchman ,
I don't think it should have been closed either.
We will look at it.

Hello @nathan-hitchman ,
We added two locks to solve this issue: https://github.com/zzzprojects/EntityFramework-Plus/commit/296a3cddff2a3c73da2e89b0d892339944d1ce78
We will closely check it to make sure we don't create any eventual deadlock since we actually locked the object instead of creating a global lock.

Thanks @JonathanMagnan !

Thank you @JonathanMagnan !


Upcoming OpenSlide release will change library filename

The next OpenSlide release, 4.0.0, will include some incompatible API changes.  Those are unlikely to affect you directly, but as a consequence, OpenSlide's soname will change.  This will change the library filename to libopenslide-1.dll on Windows, libopenslide.1.dylib on macOS, and libopenslide.so.1 on Linux.  Since OpenSlideNET loads OpenSlide by filename, you may want to proactively add support for the new names so OpenSlideNET will work with the new release.
For more information, see https://github.com/openslide/openslide/pull/413.  If you have any questions, please ask!

Hi
I would also be interested.
Will you work on it?
Best
Martin

I have created a PR  for the same


Add fork as remote does not include all forks

For large projects, like GitSavvy, only the first few forks (one page?) are shown. If you're looking for a specific fork, which is often the case, you may have trouble finding it.
I suggest keeping the list short, and adding 2 options: "Next page" and "Custom", to allow manually entering a <user>/<repo> formatted fork label.

Surprised to hear this, since the API docs don't mention that this endpoint returns paginated data.  Definitely seems to be a bug if not all forks are listed.

Seems it's a generalized feature, across all resources, as explained here and in more detail here.

#540 adds show_paginated_panel, which may be useful for address this issue.