Is there a way to know which spectras are ITMS instead of FTMS?

In the training set of Casanovo v2, particularly within some data from ProteomeTools, there are numerous ITMS spectra instead of the higher-quality FTMS spectra.
While the files provided seem to theoretically reference the original papers for these datasets, some papers do not specify whether their datasets are ITMS or FTMS. Do you have any method to differentiate between ITMS and FTMS spectra (aside from those identified in ProteomeTools, which can be identified by the title of spectra)?

This metadata is unfortunately not available.
One benefit of the positional embedding used by Casanovo is that it doesn't require discretizing the m/z values or explicitly incorporating a fragment m/z tolerance. Instead, Casanovo inherently learns to account for the fragment m/z precision for both ITMS and FTMS data.

Thank you for your reply your explanation and your great effort to maintain such a detailed repo!

Out of curiosity, I wonder how ms2 peaks are annotated. In the LIBRARY_CREATION_AUGMENT_LIBRARY_TEST-82c0124b-candidate_library_spectra-main.tsv file, how is annotated_peak_count counted? How can I reproduce number_of_ions_annotated_above_SNR?
For example, I noticed that for some spectra, I can not get a match through the pLabel software with an error tol 20ppm. With 0.5Da error tol, I can get a full match(between peaks and by ions). How should I choose the error tol?  (I wish to select some PSMs with too many missing peaks for some evaluation.)
Best,
Jiale Zhao

We don't use the number of matched peaks in Casanovo. This information stems from the original dataset compilation as detailed in Wang et al., and was presumably obtained using analysis with MSGF+. The necessary fragment m/z tolerance will depend on the dataset, but because all Casanovo analyses are performed downstream, we don't have or need this specific information.


docs(module: checkbox): update checkobx api

Codecov Report

Merging #2 (f3b2421) into master (64e0416) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #2   +/-   ##
=======================================
  Coverage   28.84%   28.84%
=======================================
  Files          16       16
  Lines         423      423
  Branches       64       64
=======================================
  Hits          122      122
  Misses        298      298
  Partials        3        3

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 64e0416...f3b2421. Read the comment docs.


Deploy service to staging

[x] Deployment
[x] Create superuser
[x] Load initial data
[x] Test on the clients

On the deployment side the variable name for allowed hosts is DJANGO_ALLOWED_HOSTS whereas currently in this service the name is ALLOWED_HOSTS I will change it as part of this issue to match the variable name in the transaction service.

Clients were able to retrieve the data successfully. Closing the issue.


Summingbird doesn't pick correct option when same setting defined on multiple nodes

I was trying to apply different MaxWaitingFutures on the flatMapper and summer on a simple source -> flatMap -> sink topology. The setting from flatMapper is getting applied to summer.
I was able to simulate this in a unit test.
This test fails when added to TopologyTests:
"With same setting on multiple names we use the one for the node" in {
val fmNodeName = "flatMapper"
val smNodeName = "summer"
val p = Storm.source(TraversableSpout(sample[List[Int]]))
.flatMap(testFn).name(fmNodeName)
.sumByKey(TestStore.createStoreInt, Int._2).name(smNodeName)
val opts = Map(fmNodeName -> Options().set(SummerParallelism(10)),
  smNodeName -> Options().set(SummerParallelism(20)))
val storm = Storm.local(opts)
val stormTopo = storm.plan(p).topology
val bolts = stormTopo.get_bolts

// Tail should use parallelism specified for the summer node
assert(bolts("Tail").get_common.get_parallelism_hint == 20)

}
flatMap node's setting for SummerParallelism overrides that of summer.

The test I provided is failing due to some other reason, let me fix the test.

Updated the test in original comment.

Does this test pass or fail? You could open this as a simple unit test in a PR too thats failing.

That test fails. Let me create a PR with the failing test.

honestly, naming and options are a weird, but we always felt like we could not fix them without breaking existing jobs.
We need a clear specification and more tests, I think.

@johnynek curios what alternatives to options you considered. I don't think many of our users grok the way  application of settings via naming flows through the graph, so I agree options do seem weird to our users. Also agree that changing them without breaking existing jobs would be critical, so it's a tough problem. Still curios to know what your ideal solution would be.

well, we didn't think of removing options, but they were originally added when summingbird had no fan-out. We wanted a look of a builder:
val myNode = fn(someStuff).name("myNode")

So, that means, that the name applies above, kind of the opposite of how data flows, which is weird. Next, there are nodes that are added by implicit conversions (e.g. IdentityKeyedProducer), so either you special case those, or you have names apply to everything above. But then the fan-out case is strange:
val a = fn(a)
val b = a.map(g).name("b")
val c = a.map(h).name("c")

What names apply to a? It would be nice if each node could have only one name, but it does not seem possible if we keep the builder style.
I always forget how things work, but what should .name("a").name("b") do? Just a? Just b? If it is just b then what if someone passes you something with a name and they expect it to be applied?
A main use-case needs to be the ability to set different options on different nodes. If we can't do that somehow something probably needs to change and we just need to help people migrate.
There is a lot of complex stuff.
What my approach was was this: you consider names to be on "intrinsics" of the graph: sources, sinks, services, stores and functions. That is all there is. The nodes are incidental. Next, you keep the original graph to look up the set of names to be applied to an intrinsic (an option may apply to a physical node property, and many intrinsics may be on the same node). Lastly, we should have a partial ordering on names. This can be done by looking at the transitive parents of a name. If that set is a superset of another, it comes after. otherwise, the two are incomparable. With this, you can make a DAG of names. We could give that DAG of names for an intrinsic to the Option, and the option could decide how to aggregate the values. The default aggregation can be just take the first found value going top-down in the dag.
Anyway. I think step 1 is more tests on what the expectations are, step 2 is making sure we can meet all those expectations.


Adding datasets-by-subject-to-month

connects to #3
…  to the list of the metrics APIs to aggregate. (per dataverse issue https://github.com/IQSS/dataverse/issues/5398)

Merging per note in https://github.com/IQSS/dataverse/issues/5398#issuecomment-469837919


Keyframes

Attempting to do a simple keyframe animation, just curious how this would work through aphrodite-jss.

Did you try? Didn't work? Can you make your question very specific and if there is a bug provide something reproducible?

Ah ok, I tried something simple but didn't work, and then didn't see docs. I'm using a library on top, so may need to implement it there. Will close once I verify

what is the syntax plaese?


[AVM Module Issue]: Private endpoints fail due to wrong id being passed for private_connection_resource_id

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Issue Type?
Bug
(Optional) Module Version
0.2.2
(Optional) Correlation Id
No response
Description
The current version of the module fails when trying to create a private endpoint due to the fact that the workspace resource id is being passed for the private service connection private connection resource id, when it should be a private service link resource id.
Here is the current code in question (main.privateendpoint.tf in this repo):
https://github.com/Azure/terraform-azurerm-avm-res-operationalinsights-workspace/blob/main/main.privateendpoint.tf#L15

Here is the example code in the provider documentation showing it should be a private service link resource id:
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/private_endpoint#example-usage

Here is the output when applied in it's current state (edit to hide sensitive info):

Here is a copy of my module (nothing fancy):
module "workspace" {
  source                                             = "Azure/avm-res-operationalinsights-workspace/azurerm"
  version                                            = "0.2.2"
  resource_group_name                                = azurerm_resource_group.this.name
  name                                               = local.names.workspace
  location                                           = data.terraform_remote_state.environment.outputs.region
  log_analytics_workspace_sku                        = var.workspace.sku
  log_analytics_workspace_retention_in_days          = var.workspace.retention_in_days
  enable_telemetry                                   = true
  log_analytics_workspace_internet_ingestion_enabled = false
  log_analytics_workspace_internet_query_enabled     = false
  tags                                               = merge(local.analytics_tags_internal, { name = local.names.workspace })

  diagnostic_settings = {
    default = {
      name                        = "default"
      storage_account_resource_id = module.storage.resource_id

    }
  }

  log_analytics_workspace_identity = {
    type         = "UserAssigned"
    identity_ids = [azurerm_user_assigned_identity.workspace.id]
  }

  private_endpoints = {
    for endpoint, private_ip in local.workspace_endpoints :
    endpoint => {
      subnet_resource_id              = lookup(data.terraform_remote_state.network.outputs.vnet.vnet_subnets_name_id, "snet-monitor")
      location                        = data.terraform_remote_state.environment.outputs.region
      name                            = "pe-${endpoint}-${local.names.workspace}"
      subresource_name                = endpoint
      private_dns_zone_resource_ids   = [for zone in data.terraform_remote_state.network.outputs.subnets["snet-monitor"].private_dns_zones : lookup(data.terraform_remote_state.network.outputs.private_dns_zone, zone).id]
      private_service_connection_name = "psc-${endpoint}-${local.names.workspace}"
      network_interface_name          = "nic-pe-${endpoint}-${local.names.workspace}"
      resource_group_name             = azurerm_resource_group.this.name
      tags                            = merge(local.analytics_tags_internal, { name = "pe-${endpoint}-${local.names.workspace}" })

      ip_configurations = {
        "staticIpConfig" = {
          name               = "staticIpConfig"
          private_ip_address = private_ip
        }
      }
    }
  }

  depends_on = [
    module.storage
  ]
}

And finally, here is a support request from MS on the above issue that pointed me to the root cause (using workspace resource id in place of private service link resource id):
https://learn.microsoft.com/en-us/answers/questions/1106857/feature-allowprivateendpoints-from-provider-namesp
Note that in that issue the error is identical, with the odd formatted resource id (missing the resource group name in the id).
My workaround for now is to omit the private endpoint details from the module and handle it myself, which is not ideal but is workable. If it is possible to get quick turnaround on this issue (hoping that is the case with the information above) then we would be able to implement entirely with the module before going live with this project.
Thank you!
Rich Shadman

@richshadman thanks for the feedback, I will look into this. The examples we use to build the modules all have the resources in the private connection resource id.
https://azure.github.io/Azure-Verified-Modules/specs/shared/interfaces/#private-endpoints
https://github.com/Azure/terraform-azurerm-avm-template/blob/main/main.privateendpoint.tf

The explanation of that attribute is the resource to which the PE is connected i.e. LAW. See how it shows WebApp and Function Apps as examples.
Here is the example from the Key Vault Module. https://github.com/Azure/terraform-azurerm-avm-res-keyvault-vault/blob/main/main.private_endpoint.tf
Will try to get you more information as quick as I can.

@richshadman I figured out the issue. to use PE with LAW you need Azure Monitor Private Link service. I am working on adding that to the new version. ill do my best to get it out in the next couple of days.

@richshadman  I deployed the law module with PE and Azure Monitor Private Link. I need to clean it up and change the module, but that's what the new example will look like. Will deploy out a new version in the coming week. Thanks!
terraform {
  required_version = ">= 1.3.0"
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = ">= 3.7.0, < 4.0.0"
    }
    random = {
      source  = "hashicorp/random"
      version = ">= 3.5.0, < 4.0.0"
    }
  }
}

provider "azurerm" {
  features {}
}

# This ensures we have unique CAF compliant names for our resources.
module "naming" {
  source  = "Azure/naming/azurerm"
  version = "0.3.0"
}

# This picks a random region from the list of regions.
resource "random_integer" "region_index" {
  max = length(local.azure_regions) - 1
  min = 0
}

# This is required for resource modules
resource "azurerm_resource_group" "this" {
  location = local.azure_regions[random_integer.region_index.result]
  name     = module.naming.resource_group.name_unique
}

resource "azurerm_virtual_network" "this" {
  address_space       = ["<IP_ADDRESS>/24"]
  location            = azurerm_resource_group.this.location
  name                = module.naming.virtual_network.name_unique
  resource_group_name = azurerm_resource_group.this.name
}

resource "azurerm_subnet" "this" {
  address_prefixes     = ["<IP_ADDRESS>/24"]
  name                 = module.naming.subnet.name_unique
  resource_group_name  = azurerm_resource_group.this.name
  virtual_network_name = azurerm_virtual_network.this.name
}

resource "azurerm_private_dns_zone" "this" {
  name = "privatelink.workspace.azure.net"
  resource_group_name = azurerm_resource_group.this.name
}

resource "azurerm_private_dns_zone_virtual_network_link" "name" {
  name = "dnslinktovnet"
  resource_group_name = azurerm_resource_group.this.name
  virtual_network_id = azurerm_virtual_network.this.id
  private_dns_zone_name = azurerm_private_dns_zone.this.name
}

# This is the module call
module "law" {
  source = "../../"
  # source             = "Azure/avm-res-operationalinsights-workspace/azurerm"
  enable_telemetry                          = var.enable_telemetry
  location                                  = azurerm_resource_group.this.location
  resource_group_name                       = azurerm_resource_group.this.name
  name                                      = "thislaworkspace"
  log_analytics_workspace_retention_in_days = 30
  log_analytics_workspace_sku               = "PerGB2018"
  log_analytics_workspace_identity = {
    type = "SystemAssigned"
  }
}

resource "azurerm_monitor_private_link_scope" "this" {
  name                = "law-ampls"
  resource_group_name = azurerm_resource_group.this.name
}

resource "azurerm_monitor_private_link_scoped_service" "this" {
  name                = "law-amplsservice"
  resource_group_name = azurerm_resource_group.this.name
  scope_name          = azurerm_monitor_private_link_scope.this.name
  linked_resource_id  = module.law.resource.id
}

resource "azurerm_private_endpoint" "pe" {
  name = "pe"
  location = azurerm_resource_group.this.location
  resource_group_name = azurerm_resource_group.this.name
  subnet_id = azurerm_subnet.this.id
  private_dns_zone_group {
    name = "law-dns-zone-group"
    private_dns_zone_ids = [ azurerm_private_dns_zone.this.id ]
  }
  private_service_connection {
    name = "connection"
    private_connection_resource_id = azurerm_monitor_private_link_scope.this.id
    subresource_names = [ "azuremonitor" ]
    is_manual_connection = false
  }
}

Thank you for the quick turnaround @cshea-msft ! Much appreciated.

@richshadman released a new version that will fix this issue. Thank you for the problem, i appreciate the help! feel free to share any other feedback.

@cshea-msft, The private endpoint configuration is still not working. not able to create a private endpoint even if we provide configuration for a private endpoint
module "avm-res-operationalinsights-workspace" {
source  = "Azure/avm-res-operationalinsights-workspace/azurerm"
version = "0.3.5"
insert the 3 required variables here
}


[Question] Random Seed Generator

Hello, I would like to generate a Seed so anytime I "force" this number, the variations during gameplay is the same, its possible?

@nonunknown  What gameplay variations you expect to change?

@nonunknown  What gameplay variations you expect to change?

For example, spawn same cars at same time, felonys in same places, peds , and so on!

For example, spawn same cars at same time, felonys in same places, peds , and so on!


Add Filtering, Sorting and Pagination to the Victim API

This enhancement simplifies the work for the UI

50 records will be returned per page
Sorting will be by field, sent as a request parameter for example sort=name which sorts in ascending order, adding a '-' sorts in descending order e.g., sort=-name
Filtering is done by an array /users?filter[status]=Remanded&filter[holding_location_id]=1
To change the number of records in the page use the per_page query parameter e.g., per_page=25

Do we have the API repo somewhere?
It could help to contribute to the documentation in real time.

https://github.com/Uganda-Open-Data/missingpersons

@davidofug are you able to look into adding this https://github.com/DarkaOnLine/L5-Swagger. @ssmusoke thoughts?

That would be a welcome addition, in the mean time here is a quick and dirty documentation of the API - https://github.com/Uganda-Open-Data/missingpersons/pull/16


Fixes ENYO-2733 prevent a11y-related scrolling in Drawers

Enyo-DCO-1.1-Signed-off-by: Ryan Duffy<EMAIL_ADDRESS>

Closing PR as Jira has been closed.


Telemetry

Aim

Provide telemetry for the network
Enabled by default

Desired metrics

Total money [per time frame] taken from packet data
Average money [per time frame] taken from packet data
Amount of transactions taken from outgoing payments that have been at least partially successful (i.e. some value in the send amount)

Basic setup

Rafiki will include the OpenTelemetry SDK to generate metrics, and contextual information
Using the sidecar pattern with an OpenTelemetry Collector to gather metrics
Will need the option to enable/disable metric collection
This functionality will be included within the Rafiki repo
Using Prometheus for storing, and querying metrics (using the counter primitive)
Using Grafana for creating dashboards and visualizing metrics
Running Prometheus and Grafana in containers managed on AWS

Integration

Rafiki code base needs to expose the desired metrics as HTTP endpoints
Configure the OpenTelemetry Collector to gather the metrics from Rafiki
Configure Prometheus to scrape metrics from the OpenTelemetry Collector (uses a pull-based approach)
In Grafana, you'll configure Prometheus as a data source (can use PromQL to write queries against the data collected by Prometheus.)

Linked Issues:

#1906
#1913
#1923
#1924
#1925

AWS access key and secret for the open collector user are stored in 1Password


selectively running tests

To ensure that a specific test is ran only if the roles directory is changed.
And run all the tests if higher level files/dirs are changed, which are stored
in tests/full_test_file_trigger

/rerun minikube


Not yet. If someone has time, feel free to take it.

ok let's see who will have time first


Make awaiting three confirmations to close a better user experience

I, as a user, noticed that "suddenly" it takes way longer until my CFDs move from open to closed. So I kept clicking the link and then being like, "ah, it's because we changed it to three confirmations...". I think we should improve that experience, it might be a low hanging fruit.
Currently we display Pending Payout as status once a spend transaction (i.e. collab settlement tx) make it on chain. With waiting for three we could add some kind of confirmation counter to make it clear what's going on. Might be worth evaluating if we can easily yield the current confirmation number.

This project is unmaintained


[Code-Code] Defect Prediciton --> pretraining with custom datasets

Hi, thanks for sharing great source.
I am trying to implement this model to train with my own dataset so that the model can perform for bit different task.
What I am putting effort on is, pretrain the roberta model with my own dataset with the command mentioned at Readme guide.
Due to the limit of my GPU resources, I decrease the batch size into half for both training and evaluation.
However, after training, when I try to do inference, it returns the warnings like below.
Some weights of the model checkpoint at microsoft/codebert-base were not used when initializing RobertaForSequenceClassification: ['pooler.dense.bias', 'pooler.dense.weight']
- This IS expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Some weights of RobertaForSequenceClassification were not initialized from the model checkpoint at microsoft/codebert-base and are newly initialized: ['classifier.out_proj.weight', 'classifier.dense.bias', 'classifier.out_proj.bias', 'classifier.dense.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.

I think the last one, which is classifier's output layers' weights are re-initialization, looks bad, because I could see all the confidence scores for both good / bad input are almost similar.
Could you tell me if there is any problem in my process or about the result of warning?
Thank you.

You need to fine-tune the model on Defect Prediciton dataset after pre-training the model. You can follow this readme to perform defect prediction.  When evaluating, the model will be  reloaded here


Inconsistent tag on rule 6.2.5

It looks to me like rule 6.2.5 has an inconsistent tag applied to it. I believe the proper should be rule_6.2.5 so that it matches all of the other rules.
https://github.com/ansible-lockdown/RHEL7-CIS/blob/devel/tasks/section_6/cis_6.2.x.yml#L140

closing as original PR now resolved


OTel Q&A: Steven Swartz - Create Questions

Create questions to ask Steven Swartz for upcoming OTel Q&A
Related: #54

Q&A Doc

Closing this as we've already done the Q&A


Changing pattoken input to service endpoint type

@tejasd1990,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Is this a compat breaking change?  What happens to users that were using the field you set?

The pattoken field which is being changed, is part of the 'configuration against machine group' option. This option has not yet been enabled in UI, so there are no existing customers using it.


Contain protobuf

Google agreed to publish Protobuf 2.5.0 https://github.com/google/protobuf/issues/2147
This removes the requirement of people having to install an old version of Protobuf on their machine (which might not work with other things they're doing). It also removes the dependency from wherever it's being built whether that's in a container or a server that needs 2.5.0 installed.

@mesosphere-ci: retest this please


Add temperature limit readings

There are four documented temperature readings starting at 0x9017, Read/Write functions 0x03/0x10:
"Batt Hi temp limit"
"Batt Lo temp limit"
"Device over temp"
"Device recovery temp"
source https://www.img4.cz/i4wifi/attach/StoItem/7069/MODBUS-Protocol-v25.pdf page 16
I haven't tried, but I have a suspicion they need to be written as a block like the battery voltages.
I will experiment...

Functionality to get/set temp limits did not require to be written as a block like the battery voltages.
However, if desired, this functionality can be added (in addition to the individual functions) so users could in set the block.
Test output:
controller.set_battery_upper_temperature_limit(65.1)
controller.set_battery_lower_temperature_limit(-40.1)
controller.set_device_over_temperature(85.1)
controller.set_device_recovery_temperature(75.1)
Created a nice mess:
Battery upper temperature limit: 65.09
Battery lower temperature limit: -40.1
Device over temperature: 85.1
Device recovery temperature: 75.09
I guess the 0.09 may be to do with the device's internal rounding.
FYI Setting the battery temp limit to -65.0 turns off the output and returns why:
Battery temperature: 21.75°C
Battery status: {'wrong_identifaction_for_rated_voltage': False, 'battery_inner_resistence_abnormal': False, 'temperature_warning_status': 'OVER_TEMP', 'battery_status': 'NORMAL'}
Battery upper temperature limit: -66.0


API Test Script

Describe the feature
To have a separate (not part of the integration) test script (e.g. in Python), which we can run outside of HA to check OE API connectivity. E.g. when run, it performs the same basic set of queries that the integration does and reports on whether there's any issues retrieving data.
Expected behaviour
Script is downloaded, and edited to include OE API & account info. When the script is run it connects to the OE API in the same way as the integration and performs a set of queries in the same way as the integration does. Each query is reported with a Success/Fail along with any appropriate results and/or error details.
Use Case
To provide a method to test API access outside of the integration and HA. When there's issues with OE API connectivity it can be difficult sometimes to tell whether it's an issue with OE, HA, or the API, and this would help troubleshoot those issues.
Confirmation

[X] By submitting this feature request, you agree that you have read the documentation and confirmed it does not already exist
[X] I am willing/able to help contribute to the solution of this feature

Hello and thanks for the feature request. Currently the diagnostics runs the API client functions independently and return a high level view of the results from the API (e.g. the last date available for previous electricity consumption). This does include one fallback around account information where it uses the cached data if the up-to-date information can't be obtained. There are also the integration tests which call the various endpoints (which are supported by my account). Because of these, I have no plans to add any additional tooling as I feel these match your requirements already.


Card doesn't work/read after the first form

@whitedogg13 Hello, this library is very cool. But i have one issue about it.
I have three screens (First - Is form when you can create/add worker, Second - Is form when the worker can take tool, Third- Is form when the worker can return tool).
When I loaded the first form and put the card I receive successfully message and the card is work. When I loaded the second or the third form I and put the card I don't receive nothing and the scanner not read the card. And for example when I load thte second form I go back and go forward the card starts working. I use react-navigation. Is it bug?

Hi @QuantomFlame , sorry for the late response.
I don't think I understand your issue. Do you mean that the NFC tag detection fails across multiple screens? Per my understanding, since react-navigation is a JS side navigation library, these two libraries should play well.

close inactive issue


Merge develop into master

Coverage decreased (-0.7%) to 95.619% when pulling d503102e92b8eef1f6f983d86f3334c8dd2638c6 on develop into aec97ecab1789f1396be98a74eaf4339564a565c on master.


Next button always returns to question tab in AssessmentWorkspace

Description

Type of change

[x] Bug fix (non-breaking change which fixes an issue)

How to test

Checklist

[x] I have tested this code

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 30.92%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/commons/assessmentWorkspace/AssessmentWorkspace.tsx
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
3429

Relevant Lines:
10339

💛  - Coveralls


[Feature Request] - Disable autocomplete when typing

Insomnia Version: 6.3.2
Operating System: Arch Linux

Details
Hi there!
Insomnia is about testing APIs, right? In order to test the APIs we may change some variables in the URL, change some values on the json body, and so on.
The problem I found since I started using Insomnia is the autocomplete getting in the way more often than helping.
For example, If I finished some API test on the user/1/teams endpoint, and want to test user 5 for example, I would go to the URL and change 1 for 5, then hit enter to send the request. The problem is, when I type 5, Insomnia suggests this:

If I hit enter to test the endpoint, I'll actually get the autocomplete suggestion:

So now I have to erase that, type 5 again, make sure I don't hit the autocomplete suggestion, and then test the API. The 5 is just an example, there are many others autocomplete suggestions out there.
I'm not asking to disable the autocomplete, but instead fire it just when I want, by hitting Ctrl+Space for example. So an option to disable autocomplete only when typing would be nice :smiley:

Duplicate of #1032.

Indeed, thanks!


Modernize ci

Codecov Report

Merging #3 (da7609c) into main (72a5901) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #3   +/-   ##
=======================================
  Coverage   64.48%   64.48%
=======================================
  Files           6        6
  Lines         214      214
  Branches       24       28    +4
=======================================
  Hits          138      138
  Misses         70       70
  Partials        6        6

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Add support for infoblox custom cert

Description:  Add support for infoblox custom cert
Changes Proposed in PR:
Fixes: #Github issue id

/azp run

/azp run


TFLite build - missing interpreter_wrapper.i

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): amazonlinux
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:NA
TensorFlow installed from (source or binary):binary
TensorFlow version:2.1.0
Python version:3.6.9
Installed using virtualenv? pip? conda?:pip
Bazel version (if compiling from source):2.0.0
GCC/Compiler version (if compiling from source):7.2.1
CUDA/cuDNN version:NA
GPU model and memory:NA

Describe the problem
Running sh ./tensorflow/lite/tools/pip_package/build_pip_package.sh results in:
...
swig -python -c++ -I/root/tensorflow/tensorflow/lite/tools/pip_package/../../../.. -module interpreter_wrapper -outdir tflite_runtime -o interpreter_wrapper/interpreter_wrapper_wrap.cpp interpreter_wrapper/interpreter_wrapper.i
Unable to find file 'interpreter_wrapper/interpreter_wrapper.i'.
error: command 'swig' failed with exit status 1
Provide the exact sequence of commands / steps that you executed before running into the problem
Trying to build Tensorflow lite for AWS Lambda in amazonlinux.
Dockerfile:
FROM amazonlinux
WORKDIR /tflite
RUN yum groupinstall -y development
RUN yum install -y python3.7
RUN yum install -y python3-devel
RUN pip3 install numpy wheel
RUN git clone https://github.com/tensorflow/tensorflow.git
RUN sh ./tensorflow/tensorflow/lite/tools/pip_package/build_pip_package.sh
Any other info / logs
I am a total newb at compiling, so I apologise in advance for missing obvious info/logs.
The issue happens when setup.py bdist bdist_wheel is executed. I am afraid I cant figure out why the .i file is not there, or is not getting generated.
Do I need to generate them separately?
Thanks

in  e638577, interpreter_wrapper/interpreter_wrapper.i was removed because now interpreter_wrapper functions are exported from C++ to Python with pybind11 instead of swig. It seems corresponding changes were not made in the shell script and related files.

reference to the interpreter_wrapper.i has removed, but other issue is still blocking normal execution of tflite_runtime pip package.
https://github.com/tensorflow/tensorflow/issues/38033

Thanks for the reply, how to fix his issue now? Is this BKM still valid https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/tools/pip_package


[Email Channel] triggerActions stopped working after upgrade from<EMAIL_ADDRESS>-> 3.11.0

Bot Info

Bot handle: epTestBot
App ID: 402574db-395f-4f2d-80fd-a8ca814dd3c9
SDK Platform: Node.js
SDK Version: 3.11.0
Active Channels: Skype, Email, Webchat
Deployment Environment: Azure App Service

Issue Description
Hey, I have a bot with some triggers that were working properly on version 3.8.4 on the email channel. If you sent a trigger word to the bot it would return the trigger dialog. Now that I have updated BotBuilder to the latest 3.11.0, the bot on the email channel always sends main dialog first, triggers don't work unless I'm replying directly to that main dialog. This only happens on the email channel, webchat, emulator and skype work fine.
Any insight on how I could correct this behavior would be much appreciated. Thanks!

@MbV93 Can you post your code that is causing the problem? For example, how are the triggerActions configured? What data is being sent to the bot that is not correctly recognized?

Sure:
bot.dialog('help', function(session, args, next){
        session.endConversation('Hi, you can use these words at any point:
'+
         '- Cancel: Ends the conversation and returns to the main menu
'+
         '- Bye: Ends the conversation
'+
         '- Who are you: General information about me and my function
'+
         '- Info: Shows available workflows and their descriptions.
');
    }).triggerAction({
        matches: /^help$/i
    });

bot.dialog('who', function(session){
        session.endDialog('I am a programmable bot, I can be configured to assist with simple tasks through the botflow.js file');
    }).triggerAction({
        matches: /^who are you$/i,
        onSelectAction: (session, args, next) => {
        // Add the help dialog to the dialog stack
        // (override the default behavior of replacing the stack)
            session.beginDialog(args.action, args);
        }
    });

Pretty standard, they work normally on messaging channels but email channel ignores them I guess and shows the main dialog.

Been doing some testing, downgraded botbuilder to 3.8.4 but it still gave me the same behavior, the bot still sends the main dialog first and for the trigger to work you have to reply to that first message. I also redeployed old commits where the triggers were previously working fine and it still gave me the same behavior.

Can you please let us know if the issue still persists?

Please open a new issue if you are still experiencing problems


Warnings during deployment

config.eager_load is set to nil. Please update your config/environments/*.rb files accordingly:

  * development - set it to false
  * test - set it to false (unless you use a tool that preloads your test environment)
  * production - set it to true

Rails Error: Unable to access log file. Please ensure that /export/cirkus/web/samfundet.no/www-beta/tmp/
build-15853131667605/log/staging.log exists and is writable (ie, make it writable for user and group:
chmod 0664 /export/cirkus/web/samfundet.no/www-beta/tmp/build-15853131667605/log/staging.log).
The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.

It is now updated and resolved


【bugs】Fault Restart function lead to 3  problems

Search before asking

[X] I had searched in the issues and found no similar issues.

Java Version
1.8
Scala Version
2.12.x
StreamPark Version
2.0.0
Flink Version
1.15.3/1.16
deploy mode
yarn-application
What happened
1、Fault Restart Size is setted 99 ,but  sometimes is not work
配置了重启次数，但是有时候并未重启起来，还没累计到重启设置的阈值。可能一般手动重启后会出现
2、After stream-park Fault Restart ,flink program is not recovered  from cp/sp
stream-park帮助自动重启失败任务后，flink并未从最近一次cp/sp恢复
3、After stream-park  Fault Restart ,the one flink program may have many instances, so lead to data repetition
stream-park帮助自动重启失败任务后，可能会出现一个任务同时多个实例在运行的情况，很容易导致数据结果重复

Error Exception
1、可以stream-park观察出来

2、通过数据重复、因为从kafka的偏移量策略恢复的、而不是cp/sp的恢复、故可以很容易看出来

3、通过监控、和yarn上的ui观察

Screenshots
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!(您是否要贡献这个PR?)

Code of Conduct

[X] I agree to follow this project's Code of Conduct


Update how-to-discover-sql-existing-project.md

add note for DLL format when adding webapp creds as per request in
https://msazure.visualstudio.com/One/_workitems/edit/28956422

#sign-off


Fix exploit on chrome

On chrome, the exploit doesn't work because of multiple exceptions that break completely the socket connection. Those errors were not raised on firefox.
Edit: fix
try:
       (content_type, version, length) = struct.unpack('>BHH', ssl_header)
except struct.error as err:
       return

Another problem:

Chrome (2 requests) VS Firefox (1 request)
Every request send to the server with chrome is followed by another request, the favivon !

Well, chrome doesn't handle data like firefox... After sending mulitple request with javascript, the server always return hmac error even if there is no hmac error. Very very strange


[Widget Form Input] Filled is true if value is null

Hi, when i send a null value to the widget.form.form-input.js ( new Input("name", null, false) )
this.filled is true !
this.filled = ko.computed(function () {
    if(this.value() === null){
        return false;
    }
    return !!('' + this.value()).compact();
}.bind(this));

@Billybob Thanks for the report and the proposed fix!
Indeed, because '' + null => 'null' is truthy, so !!'null' === true is true.
Instead of passing null as the initial value, you can pass '' empty string or undefined.
Looking at this.value = ko.isObservable(value) ? value : ko.observable(Object.isFunction(value) ? value() : ((value !== undefined) ? value : '')); (https://github.com/onlyurei/knockout-spa/blob/master/widget/form/form-input.js#L7), looks like value is checked explicitly with undefined (instead of value != undefined, which will return false for null and defaulting to ''). I don't remember the initial design thoughts why it's implemented this way (wrote and used the form widget classes over 1.5 years ago), but I have a vague impression that this might solve some edge use cases.
What do you think?
BTW if you are interested in my use cases of the form widgets, checkout http://rentever.com. All the form fields use them.

It's the server (python/Django) that provides the initial value null
https://docs.djangoproject.com/en/1.10/ref/models/fields/#null
http://stackoverflow.com/questions/11351619/how-to-make-djangos-datetimefield-optional
I can change this by '' but in my case it's easier to manage this in form-input.js file, because I should manage the receipt and sending of the value 'null'.
NB: serialize function (form.js) delete fields with null value :worried:
http://rentever.com very good :+1:

@Billybob make sense in your use case and I think this behavior should be expected for most cases. Making the change as you proposed.
Regarding the empty values (undefined, null, '') being deleted, I'm adding a keepEmptyValues param in serialize method of the Form class to cater this use case. I think my original intention was to keep the url clean (by removing query strings with empty values), and avoid null and undefined to be deserialized as strings in the backend api.


Added Power Support ppc64le

Added power support for the travis.yml file with ppc64le

The test matrix is already pretty large (6 tasks).  Does it make sense to add everything once more for ppc64le?
Can we e.g. add one test only, against the newest stable python?  I'm just afraid to consume too much Travis
resources...
Note that argparse-manpage package shouldn't suffer from architecture problems, it's so called "noarch"...  you can
build it on x86_64, and then run on ppc64le.  What is to motivation for this PR?

I forgot to thank you for the PR!

@praiskup - This is part of the Ubuntu distribution for ppc64le. This helps us simplify testing later when distributions are re-building and re-releasing. Mostly the changes of power support runs in parallel to Intel binaries without consuming much of the travis resources. Thank you. For more info tag @gerrith3

@praiskup In terms of running the full test matrix on ppc64le - 1) all builds run in parallel, so there shouldn't be any net add to your build/test time 2) the travis on power hardware is free (at least to you ;-) ) and 3) I believe the build/test cycle here is pretty short.  But it is your call as to whether we take a subset from your matrix or test the whole matrix.  @nagesh4193 can update the .travis.yml whichever way you prefer.

I wouldn't mind if it took a bit long er to run the tasks, really ... It just sounds a bit wasteful to duplicae everything O:-)
Nevermind, let's give it a try.


[TASK] Configure Travis CI for better build performance

set sudo: false to allow Travis to use the container-based infrastructure
enable bundler caching
set language: ruby for good measure

Thank you! The project recently switched from Travis to GitHub Actions. Closing since this is no longer applicable.


Using Multiple Authentication Types

Description
The OpenAPI specification talks about boolean connectives (in disjunctive normal form) of authentication types https://swagger.io/docs/specification/authentication/
Connexion supports only disjunction of authentication types, no conjunctions. Even the disjunction does not work as expected: e.g. two basic auths cannot be used in disjunction because the first one raises OAuthProblem if it fails.
Additional info:
Output of the commands:

python --version Python 3.8.2
pip show connexion | grep "^Version\:" Version: 2020.0.dev1

This was fixed by #1290.


Don't wrap sqlite::RawConnection in an Rc

The reason we originally did the Rc wrapping was to ensure that the
prepared statements were finalized before the connection was closed. If
we don't finalize all prepared statements before closing the connection,
attempting to close the connection will fail, and we will panic.
At the time this code was originally written, the drop order of struct
fields was considered an implementation detail of Rust. However, that
was stabilized in RFC #1857 last year, so we no longer need to hold an
Rc for that reason. We do now use the DB connection to provide better
error messages, but we can get that from the statement object quite
easily.

Might be worth adding a comment to the struct where field order is important so that it doesn't get re-ordered by accident?

A comment is a poor way to ensure something like that remains true. The tests will unconditionally fail if the fields are re-ordered.


[Feature request] See/switch between "Most recent" diagrams

When working with many diagrams open, it would be useful to be able to switch between the most recent open/active diagrams as this would save time from having to navigate the Models window or scan through the open diagrams to find the previous one(s) I was working on. E.g.Ctrl-Tab and Shift-Ctrl-Tab to navigate backward / forward in a Most Recently Used list of diagrams.
Thanks,
Bjorn

Have you tried "Ctrl-F6"

Have you tried "Ctrl-F6"

I have now, thanks!

Ctrl-F6 Doesn't do anything in Archi on a MacBook Pro. It has a "touch bar" instead of real keys for F1-F12, and I first had to activate the F1-F12 keys for the touch bar for Archi (it was empty by default). F1 for help works, but F6 does nothing with any of the modifier keys (Ctrl, Option, Command, Shift, ...). I can't see a way to adjust/configure the hot keys for Archi either in the "Preferences" menu or otherwise?

According to this post "Ctrl-Page Up"/"Ctrl-Page Down" could work too https://stackoverflow.com/questions/4150072/what-are-the-shortcut-keys-to-change-to-the-next-and-previous-tab-in-eclipse-on?rq=1
Seems to work on Windows, might be Command PgUp/PgDown on Mac?

Ctrl-PgUp/Down takes you to the next and previous tab across the set of open tabs. What I find more useful when working with many tabs open and on 2-3-4 tabs at a time is to be able to move back and forth between the most recently used / visited tabs so I can quickly switch between the 2-3 diagrams I'm currently working on. The set of open tabs is simply in the order they were first opened... Cmd-[/] or Cmd-{/} doesn't do anything either (except splits the canvas). Hmm....

Ctrl-E will bring up a list of recents in a popup.

I can confirm that this works in the latest version, rather with Command-E on OSX. Thank you! What would be even better is to also provide a quick visual of the diagram, and using a hotkey (a la Ctrl-Tab and Shift-Ctrl-Tab) to navigate back and forth in the history with the visual outline of the diagram. It's easier to find the right diagram through the visual (and name) rather than just the name, and quicker to navigate through a hotkey rather than one for bringing up a list and another for navigating the list - requires more finger movement.

What would be even better is to also provide a quick visual of the diagram, and using a hotkey (a la Ctrl-Tab and Shift-Ctrl-Tab) to navigate back and forth in the history with the visual outline of the diagram. It's easier to find the right diagram through the visual (and name) rather than just the name, and quicker to navigate through a hotkey rather than one for bringing up a list and another for navigating the list - requires more finger movement.

It's unlikely that I'll implement that anytime soon. But if anyone else wants to have a go at implementing it please do.


Ores don’t generate

Currently ore generation is broken.
There is a slight fix though: You must set vein size to be 5 or greater.
I’ll try to fix this as soon as possible.

Fixed


Add checks for index put of bound and invalid date

fixes #483

Codecov Report

Merging #484 into master will decrease coverage by 0.17%.
The diff coverage is 0.00%.

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


ci: generate v2 docs using forge doc

generate protocol contracts docs in the docs/ directory using forge doc
concatenates README and SUMMARY into a single index.md file so that it can be published in the docs
modifies the URLs to ensure that it works with the docs website

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 82.35%. Comparing base (100d765) to head (c157025).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #334   +/-   ##
=======================================
  Coverage   82.35%   82.35%
=======================================
  Files           7        7
  Lines         306      306
  Branches       99       99
=======================================
  Hits          252      252
  Misses         54       54

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

I tried fixing the generated files workflow, but I'm just going to do it in a separate PR.


When using paket as a package manager, protobuf-net needs version <IP_ADDRESS>8

Performed a paket install with the nuget for TimeZoneNames and it specified >= <IP_ADDRESS>8 which retrieved  the newest version 2.1. This version errors with "Could not load file or assembly 'protobuf-net' version <IP_ADDRESS>8" because it is actually version 2.1.
Maybe just an fyi as I just needed to lock the version to <IP_ADDRESS>8.

Would be great to get this fixed!

This PR is related to this:

https://github.com/mj1856/TimeZoneNames/pull/19

Just released 3.0.0 for .NET Standard support and removal of protobuf.  Thus, this is no longer applicable.  Thanks.


Fix keychain error android

Update this keychain library will fix this issue PinCodeEnter:  [Error: Title must be set and non-empty]

Thanks for that


Added terms to postman. Updated terms so they just use mongodb id.

I think I handled this yesterday. Thank you for good work though!


Async client example

Hi, does there has the async client exmaple ?
BR

Here you go buddy: https://whoshuu.github.io/cpr/advanced-usage.html#asynchronous-requests
Cheers!


Signing files option missed

Hello Przemysław,
thank You for writing the module which made the process encrypt/decrypt of PGP files much easier for me (multiple files too, which is important to me).
As I wrote in the email one important funcionality is missing here, I mean - signing files. PGPCore supports that option.
If it's possible to add that feature - signing files,
(encrypt and sign), it will be great.
Tom

Any news :)?

Haven't had time to do it yet. It's not hard I guess - should be easily doable. Just I lack time.


Stuck on splash screen

Hello,
I created my project using your template (latest release SDK 40), I renamed the firebase config file to firebaseConfig and replaced everything with my own project's information. I didn't change anything else in the code. When I try running the app using android studio and my own phone with the expo app as well, I get stuck on the splash screen. The solutions I found online were either outdated or did not work at all.

Hey @ceid1987 is it working now?
Have you updated the Expo client on the various devices and simulators you are trying to run this app?

Hey @ceid1987 I am closing this issue, if you are still having problems, let me know.

Hey @ceid1987 I am closing this issue, if you are still having problems, let me know.


I have a bunch of files saved in /media/music, they show up fine, i can play them etc
The "Add to playlist" button does nothing, how do I create a playlist from these file mp3s?
2022.6.0b1 on hass 2022.6.0

@marcelveldt thanks - I see. Is there a quick way to add songs to the playlist as well, or is just one song at a time?

set it to list mode and click at the left on the small thumb/image

Thanks so much, really great work so far - great integration!
Ability to add network CIFS shares as a source for media would be perfect


Enforce consistency for Language/Dialect pairs

Language and Dialect are two fields that, once chosen, are compulsory (not when adding signs, though, only when you edit the Language or Dialect field). Moreover, it is inconsistent:

it is possible to choose Language NGT with Dialect Shanghai, for instance; make it so that each Language can only have the Dialects specified for that language - see here
choosing Dialect Unknown results in following the somewhat funny error:

Please make Unknown possible.

I am considering changing the Language part of Signbank in FinSL SB. See: https://github.com/Signbank/FinSL-signbank/issues/129
I am planning (until I change the plans) to have Datasets ("one instance of a dictionary") that have one Language set to it, instead of setting language to every Gloss itself. Then it should be possible to select only Dialects of the selected Language for all the glosses in a Dataset.

This has been fixed. (Issue #133.)
The Dialect choices in Gloss Detail View are now prefixed with the Sign Language and it's checked that the Dialect is for the Gloss's sign language.
The (current) Unknown choices are now unambiguous: CSL/Unknown or NGT/Unknown.
(Avoid testing out absurd combinations you don't really want. If you need to set a Sign Language or Dialect back to None, this needs to be done in the Admin pages.)

Here are some screenshots.
The first two show that you can set an Unkown dialect for the NGT sign language.
The third one has done something weird and changed the sign language to Kata Kolok after setting the dialect to NGT/Unknown.
There aren't any dialects for the Kata Kolok language, but the dialect can't be changed to empty.
(I assume that users know what they're doing and don't do this. Otherwise, there would need to be Unknown dialects for all languages without any dialects. Or a way to set this to empty.)

When updating the Dialect, if no Language has ben set, then the Language of the newly chosen Dialect is used.
I could make it so that if you already have a Dialect chosen (for your Language), that if you want to set your language again to something totally different, that the Dialect is made empty if it doesn't match the new language.
@ocrasborn any preference?

I think the former would be better, @susanodd

@ocrasborn, is this okay: when resetting the Language field to a different Language that doesn't match the (current) Dialect anymore, then reset the Dialect to empty? Is that okay?

Yes, that's OK.

Okay, this has been fixed. Pushed to github.


Append new authorized user to blossom-ci whitelist [skip ci]

Add myself into blossom-ci whitelist allowing triggering spark-rapids build by commenting "build"

build

build


Add prometheus exporter plugin to OpenSearch

Is your feature request related to a problem? Please describe
Getting metrics through prometheus gives a great benefint.
Pr now one either has to providison ones own docker image or install in the plugin in one way or another.
Describe the solution you'd like
Add the prometheus exporter plugin to the main docker image, or as an option in a separate official docker image for OpenSearch.
Describe alternatives you've considered
A separate install would require extra steps.
Building your own docker image would require a separate process for a use case which would benefit many. It can be done, but it's better if it came through the official image.
Additional context
N/A

It looks like this has been already added to community project page - https://opensearch.org/community_projects
@dblock @CEHENKLE What are you thoughts of adding it to our Docker image? I prefer it to be part of community project rather than baking it to Docker image to avoid tight coupling during releases but need your inputs as well.

It would be the first plugin that we include that is not in opensearch-project (https://github.com/aiven/prometheus-exporter-plugin-for-opensearch). Adding anything to the official distribution and docker image would mean testing it exporter as part of the distribution, reviewing all its code changes every time for any security issues and such, and asking plugin maintainers to work in lock-step with the distribution team. I am not sure we can be asking of the Aiven team to take on this overhead, and I doubt they would be interested as it would tie their release and make it harder to move faster. So I would not recommend doing this.

@dblock thats exactly my concern as well. Its easier to develop and maintain a standalone plugin not pre-installed in the distribution as they have additional flexibility of building, testing and releasing it using an already released stable distribution. It would require a lot of co-ordination and heavy lifting to pre-install it as part of the distribution generation process.

Closing this issue as we are not going to support adding this external plugin to distribution build at this point in time. Please feel free to re-open if anyone thinks otherwise.


Set Base Url

Normally could have something like this
import app from "wherever"
import request from "supertest";

const client = request(app)

await client
        .post("/api/v1/user/signin")
        .send({
          email<EMAIL_ADDRESS>// not real email
          password: "nnkanasiri",
        })
        .expect(401);
    });

Suggesting we get something like this
import app from "wherever"
import request from "supertest";

const client = request(app).baseUrl("/api/v1")

await request(app)
      .post("/user/signin")
        .send({
          email<EMAIL_ADDRESS>          password: "nnkanasiri",
        })
        .expect(401);
    });

that's a cool feature


feat: allow rootKey to be configurable

This allows the CSS Variable injected by the plugin to be used inside non-root frame, such as shadowHost, i.e, by setting the rootKey to host:

Thanks for the contribution!
I went ahead and made a few edits to your PR. In particular, I changed the option name to rootSelector, and I updated the readme and docs site.


Load on VCenter is heavy in Kubernetes 1.5.x as compared to 1.6.x

One of customers recently observed that the load on VC is heavy in Kubernetes 1.5.x as compared to 1.6.x when only 1 volume is attached to node in the kubernetes cluster deployment.
Need to validate the logs (kubelet and controller manager) sent by the customer to see why is there such a hit in performance in 1.5 as compared to 1.6

There is a issue https://github.com/vmware/kubernetes/issues/205 which is already tracking this. Closing this now.


Re-add RPi mainapp.config

Sadly, mainapp.config got swallowed by .gitignore. It's revived and *.config is removed from gitignore.

Jenkins: test this please

Rebased and applied.


Brownout detector was triggered with multimeter

Environment

Development Kit:      [ESP32-Wrover-Kit]
Chip version ( v0 and v1]
Core (if using chip or module): [ESP-WROOM32]
IDF version (latest)
Development Env:		[Arduino IDE]
Operating System:		[Windows]
Power Supply:         [USB|external 5V|external 3.3V|]

Problem Description
I am getting error "Brownout detector was triggered" when powering up my ESP32 and measuring the current with my multimeter.
ESP32 is working without measuring with the multimeter.
I read that this is probably power related error.

ESP32 is connected with USB. I have open serial monitor.

ESP32 has external power supply 3.3V.

I have strapped a 104uF cap across 3.3v and Gnd.

I have also tried with external 5v with 3.3v voltage regulator.

Any ideas?
Debug Logs
Brownout detector was triggered

ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:956
load:0x40078000,len:0
load:0x40078000,len:13256
entry 0x40078a90

DEVICE - Wakeup was not caused by deep sleep

E (20) wifi: esp_wifi_sta_get_ap_info 1277 wifi is not init

Brownout detector was triggered

This indeed looks like a power supply related issue. Usually putting an ordinary multimeter in line with ESP32 when WiFi is used causes such issues. If the multimeter is an auto-ranging one, then it usually can not switch ranges fast enough as the current is increasing. For an non auto-ranging multimeter, set the range to 10A initially (or just short the multimeter input with a jumper) and switch to 200mA after WiFi has been enabled.

i dont have ordinary multimeter(only auto ranging) :( so guess i cant measure it. Sad panda.

i have the same problem. so i attached an oscilloscope and saw it is drawing too much current and the voltage goes down below 2.8V (sometimes below 2.5-2.6V) with a spike. so i disabled the brown out detection by WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0) before WiFi.begin() and seems working.
btw, you have to include two libraries:  "soc/soc.h" and "soc/rtc_cntl_reg.h"


Example in readme is incorrect

Your example in readme is incorrect.
The user you pass in to the /auth endpoint should match the one in your database.
Your should request http://localhost:8080/auth with the following :
{
  "username" : "lynas",
  "password" : "123456"
}

fixed, thanks


Can't login in ps with SA user

Im following this, https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker?view=sql-server-2017&pivots=cs1-powershell
When I try sqlcmd -S <IP_ADDRESS>,1433 -U SA -P "Qwerty123"  give me this "error" -> Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Login failed for user 'SA'..
I already tried new passwords, images and Ports.

You could try to check if it works fine in other version odbc driver , you could  download the odbc 17 from [Download ODBC Driver for SQL Server](https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-2017).

it works.. thanks


Update code for u-law/a-law

Olaris supports compressed formats u-law/a-law with both sampling rates of 8000 and 16000.
Also, it uses binary messages instead of text. So it would be more efficient.
But we need to send chunks of size between 2048 ~ 8192  bytes.

It was done on:
499d78ab98b74cc1d326373ec51c8e06d1a9aeb4


Add nansum to BatchedArray

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (378d7cf) 100.00% compared to head (938d3ee) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #622   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           30        30
  Lines         2535      2546   +11
  Branches       327       328    +1
=========================================
+ Hits          2535      2546   +11

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Support for static url

I want to merge this change because. I think is important to have the ability to edit the location of the assets with the STATIC_URL environment parameter like the dashboard application.
Pull Request Checklist

[x] All visible strings are translated with proper context.
[x] All data-formatting is locale-aware (dates, numbers, and so on).
[x] The changes are tested.
[ ] The code is documented (docstrings, project documentation).
[ ] Changes are mentioned in the changelog.

Hi, thank you for contributing! It is definitely important. May I ask you for a rebase with master to resolve conflicts? We will then see that all tests pass and we will be able to merge changes.

@orzechdev I merge and resolved the conflicts, The only test that is not passing is the build because it requires the API_URL. But not sure how to solve this. Do you have any suggestion?

@bomba1990 Oh, great! We do not have configured CircleCI to run tests with forked repos, but I have run it locally and it passes all of them. Unfortunately, I see there is unnecessarily duplicated devtool: "source-map",  and also output property, which should be removed in the config/webpack/config.base.js. May you fix it too?

@orzechdev Done, I Fixed the reported by LGTM.

@dominik-zeglen I reviewed the requested, let me now if left any other comment.

@dominik-zeglen @orzechdev Do we have any update on this?


Why does this "logits_processors" parameter appear to be missing during operation?(v0.2.1.post1)

It has not be released yet. It will be part of v0.2.2. Please feel free to install from source. We are working on release it as soon as we can: https://github.com/vllm-project/vllm/issues/1551


STYLE: Remove as_ref() when calling is_equal on direction matrices

The vnl_matrix_fixed::as_ref() calls are no longer necessary, now that vnl_matrix_fixed directly supports is_equal:

VXL pull request https://github.com/vxl/vxl/pull/317 commit https://github.com/vxl/vxl/commit/aa373fc84efa2d0e2ae3c0b3716bbf8dda554e71 "ENH: Encourage unified container interface.", Davis Vigneault (@sudomakeinstall), June 16, 2016

vnl_matrix_fixed::is_equal is there already, but it the future it may be even more beautiful  😃

https://github.com/vxl/vxl/pull/942


Get Status column to show

In this view -> https://tracker.v2.mainnet.ams.vultr.icon.community/contracts/1?count=25
The Status column is not showing despite there being data in the API that feeds it.

This was due to the contracts service not outputting the status when the contract had already been indexed. Clearing the contracts tables and reindexing solved this. Should have better solution but this is dealt with. Need to reindex some testnets still.


Aroon Oscillator Indicator mis-calculation

I'm doing some investigation on this strategy and I found something misaligned between declaration and implementation.
In aroon_oscillator_indicator

Aroon Up indicator is a value of 0 to 100 indicating how recently the highest high
period occured in the data window. 100 indicates it has just hit the highest high.
the formula is: Aroon Up = 100 ∗ (period_length − "Periods Since 25 Period High") / period_length

But the actual implementation will never range from 0 to 100.
`
cdef object c_aroon_up(self):
cdef:
list highs = [p.high for p in self._oscillator_periods]
int last_high_index = -1
object m = Decimal("-1")
    for i, elem in enumerate(highs):
        if elem >= m:
            m, last_high_index = elem, i
    return ((last_high_index + 1) /self._period_length) * 100

`
let's say period_length is 2 and the value is [0, 1], in this case aroon_up is 100 but aroon_down is ((0 + 1) / 2) * 100 = 50 which is expected to be 0.
I think the calculation should be (last_high{low}_index / (self._period_length - 1)) * 100
**Optional: your discord
Lemma#8006

https://github.com/hummingbot/hummingbot/pull/5475


Info - managing Life between levels

Hi, I'm studying and reworking this game as a learning exercise.
You left in the code the health system and I wanted to enabled again like in a standard platform, but I've a little problem understanding how you would pass the Life value to the next level, because the initlife function seems to run every time a level start.
A little hint would be appreciated, but sooner or later I'll figure it out 😊

In this game, everytime the level changes or restarts, every Entity are destroyed and garbage collected. Therefore, if you want to keep some data, likelife for the Hero, you will need to store these somewhere else.
My recommendation would be to have these in Game, and use getters/setters in Hero to still access the values in a fully transparent way.

Thanks, I'll work on it


core is replaced by agent in DAF 4.0

As core is replaced by agent in DAF 4.0 so if we will use core then code will raise an error

Updated the Beta Read doc, as in 4.0 agent is being exposed as core so when we tried to use the given examples as mentioned it was throwing an error so there was update in example code ,, most of the changes proposed are type between core and agent

Fixed in https://github.com/uport-project/daf/commit/568a845e84d710a07bc1077728e3af614fab7c4c


[+Region/Zone] Azure Cloud Driver Implementation

completed via https://github.com/cloud-barista/cb-spider/pull/924


More tests, use fns from utils and rework core

What:

Why:

How:

Checklist:

[ ] Documentation
[ ] Tests
[ ] Code complete

Codecov Report

Merging #191 into master will increase coverage by 2.56%.
The diff coverage is 96.55%.

@@            Coverage Diff            @@
##           master    #191      +/-   ##
=========================================
+ Coverage   89.13%   91.7%   +2.56%
=========================================
  Files          22      22
  Lines         847     844       -3
  Branches      219     218       -1
=========================================
+ Hits          755     774      +19
+ Misses         70      56      -14
+ Partials       22      14       -8

Impacted Files
Coverage Δ

src/glamor/CSSPropertyOperations/CSSProperty.js
100% <100%> (ø)
:arrow_up:

src/index.js
93.77% <100%> (+10.28%)
:arrow_up:

src/glamor/clean.js
95.83% <100%> (ø)
:arrow_up:

src/sheet.js
60.29% <50%> (ø)
:arrow_up:

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 72abd4d...fa1c700. Read the comment docs.


gnome-text-editor: 42.1 -> 42.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for gnome-text-editor is: "A Text Editor for GNOME"
meta.homepage for gnome-text-editor is: "https://gitlab.gnome.org/GNOME/gnome-text-editor"
meta.changelog for gnome-text-editor is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
https://gitlab.gnome.org/GNOME/gnome-text-editor/-/compare/42.1...42.2

Fix a crash at shutdown after saving state. This didn't cause any data loss, but could be annoying.
Spellcheck underline fixes for various languages
Various robustness fixes for GTK 4
Fixes for inconsistent line-endings
Translation updates

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 42.2 with grep in /nix/store/xa6xkjh1bglrglhsvgmr18m1rf97lk1w-gnome-text-editor-42.2
found 42.2 in filename of file in /nix/store/xa6xkjh1bglrglhsvgmr18m1rf97lk1w-gnome-text-editor-42.2

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

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
gnome-text-editor

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/xa6xkjh1bglrglhsvgmr18m1rf97lk1w-gnome-text-editor-42.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/xa6xkjh1bglrglhsvgmr18m1rf97lk1w-gnome-text-editor-42.2
ls -la /nix/store/xa6xkjh1bglrglhsvgmr18m1rf97lk1w-gnome-text-editor-42.2/bin

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

1 package built:

gnome-text-editor

Maintainer pings
cc @bobby285271 @hedning @jtojnar @dasj19 @maxeaubrey for testing.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/automate-package-version-upgrades-too/22422/2


miq_policy/_policy_folders.html.haml is bogus

https://github.com/ManageIQ/manageiq/blob/master/app/views/miq_policy/_policy_folders.html.haml
@miq-bot add_label control, ui, technical debt

- The incoming `@folders` array is either `["Compliance", "Control"]` at root level or e.g. `["Host Compliance", "Vm Compliance", "Container Image Compliance"]` at 2nd level.
- Root level is detected by literally checking for `%w(Compliance Control)`.  In that case we do needless `.split.first` on the single-word string, and call it `model_name` despite not being a model.
  - We need that for the icon `"100/#{model_name.underscore}.png"`.
- At 2nd level, we reconstruct the model_name by from the user-readable string carefully crafted in [miq_policy_controller](https://github.com/ManageIQ/manageiq/blob/69f9b91b700f46f214b7f94ce02f9308fd3f9faf/app/controllers/miq_policy_controller.rb#L957-L959) using `model.name.titleize`: we lope off the last word which we know to be "Control" or "Compliance", join the model name back, and lowerCamelize.
  - Then we do a bogus ui_lookup attempt.  See, in this branch `model_name` _is_ a model name (though not UpperCamelized), but instead we lookup `f` — for any f as long as `f == "Vm"`, which it never is.
  - However the `_("%s Policies")` part works eg. "»Container Image Compliance ポリシー«".

I'll be happy to rewrite this (split into 2 views, pass structured @folders).
But there is some interaction with #8815 which is darga/yes.
=> Will it be OK to backport this refactoring too?

@martinpovolny please reply to @cben's questions and suggest a path forward that is in line with our refactoring strategy.
@cben we rarely backport refactoring work due to the risk.

Thanks, this helps me proceed.
I'll try making a minimal PR that just fixes ui_lookup here and see if that gets accepted to darga (if not, actually not a big deal).
After I finish my other darga/yes stuff, I'll be happy to do a bigger darga/no refactor.
Higher-level question
This view (and friends e.g. _condition_folders) renders into the right side essentially the same info as the controllers & tree_builder render into the explorer.
Here we get "dumb" data from controller and the view does some "where-we-are" detection, link target assembly, icon choice & translation.
In the left side, all that logic lives in the controllers & tree_builder.
Are there plans to share code between the 2 sides, for simple list-the-children views?

@cben : Feel free to cleanup the view. There are many to be cleaned up.
I can give you a few points on refactoring:

Only now we are finishing the cleanup of trees (moving the code to separate classes)
We are also finishing i18n, toolbars, model virtual columns and the ui_lookup being the most prominent things I know about
We are still working on toolbars -- see https://github.com/ManageIQ/manageiq/issues/6554
Simple 'list-the-children' is mostly covered by GTLs (which are a priority at this point and @karelhala is working on that).
Simple  'show-an-item' usecase is mostly covered by TextualSummary and that has been refactored a lot already and looks quite well I'd say.
We work on the stuff that has most effect (affects most screens or users or developers) first. This means that individual screen cleanups are not a priority unless someone is doing some major work in given area. You are welcome ;-)
Form screens are to be converted to Angular. So before cleaning up any, think about converting it. Talk to @himdel, @AparnaKarve, @lgalis about that.
Sharing code: Honestly I don't know. First thing that comes to my mind are the Decorator classes that where added recently. That might be the right place to put presentation logic that is shared between different places where a particular type of item is displayed. Such as, as you suggested, trees and the main content area.

Notes on the refactoring needed here:
There should be no need for the folders_i18n at this point.
There should be a decorator available (or new one created) to get the image_path.


Smart reload

This is a first strike at issues #20 and #43 about smarter reloading and dependency management. It's not yet feature-complete but what is implemented should work and be enough to get the discussion rolling.  This is a somewhat sizable PR, the main code number of lines increases by one third while the test code number of lines doubles.
Remember the main issue is that, whenever a partial template changes, the reloader orders rendering of all templates, without checking which ones are impacted by the detected change (issue #20). A closely related problem is that data files used by context generators are ignored by the reloader (issue #43).
User interface
This PR is fully backward compatible as far as the user interface is concerned. The twin main functions Site.__init__ and make_site get two new arguments, both defaulting to None:

datapaths: a list of data files or data directory, mimicking the semantics of staticpaths. Those files are not rendered by jinja nor copied in the build folder but, contrasting to ignored file, they will be monitored for changes.

extra_deps: a dict telling staticjinja about (maybe partial) templates depending on data files. Each key is a template and each value is a set of paths to a data file, relative to the source path.

That's all. The reloader will then try to be smart about which templates to render when a file changes or is created.
Nothing smart happens when a file is moved. The main reason is that easywatch is not ready to handle that (see Ceasar/easywatch#8). It would also add some complexity which we don't need in order to discuss the general scheme.
Implementation
The dependency graph
The main task is to create and maintain a dependency graph. The backbone is the method jinja2.meta.find_referenced_templates (see http://jinja.pocoo.org/docs/dev/api/#jinja2.meta.find_referenced_templates) whose documentation contains:

Finds all the referenced templates from the AST. This will return an iterator over all the hardcoded template extensions, inclusions and imports. If dynamic inheritance or inclusion is used, None will be yielded. [...] This function is useful for dependency tracking. For example if you want to rebuild parts of the website after a layout template has changed.

Of course Jinja2 cannot do anything about data files used by context generators, hence the extra_deps argument described above.  Alternatively we could ask each context generator to declare its dependencies, this would be equally easy to implement.
Those two sources give, for each (maybe partial) template or data file, a list of its immediate parents (here I'm using parent/child in the same direction Jinja2 uses it in http://jinja.pocoo.org/docs/dev/templates/#template-inheritance).  Have a look at fixtures site and expected_parents to make sure we're still on the same page.
But smart reloading is interested in the inverse relation: getting children (and grand-children and full descendancy) of a file. So we need to reverse this to get children, see fixture expected_children.
From there we generate full descendancy using classical depth first search. See fixture expected_deps. Note that I think we don't care about ordering the descendancy. In the end we will only render (non-partial) templates and those do not depend on each other so we can render them in any order.
Of course a file change (or even worse creation) can necessitate updating the dependency graph.
At first all this was distributed among modules staticjinja and reloader. But then I changed my mind and created a dep_graph module containing a class DepGraph. Of course instances of this class cannot forget about their parent Site which they need in order to call jinja2.meta.find_referenced_templates for updating purposes. This is very much similar to the situation of the Reloader class.
There is not much more to say about DepGraph except that its somewhat artificial split between methods get_descendants and connected_components is preparation for future work (see below).
Changes in module staticjinja
In the main module staticjinja there are trivial additions like a new set of files called jinja which gather partial templates and templates. They have their own property and test function. The same is of course true of data files.
There are also small modifications caused by the fact that the current code sometimes carries around templates and sometimes paths to template.  I needed more consistency at some points. This impact methods render_templates and render (and probably also parts of the reloader).
Then of course the main difference is in the method get_dependencies which uses the dependency graph...
Changes in module reloader
Here of course we have a crucial change in the event handler but it's only about ten lines long since all the work is in the dep_graph module.
There is also a slight change for static files but only because I thought calling get_dependencies here was somewhat obscuring the situation. I also corrected an oversight about ignored files which probably used to be harmless but isn't anymore.
Tests
The above changes are rather pervasive and depend on each other in a somewhat intricate way. I sort of know about the general idea that unit tests should be unit and isolated from each other using mocks. But actually doing it is way beyond my comfort zone. For one thing the size of the site fixture may mean I got too close to the realm of integration tests. Anyway, I spend much more time writing the tests than the main code but I wouldn't be surprised if they end up needing much more revision than the main code before merge.
Documentation
I haven't changed anything to the documentation yet. But I will do it if it appears this will get merged.
Performance
Invoking jinja2.meta.find_referenced_templates has a cost. All templates have to be parsed by Jinja2 and, as far as I can understand Jinja2 code, the result of this work is not cached for reuse when rendering. That's why Site.__init__ does not create the dependency graph but only Reloader.__init__ does it. We could also make this optional, even when using the reloader. Here my (debatable) reasoning is that it won't make any noticeable difference for small sites and larger ones will want smart reloading anyway.
One could ask whether building the graph from the output of jinja2.meta.find_referenced_templates could be a bottleneck. I haven't done any timing but I very much doubt there could be many sites with a deeply nester dependency graph so I guess we don't need powerful graph handling. Also, adding a project dependency on a general purpose graph theory library would feel like overkill to me, at least until someone complains my DepGraph is too slow.
Future work
If we agree on (a variation on) the above then we can think about moving files and maybe events happening to directory. Especially moving files requires an improved easywatch module.
Next we have the dual feature of incremental build. With or without using the reloader, each call to render builds the whole site. We can open an issue about that but one should know (assuming this PR gets merged one way or the other) it would be very easy to implement. Indeed, the way we get information about the dependency graph is actually more directly relevant to incremental build where we want all ancestors of a given template rather than all descendants of a given data file or partial template. The DepGraph would only need the obvious get_ancestors method besides its get_descendants but the way get_ancestors is coded through connected_components paves the way for that extension. After that we only need a couple of os.path.getmtime to get going.
If this PR gets merged in any way, I'll probably open an issue about refactoring the test code, at least splitting it into several modules since it gets quite big. Also I think there are inconsistencies in the way things are done there but maybe it's not a problem.

This looks fantastic and would be incredibly useful. Big change so don't think I can get to it soon, but I'll sit down and review it this weekend.

I forgot one comment. I know that there is some redundancy is my data file dependency interface. The content of the datapaths argument could be inferred from the extra_deps argument. But I couldn't decide whether it was bad or not. One could imagine that we want to have a data directory with some files that are not directly used (hence not appearing in extra_deps) but still should be considered as belonging to no other category of files (templates, partial templates, static, ignored). I don't know. Maybe I'm complicating things needlessly and one should get rid of datapaths.

Still working on reviewing this. Will have to continue tomorrow evening.
No need to address most of the style comments as before- they're just to make sure I remember them, and so you can be aware for your own future code.

Thank you for your first comments. The discussion about how Site, Reloader and DepGraph are coupled is clearly the crucial thing. This is why I wanted to have some code really implementing something (but not everything I mentioned as future work). I'll wait for you to finish a first pass through my commit and then I'll probably try to refactor with less coupling. I'm still not sure it won't be weird but it's definitely worth trying. And tests should be easier to write then.

Just an update-- have been really busy with work lately which is why this is taking so long.
Anyway, I spent last evening reviewing this, and I think, as you mentioned, things are too coupled, but I'm not sure how to resolve them just yet.
I think for sure we want to make DepGraph have no knowledge of the rest of the code, so all references to Site and templates should be removed. If we take that step, the main question becomes whether Reloader, Site, or something else entirely should be responsible for tracking dependencies and I'm not really sure what the answer is. Site seems like a good choice because it already has knowledge of all the files, but it seems like the class is losing focus-- it's both responsible for understanding the different file types and dependencies as well as building the site.
I think that the solution here is to create a new class that represents the source files and make Site responsible for solely rendering the templates. However I'm not sure and want to sketch it out some more.
I'll continue reviewing this this evening and hopefully has some more conclusive thoughts.

I've thought about it a bit and I think it's worth trying to separate things (after turning DepGraph into a more generic class).
As you suggested, we could have a new class Sources responsible for figuring out the role of each file in the searchpath and tracking dependencies. Roughly it would mean moving the following from Site to Sources: all properties, all test function is_something, get_dependencies, find_jinja_deps, get_file_dep. This class would be the only one directly talking to DepGraph.
Then make_site would generate an instance of Sources and pass it to Site which would pass it to Reloader if the later is used.
Because you say __init__ shouldn't do any work then we would need a make_source function taking arguments searchpath, datapath, staticpath, extra_deps (all removed from Site.__init__ except maybe searchpath) and environment. But I still have difficulties seeing the point of not doing the work in __init__. I noticed the trick you use it to have properties doing the work I would do in __init__. But doesn't it mean that this work is redone every time we access the property? I feel it would be more efficient and clearer to construct the object in the beginning and then update things by explicit call only when needed.
Anyway, I may try to do that tonight.

Thinking back about the previous message I fear it may sound slightly aggressive in the discussion about __init__. I really want to learn here and I'm sure I'll be happy with the end result. In an effort to understand this, I just went through a very quick review of how three somewhat related (but much bigger) projects handle this.
First in Nikola the main object __init__ is 500 lines long but indeed it seems to be mostly setting instance variables. However the returned object is not quite ready to work. For instance the main script calls self.nicola.init_plugins() in DoitNikola.run.
In Pelican the __init__ function is shorter but ends with  self.init_path() and self.init_plugins() which do actual work.
In Django AppConfig __init__ only sets things but there is a class method create which does actual work.
I like the class method way since it resolve the problem of having make_site (or any other comparable function) separated from the Site class without hampering testing (as far as I understand the testing concern you raised). This way the __init__ would be called only by make_stuff and tests and make_stuff would return an object fully ready for use. By the way, as far as I can see, the current test suite never creates a Site without using make_site so maybe we'll want to improve this.

I just spend two hours hacking a refactor to see what it would look like. It's in the smart_reload_refactor branch of my fork, see 7654b8488f5d6da916e. I'm not saying it's polished and I haven't refactored the tests. But I need to sleep now (it's 11:30pm here). You can have a look at it if you're curious but I'll fix the tests tomorrow evening (I mean Paris evening).

Regarding doing work in __init__, I'm basing my claims that the constructor shouldn't do work based of the concept of "dependency injection" (DI) (coined by Martin Fowler), which is a design pattern where modules/classes declare their dependencies rather than resolve them. 1 Misko Hevery, the author of AngularJS (which follows DI), outlines a few reasons why doing work in the constructor (i.e. resolving dependencies) is bad 2:

It reduces reuse of the module, since the class can only ever be configured one way.

It violates the Single Responsibility Principle, which makes the module less cohesive, harder to understand, and harder to write. With DI, you just assume the dependencies passed in are valid

It's harder to test the module, since we need to mock any modules it collaborates with rather than just pass them in. This also couples are tests more closely to the code than we need to.

The only time I "disagree" is when setting defaults, which I think is warranted since they don't get in the way of any of these points.
The trouble with dependency injection is that dependencies have to be resolved somewhere-- modules just pass the responsibility elsewhere. There are a couple solutions to this. If we were using Java we could use something like Guice, which is a full-fledged DI framework where you basically give it a config file explaining how to resolve dependencies and then let it resolve everything in the main method. In this case I'm just using "factories", which encapsulate the construction logic, which is how libraries like Requests and Flask (if you want to test your application) work.
It is interesting that the libraries you looked at don't use DI, but I can't see how they would solve the problems I listed above without. Django I think has a good solution with the class method, but that's not functionally any different then using a factory function except that it can be extended. It also does keep things together as you mention, but modules do too, so I'm not convinced it's obviously for that reason. (This argument is more compelling in Java where nothing can exist outside of classes.) And yeah, we should definitely look into not using make_site in the tests-- that's definitely a mistake unless we're actually testing make_site.
Looking at your refactored branch, it looks to me like that's definitely the way to go. I haven't looked at it closely, but the only thing that strikes me is Source.make_dep_graph() which is not a good style of building things. Either a dependency graph should be passed in the constructor or to the method that needs it, but it shouldn't be initialized only when needed. (It's not actually that expensive to create anyway-- not like we're sending data over a network or writing to disk.) Otherwise though, I think you should merge those changes into here (or submit a new PR and reference this one) since that seems much cleaner.

Thank you very much for your explanations. I've read the explanations you linked to. Then I analyzed my refactored branch with some help from davidfraser/pyan to get the attached picture.

I'm closing this PR since I now have a different implementation and the discussion will probably be cleaner this way.


ocmt domain

@aymanalkhalil The first verification stage is complete: the official domain for  Oman College of Management & Technology is www.omancollege.edu.om, to the best of my knowledge. This is just an informational note. The pull request is still under review. The review may take some more time. I greatly appreciate your patience. Here is the proof of domain ownership: https://www.omancollege.edu.om/

yes this is the official domain but the student email of this college is<EMAIL_ADDRESS>

@aymanalkhalil The first verification stage is complete: the official domain for  Oman College of Management & Technology is www.omancollege.edu.om, to the best of my knowledge. This is just an informational note. The pull request is still under review. The review may take some more time. I greatly appreciate your patience. Here is the proof of domain ownership: https://www.omancollege.edu.om/

@aymanalkhalil Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Backslash not working on Swedish keyboard

For some reason I can't write \ in Atom. On a Swedish keyboard, this is the combination of AltGr+ +. Other combinations with AltGr works (like }).

Thanks for the report! This looks like the same issue as https://github.com/atom/atom-keymap/issues/35 – closing out in favor of that issue.

A workaround for this is by adding the following to your keymap.cson file:
'atom-workspace atom-pane':
  'ctrl-alt-=': 'unset!'

Seems to work fine for me.

Thanks for the tip!

I noticed a workaround on Windows. If I first type the ¨ -key and then alt-gr + \ it works.

Thanks @csvn  - your suggestion worked for me!

I have this problem. Why isn't this fixed yet?

@mikael1000 Because no one submitted a PR for it?

@mikael1000 You can try installing the keyboard-localization package instead if you don't want some ridiculous workaround.


Pub should be able to grab the user's name and e-mail from local/global gitconfig

This issue was originally filed by<EMAIL_ADDRESS>
It'd be really cool if these fields could be pre-filled from the git config, or maybe even the codereview settings. It's annoying to have to fill in these things every time.
Maybe a global .pubrc could be useful!

This issue has been moved to dart-lang/pub#516.