Translate VM memory requirements to Pod resource requests

This is still work in progress as I am too new to the kubevirt sources and need some directions first!
The resources section of Pod is filled in with memory data
based on the VM memory and QEMU overhead.
This patch also changes the v1.Memory API to make sure all
the necessary information can be represented there.
Signed-off-by: Martin Sivak<EMAIL_ADDRESS>

I cleaned the patch (tests are still failing) to follow the logic of some relevant VMConfig proposals. @michalskrivanek mentioned that some other service will take VMConf and prepare the VM + VMSpec and that it should be fine to include part of VMConfig into VM (or VMSpec) to still have some data that are going to be lost by the conversion to libvirt domain xml format.

@davidvossel is correct, we need to apologize for the different opinions in this patch - you just hit a pretty new area- how we design the API.
For this specific case, let me try to untangle it:
If I look at the libvirt domain format, then I see three fields exposed related to memory and ballooning:

memory: Amount of memory allocated at boot time
maxMemory: Amount of memory which can be allocated to the guest at any given time
currentMemory: The current memory allocation to the guest

@MarSik what is not sufficient in this fields to support ballooning? IIRC you said that libvirt does not provide all required fields. Please elaborate.
Independent of the exact fields, there are three things to solve:

What do we request on the pod?
What do we offer in the VM API?
How does this look in the domxml?

For 1: We can just use what is available - If I am not mistaken, then we want to use the memory value in the pod requests field. The maxMemory value is the value we want to use in the pod's limits field. We also know that we need to adjust these values somehow - but lets defer this.
For 2: If the libvirt fields above are sufficient, then we should expose those in their form - They are not host specific, and are not cluster related, thus we can expose them as is.
For 3: If we expose them ~1:1 in the VM API, then we can also directly serialize them into the domxml. The only difference will probably be that the VM API contains the user friendly amount (1Gi) whereas the domxml serialization takes the amount and unit separately.

In an offline discussion with @MarSik the following items were sorted out:
This PR should be limited to

Exposing the libvirt mem fields in VM.spec.domain (memory, maxmemory, currentMemory). The VM API should follow the same structure as the domxml. The only deviation is to allow the values to be quantities incl units (instead of plain ints which the domxml is taking).
Exposing the libvirt video device related fields (as much as possible). Here as well the same structure is used, but quantities incl units can be specified as values.

Once these fields are in the API, then these fields (memory and video related only) can be used to compute the pod requests and limits fields - for a start.
Ballooning, hotplug, and QoS do influence the pod requests/limits as well, but they are such large topics by themselves that they are taken out of this PR and are discussed separately in the following issues: #397, #398, #399
This should allow us to get this PR merged soon, and give enough thoughts to the related topics.

Why are we following the structure of the domainxml and not of Pods? If managing mixed loads of containers and VMs it is much harder this way.

Today we know that the knobs of libvirt work for both OpenStack and oVirt and Proxmox and others. Thus, as we also aim to support those use-cases, it looks like it makes sense to expose these knobs on the cluster level as well - like not everything as-is, but the granularity looks sane if we want to enable the same quality of control.
A higher-level - iow a simpler API - can then be provided by more opinionated APIs like the VMConfig.
Thus - we should expose the libvirt level of functionality in a sane way on the cluster level - this is the VM API. And the we should provide a more opinionated API which is tuned towards our use-case - this is VMConfig.
To me it's the to ensure that we still have the building blocks (VM) in place, even if it turns out that VMConfig became to opinionated.

I am not talking about taking away functionality. I am talking about the way we are modelling the API structure.
Having something like
    resources:
      limits:
        memory: "800Mi"
      requests:
        memory: "600Mi"
      requires:
        memory: "600Mi"

instaed of
    memory:
        memory: "600Mi"
        maxMemory: "800Mi"
        requires: "400Mi"

Just to illustrate that. That would follow the structure on how you would specify it on a Pod.

Exposing the libvirt mem fields in VM.spec.domain (memory, maxmemory, currentMemory)

I think currentMemory should go to VM.status

I simplified the patch further to only take the plain memory and maxMemory fields from VMSpec.Domain for now. It is still not perfect, because I do not know of a good way of converting the {value, unit} pair to a proper number.
I will add a patch that will use Quantity once I have an idea about how to update the virt-handler conversion code that generates the actuall libvirt domain XML.
I have the QoS structure change Roman requests saved as well, but there is no agreement on where it should go. My preference would be both VMConfig once it lands (for global default) and VMSpec.QoS to allow per-VM instance override. I guess this should be discussed in the three referenced issues.

I will add a patch that will use Quantity once I have an idea about how to update the virt-handler conversion code that generates the actuall libvirt domain XML.

The description at that link might be helpful: https://github.com/jeevatkm/go-model#addconversion--removeconversion-methods

A higher-level - iow a simpler API - can then be provided by more opinionated APIs like the VMConfig.
Thus - we should expose the libvirt level of functionality in a sane way on the cluster level - this is the VM API. And the we should provide a more opinionated API which is tuned towards our use-case - this is VMConfig.

I don't  want to derail the conversation here, but I need to point out that this sentence is very confusing. I've never heard it discussed that the VMConfig API and VM API would differ in the feature set in this way.
In the past we've talked about VMConfig being a superset of VM that allows for persistence across restarts. I've never heard it discussed the VMConfig would have a different feature set than VM as related to how the VM related specs are represented.

@rmohr the issue I see - and it's covered in #399 - is that for VMs we want per-device-qos.
The current pod requests/limits structure looks like it's rather suited to reflected this on the pod level - thus you don't have the granularity to specify it per volume or per network interface (once they land).

@davidvossel it was briefly discussed in #352 that VMConfig provides a higher-level abstraction, which translates into mechanics in VM.

The current pod requests/limits structure looks like it's rather suited to reflected this on the pod level - thus you don't have the granularity to specify it per volume or per network interface (once they land).

So Memory and CPU are on the domain level in libvirt, resources is a good fit. In k8s the resources are on the container level. Every container can have it's own resources section. We can also have additional resource sections, if that structure makes sense on each device requiring that, or stick for device specific qos values to a more libvirt-like format, if required.
I just don't see how additional QoS values on a per-device base are connected to how we structure CPU and Memory for the domain.

Exposing the libvirt mem fields in VM.spec.domain (memory, maxmemory, currentMemory)
I think currentMemory should go to VM.status
EDIT: Actually not even there. If I understand the the meaning of this field correctly, it reflects the memory consumption at query time. That is something which can't be expressed in the status. That is something to expose for a metrics collector (e.g. Prometheus, Heapster, ...).

It is also supposed to be used to set the balloon. It is allowed to be defined at start as the initial balloon size (in effect once guest boots up)

It is also supposed to be used to set the balloon. It is allowed to be defined at start as the initial balloon size (in effect once guest boots up)

Set by the user/cluster or by the ballooning daemon on the host?

Set by the user/cluster or by the ballooning daemon (or virt-handler) on the host?

It can be set by anyone, libvirt doesn't have a host daemon, so in puristic libvirt environment it's the user setting it, oVirt is using a standalone memory overcommit manager setting it on its own.
I suppose we eventually do want a standalone overcommit service. It can either interact with libvirt directly (setting the balloon target) or indirectly by modifying the VM spec's currentMemory(which sets the target)

I would leave ballooning discussion out of this topic, starting a VM with already inflated balloon is something we will eventually want, but it is not a trivial topic (what happens when the guest dost not have a working balloon driver?) and no qemu based virt solution I know about supports it atm.

AFAIU it just sets the target, so it behaves exactly as one would expect - nothing happens:)
I do not consider it anything but a shortcut to not require to explicitly set the target later once you start the VM (you would need API for that)

Where are we at with this feature? Is there anything blocking us from making progress?

Superseeded by #673


[PDI-14342] - 2 ETL transformations can have  the same name by renaming one of them

unify changes made in PDI-14076 with transformations
add tests

@mattyb149, @brosander, review it please

@mattyb149 @brosander @rpbouman  guys, know you're super busy right now but we need this in to wrap up the September SP


HTMLElement: Text property issue

if I want to extract the following HTML element structure then I get a bad text value back
Raw data example:

Processed data example:
1875 South Grant StreetSuite 600San Mateo, CA 94402
Expected value:
1875 South Grant Street Suite 600 San Mateo, CA 94402
Code snippet:
    textFunc := func(e *colly.HTMLElement) {
		_, ok := set[e.Text]
		if !ok {
			set[e.Text] = e.Text
		}
	}
	c.OnHTML("title", textFunc)

is it possible to overwrite the replace function for these HTML tags (
)?

You can get the inner HTML by calling e.DOM.Html(), then the
s can be replaced from the scraper.


python3Packages.pyahocorasick: use upstream patch

Motivation for this change
Follow up to https://github.com/NixOS/nixpkgs/pull/146838, now with upstream patch (from https://github.com/WojciechMula/pyahocorasick/pull/156)
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[X] x86_64-darwin
[ ] aarch64-darwin

[X] 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/)
21.11 Release Notes (or backporting 21.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.

@ofborg build python39Packages.pyahocorasick


grpc php server

Hello guys, do you plan to implement grpc php server?

Nothing much has changed since this comment: https://github.com/grpc/grpc/issues/1304#issuecomment-94085892 We still don't have a plan for PHP server yet. Until we have gathered more interests or use cases from the community, this is not a high priority goal for now.


Is there anyway to wrap the usage?

Hello, we find very useful this Logger but we want to wrap it on our own Logger class, for the case that in a future we want to do more things on Log events (send to our servers, change to another framework...)
But we do not want to lose the functionality of print the file, class and line of the current log message.
¿any ideas?
Thanks

You could create a custom XCGLogDestination (similar to this: https://gist.github.com/DaveWoodCom/71fbb90ca58fd058bf97 ) that sends the log messages to your server or whatever. The library is architected to be very flexible and should be easy enough to extend to your purposes.
As for wrapping it so you can move to another framework later, why would you ever leave? ;) Though that should be easy enough as well, just look at how the logln() method uses default values for __FUNCTION__, __FILE__ etc.


Cannot access Admin page

Once i put my email into the forgot form, no email shows up. I've changed the json file, and receive emails when creating regular accounts.

Thanks for opening an issue.
Make sure your email root user email address is correct and doesn't have any spaces. Also check your spam folder.
If you receive emails from the system for other things (like registration or contact form) there's no reason why you wouldn't receive them for forgot password.

All that is correct nothing goes to spam. When i check the database nothing goes into the user collection. And admin just adds
{
"_id": {
"$oid": "577d12d259e8412f1b052f22"
},
"name": {
"first": "Root",
"last": "Admin",
"full": "Root Admin"
},
"groups": [
"root"
]
}

db.admingroups.insert({ _id: 'root', name: 'Root' });
db.admins.insert({ name: {first: 'Root', last: 'Admin', full: 'Root Admin'}, groups: ['root'] });
var rootAdmin = db.admins.findOne();
db.users.save({ username: 'root', isActive: 'yes', email<EMAIL_ADDRESS>roles: {admin: rootAdmin._id} });
var rootUser = db.users.findOne();
rootAdmin.user = { id: rootUser._id, name: rootUser.username };
db.admins.save(rootAdmin);

When i check the database nothing goes into the user collection.

That seems like the root cause.

meaning i should do what?

If you can't add records to the users collection, I'm not sure what could cause that. I'd assume there would be an error when you tried running this on your MongoDB cli:
> db.users.save({ username: 'root', isActive: 'yes', email<EMAIL_ADDRESS>roles: {admin: rootAdmin._id} });

Also it's always helpful to mention some other details like:

operating system
version of MongoDB
version of node/npm

OS X 10.11
MongoDB shell version: 3.2.7
node v4.4.7
this is the error i get :
2016-07-06T17:13:04.101-0400 E QUERY    [thread1] SyntaxError: illegal character @(shell):1:84
2016-07-06T17:13:04.126-0400 I NETWORK  [thread1] Socket recv() errno:54 Connection reset by peer <IP_ADDRESS>:21000
2016-07-06T17:13:04.163-0400 I NETWORK  [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [<IP_ADDRESS>:21000]

Interesting, your query seems to be using different ticks for the email address field ‘ and ’. Replace those with ' and give it a try.

Thank you the help is much appreciated. Also thank you for building this, can't wait to get started now.

Yay! I'm glad we figured it out.


How-To: tune and provide customisation

Demonstrate how someone could tune alerts and reporting, dashboards, etc. for a specific deployment.

An example for the microlith is now in place to show how to use custom Prometheus alerts with defaults: https://github.com/couchbaselabs/observability/tree/06b40dd3d36e743521a1d9bd76b73a895d5fca78
This supports combining default and custom rules provided at runtime to Prometheus.

/etc/prometheus/alerting

couchbase <-- default rules
custom <-- empty by default, add custom rules here

This allows us to completely override all the defaults or just extend them by mounting to these directories from the host, a config map, volume, etc.
We can even go into only overriding certain defaults in files if needs be: this should encourage a granular file-based break down of rules into separate files to make it easier to target specific ones.
Now, tuning specific rules is a separate issue. We likely want to provide values as environment variables for example. We could use envsubst to process template ones to use at runtime, similar to what we do with the actual Prometheus configuration.
Prometheus has limited ability for fine grained dynamic control over the rules. I did find this as a possible better approach: https://github.com/lablabs/prometheus-alert-overrider
Essentially this is a pre-processor for rules files that we can run at startup that takes the various customisations, overrides and consolidates into a single dynamic view for this run. This would allow a lot more control and flexibility but requires an additional non-standard binary to do it. The licence for that repo is not defined either so we are unable to deliver it.

Rather than overcomplicate things, for now provide substitution via a template file for tuning with an example for how to disable a rule by overriding the file (removing the rule from it).

Tuning now available via environment variables with an example default rule for resident ratio.
These two variables can be used to tune the rule: https://github.com/couchbaselabs/observability/blob/04ee6aea639644d65469cf5ad944534aaa075d65/microlith/prometheus/alerting/couchbase/couchbase-rules.yaml#L16-L17
The downside is we need to add in support for tuning to any rules we might want it for.

I think if we want anything more complex than this we need to consider an approach of pre-processing similar to the linked examples.

Migrated to https://issues.couchbase.com/browse/CMOS-23.


Update Release_Build_Creation.rst for Tested by Section

Added information about verification done.
Describe your changes in brief
Changes

[ ] Why is this change required? What problem does it solve?
[ ] If proposing a new change then please raise an issue first

How Has This Been Tested? (Optional)

[ ] Please describe in detail how you tested your changes.
[ ] Include details of your testing environment, and the tests you ran to
[ ] How your change affects other areas of the code, etc.

Screenshots (if appropriate)
Checklist

[ ] tested locally
[ ] added new dependencies
[ ] updated the docs
[ ] added a test

Will close this pull request and make separate one


Add short_description for hijack_field

Codecov Report

Merging #254 (1ac6d80) into master (4764f98) will decrease coverage by 0.49%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##            master     #254      +/-   ##
===========================================
- Coverage   100.00%   99.50%   -0.50%
===========================================
  Files           12       12
  Lines          207      202       -5
===========================================
- Hits           207      201       -6
- Misses           0        1       +1

Impacted Files
Coverage Δ

hijack/contrib/admin/admin.py
100.00% <100.00%> (ø)

hijack/views.py
98.79% <0.00%> (-1.21%)
:arrow_down:

hijack/signals.py
100.00% <0.00%> (ø)

hijack/templatetags/hijack.py
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

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

@codingjoe  It will work. I've made sure of that and I'm attaching a screenshots.

It seems to be working.


BUG: Momentum token list doesn't return any results

curl -X POST -H "Content-Type: application/json" http://localhost:8080/get_high_returns   -d '{"dex": "uniswap_v2", "lag_return": 12, "daily_volume": 200000}'

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

            <title>Error: 500 Internal Server Error</title>

Error: 500 Internal Server Error

Sorry, the requested URL <tt>'http://localhost:8080/get_high_returns'</tt>
               caused an error:

Internal Server Error

Closing. This is a case where the query actually doesn't return any results. The API and script work https://discord.com/channels/987730379182051408/1065140873811218532/1108430605630308362

This seems to be a temporary circumstance: when no high-volume coin is doing well an empty result is returned.

Reopening this for now. Team cannot confirm that the API actually works. @measure-fi if you have the parameters with which a result would be returned please share here.
@fieldtheory123 are we too restrictive? We tried a few variations with no luck

Last query used (before search parameters were commented out) https://momentumbots.palomachain.com/?dex=uniswap_v2&lag_return=24&vol_30=84855678.16089071&market_cap=0

We are now getting results 🎉 https://momentumbots.palomachain.com/?dex=uniswap_v2&daily_volume=200000&lag_return=6&vol_30=0&market_cap=0
Last open question is if we want to add daily_volume to the UI and allow the user to search on it or if we want to instead remove it from the API (and wherever else it is referenced in the python, js code). Right now it is required for the API to return any results, so the FE will pass in a static value.
cc @fieldtheory123 @taariq

What would daily_volume look like on the UI?

It would be another input parameter here https://www.palomabot.ai/ - in addition to Market Capitalization and 30 Day Volume

Less is more. Let's leave it out. We might a/b test it in the future.

I believe we need @fieldtheory123's help with that - @measure-fi correct me if I'm wrong

dropping daily volume was done by always sending a value of 0 for daily_volume.

dropping 24h return filter here https://github.com/VolumeFi/palomabot/pull/15


feat(time-based-playlisted)

Changes
Ported in local changes (from a slightly older version) where support is added to do time-based segments and playlists instead of duration and segment counts.

Accident


Initial implementation of up-transport-vsomeip-rust

Hi folks!
Here's the initial implementation of a Rust up-transport wrapping vsomeip.
I'm trying to get something out the door to be able to get looked at, but note that it's still in draft status. There's still a fair number of TODOs scattered about. :sweat_smile:
TODO:

[x] Ensure we comply with the 1.5.8 spec for validation
[ ] Iron out remaining TODOs / questions around uProtocol <-> vsomeip
[ ] Add more unit tests
[ ] Add more integration tests
[ ] Modify CI to be triggered on PR to include the compiled .so for vsomeip
[ ] Update docs to note that clang required for vsomeip-sys wrapper around C++ vsomeip library

Closing this one in favor of a (hopefully) cleaner breakdown in #3 and #4


[Bug]: Neptune Property Graph Stores are adding name as label instead of a static label

Bug Description
When using NeptuneAnalyticsPropertyGraphStore or NeptuneDatabasePropertyGraphStore the name value is getting added as a label to the __Entity__ nodes.  When comparing with the other implementations this should be the static BASE_NODE_LABEL string.
Version
11.10
Steps to Reproduce
Run the property graph index using this: https://docs.llamaindex.ai/en/stable/examples/property_graph/property_graph_basic/#construction
Relevant Logs/Tracbacks
https://github.com/run-llama/llama_index/blob/bbad1ba7b540d3482ce6829e2391fa89cb556078/llama-index-integrations/graph_stores/llama-index-graph-stores-neptune/llama_index/graph_stores/neptune/analytics_property_graph.py#L170

https://github.com/run-llama/llama_index/blob/bbad1ba7b540d3482ce6829e2391fa89cb556078/llama-index-integrations/graph_stores/llama-index-graph-stores-neptune/llama_index/graph_stores/neptune/database_property_graph.py#L134

@bechbd Can this be closed now since your PR has been merged?


safe auth status command

For automation purposes, it is necessary to know if the current session is still authenticated.  safe auth status would be useful in this regard, either printing 'authenticated' or 'not authenticated', having a 0 or 1 exit code respectively.  Exit code 2 with a "unaccessible" output would indicate that it can't determine  the authentication status (can't reach the vault, internal issue, etc...)
Fancier version would be a string or json representation of auth type and time remaining if authenticated, with type of "Not Authenticated" and time remaining of 0 if not authenticated, but that may not be possible depending on what safe can access.

addressed by 5c510b6026cf86f1b707220c7e24fc5025bd2dbe

added in v1.5.8


Copy link

[x] Splits CopyLink from ShareInvite
[x] CopyLink in finalized poll

@BreadGenie Thanks for fixing.


[Error] Failed to load resource: The certificate for this server is invalid. You might be connecting to a server that is pretending to be “localhost”, which could put your confidential information at risk. (secured, line 0)

I am trying to hit my local server (https://localhost:8443/somefucn) from an Outlook Addin, I am getting the following error : "
[Error] Failed to load resource: The certificate for this server is invalid. You might be connecting to a server that is pretending to be “localhost”, which could put your confidential information at risk. (secured, line 0)"
Can you please help me with some solution or leads to resolve this.
Regards,
Rounak

@rounakraj7 sorry to hear you're having trouble. Issues in this repo are intended for reporting problems with the Office Add-ins documentation. Can you please post your question to Stack Overflow with the office-js tag and any other tags that are relevant to your dev environment? By posting how-to questions like this to Stack Overflow, you'll not only be able to reach a broader audience of folks who have expertise in the area, but will also enable others to benefit from any answers that are provided there. Thank you!


del module doesn't seem to work with unc server paths

The following works with the drive letter of the a mapped network drive specified:
gulp.task('clean', function() {
  return del([
    "S:/path/to/files/css/*.css",
    "S:/path/to/files/js/*.js",
  ], {force: true});
});

But the //servername/ server paths fail. There are no errors, but the files do not get deleted.
gulp.task('clean', function() {
  return del([
    "//servername/path/to/files/css/*.css",
    "//servername/path/to/files/js/*.js",
  ], {force: true});
});

This sounds like an issue with del rather than with gulp. https://github.com/sindresorhus/del/issues/35

That ^


outDir is not working when using tsconfig

This is my grunt config:
		ts: {
			options: {
				target: 'es5',
				sourceMap: false,
				declaration: false,
				removeComments: false,
				experimentalDecorators: true,
				module: 'commonjs',
				verbose: true
			},
			build: {
				outDir: '.tmp',
				tsconfig: {
					tsconfig: 'app/tsconfig.json',
					ignoreFiles: true,
					ignoreSettings: false,
					overwriteFilesGlob: false,
					updateFiles: true,
					passThrough: false
				}
			}
		}

And my tsconfig.json contains only filesGlob (No compilerOptions section)
Everything works, except that it will not respect the outDir option, all the js file are being generated right next to the ts files...
If I add compilerOptions with outDir inside the tsconfig.json, it will respect it... I also tried setting the ignoreSettings to true, but it didn't change anything

I looked into this tonight.  I believe it is a bug.  I have to think about the correct way to fix it, but it should be doable.  Thanks for the report.

I'm experiencing a similar issue.
This is my tsconfig.json:
{
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "module": "system",
    "moduleResolution": "node",
    "noImplicitAny": false,
    "outDir": "build/develop/assets/scripts",
    "removeComments": false,
    "rootDir": "src/scripts",
    "sourceMap": false,
    "target": "ES5"
  },
  "exclude": [
    "node_modules"
  ]
}

And this is the grunt-ts config in my Gruntfile.js:
  ts: {

      develop: {
        tsconfig: true,
        src: '<%= files_internal.scripts %>'
      }

    }

Problem: When I run grunt, the outDir is respected and .js-files are generated in build/develop/assets/scripts, but when I use grunt-contrib-watch execute the ts task, the outDir is not respected and .js-files are genereated right next to their .ts-files.
Here is the grunt-contrib-watch part of my Gruntfile.js:
  ts: {
        files: [
          'src/scripts/**/*.ts'
        ],
        tasks: [
          'ts:develop',
          'karma:unit',
          'index:develop'
        ]
      }

Any thoughts?

Please check out the latest beta which should resolve this issue.

I'm using 5.3.0-beta.3, is this the latest beta?

@stefankolb yes.  Would you please start grunt with the --verbose switch and let me know what is being passed to tsc in the different scenarios?  We don't have any tests setup with grunt-config-watch so I'm curious what is different?

btw I'm just about to release 5.3.0-beta.4 but it is unlikely to make a difference as it just changes some stuff with HTML template processing

@nycdotnet Sorry my answer took a while, but I'm quite puzzled. After starting grunt with --verboseeverything was working fine. So I tried starting grunt without --verbose and everything was working fine, too. To be honest, I have no idea what I did to make this work correctly. Sorry to not be of any more help here.
Anyway, here is the output of both scenarios. Maybe this is of some use for you or anyone in the future.
grunt develop
[...]
Running "ts:develop" (ts) task
Verifying property ts.develop exists in config...OK
Files: src/scripts/boot.ts, src/scripts/app.component.ts
Compiling...
Cleared fast compile cache for target: develop
### Fast Compile >>src/scripts/boot.ts
### Fast Compile >>src/scripts/app.component.ts
Using tsc v1.7.3
"/Users/stefan/development/source/web2epub/src/scripts/boot.ts" "/Users/stefan/development/source/web2epub/src/scripts/app.component.ts" "/Users/stefan/development/source/web2epub/src/scripts/.baseDir.ts" --emitDecoratorMetadata --experimentalDecorators --moduleResolution node --rootDir src/scripts --target ES5 --module system --outDir build/develop/assets/scripts/app
Writing .tscache/develop/timestamp...OK
Writing .tscache/develop/hashes/boot.ts-d4b0f35f1d1c846332e093ec486a9efe...OK
Writing .tscache/develop/hashes/app.component.ts-7d6b337679034f3111d154075e254bac...OK
Writing .tscache/develop/hashes/.baseDir.ts-b06a9234b92109037dbbd5e0f375ed75...OK
[...]

grunt watch (grunt-contrib-watch), file boot.ts has been edited:
[...]
Running "ts:develop" (ts) task
Verifying property ts.develop exists in config...OK
Files: src/scripts/boot.ts, src/scripts/app.component.ts
Compiling...
### Fast Compile >>src/scripts/boot.ts
Using tsc v1.7.3
"/Users/stefan/development/source/web2epub/src/scripts/boot.ts" "/Users/stefan/development/source/web2epub/src/scripts/.baseDir.ts" --emitDecoratorMetadata --experimentalDecorators --moduleResolution node --rootDir src/scripts --target ES5 --module system --outDir build/develop/assets/scripts/app
Writing .tscache/develop/timestamp...OK
Writing .tscache/develop/hashes/boot.ts-d4b0f35f1d1c846332e093ec486a9efe...OK
Writing .tscache/develop/hashes/.baseDir.ts-b06a9234b92109037dbbd5e0f375ed75...OK
[...]

This is resolved via a warning in grunt-ts v5.3.0 which was just pushed to npm. Please comment or re-open if there are any remaining issues. Thank you for contributing!
I appreciate the info @stefankolb - I am assuming it's resolved now. Please let me know if it happens again with 5.3.0 final.


Add Socket option in Custom MySQL Configuration

Though there are abundant configuration options in the current version, however, I want to use a custom socket for my configuration. As I am using MAMP, it runs MySQL with a custom configuration with a custom socket => /Applications/MAMP/tmp/mysql/mysql.sock
Other Server Side Swift Frameworks such as Perfect Swift provides this 'Socket' option.
I hope this option will be added in Vapor too.

Related to https://github.com/vapor/postgres-kit/pull/170


Misunderstanding creatable / looking for callback on pick create value

Hi,
We are currently trying to implement a select that allows to create a new item. Our createable function should eventually open a dialog to create a new element (we have multiple fields, that need to be provided).
TL;DR:
To rephrase: we don't actually need an option that immediately creates a value, but one, that triggers a callback which eventually allows to add a new option which is then fed back into our controlled select) - is there a way to achieve that? 🙂
For now we simply tried to add a creatable function like this, to achieve the most basic functionality:
...
createable: (value) => {
     console.log({ value })
     return value
} ,

However we noticed, that the function is being called on every input event. I would expect it to only populate the create-option and allow me to select it, to create a new option. (opening the aforementioned dialog in our case).
What would be the correct way to go about this?
I noticed in your source code, that the creatable function basically is just a means to decide how the value is calculated, but when is the value actually created? It looks like its just appended to the available options. Is there currently no way to achieve, what we need?
Thanks in advance

Nevermind, we misunderstood the behavior of the select.
For everyone wondering the same thing, here is how you would go about this:
Considering you have a controlled select, you basically have two kinds of Select-Options:
type SelectOption =
     | { type: 'existing'; label: string; value: YourThing }
     | { type: 'new'; label: string }

Now your createable-function has to return an option of the second type.
That way you can decide how to react to the selected option inside your onChange-handler.


[Linux Binaries] add install & readme files

On linux binaries of MUSIC, it would be important to add README and INSTALL (how to) files in the directory of the binary.

Documentation website has been done for that purpose also


Fix for Xcode 12.4 failing to build

Fix for Xcode 12.4 failing to build.
Related issue: #2656

Normally we do our PRs off of develop branch but I'll make an exception since they are both in sync right now.

Tagged at 5.3.2

Sorry, that wasn't intentional. Initiated the PR from the AudioKit side and didn't notice it was targeting main. Usually I initiate from my branch and it always targets develop.

The first PR CI run seems to be freewheeling for some reason. Might want to manually cancel it manually: https://github.com/AudioKit/AudioKit/actions/runs/1714913244


Stack maps for traps are not correct and are not necessary

Currently Cranelift will emit a stack map for a trap instruction. This is frequently done with .take_stack_map(), however, and some "compound opcodes", such as float-to-int conversion on x64, have many traps throughout their body. Only one trap will get the stack map when they theoretically all need the stack map.
Additionally, though, Wasmtime doesn't actually need stack maps at trap opcodes since after a trap an instance will be terminated and all stack-based roots will become unrooted and candidates for GC.
Given this I think it would be best to remove all stack maps from traps since they're otherwise just taking up space in the compiled artifact and aren't getting used for anything.

This seems correct to me (i.e., safe to remove); and furthermore, might result in decent codegen improvements in code using reftypes. This is because in addition to the stackmap metadata itself, the safepoint-at-every-trap implies spilling all ref values to the stack. So code that (i) has refs and (ii) has other ops that trap, like divides or non-truncating float/int conversions, might see speedups.


Add util for getting latest internal image versions [AS-176]

Rationale
For integration tests, we need to know what images tags to use.  Before a release, we may use internal images stores in our docker registry. So let's add a script to do that for us.
Changes

Makefile

Targets for "popular" of release version, dev and rc

script wrapping gcloud cli commands to get the latest tag based on version and "segment"

Checklist

[ ] This PR maintains parity between Docker Compose and Helm

Testing

Makefile Example Usage
[fiftyone-teams-app-deploy]$ make get-image-versions
./utils/get-image-versions.sh "1.7.0"
fiftyone-app
fiftyone-teams-api
fiftyone-teams-app
fiftyone-teams-cas
[fiftyone-teams-app-deploy]$ make get-image-versions-dev
./utils/get-image-versions.sh "1.7.0" dev
fiftyone-app	v1.7.0.dev9
fiftyone-teams-api	v1.7.0.dev9
fiftyone-teams-app	v1.7.0-dev.9
fiftyone-teams-cas	v1.7.0-dev.1
[fiftyone-teams-app-deploy]$ make get-image-versions-rc
./utils/get-image-versions.sh "1.7.0" rc
fiftyone-app	v1.7.0rc8
fiftyone-teams-api	v1.7.0rc8
fiftyone-teams-app	v1.7.0-rc.7
fiftyone-teams-cas	v1.7.0-rc.7

Script Example Usage
[fiftyone-teams-app-deploy]$ ./utils/get-image-versions.sh "1.6.0" ""
fiftyone-app	v1.6.0
fiftyone-teams-api	v1.6.0
fiftyone-teams-app	v1.6.0
fiftyone-teams-cas	v1.6.0
[fiftyone-teams-app-deploy]$ ./utils/get-image-versions.sh "1.6.0" "beta"
fiftyone-app	v1.6.0-beta.2
fiftyone-teams-api	v1.6.0-beta.2
fiftyone-teams-app	v1.6.0-beta.2
fiftyone-teams-cas	v1.6.0-beta.2
[fiftyone-teams-app-deploy]$ ./utils/get-image-versions.sh "1.6.0" "rc"
fiftyone-app	v1.6.1rc3
fiftyone-teams-api	v1.6.1rc3
fiftyone-teams-app	v1.6.0-rc.9
fiftyone-teams-cas	v1.6.0-rc.9
[fiftyone-teams-app-deploy]$ ./utils/get-image-versions.sh "1.6.0" "dev"
fiftyone-app	v1.6.0.dev1_f01e045
fiftyone-teams-api	v1.6.0.dev8_f64bd6e
fiftyone-teams-app
fiftyone-teams-cas	v1.6.0-dev.3

❯ VERSION=1.6.0 make get-image-versions
./utils/get-image-versions.sh "1.6.0"
fiftyone-app    v1.6.0
fiftyone-teams-api      v1.6.0
fiftyone-teams-app      v1.6.0
fiftyone-teams-cas      v1.6.0

Makes sense, so I guess it's fine to leave it with a null output when the release doesn't exist?  Feels like it's hard to parse, but I'm sure you have a plan.

Suggestion - update get-image-versions to always return the latest version... start by looking for an exact match for the release version (and return it if found), then check for the highest numbered rc (and return it if found), then check for the highest numbered dev version (and return it if found)?  Folks who are working on/testing release/v1.8.0 may not know if they're looking for an rc, a dev, or a final release?
just an idea

Makes sense, so I guess it's fine to leave it with a null output when the release doesn't exist? Feels like it's hard to parse, but I'm sure you have a plan

Can you explain what's hard to parse?
The gcloud CLI doesn't sort by versions. But after adding a pipe to sort -V:
[fiftyone-teams-app-deploy]$ ./utils/get-image-versions.sh "v1.7.0" dev
fiftyone-app	v1.7.0.dev20
fiftyone-teams-api	v1.7.0.dev20
fiftyone-teams-app	v1.7.0-dev.16
fiftyone-teams-cas	v1.7.0-dev.1

If we have an empty string, instead we can change to "Not found"
[fiftyone-teams-app-deploy]$ ./utils/get-image-versions.sh "v1.7.0"
fiftyone-app	Not found
fiftyone-teams-api	Not found
fiftyone-teams-app	Not found
fiftyone-teams-cas	Not found

Suggestion - update get-image-versions to always return the latest version... start by looking for an exact match for the release version (and return it if found), then check for the highest numbered rc (and return it if found), then check for the highest numbered dev version (and return it if found)? Folks who are working on/testing release/v1.8.0 may not know if they're looking for an rc, a dev, or a final release?

This is a fine suggestion. However, it would require a total refactor.  And at that point, probably rewrite in Python.  The bash gcloud cli doesn't make this easily possible.
Tags:
 gcloud artifacts tags list --location=us-central1 --repository=dev-docker --project computer-vision-team --package fiftyone-app --format json --filter="version ~ 52a1220305f6d39882d52a561b7e4469a19aaa0f0aacafabaf689d204f57962a"
Listing items under project computer-vision-team, location us-central1, repository dev-docker, package fiftyone-app.

[
  {
    "name": "projects/computer-vision-team/locations/us-central1/repositories/dev-docker/packages/fiftyone-app/tags/v1.8.0.dev14",
    "version": "projects/computer-vision-team/locations/us-central1/repositories/dev-docker/packages/fiftyone-app/versions/sha256:52a1220305f6d39882d52a561b7e4469a19aaa0f0aacafabaf689d204f57962a"
  }
]

and "versions"
$ gcloud artifacts versions list --location=us-central1 --repository=dev-docker --project computer-vision-team --package fiftyone-app --sort-by CREATE_TIME --format jso
n
Listing items under project computer-vision-team, location us-central1, repository dev-docker, package fiftyone-app.

[
  {
    "createTime": "2024-02-12T18:48:05.753871Z",
    "metadata": {
      "buildTime": "2024-02-12T18:46:38.191179115Z",
      "imageSizeBytes": "641065274",
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "name": "projects/computer-vision-team/locations/us-central1/repositories/dev-docker/dockerImages/fiftyone-app@sha256:36f8ee827eab36b890c0ce099339130440c99ed94fffc720adf792b1bb65cffd"
    },
    "name": "projects/computer-vision-team/locations/us-central1/repositories/dev-docker/packages/fiftyone-app/versions/sha256:36f8ee827eab36b890c0ce099339130440c99ed94fffc720adf792b1bb65cffd",
    "updateTime": "2024-02-12T18:48:05.753871Z"
  },
...
]

For what I needed this for, it works. We can iterate (to improve) to build anew when the time comes.


Cleanup graphnode and monitor DB

TODO

[x] Investigate size of each services(Data Feed, VRF, RR)

DB size chart

[x] List-up removable data(it isn't need keep old data) in Data Feed

#1141 (WIP)

[ ] #a Investigate removable data in VRF or RR(#1080)
[ ] Write migration script to delete removable data that related to Data Feed
[ ] (Depended #a) Write migration script to delete old data that related to VRF, RR

This issue is have two sub-issues. But, graph-node closed. So, I'll close it. Because it's duplicated #1080.


Add Rust

Add support for the Rust Programming Language

This is a Javascript library - if you find a compatible Rust library then it can be linked to in the Readme

Hello. As stated by Rycochet, this is a JavaScript library.
Writing a port to Rust should be trivial and only take a couple of hours (providing you're proficient in Rust). Instructions to do so are here: https://pieroxy.net/blog/pages/lz-string/index.html#inline_menu_7
If you ever get to do it, please open another issue here so that we can link your implementation in the readme.
I'll close this issue now as this is off topic.


Update rocksdb to 0.24.0

update rocksdb to version 0.24.0

I believe that since rocksdb 0.24.0 is not cached, this PR takes a very long time to run tests.


Customize plist file name

@joshdholtz please take a look!

@dlichtenegger Ah, thanks for the poke! Must have missed this initially 😊


python310Packages.threadpoolctl: disable failing test

Description of changes
Fix build (https://hydra.nixos.org/build/197503516)

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

[x] Fits CONTRIBUTING.md.

How do you analyze the root cause for this failure @fabaff ? Is there any upstream issue on that?

Is there any upstream issue on that?

There is: https://github.com/joblib/threadpoolctl/issues/128
Was fixed with #199857


Installation error

Hi! Sorry,
I am trying to install the package but I get this error: installation of package had non-zero exit status
I updated and restarted R Studio
I tried different ways to install it (install package command, install from Github, install from the file)
Any suggestion is welcome!
Thank you

hi @anbelmar
can you paste the full output to tell you something informative?


Difference between CoAPthon and txThings

Hi,
Could you kindly explain the difference between CoAPthon and txThings ?
Thanks,
Venkat

Hi, yes CoAPthon is no more based on the twisted framework. Instead it provides a plain python implementation of the CoAP protocol.

Thanks


CorrelationID deferred evaluation.

When use Netty, headers and body are retrieved in separate steps. Logbook creates correlationId when only headers are requested, and both is yet not. But 1st print is happens after request is read completely. This prevents usage of some information from the body in evaluation of correlationId, for example SOAP WSA_ADDRESSING attributes.
Detailed Description
Precorrelation object is created at the very beginning of the process, in Netty pipeline body is not yet read. It's not used in pairing of request and response, and only used in writing stage. Writing stage is evaluated after request body is read from Netty channel. Currently Precorrelation contains direct string value for correlationId, which makes it impossible to use any information
from the request body in generation of correlationId.
If SimplePrecorrelation would use provider instead of direct string value for correlationId, this would allow to postpone the generation of correlationId to the moment when it's really necessary and all information is available.
    private Precorrelation newPrecorrelation(final HttpRequest request) {
       // If SimplePrecorrelation would accept  _provider_ instead of direct value, issue would be solved.
        return new SimplePrecorrelation(correlationId.generate(request), clock);
    }

    public RequestWritingStage process(final HttpRequest originalRequest, final Strategy strategy) throws IOException {

        if (sink.isActive() && predicate.test(originalRequest)) {
           // Here correlationId is _already_ evaluated, but request body is not yet available
            final Precorrelation precorrelation = newPrecorrelation(originalRequest);
            final HttpRequest processedRequest = strategy.process(originalRequest);

            final HttpRequest request = new CachingHttpRequest(processedRequest);
            final HttpRequest filteredRequest = requestFilter.filter(request);

            return new RequestWritingStage() {
                @Override
                public ResponseProcessingStage write() throws IOException {
                   // Time when correlationId is _really_ necessary
                    strategy.write(precorrelation, filteredRequest, sink);

                    return this;
                }

                @Override
                public ResponseWritingStage process(final HttpResponse originalResponse) throws IOException {
                    final HttpResponse processedResponse = strategy.process(filteredRequest, originalResponse);

                    return () -> {
                        final HttpResponse response = new CachingHttpResponse(processedResponse);
                        final HttpResponse filteredResponse = responseFilter.filter(response);
                       // Next time correlationId is necessary
                        strategy.write(precorrelation.correlate(), filteredRequest, filteredResponse, sink);
                    };
                }
            };
        } else {
            return Stages.noop();
        }
    }

Context
Micronaut and might be other Netty related servers, when assembly of the request happens in several steps. SOAP processing and a business requires to use some of WSA-ADDRESSING attributes as correlationId in the logs.
Possible Implementation
As explained in detailed description - defer generation of correlationId till the moment it's actually necessary and whole request is read from Netty channel.
Your Environment
Micronaut SOAP server.

Version used: logbook v 2.14.0
Link to your project: private

SOAP processing and a business requires to use some of WSA-ADDRESSING attributes as correlationId in the logs.

Can you elaborate on that a bit?


adding instructors and a helper

more to come i guess

I gave the team w-permissions now.

Don't forget me as a helper :-)

Don't forget me as a helper :-)

#6.


AttributeError: 'module' object has no attribute 'reuse_variables'

Not quite sure why I'm getting this error. Does it have something to do with reuse_variables still being experimental?
Thanks

Hi jontoto,
reuse_variables was recently moved from experimental to utils.
Can you provide a bit more context on how you are getting this error?
Maybe a reproducible code snippet or a stack trace.
Also, can you confirm you are using version 1.3?

I missed the update and was trying to use the docs for the newer version, my mistake.
Thanks for the help!


Travelling Salesman Problem

Is your feature request related to a problem? Please describe.
We are given a set of cities and distances between pair of cities. We need to find the shortest path such that every city is visited only once. and returns to the starting point.
Describe the solution you'd like
The path with minimum cost will be found using backtracking approach.
Do you want to work on it
I am Gssoc participant and will the solution in C++.

Duplicate of #370


[GRADIENT] Add backward operator to enable backward graph

@kevinthesun and I are currently working on supporting backward graph in NNVM.
Our current plan is to add backward to most commonly used operators in top folder.
This PR is trying to gather feedback from community, more operators support will come in the following PR.

With this patch, only elementwise_add and sqrt operator are covered with backward. We think it would be good to have a complete framework first and then add more operators. Same idea apply to potential  parameter update graph pass. Currently there is no optimizer operator defined in nnvm. We can start with naive SGD and add more latter.

For most of the new simple operators like sqrt, we prefer not do add them as backward operator (with reference to forward version), but instead define FGradient by returning composition of new forward operators.
Bulk backward operator is only needed when there is need of shape inference like conv2d

@tqchen @ZihengJiang @kevinthesun @piiswrong
I have addressed Tianqi's comment and added tests for simple operators.
Please let me know your thoughts.

Currently, nnvm does not have ones or zeros ops, added fill/fill_like operator to serve the same functionality.
@kevinthesun and I think current ops are complete for testing backward graph generation flow after this PR.
Can you please review? @tqchen
Thanks!

please update docs/top.rst to include the operators. cc @ZihengJiang for doing a code review, i have already done a rough pass

@ZihengJiang @yidawang @piiswrong

there is a fix of tutorial commit at most just now, please rebase

Test passed

LGTM


Span Extraction Evaluation

I'm running experiments on the DSTC8/Restaurant8k datasets you've provided, but I'm not clear on how exactly you do evaluation. I understand that you're doing macro averaged F-1 on predicted spans, but it's unclear how you deal with utterances with no slots. Would you be willing to share your evaluation script to ensure consistent evaluation? If not, any information you can provide regarding the evaluation methodology would be greatly appreciated.
Thank you!

Hi @Shikib - thanks for raising this!
For calculation of precision and recall, we do the following for each slot.
precision = (number of correctly predicted examples with spans)/(all examples with a span predicted)
recall = (number of correctly predicted examples with spans)/(all examples with a span label)
So in this case, an example with no label would contribute to precision if the model erroneously predicts a span for that example.
Hope this clears things up! We are all a bit busy here at the moment, otherwise I'd be happy to refactor/open-source the eval code we have.

Thanks for clarifying Sam, a few follow-up questions.

You say "we do the following for each slot", are you computing the precision/recall/f1 for each slot type and then macro averaging? Or micro averaging?

It's unclear to me what you mean by "correctly predicted example". If there are multiple spans in a single utterance, is it marked as correct only if everything is correct?

Since natural language is ambiguous, I wrote the following code snippet based on my interpretation of your answer. Could you please confirm that it's doing the right thing?
true = [ [("time", 1, 10)] , [("time", 1, 10), ("people", 12, 14)]  ... ]
pred = [ [("time", 1, 10)] , [("time", 1, 10), ("people", 12, 15)] ... ]
slot_types [ "time", "people"]
slot_type_f1_scores = []

for slot_type in slot_types:
  tp, fp, fn = 0,0,0
  for t,p in zip(true, pred):
    true_spans = [e for e in t if e[0] == slot_type]
    pred_spans = [e for e in p if e[0] == slot_type]
    if len(true_spans) > 0 and true_spans == pred_spans:
      tp += 1
    else:
      if len(pred_spans) > 0:
        fp += 1
      if len(true_spans) > 0:
        fn += 1

  precision = tp/(tp+fp)
  recall = tp/(tp+fn)
  f1_score = 2*precision*recall/(precision+recall)
  slot_type_f1_scores.append(f1_score)

overall_f1 = np.mean(slot_type_f1_scores)

Thank you!

Thanks for sharing your code, I tried to edit it to how we calculated the F1.
(I did it all using vanilla lists - it's much cleaner using numpy but a little harder to grok)

true = [ [("time", 1, 10)] , [("time", 1, 10), ("people", 12, 15)]]
pred = [ [("time", 1, 10)] , [("time", 1, 9), ("people", 12, 15)]]
slot_types = [ "time", "people"]
slot_type_f1_scores = []

import numpy as np

for slot_type in slot_types:
    predictions_for_slot = [
        [p for p in prediction if p[0] == slot_type] for prediction in pred
    ]
    labels_for_slot = [
        [l for l in label if l[0] == slot_type] for label in true
    ]

    proposal_made = [len(p) > 0 for p in predictions_for_slot]
    has_label = [len(l) > 0 for l in labels_for_slot]
    prediction_correct = [
        prediction == label for prediction, label in zip(pred, true)
    ]

    true_positives = sum([
        int(proposed and correct)
        for proposed, correct in zip(proposal_made, prediction_correct)
    ])
    num_predicted = sum([int(proposed) for proposed in proposal_made])
    num_to_recall = sum([int(hl) for hl in has_label])

    precision = true_positives / (1e-5 + num_predicted)
    recall = true_positives / (1e-5 + num_to_recall)

    f1_score = 2 * precision * recall / (1e-5 + precision + recall)
    slot_type_f1_scores.append(f1_score)

    print(f'scores for {slot_type}:')
    print(f'precision:{precision}:')
    print(f'recall:{recall}:')
    print(f'f1_score:{f1_score}:')
    print('=====\n')

overall_f1 = np.mean(slot_type_f1_scores)

print(f'mean f1: {overall_f1}')

should print:
scores for time:
precision:0.49999750001249993:
recall:0.49999750001249993:
f1_score:0.49999250006249973:
=====

scores for people:
precision:0.0:
recall:0.0:
f1_score:0.0:
=====

mean f1: 0.24999625003124987

Thank you so much Sam! This is really helpful.

Sorry for bugging you so much about this, I promise this is the last question.
Just wanted to clarify that prediction_correct = [prediction == label for prediction, label in zip(pred, true)] should be prediction_correct = [prediction == label for prediction, label in zip(predictions_for_slots, labels_for_slots)] instead, right?

@Shikib yes you are correct, I'll update my comment above so no one esle has that mistake

Thanks Sam! Closing this issue.


rodash.d.bs not being respected for some users

In some installs, rodash.d.bs not being respected for brighterscript users

@TwitchBronBron you da real MVP

Glad to help!


introduce rollup bundler

Hi again,
here's a setup to bundle bsn with rollup. Babel with preset-env is used to transpile JS. I've tested dist JS files only for Drowndown functionality until now.
The next days I'm going to import individual components in a project to see how this works out.
Cheers
midzer

Thanks so much for your contribution, amazing work :)

Thanks. Been great fun. I had a (hopefully good) sample rollup.config.js at hand ;)
I am thinking about moving src folder and containing index.js to root as well.
This way, you should be able to just do
import BSN from 'bootstrap.native'

and import individual components via
import Alert from 'bootstrap.native/src/alert-native.js'

What do you think about that?

Don't worry about those, you took the thoughts out of my mind. I have some other questions:

Is the _classCallCheck required for the ES5 build to work, can we just remove it somehow? Perhaps we could do for instance function Alert(element){} instead of constructor(element){}?
Is it possible to export components to window on the ES5 build? We don't want to upset people that might have to change new Tooltip(element) to new BSN.Tooltip(element).
Just like the above, is it possible to expose initCallback() and removeCallback() to window.BSN folder, just like in our previous builds?
Can we have an optional build option for included components [alert,button] similar to the previous build script?
Can we order required utils to functions first then vars?
Can we set a custom text indentation for the build, the way babel works is kinda sloppy? Or is anything we can do about it?
Similar to original plugins, can we also do an esm build? Can we also do a bundle to include polyfills (those will need to be lebabified)?

If I have other questions, don't miss them :)

To answer my own question, I found that export default function Alert(element){} seems to do the job. What do you think about that?

I think I figured on how to do ESM as well.

Tough and good questions! As I'm just learning rollup myself, I have to investigate more deeply.
A checklist in https://github.com/thednp/bootstrap.native/issues/306 would be helpful what tasks are still to be done and others might help out as well.
Meanwhile, until you push your new findings, I'm going to look for other libraries which do rollup and esm modules, too.
Sorry of being of no help right now. Let's solve remaining aspects together.

@midzer will do asap


Paloma validators are getting jailed

What is happening?

Section description
Provide as much context as you can. Give as much context as you can to make it easier for the developers to figure what is happening.

Since around last Friday, 20/09 Validators are getting jailed for failing to provide evidence on message attestation. There are some validators reporting RPC issues on the logs, but it doesn't explain the amount of validators being jailed.
Paloma and pigeon versions and logs

Section description
Write down paloma version.
Write down pigeon version.
Copy and paste pigeon config file as well as relevant ENV variables.

Started on Paloma/Pigeon v2.2.1 and continues on v2.2.2.
How to reproduce?

Section description
Please write detailed steps of what you were doing for this bug to appear.

Section description
If you know, please write down what is the expected behaviour. If you don't know, that's ok. We can have a discussion in comments.

Pigeons provide evidence for message attestation and do not get jailed.

Fied with https://github.com/palomachain/pigeon/pull/441


:bug: allow window to be undefined in api-support test

Description
When running SSR, any window-related hooks that call isApiSupported are failing because window is undefined.
Related Issue

This came up before as #63 and was fixed in #64 - but it looks like it was then re-broken 2 days later in #66
Motivation and Context
This allows a few key hooks (like useResizeObserver, etc) to exist in components that are rendered server-side, without crashing
How Has This Been Tested?
I ran this locally
Screenshots (if appropriate):

Hi @alecf
thank you very much! :)


UI issue: rounded corner (border-radius) doesn't work on Safari with latest ai-dialog{display:table}

I'm submitting a bug report

Library Version:
1.0.0-beta.3.0.1

Operating System:
OSX 10.12

Node Version:
6.7.0

NPM Version:
3.10.3

JSPM OR Webpack AND Version
aurelia-cli 0.21.0

Browser:
Safari 10.0

Language:
all

Current behavior:
On Safari, sharp corners with white background stick out the rounded border.
This issue doesn't appear on Firefox or Chrome. I have tested on IE/Edge.
Expected/desired behavior:
By pass this Safari related css issue if possible.

What is the expected behavior?

What is the motivation / use case for changing the behavior?

@PWKad Can you take a look?

This is due to the border that is applied to the dialog.  For the border to work we would have to refactor the styles again.  Bootstrap for instance uses an additional nested element to combat this.  After looking at it at high res I don't think you can see the border anyway.  I'm voting to remove the border on ai-dialog to close this issue.
Can anyone confirm that the border is unnoticable?

This is a Safari-only issue. I am fine without rounded corner, but the fix might annoy some other developers who don't care about Safari.

The rounded corner would stay it is the border that is almost in discernable

Great. Yes the border is not noticeable because of the dark shadow around it.

Closed by https://github.com/aurelia/dialog/commit/d60e2346f5458998c388c4d9147bc674dabbc103


COMP: Address OSX Clang "direct access" linkage warnings

Template classes and template funcitons which don't explicitly specify
linkage can create symbols with mixed linkages which results in a
warning. Add missing specification to template member functions and
classes producing warnings.

This patch address the warning on the OSX system I was working on. I don't how how ITK_TEMPLATE_EXPORT for template functions behaves across platforms and configurations. Has it been used before with template functions?

Yes, some problems have been fixed in Windows builds by complete specification of ITK_TEMPLATE_EXPORT, I think. There is usually no problem in adding it, and it usually works without it.


Hi team, Do you know, when will this Add-on compatible with jira version 8.5.1?

Azure documentation issue guidance
Thanks for opening an issue in the Azure technical documentation repository.
We use GitHub issues as the primary channel for customer and community feedback about the Azure documentation.
Creating an issue
We prefer that you create documentation feedback issues using the Feedback link on the published article - the feedback control on the doc page creates an issue that contains all the article details so you can focus on the feedback part.
You can also create a feedback issue here in the repo. If you do this, please make sure your issue lists:

[ ] The relevant Azure service or technology.
[ ] A link to the published documentation article that you have feedback about.
[ ] Clear, specific feedback that the author can act on.

Pull requests and article contributions
If you know the change that is needed in an article, we encourage you to submit the changes directly using a pull request. If the change is large, or if you want to contribute an entire article, follow these guidelines:

[ ] Don't surprise us with a big pull request or a pull request with a new article! Submit an issue that describes the details of the proposed large change or new article.
[ ] Include the service or technology area.

We'll route the issue to the appropriate content team for review and discussion.
Tech support and product feedback
If you would like to contact Microsoft about other things, such as product feedback or tech support, please review these guidelines:

If you need technical support using Azure, the paid and free support options are described here: https://azure.microsoft.com/support/options/.

Each article in the Azure technical documentation contains a product feedback button - it's best to submit product feedback directly from a relevant article. Otherwise, you can submit product feedback for most Azure products in the following product feedback forum: https://feedback.azure.com/forums/34192--general-feedback.

@mandiaya Thanks for the comment! Please provide more details on what service you're using and you need this add-on and also share the document link you're referring to for context.

@mandiaya Thanks for the comment! Please provide more details on what service you're using and you need this add-on and also share the document link you're referring to for context.

Hi @SadiqhAhmed-MSFT
I want to use 'Azure Active Directory single sign-on (SSO) integration with JIRA SAML SSO by Microsoft ' this add-on. Since this add-on not compatible with  our jira version 8.5.1. So I want to know, is there a plan to release a compatible version if this add-on ?
https://docs.microsoft.com/en-us/azure/active-directory/saas-apps/jiramicrosoft-tutorial
Thanks,
Mandia

@mandiaya Thank you for your feedback . We do have a request on the azure uservoice feedback forum and we would request you to vote for the same .
Vote for Updating Jira plugins
Additionally we would update the author as well for this request.
@jeevansd Could you please have a look at this request.

Hi @jeevansd
Is this Add-on compatible with jira 8.2.6?

@mandiaya Yes the plugin is compatible with JIRA 8.2.6 and also 8.5.1
The doc is also updated for the same. If you have issues in the configuration in using SSO please raise the support ticket.

#please-close


build fails

Trying to build this package on an Arch with  npm install aisdecoder --python=/usr/bin/python2 but it fails.
Logs on pastebin npm-debug.log, build.log.
Cheers

I am having a build problem while trying to install aisdecoder npm install aisdecoder
gyp ERR! build error
gyp ERR! stack Error: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe failed with exit code: 1
Node v4.2.5
Npm v3.4.0
Python v2.7.12
Node-gyp v3.4.0
Thanks


Website with documentation not working

The website halilibo.com/compose-richtext is currently not working. Could you fix it or copy the documentation to GitHub?

Yes, I'm aware of this problem. I had to move my domain thanks to Google Domains being deprecated 🤦♂ I'll try to solve this issue conventionally by making sure the dns nameservers and records are up-to-date. If it fails, I'll just simply remove halilibo.com domain from my github pages and host the docs without a custom domain.

I can now access the site. Please confirm that you are able to access too so we can close this issue.

Yes, it's working. Thanks!


The API Reference link in the sidebar leads to hooks_riverpod api reference

Describe what scenario you think is uncovered by the existing examples/articles
Regardless of whether the switch for flutter_hooks is selected, the link leads to the hooks_riverpod API page.
It should lead here under normal circumstances.
https://github.com/rrousselGit/riverpod/blob/0bae2121b245ba44c95eae1234cbeccd31f061f7/website/sidebars.js#L310-L312

It's a technical limitation. There's no easy way to switch this link with the toggle.
And I don't think that's a big deal either.


Contract improvements

Based on #29. Closes #35.
First of all, we improve contract internals by leveraging
defoverridable/1.
Secondly, we add contract reflection: for each defined contract there
would be a __contract__({name, arity}) clause defined on the module.
For now, reflection is considered private API and can change anytime,
but it might become public API eventually.
Finally, we make contract argument names optional, this is now valid:
@contract rgb_to_hex(rgb(), rgb(), rgb()) :: hex()

Under the hood, the arguments are given names like arg1, arg2 etc
but that's an implementation detail of reflection API that is again
private for now.

Ping :)

I installed this branch and it appears to rectify support for default arguments in #73 and guard clauses in #75
The optional argument name support also makes for a much cleaner look. @wojtekmach Thanks for your work on this; a great addition to the library!


Bump to alpha

Of course there are still bugs to fix, but we're likely good to go.

Should we make this, "considered to be alpha, and still very unstable. Use at your own risk, and expect no support", a little less severe? To make it clear that now opening issues on failures is right to do, before and with this wording people think errors are expected and not to open tickets.

Yeah will fix it

:shipit:


Resolving modules in node_modules with broken typings.

I have a bit of technical question concerning the module resolution.
I am running the latest version of typescript from the @next branch.
I have several node modules in my project and most of them have typings (in package.json).
Yet, there is one project that also has typings "apollo-client", but these typings do not compile.
The reason for this is, that that project imports graphql and Promise from external modules and these are not found during the compilation. I am a bit lost in what can I do here.
I tried overriding the definition in my cusotm ambient defintion, but the resolved module has the preference. Specifying "noResolve" is not an option as I depend on typings from other modules.
My question is, how can I tell that imported module where to search for "graphql" and for "Promise"?
Thanks

you can use baseUrl, paths or rootDirs to customize module lookup - more details can be found here

@vladima thank you kindly for your reply. While this solves my case and I could "replace" the path from where the definition is taken, this does not solve the problem systematically. I also had the same question from package developer asking how can they make it right?
So my question is, if I am a package developer and I provide typings, how do I provide typing from the external modules I use?
Example: I have a file that import graphql library such as import { x } from "graphql". How do I distribute those graphql typings?
I tried just adding the "graphql.d.ts" into the project but the compiler was not picking it up and was announcing unknown module "graphql"
Any help is greatly appreciated

If you would have any time to test what I'm talking about, just check the "apollo-client" package from npm. These guys provide typings, but their typings break the project unforunatelly.

FYI, I've just asked authors of npm to provide a recipe for this situation, IIUIC...

The original issue is an external issue, the fix should be done on the type definition producer side.
The other related issue is the user ability to override a set of external type definitions. with the new @types module, we should have this capability. a special folder named types at the root, would allow you to place some override definition files. I do not have documentation to point to at the moment. so keeping this issue open until we have more docs.

Actually wait n/m it seems having a "types" folder in the root does absolutely nothing. 😒


Added error handling on get seed modal. Fix styling error on the the …

…default themes. Fix some styles on the module and re arranged the components.

Looks good. Tested on iOS iPhone 7


ROX-18124: Document eventual removal for permission workaround

This commit just leaves a reference to the story that tracks the work to add permissions to the installation path, which should allow us to remove this workaround in the future. This commit also removes the some labels on the role and binding so they don't interfere with any of the install tools.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
This should be tested with the v2 compliance e2e tests, which require these permissions.
Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

No longer needed since https://github.com/stackrox/stackrox/pull/9568 landed 🎉


IOError: [Errno 2] No such file or directory: 'representation.pkl'

mldl@ub1604:~/ub16_prj/DNGR-Keras$ python example.py
/bin/sh: 1: /home/mldl/DNGR-Keras/DNGR.py: not found
Traceback (most recent call last):
File "example.py", line 48, in
df = pd.read_pickle('representation.pkl')
File "/usr/local/lib/python2.7/dist-packages/pandas/io/pickle.py", line 177, in read_pickle
return try_read(path)
File "/usr/local/lib/python2.7/dist-packages/pandas/io/pickle.py", line 175, in try_read
lambda f: pc.load(f, encoding=encoding, compat=True))
File "/usr/local/lib/python2.7/dist-packages/pandas/io/pickle.py", line 147, in read_wrapper
is_text=False)
File "/usr/local/lib/python2.7/dist-packages/pandas/io/common.py", line 397, in _get_handle
f = open(path_or_buf, mode)
IOError: [Errno 2] No such file or directory: 'representation.pkl'
mldl@ub1604:~/ub16_prj/DNGR-Keras$

I am also getting this error: FileNotFoundError: [Errno 2] No such file or directory: 'representation.pkl'


Roll of tests/init.pp

I'm unclear on the intended roll for tests/init.pp. It was created by the module skeleton tool and I haven't touched it. I have what I believe to be great test coverage via rspec_puppet and Beaker, and I don't think either of those use this file. Either need to confirm it's needed or remove it.

This shows how that dir should be used. However, it seems that the method described there is being deprecated in favor of RSpec testing, so it's okay to nuke it.


Local images

@norcross as promised, find a "working" POC that replaces "remote" images with one that is locally hosted.
Features:

Adds lib/img/airplane.svg image.
Replaces "featured images" urls with the locally hosted image.
Replaces avatars with locally hosted image.
Replaces images found in the_content with the locally hosted image.

Notes: Before considering merging this, need to replace the airplane.svg an image with one that is properly licensed for distribution in accordance with this plugin's license.

@norcross sounds good. let me know if there is anything I can do.


fix: trade ratio & CoW quote display (WIP)

Description

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #5062   👈

This comment was auto-generated by Graphite.


LaTeX Error: This NFSS system isn't set up properly

After providing the required  .sty files. I tried to produce a pdf file from an md file with the command
pandoc README.md -o README.pdf --template eisvogel but I  get this error:-
! LaTeX Error: This NFSS system isn't set up properly.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.253 \begin{document}

pandoc: Error producing PDF
Makefile:11: recipe for target 'README.pdf' failed
make: *** [README.pdf] Error 43

How can I resolve it?

This doesn't seem to be a problem of the template itself. I suggest updating all your LaTeX packages or uninstalling and then reinstalling your whole TeX distribution.

Yes, that was it. I had to upgrade my texlive installation to a full texlive package, it is named as texlive-full in Ubuntu repositories.


Kotlin: 40. Combination Sum

File(s) Modified: 40-Combination-Sum.kt
Language(s) Used: Kotlin
Submission URL: _https://leetcode.com/submissions/detail/814225318/_

Thanks for contributing!


Some sites don't like the user agent string we hardcoded

For instance as indicated in tcort/markdown-link-check#159 https://developer.android.com/reference/android/support/design/widget/TabItem.html returns an error about redirect loop.
However, when calling the URL with base methods without options it works. I tried head, get, and even changed libs to Needle or Axios and it works without any issue.
But as soon as I put back the user-agent string Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36 it returns a 302 in an infinite loop.
The very strange thing about this is that as soon as there's a known browser name in the agent string, the developer.android.com site returns a 302 otherwise it return 200 as expected.
I tried with just 'chrome' and had a 302, but 'foobar' returns a 200.
So of course there's no way we can handle all the strange things developers put in their websites. I don't even know what it is supposed to check here.
It would then require to be able to set the user-agent string in some configuration.
It should be configurable by url or with a regex IMO.
NOTE: However, it's also linked to the fact that most of the config would be nice to be accessible from embedding products as proposed in another issue. For instance we have markdown-link-checker that "hides" the use of link-check to the users, but still users want to be able to configure things, so we usually need add the config to MLC and pass it to ML... would be far more interesting as @cadeef indicated that we don't have to relay the parameters.

I think to be better network citizens, the module should report it's own user agent string... e.g. link-check/1.2.3
I'll implement this and also provide an option to override the user agent.


Occasionally CFStringGetCStringPtr Returns Null: Implement a Buffer Cache to Avoid This

Per CoreFoundation documentation, occasional CFStringGetCStringPtr returns null. Implement a per-encoding buffer cache for CFStringGetCString to avoid this documented but undesirable behavior.

Fixed with #11.


Zones inside home zone should count as home.

It would be nice (esp when using beacons) to have multiple zones (eg rooms) - where presence in those zones would still count as being home.
For devices where you have a gps location - it should be possible to workout whether you are home, even if you are in another region.

Perhaps 'consider_home: yes'

Would you expect people to be considered home to have their state set to home ? Because that is how most people test if people are home.

Good point from @balloob - closing.


Use default vim notify icons when disable_builtin_notifications are true

Not every font has a nerd font 3.0 patch yet. I suggest to use default icons.
This is how it looks with nvim-notify:

Without notify visualization like noice or nvim-notify the icon isn't shown anyway? At least i didn't find it.
@aleprovencio what do you think?

Just as an aside, the nerdfont 3.0 transition is such a mess 😂 Like, I completely get the reasoning, and I'm not saying it could have been handled -better-, but given the nature of fonts, and no programatic way to determine if a user has updated... not to mention, how many people even realized they needed to update a font?
I'm not envious.

I get it guys, the main reason I updated the icon was because the old one was not in the range anymore so that ugly square was being generated.
I'm totally OK with this change considering your compatibility issues raised here.

Makes sense. I think the compromise would be to expose the icon as a user configurable option, and provide a default (imo the 3.0 version)


Fixed streamLoading bug

Describe your changes :
I worked on the elastic-search-index.page.tsx file because the ElasticSearch refresh re-loads the entire panel, without greying out the areas while loading. I believe that this is due to a small bug in the code, where the initial developer misused a variable, thus meaning the panel can never be set to 'loading'. This has been rectified. Issue: https://github.com/open-metadata/OpenMetadata/issues/7948

Type of change :

[x] Bug fix

Checklist:

[x] I have read the CONTRIBUTING document.
[x] All new and existing tests passed.

Reviewers

Hello @alexbassa , Thanks for the PR, can you attach the screen recording?

Hey @Sachin-chaurasiya, I've had some major issues getting Open Metadata to run locally on my laptop. I'm pretty certain that this fix works but at this time I am unable to send the screenshots. Thanks

Hello @alexbassa, There is a conflict, can you resolve that?

@chirag-madlani can we merge it in by fixing the conflict?


Releases to NPM

I'd love to see this package made available on NPM. Unfortunately, my company is very particular about always downloading dependencies off NPM and outright bans other sources, so if this was possible, it would help a lot for to drive adoption on my team.

There's at least one person who I don't believe is affiliated with this project who's taken it on themselves to publish this project, but it's fallen out of date and I would have security concerns using an NPM package that isn't endorsed by the people behind the library.

that's me btw :)
i haven't used it recently so i really never even realized it was out of date 🫠

First party distribution on NPM is planned for the next release, assuming no gotchas. Thanks for trying out the project!

Thanks, @gnat! Looking forward to the release.
This will also enable us to consume the library via WebJars in the Java ecosystem. WebJars automatically bundles up NPM dependencies in a format consumable via the dependency management used in that ecosystem.
tl;dr: Happy user


Add tokeniser

Tokeniser that should improve index performance
This a (rough and unintegrated) version of tokeniser. It works much better than the built-in one and gives much better performance on query types that are interesting for us.

@pyr @tehlers320 unfortunately, the proposed idea will not / can not work. SASI indexes currently offer a max of 8 positions per value (low-cardinality indexes). It does have a sparse mode, but it's only for non-literal data.
So for now our only "hope" is writing an own trie-based index.


Can In-App messaging triggered by Audience trigger ?

Discussed in https://github.com/firebase/firebase-ios-sdk/discussions/8756

Originally posted by fumito-ito October  6, 2021
Hi, my project uses firebase in-app messaging and firebase audience. I want to show message to updated users by in-app messaging. I try following steps but any message appears. Does In-App messaging support audience trigger ?

create Updated Users audience in Firebase Audience. In analytics console, it was detected correctly .
add Audience trigger named update_from_older_version to Updated Users audinece
add schedule trigger  update_from_older_version to firebase in-app messaging campaign

thanks.

Closing for staleness. Please comment or open a new issue to reopen.


CI try running tests in parallel (pytest-xdist)

[x] Closes #3263, potentially part of #4671

It's worth a try.

Hello @mathause! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file xarray/tests/test_sparse.py:

Line 1:1: E902 TokenError: EOF in multi-line statement

Wow! Looks like a 30-40% improvement
(I'm not sure why the latest commit triggered two runs, but one of them has finished: https://dev.azure.com/xarray/xarray/_build?definitionId=1&_a=summary)
Before:

After

Looks like a 30-40% improvement

Nice! I think we get 2 hypter-threaded cores. So I can also try -n 4 and see if that helps. I wonder if there is any downside to this?

Nice! I think we get 2 hypter-threaded cores. So I can also try -n 4 and see if that helps. I wonder if there is any downside to this?

In the past, I've run into race conditions when using pytest-xdist for tests that required I/O tasks such as file downloading. So, it's likely everything will run fine with -n 4 provided we don't have tests with tasks that are likely to create race conditions.

In the past, I've run into race conditions when using pytest-xdist for tests that required I/O tasks such as file downloading

It's not too difficult to remove the -n 4 and pytest-xdist again if we run into problems. It may, however, be more difficult to find out that random failures are due to race conditions...

I updated my previous comment. It looks like -n 4 saved us 5 minutes on windows and didn't affect the others.

Great. Thanks @mathause this is a great improvement!

sorry! didn't realize you were still working on it.

If it passes I am finished ;-)


Add User and Library Message Models

This PR adds User and LibraryMessage models along with their collection models. It also adds support for filtering collections with query parameters (i.e. user's username).
Additionally, it also adds pry-byebug as a development dependency.

Thanks @kcotugno @lhwalsh


Docker Stack Deploy CI fails

Using default settings and have Gitlab CI configured as per dockerswarm.rocks.
This is awesome, and thank you for your hard work.
I'm running into an issue where Gitlab deploy job fails every time on the first try, but succeeds if I relaunch the deploy job. I think it may have something to do with dependency order? Here's my Gitlab CI log:
 Running with gitlab-runner 12.8.0 (1b659122)
   on Docker Runner 3itEe9vB
Using Docker executor with image tiangolo/docker-with-compose ...
00:01
 Pulling docker image tiangolo/docker-with-compose ...
 Using docker image sha256:7ebe8c2a97127972df9e803220f652a784238bb33ac1f6254dc18ddcc7c373b4 for tiangolo/docker-with-compose ...
Running on runner-3itEe9vB-project-16464367-concurrent-0 via e391f9defbe4...
00:01
Fetching changes with git depth set to 50...
00:03
 Reinitialized existing Git repository in /builds/samchorlton/bugseq-fastapi/.git/
 Checking out ffe949be as master...
 Removing docker-stack.yml
 Skipping Git submodules setup
$ docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
00:05
 WARNING! Using --password via the CLI is insecure. Use --password-stdin.
 WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
 Configure a credential helper to remove this warning. See
 https://docs.docker.com/engine/reference/commandline/login/#credentials-store
 Login Succeeded
 $ pip install docker-auto-labels
 Collecting docker-auto-labels
   Downloading https://files.pythonhosted.org/packages/8d/58/03eecdfa70fe31c1c9c46926bb5c70e6d450b07cead8a75065df1d959ad8/docker_auto_labels-0.2.3-py2.py3-none-any.whl
 Requirement already satisfied: pyyaml in /usr/lib/python2.7/site-packages (from docker-auto-labels) (3.13)
 Collecting Click>=6.0 (from docker-auto-labels)
   Downloading https://files.pythonhosted.org/packages/dd/c0/4d8f43a9b16e289f36478422031b8a63b54b6ac3b1ba605d602f10dd54d6/click-7.1.1-py2.py3-none-any.whl (82kB)
 Requirement already satisfied: docker in /usr/lib/python2.7/site-packages (from docker-auto-labels) (3.7.3)
 Requirement already satisfied: backports.ssl-match-hostname>=3.5; python_version < "3.5" in /usr/lib/python2.7/site-packages (from docker->docker-auto-labels) (<IP_ADDRESS>)
 Requirement already satisfied: docker-pycreds>=0.4.0 in /usr/lib/python2.7/site-packages (from docker->docker-auto-labels) (0.4.0)
 Requirement already satisfied: ipaddress>=1.0.16; python_version < "3.3" in /usr/lib/python2.7/site-packages (from docker->docker-auto-labels) (1.0.23)
 Requirement already satisfied: requests!=2.18.0,>=2.14.2 in /usr/lib/python2.7/site-packages (from docker->docker-auto-labels) (2.20.1)
 Requirement already satisfied: websocket-client>=0.32.0 in /usr/lib/python2.7/site-packages (from docker->docker-auto-labels) (0.56.0)
 Requirement already satisfied: six>=1.4.0 in /usr/lib/python2.7/site-packages (from docker->docker-auto-labels) (1.12.0)
 Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker->docker-auto-labels) (3.0.4)
 Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker->docker-auto-labels) (2019.9.11)
 Requirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker->docker-auto-labels) (1.24.3)
 Requirement already satisfied: idna<2.8,>=2.5 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker->docker-auto-labels) (2.7)
 Installing collected packages: Click, docker-auto-labels
 Successfully installed Click-7.1.1 docker-auto-labels-0.2.3
 $ DOMAIN=stag.bugseq.com TRAEFIK_TAG=stag.bugseq.com STACK_NAME=stag-bugseq-com TAG=stag sh ./scripts/deploy.sh
 Some services (backend, db, flower, frontend, pgadmin, proxy) use the 'deploy' key, which will be ignored. Compose does not support 'deploy' configuration - use `docker stack deploy` to deploy to a swarm.
 ---
 ===
 Existing label: stag-bugseq-com.app-db-data
 With existing value: true
 In host: instance-1
 With node ID: bnezvp5ptgwoein9trr7xvnjp
 Matches required label: stag-bugseq-com.app-db-data
 Declared with value: true
 ---
 Removing service stag-bugseq-com_backend
 Removing service stag-bugseq-com_celeryworker
 Removing service stag-bugseq-com_db
 Removing service stag-bugseq-com_flower
 Removing service stag-bugseq-com_frontend
 Removing service stag-bugseq-com_pgadmin
 Removing service stag-bugseq-com_proxy
 Removing service stag-bugseq-com_queue
 Removing network stag-bugseq-com_default
 Creating service stag-bugseq-com_proxy
 failed to create service stag-bugseq-com_proxy: Error response from daemon: network stag-bugseq-com_default not found
 ERROR: Job failed: exit code 1

Then hit retry:
 Running with gitlab-runner 12.8.0 (1b659122)
   on Docker Runner 3itEe9vB
Using Docker executor with image tiangolo/docker-with-compose ...
00:01
 Pulling docker image tiangolo/docker-with-compose ...
 Using docker image sha256:7ebe8c2a97127972df9e803220f652a784238bb33ac1f6254dc18ddcc7c373b4 for tiangolo/docker-with-compose ...
Running on runner-3itEe9vB-project-16464367-concurrent-0 via e391f9defbe4...
00:01
Fetching changes with git depth set to 50...
00:05
 Reinitialized existing Git repository in /builds/samchorlton/bugseq-fastapi/.git/
 Checking out 409f6f6e as master...
 Removing docker-stack.yml
 Skipping Git submodules setup
$ docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
00:13
 WARNING! Using --password via the CLI is insecure. Use --password-stdin.
 WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
 Configure a credential helper to remove this warning. See
 https://docs.docker.com/engine/reference/commandline/login/#credentials-store
 Login Succeeded
 $ pip install docker-auto-labels
 Collecting docker-auto-labels
   Downloading https://files.pythonhosted.org/packages/8d/58/03eecdfa70fe31c1c9c46926bb5c70e6d450b07cead8a75065df1d959ad8/docker_auto_labels-0.2.3-py2.py3-none-any.whl
 Requirement already satisfied: pyyaml in /usr/lib/python2.7/site-packages (from docker-auto-labels) (3.13)
 Collecting Click>=6.0 (from docker-auto-labels)
   Downloading https://files.pythonhosted.org/packages/dd/c0/4d8f43a9b16e289f36478422031b8a63b54b6ac3b1ba605d602f10dd54d6/click-7.1.1-py2.py3-none-any.whl (82kB)
 Requirement already satisfied: docker in /usr/lib/python2.7/site-packages (from docker-auto-labels) (3.7.3)
 Requirement already satisfied: backports.ssl-match-hostname>=3.5; python_version < "3.5" in /usr/lib/python2.7/site-packages (from docker->docker-auto-labels) (<IP_ADDRESS>)
 Requirement already satisfied: docker-pycreds>=0.4.0 in /usr/lib/python2.7/site-packages (from docker->docker-auto-labels) (0.4.0)
 Requirement already satisfied: ipaddress>=1.0.16; python_version < "3.3" in /usr/lib/python2.7/site-packages (from docker->docker-auto-labels) (1.0.23)
 Requirement already satisfied: requests!=2.18.0,>=2.14.2 in /usr/lib/python2.7/site-packages (from docker->docker-auto-labels) (2.20.1)
 Requirement already satisfied: websocket-client>=0.32.0 in /usr/lib/python2.7/site-packages (from docker->docker-auto-labels) (0.56.0)
 Requirement already satisfied: six>=1.4.0 in /usr/lib/python2.7/site-packages (from docker->docker-auto-labels) (1.12.0)
 Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker->docker-auto-labels) (3.0.4)
 Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker->docker-auto-labels) (2019.9.11)
 Requirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker->docker-auto-labels) (1.24.3)
 Requirement already satisfied: idna<2.8,>=2.5 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker->docker-auto-labels) (2.7)
 Installing collected packages: Click, docker-auto-labels
 Successfully installed Click-7.1.1 docker-auto-labels-0.2.3
 $ DOMAIN=stag.bugseq.com TRAEFIK_TAG=stag.bugseq.com STACK_NAME=stag-bugseq-com TAG=stag sh ./scripts/deploy.sh
 Some services (backend, db, flower, frontend, pgadmin, proxy) use the 'deploy' key, which will be ignored. Compose does not support 'deploy' configuration - use `docker stack deploy` to deploy to a swarm.
 ---
 ===
 Existing label: stag-bugseq-com.app-db-data
 With existing value: true
 In host: instance-1
 With node ID: bnezvp5ptgwoein9trr7xvnjp
 Matches required label: stag-bugseq-com.app-db-data
 Declared with value: true
 ---
 Nothing found in stack: stag-bugseq-com
 Creating network stag-bugseq-com_default
 Creating service stag-bugseq-com_flower
 Creating service stag-bugseq-com_frontend
 Creating service stag-bugseq-com_pgadmin
 Creating service stag-bugseq-com_proxy
 Creating service stag-bugseq-com_queue
 Creating service stag-bugseq-com_backend
 Creating service stag-bugseq-com_celeryworker
 Creating service stag-bugseq-com_db
 Job succeeded

It seems like it wasn't able to create the internal Docker Swarm network for the stack the first time.
First, you might want to check your Docker Compose files, recently I refactored them to use only 2 files that should simplify it all a bit and maybe help to find out what might be happening.
Then, you could post here your Docker Compose file so that we can see if there's anything else that could be interfering.


Rewrote the Logon/Signup (DO NOT MERGE)

DO NOT MERGE THIS BRANCH YET!

It this was here to show an alternative log in code