Updates useDeferredList to output itemCount rather than deferredList

⚠ Follows on from https://github.com/gathercontent/gather-ui/pull/876

💬 Description
⁉ Problem
Previously, useDeferredList worked as follows:
const list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

const { deferredList, loadItems } = useDeferredList({
  list,
  initialItemCount: 5,
  numberOfItemsToLoad: 5
});

console.log(deferredList) // [1,2,3,4,5]

loadItems()
console.log(deferredList) // [1,2,3,4,5,6,7,8,9,10]

☝ This is fine until the list is changed, at which point the deferred version of the list stored in useDeferredList state becomes stale!
let list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

const { deferredList, loadItems } = useDeferredList({
  list,
  initialItemCount: 5,
  numberOfItemsToLoad: 5
});

console.log(deferredList); // [1,2,3,4,5]

loadItems();
console.log(deferredList); // [1,2,3,4,5,6,7,8,9,10]

list = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; // List change, imagine this change coming from prop change

console.log(deferredList) // [1,2,3,4,5,6,7,8,9,10] - INCORRECT! 😱

✅ Solution
This PR updates useDeferredList to output the number of items to display in the list, rather than the sliced list itself.
This way, if the list changes in a render pass, then the values are updated!
let list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

const { itemCount, loadItems } = useDeferredList({
  listLength: list.length,
  initialItemCount: 5,
  numberOfItemsToLoad: 5
});

const deferredList = list.slice(0, itemCount) // Slice the list ourselves

console.log(deferredList); // [1,2,3,4,5]

loadItems();
console.log(deferredList); // [1,2,3,4,5,6,7,8,9,10]

list = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]; // List updated on render pass

console.log(deferredList) // [11, 12, 13, 14, 15, 16, 17, 18, 19, 20] - CORRECT! ✅

 When you add a repeatable field in the editor it isn't added to the field list.


added seed

fixes #216

Pull Request Test Coverage Report for Build 858352642

5 of 5 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.94%

Totals

Change from base Build 858101134:
0.0%

Covered Lines:
2159

Relevant Lines:
2323

💛  - Coveralls

👍


generate the streamI mock in the quic package

Should be merged after #1042.
By doing so, we can mock private methods of the stream, so they cannot be type-asserted by users of quic-go.

Codecov Report

Merging #1043 into master will decrease coverage by 0.05%.
The diff coverage is 95.51%.

@@            Coverage Diff             @@
##           master    #1043      +/-   ##
==========================================
- Coverage    90.8%   90.75%   -0.05%
==========================================
  Files         104      106       +2
  Lines        7192     7220      +28
==========================================
+ Hits         6530     6552      +22
- Misses        428      432       +4
- Partials      234      236       +2

Impacted Files
Coverage Δ

packet_packer.go
90.35% <ø> (-0.17%)
:arrow_down:

crypto_stream.go
100% <100%> (ø)
:arrow_up:

internal/flowcontrol/base_flow_controller.go
100% <100%> (ø)
:arrow_up:

streams_map.go
92.22% <100%> (ø)
:arrow_up:

server_tls.go
73.83% <100%> (ø)
:arrow_up:

stream_framer.go
96.88% <100%> (-0.63%)
:arrow_down:

session.go
83.33% <75%> (-0.48%)
:arrow_down:

stream.go
88.24% <88.89%> (-7.71%)
:arrow_down:

send_stream.go
95.65% <95.65%> (ø)

receive_stream.go
97.26% <97.26%> (ø)

... and 2 more

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 c0eb12b...48ec97d. Read the comment docs.


CLI: func azure  list should scope to function apps on selected subscription

For both func azure functionapp list and func azure storageaccount list, the CLI outputs be all function apps on the entire tenant, not the selected subscription. Filtering to the selected subscription is more consistent with how the x-plat CLI does things (also it keeps the list shorter). :)

I was wrong, I named my subscriptions confusingly.


phrase/2: unexpected failure

?- phrase({fail,1},L).
   false, unexpected.
   type_error(callable,...). % expected, but not found

like SICStus, Scryer, GNU, Ichiban, SWI, Tau, YAP, XSB
(As long as there are such errors, discussions about goal_expansions lead to nowhere)

Note that the ... in type_error(callable,...). must somehow contain the culprit goal 1. Many show a conjunction of goals like Scryer:
?- phrase({fail,1},L).
   error(type_error(callable,((fail,1),_612141=[])),(',')/2).

I think that was a recent change to call/1.
On Sat, Dec 16, 2023 at 5:58 PM UWN @.***> wrote:

?- phrase({fail,1},L).
false, unexpected.
type_error(callable,...). % expected, but not found
like SICStus, Scryer, GNU, Ichiban, SWI, Tau, YAP, XSB
(As long as there are such errors, discussions about goal_expansions lead
to nowhere)
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/438, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEXLU3HOGIMDBPSVBALYJVIBHAVCNFSM6AAAAABAXNHZZKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA2DINRVGQYDSMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Ok, comes down to the module specification:
?- call(((fail,1),X=[])).
error(type_error(callable,((fail,1),_1=[])),call/1).
?- call(user:((fail,1),X=[])).
false.
?-
On Sat, Dec 16, 2023 at 5:58 PM UWN @.***> wrote:

?- phrase({fail,1},L).
false, unexpected.
type_error(callable,...). % expected, but not found
like SICStus, Scryer, GNU, Ichiban, SWI, Tau, YAP, XSB
(As long as there are such errors, discussions about goal_expansions lead
to nowhere)
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/438, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEXLU3HOGIMDBPSVBALYJVIBHAVCNFSM6AAAAABAXNHZZKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA2DINRVGQYDSMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

That example is extracted from the trace of your original example:
[dcgs:43:cp2] CALL dcg_cbody({fail,1},_0,[],_8)
[dcgs:44:cp2] EXIT dcg_cbody({fail,1},_0,[],((fail,1),_0=[]))
[dcgs:45:cp2] CALL !
[dcgs:46:cp1] EXIT !
[dcgs:47:cp0] CALL call(dcgs:((fail,1),_0=[]))
[dcgs:48:cp1] EXIT call(dcgs:((fail,1),_0=[]))
[dcgs:49:cp1] CALL dcgs:((fail,1),_0=[])
[dcgs:50:cp1] EXIT dcgs:((fail,1),_0=[])
[dcgs:51:cp1] CALL fail
[dcgs:52:cp1] FAIL fail
On Sat, Dec 16, 2023 at 5:58 PM UWN @.***> wrote:

?- phrase({fail,1},L).
false, unexpected.
type_error(callable,...). % expected, but not found
like SICStus, Scryer, GNU, Ichiban, SWI, Tau, YAP, XSB
(As long as there are such errors, discussions about goal_expansions lead
to nowhere)
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/438, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEXLU3HOGIMDBPSVBALYJVIBHAVCNFSM6AAAAABAXNHZZKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA2DINRVGQYDSMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Bug in ParallelDOM.setPDOMAttribute

These lines would likely have a bug if the previous attribute had different options from the first.
https://github.com/phetsims/scenery/blob/01db4ad70994eb1af235045f2e9aa3abdbbfad68/js/accessibility/pdom/ParallelDOM.js#L2341-L2357
Instead we should just remove it.
For this issue:

Create a failing test case
Apply this patch?

Index: js/accessibility/pdom/ParallelDOM.js
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/js/accessibility/pdom/ParallelDOM.js b/js/accessibility/pdom/ParallelDOM.js
--- a/js/accessibility/pdom/ParallelDOM.js	(revision 38612d3e7080c900fd2367c4a2f95042045221a3)
+++ b/js/accessibility/pdom/ParallelDOM.js	(date<PHONE_NUMBER>419)
@@ -2346,7 +2346,7 @@
                currentAttribute.options.namespace === options.namespace &&
                currentAttribute.options.asProperty === options.asProperty &&
                currentAttribute.options.elementName === options.elementName ) {
-            this._pdomAttributes.splice( i, 1 );
+            this.removePDOMAttribute( currentAttribute.attribute, currentAttribute.options );
           }
         }

I noticed a couple things from this exploration.

Easy case: When switching from asProperty: false to asProperty:true, it was an easy bug fix, I wrote a test case for it above. Note that the attribute is removed now so that the next setter can set as a property.
In general, it doesn't really make sense to be able to call removePDOMAttribute() on an attribute that is asProperty:true, how do you remove an HTMLElement property? Currently, when you call this, it just removes it from the PDOM internal list, but keeps the value it was set on the HTML ELement as the property. This is because how would we know what the default value is to set it back to? We can't just call delete element[property] like we do when its an attribute.
Thus, when switching from setting as a property to an attribute, we will remove the asProperty element from the PDOM list, and add the attribute, but (this is the buggy part) the property value will stay on the element, since there really isn't a "removed" for as Property.

All tests are passing, and I feel pretty good about this being an improvement, although there is still some weirdness if someone swaps from asProperty:true to asProperty:false.

Index: js/accessibility/pdom/ParallelDOM.js
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/js/accessibility/pdom/ParallelDOM.js b/js/accessibility/pdom/ParallelDOM.js
--- a/js/accessibility/pdom/ParallelDOM.js	(revision bbca9b168eaf09eee8c34f005569c0380e06578e)
+++ b/js/accessibility/pdom/ParallelDOM.js	(date<PHONE_NUMBER>894)
@@ -2402,6 +2402,7 @@
           if ( this._pdomAttributes[ i ].attribute === attribute &&
                this._pdomAttributes[ i ].options.namespace === options.namespace &&
                this._pdomAttributes[ i ].options.elementName === options.elementName ) {
+            assert && assert( !this._pdomAttributes[ i ].options.asProperty, 'cannot remove an attribute from Property');
             this._pdomAttributes.splice( i, 1 );
             attributeRemoved = true;
           }

I wanted to add this assertion, but ran into trouble about how I wrote the Display.interactive toggling tests through PDOM attribute setting, and it gets a bit hack so I gave up.
Should we co review this sometime @jessegreenberg to see if there is anything more here?

That described behavior does seem buggy. But I am wondering if removeAttribute actually works the same for attributes set as properties as it does for those that are not. For example I did this:

Does that verify that we can just use
this.removePDOMAttribute( currentAttribute.attribute, currentAttribute.options );

always?

No, that is far from general. That behavior is pasted on the specific property AND the specific element

I updated doc, and I'm fine keeping the assertion out of there. Ready to close?

Coming back to review this issue as part of this iteration's sprint.
https://github.com/phetsims/scenery/commit/bbca9b168eaf09eee8c34f005569c0380e06578e - Was the fixing commit and also added unit tests for the breaking case to confirm.
My follow-up review question asked if the change could be simplified and @zepumph demonstrated why it could not. The last comment is

Ready to close?

Yes, closing.


List: more advanced commands for navigation

Extracted from @Tyriar comment in https://github.com/Microsoft/vscode/issues/1023

ctrl+↑: Move the focus up without selecting the item
ctrl+↓: Move the focus down without selecting the item
ctrl+space: Add/remove the focused item from the selection

Still not clear what the multi-selection command is when running VS code on a Mac.

I think my previous comments weren't clear enough.
Ctrl+a should select all folders in current scope (not always everything in file tree)
I understand how Ctrl+↑ SHOULD be different from ↑, but ↑ is already not cancelling item selections (compared to Atom).

Some of these things are already implemented. Marking the rest as out of scope.


Fixes the readme spelling

What does this PR do?
Fixes minimum errors in the readme.md

Done

@ferdox2 I think you misunderstood, I said except the change I mentioned all the other changes were not required. So you can add the one I pointed out and remove the rest

Sorry for the misunderstanding, I think it's done.


Remove unused serde-cbor dependency

I'm not sure why it was there in the first place.

CI failure will be fixed by https://github.com/trussed-dev/trussed/pull/157


implement Drop Constraint in dedicated request and action

migrating DROP CONSTRAINT to dedicated delta-only request/action instead of overwriting existing mapping.

Hi @seut, thanks for the feedback, pushed fixups.


Add the possibility to define callbacks for each event in Fields

Hi @andrerpena, first for all thank you for including me in the organization! :smile:
I was thinking to allow the developer to include in each field a callback for an event. For example,
{
   fields: {
         name: {
            type: "string",
            component: "Input",
             change : (event) => { console.log("Hey!, i'm changing! :P ";)}
         }
    }
}

And do this for each type of event, this way each field will be more cutomizable.
What do you think??

I like the idea and want to implement it, here are the things we should discuss before:
Functions are automatically evaluated by RAF
RAF evaluates every functions to literals before passing them to controls. This is how you can conditionally make a field visible. However, RAF ignores function metadata starting with $ or _ (I don't remember), so $onChange: () => {} will actually get to the component
Redux-Form controlls the change and blur event of all fields
That's how it triggers it's Redux actions that renders everything again. If we want to pass a custom handler, we have to wrap the original inside our own to make sure Redux-Form continues to work
We have to think of use-cases first
What would be the use cases? I can think of:

Changing a field value as a result of another field changing. This is really interested so we can have calculated read-only fields. In order to do that, we have to trigger Redux-Form actions inside the change event to change the field value

Dispatch an arbitrary redux action

Understanding real use cases is important so we can know exactly what event args we will pass to the handler.
 I mean, JSON doesn't support functions. That means you can't store functions on Redis, or Mongo, or RethinkDB, or Firebase, or anywhere. And this is awful. I've being thinking about how to deal with that for weeks. I'm thinking of supporting text expressions that could be stored normally. We have to discuss it.
Never the less, this is a really good request and we should find a way to implement it.

MongoDB actually supports save functions
https://docs.mongodb.com/manual/tutorial/store-javascript-function-on-server/
About this issue, it's interesting to add support for this, since it could let the user easily match it's own event handlers.
I will investigate a little bit and then we can advance on how to achieve it.

MongoDB actually supports save functions
https://docs.mongodb.com/manual/tutorial/store-javascript-function-on-server/
About this issue, it's interesting to add support for this, since it could let the user easily match it's own event handlers.
I will investigate a little bit and then we can advance on how to achieve it.

Thanks. I didn't know about Mongo supporting functions.
Anyway.. RAF does support functions currently so I wouldn't remove it. I'd just think of a textual altenative that would be more JSON compliant and easy to store.
Back to the topic of this thread, I'm totally in.

@danigomez This issue is directly related to #18. As we have been talking, if we can integrate redux-form v6 successfully then, we can use the Field and FieldArray components in order to give them the event callbacks.
Also, we have proposed this structure for the json field in the layouts:
{
  "name": "name",
  "displayName": "Name",
  "component": "TextBox",
  "withRef": true || false,
  //Callbacks to pass to Field/FieldArray components
  "callbacks": {
    "format": (value, name) => formattedValue,
    "validate": (value, allValues, props) => validatedValue,
    "normalize": (value, previousValue, allValues, previousAllValues) => nextValue,
    "parse": (value, name) => parsedValue,
    "warn": (value, allValues, props) => warning
  },
  //Event callbacks to pass to the Field/FieldArray components
  "events": {
    "onChange": event => event,
    "onFocus": event => event,
    "onBlur": event => event,
    "onDragStart": event => event,
    "onDrop": event => event
  },
  "styles": {
    "containerClassName": "container fluid",
    "inputClassName": "input-group",
    "labelClassName": "form-control",
    "containerStyle": {
	//custom inline style
    },
    "inputStyle": {
       //custom inline style
    },
    "labelStyle": {
	//custom inline style
    }
  }
}

With v1 repo this has first class support. We're not going to implement this for currently redux-autoform.


[BUG]: Plugwise heating not showing opentherm but on/off

Describe the bug.
See https://github.com/home-assistant/core/issues/72305
Expected behavior
Showing an OpenTherm device.
What version of Home Assistant Core has the issue?
2022.4.0
What type of installation are you running?
Home Assistant Core
How and which version of the integration do you have installed?
Home Assistant Core
What kind of Plugwise device is having issues?
Smile: Adam (including Lisa, Tom, Floor)
What firmware version is your Plugwise product at?
TBD
Home Assistant Logging (optional)
No response
Diagnostics information
No response
Additional information
No response

XML-data received. The point_log key open_therm_oem_fault_code is not present.
As an alternative, we can look for the presence of the open_therm_gateway.

Fixed by #194, confirmed working by the original reporter.


[Event Request] Page 'Job Queue Entry Card' OnBeforeValidate and OnAfterValidate events not firing for Status propery

The Status property OnBefore/AfterValidate events do not appear to be firing. That is also the case when I tried to register for them via Event Subscriptions.

Hi! Please take a minute to read the guidelines for this repository https://github.com/microsoft/AL and our collection of frequently asked questions https://github.com/Microsoft/AL/wiki/frequently-Asked-Questions .
As this repository is only for issues related to the AL compiler in latest developer preview environment for Dynamics 365 Business Central. We suggest that you open a support case or file a bug in Collaborate, to ensure that all Business Central users benefit from your catch as soon as possible.
To open a support case, you can:

Open a support request to CSS through the PartnerSource portal
Contact your Service Account Manager (SAM) in your local subsidiary to understand what is included in your contract as of support incident and PAH (Partner Advisory Hours). Your SAM might also direct you "step by step" how to open a support request or how to get credentials, if this is the first time for you or your company

If you file the bug in Collaborate, remember to include steps to reproduce the issue, and the Business Central build number and country version you're using.


Fixed optimizations in defined cppclass

The problem was they were being skipped with SkipDeclarations.
Fixes https://github.com/cython/cython/issues/4212

Excellent. Thanks.


Updates to av overview templates

update legend icons and colours
fix syntax errors in template html
make fixed width for templates to 595 px
fix bugs where icons were not displaying

DB Migration 1.0.138

@jdtoombs you should also update the related files we use in the UI related to these templates.
/app/editor/src/features/admin/report-templates/constants
/app/editor/src/features/admin/report-templates/templates


Support serverless v2 DBInstanceClass

cfn-lint version: 0.59.0
Allowed list of DBInstanceClass does not include "db.serverless"
Please provide as much information as possible:

Template linting issues:

Please provide a CloudFormation sample that generated the issue.

  DbInstance0:
    Type: AWS::RDS::DBInstance
    Properties:
      Engine: aurora-postgresql
      DBClusterIdentifier: !Ref MyAuroraCluster
      DBInstanceClass: db.serverless

Feature request:

List of allowed db instance class to include db.serverless.  Documentation: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html#Concepts.DBInstanceClass.Types

Cfn-lint uses the CloudFormation Resource Specifications as the base to do validation. These files are included as part of the application version. Please update to the latest version of cfn-lint or update the spec files manually (cfn-lint -u)

Yes this fixes it for me locally, but I need a release with the change because I'm running it via GitHub actions.

https://aws.amazon.com/about-aws/whats-new/2022/10/amazon-aurora-serverless-v2-supports-aws-cloudformation/?nc1=h_ls
Amazon Aurora Serverless v2 supports AWS CloudFormation on Oct 5, 2022 .
So I want to support it .

This issue needs to be reopened. I downloaded the latest update (0.68.1) and i am still seeing the error with the db.serverless not recognised as part of DBinstance

Looking into it.

Found the issue.  Working on resolution.

Try this again.  Should be in the v0.69.0 release.


Invoke-AmlWebServiceBESEndpoint takes too long

I'm using Invoke-AmlWebServiceBESEndpoint and it is crucial to my work. But in an experience/retraining experience I would usually spend 15/20 minutes and it is taking more than 3/4 hours to conclude. Is it normal? Can I speed up the process?
Thanks

Your workspace might be throttled as you are running too many jobs. This issue has nothing to do with the PowerShell itself.


Add --check flag for usage in CI situations

Hi there! Cool project 😄
I'd like to use this as part of a CI pipeline but it doesn't look like there's any way to
programmatically check if something in the public API changed.
RustFmt has a --check flag which exits with 0 if the input would be formatted successfully
and 1 if it wouldn't be.
I think having a similar flag as part of this project would allow it to be used in the context
of CI.

Thank you for the suggestion! Sounds good to me 👍
Adding tests for it should be easy. I think we need three tests:

Test that cargo public-api --diff-git-checkouts ... --check returns 0 when there is no diff
Test that cargo public-api --diff-git-checkouts ... --check returns 1 when there is a diff
Test that only cargo public-api --check without --diff-git-checkouts is not allowed

Number 1. and 2. should be as easy as copy-pasting
#[serial]
#[test]
fn diff_public_items() {

and making slight adjustments. 3. should be as easy as copy-pasting
#[test]
fn long_help() {

and making slight adustements.

Before this is implemented you can still use cargo public-api in a CI pipeline by piping the output to a file and then checking that the output is equal to the empty diff:
Removed items from the public API
=================================
(none)

Changed items in the public API
===============================
(none)

Added items to the public API
=============================
(none)

Another happy cargo-public-api user here — thanks for making and maintaining this crate!
I also wanted a "cargo test but for semver problems" that I could use in CI, so I started building cargo-semver-checks: https://crates.io/crates/cargo-semver-checks
It's a complement for cargo-public-api, not a replacement. With cargo-semver-checks, you just run it and see if it passes or not, rather than digesting a printout of changes and manually deciding if they are okay. When it finds a semver violation, it will:

point to specific files and line numbers where the violations occur
print out a brief explanation of the rule
link to the detailed explanation on the cargo semver reference page or other places
link to the implementation of the rule in its GitHub repo, so you can easily report issues

Adding it to a GitHub Actions publish workflow is a one-liner with the corresponding GitHub Action: obi1kenobi/cargo-semver-checks-action@v1.
It's a brand new crate — only ~a week old at this point — so it doesn't check every semver rule yet, and it might be slow if you run it on a crate that's more than 100,000+ lines. But everything has to start somewhere 😅 I'm building it for fun and for use in my own crates, and I hope it might be useful to others too.

@obi1kenobi Interesting!
If you want to make your tool build rustdoc JSON for users rather than requiring the users to build rustdoc JSON themselves, you might find https://docs.rs/rustdoc-json/latest/rustdoc_json/ useful to start using in your project.

@obi1kenobi Interesting!
If you want to make your tool build rustdoc JSON for users rather than requiring the users to build rustdoc JSON themselves, you might find https://docs.rs/rustdoc-json/latest/rustdoc_json/ useful to start using in your project.

Awesome, thanks for the suggestion — definitely going to be useful! I had just thrown together a GitHub Action to handle the rustdoc-building on CI, and it would be great to simplify the process especially for local use.


license

@quelbs : A licence would be very helpful to be able to use your great improvements :sparkles:
Suggesting the public domain licence that was added to the origin of this fork yesterday in a PR for convenience, not meant to push this type of licence, please use the one that fits best.
Thanks for considering this, BR.

Thanks!


Add unit test for #4423

@bigtimebuddy dunno, 9fdde4e was enough to reproduce a red test on my local machine, I wonder what's happening on travis side.

WebGL based rendering does not run on Travis. So this would reproduce failed locally but not on Travis.

@bigtimebuddy if you are OK with PR, want me to reorganize commits?

This is better, don’t worry about the commit history. I squash them anyways when merging.

@bigtimebuddy ok, then we are ready to go.

Thanks @cursedcoder! Sorry for the merge delay.


HTTP to HTTPS not working as it should

Describe the bug
At the moment we have a single BBB installation on a VPS that is working great but we needed to scale up and decided to run this script. Everything seems to be working as it should, it's way snappier than our VPS 👍
I have read in the Scalelite repo that they fixed http to https redirects in may 2020. But it dosen't seem to be working in our case. When we try to browse http://conference.domain.com we get a a timeout error after 20-30 seconds.
To Reproduce
Steps to reproduce the behavior:

Go to http://conference.domain.com
Wait

Expected behavior
When going to http://conference.domain.com nginx should redirect to https://conference.domain.com.
Desktop (please complete the following information):

OS: [e.g. iOS]: Windows 10 20H2
Browser [e.g. chrome, safari]: Edge (Chromium), Brave and Firefox

I don't know if this is the right way but we sort of figured out a solution.

Go to EC2 and select Load Balancer
Create 2 new rules that takes port 80 traffic and redirects it to port 443 (one for each load balancer)
Go to Security Groups
Click on the Frontend ELB Security Group
Create a new inbound rule to allow traffic on port 80
Test, it should work immediately

Hi @novastream,
yes you're right. the current code does only listen on port 443.
let me take this as a feature request.
According the load balancers. you should only add the redirection rules and port 80 setup to the frontend load balancer. the 2nd load balancer is only called for the BBB API and is used by Greenlight to find the App Instance to redirect users too. so there won't be any users using that LB

Thank you for your input, we will adjust accordingly 👍

Recordings in Greenlight points to http://scalelite.yourdomain.com. and here the conversion to https from http does not happen. How to solve this?

Recordings in Greenlight points to http://scalelite.yourdomain.com. and here the conversion to https from http does not happen. How to solve this?

How to reproduce? Just so I can test as well :)

Recordings in Greenlight points to http://scalelite.yourdomain.com. and here the conversion to https from http does not happen. How to solve this?

How to reproduce? Just so I can test as well :)

Found it 👍
How to reproduce

Start a chat room

Record something (audio/video or both)

Exit the chat room and wait for the recording to appear in the list of recordings

Click on the recording, it will open in a new tab (http) and give you a connection failed error
http://scalelite.domain.com/playback/presentation/2.0/playback.html?meetingId=xxxxxx

The origin page will throw a mixed content error since the thumbnails load over http.
http://scalelite.domain.com/presentation/xxxx-xxxx/presentation/xxxx-xxxx/thumbnails/thumb-1.png

I also found that the recordings link didn't have https. not sure how Greenlight is building the links.
Patching both load balancers to include a http to https redirect seems to work.
How is Greenlight building the URL? From the API reference?

I also found that the recordings link didn't have https. not sure how Greenlight is building the links.
Patching both load balancers to include a http to https redirect seems to work.
How is Greenlight building the URL? From the API reference?

We just remove the one http to https forwarding rule per @couchgott suggestion. Will it work if we revert it back so both LBs have a forwarding rule?

Just removed a rule? When was that?

Hi @novastream,
yes you're right. the current code does only listen on port 443.
let me take this as a feature request.
According the load balancers. you should only add the redirection rules and port 80 setup to the frontend load balancer. the 2nd load balancer is only called for the BBB API and is used by Greenlight to find the App Instance to redirect users too. so there won't be any users using that LB

Just to avoid confussion, we did add two forwarding rules (one to each LB) and then as the commet quoted we removed one rule.
But if I understand you correctly, by adding a forwarding rule to the second LB will fix the http error on recordings?

Hi @novastream,
yes you're right. the current code does only listen on port 443.
let me take this as a feature request.
According the load balancers. you should only add the redirection rules and port 80 setup to the frontend load balancer. the 2nd load balancer is only called for the BBB API and is used by Greenlight to find the App Instance to redirect users too. so there won't be any users using that LB

Just to avoid confussion, we did add two forwarding rules (one to each LB) and then as the commet quoted we removed one rule.
But if I understand you correctly, by adding a forwarding rule to the second LB will fix the http error on recordings?

Yes, The BBBSc Load Balancer is for the API connection (https://scalelite.domain.com/bigbluebutton/api)
But the recording links also use scalelite.domain.com.
You will still have the mixed content http error. as the links generated by Greenlight are still http only.

Hi @novastream,
yes you're right. the current code does only listen on port 443.
let me take this as a feature request.
According the load balancers. you should only add the redirection rules and port 80 setup to the frontend load balancer. the 2nd load balancer is only called for the BBB API and is used by Greenlight to find the App Instance to redirect users too. so there won't be any users using that LB

Just to avoid confussion, we did add two forwarding rules (one to each LB) and then as the commet quoted we removed one rule.
But if I understand you correctly, by adding a forwarding rule to the second LB will fix the http error on recordings?

Yes, The BBBSc Load Balancer is for the API connection (https://scalelite.domain.com/bigbluebutton/api)
But the recording links also use scalelite.domain.com.
You will still have the mixed content http error. as the links generated by Greenlight are still http only.

Thanks, I will do some testing tomorrow to see if we can get solid solution or a for the time being workaround :)

I have tried adding the rule to the second LB. However, it does not work

@novastream Did you get any solution for the presentation links?

Hey folks, sorry for the delay working with the issue from my site. I am kind of knocked out (and in a hospital) right now. I will check and debug when back. It can be a change in the Big Blue Button code, default configs or greenlight/scalelite container images. Maybe a good idea to check for commits at these relates repos/registries and try a version before the breaking changes occur.
I will try as soon as possible but currently i am not sure if it will be in a few days or a week. Sry for that

Most probably the problem is with scalelite. https://github.com/blindsidenetworks/scalelite/pull/139.
In this case we may need to update /nginx/conf.d/scalelite-proxy.template. Will check and update

It was simple issue. Not sure how I have missed. You need to add to redirect rule to both ALB and update the associated security groups with port 80 access. That's all. Thanks a lot for all the help. It would be good If we can add these configuration to the current stack. No more changes required


Examples with Ref not parsed when in responses

Simply put
responses:
  content:
    examples:
       key:
         $ref: 'file.yaml#components/examples/key'

Does not get resolved.

Hi @JehandadK
Can you please provide a sample open api file to reproduce this issue?
Thanks,
Mohammed Rizwan

Fixed by #838


Add username to LOCKOUT_TEMPLATE template context

So I can use their username in the lockout template, e.g. something like this with the template,
There have been too many failed login attempts for {{username}}. Please email<EMAIL_ADDRESS>to unlock the account.

Thank you.


GPU ram memory increase until overflow when using PSNR and SSIM

🐛 Bug
Hello all,
I'm implementing CycleGAN with Lightning. I use PSNR and SSIM from torchmetrics for evaluation.
During training, I see that my GPU ram memory increases non stop until overflow and the whole training shuts down.
This might similar to https://github.com/Lightning-AI/torchmetrics/issues/2481
To Reproduce
Add this to init method of model class:
self.train_metrics = MetricCollection({"PSNR": PeakSignalNoiseRatio(), "SSIM": StructuralSimilarityIndexMeasure()})
self.valid_metrics = self.train_metrics.clone(prefix='val_')

In training_step method:
train_metrics = self.train_metrics(fake, real)
In validation_step method:
valid_metrics = self.valid_metrics(fake, real)
Environment

TorchMetrics version: 1.3.0 installed via pip
Python: 3.11.7
Pytorch: 2.1.2
Issue encountered when training on Window 10

Easy fix proposition
I try to debug the code.
When verifying train_metrics, I get this:
"{'PSNR': tensor(10.5713, device='cuda:0', grad_fn=<SqueezeBackward0>), 'SSIM': tensor(0.0373, device='cuda:0', grad_fn=<SqueezeBackward0>)}"

which is weird because metrics aren't supposed to be attached to computational graph.
When verifying valid_metrics, I don't see grad_fn.
Guessing that's the issue, I tried to call fake.detach() when computing train_metrics.
Now the training is stable, the GPU memory stops increasing non stop.

@ouioui199 looking at your example (could you pls share the full sample code?) and wondering if you in the epoch end hook also call compute?

Hi, sorry for the slow reply from my side.
let's decouple the issue into two sub issues: first being the gradient still having the computational graph and the second being the increasing memory.
Computational graph
I am not sure where you have got this from but the computational graph is not auto detached from the metric in general. It depends on the is_differentiable attribute of the metric. For both PeakSignalNoiseRatio() and StructuralSimilarityIndexMeasure() this attribute is True because users may want to use these metrics as loss functions for backpropagation. Thus,
import torch
from torchmetrics.image import PeakSignalNoiseRatio
psnr = PeakSignalNoiseRatio()
print(psnr.is_differentiable)  # returns True
preds = torch.tensor([[0.0, 1.0], [2.0, 3.0]], requires_grad=True)
target = torch.tensor([[3.0, 2.0], [1.0, 0.0]])
print(psnr(preds, target))  # returns tensor(2.5527, grad_fn=<CloneBackward0>)

whereas a metric such as Classification will not have the computational graph equipped because it is not differentiable
from torchmetrics.classification import Accuracy
accuracy = Accuracy(task="multiclass", num_classes=4)
print(accuracy.is_differentiable)  # returns False
preds = torch.tensor([0, 1, 2, 3], requires_grad=True, dtype=torch.float)
target = torch.tensor([0, 2, 2, 3])
print(accuracy(preds, target))  # returns tensor(0.7500)

so call detach before evaluating the metric would be the correct approach here.
Memory keeps increasing
It is fairly well laid out in the documentation that there are two different kind of metrics in torchmetrics, metrics with constant memory and metrics with increasing memory:
https://lightning.ai/docs/torchmetrics/stable/pages/overview.html#metrics-and-memory-management
Sadly, PeakSignalNoiseRatio() and StructuralSimilarityIndexMeasure() out of the box falls into the second category e.g. it is simply not possible to correctly calculate the metrics over multiple batches without holding some internal state per batch in memory. As more batches are seen, this state increases. So what you are seeing is fully expected.
However, for these two metrics there are ways to have constant memory by setting the appropriate arguments. For both PeakSignalNoiseRatio() and StructuralSimilarityIndexMeasure() this argument is called reduction. If this is set, we reduce the batches into a constant state that prevents memory overflow, but it depends on the application what kind of reduction is appropriate. So initializing the metrics as
from torchmetrics.image import PeakSignalNoiseRatio, StructuralSimilarityIndexMeasure
psnr = PeakSignalNoiseRatio(reduction="elementwise_mean")
ssim = StructuralSimilarityIndexMeasure(reduction="elementwise_mean")

will solve this issue.
Closing issue.


Cant't download website with fontawesome

I try to download Fontawesome.com for example. But I got errors:
Failed to load resource: net::ERR_FILE_NOT_FOUND fontawesome-webfont.woff
Failed to load resource: net::ERR_FILE_NOT_FOUND fontawesome-webfont.ttf

ETC...

Hi @anstak
Could you please provide steps to reproduce and full options object that you use?
Thanks

Hi @s0ph1e
I tested with parameters:
var options = {
	urls: ["http://fontawesome.io"],
	directory: folder,
	recursive: true,
	maxDepth: 1,
	urlFilter: function(url){ return url.indexOf("http://fontawesome.io") === 0; }
};

It is not download fonts.
BUT if I set maxDepth: 2  - it is working!
I think its some kind of bug, becouse I want to set maxDepth = 1...

it happens because now maxDepth is applied to all types of resources - fonts, styles, images, etc.
I think it can be improved by using depth only for links. Will do that when I have some free time

I see... I think better to download all links inside css files!

Starting from version 2.4.0 you can use option maxRecusriveDepth to limit depth only for hyperlinks, other resources will be downloaded regardless of their depth.


Simultaneous notifications with different notId still overwrite each others

Hello,
When receving multiple push notifications with different 'notId' at the same time, only the last is displayed
here's the usecase : I send hourly recap of user's inboxes. He'll get one notification per Inbox with different title, let say 'Inbox 1' and 'Inbox 2'.
On Android, I sort them with inbox style.
If I send them too simultaneously, I will only see Inbox 2 notif.
but if they have at least a second between each other, I will see both groups. In group "inbox 1", I will even see in the history, the push notification that was hidden last hour.
On iOS, same behaviour except the grouping feature. I would see both if not sent at the same second.
Expected Behaviour
Display all notifications with different 'notId'
Actual Behaviour
Only the last notification is displayed
Reproduce Scenario (including but not limited to)
Send simultaneously multiple notifications to the same device
Steps to Reproduce
Platform and Version (eg. Android 5.0 or iOS 9.2.1)
Android 9, 10 iOS 13
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
Cordova CLI version and cordova platform version
9.0.0<EMAIL_ADDRESS>android 8.1.0
ios 5.0.1
Plugin version
phonegap-plugin-push 2.3.0 "PushPlugin"
Sample Push Data Payload
Sample Code that illustrates the problem
Logs taken while reproducing problem

@roxteddy - Did you get any solution on this?

The same here, but just on Android. Any idea?

@fbmarina - You can just fork the plugin and update 3 lines which is done here. It will fix your issue. Thanks.


How to launch this new version mod in MacOS

i'm not good at english, so i can not understood README completely.
the old version just mono it ,can you give me a easily course to launch this?

basically, just type "mono --arch=32 " then drag the exe to the terminal. then press enter

mono --arch=32 ~/Downloads/ETGMod.Installer.exe replace path with wherever your install is


Make browser query parameters available in @on_chat_start

Feature request for query params to be made available in the on_chat_start decorator. From there you could add them to user session or take another action.
@on_chat_start
async def main(query_params):
    document_url = query_params.get('document_url')
    if document_url:
        ....

Imagine an application that lists multiple documents and you want to design a chainlit that can Q&A one of those documents.
Possible workflow today:

The user downloads the document from the application.
In a separate browser tab they open the chainlit.
In the chainlit they upload the file with a AskFileMessage dialog.
Process the file and chat.

Possible workflow enabled by query params:

User clicks a [Chat] button next the document they want to Q&A and a new browser tab opens to mychainlit.xyz?document_url=/my/doc.pdf
The chainlit begins processing the file referenced in the document.

Additional scenarios could include:

passing a reference to an ID to an API accessible resource
chaining chainlit apps by passing fragments of one chat to another chainlit as part of a larger workflow

@willydouhard do you have any updates on this matter?

Did not have the time to add it yet. I am unsure about the behaviour though. Let's say you connect to http://localhost:8000?params={...}. In this case the json would probably encoded in b64 but that's not the point.
So we send that to the socket connection headers. Now let's say I navigate in the app a few times and create a new session. Is it expected that the params are sent again? In that case that means we should store them in the local storage or something. Also what happens if I refresh the page without the ?params?

from my perspective it should be something like in streamlit: https://docs.streamlit.io/library/api-reference/utilities/st.experimental_get_query_params

got it. thank you!

@willydouhard just give either the request object or at least the GET/POST/Headers as optional param to<EMAIL_ADDRESS>method
Alternatively or additionally, do the same here:
@app.post("/auth/header")
async def header_auth(request: Request):
    if not config.code.header_auth_callback:
        raise HTTPException(
            status_code=status.HTTP_400_BAD_REQUEST,
            detail="No header_auth_callback defined",
        )

    app_user = await config.code.header_auth_callback(request.headers, add the request here)
    ...

This is what I'm doing right now (have to patch library code, which I totally only do if no other options are possible. But we need this).
Btw: We did the trick of using header_auth and there fetching the referer header. Unfortunately, Apple products seem to strip the query params from the referer it seems)
PS: on_start(request) would be much better, since we already have the user session there. Pushing data from auth header function to on start via a user tag as serialized json string is.. meh :)

This kind of feature would be super useful for creating links with pre-populated chats, which is somewhat similar to the document Id scenario above
For instance in an app you could embed links where the user clicks them and it launches your bot with the user's input entered ready for them to submit (or to add to if they need something extra in their input). This takes some friction out of the interaction. In some cases you could imagine dynamically creating the link parameters too (eg in Excel you could have a list of company names and each row gets a custom link to ask for more about that particular company using Excel's HYPERLINK function to build the link).
I was able to get close to this with a few hacky lines of custom js to write a parameter value into the user input box but I haven't the React experience to have that feed into the message properly (so the input box quickly gets overwritten with blank text unless the user specifically types something in the input box immediately, which isn't a good user experience).

I need this feature

Update: We now pass the needed GET param as a header to chainlit, which involves a) overriding the /login route to inject a JS into the frontend, which in turn overrides the JS fetch() method to add the needed header with our parameter. And then we get it finally where we need it to create the users, in our header_auth_callback().
If anyone needs more details, let me know. Of course we hope for a native clean solution - but at least we managed to not do a vendor code hack here.

@bachi76 Please share:)

Would love to add this in the docs examples or advanced concepts. Do you have time for this @andreasmartin ?

This is broken since Chainlit 1.1.300.
Can anyone help me out with fastapi code that "send" the url parameter to the chainlit module?

I can confirm this is broken, and the changes are not mentioned in the documentation.

I agree, this is really a needed feature.. There needs to be some way to send arbitrary parameters to a chainlit app, and there currently is not anything that doesn't require extensive hacking.
For others looking for a workaround, I am currently doing this, but I'm not sure how reliable this is at all as it is very much a hack...
Basically, I see that chainlit, at least in my setup, sets the "referrer" header when doing the authentication. Assuming your chainlit app is running at the path /chat, if you direct a user to https://example.com/chat/login?arg1=arg1&arg2=arg2 and then have code something like this:
from chainlit import Message, User
from typing import Dict, Optional
from urllib.parse import urlparse, parse_qs
import chainlit as cl

@cl.header_auth_callback
async def header_auth_callback(headers: Dict) -> Optional[User]:
    user = None

    referrer = headers.get('referer')

    if referrer:
        parsed_url = urlparse(referrer)
        query_params = parse_qs(parsed_url.query)

        payload = dict(
            ...
        )

        user = User(
                identifier='asldkfj',
                metadata=payload,
        )

    return user

@cl.on_chat_start
async def chat_start():
    logger.info(f'Chat started.')
    user = cl.user_session.get("user")

    await Message(
        content=user.metadata,
    ).send()

You can basically, during your authentication hook, just add whatever you want from the query string or headers into your user payload. You can even just do this without needing to do anything further or for actual authentication.
This is at least slightly elegant, mainly because it is pure python.

Some good ideas/workarounds here. I see several users trying to do this in discord forum as well.  I am trying to address a similar need where I am trying to create a no-code agent. Chainlit application acts as generic agent driver, accepts agent_id as path/query parameter. And in on_chat_start, generic agent driver can pull in model, starter_prompts, system prompt, any tools etc, setup langchain  and continue.    All this works, except getting access to agent_id from the path.
I posted this in discord yesterday
https://discord.com/channels/1088038867602526210/1126876648839598130/1260866911298781214
I wanted a solution with no hacks at all. So, I made some minor changes to chainlit backend today to achieve this. Essentially, when a client connects, I am extracting PATH_INFO from WSGI environ and adding it to WebsocketSession along with other attributes that already exist.  And then, added it to UserSession as well.  Same thing can be extended to query parameter with couple of more lines.
I just tested this and I can get "http_path" from session object  and can extract agent_id from the path.  Planning to raise a PR soon.  In the meantime, here is my commit to the fork
https://github.com/nethi/chainlit/commit/c90b4a5f6cbd87e4c1126ac83a2b07683883d267
I need similar solution to other non-websocket related REST APIs and chainlit hooks, where access to Request object is requried . For example, I want to agent_id specific profiles to be dispalyed - I am not familiar with FastAPI, but flask has a nice way to get to the context object without explicitly passing in in the arguments.  It would be nice to make Request object (or some attributes likes path, query, headers etc) made available in these chainlit hooks.
Chainlit is a wonderful framework. Great work and thank you @willydouhard

There is a very easy but undocumented solution to this as of 1.1.0 - the User Session docs are incomplete but per the release notes the object now includes the "http referer" [[sic](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer)].
Thus, the following works:
@cl.on_chat_start
async def start():

    path = cl.user_session.get("http_referer")

    # get query string from path
    query_string = urllib3.util.parse_url(path).query

    print(query_string)

This should be added to the docs and the bug reports/feature requests closed, IMO. Kicking myself for not figuring this out quicker - IMO it is poorly named because while in-spec (the resource is being used on the "refering" page) it is not, for example, going to give you the actual referrer (eg news.ycombinator.com if someone clicks a link to your agent from HN). I don't think there needs to be a separate query strings parameter because, per example above, extracting that is trivial given the "referer."

I observed that cl.user_session.get("http_referer") returns None if I start the UI in browser by typing in the address. But this may be useful in other scenarios where http_referer returns valid value.

I would indeed be concerned that this might not work during the login flow too, since the query string may be lost during the redirects, as described as a limiter at the beginning of this issue. I don't know whether that is the case or not, but that is why I built my workaround into the login hook, and link users directly to the login endpoint, rather than looking elsewhere.

Some good ideas/workarounds here. I see several users trying to do this in discord forum as well. I am trying to address a similar need where I am trying to create a no-code agent. Chainlit application acts as generic agent driver, accepts agent_id as path/query parameter. And in on_chat_start, generic agent driver can pull in model, starter_prompts, system prompt, any tools etc, setup langchain and continue. All this works, except getting access to agent_id from the path.
I posted this in discord yesterday discord.com/channels/1088038867602526210/1126876648839598130/1260866911298781214
I wanted a solution with no hacks at all. So, I made some minor changes to chainlit backend today to achieve this. Essentially, when a client connects, I am extracting PATH_INFO from WSGI environ and adding it to WebsocketSession along with other attributes that already exist. And then, added it to UserSession as well. Same thing can be extended to query parameter with couple of more lines.
I just tested this and I can get "http_path" from session object and can extract agent_id from the path. Planning to raise a PR soon. In the meantime, here is my commit to the fork nethi@c90b4a5
I need similar solution to other non-websocket related REST APIs and chainlit hooks, where access to Request object is requried . For example, I want to agent_id specific profiles to be dispalyed - I am not familiar with FastAPI, but flask has a nice way to get to the context object without explicitly passing in in the arguments. It would be nice to make Request object (or some attributes likes path, query, headers etc) made available in these chainlit hooks. I believe, FastAPI context var could be a solution- still looking around
Chainlit is a wonderful framework. Great work and thank you @willydouhard

I made some more changes to the fork

added support for accessing query parameters
An option to pass a separate path for socket.io path

WIth these changes, I now have a chainlit based generic agent driver that can accept an agent_id in the URL (can also be query parameter), call out to another service to get details of the agent  (given the agent id), containing details like model profiles, starter prompts, system prompt etc.  With this, it is now possible to build a fully capable no-code agent (like that of custom GPT assistant, Hugging face assistatnst), all using chainlit framework.

I also need this feature, hope it can be added in the future

+1 for requesting this feature. is there another recommended method for providing user metadata or native app context behind to the chat web app without having to make the user provide it?

I've created a PR for this, pls help to test/review. A working version can be seen here: https://2in.ai/

I'm closing this in favour of #1213, which would make the entire request object (including cookies, URL, headers) available. Happy to receive PR's for that one and hereby explicitly offering guidance/bike-shedding on spec'ing the feature.


3.20 20201216

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 7 committers have signed the CLA.:white_check_mark: udnisap:x: anthonyjgatti:x: streamsets-ci:x: santhoshkumarml:x: jarcec:x: lchen89:x: whitelowrieYou have signed the CLA already but the status is still pending? Let us recheck it.


Yaml pipeline throws error on terraform init command.

I have been using classic pipeline (UI generated) and it has been working fine.
Recently, I moved to YAML pipeline so that I can version control it.
Specifically, I am using the deployment job that pipeline provides (reference here)
Here is the snippet, it is based on what the YAML version of classic pipeline provides.
`
        - task: TerraformTaskV1@0

          inputs:

            provider: 'azurerm'

            command: 'init'

            workingDirectory: 'tfmain'

            commandOptions: '--no-color'

            backendServiceArm: 'Pay-As-You-Go (********************************)'

            backendAzureRmResourceGroupName: 'InfrastructureState'

            backendAzureRmStorageAccountName: 'cdl7tfaccount'

            backendAzureRmContainerName: 'terraform-state'

            backendAzureRmKey: 'terraform.tfstate'`

It errors out with the following message:
##[error]Error: There was an error when attempting to execute the process '/opt/hostedtoolcache/terraform/0.12.26/x64/terraform'. This may indicate the process failed to start. Error: spawn /opt/hostedtoolcache/terraform/0.12.26/x64/terraform ENOENT
Debugging:
I checked the raw logs of both classic pipeline and YAML pipeline, both are running the same exact command.

Looking at the task spec - you're not using this extension :)
https://github.com/microsoft/azure-pipelines-extensions/tree/master/Extensions/Terraform/Src/Tasks/TerraformTaskV1
This is the one you've got installed.

+1 to @favoretti closing this down. @verodhi feel free to re-open if you experience issues with this task when using it in yaml templates.


Add documentation for the API

Probably use JSDoc that gets deployed along with the site itself.

This project doesn't include the API anymore


Update order of checking for scoping variable during binder's visit of FirstName

For an expression such as With({a:1}, Set(a, 10)), the first argument of the Set function should not refer to the scope variable a defined by the With function.

✅ No public API change.

What's the expected result of With({a:1}, Set(a, 10); a + 1)?

What's the expected result of With({a:1}, Set(a, 10); a + 1)?

It will be 11; the a in the Set call will not be bound to the scope from With

✅ No public API change.


Hi, I want to know what does notepad2-mod doing with network?

I was uesed notepad2-mod for many years, but I found it ues my network to do something today, and I don't know what does it doing, is there anybody can help me?

Just a guess. Do you have a network drive or a share or similar connected or explorer plugins that access internet like perhaps dropbox? There's no network code in notepad2-mod. When you use the open/save dialog it opens an explorer dialog, part of windows, standard. That may cause this if you have such connected.
Have had a few notepad2-mod processes running for days. I see no such network activity. Also my firewall would have screamed out loud if it even had tried to.

thanks.
I have missing something in description. The firewall has never reminded me anything too, I found this by chance. The firewall is fail, that's strange. And the connection type is not TCP, I can't catch it.
I have tried several times, some notepad2-mod processes has no network active for ever, and others was shown network active just open a file. The latter case, sometimes network active increased with time, sometimes network active just stoped.
There is no plugins like you said in my system. Is anyone happen this like me.

It is Windows 10. Firewall fails because telemetry instances have an user different than admin, it's SYSTEM and is ignored by the OS firewall.

@Atavic
Thanks. You may be right or it is a bug with Process Explorer, I will try it later.


ErrorCode is missing invalid_grant

ErrorCode is missing invalid_grant

Hi @c128128 invalid_grant is not a valid error code, check list in backend definition: https://github.com/supabase/auth/blob/ba00f75c28d6708ddf8ee151ce18f2d6193689ef/internal/api/errorcodes.go

And why then I am getting it ? Steps to reproduce:

Register a new user, using swift sdk.
Delete that user from database. (manually)
Login with the same user.
invalid_grant response, in swift will be unknown.

Could you paste the exact response you get in step 4?
I'm trying to reproduce by following those steps, but I get a invalid_credentials code in the 4th step, which is a valid code.

Thank you for your reply.
It seems that the issue is due to my self-hosted Supabase being a few versions outdated.

I have updated my server with last supabase, looks like this error still exists. Here is the exact error from the response:
{
	"error": "invalid_grant",
	"error_description": "Invalid login credentials"
}


Update data to the Summer 2023 Release

Hi,
Tom Thress recently announced the availability of the first semi-annual Summer 2023 Release.
https://www.retrosheet.org/june2023release.html
I was wondering if boxball can be updated to reflect the changes. Mainly, I'm interested in the new optional field,  gametype, that's now included. It's been a real sore point for me to figure out based on game dates and what not.
A new info record type was introduced in 2023 describing the type of game.

info,gametype,regular

The possible types are:
regular
exhibition
preseason
allstar
playoff
worldseries
lcs
divisionseries
wildcard
championship

Thank you so much for putting this project together.

Boxball relies on the Chadwick Bureau's retrosheet repo, which hasn't updated yet: https://github.com/chadwickbureau/retrosheet
I'll keep tabs on that and should be able to update soon after. However, you may end up being disappointed in the result, because new info fields in the raw data don't automatically end up in Chadwick's data outputs.

Dang it! I was so excited when I saw that. I'll go open an issue there and see if goes anywhere.
Well, in any case, thank you again for your efforts!

I'm working on a project which will serve as the successor to Boxball (which will still be maintained) - here is a list of game IDs along with their game types. More to come, hope this is useful in the interim!
game_types.csv

dude...
you're the man. this is great


Return key behavior

Hitting the return key when at the end of a line is pretty consistent across Outliners.  It creates a new entry below the previous one and moves the cursor down.
But what should the behavior be if the cursor is at the beginning of a line of text?  Should it create a new line above the current one and move the cursor there?  That is how Workflowy does it, but OmniOutliner creates a new line below.
What should happen if the cursor is in the middle of a line of text and the return key is pressed?  Workflowy splits the line and creates two separate entries from it.  OmniOutliner creates a new line below.
Right now Manhattan works like OmniOutliner, but I wonder if that is correct.  I wanted to insert a new row at the beginning of an outline, so I put my cursor in the first position and hit return expecting a new entry to be made before my insertion point.  Instead I got an entry below my insertion point.

I was about to mention this same issue, then I found this entry. Where should I have looked to find the keyboard shortcuts? I suggest some way to make those more discoverable.

How do I split a line on iOS?

Holding down the command key on iOS will show you all the keyboard shortcuts currently available.
If you are using a hardware keyboard, it looks like the Split Row keyboard shortcut is missing on older versions of iOS, but is there for iOS 15. I'll fix this in the next release.
There isn't currently a way to execute the Split Row command on iOS devices without a hardware keyboard. In the next release I'll add this command to the Edit menu (the one that appears above text with Cut, Paste, etc...
Thanks for being a Zavala user and thanks for the bug report.

Split Row has been added to the iOS Edit Menu in version 2.0.3. Look for it to clear App Store approval in the next couple days (if our luck holds).

Thank you!


Change Gauge logs format

The current Gauge log format is
11:52:03.140 Executing => gauge run /tests/python/specs/example.spec --simple-console

This log format doesn't have the date, process the output the message (gauge or plugin) and log level of the message.
This information will be useful while debugging an issue.
New Gauge log format to be implemented should be
23-04-2019 11:52:03.140 [INFO] [Gauge] Executing => gauge run /tests/python/specs/example.spec --simple-console

i.e., date time [log level] [gauge or plugin id] message

New Gauge log format will be show as -
23-04-2019 11:52:03.140 [Gauge] [INFO] Executing => gauge run /tests/python/specs/example.spec --simple-console

This issue has been verified and found fixed with the version: 1.0.6.nightly-2019-05-17


Floating point values on Windows 10 with german locale settings

It seems that Closhure gets confused with decimal separators and commas on a German Windows installation where ',' is the decimal separator:
Entering "1.0" doesn't work, "1,0" seems to be read as two forms, floating point numbers are written written with a ',' as a decimal separator, though. See the REPL transcript below:
C:\robert\Closhure\bin\Debug>Closhure.exe
Closhure 0.6
Special forms:
. and catch def defmacro do doseq finally fn if import let loop new or quasiquote quote recur reify set! try unquote unquote-splicing
Defined symbols:

command-line-args / + < <= = == > >= apply eval filter fold gensym instance? list load-file load-string macroexpand map mod nil? not not= nth pr print println prn quot range read read-line read-string slurp spit str symbol type
Macros:
defn dotimes when while

1.0
System.FormatException: Die Eingabezeichenfolge hat das falsche Format.
bei System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
bei System.Double.Parse(String s)
bei Closhure.Core.parse(TextReader r, String tok) in c:\robert\Closhure\Core.cs:Zeile 1525.
bei Closhure.Core.parse(TextReader r) in c:\robert\Closhure\Core.cs:Zeile 1433.
bei Closhure.Core.repl() in c:\robert\Closhure\Core.cs:Zeile 1138.
1,0
1
0
(/ 1 3)
0,333333333333333

Thank you for reporting this problem. Thanks to you, I solved it using System.Globalization.CultureInfo.InvariantCulture.
See: https://learn.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo.currentculture?view=net-7.0#system-globalization-cultureinfo-currentculture

Great, it works now.
And thanks for the link to the .NET documentation.


📝[Docs]: Add Table of Contents to README file.

What Docs changes are you proposing?
I am proposing the addition of a Table of Contents to the README file. The Table of Contents will include links to key sections such as Usage, Screenshots, Features, Setup Instructions, Contributing, Documentation, Join Us, and Our Contributors.
Why do the Docs need this improvement? What is the motivation for this change? How will this change benefit the community?
The documentation will benefit from this improvement by providing users with an easy-to-navigate structure. This change will enhance the user experience by allowing users to quickly locate and access relevant sections of the README. The motivation behind this change is to improve the overall readability and usability of the documentation, making it more professional and user-friendly.
Describe the solution you'd like
The solution involves inserting a Table of Contents at the beginning of the README file. This Table of Contents will contain anchor links to the following sections

Introduction
tech Stack
Project Demonstration
Contributing
Contact

Describe alternatives you've considered
An alternative approach considered was to include a sidebar or a collapsible menu for navigation within the README. However, these methods may not be as straightforward to implement in a Markdown file and might reduce the simplicity and compatibility of the document across different viewers.
Additional context
Adding a Table of Contents will make the documentation more organized and accessible, especially for first-time users. Below is an example of how the Table of Contents will look.

@jatiinyadav can you assign this issue to me.
I AM A GSSOC CONTRIBUTER
Thankyou.

Hi @GUNJESH843,
Make sure you add Table of Contents in all the md files, not specifically README.md

Hi @GUNJESH843,
Updating only README.md file will not be counted as LEVEL 1 issue.
Please update all the MD files otherwise I have to mark the ticket as LEVEL 0.
There are strict guidelines from the GSSOC Program Managers.

@jatiinyadav sure

@jatiinyadav Hey, I have worked on the .md files mentioned by you and have added the table of contents to 4 files

README.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
INSTALLATION.md

I request to label this as  >= level 2, this would help motivate me to work more on such issues,
Thank you


automatic interface assignment may not be the best thing in the world

With em0 and em1 present the config currently skips interface assignment. Want to deploy a better way of doing that consistently. Also, initial IP assignment is missing. Workarounds like the LiveCD exist, but are a little too inconvenient on first glance. via @timelessp (twitter)

Lets make it more clever and have first two interfaces setup as LAN/WAN or if only one setup as WAN.
Make sure the configmenu option 1 works for manual configuration after bootup.


Trying to highlight code.

Trying to highlight code with my Super Simple Highlighter, an extension in my Chrome browser. Display really messesnter feedback here]

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

ID: c36588d0-6bdf-1740-220c-10b20bb88730
Version Independent ID: 587ed47f-f532-e018-9b0d-6ee76afd20e4
Content: What's new in C# 9.0 - C# Guide
Content Source: docs/csharp/whats-new/csharp-9.md
Product: dotnet-csharp
Technology: csharp-whats-new
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

@maryob77062 Can you please provide more details?
The docs site already highlights code (no need for extensions for that). See:

If there is a specific issue with an extension you're using, then I doubt there is a doc issue here.


Typo etcdutl in configure-upgrade-etcd.md

Typo
Should be etcdctl not etcdutl

I have signed the CLA, I am not sure if I still need to do something.
Please let me know if I miss anything.

@wojtek-t / @mml - please review from a technical standpoint.

/kind cleanup

Page preview:
https://deploy-preview-30368--kubernetes-io-main-staging.netlify.app/docs/tasks/administer-cluster/configure-upgrade-etcd/#restoring-an-etcd-cluster

/approve


render: switch to kube-core file layout

Goal: be a drop-in for kube-core in the installer.

/hold
until smoke test with cluster-up is green

/hold cancel

/hold
@sttts can you bump library-go and replace the template?
one question about checkpointer otherwise LGTM

/hold cancel
Moved to asset lib to library-go and remove the checkpointing annotation.

/lgtm


TOCO fails to handle Dilated Convolution properly with use_bias=False

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 16.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 1.14
Python version: 3.7
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version: N/A
GPU model and memory: N/A

Describe the current behavior
conv1 = tf.layers.conv2d(x, 32, 3, dilation_rate=(2,2), activation=tf.nn.relu, use_bias=False)
TF will wrap this convolution into Space2Batch and Batch2Space pair. When converting to float tflite toco/tflite_convert fails to fold them back into single op. I think that happens because it doesn't match any of the patterns that identify_dilated_conv.cc analyzes.
If use_bias=True then everything works as expected.
Describe the expected behavior
Code to reproduce the issue
N/A
Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

https://github.com/tensorflow/tensorflow/issues/31359

If use_bias=True , When converting to float tflite toco/tflite_convert can fold them back into single op.Is that ture?why i can't fuse them to a op.thanks

feel free to reopen if the issue still persists. thanks!


API Endpoint to consume console log

Just as the API console which can be accessed thru the deamon (https://github.com/Pterodactyl/Panel/issues/586).

There has since been a v1 update, and a recode for nodeactyl is in progress, for your request there is a perfect request for this; https://dashflo.net/docs/api/pterodactyl/v1/#req_395b45b3381643ebaed7ee23a9a356f3
And another more complex request that will return a WebSocket for the console output it seems i could be wrong for this one but i will need to do more reaserch to get console details
Nethertheless i will take a look at this for the v1 rewrite


[Event Request] Codeunit 90 Purch.-Post - OnRunOnAfterInvoiceRounding

Hi, would it be possible to get an event OnRunOnAfterInvoiceRounding in the codeunit 90 Purch Post, trigger On Run, like this :

?
Thanks

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


fixes https://github.com/shpakovski/MASShortcut/issues/60

Thank you! I’ll take a look at this tomorrow (= now + 10 hours here in CET time zone).

Merged manually, see the discussion in #60. Thank you very much!


Kubernetes AppArmor and seccomp

Closes #2545
seccomp
https://kubernetes.io/docs/tutorials/security/seccomp/
https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/135-seccomp/README.md
AppArmor
https://kubernetes.io/docs/tutorials/security/apparmor/
https://github.com/kubernetes/enhancements/blob/fddcbb9cbf3df39ded03bad71228265ac6e5215f/keps/sig-node/24-apparmor/README.md
Went ahead and implemented API from KEP-24 above.

@qwerty287 , could you build preview image?
@dominic-p, could you test then?

Wow, this is great! I was just thinking about the AppArmor issue this morning. I will test the PR images tonight and report back what I find.

I want to have  #3135 in first :sweat_smile: ... I think resolving conflict here is easyer

Ok, I gave this my best shot today. I can't seem to get my pipeline to run using the images for the pull request. I'm referencing the following:

server: pull_3123@sha256:8472964208958c0371294975476a3a7b2d931ea88cd0245fd4ed0a10c5830b32
agent: pull_3123@sha256:df71f3cb5e69ead011fbe0ab2309cbee8a7e471a21702cf5ed51040528fb895e

After I deployed those images to the cluster, I can still log in to Woodpecker, but I can no longer run pipelines. Nothing runs when I push a commit, and when I try to run one manually, I get "An unknown error occurred". I then refresh, click on the failed run and click the "Restart" button. That errors immediately. But, now I have an Errors tab which shows:

[generic] pipeline definition not found

If I check the JS console I see a lot of 503 errors for JS and CSS as referenced below. On the server side, I see one restart for the agent Pod and none for the server. There's nothing interesting the agent logs. The server logs show a couple of errors I haven't seen before (not many though). An example is shown below.
I which I knew what was going on. If I just use the default image for the current helm chart (2.1.1) I still run into some 503 errors in the console, but I'm at least able to run pipelines. Of course, they fail because this PR isn't in place.
One other issue I'm seeing that's blocking me is the HOME environment variable. It looks like I need to configure that for my container to run properly, but my setting in steps.build.environment[0] is not being respected. The variable is still set to /root. Here's my full .woodpecker.yaml file for reference.
# Required to get pipelines to run at all on our cluster
# See: https://github.com/woodpecker-ci/woodpecker/issues/2510
workspace:
  base: "/woodpecker"
  path: "/"

steps:

  # We'll remove this eventually, but for now it's nice just to make sure that the most basic
  # pipeline step works
  test:
    image: public.ecr.aws/docker/library/alpine
    commands:
      - echo Hello from test

  # The real work is done here. Build and push the container image
  build:
    image: quay.io/buildah/stable:v1.33
    environment:
      # I'm not sure why, but for some reason HOME is being set to /root which breaks things
      - HOME=/home/build
    commands:
      - /bin/sh ./build.sh
    backend_options:
      kubernetes:
        securityContext:
          runAsNonRoot: true
          runAsUser: 1000
          runAsGroup: 1000
          fsGroup: 1000
          apparmorProfile:
            type: Localhost
            localhostProfile: buildah

Questions on the above config:

Am I configuring the HOME env variable correctly?
Am I configuring the AppArmor profile correctly? I wasn't sure from reading the source changes for this PR.

Server Error Log
2024/01/09 09:06:02 [Recovery] 2024/01/09 - 09:06:02 panic recovered:
runtime error: invalid memory address or nil pointer dereference
/usr/local/go/src/runtime/panic.go:261 (0x458ab7)
/usr/local/go/src/runtime/signal_unix.go:861 (0x458a85)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/pipeline/frontend/yaml/compiler/convert.go:252 (0xe47a76)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/pipeline/frontend/yaml/compiler/convert.go:131 (0xe46afa)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/pipeline/frontend/yaml/compiler/compiler.go:255 (0xe44b3c)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/pipeline/stepbuilder/stepBuilder.go:297 (0xe794fe)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/pipeline/stepbuilder/stepBuilder.go:168 (0xe77c12)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/pipeline/stepbuilder/stepBuilder.go:90 (0xe77407)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/pipeline/items.go:86 (0xe93f89)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/pipeline/create.go:81 (0xe920c5)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/api/pipeline.go:66 (0xeb5bf5)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:174 (0xeaaa01)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/session/repo.go:191 (0xeaa87c)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:174 (0xeaa7e1)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/session/repo.go:166 (0xeaa65c)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:174 (0xbf7d8a)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/session/repo.go:157 (0xf24684)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:174 (0xbf7d8a)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/session/repo.go:71 (0xf2407d)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:174 (0xf1cfc5)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/token/token.go:32 (0xf1cfb3)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:174 (0xbf7d8a)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/session/user.go:69 (0xf25e19)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:174 (0xbf7d8a)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/store.go:29 (0x1247f53)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:174 (0xbf7d8a)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/logger.go:37 (0x1248005)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:174 (0xf1cdd7)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/header/header.go:38 (0xf1cd04)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:174 (0xf1cc62)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/header/header.go:30 (0xf1cc50)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:174 (0xf22f47)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/router.go:44 (0xf22f35)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:174 (0xc044b9)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/recovery.go:102 (0xc044a7)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:174 (0xc0339a)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/gin.go:620 (0xc0302d)
/woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/gin.go:576 (0xc02b5c)
/usr/local/go/src/net/http/server.go:2938 (0x8029ad)
/usr/local/go/src/net/http/server.go:2009 (0x7fe573)
/usr/local/go/src/runtime/asm_amd64.s:1650 (0x478e60)

JS Console Errors
By the way, if I visit any of these asset URLs directly, they are served without issue. The problem only seems to arise when they are requested as sub-resources.

What is the correct YAML syntax for configuring an AppArmor profile using this PR?

          apparmorProfile:
            type: Localhost
            localhostProfile: buildah

Your config is correct.

Can the YAML parser be made to give more helpful feedback?

I'm afraid, I can't answer this :(

HOME environment variable

It sets here. Seems, you cannot override it. Perhaps, this PR addresses it.

nil pointer dereference

Thank you for testing. I'll fix this in next couple of days.

@zc-devs should i resolve the conflict od do you?

I'll do it.

Pipeline
skip_clone: true
steps:
  server:
    image: alpine
    commands:
      - echo Hello
    backend_options:
      kubernetes:
        securityContext:
          apparmorProfile:
            type: Localhost
            localhostProfile: buildah

Pod
apiVersion: v1
kind: Pod
metadata:
  labels:
    step: server
  annotations:
    container.apparmor.security.beta.kubernetes.io/wp-01hkyt5x61rkxcnrrk6spwp372: localhost/buildah
spec:
  containers:
    - name: wp-01hkyt5x61rkxcnrrk6spwp372
      image: alpine

I was able to test the latest build of this PR, and everything seems to be working as expected! Thanks.
I haven't tested the seccomp part of this, but the AppArmor annotation is getting added correctly for me.
Of course, I'm now running into a new new issue with /dev/fuse, but I may be able to work around that in a different way. If not, I'll open an issue about adding the needed annotation for that (sigh).


Default to no mmap

Currently the main issue we encounter when porting DevilutionX to a new platform is that StormLib assumes mmap availability by default.
Perhaps it'd be better if mmap defaulted to off, and was only enabled on the condition of:
#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
#include <sys/mman.h>
#define STORMLIB_HAS_MMAP
#endif

When adding new platform, add the whole new #include section to the existing ones in StormPort.h. If there is no map support, just don't put #define STORMLIB_HAS_MMAP there.

With my suggestion (and perhaps another tweak or two) we shouldn't even need to define these platforms.
This is the assumption that I want to weaken:
https://github.com/ladislav-zezula/StormLib/blob/95fabe8c0936e013d8764858d6eaf17b6a774e12/src/StormPort.h#L252


BUG: Two entity types, one biom_id: only last type is kept

In which piece of software is this bug present?
ingest-api
Bug description/actual behaviour
When importing a spreadsheet in HCA's ingest, if I have two different type biomaterials with the same _id, ingest will create only one entity.
For example if I have a spreadsheet with specimen_from_organism.biomaterial_core.biomaterial_id and cell_suspension.biomaterial_core.biomaterial_id as sample_ID, ingest will create only one entity type i.e. cell suspension.
To Reproduce
Upload a spreadsheet with two different biomaterial entities, with identical biomaterial_id and observe the number of biomaterials entities.
Expected behavior
Ingest understands that the two biomaterials are different types and generates two different entities with the same *id.
Wrangler Note
Although we encourage contributors to use unique IDs across project, Tier 1 metadata encourage users to use "subject_id" as "sample_id" if only one sample is collected from donor.

This is the fundamental unit of sampling the tissue (the specimen taken from the subject), which can be the same as the 'subject_ID', but is often different if multiple samples are taken from the same subject.

Example submission: TestSameBiomaterialID - submission
minimum_test_sameID.xlsx

Close as moving ticket to more relevant repo ebi-ait/dcp-ingest-central#1047


AppVeyor error

Hi!
AppVeyor fails (1.1.1) with following:
><EMAIL_ADDRESS>postinstall C:\projects\chatinder
> is-ci 'ci:skip' 'install:types'
npm ERR! missing script: 'ci:skip'

OS X build works

Removing quotes from the command (is-ci ci:skip install:types) has fixed it, but I believe the README should be updated

Ha, silly Windows. Thank you for reporting! I've updated the README to no longer use any quotes. FWIW, if somebody really needs a quoted script name, using \"escaped double quotes\" should work.


Added 'Command' parameter to 'gosec' cannot get expected output

My original .gometalinter.json
{
    "DisableAll": true,
    "Enable": [
        "deadcode",
        "dupl",
        "gosec",
        "goconst",
        "gofmt",
        "goimports",
        "golint",
        "gosimple",
        "gotype",
        "interfacer",
        "ineffassign",
        "misspell",
        "megacheck",
        "nakedret",
        "structcheck",
        "staticcheck",
        "testify",
        "unconvert",
        "unparam",
        "varcheck",
        "vet",
        "vetshadow"
    ],
    "Exclude": [
        "pkg/grpcconnpool/test.pb.go",
        "tests/internal/grpcrp/test.pb.go"
    ]
}

when i run i can see some expected output like below:
pkg/util/strings.go:4::warning: Blacklisted import crypto/md5: weak cryptographic primitive,MEDIUM,HIGH (gosec)
pkg/util/strings.go:11::warning: Use of weak cryptographic primitive,MEDIUM,HIGH (gosec)
daemon/httpserving/gzip_handler.go:15::warning: Errors unhandled.,LOW,HIGH (gosec)
daemon/httpserving/gzip_handler.go:63::warning: Errors unhandled.,LOW,HIGH (gosec)
daemon/httpserving/tf/api/v2/predict.go:163::warning: Errors unhandled.,LOW,HIGH (gosec)

I tried to exclude the rule G501(G501: Import blacklist: crypto/md5) for gosec, so i changed my .gometalinter.json to:
{
    "DisableAll": true,
    "Enable": [
        "deadcode",
        "dupl",
        "gosec",
        "goconst",
        "gofmt",
        "goimports",
        "golint",
        "gosimple",
        "gotype",
        "interfacer",
        "ineffassign",
        "misspell",
        "megacheck",
        "nakedret",
        "structcheck",
        "staticcheck",
        "testify",
        "unconvert",
        "unparam",
        "varcheck",
        "vet",
        "vetshadow"
    ],
    "Exclude": [
        "pkg/grpcconnpool/test.pb.go",
        "tests/internal/grpcrp/test.pb.go"
    ],
    "Linters": {
        "gosec": {
            "Command": "gosec -exclude=G501"
        }
    }
}

which when i run, all the output are gone, not only the checks for G501, also those checks for G104(Errors unhandled) are gone, which is incorrect behaviours.
but when i run gometalinter --debug, i can see below output related to gosec, which looks ok ....
DEBUG: [Sep  6 09:15:05.300] [gosec.12]: executing /Users/leonard/go_projects/bin/gosec -exclude=G501 ./... .
DEBUG: [Sep  6 09:15:34.117] [gosec.12]: warning: /Users/leonard/go_projects/bin/gosec returned exit status 1: [gosec] 2018/09/06 17:15:05 including rules: default
[gosec] 2018/09/06 17:15:05 excluding rules: G501
[gosec] 2018/09/06 17:15:08 Searching directory: /Users/leonard/go_projects/src/x/y/z
[gosec] 2018/09/06 17:15:08 Searching directory: /Users/leonard/go_projects/src/x/y/z/1
Results:

[/Users/leonard/go_projects/src/x/y/z/pkg/util/strings.go:11] - G401: Use of weak cryptographic primitive (Confidence: HIGH, Severity: MEDIUM)
  > md5.Sum([]byte(s))

[/Users/leonard/go_projects/src/x/y/z/daemon/httpserving/gzip_handler.go:15] - G104: Errors unhandled. (Confidence: HIGH, Severity: LOW)
  > w, _ := gzip.NewWriterLevel(nil, gzip.BestSpeed)

[/Users/leonard/go_projects/src/x/y/z/pkg/gokitlog/logger.go:69] - G104: Errors unhandled. (Confidence: HIGH, Severity: LOW)
  > level.Debug(logger).Log(kvs...)

Summary:
   Files: 36
   Lines: 29946
   Nosec: 0
  Issues: 15

DEBUG: [Sep  6 09:15:34.616] [gosec.12]: gosec hits 0: ^(?P<path>.*?\.go),(?P<line>\d+),(?P<message>[^,]+,[^,]+,[^,]+)
DEBUG: [Sep  6 09:15:34.616] [gosec.12]: gosec linter took 29.316038526s
DEBUG: [Sep  6 09:15:39.755] total elapsed time 34.507926876s

What am missing? Or this is a bug? Pls help.

You're missing the -fmt=csv argument.

Sorry, add the -fmt=csv to the command line or the config file?
Also how come if i didn't add that exclude argument for gosec everything is
working properly without -fmt=csv?
On Thu, 6 Sep 2018 at 18:05, Alec Thomas<EMAIL_ADDRESS>wrote:

Closed #529 https://github.com/alecthomas/gometalinter/issues/529.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/alecthomas/gometalinter/issues/529#event-1829988367,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXcQEuKqAb94nrshiieYXhcNsO6jn1FSks5uYPNcgaJpZM4WcjFY
.

You add it to the config Command.
What that does is override this line: https://github.com/alecthomas/gometalinter/blob/2b0b5f3/linters.go#L235.
Omitting it changes the output format, which makes it impossible for gometalinter to parse the output.

Verified, solved, thank u very much.


Failed to write 'state settings'

Problem/Motivation

State settings not being written

Expected behavior

IDE reopens to last state

Actual behavior

Error message as per image attached

Steps to reproduce

Open IDE

I'm hoping this is the correct place to ask for some help.
IDE has been working great for me for several months but now it fails to write 'state settings', as per the screen shot.

Is there a way to recreate this file or folder if I've inadvertently removed it?

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Uninstalled and reinstall has resolved the issue.


Invalid path issue

I'm getting the below error even with the valid path for the file. I see this issue after updating to the latest version.
Machine - Windows 7 64-bit
cf version 6.15.0+fa1bfe2-2016-01-12

cf push redis-example -p C:\Users\sekhap\Desktop\pcf-spring-redis-example-0.0.1-SNAPSHOT.jar --no-start

RESPONSE: [2016-01-28T19:41:35+05:30]
HTTP/1.1 400 Bad Request
Content-Length: 117
Content-Type: application/json;charset=utf-8
Date: Thu, 28 Jan 2016 14:11:35 GMT
Server: nginx
X-Cf-Requestid: 6aaf5f04-451d-4cbb-5945-68d6329592dc
X-Content-Type-Options: nosniff
X-Vcap-Request-Id: 10eb8f59-8bc1-4c28-531c-767150dc1d93::3200de4c-a073-4706-9e96-00971b81c1f7

{
  "code": 10005,
  "description": "The query parameter is invalid: path",
  "error_code": "CF-BadQueryParameter"
}

FAILED
Server error, status code: 400, error code: 10005, message: The query parameter is invalid: path
FAILED
Server error, status code: 400, error code: 10005, message: The query parameter is invalid: path

Hi @pradp,
Can you let us know the API version returned by cf api?
Also, can you run cf curl /v2/info and let us know the value of the "api_version" field, if different from the one returned above?
Cheers,
Dies Koper
CF CLI PM

Hi @dkoper
I tried today the same command and it is working now. I'm working with private cloud set up and yesterday there was an upgrade to PCF 1.6 version. May be this could have fixed the issue but I'm curious on the API version. If you look at the below details still there is still a mismatch but it works. Can you explain a bit on this? Thank you.
λ cf api
API endpoint: https://api.xxx.xxx.xxx.com (API version: 2.23.0)

λ cf curl /v2/info
{
   "name": "vcap",
   "build": "2222",
   "support": "https://support.pivotal.io",
   "version": 2,
   "description": "Cloud Foundry sponsored by Pivotal",
   .....
   "min_cli_version": "6.7.0",
   "min_recommended_cli_version": "6.11.2",
   "api_version": "2.43.0",
   .....
}

Hi @pradp,
cf api returns a cached API version, from the last time you logged in. That can be confusing, as reported in #558. cf curl makes an actual HTTP request to get the current version.
API version 2.43.0 supports the route with path feature. When specifying the --route-path option, the CLI checks the (cached) API version and fails with a meaningful error message if its version doesn't support this feature.
I am concerned that what you saw is the CLI including the path field in a request to an older API endpoint even if you haven't specified the option. I have enough information to test that locally.
Cheers,
Dies Koper
CF CLI PM

Hi @pradp ,
I was unable to reproduce the issue here. Can you provide more of the trace? In particular, I'd like to see the request that was made that caused the Cloud Controller to return that error.
Cheers,
Dies Koper
CF CLI PM

Hi @dkoper ,
I too couldn't reproduce the issue myself. I should have taken the request trace before but I missed it. If this issue has occurred because of the older PCF 1.4.2 then I don't have that environment to check it now. Sorry. Is there any way I could help you in this?
Pradeep

Hi Pradeep,
Thanks for checking again.
As the problem is resolved for you, I think I'll close this issue. If someone runs into the issue again and can't upgrade CF, I'll ask for the trace and investigate further then.
Cheers,
Dies Koper
CF CLI PM

@dkoper here you go:
REQUEST: [2016-02-16T11:45:08+01:00]
GET /v2/routes?inline-relations-depth=1&q=host%3Aint-rpt%3Bdomain_guid%3A25aa6dd4-28d6-40b1-b48e-cd9cd06493cd%3Bpath%3A HTTP/1.1
Host: --------
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
Content-Type: application/json
User-Agent: go-cli 6.15.0+fa1bfe2 / darwin

RESPONSE: [2016-02-16T11:45:08+01:00]
HTTP/1.1 400 Bad Request
Content-Length: 104
Connection: keep-alive
Content-Type: application/json;charset=utf-8
Date: Tue, 16 Feb 2016 10:45:08 GMT
Keep-Alive: timeout=20
Server: nginx/1.1.19
X-Cf-Requestid: 79b4a687-dfcc-47e4-63e6-f19b27032178
X-Content-Type-Options: nosniff
X-Vcap-Request-Id: 62c5b9c1-e835-4d43-67d4-17f9559bfc6e::af5c2289-b01b-45d0-b039-f7b150df1b23

{"code":10005,"description":"The query parameter is invalid: path","error_code":"CF-BadQueryParameter"}

Curl:
cf curl /v2/info
{
   "build": "189",
   "version": 2,
   "api_version": "2.14.0",
  ....
}

Removed the hostnames etc. manually. No deployment possible atm.

This has been fixed in cf CLI v6.16.0.
https://github.com/cloudfoundry/cli#downloads
Regards,
Dies Koper
CF CLI PM


clientMutationId -> clientSubscriptionId

Dropped base62. Using .toString(36) instead. (base62 wasn't actually used here).

Is this ready to be merged?

More or less. My todos here (HAH!) are:

Update the example to determine the topic on the backend (using graphql-relay-subscription?)
Move the subscription logic to some RelaySubscriptionsEnvironment that extends RelayEnvironment

I can make those separate PRs or add them as commits to this PR.

Thanks! :+1:


use origin as base of worker location (#1175)

Small fix to use the page origin instead of the page href to construct the resource location of workers. This fixes #1175.

Thanks!


Dragging and dropping frames in browser version

Occasionally, after moving frames around in the frame bar, the cursor and frame bar seem to desynchronize. Continuing to drag and drop frames sometimes fixes this, but the problem will keep reoccurring.
I have included a short recording of the issue:
https://gyazo.com/51862ee36c46cab72a33a9d31977e96a
Steps to reproduce the bug

go to piskelapp.com
Add more than a full bar of frames
Quickly drag and drop frames on the frame bar

Environment details

operating system: Windows 10, version 1809 (OS Build 17763.678)
browser: Firefox

Sprite details

number of frames: 23
sprite resolution: 128x128
session duration: 5 min.

it doesnt work in the osx version too.


sprintfix: 修复Agent 安装流程终止卡死的问题

Codecov Report

Merging #564 (bc89695) into V2.2.5-rc (aa9c70f) will increase coverage by 0.26%.
The diff coverage is 42.85%.

@@              Coverage Diff              @@
##           V2.2.5-rc     #564      +/-   ##
=============================================
+ Coverage      70.20%   70.47%   +0.26%
=============================================
  Files            290      290
  Lines          20984    21242     +258
=============================================
+ Hits           14732    14970     +238
- Misses          6252     6272      +20

Impacted Files
Coverage Δ

...mponents/collections/agent_new/get_agent_status.py
93.15% <33.33%> (-2.57%)
:arrow_down:

...ackend/components/collections/agent_new/install.py
90.66% <33.33%> (+0.66%)
:arrow_up:

apps/backend/components/collections/base.py
93.44% <100.00%> (+0.58%)
:arrow_up:

...nents/collections/agent_new/reload_agent_config.py
91.66% <0.00%> (-2.09%)
:arrow_down:

apps/backend/agent/tools.py
92.52% <0.00%> (+0.31%)
:arrow_up:

...s/backend/components/collections/agent_new/base.py
91.14% <0.00%> (+1.86%)
: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 aa9c70f...bc89695. Read the comment docs.


Ability to configure type of brackets

I love this plugin! But I have a small request.
For now, the plugin generates something like (PROJECT-123), i.e. uses standard brackets.
But different teams have different standards. Some guys use square brackets [] and some use curly ones {}.
It will be great if it will be possible to configure it in preferences.
Thank you!

@gesundes Sounds like a reasonable feature. I will add this in upcoming release and make it configurable.

@gesundes Sounds like a reasonable feature. I will add this in upcoming release and make it configurable.