SL Review: Ministry admin role

User Story
As a ministry administrator I want access to individual SL Review forms from my ministry so I can to print them for our validation process.
Tasks
Send an additional email (in addition to the email to the person who submit/validate a submission) with the PDF attached to an admin (an email address) upon every submission.
This field should not be mandatory

[ ] 1. Add text  "I would like to send a copy of my submission to my ministry administrator to prepare for our ministry validation meeting"
[ ] 2. Add info box with "Ministry SLR key contact reference  (Link= https://bcgov.sharepoint.com/teams/06164/SitePages/Ministry-Validation.aspx?xsdata=MDV8MDF8fGVkYTM4MjAwNTMxYzQ3NDFlMTYzMDhkYjdkOWM4NTRmfDZmZGI1MjAwM2QwZDRhOGFiMDM2ZDM2ODVlMzU5YWRjfDB8MHw2MzgyNDE4ODM0MDgwMzIwOTl8VW5rbm93bnxWR1ZoYlhOVFpXTjFjbWwwZVZObGNuWnBZMlY4ZXlKV0lqb2lNQzR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazkwYUdWeUlpd2lWMVFpT2pFeGZRPT18MXxMMk5vWVhSekx6RTVPbTFsWlhScGJtZGZUbFJLYTFscVVtMVpWRlYwVFRKTmVVNXBNREJPYW1NMFRGZEtiVTlYU1hST2JWa3hUa1JvYkUxSFZYcGFWRTB3UUhSb2NtVmhaQzUyTWk5dFpYTnpZV2RsY3k4eE5qZzROVGt4TlRNNU56VXh8ZDBhMzc5ZjRlMTYyNGM5MWUxNjMwOGRiN2Q5Yzg1NGZ8OGQyYjQ4Mzk3NTkwNGJiZWI5MGNjYWNlZGYwZDJkODM%3D&sdata=VmtnMFlmV1ZIQkVqS0hYR1pUWmJBektPSnlPN1BNT0pqbUJrQVR5d3M5QT0%3D&ovuser=6fdb5200-3d0d-4a8a-b036-d3685e359adc%2CStellaAnne.Archer%40gov.bc.ca&OR=Teams-HL&CT=1688592177176&clickparams=eyJBcHBOYW1lIjoiVGVhbXMtRGVza3RvcCIsIkFwcFZlcnNpb24iOiIyNy8yMzA2MDQwMTE2MSIsIkhhc0ZlZGVyYXRlZFVzZXIiOmZhbHNlfQ%3D%3D
[ ] 3. Text= "Select administrator" Add  'employee look up field (same as 'select senior leader)
[ ] 4. When employee is selected, populate this field with their email  Text= "Administrator email"
[ ] 5.  Send copy,  PDF to that admin on submit for validation

Alternatively,

[ ] Create an admin role that can access and print PDFs for all users’ submissions.
[ ] Set up permissions in multiple components (Keycloak, Formio, Camunda, and the API).

Acceptance Criteria
ministry admins can access and print contents of submissions from their ministries for validation processes/meetings

list from SharePoint: Ministry SLR Contacts
Agriculture and Foods: Shawna Lyttle, Manager Executive Operations & Planning, DMO
Attorney General: Kayla McKeown, Executive Director, Strategic Human Resources
BC Public Service Agency: Genevieve Racine, Executive Director, Strategic Human Resources
Children and Family: Soji Bryant, Executive Director, Strategic Human Resources
Citizens' Services: Celeigh Applebaum, Executive Director, Strategic Human Resources
Crown Agencies Secretariat: Brianne Kober, Director, Corporate Engagement, Planning & Operations
Declaration Act Secretariat: Lisa Gibbs, Director, Executive Operations & Corporate Priorities
Education & Childcare: Kim Russell, Executive Director, Resource Management & Operations
Emergency Management & Climate Readiness: Christine Fraser, Executive Director, Strategic Human Resources
Energy, Mines & Low Carbon Innovation: Ryan Clarke, Corporate Planning & Engagement, DMO
Environment & Climate Change Strategy: Jennifer Meadows, Director, Executive Operations
Environment & Climate Change Strategy (EAO Office): Chrystal Fenton, Manager, Human Resources Services
Finance: Jennifer Michell, Director, Executive Operations at Ministry of Finance
Forests: Andrea Wood, Director, Executive Operations
Government Communications & Public Engagement: Sharon Moss, A/Executive Director, Planning, Performance & Workforce Development
Health: Jordan Will, A/Executive Director, SMPO
Housing: Kayla McKeown, Executive Director, Strategic Human Resources
Indigenous Relations & Reconciliation: Geoff Bridge, Executive Director, DMO
Intergovernmental Relations Secretariat: Karen Milne, Manager, Executive Operations
Jobs, Economic Development and Innovation:  Rhonda McGinnis, Executive Director, Strategic Human Resources
Labour: Sveah Hourston, Manager Executive Operations
Mental Health and Addictions: Kimberley Gardner, Executive Director, Human Resources & Communications
Municipal Affairs: Rhonda McGinnis, Executive Director, Strategic Human Resources
Post Secondary Education & Future Skills: Deborah Schwartz, Executive Director, Governance & Corporate Planning
Public Safety & Solicitor General: Kayla McKeown, Executive Director, Strategic Human Resources
Public Sector Employers' Council Secretariat: Briana Smith, Senior Executive Assistant
Social Development & Poverty Reduction: Heather House, Executive Director, Strategic Human Resources & Communications
Tourism, Arts, Culture & Sport: Rhonda McGinnis, Executive Director, Strategic Human Resources
Transportation & Infrastructure: Vanessa Gedney, Executive Director Executive Operations
Water, Land and Resource Stewardship: Sandra Roe, Director, Executive Operations

@iman-jamali-fw  to review and estimate

@Stella-Archer
I see three different ways we can approach this:
Option one involves allowing ministry-specific roles for SL forms, which would enable the users to view and print all submissions from their respective ministries. However, implementing this feature would require significant development effort and ongoing maintenance due to the changing permission system in AOT's upcoming versions. It may be best to avoid this option unless we can reuse the same feature in other forms.
The second option, as mentioned in the ticket, is to let users search for and select the ministry admin. Once selected, the ministry admin will receive an email with a PDF attachment. This option should be relatively straightforward to implement (estimated effort: 5) and would require less maintenance, even if there are changes in ministry names or admin emails.
Lastly, we can automate the process at the Camunda/workflow level based on the selected ministry name in the submission. To achieve this, we can maintain a DMN table that maps ministry names to a list of ministry admin email addresses. Then, in the background, we can automatically send an email with a PDF attachment to those admins. This option is relatively easy to implement (estimated effort: 3), but it requires maintaining the DMN table in Camunda.
Please let me know if you have any questions or if there's a specific option you'd like to explore further.

Decision - go ahead with option 3. Since SL will end in sept we dont expect too many changes to the list.

@Stella-Archer Should we add an email to the submitter on the initial submission and also revalidation? There is currently only an e-mail to the submitter upon final submission.
If we do decide to add the email to the submitter upon initial submission, I will need the email copy for what it should say.

Received emails and will add them to the DMN today. Editing workflow to incorporate new submission/revalidation emails for submitter and SL admin.
Disabling manual input for Ministry, Division and Branch fields to align these fields accurately with the autopopulated ODS data to align with the reporting team. Discussing with Stella/Meghan/client before making these changes.

To test today to move to deployment - Andrew to check email content

@Andrew-Vargas-bcgov Howdy - is this one ready to go for deployment tonight?

@Stella-Archer I have added the following text to the first bullet in the slreview form:
"A copy of your submission will be sent to the senior leader's ministry administrator to prepare for the ministry validation meeting."
Would you check with Jodi to see if this is okay language?
Private Zenhub Image
I have moved the dmn to test. If you select a senior leader in the PSA, it will send the ministry copy to the digitaljourneys mailbox for testing purposes. All other have their real ministry contact as a recipient.
I will be adding the final 3 remaining ministries that have updates (just have to look up their identifiers).

Tested on TEST with [forms-flow-client + sl-review-adm] roles assigned to my user account:

Initial/resubmit/final submissions were all successful
I got the email with the PDF for the submitter for the initial/resubmit/final submissions
Email to the ministry admin needs to be verified by @Andrew-Vargas-bcgov as I don't have access to that mailbox
There are some logs that need to be removed from the forms-flow-bpm container. Probably has something to do with the DMN.

@mikeshi-bcgov Can you verify applicationId of 2979 at ODS, please? Thank you
@Stella-Archer I suggest someone with real IDIR also test out this ticket before going to PROD.

@iman-jamali-fw received the following submissions last night:
Private Zenhub Image

Received the 3 emails for submission, resubmission and final submission.
Confirmed the same in the Digital Journeys Inbox.

@iman-jamali-fw sorry missed this thread. Confirm we received those 2 submissions 2979 and 2982 in ODS.

@Andrew-Vargas-bcgov - is there anything else we need to do before closing this ticket?


reachability test failed: wrong status code 404

My kube-lego setup is not able to get a cert for one particular domain.
time=2017-12-11T18:34:38Z level=debug msg=testing reachability of http://sub.domain.xyz/.well-known/acme-challenge/_selftest context=acme domain=sub.domain.xyz

Fetching the selftest url by hand yields a HTTP 200 OK Status.
curl -v -4 http://sub.domain.xyz/.well-known/acme-challenge/_selftest
*   Trying xxx.xxx.xxx.xxx...
* Connected to sub.domain.xyz (xxx.xxx.xxx.xxx) port 80 (#0)
> GET /.well-known/acme-challenge/_selftest HTTP/1.1
> Host: sub.domain.xyz
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.13.7
< Date: Mon, 11 Dec 2017 19:05:19 GMT
< Content-Type: text/plain
< Content-Length: 16
< Connection: keep-alive
<
* Connection #0 to host sub.domain.xyz left intact

Other domains are working well.
I'm using jetstack/kube-lego:0.1.5 with kubernetes 1.8.
Thank you in advance,
Patrick

Same here

I had this issue recently. This is definitely specific to me/my network, but not a crazy scenario:
I effectively had a routing issue in my cluster.
I had a DNS record pointing back to my Master node (which has a public IP, and is routed on my internal network differently than the workers). I could access the site/domain just fine there. I could access it from my home network just fine.
On my other kubernetes nodes, however, trying to resolve the public IP caused a bit of an issue, as the internal network "knew better", and tried (unsuccessfully) to re-route.
If you haven't, try your curl command on the node the pod is running in, and see if it still works. If it doesn't, perhaps reroute traffic to that IP via a NAT Gateway.

Thank for the valuable comments above.
In my case it turned out to be another ingress resource causing conflict with the same backend service. So when the acme challenge was attempted it was pointing to a service that was buggy and the challenge could not complete successfully and therefore I was getting  /.well-known/acme-challenge/_selftest HTTP/1.1" 404 As soon as I deleted the conflicting ingress pointing to the same domain lego acme challenge finally went through and the certificate was successfully created.

Fantastic. The problem I had was I had two ingresses on the same IP address - solution was to delete both, and then deploy the new one (without the certificate) first, followed by my existing one.

I had this problem. I use Nginx inc ingress controller , but I think my solution suitable for everyone
Solution - Don't give a name for ingress controller  starting with a,b,c
its Nginx's feature  - Nginx load config files by alphabet and cert-manager named own configs "%namespace%-cm-*", so Nginx load you ingress config before cert-manger

I had this problem too. Turned out, GKE created a new Loadbalancer with another IP and my DNS had the wrong IP. Once I found this out, the cert was issued and served.


NullPointerException in OrientdbBaseGraph#getVertices if using remote connection

OrientDB Version: 3.1.0
Java Version: openjdk version "11.0.7" 2020-04-14
OS: 5.3.18-050318-generic x86_64 GNU/Linux
Expected behavior
Orientdb returns the vertexes.
Actual behavior
NullPointerException in OrientdbBaseGraph#getVertices at line 921.
          try (final Stream<ORID> stream = idx.getInternal().getRids(key)) {
            return new OrientClassVertexIterable(this, stream.collect(Collectors.toList()), label);
          }

Steps to reproduce

import org.junit.jupiter.api.Test

import com.orientechnologies.orient.core.sql.OCommandSQL
import com.tinkerpop.blueprints.Vertex
import com.tinkerpop.blueprints.impls.orient.OrientGraphFactory

class OrientdbGetVertexIndexTest {

    final static String CLASS_NAME = "TestV"

    final static String INDEX_BY_Z = "byZ"

    @Test
    void "getVertex, with index"() {
        OrientGraphFactory o2 = new OrientGraphFactory("remote:localhost/testdb", "admin", "admin").setUseLightweightEdges(true).setupPool(1,10)
        def t2 = o2.getNoTx();
        try {
            def z = 5
            // throws NullPointerException
            def vertices = t2.getVertices(CLASS_NAME,  ["Z"] as String[], [z] as Object[])
            for (Vertex v : vertices) {
            }
        } finally {
            t2.shutdown();
        }
    }

    static void createDb() {
        def path = "/home/devent/Projects/dwarf-hustle/db/testdb"
        new File(path).deleteDir()
        OrientGraphFactory o1 = new OrientGraphFactory("plocal:$path").setUseLightweightEdges(true).setupPool(1,10)
        def g = o1.getNoTx()
        g.command(new OCommandSQL("CREATE CLASS ${CLASS_NAME} IF NOT EXISTS EXTENDS V")).execute()
        g.command(new OCommandSQL("CREATE PROPERTY ${CLASS_NAME}.Z INTEGER")).execute()
        g.command(new OCommandSQL("CREATE INDEX ${CLASS_NAME}.${INDEX_BY_Z} ON ${CLASS_NAME}(Z) NOTUNIQUE_HASH_INDEX")).execute()
        g.shutdown()
        def t1 = o1.getTx()
        try {
            t1.addVertex(CLASS_NAME, "Z", 5)
            t1.commit()
        } finally {
            t1.shutdown()
        }
        o1.close()
    }
}

This is related to the commit "Manual indexes and dictionary index are deprecated in Java API." https://github.com/orientechnologies/orientdb/commit/fa7ed950c6fb9583582bcf3c4f7ac6ca4f3d5acc

Update. Using plocal the same code runs fine.

import org.junit.jupiter.api.Test

import com.orientechnologies.orient.core.sql.OCommandSQL
import com.tinkerpop.blueprints.Vertex
import com.tinkerpop.blueprints.impls.orient.OrientGraphFactory

class OrientdbGetVertexIndexTest {

    final static String CLASS_NAME = "TestV"

    final static String INDEX_BY_Z = "byZ"

    final static String path = "/home/devent/Projects/dwarf-hustle/db/testdb"

    @Test
    void "getVertex, remote, with index"() {
        OrientGraphFactory o2 = new OrientGraphFactory("remote:localhost/testdb", "admin", "admin").setUseLightweightEdges(true).setupPool(1,10)
        def t2 = o2.getNoTx();
        try {
            def z = 5
            // throws NullPointerException
            def vertices = t2.getVertices(CLASS_NAME,  ["Z"] as String[], [z] as Object[])
            for (Vertex v : vertices) {
            }
        } finally {
            t2.shutdown();
            o2.close()
        }
    }

    @Test
    void "getVertex, local, with index"() {
        OrientGraphFactory o2 = new OrientGraphFactory("plocal:$path").setUseLightweightEdges(true).setupPool(1,10)
        def t2 = o2.getNoTx();
        try {
            def z = 5
            // runs fine
            def vertices = t2.getVertices(CLASS_NAME,  ["Z"] as String[], [z] as Object[])
            for (Vertex v : vertices) {
            }
        } finally {
            t2.shutdown();
        }
    }

    static void createDb() {
        new File(path).deleteDir()
        OrientGraphFactory o1 = new OrientGraphFactory("plocal:$path").setUseLightweightEdges(true).setupPool(1,10)
        def g = o1.getNoTx()
        g.command(new OCommandSQL("CREATE CLASS ${CLASS_NAME} IF NOT EXISTS EXTENDS V")).execute()
        g.command(new OCommandSQL("CREATE PROPERTY ${CLASS_NAME}.Z INTEGER")).execute()
        g.command(new OCommandSQL("CREATE INDEX ${CLASS_NAME}.${INDEX_BY_Z} ON ${CLASS_NAME}(Z) NOTUNIQUE_HASH_INDEX")).execute()
        g.shutdown()
        def t1 = o1.getTx()
        try {
            t1.addVertex(CLASS_NAME, "Z", 5)
            t1.commit()
        } finally {
            t1.shutdown()
        }
        o1.close()
    }
}

Fixed


ModuleNotFoundError:

Hello Spinlud,
Thank you for your work.
I have this error when I launch the code.
C:\Users\julie\OneDrive\Documents\Linkedin Scraper Jobs>C:/Users/julie/AppData/Local/Microsoft/WindowsApps/python3.10.exe "c:/Users/julie/OneDrive/Documents/Linkedin Scraper Jobs/import logging.py"
Traceback (most recent call last):
File "c:\Users\julie\OneDrive\Documents\Linkedin Scraper Jobs\import logging.py", line 2, in
from linkedin_jobs_scraper import LinkedinScraper
ModuleNotFoundError: No module named 'linkedin_jobs_scraper'
Thank you for your help!

Hi, please share the code of your script


WIREFRAMES: How to nest iterations

Provide a mechanism by which users can nest iterations.

Upon iteration creation, indicate which parent iteration the one they are creating should belong to
When editing an iteration, indicate which parent iteration the one they are editing should belong.
to
Allow for un-nesting of an iteration

VCs:

Wireframes created
Review at cabal or similar
Review w/ Pete & Todd
Post to Invision

Dupe of #168


Registration issue with default param

Path to data : /Volumes/folder_shared/sct_issues/20160711_issue924
command: sct_register_to_template -i space.nii.gz -s space_seg.nii.gz -l labels.nii.gz
Result: (yellow and orange dot are the labels at C3 and T2)

Re-tried today, result is slightly different but not better:

With only one step, with an affine transformation on segmentations:
sct_register_to_template -i space.nii.gz -s space_seg.nii.gz -l labels.nii.gz -param step=1,type=seg,algo=affine,metric=MeanSquares,slicewise=0:step=2,iter=0:step=3,iter=0

Fixed with the new version of straightening, that makes the image straight in the real referential frame.


Fixed #23892 -- Clarified compatibility policy for migrations.

https://code.djangoproject.com/ticket/23892

Sounds good. I'd empathize the second paragraph (like in the first paragraph).

Maybe; I didn't want to overuse emphasis. We don't do a lot of it in the docs. So I just emphasized the one takeaway point that you need to know if you don't get anything else.

LGTM

merged in e35c70bef44805d47f6a4ae692be878184c4fe1f, thanks.


SliderExtender does not create successfully when dynamically added from an AJAX postback

Version of toolkit : <IP_ADDRESS>
Component : SliderExtender
Issue : SliderExtender can not be dynamically added to a page during an AJAX postback, if it is it will fail to change the rendering of the textbox to be a slider control.
NOTE: Example project attached with issue and workaround.
SliderIssueRepro.zip
Minimal steps to reproduce the bug

Extract the attached reproduction project (SliderIssueRepro.zip) and rebuild to get nuget packages.
Examine code and Run
Press the repro button to create a slider control dynamically on ajax postback.

Work around

Extract the attached reproduction project (SliderIssueRepro.zip) and rebuild to get nuget packages.
Examine code and uncomment the SliderWorkaround() call in the Page_Load event of default.aspx.cs
Press the 'Make it work with a workaround' button.

Attached is a project demonstrating the issue.
Actual result
ExtenderSlider does not correctly create (still has a textbox).
Expected result
ExtendedSlider should correctly create (has the replaced slider)

@MicrosoftTE Steve, thanks and happy to have an original ACT dev help us with this library. Our devs will look into this soon.

Hi @MicrosoftTE,

Thank you for such a cool example!

The reason for this is obvious - when an extender is created dynamically inside an UpdatePanel, there are no scripts and images loaded for this extender beforehand. This can be easily checked with the page source code.

If we had a simple control, we could call the RegisterStartupScript() method as described here: http://stackoverflow.com/a/1953122

However, things are a bit more complex when working with controls based on Microsoft AJAX.

Resource links for extenders are rendered with ScriptManager, which gets resource entries from all extenders on the page and normalizes them by removing duplicates.
If we blindly force rendering of all scripts for SliderExtender when it's created dynamically, this may lead to duplicates and runtime errors.
Also, the logic of rendering image links is executed internally and is not available from user code.

As such, we treat this behavior as by design.

If you have any ideas how to instantiate this extender in an asynchronous postback properly, I would love to hear them.
Feel free to share your ideas because this can make significant impact to AJAX Control Toolkit usability as a whole.

@MikhailTymchukDX
Instead of "by desing", I'd say it's a known limitation of MS Ajax and UpdatePanel.
Alternative workaround is to always create the slider, but invisible, and set Visible to true on the button click.
Here are suggested edits.
In the markup, move the button out of demoPanel:
<asp:Panel id="demoPanel" runat="server"></asp:Panel>
<asp:Button id="repoIssue" runat="server" OnClick="repoIssue_Click" Text="Reproduce Issue"/>

In the code-behind:
protected override void OnInit(EventArgs e) {
    base.OnInit(e);
    CreateSliderControl(demoPanel);
    demoPanel.Visible = false;
}

protected void repoIssue_Click(object sender, EventArgs e) {
    //CreateSliderControl((sender as Button).Parent);
    demoPanel.Visible = true;
}

Also, in order to preserve state on subsequent postbacks, fixed IDs are required, not random GUIDs.


.Net 5 preview no longer builds

I'm now getting the following error on a Source Generator project that was previously working, Here is a link to the project that will no longer build https://github.com/trampster/JsonSGen
Here is the the error I get when trying to build

/snap/dotnet-sdk/97/sdk/5.0.100-preview.8.20417.9/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(241,5): error NETSDK1005: Assets file '/home/daniel/Work/JsonSG/UnitTests/obj/project.assets.json' doesn't have a target for 'net5.0'. Ensure that restore has run and that you have included 'net5.0' in the TargetFrameworks for your project. [/home/daniel/Work/JsonSG/UnitTests/UnitTests.csproj]

The target project has a target for net5.0:
<TargetFramework>net5.0</TargetFramework>
And I have tried running restore but it doesn't help
I'm using .NET 5 on linux (ubuntu 18.04) using the snap package, I have version 5.0.100-preview.8.20417.9, I'm not sure what made it stop working.

I cleared the obj/bin folders and it started working again.
Looking at my command line history it looks like I ran dotnet test instead of dotnet-sdk.dotnet test, once and then after that running dotnet-sdk.dotnet test didn't work.
I would not expect running the old dotnet to break things in an unrecoverable way like this.

It looks like you had restore issues and deleting the folder helped. Closing since it's resolved.


1.20.1 support?

everything is in the title, more of a question than an issue ^^ thank you!

Added in version 1.0.3


Dependency on go-logging breaking on go 1.4

go-logging uses a C function to get thread IDs that cannot be ported to go 1.4 (converting to C.go fails when trying to use runtime.h, and is trying to do something pretty dubious anyway).  go-logging pull in another library from the same developer. It's probaby worth dropping it completely, since it's not really a huge win for all the extra external code.

Closing this to get it out of my issues backlog


Sync libasr with LCompilers

LFortran: c4daf215288b3dd0519d93bdb650657dd143a572 (https://github.com/lfortran/lfortran/pull/1025)
LPython: 35a4542259eddf746de46e9292698d0e15b7dad1 (https://github.com/lcompilers/lpython/pull/1314)

Thanks!


add template deployment support to include native and Saml auth

I am using tag 7.1.1 and my deployment is configured to use Azure AD SAML
This configuration does work but if i add  native auth realm to
esAdditionalYaml . it skips the setup during deployment.
[24062019-14:01:47] [configure_elasticsearch_yaml] Skipping line 'xpack.security.authc.realms.native.native1.order: 0'
We require to use of native account for logstash to ship logs to elasticsearch, is there a way to have this configurable when deploying from ARM template ?

Hi @smarshal-Quest.

esAdditionalYaml . it skips the setup during deployment.
[24062019-14:01:47] [configure_elasticsearch_yaml] Skipping line 'xpack.security.authc.realms.native.native1.order: 0'

It is correct that the template deployment prevents you from applying this setting, but it's a bug that the native realm is not also configured when the SAML realm is configured. The native realm is configured by default when no other realms are configured.
The elastic superuser account will be able to connect to the cluster, although you'll likely want an account with more limited authorization, like logstash_system.  We'll fix this in the next release which should be shortly. Tthe workaround for now would be to ssh into each Elasticsearch node in turn, add the native realm configuration to /etc/elasticsearch/elasticsearch.yml, then restart the elasticsearch process
sudo systemctl restart elasticsearch.service

to pick up the change. Be sure to wait for each Elasticsearch node in turn, and have sufficient replica shards to continue normal cluster operation.

I've opened #291 to address

#291 is now merged and will be in the next tagged release. Closing this


Add dropdown list of substitution acts in the work primary section

Overview
Add an optional dropdown field in the work form to choose the Substitution Act if the work has one. The content of the dropdown can be

CEAA 2004
CEAA 2012
IAA (2019)

Add none to list then this card can be complete.
4 choices - NONE then the 3 acts


separate Artist and Performer info params

--Output'=General;%Artist%' seems to be an undocumented alias for --Output'=General;%Performer%', however they are not the same and so i think Artist should be given its own info parameter and be applied only to 'ARTIST' and not 'PERFORMER'

sample file where both fields in the file are different?
How can I differentiate when metadata description in a spec (example) is
TOPE
    The 'Original artist(s)/performer(s)' frame is intended for the performer(s) of the original recording, if for example the music in the file should be a cover of a previously released song. The performers are seperated with the "/" character.

?

How can I differentiate when metadata description in a spec (example) is...

thankfully the MP3 format is dying... and it can't die soon enough for me!!!
i neglected to even consider it when i opened this issue - i meant to refer to the vorbis comment spec
sample file was created with...
metaflac --set-tag'=Artist=Jerome' --set-tag'=Performer=Github'
mediainfo documents Performer as being equivalent to Artist (Performer: Main performer(s)/artist(s), however it's output contradicts this...
Performer                                : Github
Composer                                 : Jerome

the whole MP3/ID3 thing is a mess, so i don't know what, if anything, you want to do about this other than possibly change what is returned when reading vorbis comment tags
test - 16 bps, 44100 Hz, VORBIS artist and performer tags.tar.gz

sample file was created with...

I mean, a real use case with artist not performer.

mediainfo documents Performer as being equivalent to Artist

From doc:
ARTIST: [...] it would be the composer [...]

For the moment, there is an algo checking about how to redirect the "ARTIST" vorbis tag depending on the presence of "PERFORMER" (and if they are equal or not, in order to catch " In popular music this is usually the performing band or singer." from spec and reality that both fields are sometimes filled with same name) from experience with real use cases.
It was what was decided a long time ago based on experience and from the files in the wild also in Id3v2 (reason Artist is a synonym of Performer in MediaInfo: there is a Composer field too, and Vorbis says that ARTIST may be the Composer...), could be changed but we need demonstration that the current algo in MediaInfo is not good compared to a lot of files in the wild.


plexupdate: Doesn't work with libaries not named "Music"

I've named my music libaries Music (New) and Music (Untagged). The plex update plugin should update the Music (New) section, but instead of updating at least both music libaries it doesn't update anything. If I change the library name from Music (New) to Music it works like a charm. This is specified on line 33 of the beets plugin. A config option to add libraries other than Music would make sense imo.

Odd—did the body of this issue get deleted somehow?

Odd—did the body of this issue get deleted somehow?

Sounds quite reasonable!

Yeah, I'm sorry. The initial body of this issue consist of just the problem with the plex update plugin (and my config file etc.), but after some research I've found the real issue which is far more useful I think.


UK or UA?

Why are you calling it nodejs-uk? If it is Ukraine it should be nodejs-ua.

@streamich #85


Default Primality test has over 30K counterexamples

It's broken, and by extension so are nearly all the other functions including factorization and anything that depends on it. Additionally it does not seem possible to evaluate primes beyond 2^64-1, utilizing the is_prime function which appears to flag every number as composite.

How do you count the number 30K? There should be infinite number of counterexamples :)
The default primality test config is a tradeoff between running time and precision. One can tune the primality configuration by passing in a config struct.
Could you please elaborate (version, test code etc) on the problems you met with numbers larger than 2^64-1? I didn't meet any problems you mentioned.

"the default", refers to is_prime64. There are 39k counterexamples under 2^64, and it doesn't seem possible to override it short of disabling the "bigtable". Here are some certificates.
N                                 claim     witness                   factorization
600437059821397       false,<PHONE_NUMBER>59834    2, 3, 7, 877, 887, 1129, 2713
3866032210719337     false,<PHONE_NUMBER>06016    2, 3, 7, 19, 79, 859, 863, 20681
4100599722623587     false,<PHONE_NUMBER>105965   2, 3, 7, 13, 103, 503, 1407383

39239 others

It comes from Bradley Berg's hashtable if you are wondering. The selected parameters aren't even possible (the pseudoprime count for the bucket's is several times higher than even a deterministic search in the interval 0;2^16 can filter), and it looks like it was purely guesswork.
As for the latter part, it may have been in error. Another library I was evaluating had that issue.

Thanks for providing these cases! I will look into them.

I have changed the prime table to the Forisek and Jancina one (same as the one you used), thanks for providing the information! I'm wondering how you found these counter-examples? Did you run his algorithm through the primes under 2^64?


⚠ Bofrost.lu has degraded performance

In 9c1d14b, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2709 ms

Resolved: Bofrost.lu performance has improved in 321ffde after 14 minutes.


Allow providing mintable native token owner account

Description
The genesis command's --native-token-config flag is expanded with another parameter that allows specifying the owner of a mintable native token. Prior to this PR, the first validator from the initial validator set was set as the owner of the mintable native token, which means that it was able to do the minting and burning.
In case a non-mintable native token is used, the owner account address should be omitted (since it is not applicable in that case).
Changes include

[ ] Bugfix (non-breaking change that solves an issue)
[ ] Hotfix (change that solves an urgent issue, and requires immediate attention)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Checklist

[ ] I have assigned this PR to myself
[ ] I have added at least 1 reviewer
[ ] I have added the relevant labels
[ ] I have updated the official documentation
[ ] I have added sufficient documentation in code

Testing

[ ] I have tested this code with the official test suite
[ ] I have tested this code manually

If we don't want to introduce a global admin address in genesis, this is good enough, otherwise maybe we should think on it.

We can make sure to reiterate that in the future. For now, we are good with this approach.


File phone.txt does not exist

In page 193 of the books it is mentioned

Many useful things are possible with sed. Let's take the phone.txt file (in the code repository (_https://github.com/physics-codes/examples_) for this book) as an example.

But the file does not exist.

This is still an issue.
It would be nice to have the file to so that we can complete the exercises related to sed.
Thanks

yeah, the file doesn't exist tho

In page 193 of the books it is mentioned

Many useful things are possible with sed. Let's take the phone.txt file (in the code repository (_https://github.com/physics-codes/examples_) for this book) as an example.

But the file does not exist.

many other files I didn't find in the repo.

Still cannot find the file. And it is not the first one missing. This is the major issue with the book.


Deploy fellowship site to production

We'll be launching the fellowship site to fellowship.azavea.com on 1/31. This issue will track deployment to production.
@azavea/operations

@azavea/operations this is good to go. Do you need anything else from us before publish?

Merged develop into master, site has successfully been deployed.

:tada:


⚠ ClamAV has degraded performance

In a51d95f, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 87 ms

Resolved: ClamAV performance has improved in f91d4eb.


Rename the scalahost plugin

The name "scalahost" has repeatedly proven to be confusing to newcomers. We should call our compiler plugin "semanticdb", since that is much clearer.

I'm not convinced this is a good idea. What should sbthost, dottyhost and intellijhost be named then?
I agree it appears to be confusing for new users, but that should be solvable with better docs http://scalameta.org/tutorial/#Scalahost

How about sbtSemanticdb, dottySemanticdb, and intellijSemanticdb?

I think we should postpone this discussion for after 1.9.

Fair enough.

@olafurpg I suggest we revisit this. Since the beginning of the previous week, I'm repeatedly explaining people what scalahost is, and it's getting fairly old.
I think that by sticking to the old name we increase the number of concepts we need to introduce to people without getting any value in return. We're getting more and more users, so it would be helpful if our onboarding process was easier.

Agreed.  I looked at the doc link @olafurpg to see if reading the docs would answer the question.  Reading the name Scalahost I parse it as two words, “scala” and “host”.  Is it hosting scala?  Is scala hosting something?  I just can’t pull any meaning out of it.  Reading the docs doesn’t give me much more, but beyond that if someone is reading a list of dependencies I don’t want them to have to google each name to understand if it is even related to what they are searching for.
Even a name like semanticHost or metaHost would at leave give an idea of what it is for, but the word scala adds no meaning as anyone looking at a scala plugin already knows scala is involved, so they are left with the word host alone to convey meaning which just doesn’t seem like enough.
When I see sbt-docker I immediately know this plugin must help sbt interact with docker, and if I am not investigating sbt to docker interaction I will immediately disregard it, which I think is valuable.
How could we do the same for Scalahost?

Just upgraded to 2.0.0-M2 in scalafix and wanted to report that I like semanticdb-scalac, despite it being quite verbose. Fixed in #1055


Sema: Explicitly allow Optional-to-IUO when converting functions.

We limit Optional-to-IUO as an implicit conversion to avoid making common expressions ambiguous. However, this runs into trouble with function-to-function conversions, which always look for a "Subtype" relationship for their inputs and outputs. This is a conservative way for Sema to avoid emitting conversions that SILGen cannot handle.
The problem case here is converting a closure with type (Any!) -> Void to a value of type (Any?) -> Void:
let f: ((Any?) -> Void) = { (arg: Any!) in }

This is clearly a safe conversion, since Any! and Any? have the same representation at run time, but historically we've disallowed it because of the above rules. However, in Swift 3.0 this particular case was permitted, with the type checker deciding that the Any? argument to f could first itself be put into an Any, then that value could go through a value-to-optional conversion to make Any!. Fortunately the emitted code didn't follow this incorrect conversion path.
This patch doesn't even try to emulate the old behavior. Instead, it just weakens the restriction on Optional-to-IUO via a new type matching flag that only applies within the context of matching function types.
We can consider opening up function conversions in Swift 4 to anything that supports conversion—not just subtyping—now that SILGen knows how to automatically reabstract most such things. But whether we do or not, Optional/IUO is a special case.
SR-3758 / rdar://problem/30235814

@swift-ci Please test

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 0d01210b85ff8806a46be1af35b05ccd4d252bbb
Test requested by - @jrose-apple

Are you going to do the proper fix too? ;)
BTW I think SILGen only supports Subtype conversions for function parameters and returns right now. This includes a fair number of conversions, like existential erasure, class upcasts, injection into optionals, and some random ones like metatype to object conversions. I think Conversion does some additional things that SILGen does not support.

I don't think there is a proper fix that maintains Swift 3 compatibility. If you look at the JIRA you can see a record of some of the other things I tried. Everything else has much wider ripple effects.
Looking at the locator's not a bad idea. The query's just "are we anywhere in ConstraintLocator::FunctionArgument or ConstraintLocator::FunctionResult". I'll try that.

Look at how locators have a summary flags field. I think this gives you what you want.

Not sure what's up with the test failure. It has nothing to do with this patch.

@swift-ci Please test

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 0d01210b85ff8806a46be1af35b05ccd4d252bbb
Test requested by - @jrose-apple

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 0d01210b85ff8806a46be1af35b05ccd4d252bbb
Test requested by - @jrose-apple

@swift-ci Please test

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 9d90d7e01ce4a28a502608c09a37835f01f8547c
Test requested by - @jrose-apple

@swift-ci Please test macOS


No such module PackagePlugin

Swift version
swift-driver version: 1.113 Apple Swift version 6.0 (swiftlang-<IP_ADDRESS>.6 clang-16<IP_ADDRESS>)
Platform
macOS 14
Editor
Visual Studio Code
Does the issue reproduce with Swift 6?
Yes
Description
SourceKit-LSP gives an error diagnostic No such module PackagePlugin when trying to import PackagePlugin for a SwiftPM plugin. This module should be available and give code completion, go to definition, etc.
Steps to Reproduce
Clone git@github.com:elegantchaos/Versionator.git
checkout 187bc4c0e15dadccb5a65b2f71fa0082bd583f81
open in VSCode and try to edit Plugins/VersionatorPlugin/plugin.swift
Logging
No response

This was originally reported in swiftlang/vscode-swift#1044 by @samdeane

Synced to Apple’s issue tracker as rdar://136423767

The lack of autocompletion is quite frustrating. Are there any updates on this issue?

Yes, https://github.com/swiftlang/sourcekit-lsp/pull/1846 should fix the issue.


Ruy: Fix cstring include in detect_dotprod.cc

detect_dotprod.cc uses memset command which is defined in <cstring> (string.h).
However detect_dotprod.cc includes <string> instead of <cstring>.
This PR fixes the include statement.
TFLite compilation Error (using aarch64-linux-gnu-g++-5.4.0 on Ubuntu 16.04):
aarch64-linux-gnu-g++ -O3 -DNDEBUG -fPIC  --std=c++11 -march=armv8-a -funsafe-math-optimizations -ftree-vectorize -fPIC -I. -I/root/tensorflow/tensorflow/lite/tools/make/../../../../../ -I/root/tensorflow/tensorflow/lite/tools/make/../../../../../../ -I/root/tensorflow/tensorflow/lite/tools/make/downloads/ -I/root/tensorflow/tensorflow/lite/tools/make/downloads/eigen -I/root/tensorflow/tensorflow/lite/tools/make/downloads/absl -I/root/tensorflow/tensorflow/lite/tools/make/downloads/gemmlowp -I/root/tensorflow/tensorflow/lite/tools/make/downloads/neon_2_sse -I/root/tensorflow/tensorflow/lite/tools/make/downloads/farmhash/src -I/root/tensorflow/tensorflow/lite/tools/make/downloads/flatbuffers/include -I -I/usr/local/include -c tensorflow/lite/experimental/ruy/detect_dotprod.cc -o /root/tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/obj/tensorflow/lite/experimental/ruy/detect_dotprod.o
tensorflow/lite/experimental/ruy/detect_dotprod.cc: In function 'bool ruy::{anonymous}::try_asm_snippet(bool (*)())':
tensorflow/lite/experimental/ruy/detect_dotprod.cc:138:50: error: 'memset' was not declared in this scope
   memset(&sigill_action, 0, sizeof(sigill_action));
                                                  ^
tensorflow/lite/tools/make/Makefile:244: recipe for target '/root/tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/obj/tensorflow/lite/experimental/ruy/detect_dotprod.o' failed
make: *** [/root/tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/obj/tensorflow/lite/experimental/ruy/detect_dotprod.o] Error 1
make: *** Waiting for unfinished jobs....
make: Leaving directory '/root/tensorflow'

@jalexstark Can you have a look?

The issue was fixed today https://github.com/tensorflow/tensorflow/commit/fafaf6b33691dde381f4c61c511cd0ccf00de221#diff-d781e3c4bb510de070b8133cdffb2e52

Thanks for the report.


Add pipeline lock data source

Add locked data source. Dynamic add locked node to pipeline JSON:

    "locked": {
         "allowUnlockUi": true,
         "description": "Maintained in https://github.com/one-thd/de-cd",
         "ui": true
    }

When merged, I suggest we bump the version to 1.2.0 given that there is a new feature added.


Fix warning 'conflicts with same method from another category'

This just fixes a warning I was getting in Xcode 12.  Possibly older versions also.

Happy to merge if you can fix the CI please, it has been a while.


Enhancement: Allow extending num, String etc.

This issue was originally filed by<EMAIL_ADDRESS>
Since types in Dart are basically classes, I'd like to see the possibility to inherit from types. Two Suggestions:
Suggestion 1:
class Password extends String {
  // Constructor must be const and must call super
  Password(value) : super(value) {
    if(length < 6) throw new PasswordToShortException();
    //... more methods if necessary
  }
}
var x = new Password("secret");
assert(x is String);
assert(x.length == 6);
assert(x == "secret");
Methods of String, num, etc. may not be overridden (ensures symmetry with primitives).
Suggestion 2:
typedef EvenPositive(value) extends int {
  assert(isEven(value));
  assert(isNegative(value) == false);
}
EvenPositive x = -4; // error in checked mode
The type's body may only call assertions and primitive type operations.

Because of Flutter, we care increasingly about compilation to native code. Part of that means having efficient support for unboxed value types. Being able to implement the primitive number types would interfere with that, so we don't intend to go in that direction.

That's annoying when trying to replace primitive with their domain equivalent. Is there any kind of proposal that would allow such a thing without killing the optimisations set in place ?


LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20210717094142877 to main

LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20210717094142877 to main with localized lcls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 42.569%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
26721

Relevant Lines:
56890

💛  - Coveralls


[FEAUTRE] Get BC's instance logs from Windows Event Log

Describe the issue
It is not an issue, it's a feature proposition. It would be great if the BC's instance log will be available with a simple script. The application log is available in the Windows Event Log. Below you can find an example.
Scripts used to create container and cause the issue
Invoke-ScriptInBcContainer BC19 -scriptblock { Get-EventLog -LogName Application -Newest 1 -Source 'MicrosoftDynamicsNavServer$BC' | Format-Table -AutoSize -Wrap }

Did you try
Get-BcContainerEventLog -containerName BC19
?

Nope, I didn't know this function. But if I use it, I have an error
PS C:\Users\mkilinski> Get-BcContainerEventLog -containerName BC19
Getting event log for BC19
Get-BcContainerEventLog Telemetry Correlation Id: 16825536-45f7-4a91-b22d-1bdc68ed1130
Exception calling "Start" with "1" argument(s): "Class not registered"
At C:\Program Files\WindowsPowerShell\Modules\BcContainerHelper\3.0.2\ContainerInfo\Get-NavContainerEventLog.ps1:44 char:9
+         [Diagnostics.Process]::Start($eventLogName) | Out-Null
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : Win32Exception

That's a new one - don't you have the event viewer on the host?
Maybe try to run the Event Viewer once before running the command?
The function will download an .evtx file and launch it.

I am using the Windows Server Core so yes - I can't run the Event Viewer.

Ok, I see - then you would need to add -doNotOpen - then the function returns the .evtx name - and you can maybe copy that and open it on another machine?
You get the event log to see in the event viewer - which is much more useful than seeing pieces of the event log.
You can also start your container with -dumpEventLog and then use
docker logs BC19
to see the event log entries dumped.

Great, the -dumpEventLog switch will be enough. Thanks for the help!


verdictd: support EAA echo command

Signed-off-by: Zhou Liang<EMAIL_ADDRESS>

Please do not merge this pr until the test of connecting rats-tls-client is passed.

@liangzhou121 Is there a API doc to address this new API?

Yes, we added these API's definitation to this doc:
https://yuque.antfin.com/pfykrg/qm04fn/pighl1


Support Azure OpenAI service

Please add support for Azure OpenAI service that now has General Availability (GA), including the GPT-3 model.

Thanks for the suggestion @LayZeeDK. I'm interested by your request. What's motivating it?
I certainly agree that this project should be generalized to support different LLM APIs in the future. If we want to implement Azure, I'd be curious to learn:

Is there some feature Azure offers over OpenAI?
Will the setup for the Azure API be any different, in terms of authentication or data format?

Azure OpenAI service supports enterprise-grade security, policies, compliance, and regional availability. Would you be interested in access?

API reference for Azure OpenAI service:

Completions and embeddings (Swagger)

Yup this is definitely something I'd be interested in making happen! I tagged the issue as help wanted

Request
In https://github.com/zurawiki/gptcommit/blob/6ee5bc587de6b7f2126d1cf073b8dc6e0b4d121c/src/openai.rs#L66-L71
Instead of https://api.openai.com/v1/completions, the endpoint URL would be in the format https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings?api-version=2022-12-01 so we must make the endpoint URL for completions configurable.
Instead of an Authorization header in the format Bearer: <api_key>, we would have the header api-key: <api_key>`
As of Azure OpenAI Service version 2022-12-01, a completions request does not support a model parameter but currently we are not passing any.
Response
The OpenAI API response object has a usage property but the Azure OpenAI Service API does not.

Currently blocked on async-openai supporting Azure: https://github.com/64bit/async-openai/issues/32

You can try this project that converts Azure to OpenAI API.
https://github.com/haibbo/cf-openai-azure-proxy/blob/main/README_en.md
then edit the gptchat's config file(~/.config/gptcommit/config.toml)

Note: api_key should be azure openai service's key, not openai's api key.


Support for sublists in CMAttributedStringRenderer

I added the support for sublists rendering in CMAttributedStringRenderer.

Great work, thank you very much! :boom:


[docs] Events: Explain "Add your event listener as late as possible"

### Where to add your event listeners

You need to add event listeners in a method that is guaranteed to fire before the event occurs. However, for optimal loading performance, you should add your event listener as late as possible.

Expand on this, why is it ok to add event listeners in templates
@justinfagnani FYI

The lit.dev docs for event listeners now include an Optimizing for Performance section which has some treatment on performance patterns.


Support the latest pkg:analyzer, prepare to release 2.1.1

Will revert the overrides before land/publish


Inconsequent angle calculations

On rotating spirals

On rotating spirals

Will be fixed in v1.0.1

Fixed in 1.1.0


⚠ Bofrost.lu has degraded performance

In 5ac0a1f, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1486 ms

Resolved: Bofrost.lu performance has improved in c0ecc82.


Fixed race condition, and updated async code.

Description:
The main issue fixed in this pull request is a race condition between the keep-alive mechanism and the tracking of temperature.
As a refresher on the inner workings of the generic thermostat, it tracks temperature and signals the A/C motor/heater to turn on when the temperature goes above (when in cooling mode)/below (when in heating mode) a given threshold. When the opposite happens, it signals the motor/heater to turn off. Meanwhile, a keep-alive option retransmits the turn on/off signal, based on the current thermostat's state. It is repeating via async_track_time_interval.
When the keep-alive event fires right before a threshold-crossing temperature change event, a race condition appears. The keep-alive code will attempt to retransmit the signal for the current state of the thermostat (e.g. turn on, when the device is active). However, the temperature change event will attempt to do the opposite (e.g. turn it off if it was active and the temperature threshold was reached). If the temperature change is handled faster, the A/C will be turned off, and immediately afterwards turned on by the slower keep-alive handler. At this point, not only the A/C is on when it should be off - but it'll stay that way for the minimum duration cycle, therefore following keep-alive events and temperature changes won't be able to remedy the issue.
The issue is fixed via a locking mechanism. At the same time, I took the liberty of refreshing and refactoring the code, making most of it async, and simplifying some functions. Additionally, I renamed the heater-related names to ac/ac_motor, as that's more generic (the thermostat is not intended for use with heaters only, after all).
Related issue (if applicable): fixes #
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>
Example entry for configuration.yaml (if applicable):

Checklist:

[X] The code change is tested and works locally.
[X] Local tests pass with tox. Your PR cannot be merged unless tests pass

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[ ] New dependencies have been added to the REQUIREMENTS variable (example).
[ ] New dependencies are only imported inside functions that use them (example).
[ ] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

It's hard to follow the changes in this PR. Please limit a PR to one fix or one feature. So the fix should go in one PR, the refactor in another and the rename in a third.

@MartinHjelmare, I understand, and will try to work in a more structured way in the future. However, in this PR, several async upgrades of methods are required by the race condition fix - submitting them separately wouldn't make a lot of sense, and would result in code that's styled inconsistently. Furthermore, splitting this PR across 3 different ones would slow down the propagation, as each of them would rely on the merging of the previous one.

I disagree that it would slow down the propagation. Small PRs are very easy to review and move very fast. We have a small-pr label for a reason :)

Maybe, but like I said, in this case - most of the PR is the actual fix of the race condition. Splitting it into 3 PRs now is counter-productive - it will require me to redo the work from scratch, and eventually will result in 1 PR that's almost as big as the current one (for the fix), and then additionally 2 smaller PRs.
Like I said - I will make the PRs more structured in the future, but at this point redoing it from scratch makes no sense. Furthermore, on top of personally verifying that the code works properly (I know, it's just my personal experience, and doesn't cover all possible configurations, but it's better than nothing), the end result is actually more readable than the original code, and certainly makes more sense than any in-between progress.
I suggest to invite people who previously worked on the generic thermostat to review it, and if the changes still look out of context - to review the end result itself, instead. Alternatively, I'd rather comment the changes to make the review easier, than starting this whole process from scratch when a perfectly working solution is already in place.

@amelchio, I understand the sentiment, and I appreciate the time you took to go over the changes.
I agree with you regarding the ambiguity of the air conditioning name, given the existence of ac_mode. I was looking for a word that describes the device to be toggled, and A/C sounded more relevant than heater, as A/C can be used both for heating and cooling purposes. device or switch might sound too generic - how about climate device? I plan on doing more work on this component, and further improve the support for both heating and cooling in a single configuration, at which point ac_mode will be probably replaced by something more appropriate (like mode or features that supports options like auto, cool_only, and heat_only). But that's definitely beyond the scope of this PR. The renaming was supposed to be part of the groundwork for the future.

The problem with "air conditioning" is that it means different things to different people. I believe that to many people living in hot places it just means cooling. Please revert the renaming and tackle that in a separate PR so it can get some discussion. This should be a simple search/replace job and not take much time.
The refactor would have been easier to review as an initial PR but I agree it is mostly a result of having to await under the new lock so you can keep that.

And... I made a mistake with updating the Pull Request again :(
I am going to close it and redo it again - and since I'm redoing it anyway, I'll do it properly, in several stages.
Thank you for the review.


Add 3D renders and make_3D_color_point

Description
Added 3D renders. These functions are similar with those of 2D curves and we are working to update the documentation for the 3D renders. (we are still working on draw_3D_connected_full_view)

draw_3D_connected
draw_3D_connected_full_view_proportional
draw_3D_connected_squeezed_to_window
draw_3D_points_on
draw_3D_points_squeezed_to_window

Added 3D color points. Takes in x, y, z, r, g, b and returns a point in 3D with color r, g, b.

make_3D_color_point

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update
[x] Code quality improvements

How to test

Run instance of cadet-frontend, and navigate to playground
Include CURVES library

To test make_3D_color_point

const curve = t => make_3D_color_point(
    0.5,                                    //x-coordinate
    0.5*math_sin(math_PI*t)+0.5,            //y-coordinate
    t,                                      //z-coordinate
    math_pow(math_cos(2*math_PI*t), 2)*255, //r-component
    math_pow(math_sin(2*math_PI*t), 2)*255, //g-component
    t*255);                                 //b-component
draw_3D_connected(1000)(curve);

For the 3D renders, here are some test curves
const curve1 = t => make_color_point(
    0.5*math_cos(2*math_PI*t)+0.5,          //x-coordinate
    0.8*math_sin(2*math_PI*t)+0.5,          //y-coordinate
    5,                                    //r-coordinate
    5,                                    //g-component
    5);                                   //b-component

const curve2 = t => make_3D_color_point(
    0.5,                                    //x-coordinate
    0.5*math_sin(math_PI*t)+0.5,            //y-coordinate
    t,                                      //z-coordinate
    math_pow(math_cos(2*math_PI*t), 2)*255, //r-component
    math_pow(math_sin(2*math_PI*t), 2)*255, //g-component
    t*255);                                 //b-component

const curve3 = t => make_3D_color_point(
    -0.5*math_sin(math_PI*t)+0.5,           //x-coordinate
    0.5,                                    //y-coordinate
    t,                                      //z-coordinate
    math_pow(math_sin(2*math_PI*t), 2)*255, //r-component
    math_pow(math_cos(2*math_PI*t), 2)*255, //g-component
    t*255);                                 //b-component

const curve4 = t => make_3D_color_point(
    0.5*math_sin(math_PI*t)+0.5,            //x-coordinate
    0.5,                                    //y-coordinate
    t,                                      //z-coordinate
    math_pow(math_sin(2*math_PI*t), 2)*255, //r-component
    math_pow(math_cos(2*math_PI*t), 2)*255, //g-component
    t*255);                                 //b-component

const curve5 = t => make_3D_color_point(
    0.5,                                    //x-coordinate
    -0.5*math_sin(math_PI*t)+0.5,         //y-coordinate
    t,                                      //z-coordinate
    math_pow(math_cos(2*math_PI*t), 2)*255, //r-component
    math_pow(math_sin(2*math_PI*t), 2)*255, //g-component
    t*255);                                 //b-component

To test draw_3D_connected
draw_3D_connected(1000)(connect_rigidly(curve1,
connect_rigidly(connect_rigidly(curve3, curve2),
connect_rigidly(curve4, curve5))));

To test draw_3D_connected_full_view_proportional
draw_3D_connected_full_view_proportional(1000)(connect_rigidly(curve1,
connect_rigidly(connect_rigidly(curve3, curve2),
connect_rigidly(curve4, curve5))));

To test draw_3D_connected_squeezed_to_window
draw_3D_connected_squeezed_to_window(1000)(connect_rigidly(curve1,
connect_rigidly(connect_rigidly(curve3, curve2),
connect_rigidly(curve4, curve5))));

To test draw_3D_points_on
draw_3D_points_on(1000)(connect_rigidly(curve1,
connect_rigidly(connect_rigidly(curve3, curve2),
connect_rigidly(curve4, curve5))));

To test draw_3D_points_squeezed_to_window
draw_3D_points_squeezed_to_window(1000)(connect_rigidly(curve1,
connect_rigidly(connect_rigidly(curve3, curve2),
connect_rigidly(curve4, curve5))));

Do also check that connect_rigidly works with 3D and color curves.
Here are some other curves which could aid in testing.
let curve = t => make_3D_point(0.3*math_sin(2*math_PI*t) + 0.5,
    0.3*math_cos(2*math_PI*t) + 0.5,
    t);
let curve = t => make_3D_point(0.3*math_tan(2*math_PI*t) + 0.5,
    0.3*math_cos(2*math_PI*t) + 0.5,
    t);
let curve = t => make_3D_point(0.3*math_tan(2*math_PI*t) + 0.5,
    0.3*math_tan(2*math_PI*t) + 0.5,
    t);

Checklist

[x] I have tested this code
[ ] I have updated the documentation

Pull Request Test Coverage Report for Build 549909290

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 30.626%

Totals

Change from base Build 549727773:
0.0%

Covered Lines:
2296

Relevant Lines:
6862

💛  - Coveralls

I will be using the following curves in my review:
const curve1 = t => make_3D_color_point(t, 0, math_pow(t, 2), 1/0, -1/0, 3*256*t - 256);
const curve2 = t => make_3D_point(t, 0, math_pow(2*t, 2));
const curve3 = t => make_3D_point(t, 0, math_pow(2*t, 50));
const curve4 = t => make_3D_point(t, 0, math_pow(2*t, 1500));
const curve5 = t => make_3D_point(t, 0.2*t - 0.1, math_pow(t, 2));
const curve6 = t => make_3D_point(0.5, 0.5, t);

make_3D_color_point:

Invalid color values are naturally handled, e.g., see draw_3D_connected(1000)(curve1). Good job!

draw_3D_connected:

It is assumed that the x-axis goes from left to right, y-axis from front to back, and z-axis from bottom to top. Could this be made more explicit? For example, each axis could be labelled.
When the numbers are too large, the curve fades between adjacent points, e.g., see draw_3D_connected(1000)(curve4): the curve at (0.5, 0, 1) fades out of the cube; contrast this with draw_3D_connected(1000)(curve3).

draw_3D_connected_full_view_proportional:

My understanding of this function is that each axis is scaled independently to [0, 1] and the curve centralized such that the whole curve lies within the cube, and then some padding is added within the cube. However it seems like the curve is just translated to the median and the scaling remains invariant. For example:

draw_3D_connected_full_view_proportional(1000)(curve5): the y-axis is not scaled from [-0.1, 0.1] to [0, 1], but rather from [-0.1, 0.1] to [0.4, 0.6].
draw_3D_connected_full_view_proportional(1000)(curve2): only the middle portion of the curve is shown.

When the numbers are too large, the cube and the curve are not seen, e.g., draw_3D_connected_full_view_proportional(1000)(curve4); contrast this with draw_3D_connected_full_view_proportional(1000)(curve3).

Semantics: Is there a reason to include the padding? E.g., compare draw_3D_connected_full_view_proportional(1000)(curve6) with draw_3D_connected(1000)(curve6): the former has some parts cut off at the start and at the end.

draw_3D_connected_squeezed_to_window:

My understanding of this function is that every axis is scaled by the same amount and the curve centralized such that the whole curve lies within the cube. However, it seems like the curve is just translated to the median and the scaling remains invariant. For example:

draw_3D_connected_squeezed_to_window(1000)(curve5): the y-axis is not scaled from [-0.1, 0.1] to [0, 1], but rather from [-0.1, 0.1] to [0.4, 0.6].
draw_3D_connected_squeezed_to_window(1000)(curve2): only the middle portion of the curve is shown.

The result looks like draw_3D_connected_full_view_proportional except without padding.

draw_3D_points_on:

Looks good!

draw_3D_points_squeezed_to_window:

Same comments as draw_3D_connected_squeezed_to_window.

draw_3D_connected:

Thanks for the suggestion. We are keeping that in mind and will see if we can implement that in our future PR.
We are looking into the problem right now.

draw_3D_connected_full_view_proportional:

By 'proportional' we mean every axis to be scaled by the same amount - the proportions remains the same.
If curve5's size on y-axis : x-axis = 0.2 : 1, it should remain so in the cube.
Similarly, if curve2's size on x-axis : z-axis = 1 : 4, it should remain so in the cube.
Same as per second comment under draw_3D_connected.
We included padding as we built our 3D rendering functions analogous to its 2D counterparts. However, we understand your concern. Since the cube already has a padding around it, we will discuss with professor in the next meeting and see if we could remove draw_3D_points_squeezed_to_window and subsequently remove padding in draw_3D_connected_full_view_proportional by our next PR when we implement draw_3D_connected_full_view.

draw_3D_connected_squeezed_to_window:

Same comment as per draw_3D_connected_full_view_proportional.
That was the intention of having it 'squeezed to window'.

I will be using the following curves in my review:
const curve1 = t => make_3D_color_point(t, 0, math_pow(t, 2), 1/0, -1/0, 3*256*t - 256);
const curve2 = t => make_3D_point(t, 0, math_pow(2*t, 2));
const curve3 = t => make_3D_point(t, 0, math_pow(2*t, 50));
const curve4 = t => make_3D_point(t, 0, math_pow(2*t, 1500));
const curve5 = t => make_3D_point(t, 0.2*t - 0.1, math_pow(t, 2));
const curve6 = t => make_3D_point(0.5, 0.5, t);

draw_3D_connected:

It is assumed that the x-axis goes from left to right, y-axis from front to back, and z-axis from bottom to top. Could this be made more explicit? For example, each axis could be labelled.
When the numbers are too large, the curve fades between adjacent points, e.g., see draw_3D_connected(1000)(curve4): the curve at (0.5, 0, 1) fades out of the cube; contrast this with draw_3D_connected(1000)(curve3).

Regarding the curve fading out of the cube, the problem was caused by us setting points outside the cube but within clip space to white. There were a few proposals on how we wanted to deal with points outside the cube:

Setting the color of points outside the cube to white, problems include:

Causes fading if points lie within the clip space.
Nothing renders in between two adjacent points that lie just outside cube.

Setting the coordinates of the points that lie outside the cube to the edge of the cube, problems include:

If we just take the output of applying the function of the curve to x, y, z = 0 or 1 (the edges), it may not reflect accurately on where the line that connects the two points actually intersects the axes.
If the curve makes a loop outside the cube and returns into the cube, the point will be connected to where it left off the cube.

Drawing white triangles outside the cube to cover up anything that is outside the cube, problems include:

Not being able to cover all sides of the cube in a perspective view.
Not feasible when we want to implement perspective control/cube rotation in the future

Remove the clip function (see latest commit on origin/sa2122-graphics) and allow the curve to render outside the cube.
The team has discussed and thinks that the last solution may be the best for now, and updated the PR accordingly. We will have to updated on the function's specifications in js-slang's documentation thereafter.


No brightness level entity available for HM-LC-Dim1TPBU-FM, -Dim1T-CV and -Dim1PWM-CV

I agree to the following

[X] I have read the documentation
[X] I am aware of the latest release notes
[X] The Backend (CCU/Homegear/...) is working as expected and connected devices are controllable by its own UI.
[X] I am running the latest version of the custom_component (and Home Assistant)

The problem
I am using HA just for serveral weeks and noticed a few days ago that there is a working integration for homematic. After unconfiguring the deprecated core homematic installation, I first did install 1.41.0 of Homematic(IP) local via HACS and everything came up. While trying around I noticed that there is no possibilty to get or change the brightness level of those three dimmers.
I tried removing the integration and reinstalling it, without a change. At last I installed 1.41.1b1 (just in case....), but this did not bring up the level entity as well.
For the HM-LC-DIM1T-CV (and the others are pretty similar) these status attributes are shown:
`supported_color_modes:

brightness
interface_id: Magellan-CCU-BidCos-RF
address: LEQ0282XXX:1
model: HM-LC-Dim1T-CV
entity_type: custom
value_state: valid
friendly_name: OG-BAD-DIM
supported_features: 32`
Here is an overview of the datapoints directly out of homematic:
HM-devices.txt

Everything else works fine, as far as I can tell right now. 👍
What version of HomematicIP (local) has the issue?
1.41.1b1
What was the last working version of HomematicIP (local)?
none
What type of installation are you running?
Home Assistant OS
What type of installation are you running for your homematic backend?
RaspberryMatic Standalone
Which version of your homematic backend are you running?
<IP_ADDRESS>3082
What hardware are you running for your system?
Proxmox
Which config details do you use

[X] Username and password
[ ] TLS
[ ] callback data (see)

Which interfaces do you use?

[X] Homematic IP
[X] Homematic (Bidcos-RF)
[ ] Groups (Heating-Group)
[ ] BidCos-Wired (HM-Wired)

Diagnostics information
config_entry-homematicip_local-8d02347b40e23beabd6cea4a4ac402b2.json.txt
Anything in the logs that might be useful for us?
No response
Additional information
Screenshot of one of those dimmers as device.

No sure if i understood your problem.
There is no need for a dedicated brightness entity.
The brighness is part of the light entity and can be controlled (light.turn_on/off service) by the light entity.
Have a look at the HA docs.


Possible bug in MVar implementation

Describe the bug
Snippet of code in question when using MVar's deadlock. After just switching to TMVar's it runs fine.
To Reproduce
Run tests in this revision: https://github.com/input-output-hk/ouroboros-network/commit/4297c81c5424cf004faf037de9491601befcaa1c and wait for failure.
Expected behaviour
No deadlock.
Additional context
Working code snippet after having switched to TMVars. Logs here: ouroboros-network-framework-<IP_ADDRESS>-test.log

Could this be related to #181 ? I think so


doesn't display dynamic data

Overview of the problem
Buefy version: 0.1.5
Vuejs version: 2.2.2
OS/Browser: Windows 7/Chrome
Description
When I use the  element, I can't bind any reactive data to it. Take the following example:
<template>

</template>

The  element shouldn't even be created until the userBusiness property is filled, and I've drawn the userBusiness property and I know it's being filled. The table's pagination will update but the table won't render the new data.
Steps to reproduce

Set up a Vue component which uses a  that is getting fed data from an asynchronous database call.

Expected behavior
I expected the table to auto-update and re-draw as soon as the :data element was updated.
Actual behavior
The table pagination re-drew and updated with the amount of items in the :data array, but the table itself doesn't show any data from the :data array.

A lot has changed in bTable from v0.1.5 to the current version (v.0.3.1), you should update Buefy, it's probably fixed now.

Thanks so much! I will check this stuff out and update!!

Got everything fixed! My problem was I was missing the <template scope="props"> stuff - awesome!
Thanks for your help!

Glad it working fine :)


[mgmt] GA containerservicefleet

https://github.com/Azure/sdk-release-request/issues/4662

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-arm-containerservicefleet


Wrong IsValid

Hi
How can the myDate...
var myDate = moment("1s", "DD-MM-YYYY");
... be valid?

Because moment's default parsing mode is very forgiving.  It ignores the "s", and applies the "1" to the first field encountered - the day in this case.  The other components are defaulted.
To avoid this, use "strict parsing" by passing true as the third argument.
moment("1s", "DD-MM-YYYY", true).isValid()  // false


Constructors with initializer list.

Input C/C++ Header
class A {
  int Y;

  A() : Y(5) {  }
};

Bindgen Invocation
$ bindgen test.hpp
Actual Results
Just a normal struct without any impls.
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct A {
    pub Y: ::std::os::raw::c_int,
}

Expected Results
Default implementation or new method with initializer list data.

Inline constructors are not quite supported, because there's nothing rust can call to. See https://rust-lang-nursery.github.io/rust-bindgen/faq.html#why-isnt-bindgen-generating-bindings-to-inline-functions.
Thanks for the report!


rust-packages: 2016-07-13 -> 2016-07-26

Motivation for this change
Update cargo packages.
Things done

[x] Tested using sandboxing
(nix.useChroot on NixOS,
or option build-use-chroot in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[x] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

I'm working on the transient dependencies.

CI timed out but everything worked on my machine.


New Plugin - Node Labels Resources

New Liqo Resource Offering plugin to calculate resources based on node labels. This plugin is really useful when you want to dedicated some nodes to liqo and exclude nodes related to system or others.
Thanks

@cheina97 Please review this PR. Thanks


need to add LICENSE and related files to jars

copy LICENSE from git to jar META-INF/LICENSE
also NOTICE and DISCLAIMER

This is done

@pjfanning I am pretty sure this is already done, the sbt-apache-paradox plugin handles this and it has already been integrated into the project, see https://github.com/apache/incubator-pekko-sbt-paradox/pull/27 (or am I missing something)?

The issue was already open and I'm just trying to link them to the PRs.


Reset validation

Is it possible to reset validation? I need to reuse the form after AJAX action.

Hey @Mordred ,
you can now call .clear() on the validation.result, which resets it, as in this example: http://aurelia.io/validation/#/on-validate
This is not part of the release yet, so you'd need to npm install aurelia-validation=github:aurelia/validation@master to play around with it before we release another update.
If this does not address your use case, we'd love to know.
Thanks for the suggestion!
Jan

@janvanderhaegen .clear() is working. There is problem that you usually do something like this:
        this.password = this.currentPassword = this.passwordCheck = '';
        this.validation.result.clear();

First reset all fields to empty string and then call clear(). Validation will run again after clear, because inputs has changed. I have created demo: http://plnkr.co/edit/VbrVVG?p=preview
Calling clear inside setTimeout solves this problem, but I'm not sure how long should timeout wait.

Hmmm I can probably fix this from within the plugin, I don't want you to have to call clear inside a setTimeout ;-)

Still working on this, but a fix is on the way :-)

Ok I changed clear, but instead of calling
this.validation.result.clear();

you have to call
this.validation.clear();

The validation will then eagerly fetch the new 'reset' form values, and reset the result to valid, non-dirty.  Once the observers notify of the form resetting, the validation already evaluated the latest value and will ignore that.
See the example:  http://aurelia.io/validation/#/on-validate
This change has not been released yet, but you can test the latest bits:
jspm install aurelia-validation=github:aurelia/validation

Please do let me know if there are issues with this new implementation :)

Great work! Thank you


Install instructions fix

I just installed Spoolman and I noticed that the current version of Docker uses "docker composer" instead of "docker-composer" this may cause confusion for those that aren't familiar with using Docker. Fortunately I was able to find the solution but it took a bit of searching to do so. Updating the install instructions or adding a note that it may be different depending on your version of Docker might be helpful.
Thanks for the good work on this plugin, it has been the only thing I have missed from running Octoprint.

all is there: https://github.com/Donkie/Spoolman/issues/12

The issue is that the instructions in the README.md on here reference an old command that no longer works and does more harm than good for people who are new to docker. They should be corrected or a link added pointing to the issue you shared.

I have fixed it now :)

I have fixed it now :)

Thanks! 🙂 I'm working on an install script and some additional macros to try and make things easier and more integrated.
The install script I'm setting up should install docker and do all the folder and container creation and launch it. It should make the whole process a lot easier for beginners.
I've set up macros on my printers that grab the spool ID from the filament start gcode in the slicer and check if it matches the spools loaded in the printer on my ercf printer and if not it pauses and waits for user interaction to check and make sure it's correct.  On my non ercf printer, it just uses that same ID in the filament profiles to set the active spool.
I will be publishing them for others to use, or I could provide them to you to include here if you would like?

You're welcome to add them to the project via a pull request if you want! It can be part of the official instructions.

You're welcome to add them to the project via a pull request if you want! It can be part of the official instructions.

I will definitely do that once I have them ready :)
Any idea when or if Mainsail will integrate spoolman?

Sweet!
The mainsail release from yesterday includes support for it :)

Ohhh! Very nice. I must have missed that. Thanks again!


Reduce the number of outstanding connections used by the e2e test suite (#2047)

Description
There was a concern that the number of open connections that our e2e test suite has may be causing us to hit the azure SNAT limits. This change contains two fixes:

Fix a resource leak that was causing us to hold http connections open for every published message in the pubsub test
Use a singleton http client in the test http utility.

Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #2047
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

/ok-to-test

@wcs1only there is linter issue. :)

Linter issue fixed.


Bug in creep.ts

Line 250 should be changed from this:
const { anyPointer } = cssMediaComputed || {}
To something like this?
const { 'any-pointer': anyPointer } = cssMediaComputed?.mediaCSS || {}

Also in navigator.ts getBluetoothAvailability function
navigator.bluetooth.getAvailability()
returns a promise and should be something like:
return navigator.bluetooth.getAvailability().then((available: boolean) => available)

Nice catch. I added c17490f for the next renewal.


getTextSize() doesn't return accurate size

The calculation only returns the true text size if setSizeTrimmingEnabled() is set to true, otherwise it returns the view's total size.

Oh cool. I suppose it was intended as a feature, not a big. But also sounds like it stumped both of us and is unexpected behaviour, so perhaps we should change the default behavior to set size trimming to true.

Setting size trimming to true and changing nothing else causes other effects like fitting the text size to view size (even if you don't explicitly set the size with setSize()). I think we can leave the defaults as is and just populate the mTextSize member with the correct size regardless of trimming mode. I think that makes the most sense for what you'd expect getTextSize() to return 🤔


Frontend, fix info links, add testnet label

Summary

Fix #83

Added missing target to info links

Fix #92

@ImmaZoni we can use only a label with no tooltip.

Or we can use a grey label + tooltip. If so, please update the lang file with a better description if necesary

I changed the tooltip message to: Rewards (tSSC) you earn from farming do not and will not hold a real value throughout the testnet phase.
You are more than welcome to adjust/tweak this.
My vote is on grey background, white text option.


SUBMARINE-299. Write a 'submarine' shell script

What is this PR for?
Write a submarine shell script to "submarine/bin" and
update common.sh, docs/helper/QuickStart.md
use case:
./bin/submarine job show --name tf-job-001
What type of PR is it?
[Improvement]
Todos

[ ] - Task

What is the Jira issue?
SUBMARINE-299
How should this be tested?
passed CI
Screenshots (if appropriate)
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

hi @lowc1012
The submarine job submission method is still under discussion in the community. There are three ways to discuss the current discussion, but it is not finalized.

Submit the job through the Submission workbench
Submit the job through the submarine server
Connect the submarine server through the submarine client to submit the job

Thank you very much for your interest in the submarine project, but I am very sorry that this PR is not acceptable for the time being.
I suggest you attend a meeting in the submarine community so that you can learn more about the direction of the community.

Ok , thank your suggestions!


Security & General Warnings

A few potential warnings have been proposed until now:

The services field is visible in the Meteor.users collection.
Client-side handling of userId.
Meteor.settings.public contains private keys or tokens.
Indicate that Browser Policy is active.

Sorry I have no throughput to do this for now. If anyone is interested in contributing, I would be glad.


added poll commands for discord bot, under misc.py

Added code for a poll bot for discord in misc.py
#hactoberfest 2022

Great contrib, merging!


[VisUI Request] Images in tabbed pane

I would like to see some images instead of just text in my tabbed pane.

I'm assuming you mean having image next to the text in the tab selector. It's currently not possible to do, that widget is hard coded to use text button.

@SPRAVEDLIVO I tinkered with this. I think this could be done if TabbedPane.TabButtonTable and tabsButtonMap were not private. This way it could be possible to subclass and put in your own implementation. Then you could make a subclass of TabbedPane and override the add method and insert your own newly created TabButtonTable (which supports images). I had to stop here once I saw TabButtonTable was private.


proposal: Write only variable for errors with try catch

I propose to a add a write only variable for errors a lot like _. I propose a single character variable like $.
You can write errors to it and if they aren't nil go panics with the error message.
I also propose a try block. If you write a non nil error to this variable in a try block go doesn't panics but instead continues execution in the catch block.
Example:
package main

import (
    "log"
    "os"
)

func main() {
    try {
        f, $ := os.Create("file.txt")
        _, $ = f.Write([]byte("Hello, World!"))
    } catch(err) {
        log.Fatal(err)
    }
}

This will reduce boilerplate code and make the resulting code more dry.
I found the following files in go's source where this syntax could improve the code:
https://github.com/golang/go/blob/master/src/net/protoconn_test.go#L32
https://github.com/golang/go/blob/master/src/net/udpsock_test.go#L35
https://github.com/golang/go/blob/master/src/net/timeout_test.go#L321
https://github.com/golang/go/blob/master/src/encoding/gob/encoder_test.go#L276
https://github.com/golang/go/blob/master/src/net/internal/socktest/sys_unix.go#L54
https://github.com/golang/go/blob/master/src/crypto/cipher/example_test.go#L27

I would suggest reviewing these links
https://github.com/golang/go/issues/40432
https://github.com/golang/proposal

similar to #22122 #32500 #35644 (and many more)
please fill out the language change template

I filled out the template.

I think the  try-catch control structure leads to complex code

As discussed above, similar ideas have been proposed before, and declined.  The emoji voting does not show support for this variation.  Therefore, this is a likely decline.  Leaving open for four weeks for final comments.

we all know proposals like this are not the PERFECT solution, but I think it is more elegant than the current verbose  err!=nil, personally...

No change in consensus.


Change default data source name for Hot Reload

We are currently assigning a unique default data source name to each RuntimeConfig that we create. However, for a Hot Reload scenario this is problematic because we do not want to be updating this value after the Hot Reload, and so, it can not be uniquely generated each time.
Instead this value should be created in a deterministic way, ie: taking a hash of the connection string.

because we do not want to be updating this value after the Hot Reload

need to explain why in the issue so motivation behind this change is clear.

Not moving this task at the moment, this fix seems necessary even without remaining HR features in this milestone.


issues installing freon using sudo, cannot change fedora user password

Your readme notes:
sudo sh /home/fedora/Downloads/crouton-fedora-master/freon-x/install.sh

As fedora user, but the password is not set. passwd does not work, command not found.

Password should be: fedora.
You can use su, root password is fedora, install passwd with dnf and change it. But the default should be fedora.
Cheers.

oh ok, thanks! Can you place this in the readme? maybe I missed it.

My bad, the script says it when done, but you're right it should be in the readme. I'll update it.
Thanks for reporting the issue.
Cheers!

No, thank you so much for putting together this repo and pooling together the steps using the docker image. I was about to almost stop searching for "Crouton fedora" until I found this. This greatly helps me for work. Keep up the great work!


README File: Fix Typo in Focus Group Names

There’s a small typo in the README where 'Community Managers Focus Group' is spelled as 'Focus Groupup.'

@harmonyelendu Please can you assign this to me?