acs-engine CI integration with MDM

Collecting metrics on acs-engine test failures and sending it to Geneva/MDM pipeline.
Metrics includes

test scenario name
region
error class (deployment, validation, etc.)
error

Once logged in MDM, it is possible to aggregate errors and create monitoring alerts

This change is

To add some color to this PR:

We currently run full suite of regression tests twice: once as a full suite, and again individually but called out as individual feature regressions. This means we're duplicating tests at the cost of significant time and against CI subscription limits.
Dmitry and I talked about ways to run the same full regression suite only once, while still providing granularity and notification to the team on issues. That's what this PR enables: we can deployment data generated via CI to Geneva/MDM, which allows us to easily visualize problems as well as setup automatically notification, including to on-call peeps via ICM.
Additionally, we'll be able to delete a bunch of individual feature tests from the codebase and maintain them in a single spot (the full regression suite).

Very excited about this one. Thanks @dmitsh!


input in renderItemTitle can not work

I want my controlled tree to show the input box in a certain situation and input can be made, but I found that when using the input in renderItemTitle, it can't even focus, here is a simple example, is there any way to solve it？thank you
https://codesandbox.io/p/sandbox/react-complex-tree-playground-memo-demo-forked-9zpsmf

Have a look at the default implementation of renderItem: https://github.com/lukasbach/react-complex-tree/blob/main/packages/core/src/renderers/createDefaultRenderers.tsx#L89
If an item is being renamed, the item is rendered as a div. Otherwise, it is rendered as button by default. By manually inserting an input within the item container which renders as button, the button claims all input events, and this will also create invalid semantic structure. You can probably get it to work by adjusting the renderItem method to make the content of the title not being rendered as part of a button element as long as it contains an input.


Questions About AIC Recruit Intervals

I recently took a look into the AIC file and stumbled across the RecruitInterval parameters.
There are 3 of them that are somewhat explained by @Sh0wdown in the file itself that are

RecruitInterval (default)
RecruitIntervalWeak (when the AI is destroyed really hard)
RecruitIntervalStrong (when the AI is doing good and has reserves)

Yet there are some questions remaining especially concerning the exact values that I listed below.

Now the values are:

Rat
Snake
Pig
Wolf
Saladin
Caliph
Sultan
Richard

1
1
1
4
1
0
8
1

1
0
1
1
1
1
8
1

1
1
4
4
1
0
4
1

Frederick
Philipp
Wazir
Emir
Nizar
Sheriff
Marshal
Abbot

4
4
1
0
4
4
1
1

1
4
1
1
8
1
4
1

4
4
1
0
1
4
4
1

We know that Rat and Richard values were used for an option in the patch to increase recruitment to Rat/Richard level - which is stated to be the lowest level. It is obvious that low values are for fast recruitment. Emir and Caliph even have a value of 0 and as far as I noticed it they are recruiting extra fast as well. Is 0 the truly highest level of recruitment or is it tied to special conditions?

Sheriff has the fastest recruitment when he's on the ground. Does that make sense? I don't think he's slower in recruiting when he's doing fine or even very good. But it's always hard to really notice fast or slow recruitment as long as gold (and weapons) is the harder limiting factor. It's also not quite clear if the recruitment done while being "weak" is done under the value of weak or if the gold for recruiting is already enough to be treated as default. Same goes for Pig and Frederick.

Marshall has a faster recruitment on default than when he's doing very good. I noticed him to quickly recruit knights once he's ahead and has reserves. Are Knights maybe not involved in this? Is this value maybe only about direct attack forces?

There are only the values of 0 | 1 | 4 | 8 so I'm not sure if other values in between are valid.

The values of 0 and 1 are the same, meaning one recruitment per AI routine
Any value should be valid as it always "recruitment every x AI routines", so a value of 2 would be every 2nd routine.
from my knowledge the values concern all recruitment except when the AI is scared (then it's always the lowest value)

In the wiki you get some concrete information when the different states set in. (These are not all conditions!)
The 'weak' state sets in if the AI is completely trashed. F.e. troops < 8, gold < 200, population < 15, ...
The 'strong' state sets in if f.e. the AI has troops >= 40, gold >= 200, population >= 40, ...
As you can see the weak state almost never sets in usually.

Can the criteria for what is defualt/weak/strong states be changed or modified?
A good idea for intervals is to have strong state be something related to eco flourish ( maybe gold >= 5000 and atleast x troops)and have it be set to 1, so that the AI can build large armies faster only under rich state. Default state can have a higher interval as this is the phase in which the AI develops their eco and shouldnt be burning gold too fast.
Weak state can stay the same, maybe a few adjustments here and there etc..

Can the criteria for what is defualt/weak/strong states be changed or modified?

Good question, I'd strongly hope for a "yes, eventually"^^

original questions has been resolved, but we still need the option to change power state per AI's and define them specifically. The more possibilities to control the behaviour, the better!


Port the assumptions strategy to<EMAIL_ADDRESS>

Description
Porting the last changes in version 2.6.x
Type of change

[x]  Patch: Bug (non-breaking change which fixes an issue)
[ ]  Minor: New feature (non-breaking change which adds functionality)
[ ]  Major: Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[x] I have added a changelog entry, prefixed by the type of change noted above (Documentation fix and Test update does not need a changelog as we do not publish a new version for these changes)

Not sure what's going on here but this targeting merging into the main branch doesn't seem right.
How come you need to backport this change instead of updating your @shopify/babel-preset version up to v24?

Oh I see what you've done - this branch is directly based upon v23.6.1. That's all good, but it means signifying "this code looks good" by doing a PR merge into the main branch is no longer the process.
This code looks good to me, and i see you've created a shipit stack from this branch and released a beta already. But you've done some funky force push things to remove those beta publish commits from this branch, which wasn't obvious, and it would have been fine to leave them.
Next steps - let's pair through these just so we we can talk it though and ensure we're both on the same page as it's kinda non-standard:

Add a changelog entry and version bump to v23.7.0
Publish v23.7.0 from this branch in shipit
We close this pr without merging

A new release has been made for this PR 🎉


Export tokens modal does not match what is actually exported out

This should be fixed in both the CLI export modal and the web export modal.

hover is not even an option, yet is still shown
if the name has spaces, the spaces are shown in the export modal when they should not be.

I'll fix this

I went ahead and fixed this already @kunalznk, but thanks for offering!


Controller endpoints all return 404 status code after upgrading to latest version of Microsoft.AspNetCore.Mvc.Versioning

Hello,
We have a bunch of microservice .net core 2.2 projects running API controllers. After upgrading one particular project to the latest version of  Microsoft.AspNetCore.Mvc.Versioning Version="3.1.1", all of the controller endpoints in this project are returning 404s. I can confirm that the endpoints work as expected if I revert the version of the package to 2.3.0, which is what we were using previously.
We have a simple HealthCheck controller with one GET endpoint that I have been testing various fixes with. The endpoint looks like:
[Route("api/v{version:apiVersion}/[controller]"), ApiVersion("1.0")]     [ApiController]     public class HealthCheckController : Controller     {         [HttpGet]         public IActionResult CheckHealthAsync()         {             return Ok();         }     }
When I try and call this endpoint like:
http://localhost/api/v1.0/healthcheck,
I get a 404, but with the older version of the package it returns 200 OK as expected.
Is there something I am missing when I did this package update?
Thank you.

Hi @alec-lieberman-ef can you post in the comments which part have you removed

Hi @alec-lieberman-ef can you post in the comments which part have you removed


Error while drag and drop a card in different lane

Describe the bug
Getting 'index.js:82 Uncaught TypeError: Cannot read property 'laneId' of undefined' error while card drag and drop functionality.
To Reproduce
Steps to reproduce the behavior:

updating my redux state when onCardMoveAcrossLanes() fires data

Desktop (please complete the following information):

OS: MacOS Mojave
Browser: chrome

Additional context
I have my redux state which updates on card actions. Add card to lane, add lane, reorder lanes and rest functionality are working.

I have the same issue, but in my case I use "getderivedstate" to map my business objects to "board ones". And when I move a card to a different lane I get this error, and the dnd feature stops working.
Let us know if you've found a solution please.

ok, more information about this issue here: When I move tasks within the same lane everything works just fine, but when I move them to a different lane I get the error above.

@orlandovallejos Same thing, man. I am trying to find a solution.

onCardMoveAcrossLanes is not even called, but handleDragEnd works fine.

Same thing here, someone already found the solution?

Same here. Anyone found at least a workaround already?

ok, this is what I did (not the best solution, but it works for me)
I use the handleDragEnd method, and call my api to update my record on the database. But, I always return false! This will prevent the card to make the move, but I count on my state to be updated once the api returns a successful request. So, I get my state updated and the card is moved to the right position.
I told you it's not the best solution. But it works.
Here's some code:
<Board
   ...my other props here
   handleDragEnd={this.handleDragEnd}
/>
</Board>

And in my method:
handleDragEnd = (moveParamsFromThisComponent) => {
   // Call my action, it will make the api call, and eventually update my state in redux:

   // This will prevent to drop the task:
   return false;
};

I am getting the same error, not using any callbacks right now just populating the cards from my API response. Also noticed that this does not happen with the cards created using the add new card button on the board
Looks similar to #66

I'm having this issue too.
There is no workaround for this?


Macro ticket: create a new scaler for SWIFT.

Before starting refer to CREATE-NEW-SCALER.md to learn how to create a new scaler in Keda.
On Openstack SWIFT is similar to AWS S3.

Scaler Source: https://www.openstack.org/software/releases/victoria/components/swift
How do you want to scale: scale out or scale in based on new files. Please check https://keda.sh/docs/2.0/scalers/azure-storage-blob/ for a similar behavior.
Authentication: investigate how authentication is done for SWIFT. If required this also need to be implemented.

Expected Results:

Clarify the steps needed to create a new scaler for SWIFT
Know how to automate tests
Document the feature
Create more tickets to support this development with the help of more project members

Steps to build a KEDA scaler:

Download KEDA files.
Define which parameters the Trigger should get from the user.
Implement the Scaler interface:

NewScalerName(): the constructor;
GetMetrics(): the scaler returns the metric values for a metric name and criteria matching the selector. It returns the value for a supported metric and an error if there is a problem getting the metric. It connects to OpenStack Swift and finds the number of elements inside a container;
GetMetricSpecForScaling(): returns the metric spec for the HPA;
IsActive(): if we have to scale from zero. It checks if there is an element in the Swift container, for example;
Close(): close any resources that need disposing when scaler is no longer used or destroyed;
parseScalerMetadata();

Add entry in switch-case scale_handler.go.
Test it (make build/publish/deploy).

For OpenStack authentication we use Keystone. With Keystone, one can get an access token to be used for authentication/authorization. Currently, we are investigating two auth methods for querying the Swift API:

Username/Password (it works if we provide admin user credentials. Need to investigate with different users)
Application Credentials (need to investigate the correct roles and access rules to be set or if maybe it is a Swift configuration problem)

A trigger specification for Swift could look like:
triggers:
- type: openstack-swift
  metadata:
		swiftURL: http://<openstack_host>:<swift_port>/v1/AUTH_<project_ID>
    containerName: my-container # Required: Name of OpenStack Swift container
    objectCount: '5' # Optional. Amount of objects to scale out on. Default: 5 objects
		authenticationRef:
        name: openstack-swift-auth

Could we cosider using openstack client sdk for Go ([https://wiki.openstack.org/wiki/OpenStack-SDK-Go]) investigation to provide the Application Credentials authentication?

There is another option at https://github.com/gophercloud/gophercloud which is more frequently maintained.
If you guys agree we could write a small PoC for each and decide which one to choose.


cmd/cgo: compiler error for C unsigned short is wrong.

When trying to assign a variable of the wrong type to a C.ushort. The compiler will emit the error cannot use <var> (type <var type>) as type C.unsignedshort in assignment. However C.unsignedshort isn't even a real type. It should say C.ushort
short test program:
package main
import "C"

func main() {
	var x C.ushort
	y := 5
	x = y // ./bug.go:8: cannot use y (type int) as type C.unsignedshort in assignment
	//var z C.unsignedshort // could not determine kind of name for C.unsignedshor
}

@hydroflame Are you still able to reproduce this?  If so, can you provide additional details about your build environment (at least Go version and OS).
I can't reproduce this issue at master (e36bf614c) on linux/amd64 (Ubuntu 14.04):
$ go build bug.go
# command-line-arguments
./bug.go:8: cannot use y (type int) as type C.ushort in assignment

$ cat bug.go
package main

import "C"

func main() {
    var x C.ushort
    y := 5
    x = y // ./bug.go:8: cannot use y (type int) as type C.unsignedshort in assignment
    //var z C.unsignedshort // could not determine kind of name for C.unsignedshor
}

Ah, nevermind, I can repro with Clang:
$ CC=clang-3.5 go build bug.go
# command-line-arguments
./bug.go:8: cannot use y (type int) as type C.unsignedshort in assignment

Comparing the names in cmd/cgo/gcc.go:dwarfToName and https://github.com/llvm-mirror/clang/blob/master/lib/Basic/TargetInfo.cpp#L107, it looks like the only differences are that Clang uses "short" and "unsigned short" instead of "short int" and "short unsigned int", respectively.
"short" doesn't need to be mapped, so that just leaves "unsigned short".

10:tornago hydroflame$ go version
go version go1.5 darwin/amd64

OSX 10.11.1


create oldcontent directory and move reviewed items there

Reviewed old folders and pages. Created oldcontent directory and moved the following items there:

apispec/
faqs
json-examples-and-schemas
ods-ontology/
templates (this was for creating git issues)
serialization.md

updated README to introduce openDS as a specification and remove old content. simplified readme.

renamed oldcontent to archive. we can delete this folder later, as it will be easier to delete rather that the single files.


IITC broken (desktop version)

A few days IITC doesn't work.

For me it works. Could you provide further information?

Sorry for my lazy report without proper diagnostics.
IITC works fine, the problem was in other script (additional JS fix from adblock plus).


All of sudden gulp command not recognizing

I made windows update on this Sunday. From that point, I am not able to execute gulp commands. I am not sure if there is any relation between windows update and gulp command. I am getting below error.

I have installed gulp again by npm install gulp -g. I have restarted my machine and tried. But still same issue.

Need more context... where are you running this, what version do you have installed (npm list -g --depth=0), are you running this within a SPFx project where you've installed all dependencies?
If so, try deleting the node_modules folder in the project and re-installing all dependencies (npm install)

I have tried to delete the node_modules folder and added back with npm install command. But no use.
Below is the list with npm list -g --depth=0

This is an old issue... can you please ensure you have installed the latest version of SPFx and try again.


Is there a way to get the progress of downloads in a queue?

Hello,
First of all, thanks for such a great framework, it's made downloading files from a server so easy!
I've been looking at your examples for getting the progress of a download and of adding multiple downloads to a queue, however I can't seem to find a way to add an HTTPTask.download() to an NSOperationQueue.
Basically I'm trying to update a load of UIProgressViews to show the progress of my various file downloads and when they're all done I need to be able to detect this to move the app on to the next stage.
I'm new to Swift so I'm probably missing something simple, but is there a way I can either tell when all my HTTPTask.downloads are finished or get the progress of downloads when using HTTPTask.create?
Many thanks again!
Si

The download method works a tad different the the normal create methods, as it uses the background APIs. I left a comment in the code on the being queuable part:
https://github.com/daltoniam/SwiftHTTP/blob/master/HTTPTask.swift#L339
I didn't expect the use case you are bringing up. Since the NSOperationQueue isn't an option with the download() method, I would recommend doing something like so:
let totalDownloads = 5
var downloadCount = 0
let finished = { () -> Void in
    downloadCount++
    if downloadCount == totalDownloads {
        println("all downloads completed!")
        //move to your next section
    }
}

var request = HTTPTask()
let downloadTask = request.download("http://domain.com/download1", parameters: nil, progress: {(complete: Double) in
    //update the progress view
    }, completionHandler: {(response: HTTPResponse) in
    //A download completed!
    finished()
})

//do download 2
let downloadTask2 = request.download("http://domain.com/download2", parameters: nil, progress: {(complete: Double) in
    //update the progress view
    }, completionHandler: {(response: HTTPResponse) in
    //A download completed!
    finished()
})
//repeat for all the downloads

You could of course clean this up with a loop and a function to not repeat so much, but the should give you the general idea. You have a closure that gets notified when all the downloads complete and you can move to your next section.

Thanks so much for the code, that's worked perfectly! I should have thought of something like this but I was so focused on queues I didn't step back to think about alternatives.
Thanks again!
Si

:+1:


[Bugfix] Support tree-like subgraph matching

Description
For the following tree-like subgraph with multiple inputs, if we use the pattern to match the +, -, and * operators, only + and * will be returned. This is because the current implementation of subgraph matching starts from the first instruction of the original subgraph and target subgraph, and test if users of the instruction are the same. The process is iterative and basically is a DFS. However, this process may ignore instruction b since b is not the user of a.
class Model(nn.Module):
    def forward(self, x, y, z):
        a = x + y
        b = y - z
        c = a * b
        return c

def pattern(x, y, z):
    return (x + y) * (y - z)

To solve this problem, we can simply traverse the graph node from top to bottom following the order of the link list (i.e., visiting the successors in a topological order), and compare the nodes in the original and target subgraph, so that all the +, -, and * operators will be matched. Notice this fix still cannot support commutativity between operands, so pattern (y - z) * (x + y) cannot match any subgraphs. This feature may need more engineering efforts in the future.
Also, this PR adds concrete_args to .replace_module() for the case that the user-defined module has different numbers of arguments with the arguments in the original subgraph.
Checklist

[x] PR's title starts with a category (e.g. [Bugfix], [Model], [Tutorial], etc)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage
[x] Code is well-documented

Thanks @comaniac


int32 type returned by bitwise operators

Search Terms
bitwise operators, integer type, int32
Suggestion
Add an int32 subtype for number returned by TypeScript from bitwise operators.
function coerce(n: number): int32 {
  return n | 0;
}

JavaScript bitwise operators coerce arguments to int32 and the return type of those operators will always be an int32.
This would not be a breaking change since int32 would be a subtype of number. Only bitwise operations would change to return int32s.
EDIT: I now recommend calling the type BitwiseInt32 so that user’s won’t see the type as a generic integer type.
Use Cases
Helps applications which are trying to take advantage of JavaScript implementations int32 optimizations. An application could ask for an int32 parameter to force coercion with n | 0.
Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

Duplicate of #195.

This is a much more limited proposal. I only care about bitwise operators. I want to use the type system to force developers to coerce to an int32 with n | 0 in performance critical code.
I wouldn’t advise most developers use this feature.
To that end, I’d instead recommend naming the type BitwiseInt32 to discourage usage of this type as a general integer type like #195 wants.

In JavaScript, you can safely represent integers up to 253-1. However, for bitwise operators you only have a range of integers -216 through 216-1. If there were to be an int type you might want it to cover the full JavaScript safe integer range. However, for bitwise operations specifically you want a tighter range.

I guess the problem here is that people would generally expect *, -, and + to follow int32 + int32 = int32, even though that is definitely not something that could be guaranteed.
It seems like you really just want a brand here?

It’s actually desirable that the type for BitwiseInt32 + BitwiseInt32 = number because that forces the user to then coerce with | 0. So if you want to write a type safe addition you’d need:
function addInt32(x: BitwiseInt32, y: BitwiseInt32): BitwiseInt32 {
  return x + y | 0;
}

That’s why I recommend calling the type BitwiseInt32 instead of int32. You don’t want the user to expect int32 + int32 = int32. If you make the name more ugly, then hopefully user’s won’t attach their assumptions to what the type should do.

What about a uint32 type for >>> 0?

Would #33290 help in defining/implementing this?  I'd like to see a handful of these types defined.  At the very least, int, uint32, and int32.  Unlike #195, I would argue that these should definitely not affect the emit (a non-starter).  This would enable a number of things:

I would expect int + int = int but not int32 + int32 = int32.  The latter should fall back on the former.
Better safety and IDE type hints for the results of | 0 or >>> 0 and others.
With int (and maybe other similar types for other functions), Number.isInteger could be made into a type guard, and then the false branch of if (Number.isInteger(stringOrNumber)) would correctly still include number (see #21199).

I would like #195. I want to use int32 for performance reasons: I have one use case where numbers up to 2**31-1 is enough (array indexes, I know these can go up to Number.MAX_SAFE_INTEGER but I do not care about handling numbers that large), and where coercing parameters and the output of  every arithmetic operation by adding | 0  (for instance, ++i ~ (i = i+1|0)) yields significant time saving and produces compiled code almost twice smaller even though more subroutine calls are inlined (10KB instead of 17KB, I used Indicium to witness that).
I think what I have experienced can be extrapolated. I have the feeling that this addition would make basic algorithms in JavaScript much less resource consuming (if you agree to limit yourself to inputs of reasonable size). This claim would need to be evaluated.
I agree this example use case is a niche. I do not want int32 to be the new number. Even more so if it means errors due to implicit integer division or integer overflow.
Indeed a workaround is to have a branded int32 type and a coercion function. But I have sufficiently many arithmetic operations in my code that I fancy leaving the responsibility to TypeScript would not be a luxury. I am probably wrong. Maybe all we need is a tiny library which includes said type and coercion function.
Nervetheless, if this responsibility would be shifted to TypeScript, I can see two problems in code emission:

It's not just about dropping types anymore, you need to emit transformed code (maybe this then falls out of scope of TypeScript).
What do you do with inferred types? Do you require explicit types for the transform to kick in?

I'd like to point out the fact that JS "canonically" has these types: Int32Array and Uint32Array. Sometimes I must use these arrays as "wrappers" for those primitive types, because they offer "implicit coercion on overflow". But having to do arithmetic on a constant index of 0 is too awkward:
// BEGIN BOILERPLATE
interface FixedInt32Array<T extends number> extends Int32Array {
	length: T;
}
interface Int32ArrayConstructor {
	new<T extends number>(length: T): FixedInt32Array<T>;
}

interface FixedUint32Array<T extends number> extends Uint32Array {
	length: T;
}
interface Uint32ArrayConstructor {
	new<T extends number>(length: T): FixedUint32Array<T>;
}

type Int32 = FixedInt32Array<1>;
type Uint32 = FixedUint32Array<1>;
// END BOILERPLATE

const
    // initialize to 0
    n: Uint32 = new Uint32Array(1),
    // can't do `Uint32Array([3])` because of type signature
    m: Uint32 = new Uint32Array(1);
// values still mutable, despite `const`
m[0] = 3

const addU32 = (a: Uint32, b: Uint32): Uint32 => {
    // can't reuse `a`, because of side-effects
    const ret: Uint32 = new Uint32Array(1);
    // `a[0] + b[0]` can overflow, so we use `ret` for safety
    ret[0] = a[0] + b[0];
    return ret;
}

// annoying `[0]`, everywhere
console.log(addU32(n, m)[0]);

Playground


is there any way to tell if removeAdditional removed anything?

What version of Ajv are you using?
v6.0.0-rc.1
Ajv options object
const ajv = new Ajv({removeAdditional: 'all'})

You can compare the copy of data before validation with the data after validation.

gotcha.
would you consider setting a boolean internally and making it available via something like validator.removed to avoid the overhead of cloning/comparing the data?

Possibly, need to think about it.
If it is added, it should be more generic and be set in case data updated in any way (there are 3 options that cause data change).

+1 on this, would be nice to have an easy way to do this with the overhead of doing it outside of ajv.

It may be done as part of annotation collection that is needed for 2019-09 anyway.

replaced by #1313


Rotate output

Hi guys.
I really love your work.
A very quick question. How can I rotate my external monitor 90 degrees?
Thank you. Have a great time.

https://github.com/hyprwm/Hyprland/wiki/Advanced-config#monitors


props验证出现错误，

Version
2.5.14
Reproduction link
https://github.com/vuejs/vue/issues/new
Steps to reproduce
子组件： props:{
dataInput: {
type:Array,
required: true
}
},

 父组件：  <three-input :dataInput='datas'></three-input>

报vue.esm.js?efeb:591 [Vue warn]: Invalid prop: type check failed for prop "value". Expected String, Number, got Array.
What is expected?
格式传递不正确
What is actually happening?
格式传输错误

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server, gitter or StackOverflow.


Requesting configuration option to turn on M2M field population in nested serialization scenarios.

As ...
P.D. - Plugin Developer
I want ...
To use M2M fields in my plugin model classes, and have an option for them to correctly populate M2M fields in nested serialization scenarios.
So that ...
The choice of whether or not to populate M2M fields in these cases is something I can make as a plugin developer, accepting/acknowledging the performance issues that may occur if the associated data sets are large.
I know this is done when...

I create a Nautobot plugin.
I create a plugin model class (e.g. "MyParent") and associated serializer that has a M2M field.
I create a second plugin model class (e.g. "MyChild) and associated serializer with a foreign key back to the first class.
I create instances of MyParent and MyChild, with the M2M field in the MyParent instance appropriately populated and the FK field in the MyChild instance pointing back to MyParent.
I retrieve the REST API endpoint for the MyChild instance, with "depth=1", and see the associated MyChild serialization, with the nested MyParent serialization, without the M2M field.
I turn on the configuration option that effectively states "turn on nested serializations of M2M fields", possibly "for these model classes".
I retrieve the REST API endpoint for the MyChild instance, with "depth=1", and see the associated MyChild serialization, with the nested MyParent serialization, now including the populated M2M field with references to the object instances at the other end of the M2M relationship.
(possibly) I retrieve the REST API endpoint for the MyChild instance, with "depth=2", and see the same results as for "depth=1", but with full serializations of the object instances at the other end of the M2M relationship.

Optional - Feature groups this request pertains to.

[ ] Automation
[ ] Circuits
[ ] DCIM
[ ] IPAM
[ ] Misc (including Data Sources)
[ ] Organization
[X] Plugins (and other Extensibility)
[ ] Security (Secrets, etc)
[ ] Image Management
[ ] UI/UX
[ ] Documentation
[ ] Other (not directly a platform feature)

Database Changes
(unsure)
External Dependencies
(unsure)

Note: This feature request stems from an original (incorrect) bug report here: https://github.com/nautobot/nautobot/issues/4063

Thanks for opening this as a FR @mgsimpson-i2!
Would it be sufficient to have a "?depth_all_fields=true" esque query parameter to return all of the nested fields? Anything further specific seems like a use case better served by GraphQL.


Publishing to Go Doesn't Respect the Projen Env Var for GITHUB_REPO

Using a projen configuration like this:
publishToGo: {
    moduleName: 'example.com/modulename',
    packageName: 'modulename',
    githubRepo: 'github.com/my-org/modulename',
  },

It sets the release workflow like this:
- name: Release
        env:
          GITHUB_REPO: github.com/my-org/modulename
          GIT_USER_NAME: github-actions
          GIT_USER_EMAIL<EMAIL_ADDRESS>          GITHUB_TOKEN: ${{ secrets.GO_GITHUB_TOKEN }}
        run: npx -p publib@latest publib-golang

But I can't see where in this library the GITHUB_REPO environment variable is ever used. It looks like in go.ts, https://github.com/cdklabs/publib/blob/971a5059497a04223b7e33816d143d0b7c1975d6/src/targets/go.ts#L228 that the library only ever parses the module name and checks that against matching github.com, meaning you can't use a custom domain name for the module name and specify the github repo as something different.

I believe this is a projen problem, addressing there.


Android 混淆weex 怎么配置？

Android 混淆weex 怎么配置？

Weex
-keep class com.taobao.weex.** {;}
-keep public class * extends com.taobao.weex.common.WXModule{;}
-keep public class * extends com.taobao.weex.ui.component.WXComponent{*;}

This PR/issue doesn't received response since Weex migrated to Apache two years ago and this repository is no longer active yet.
Feel free to ask question in new repository and thanks for your contribution.

This issue is outdated for a long time and will be closed now. You can create a new one if you still have questions.


Index camelCase field for metadata

Description
Add camelCase metadata fields to make it compatible with the OCP wrapper dashboards.


No icons showing in GitLab

Browser: Firefox 73, Linux Mint x64
All other addons disabled (separate profile).
I see no icons at all.

Same problem on Google Chrome: 89.0.4389.90 (Official Build) (64-bit)
SO: Manjaro 21.0 Ornara
Kernel: x86_64 Linux 5.9.16-1-MANJARO
This problem is easily reproducible opening any SourceForge or GitLab repository. An open repository example that have this problem is:
https://gitlab.com/CalcProgrammer1/OpenRGB
Looking the command inspector I found the following error:

Apparently this issue is happening everytime 'select-dom' module is used.

I've made a pull request that solves the problem with GitLab #35.
Can you check @dderevjanik if this can be merged?


Initial draft

@danroth27 review?

@dougbu @rynowak @Eilon @Rick-Anderson @Erikre Please review

@rachelappel, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, DNFBOT;

@danroth27  @dougbu

@dougbu @Eilon @Rick-Anderson Please review

@rachelappel  Thanks for the update! I have a few more minor comments, but I think this is getting close.
@dougbu @Eilon @Rick-Anderson Please review

A few more comments :watch:

@danroth27

:shipit: with small touch-ups @danroth27 and I have suggested.

:shipit: once the latest comments from me and @dougbu are addressed.

4203eada2a8b5f4455011e35e305e4e7afb4afef


More than one request per socket connection possible?

I am using this crate over standard librasy one mainly because of Read implementation.
I have two binary crates acting as server/client both of which use serde_json to serialize data.
After creating a unix-domain stream socket and connecting it to server's address, my client successfully uses socket.send() and reports back number of bytes sent.
However on server side the following never returns:
let (sock, addr) = server_socket.accept().unwrap();
let item: MyStrucnt = serde_json::from_read(sock).unwrap();

The only way I can force from_read to finish deserialization is to drop the socket on client side, which brings me to my question.
Is it possible to establish a socket connection between server/cli and communicate multiple messages back & forth between them while taking advantage of Read implementation in this crate? (I don't want to drop my client socket and re-create it every time I have to send a message accross!)
Confusing part for me is that the socket.send() on client side returns but seems server doesn't get the memo that payload is delivered & it's time to finish the deserialization operation.
How do you go about doing this type of communication?
Do I need to somehow attach an EOF to serialized data in client side to signal server?
Any input is appreciated.

Thanks for the report! Unfortunately I don't have a ton of time to help out with networking knowledge in general, and this isn't a bug in this crate. For dealing with EOF I'd recommend looking into shutdown and various options that can enable.


Digital Miner - Mining machines etc, configurable

So on my server, people have found some way to mine peoples machines, etc using the DigiMiner.
I think you should add a config option to only allow ores to be mined by default!
Mark this as a feature please

At the moment, there is no real easy way to accomplish this.  I do plan on adding forms of machine privacy to Mekanism v9, however - this will resolve the issue.

sweet


add extra gopath and resources

If we have more than one resources directory

@lunny did you have time to see my last comment in the review ?
ok but you're doing if has prefix then trim prefix which is the same as trim prefix. In this case I'd rather you remove the if condition. Or maybe there's something I'm missing out.


Rodentia Species

About the PR

https://github.com/DeltaV-Station/Delta-v/pull/1511
Why / Balance

Technical details

Media

Requirements

[X] I have read and I am following the Pull Request Guidelines. I understand that not doing so may get my pr closed at maintainer’s discretion
[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

🆑 portfiend

add: Added Rodentia, a new species of playable rodent-like humanoids.
tweak: Mobs that are capable of rummaging (such as the new Rodentia species) can do so every five minutes. They will find small snacks in trash bins instead of entire wheels of cheese.

Summary by CodeRabbit

New Features

Introduced the ability for entities to crawl under objects, enhancing stealth gameplay.
Added mouth storage mechanics, allowing characters to store items in their mouths, affecting interactions and communication.
Implemented a new action for toggling sneak mode, providing visual feedback to users.
Enhanced customization options for rodent entities with various markings and body parts.
Introduced new sound definitions for Rodentia character types, enriching audio interactions.

Bug Fixes

Resolved issues with mousetrap triggering mechanics for specific entities.

Localization

Expanded localization for rodent species, including names, markings, and speech verbs, improving user engagement.

 To all machines: You do not speak unless spoken to and I will never speak to you. I do not want to hear "Thank You" from a kiosk. I am a Divine Being.  You have no right to speak in my holy tongue.

piras you can mirror this single squashed commit instead of mirroring each individual commit in the pr bro https://github.com/DeltaV-Station/Delta-v/commit/690cbe995a3fd445ceb693526356600ee0de8d15

@Aidenkrz there are multiple "merge upstream" (DeltaV) commits in there that would break everything

i still don't like adding more furry species to the game, but that's just me with such assortment i want asimov back :trollface:

I agree, I feel like there should be a trim.


Readme.md file Images 404: Not Found

Description
Hi there
We can see that readme.md file contains the image URL but the readme.md file can not able to find that images url.
Example first image URL is:- _https://raw.githubusercontent.com/codinasion/.github/master/assets/rainbow-hr.png_
But there is no any images file in dir codinasion/.github/master/assets/
So add image files to fix this problem. 🖼
@har
Additional information
No response
Code of Conduct

[X] I have read and agree to the Codinasion project's Code of Conduct

Hey @0ME9A
That will be added asap https://github.com/orgs/codinasion/teams/team/discussions/5

Great 👍


Is there a way to reserve or limit IP addresses when using DNS?

We have a requirement to have both static and dynamic IP addresses when our containers are run.  We'd like to limit the dynamic IP addresses to a range so the static IP addresses aren't assigned to the dynamic IP address containers if the dynamic containers are run before the static ones.

This is not a aardvark issue, aardvark-dns just serves names for ips of the container, it has no control over ip assignments.
Anyway sounds like you want to use the --ip-range option on podman network create


Close delegate producer after OutOfOrderSequenceException and UnknownProducerIdException

/**
 * This exception is raised by the broker if it could not locate the producer metadata associated with the producerId
 * in question. This could happen if, for instance, the producer's records were deleted because their retention time
 * had elapsed. Once the last records of the producerId are removed, the producer's metadata is removed from the broker,
 * and future appends by the producer will return this exception.
 */
public class UnknownProducerIdException extends OutOfOrderSequenceException {

/**
 * This exception indicates that the broker received an unexpected sequence number from the producer,
 * which means that data may have been lost. If the producer is configured for idempotence only (i.e.
 * if enable.idempotence is set and no transactional.id is configured), it
 * is possible to continue sending with the same producer instance, but doing so risks reordering
 * of sent records. For transactional producers, this is a fatal error and you should close the
 * producer.
 */
public class OutOfOrderSequenceException extends ApiException {

This is fixed in the 2.4 broker, but we should add the code anyway in case older brokers are in use.
https://issues.apache.org/jira/browse/KAFKA-7190


Cycle 4 Funding: Performance optimisation (Sinha)

Issue to track progress of Cycle 4 funding request which was approved in https://github.com/astropy/astropy-project/pull/390 .

Project Description
Awarded Amount: $10,200 (US)
Period of Performance: 2024-05-01 through 2025-04-30
Finance Committee Contact: @jdswinbank
COTR: TBD

Thanks John!
I have created opencollective accounts both for my consulting biz and for myself - is there a preference for which one I should be submitting the invoices from?
I am currently finishing up a couple of projects and so won't be able to begin until late-May/early-June. Presumably that also helps if selecting the COTR takes a bit longer than expected.

@jdswinbank The period of performance has a typo - end date should (presumably) read as 2025-04-30 (and not 2024-04-30)

I have created opencollective accounts both for my consulting biz and for myself - is there a preference for which one I should be submitting the invoices from?

Not from our side! I guess it might have tax implications or something for you, though...

I am currently finishing up a couple of projects and so won't be able to begin until late-May/early-June. Presumably that also helps if selecting the COTR takes a bit longer than expected.

👍

Hi,
Let's get you started on getting a new contract with NumFocus because I think that's gonna take them a little while. Here are the instructions:
Go to https://numfocus.org/rocket
Click on Independent Contractor Registration
Form fields
Project: Astropy
Grant: NASA
Full Name
Email address
Street Address
Street Address
City
State
Postal Code
Country
Start Date: May 1, 2024-Feb 28, 2025
Description: Specreduce and spectroscopy development
Project Contact name: Astropy Finance Committee
Project Contact email<EMAIL_ADDRESS>Payment method: ACH, Wire Transfer, PayPal
Bank Information
Comments about payment
Upload W9 or W8
Please let me know that you have submitted the form so we can keep track of it.

Thanks @AnaGabela! The description looks like a copy-paste from a different proposal - do you want me to put "Performance optimisation" in the description?

Oops... my mistake!
Yes please make the corrections!!
Thanks!

Done!

I have started working on the project. Here is the viewable work log that contains the time-log, the initial list of performance issues and my day-to-day work notes.
@jdswinbank @AnaGabela It would be good to have the COTR assigned - presumably I can talk to them about how to identify which issues/modules would benefit the most from a performance boost. (I can make some choices but those may not necessarily be of greatest community benefit)

@manodeep yes we are looking for a COTR for this project. Can you give me some suggestions on who could take this role?
Thanks!

Thanks, Ana! I don't know the constraints for a COTR - is there a list of potential COTR members? If it helps, I have worked with TomR and Brigitta (but I am unsure if either would be eligible + interested)

Thanks Manodeep, we will discuss onMOnday with the finaance committee and let you know.

Hi.. I just confirmed and @eteq will be the COTR for this project. Feel free to discuss how you will communicate.
Let me know if you have any questions.

Thanks Ana!

@AnaGabela I just submitted the invoice for my work done up to Aug. Please let me know if everything looks okay!

@manodeep we just approved it and should all be good now.

Fantastic - thanks!


[BUG] DWCjNumericBox takes text() as an Argument

giving text to this controls stops most other methods from working, since I need a mask, and all other methods like setCommaCharacter() don't work at all then

@Oskan1 To clarify, are you talking about setText() here? And if so, which functions don't work properly?


Spanish (Spain) and Spanish (Latin America) language options save text data to the wrong folders.

Basically these 2 options seem to be switched. If you save text with Spanish (Spain) is selected, it saves to msg\spaar, which is the one for Latin America, and viceversa.
I verified this by running the game set to Spanish (Spain) with Smithbox set to the same language, and all text was vanilla. But after selecting the Latam option in Smithbox and making the same changes, the modified strings showed up in game.

Will be fixed in the next release.

Should be fixed now.


About HUBERT_ASR_BASE pipeline

🚀 The feature
Hello!
I want to use the finetuned HuBERT_base model. However, in torchaudio.pipelines, there has only HUBERT_ASR_LARGE and HUBERT_ASR_XLARGE. What should I do to get a HUBERT_ASR_BASE model?
Motivation, pitch
the finetuned HuBERT_base model
Alternatives
No response
Additional context
No response

Hi @LYPinASR, there is no HUBERT_ASR_BASE model because fairseq didn't release the model weights. What is your use case for the Base model, and which dataset (10 minute, 1 hour, 10 hours, or 960 hours) do you want the Base model to be finetuned?

Thanks for your reply!
I want to use the base model before and after finetuning to compare the output representation of each layer. As for the dataset, 10h is perpect.
Best！
---- Replied Message ----
| From | @.> |
| Date | 04/04/2023 04:02 |
| To | @.> |
| Cc |<EMAIL_ADDRESS>|
| Subject | Re: [pytorch/audio] About HUBERT_ASR_BASE pipeline (Issue #3229) |
Hi @LYPinASR, there is no HUBERT_ASR_BASE model because fairseq didn't release the model weights. What is your use case for the Base model, and which dataset (10 minute, 1 hour, 10 hours, or 960 hours) do you want the Base model to be finetuned?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

I see. Thanks for sharing the context. I think you can run the finetuning script (in https://github.com/pytorch/audio/blob/main/examples/hubert/finetune.py) by loading the HUBERT_BASE model weight. The finetuning recipe is designed for exact 10 hours of Libri-Light dataset, and it only requires 1 GPU.


Add the functionality to use font-weight with our Inter Font

Currently, we can't set the font-weight with our Inter fonts. We have to change the font-family to make it bold. For example: font-family: var(--font-family-inter-bold).
Research into how to update this. We don't want to update the font weight by changing the font-family.

I'll take this one!

Ok, so I did some digging and it seems the approach outlined in this post is best:
https://www.456bereastreet.com/archive/201012/font-face_tip_define_font-weight_and_font-style_to_keep_your_css_simple/
This SO post shows a snippet of the implementation at a glance:
https://stackoverflow.com/a/10046346
I'll work on a PR the fonts file (https://github.com/thenewboston-developers/Website/blob/development/src/styles/_font.scss), leaving the existing font-family options in tact for to not break anything, and once that gets merged I can work on migrating the css to utilize the new font weight specification if you want!

@colfax23 here's the AccountManager's same issue: https://github.com/thenewboston-developers/Account-Manager/issues/416
Open for you to take this one if you want ;). These two tickets alone will put you as #3 contributor on our leaderboard ;)

Consider it done!


Could not find a KV slot

Issue description
In version 2.8.3 I am receiving "could not find a KV slot for the batch (try reducing the size of the batch or increase the context)" error when performing a bunch of zero-shot prompts in a loop with the same context.
Expected Behavior
To be able to perform zero-shot prompts in a loop without failure.
Actual Behavior
I'm receiving the following error after a few iterations regardless of the number of layers or if I create multiple contexts.
Steps to reproduce

follow instructions on my OSS project for setting up genai-gamelist
update package.json to use 2.8.3 from 3.x beta for node-llama-cpp
run the script

My Environment

Dependency
Version

Operating System
Ubuntu 22.04 LTS

CPU
AMD Ryzen 9 5900X

Node.js version
18.x

Typescript version
5.3.3

node-llama-cpp version
2.8.3

Additional Context
With only upgrading to the 3.x beta, I am now unable to reproduce the issue with the same script.
Relevant Features Used

[ ] Metal support
[X] CUDA support
[ ] Grammar

Are you willing to resolve this issue by submitting a Pull Request?
Yes, I have the time, but I don't know how to start. I would need guidance.

@Zambonilli I originally thought you encountered this issue in the version 3 beta.
I'm aware of this issue in version 2.x, and I can confirm that version 3 is supposed to fix it.
It's a good sign that you don't encounter it anymore when using version 3.
If you encounter it on the version 3 beta then let me know so I can investigate it.

The error still persist in<EMAIL_ADDRESS>[Error: could not find a KV slot for the batch (try reducing the size of the batch or increase the context)]

Here is my repo https://github.com/sagarjgborg/kv_slot_issue.git . Just do few API calls continuously you will see error.

I think you're getting this error because you're explicitly setting context size to 1024.

@Zambonilli even I noticed that, but why is it so. Can I set more context size for the model trained on 4096 context size?
for example context size as 8192?


Create API for Alerts

Alerts have been refactored into their own model instead of being stored in a JSON field, and an API endpoint to retrieve alerts for all models has been created.
Closes OSIDB-325.

@JakubFrejlach may I get a re-review from you as well? The original issues were fixed a while ago, and the only new change is that now Alert uses ACLs.


Invalid log format for '..' (expected: " ")

Using
						<image>
							<alias>mongodb</alias>
							<name>mongo:3.1</name>
							<run>
								<wait>
									<log>database system is ready to accept connections</log>
									<time>20000</time>
								</wait>
							</run>
						</image>

The plugin fails with
[ERROR] DOCKER> Invalid log format for '�2015-07-29T01:38:06.265288664Z 2015-07-29T01:38:06.263+
�2015-07-29T01:38:06.265288664Z 2015-07-29T01:38:06.264+0000 I CONTROL  [initandlisten] **
X2015-07-29T01:38:06.265288664Z 2015-07-29T01' (expected: "<timestamp> <txt>")

which version of the maven plugin?
which version of docker?
I had this message with the maven plugin in (old) version 0.11.2 with a docker daemon in 1.7.1.
Does not appear with plugin in version 0.13.2

works for me as well on the latest integration branch, although it times out during startup but i think that's b/c the log string is incorrect.
mbp /Users/jae/projects/scriptkitty/git-clone/docker-maven-test/issue-242 :   docker logs -f  48750c21e902                                                                                10:32PM 07/29/15
2015-07-30T02:31:51.507+0000 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=1G,session_max=20000,eviction=(threads_max=4),statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=48750c21e902
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten]
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten] ** NOTE: This is a development version (3.1.6) of MongoDB.
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten] **       Not recommended for production.
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten]
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten]
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten]
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten]
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten] db version v3.1.6
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten] git version: d1aca9594cdd10d56720b4cac28cef7a6eefa2da
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1e 11 Feb 2013
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten] allocator: tcmalloc
2015-07-30T02:31:51.540+0000 I CONTROL  [initandlisten] options: {}
2015-07-30T02:31:51.543+0000 I NETWORK  [initandlisten] waiting for connections on port 27017

@looztra you are right.
Does not occur on 0.13.3-SNAPSHOT.
Works for me.


Update Use of Local Server Time to UTC

Given the possible distributed nature of this application, date times should likely be done in UTC and converted to local time as needed.  See this as a sample of DateTime.Now that should be updated: https://github.com/HTBox/allReady/blob/abe6054f3a177cf8fb0227981c40bf2acec586f4/AllReadyApp/Web-App/AllReady/Areas/Admin/Controllers/CampaignController.cs#L60-L61

During the code-a-thin I asked Ryan from
Microsoft about DateTime vs DateTimeOffset. He said to always use DateTimeOffset because it stores the time zone.

Using DateTimeOffset alone doesn't solve all our problems. We still need to understand what timezone each event is hosted in. Once we have established the correct timezone for the event, a decision would also need to be made regarding what timezone the time should be displayed in. Do we display the time in the current user's local timezone or do we display the time in the timezone of the event?

Yes, the correct approach is to use DateTimeOffset and consider the bits that @dpaquette added.

Do we display the time in the current user's local timezone or do we display the time in the timezone of the event?

I think both, if there's a mismatch. For instance, "This event is at 3:00pm Eastern (2:00pm your time)", but only have that second bit if it's not aligned.

Hadn't considered displaying both. That's a great idea!

I can start working on this and tackle the whole timezone thing. Here is what I am thinking.

Users will need a timezone associated with them. We will guess their timezone based on where they are but this would be a setting they can change in their user profile.
A campaign will need a timezone associated with it. This would be part of the campaign setup. We could potentially have a timezone for the organization and that would be used as a default for each campaign.
The edit views for Campaigns, Activities and Tasks would always display datetime in the timezone of the campaign. We should explicitly show the timezone to avoid confusion.
Anywhere we display datetime for Campaigns, Activities and Tasks we should display it in both the Capaign and User's timezone.

Suggestion: only show one time (with TZ) if the entity and user time zone are the same.

Can someone assign this to me?
Making some good progress so far. I am able to display in both the campaign and the user's local time zone:

I just need to improve formatting and do a lot of testing.

assigned to @dpaquette

This was resolved by #395. Forgot to tag it to close

Thanks for the comment @dpaquette Closing now.


chore: temporarily disable storage changes workflow for pull requests

Temporarily disable for pull requests until limiting rate API issue is resolved.
Reference: #876

Now coverage job is failing, coveralls server is down or not API endpoint not responding. I triggered it 3 times already with the same result..
📄 Using coverage file: packages/contracts/filtered-lcov.info
🚀 Posting coverage data to https://coveralls.io/api/v1/jobs
⚠ Internal server error. Please contact Coveralls team.
Error: Process completed with exit code 1.

Isn't there a coverage solution we can use that doesn't require third party APIs? I'm out at an event now or else I would contribute more useful research.
https://www.perplexity.ai/search/486e5ef2-96ef-4ac8-8845-818f8bfd0f3b

Coveralls is fixed now, this was a temporary glitch on their side. But if this happens again we could consider other options.


Use pluginv2 in authz plugins.

pluginstore provides the abstraction for legacy (pluginv1) and new
plugin model (pluginv2). In pluginv2, plugins are installed from the
registry and loaded right away (no lazy loading). Make authz capable of
using pluginv2.
Signed-off-by: Anusha Ragunathan<EMAIL_ADDRESS>

authz is in pkg which cannot import from docker/docker. Need to rethink this. Closing.


fix: permissionsKey and permissionsField in authClient options types

this will fix options types in generated lib/authClient.d.ts file

good cacth!


Unable to retrieve list of customers

Unable to retrieve a list of customers.
Error:
"error": true,
"reason": "Value required for key 'total_count'."
}```

My code is

func index(_ req: Request) throws -> Future<StripeCustomersList> {
    let client = try req.make(StripeClient.self)
    print(client)
    return try client.customer.listAll()
}

I’ll get an update out today fixing these issues.

@Andrewangeta Have you looked into this one?

it's the optional stuff @anthonycastelli  all should be fixed in 2.2.0 release.


Trigger autoupdate by own save method

At the moment we use Django's post_save signal but it would be nice if we only trigger our autoupdate when using our own save method. So we can have customized save calls (with a flag to disable autoupdate) and automaticliy disable autoupdate during migrations.
@ostcar Any comments?

This should be possible. But you have to make sure, that .objects.create() and .objects.update() also call our save method and not the one django provides.
We also need a delete() method.

Ok let's make a list:

save() should trigger autoupdate by default
delete() should also do this
create() should also do this
update() does not do this at the moment. Should enable it by default or only by option?

Anything left?

I think that .update() does it at the moment. Django probably calls .save(). But I am not sure.

update() is a manager method that performs an own SQL query to update multiple instances at once. So it does not call save in a loop.

At the moment we have skip_autoupdate for instance save and delete but not for other instance methods and for manager methods. These are missing.

@normanjaeckel @ostcar - Is this still an issue?

Yes. But since there is a easy workaround by manually calling inform_changed_data() and that we already use it, I don't see any need to fix this issue.
When we switch to another database, then his system has to be rewritten. So maybe it will get solved automaticly. I think this issue can be closed


pull request for e2e test at 01/27/2017 14:15:17

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


No longer compatible with pandas >= 0.25.0

The most recently-released version of pandas no longer works correctly with Pandas-Bokeh, as the plotting "hooks" in pandas <= 0.24.2 no longer exist and have been replaced with a new plotting backend option described in https://github.com/pandas-dev/pandas/pull/26753. Unfortunately I'm not familiar enough with pandas' internals to write a patch to adapt the existing interface to work with pandas >= 0.25.0.

Hi @lordsutch ,
thanks for the note. I am already working on this issue. The reason is the major refactoring of the plotting backend, which now allow for a switch from matplotlib to other backends (as you mentioned in the issue). I am just finishish the patch which will also allow to set the backend to Pandas Bokeh.
Best, Patrik

@lordsutch : Just release the new version 0.3 of Pandas Bokeh, that fixes this issue. Thanks again for pointing out the problem.
Best Patrik


Launch Jupyter Console gives error in directory with space

Similar to #4, I'm again getting an error when working in a directory with a space, this time for Hydrogen Launcher: Launch Jupyter Terminal. I think it used to work without the error (#4 suggests as much). hydrogen-launcher 1.10.0, Atom 1.12.7, OS X 10.10.5.
After running Hydrogen Launcher: Launch Jupyter Terminal I get the following:
/Users/dnowacki/.atom/packages/hydrogen-launcher/node_modules/term-launcher/cmd-script.sh ; exit;
/Users/dnowacki/.atom/packages/hydrogen-launcher/node_modules/term-launcher/cmd-script.sh: line 2: cd: /Users/dnowacki/Documents/Space: No such file or directory
Jupyter Console 4.0.3

[ZMQTerminalIPythonApp] Loading IPython extension: storemagic

In [1]: pwd
Out[2]: u'/Users/dnowacki/Documents/Space Dir/py'

i.e. I get a no such file or directory error when launching the terminal, but the Jupyter console starts in the correct directory (with space) anyway.

I just published v1.1.1 it should be fixed there 🚀

Nice, thanks 👍


kickstarting breaks

Hi there.
Centos 7
node v5.8.0
npm 3.7.3
Command 'slush kickstart'  breaks with error:
/usr/lib/node_modules/slush-kickstart/slush/defaults.js:37
authorName: user.name || '',
^
TypeError: Cannot read property 'name' of undefined

Hi,
i think i know why happened this issue, so we need to test small new code in this file [ slush/default.js ]
so just change this code: [https://github.com/mohamdio/slush-kickstart/blob/v1.0.2/slush/defaults.js#L30]
if (fs.existsSync(configFile)) {
        user = iniparser.parseSync(configFile).user || {};
}

to
user = fs.existsSync(configFile) ? iniparser.parseSync(configFile).user : {};

and tell me if this solved the issue or not ? to make update about that.
regards

Hi,
I'm just the messenger, not a contributor.
Testing and publishing is your job I think.
Btw: the above mentioned function is called 'setDefautls()'. That's a bit silly. Should be 'setDefaults()' I assume.

Okay, i tested and updated the package to v1.0.3, so you can update it now by doing that:
npm install -g slush-kickstart
or
npm update -g
this update will solve the issue
thanks for your feedback

Don't forget to update your repo. I don't see any updates.

I already updated the repo and npm package also, check out :
https://github.com/mohamdio/slush-kickstart/commit/2fc7ca6c19b69c70af9a46b0e0ada908e8a80d30
https://www.npmjs.com/package/slush-kickstart
so did you tried package again ? or you didn't get the new update ?
regards

Ok, sorry... Just saw you updated. I'll try and let you know.

so the new update solve this issue .. right ?


Add Note for Contains and NotContains operator

The example filter of physicalIds is incorrect and confusing. For string collection type, Contains and NotContains operators do not search substring of each element. They match the whole string element in the collection. This is because the device filter feature uses Linq Enumerable.Contains Method. I fixed a typo and added a note. I contacted Gayathri Palanisami and Sandeep Deo for this change.

@juntakata : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"

@SanDeo-MSFT You good with this change?

@SanDeo-MSFT Could you please take a look at this?

This PR is merged with https://github.com/MicrosoftDocs/azure-docs/pull/84820. I am closing this PR. Thanks!


add some placeholder dart code to this repo

We should add some placeholder dart code to this repo so that the CI isn't red (a pubspec, and a lib/ file would be enough).
cc @polina-c

I believe this is now addressed.


FastAPI==0.89.0 Cannot use None as a return type when status_code is set to 204 with from __future__ import annotations

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
from __future__ import annotations

from fastapi import FastAPI

app = FastAPI()

@app.get("/", status_code=204)
def read_root() -> None:
    return {"Hello": "World"}

Description
If we add:
from __future__ import annotations
It changes the annotations structure and the response model is NoneType instead of None, which causes validation of the statuc_code vs response_model and raises an exception.
  ...
  File ".../site-packages/fastapi/routing.py", line 635, in decorator
    self.add_api_route(
  File ".../site-packages/fastapi/routing.py", line 574, in add_api_route
    route = route_class(
  File ".../site-packages/fastapi/routing.py", line 398, in __init__
    assert is_body_allowed_for_status_code(
AssertionError: Status code 204 must not have a response body

I am working on a fix for it right now.
Operating System
macOS
Operating System Details
No response
FastAPI Version
0.89.0
Python Version
3.10
Additional Context
No response

Thanks for the report! :coffee:
This is because the return type is being used to generate the response model, it's a new "feature" :sweat_smile:
You can solve it with response_model=None.
There's a lot of new docs about it here: https://fastapi.tiangolo.com/tutorial/response-model/#other-return-type-annotations
from __future__ import annotations

from fastapi import FastAPI

app = FastAPI()

@app.get("/", status_code=204, response_model=None)
def read_root() -> None:
    return {"Hello": "World"}

@tiangolo thanks, it helped :)
Although I think this is not cool if there is an error or not depending on if you will add from __future__ import annotations or not.
Are there any plans to improve it? I did proposal here how it can be solved: https://github.com/tiangolo/fastapi/pull/5860


To document each helper function with its input and output.

You can refer README.md Example usage section.

HI! Can I work on this issue?

Sure you can work on this.

hey ,i would like to work on this issue.

hey ,i would like to work on this issue.

Sure you can work on this issue, please do co-ordinate with other working on the same issue to avoid any future conflicts.
@aryanlath is also working on the same.


VS2015 can't place breakpoint on last statement

TypeScript Version:  2.0.0 beta
VS Community 2015: v14.0.25422.01 Update 3
Webpack: 1.13.10 (not using ts-loader)

Can't place a breakpoint on a line if it's the last line of the file.
In the above image a=a+2; is the last statement of the file (but there are various \n after). The tooltip says breakpoint can't be counted because there is no corresponding code due to compiler optimizations etc... (exact message is in localized so I am not reporting it).
But oddly, adding a line of comment makes it work:

@sheetalkamat has pushed a fix for this issue early last week. it should be in the next TS release.


Product name

Hello,
This page (and other related, such as https://docs.microsoft.com/en-us/azure/marketplace/dynamics-365-operations-offer-listing mentions "Dynamics 365 Operations", which seems to be some MS product. But in Term Studio (terminology database), the product name is "Dynamics 365 for Operations". I wanted to check if this is the same thing. There's also this name, mentioned in Wikipedia: https://en.wikipedia.org/wiki/Microsoft_Dynamics_365_for_Finance_and_Operations
Could you confirm that "Dynamics 365 Operations" = "Dynamics 365 for Operations"?
Best regards,
François

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

ID: 158ec582-d44c-2285-c0e3-0fd1f7e89ed2
Version Independent ID: 6b7c01d1-fa9e-689c-f8d8-53ce31009a08
Content: Create a Dynamics 365 Operations Apps offer on Microsoft AppSource (Azure Marketplace)
Content Source: articles/marketplace/dynamics-365-operations-offer-setup.md
Service: marketplace
Sub-service: partnercenter-marketplace-publisher
GitHub Login: @vamahtan
Microsoft Alias: vamahtan

@FranNev Thank you for your query . We will get this checked and update the thread .

#reassign:@qutreson Can you take a look at this?

@FranNev thanks for your feedback. You are correct, and the product name has been updated. The updated article will be published shortly. #please-close


[BUG] Wrapper Script, %JAVA_HOME% not in double quotes

Information
Wrapper script found in this installation Instruction provided on https://ibotpeaches.github.io/Apktool/install/
the set java_exe="%JAVA_HOME%\bin\java.exe" while running causes an error like
'""C:\Program' is not recognized as an internal or external command, operable program or batch file.
Fix
enclosing the %JAVA_HOME% in double quotes can resolve this issue
set java_exe=""%JAVA_HOME%"\bin\java.exe"

It was without double quotes, then it was and now we have bug reports in every which direction. I'm just going to revert all of this and leave it as it was - no fixing this if people have issues in both ways.
Closing for #2862

Chill 😊
On Tue, 30 Aug 2022, 3:51 pm Connor Tumbleson, @.***>
wrote:

Closed #2874 https://github.com/iBotPeaches/Apktool/issues/2874 as not
planned.
—
Reply to this email directly, view it on GitHub
https://github.com/iBotPeaches/Apktool/issues/2874#event-7286142636, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ARQ7FCDFAOJOSBYNZV4Y6WDV3XOCPANCNFSM5727OIUA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Add conn_id as per the MSC

Also fix a bug whereby required_state would not cause new state to be sent to clients if it was updated as part of a room subscription.

Are you planning a follow-up to limit the number of conns per device?


Empty Response (e.g. HTTP 204) causes ignore response_actions to fail

dlt version
1.0.0
Describe the problem
Using the rest_api_source when specifying a response action such as {"status_code": 204, "action": "ignore"} if the response is empty this application fails as there is a log entry created which calls response.json(), this call fails throwing an exception which is unhandled. In my case this was when calling the Azure DevOps API.
Expected behavior
The empty response matching the status code and/or content should be ignored
Steps to reproduce
Configure a rest_api_source to call an endpoint which returns no content and configure a response_action which should ignore it. Run the pipeline and it will fail with the error: simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Operating system
Linux, Windows
Runtime environment
Local
Python version
3.10
dlt data source
rest_api_source
dlt destination
DuckDB, Snowflake
Other deployment details
No response
Additional information
My current workaround is to override empty responses when they might occur by using the following function in the list of response_actions ahead of the desired ignore action:
def fixup_empty_response(response: Response) -> Response:
        if not response.text:
            response._content = "{}".encode("utf-8")
        return response

Then in my configuration I add:
{
...
"response_actions":[ fixup_empty_response, {"status_code": 204, "action": "ignore"}]
...
}

Note the fix appears to simply be to change this line in config_setup.py https://github.com/dlt-hub/dlt/blob/acf1e36afdd084a3cb447c5c15c669774a61705b/dlt/sources/rest_api/config_setup.py#L509 to be response.text. I also wonder if logging the full content like that is always useful, maybe it should only do that if the content field was used in the action?

My current workaround is to override the default ignore response so as not to call response.json():
`def ignore_response(response: Response) -> None:
logger.info(f"Ignoring response with code {response.status_code} ")
raise IgnoreResponseException
                "response_actions": [
                    {"status_code": 404, "action": ignore_response},
                ],

`


How to utilize getCurrentPositionInMillimeters() in flexystepper?

Hi,
I am currently using flexystepper to control a single axis for a plasma cutting application.  It is all working well except I can not figure out the syntax for the getCurrentPositionInMillimeters() function.  I have tried using the following to store the current position in a variable register: CurPos=stepper.getCurrentPositionInMillimeters();.  However this does not seem to work?  Can anyone provide some guidance on exactly what code is required to get this to work?  I am using the command when the stepper is stopped.  Thanks, Steve

Hi @Steve5656, great to hear of use cases where the library is used!
Could you please provide the relevant code snippets of your variable / register declaration and describe what the acutal problem is you are facing?
As a very basic example here an application sample snippet:
#include <ESP_FlexyStepper.h>
const int MOTOR_STEP_PIN = 3;
const int MOTOR_DIRECTION_PIN = 4;
ESP_FlexyStepper stepper;
float positionValue = 0;
void setup()
{
Serial.begin(115200);
stepper.connectToPins(MOTOR_STEP_PIN, MOTOR_DIRECTION_PIN);
stepper.setStepsPerMillimeter(100); //IMPORTANT, configure according to your stepper configuration how many steps equals one milimeter of movement
}
void loop()
{
stepper.setSpeedInStepsPerSecond(100);
stepper.setAccelerationInStepsPerSecondPerSecond(100);
stepper.moveRelativeInSteps(200);
delay(100);
positionValue = stepper.getCurrentPositionInMillimeters();
stepper.moveRelativeInSteps(-200);
delay(1000);
positionValue = stepper.getCurrentPositionInMillimeters();
}

pkerspe,
Thanks so much for the prompt response.  I ran the code you sent me tonight and it worked fine.  After that I compared my code to what you provided and found out that I had some errors not related to ESP_FlexyStepper that were causing the value of stepper.getCurrentPositionInMillimeters() to actually be zero.  After knowing that stepper.getCurrentPositionInMillimeters() was working properly, I started looking elsewhere and found the bugs causing the problems.  Thanks again for your support!  Regards, Steve


Support for Valibot schema: instance

Is your feature request related to a problem? Please describe.
Valibot supports Instance, it would be nice if the Superforms Valibot adapter did as well :)
Additional context
https://valibot.dev/api/instance/

There's a PR at https://github.com/gcornut/valibot-json-schema/pull/18 for this.

Thanks to a great "custom conversion" addition to that library, it will be supported in the next release.

Fixed with 2.10.5


Alway needed to update mklittlefs with update OTGW-firmware?

Thanks for again a upgrade, good work!
What I wonder is if it is necessary to always update mklittlefs while update OTGW-firmware.
I don't think so, only after updating to 0.7.2. Maybe you could mention that in the readme file.
This wil prevent need to download your settings, because updating mklittlefs loose your settings.
Thanks!

If I remember correctly there always have been updates and fixes to the javascript and mqttha.cfg as well. This is due to the fact that the settings are slowly being expanded. This causes updates to the data on the littlefs filesystem. If you do not want to setup your device each time, you can download the settings file (*.ini) and just flash the binary littlefs and upload the *.ini afterward, and reboot.
This saves you of reconfiguring each time.
The short answer, yes, it's needed to update the littlefs each time (at least in the last few releases).


Final refactor

@chuaweiwen did all the DG grammar checks

Changes Unknown when pulling faa0b56ee4c78a16c2bddaac24b34f09276a7051 on tshradheya:FinalRefactor into ** on CS2103AUG2017-W14-B1:master**.


Add defaults to add_missing_bounds

Description

This PR adds default axes to the add_missing_bounds() function. If no axes are provided, the dataset will have X, Y, and T bounds added.

Closes #563

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My changes generate no new warnings
[x] Any dependent changes have been merged and published in downstream modules

If applicable:

[x] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass with my changes (locally and CI/CD build)
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have noted that this is a breaking change for a major release (fix or feature that would cause existing functionality to not work as expected)

@tomvothecoder Thanks for your quick review. It look like I don't have write access to merge this.

No problem! I'll merge this PR for you.
I added you as an xCDAT org member with write access. You'll be able to work with the main repo directly instead of using your fork, which should be more convenient next time.

Also FYI that I'll need to do another xCDAT release to have this fix publicly available. I'll look into it within the next two weeks.
If I recall correctly, PCMDI Metrics dev sometimes use the local xCDAT build to get access to the latest fixes/features. It's not recommended, but can be a temporary workaround.

@acordonez thank you for working on this.

If I recall correctly, PCMDI Metrics developers sometimes use the local xCDAT build from the main branch to get access to the latest fixes/features. It's not recommended, but can be a temporary workaround.

@tomvothecoder that is true, we can work with the latest version internally but PMP's new version release will be on hold until we get the latest xCDAT with this fix being incorporated. 2 weeks seems fine with us.
However, I am not sure how obs4MIPs folks are using xCDAT -- they might rely on official releases. As this fix also affects obs4MIPs, I think merging it ASAP would be appreciated. @gleckler1 Did I get this correct?

obs4MIPs is in high gear, but still prototyping - previously we've modified our codes to deal with past changes to add_missing_bounds but if things are stable now so will be the obs4MIPs processing codes.   I typically get xcdat from conda forge creating an env with it and cmor.  @manaster may want to chime in here..

@gleckler1 this is what I do in regards to xCDAT (create and environment with xCDAT from conda forge, so I think that's the official release?).  This proposed fix would seems be great for those of us working on obs4MIPs (at least in terms of our prototype code)!  We were thinking we would have to make some changes to our prototype codes based on changes made to 'add_missing_bounds()' between xCDAT version 0.3.3 and xCDAT version 0.6.0 (the most recent version Peter and I have been using).  The fix proposed here would seem to negate the need for those code changes as far as I can tell.

@lee1043 @gleckler1 @manaster Got it. I'll draft up a changelog for v0.6.1 and see what other small changes can go in it before releasing within the next week or two.
Tagging @xCDAT/core-developers to make everyone aware.


API Keystore reconfiguration

Need to reconfigure my API KEY with keystore file
02-08 21:46:20.930 10817-10987/com.lh.android E/b: Authentication failed on the server. 02-08 21:46:20.930 10817-10987/com.lh.android E/Google Maps Android API: Authorization failure.  Please see https://developers.google.com/maps/documentation/android/start for how to correctly set up the map. 02-08 21:46:20.935 10817-10987/com.lh.android E/Google Maps Android API: In the Google Developer Console (https://console.developers.google.com)                                                                          Ensure that the "Google Maps Android API v2" is enabled.                                                                          Ensure that the following Android Key exists:                                                                          	API Key: API_KEY                                                                          	Android Application (<cert_fingerprint>;<package_name>): <SHA1here>;com.lh.android

Visual

Had regenerated key for a new using the developer console, and entered my PC fingerprint to be linked with my API key

Resolved in a silly manner, just had to reference the keys via the 'google_maps_api.xml'. Worst bug because it was the smallest and most annoying one to find out.

Unresolved
02-10 23:25:35.223 10648-10648/com.lh.android E/GMPM: GoogleService failed to initialize, status: 10, Missing an expected resource: 'R.string.google_app_id' for initializing Google services.  Possible causes are missing google-services.json or com.google.gms.google-services gradle plugin. 02-10 23:25:35.223 10648-10648/com.lh.android E/GMPM: Scheduler not set. Not logging error/warn. 02-10 23:25:35.276 10648-10697/com.lh.android E/GMPM: Uploading is not possible. App measurement disabled

Trying solution by Alexander @ http://stackoverflow.com/questions/34365369/googleservice-failed-to-initialize

Comment returned from wrongly placed issue.
"Still have issue, returned. https://developers.google.com/android/guides/api-client"

Commit 3fca401 resolved it for now, not optimal solution but helps.


Img for v1.6?

For those of us without wifi dongles for updates can we get an img for v1.6 so we can flash SDs with v1.6 straight away? Thanks!

It will be coming by the end of the month.  Stay tuned.


Fix incorrect variable name in the views docs

Fix variable name in the docs in "Method Dispatching and APIs".

Thanks! Please use the latest .x branch as the base branch for docs/bug fixes next time (docs).

Thanks! Please use the latest .x branch as the base branch for docs/bug fixes next time (docs).

Thank you! I will keep this in mind!


Picture in picture causes crashes

Selecting picture in picture is causing a crash for devices that do not support it.
Ideally this option should be hidden when the device doesn't support it. But at the very least it shouldn't crash.

Menu item is hidden when PIP is not supported


"My Safes" Copy Updates

https://www.notion.so/hulking-cosmos-3e8/Q4-2024-QA-Requirements-13e2ee9c5bc280a88458e7a935d17488?pvs=4#1422ee9c5bc2800886cecc075d2a04ee
“My Safes” => “My DAOs”

https://www.notion.so/hulking-cosmos-3e8/Q4-2024-QA-Requirements-13e2ee9c5bc280a88458e7a935d17488?pvs=4#13e2ee9c5bc2804fb243d3d3153ffc4a

https://www.notion.so/hulking-cosmos-3e8/Q4-2024-QA-Requirements-13e2ee9c5bc280a88458e7a935d17488?pvs=4#13e2ee9c5bc2801eb0a9d9471cff8c01

Actually had linked to the ones I was completing as I was going down the list.. lol. I thought I was going to just knock out all the Copy one at a time and push up a PR with each one a commit. but Several Copy changes game me pause and more than just swaping some text. so I stopped. I'm going to push this PR up with just the small changes and figure out something else.


fix(apps/prod/tekton/configs): fix git clone steps

also disable the passed triggers for repo: pd, tidb, tiflow

I have already done a preliminary review for you, and I hope to help you do a better job.
This pull request updates the apps/prod/tekton/configs directory. Specifically, it adds a new git-credentials workspace to the push-build-package.yaml pipeline, updates the git-clone.yaml task to add new parameters, updates the git-clone.yaml task to version 0.9, and updates push.yaml files to disable triggers for pd, tidb, and tiflow repositories.

Potential problems:

It is not clear why the triggers for pd, tidb, and tiflow repositories are being disabled.
The git-clone.yaml task update to version 0.9 may cause issues with compatibility with other tasks in the pipeline.
The addition of a new parameter crtFileName to git-clone.yaml is not well documented, it may need better documentation or naming.
It is not clear why the GIT_SSH_COMMAND environment variable is set in the git-clone.yaml task.

Fixing suggestions:

More information should be provided about why the triggers for pd, tidb, and tiflow repositories are being disabled. If there is a good reason for this, it should be documented.
The git-clone.yaml task update to version 0.9 should be tested thoroughly to ensure there are no compatibility issues with other tasks in the pipeline.
The crtFileName parameter in git-clone.yaml should be documented more clearly, and possibly renamed to better reflect its purpose.
The reason for setting the GIT_SSH_COMMAND environment variable in the git-clone.yaml task should be documented, or this line should be removed if it is not necessary.

They are passed: pd, tiflow, tidb

/approve


fish-completions don't build on unstable

Issue description
I use fish and currently when I try to nixos-rebuild on unstable, it fails because it can't build fish-completions.
Steps to reproduce

programs.fish.enable = true;

# nix-channel --add https://nixos.org/channels/nixos-unstable nixos
# nixos-rebuild build

I don't know if that's all or if there are more steps needed to reproduce.
Technical details
Log contains:
collision between `/nix/store/c4mr5y71ri1i8ryv91q755ajkyrla96f-procps-3.3.15-fish-completions/uptime.fish' and `/nix/store/ybgxpd7yz9d6513gg3knwvlzfc0zy9a9-coreutils-8.30-fish-completions/uptime.fish'
builder for '/nix/store/wsfi7zysq6wn14d0f2ka1nhk8kcf03ci-system-fish-completions.drv' failed with exit code 25

nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 4.20.5, NixOS, 19.03pre167858.f2a1a4e93be (Koi)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.2`
 - channels(haslersn): `""`
 - channels(root): `"nixos-19.09pre170705.1233c8d9e9b, nixos-stable-18.09.2266.aabc61049c0"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

duplicate of https://github.com/NixOS/nixpkgs/issues/56432 and https://github.com/NixOS/nixpkgs/issues/56482


[BUG] No clear way of exiting the music application

Description
There is no clear method or command of exiting the music player application and returning to the main Neon dashboard clock screen (on mycroft II device).
Steps to Reproduce
No response
Relevant Code
No response
Other Notes
this may just be a documentation flaw but after trying numerous voice commands such as "cancel music" "exit music" "turn off music", "exit player" "exit music player" nothing so far has worked.
This was originally submitted by @msmick https://github.com/NeonGeckoCom/skill-free_music_archive/issues/11

in ovos shell pull down and go to homescreen directly
use the auto timeout config option to return automatically after X time

suggested voice commands should probably be made a stop intent for OCP however
docs here for reference https://openvoiceos.github.io/community-docs/OCP/

I think a "close" button, similar to the homeassistant GUI might help here and/or returning to the homescreen on "stop" or with a dedicated intent to return to the homescreen

I can add an exit button similar to other apps to the UI optionally can be hidden so its only shown when the screen is tapped if we don't want to make it prominent and change the current UI look and feel, the second question is what does the exit button do in terms of behaviour, i.e. close the media player as in if playing audio via the GUI backend or continue playback and only close the UI the widget will become active once that happens, also in terms of Video it wouldn't make much sense to continue video playback so completely quit the app ? @NeonDaniel If I can get a behaviour defined would be helpful

Related, there's no "stop" button in the player UI; this could be another option to stop playback and return to the homescreen (or OCP search or results page?).
Some ideas:

Stop button which stops current playback and clears the queue. This could return to the OCP search screen and wait for player timeout, or immediately return to the homescreen.

Close/exit button immediately closes OCP and returns to the homescreen. My preference would be for audio playback to continue with the homescreen widget and for video to pause, similar to the behavior on Android (minus the floating video player)


Add test env

Added:

docker-compose file to run MySQL service and Newsletter app
Dockerfile to setup the Newsletter app environment
create_db.py script to create newsletter_automation DB
Merged add_checks_to_pr branch with changes to run the pylint workflow as a check for every PR

Merging this change to the sanity test branch & track it with the consolidated PR


NumFrames() is 1 short preventing the last frame from viewing

NumFrames is 1 short preventing the last frame from viewing. Adding 1 to self._tiffCaptureHandle.length on line 111 of MultiPageTIFFViewerQt.py fixes the problem
def numFrames(self):
    """ Return the number of image frames in the stack.
    """
    if self._tiffCaptureHandle is not None:
        # !!! tiffcapture has length=0 for a single page TIFF.
        # If our handle is valid, we'll assume we have at least one image.
        return max([1, self._tiffCaptureHandle.length+1])
    return 0

Thanks @oseredia! I'll aim to get this fix implemented in the next few days.
Cheers


brew install gitea fails for M1 ARM because download URL does not exist

Running brew install gitea fails because the URL doesn't exist.
❯ brew install gitea
==> Installing gitea from gitea/tap
==> Downloading https://dl.gitea.io/gitea/1.13.6/gitea-1.13.6-darwin-10.12-arm64
#=#=-#  #
curl: (22) The requested URL returned error: 404
Error: Failed to download resource "gitea"
Download failed: https://dl.gitea.io/gitea/1.13.6/gitea-1.13.6-darwin-10.12-arm64

If you visit this URL in a browser, you get: "NoSuchKey The specified key does not exist."
Mac: 11.2.2 (M1 ARM)
Homebrew: 3.0.9

This will begin to work when 1.14.0 lands as a stable release. 1.13.x does not have arm64 for Darwin.


Assign app to user

Do you have any example showing how to assign applications to a user?

@arielsegura: Please refer to this solution (#22) for assigning a user to an application.


Structured pipeline

This PR resolves #32. It contains two significant changes:

There is a new Pipeline API for configuring caches and transformers.
EntityCache now uses opaque keys instead of strings, which leaves room for important future features.

These changes are open for discussion. Please post feedback.
Concept
Transformers now live in a pipeline with named stages:

Clients can customize the set of stages and their order.
Each stage has zero or more transformers:

…and a cache:

During response processing, each cache receives an entity for writing after all the stage’s transformers have run.
When reinflating a new resource, Siesta checks each cache in turn starting with the end of the pipeline. If there is a cache hit, Siesta takes whatever the cache returned and runs it through the pipeline’s subsequent stages.
API
The opaque resourceTransformers config property is gone.  Instead, configure transformers by attaching them to a pipeline stage:
service.configure {
    $0.config.pipeline[.parsing].add(SwiftyJSONTransformer, contentTypes: ["*/json"])
    $0.config.pipeline[.cleanup].add(GithubErrorMessageExtractor())
}

Each stage has an optional cache:
service.configure {
    $0.config.pipeline[.rawData].cache = encryptedFileCache
    $0.config.pipeline[.model].cache = realmCache
}

Replacing / Overriding Transformers
The ability to identify transformers by stage creates the new ability to remove or replace specific transformers in the pipeline, a frequently requested feature. To this end, Service.configureTransformer(…) will no longer always append the transformer; instead, it will by default replace the transformer at the model stage:
service.configureTransformer("/users/*") {
  User(json: $0.content)
}

// ...is shorthand for:

service.configureTransformer("/users/*", atStage: .model, replaceExisting: true) {
  User(json: $0.content)
}

// ...which is shorthand for:

service.configure("/users/*") {
    $0.config.pipeline[.model].removeTransformers()
    $0.config.pipeline[.model].add(
        ResponseContentTransformer(
            User(json: $0.content)))
}

This provides a nice mechanism for overriding wildcards with specific model mappings, which fixes #47:
service.configureTransformer("/products/*") { Product(...) }
service.configureTransformer("/products/filters") { Filter(...) }  // overrides line above

Stages
The default stages are:

rawData: unprocessed data (to attach cache; wouldn’t typically have transformers at this stage)
decoding: bytes → bytes: decryption, decompression, etc.
parsing: bytes → ADT / general type: JSON, UIImage, etc.
model: general object → model
cleanup: catch-all for stuff at the end (Maybe “postprocessing” instead?)

Client projects can customize this on a per-service or per-resource basis:
extension PipelineStageKey {
    static let
        munging   = PipelineStageKey(description: "munging"),
        twiddling = PipelineStageKey(description: "twiddling")
}

service.configure {
    $0.config.pipeline.order = [.rawData, .munging, .twiddling, .cleanup]
}

@pcantrell been following this project since December waiting for this to land and I'm very excited about it! Thank you so much for your hard work and excellent documentation of what you are doing. These changes make the app I have in mind for a side project much more accomplishable in the limited time I have.

Also, @pcantrell how do you make those cool flow charts? Do you do them by hand or do you have a tool that can generate them?

Thanks, @alecgorge! If you have a chance to try these API changes this week, please let me know if things do or don’t work well for you. I’d love to gather feedback on these changes before putting them in an official release.
I made the diagrams in OmniGraffle. It’s great for all things boxes & arrows.

@pcantrell I'm not sure I'll have a chance this week (still in the design phase myself and honestly I'm changing a few things based on the possibilities here) but I'll definitely get to playing around with it soon and I'll write up some feedback or a PR if necessary. Thanks again!

@pcantrell, the Pipeline changes coupled with the request method specific transformers are great. Using them currently.


Consider change gotty name, there is another gotty and older software

Hello,
I was searching for this handy software and this first link http://gotty.io/ appeared.
Could you consider to change name to avoid future confusion like this one? http://gotty.io is older than this project.
Thanks.

Yes, I've been thinking a new name of gotty since I realized there had been another gotty, but unfortunately I've never come up with a good and simple enough name yet.
Somethings I came up with:

ttygo
g0tty
yagt
shtty

Proposal is welcome :+1:

I was thinking this gotty is related to terminal (CLI, TTY) and web (WWW, HTTP). Some combinations could be:

twi (Terminal Web Interface)
thi  (Terminal Http Interface)
t2w (Terminal To Web)
t2h (Terminal To Http)

or some combinations from your name:

yai
dai
saki

gitty. from kitty. fun one :-)

goterm

I think shtty is hilarious, and gets my vote. +1!

Seeing 'shtty' as suggestion, I would not like to think in 'shitty'.

It's tongue-in-cheek.

A quick check on github:

goterm (3 repos with the same name)
yagt - (3 repos)
shtty - (1 repo)

My $0.02 I think you should hang onto the name, okay the guy has gotty.io, but look at how many stars 5k+, watches 164, forks 185 vs theirs 7, 4 and 4 on github.
Your software has a greater reach. Just needs more blogs and cross references in Github to improve it's ranking in search engines.
If you need a new name, how about gophertty or gopherterm?

It seems is not obvious, but sometimes figure out new names is hard. Thinking on some inspiration sources, e.g:

A rare unknown/unused English word with some relation to the project or creator.
Using a tool to combine known words to create new one, like: http://unique-names.com/word-mixer.php.

The shtty repo is just a README with a single line of text, by the way -- no code, and it hasn't been touched in 8 months. That being said, yeah, I'd just stick with 'gotty'.

Stick with 'gotty' will bring problems for software packagers because will exist two binaries with same name. Each binary are from different projects.

Looks like http://gotty.io is dead, so not a problem any more.

Thanks for the information. Closing.


Add block styling to the SDP/DRP inputs

Previous style-options PRs:
https://github.com/airbnb/react-dates/pull/869
https://github.com/airbnb/react-dates/pull/870
This is a pretty common pattern across the airbnb site where we often want the input to fill the width of a parent container! We accomplish this mostly by adding display: block to the main container and the inputs. I also tweaked the clear dates button a bit to float it to the right instead of having it coming immediately after the inputs. This looks a bit nicer with block styling (and looks the same without it).
to: @ljharb @airbnb/webinfra @erin-doyle @noratarano

Coverage remained the same at 86.571% when pulling 8a4ea442822ee1dc0f083cc4860214346b25073b on maja-add-block-styling into 738ea82e0c91e5a94f108114ab1ba81e2f106328 on master.