for issue 294

Issue #, if available:
#294
Description of changes:
Check if SMS enabled for RequireNewPassword
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #296 into master will decrease coverage by 0.03%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master     #296      +/-   ##
==========================================
- Coverage   90.78%   90.75%   -0.04%
==========================================
  Files          53       53
  Lines        2517     2519       +2
  Branches      510      511       +1
==========================================
+ Hits         2285     2286       +1
- Misses        221      222       +1
  Partials       11       11

Impacted Files
Coverage Δ

.../aws-amplify-react/src/Auth/RequireNewPassword.jsx
94.44% <66.66%> (-5.56%)
:arrow_down:

Continue to review full report at Codecov.

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


Enable easier configuration of tedge components to connect to an external mqtt broker

Is your feature improvement request related to a problem? Please describe.

Configuring thin-edge.io to connect to an external MQTT broker is very difficult as the mqtt/http internal and external bind settings are currently used both for configuring the local MQTT broker and for clients connecting to the broker.
This is a common scenario when running thin-edge.io in a container environment where each thin-edge.io component is running in a separate container. For each container to connect to the MQTT broker, you need to set the same settings as you would when you are setting the mqtt broker binding settings (which is really unexpected for users).
The current settings are very confusing for the users to understand as their semantic meanings are mixed (depending on the component reading the setting).
Currently the following mqtt settings are available, and from the list it is show below:
mqtt.bind_address
mqtt.port
mqtt.external.port
mqtt.external.bind_address
mqtt.external.bind_interface
mqtt.external.capath
mqtt.external.certfile
mqtt.external.keyfile

Describe the solution you'd like

Separate the mqtt client settings from the mqtt bridge/broker settings.
For example, the c8y-log-plugin service will start an mqtt client to connect to a broker where it listens to log file requests. This setting should be independent to any mosquitto broker bridge configuration)
Add support for setting the mqtt client settings which are used by each component to tell the mqtt client which mqtt broker to connect to (host and port). The setting should be independent to any of the "binding" logic, as it enables thin-edge components to be deployed in independent containers.
The following settings should be supported.

Property
Default
Type
Description

mqtt.client.host
<IP_ADDRESS>
string (could be a hostname or ip!)
Client settings for the MQTT host to communicate with

mqtt.client.port
1883
int?
Client settings for the MQTT port to communicate with

⚠ The mqtt.client.host should be a string and not an IPAddress type so that it will also support hostnames/dns names, as an external mqtt broker is most likely going to be referenced by a dns name or hostname instead of an ip address!
The settings above would translate to the following snippet in the /etc/tedge/tedge.toml file:
[mqtt.client]
host = "<IP_ADDRESS>"
port = 1883

In terms of usage of the new mqtt client settings, the host/port should be read from the configuration, and used in the creation of each mqtt client in every service (e.g. tedge-agent, tedge-mapper-*, c8y-log-plugin, c8y-configuration-plugin etc.)
File: plugins/c8y_log_plugin/src/main.rs:90
The following shows a modified version of the code showing the usage when creating the mqtt client
let mqtt_config = mqtt_channel::Config::default()
    .with_session_name(C8Y_LOG_PLUGIN)
    .with_host(mqtt_host)
    .with_port(mqtt_port)
    .with_subscriptions(topics)
    .with_last_will_message(health_status_down_message(C8Y_LOG_PLUGIN));

Describe alternatives you've considered

Additional context

I am aware that this will technically be a breaking change, however since it was not easy to configure an external broker anyway, I don't think the impact will be large. Generally I think the new settings will be easier for users to understand and configure when wanting to connect thin-edge to an external mqtt broker.

Perfect.

In terms of usage of the new mqtt client settings, the host/port should be read from the configuration, and used in the creation of each mqtt client in every service (e.g. tedge-agent, tedge-mapper-*, c8y-log-plugin, c8y-configuration-plugin etc.)

To say the same things in a different manner: The former settings mqtt.bind_address, mqtt.port and mqtt.external.* will then be used only by the tedge connect command to configure the TCP bindings of the mosquitto broker.

Working on it. Btw is assigning people to issues limited to people with write access to the repo? Because I'd like to like to assign myself when starting them so it actually shows up on the board during dailies.

Even after adding the new host/port settings for the clients, we might still need to do some normalization of the config keys to avoid confusions. The ones that I'd still label "confusing" are  mqtt.port and mqtt.external.port. Since both are related to the server binding, it might be better to rename them as mqtt.bind_port and mqtt.external.bind_port keeping them consistent with mqtt.bind_address and mqtt.external.bind_address respectively.
The other confusion would be coming from the external client's perspective: What host and port should it use to connect to the broker? The mqtt.client.host and mqtt.client.port or the mqtt.external.bind_address and mqtt.external.bind_port? For external clients, we recommend using the external settings in our documentation here. That will add to additional confusion. If the mqtt.client.host and mqtt.client.port were meant to be used only by local clients running on the same thin-edge device, mqtt.local.host and mqtt.local.port would have been more appropriate, I feel. But again, which one should be used in a containerised env?

Even after adding the new host/port settings for the clients, we might still need to do some normalization of the config keys to avoid confusions. The ones that I'd still label "confusing" are mqtt.port and mqtt.external.port. Since both are related to the server binding, it might be better to rename them as mqtt.bind_port and mqtt.external.bind_port keeping them consistent with mqtt.bind_address and mqtt.external.bind_address respectively.
The other confusion would be coming from the external client's perspective: What host and port should it use to connect to the broker? The mqtt.client.host and mqtt.client.port or the mqtt.external.bind_address and mqtt.external.bind_port? For external clients, we recommend using the external settings in our documentation here. That will add to additional confusion. If the mqtt.client.host and mqtt.client.port were meant to be used only by local clients running on the same thin-edge device, mqtt.local.host and mqtt.local.port would have been more appropriate, I feel. But again, which one should be used in a containerised env?

Yes there will be some cleanup required to sort out the binding settings. However the mqtt.client.* settings are intended to not care about having a local or external host as it does not matter from the mqtt client's perspective. The user can freely configure where the mqtt clients should connect to (this works nicely for both local and external mqtt brokers). The mqtt client will be using a default value of <IP_ADDRESS>, so when all of the thin-edge components are running on the same environment, then everything will just work, however it allows us to freely configure the mqtt client settings to work when all the components are not running on the same environment (e.g. in a multi container setup).
The mqtt binding settings are really only required to setup the mqtt broker, so the tedge binary is really the only one that needs access to the bind settings.

We need to investigate how best to write a test to cover this as it requires configuring an external mqtt broker.

Integration test coverage by #1848


Inline assets for the wasm-transformer package

Set up rollup for making inlined and production bundles
Updated documentation for the changes
Updated examples to use the production bundles

@syrusakbary Updated the code! Forgot to update the shell example. And the reason why there are so many READMEs, is now we are outputting all targets from wasm-pack, and choosing the correct one depending on the enviornment 😄 But I re-built, and now that is no longer needed.
Also, Your comment of:

I think the wasmTransformerInit is not needed for the default example?

It is, as WebAssembly.instantiateStreaming returns a promise, and we don't want to launch promises and unknowingly let users call our exports when the module is not ready yet.

@syrusakbary and I discussed offline, and they decided to do the changes outlined in the last commit 😄
Thus, this is now good to go! 😄 👍


Feat/auth

This PR provide Bearer Authentication
Usage:

Obtain a valid access token through the authentication flow (user login);
In the request, add a new header with the key Authorization and the value Bearer <your-access-token>. Replace <your-access-token> with the actual access token you obtained.

This PR also partially closes #32, providing User routes to register, login and get user info.

:tada: This PR is included in version 7.0.0 :tada:
The release is available on:

7.0.0
GitHub release

Your semantic-release bot :package::rocket:


Horizontal navbar

Fixes Issue🛠

Closes #195
Description👨💻
Added Horizontal Navigation Bar
Type of change📄

[] Bug fix (non-breaking change which fixes an issue)
[] New feature (non-breaking change which adds functionality)

How this has been tested✅

Checklist✅

[] My code follows the style guidelines of this project
[] I have performed a self-review of my own code
[] I have commented my code, particularly in hard-to-understand areas
[] I have added demonstration in the form of GIF/video file
[] I am an Open Source Contributor

Screenshots/GIF📷

Looks good, Merged!! 🎉 @AbhineshJha


The python pulsar client creates a producer and then closes the producer. The memory will not be released

Just like issue #12408, I raised a question. I kept creating and closing producers, but the memory would not be released. I saw that the problem had been solved. When I re installed pulsar client with PIP, I found that the program would be released when I ran the program for the first time, and the memory would not be released when I closed the program for the second time
The procedure is as follows(I installed it using pip3)：
import pulsar
StrPulsar = "pulsar://<IP_ADDRESS>:30771"
StrTopic = "Test"
while True:
pulsarClient = pulsar.Client(StrPulsar, operation_timeout_seconds = 3)
producer = pulsarClient.create_producer(StrTopic, send_timeout_millis=3000)
producer.close()
pulsarClient.close()

@609101723 The PR #12409 was marked for 2.10.0, 2.9.1 and 2.8.2 releases and none of them were released yet.

Which version will be released? When will it be released? Otherwise I can't use this module now

@609101723 The PR #12409 was marked for 2.10.0, 2.9.1 and 2.8.2 releases and none of them were released yet.

Which version will be released? When will it be released? Otherwise I can't use this module now

@609101723 Both 2.8.2, 2.9.1, and 2.10.0 will have this fix, the 2.8.2 release is in progress now, maybe it will available in 2 weeks, if you want a quick fix, here is an earlier release based on the branch-2.8 https://github.com/streamnative/pulsar/releases/tag/v<IP_ADDRESS>
Since the bug has been fixed, so I will close the issue first. Feel free to reopen it if the new fix does not work.


Add a "Using the API" section for Datastore docs

I'm interested in potentially using this API, but I haven't had time to code dive and figure out the typical usage patterns. It looks like there are some unit tests, but it'd be great for me and my team to have a quick reference.

Thanks @gtaylor! This is "covered" by #1037. I really need to get to this.
@jonparrott Can we chat about how to make this work nicely with the new snippets? Are the snippets v1beta3 specific? We can make the doc in the datastore-v1beta3 branch as well.

@gtaylor In the meanwhile

@jonparrott's very helpful snippets should be good (they are also on the cloud.google.com docs, but I'm not sure where)
the system tests will be more useful
the hard-to-maintain demo removed in #1486 can give an idea

The snippets work on both v1beta2 and v1beta3. The docs were just published:
https://cloud.google.com/datastore/docs/datastore-api-tutorial

Thanks for the tip, @dhermes . That's very helpful!


Have you some logical model about the data storaged in HBase?

How about the data of pinpoint storaged in HBase?

We don't quite get what kind of logical model you're looking for.
But you could take a look at:

Schema ref : https://github.com/naver/pinpoint/blob/master/hbase/scripts/README.md
If you want to look at what is stored in which table, you should take a look at collector and web DAOs

You can probably figure out the overall data flow from above.


Remove deprecated usage of KotlinDslPluginOptions.experimentalWarning

This has no effect now.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.


Added two new cli commands

Added two little features I found quite handy:

Get actor's current state with switch-state
Toggle actor's state with switch-toggle

Fixed parsing in Actor.get_state()
First time using Python, please be gentle ;-)

Pushed the wrong files


How to stop Nadeko detecting an older version of itself that was unistalled ?

The updater keeps saying that 2.28.4 of Nadeko is in the my machine but I deleted every folder that it existed in. How do I stop this from happening?

The version and other information is stored in the Windows Registry. Open Registry Editor (Win+R, "regedit", OK). Navigate to HKEY_LOCAL_MACHINE->SOFTWARE->NadekoBot. Right click the folder, and delete. Restart the installer, and it should be good as new.

Next time, if you want to uninstall Nadeko, do it through the Control Panel. Refrain from deleting the folders manually.


CORE: Post Tools

Reopening. Tools will not be an event submission type. Rather they will be curated, and may have multiple "authors" to maintain their pages.


Two manytomany association eagerLoad Problem

I have two ManyToMany model CourseSkill and CourseSkillUser，and I want to these model  associate to get User but it happen error  CourseSkillUser is not associated to Skill.
these model define like below:
class Course extends Model<Course> {
@PrimaryKey
@AutoIncrement
@Column
public id: number;

@BelongsToMany(() => Skill, () => CourseSkill)
public skills: Skill[];
}

class User extends Model<User> {
@PrimaryKey
@AutoIncrement
@Column
public id: number;

@BelongsToMany(() => CourseSkill, () => CourseSkillUser)
public courseSkills: CourseSkill[];
}

class Skill extends Model<Skill> {
@PrimaryKey
@AutoIncrement
@Column
public id: number;

@BelongsToMany(() => Course, () => CourseSkill)
 public courses: Course[];
 }

class CourseSkill extends Model<CourseSkill> {
@PrimaryKey
@AutoIncrement
@Column
public id: number;

@ForeignKey(() => Course)
@Column
public courseId: number;

@ForeignKey(() => Skill)
@Column
public skillId: number;

@BelongsToMany(() => User, () => CourseSkillUser)
public users: User[];
}

class CourseSkillUser extends Model<CourseSkillUser> {
@PrimaryKey
@AutoIncrement
@Column
public id: number;

@ForeignKey(() => CourseSkill)
@Column
public courseSkillId: number;

@ForeignKey(() => User)
@Column
public userId: number;
}

query method
let result = await Course.findOne({
include: [
    {
        model: Skill,
        include: [{
        model: CourseSkillUser,
        include: [{model: User}]
     }],
    }
]});

error

This is because Skill - which is the "parent" model in this query -  doesn't know about an association to  CourseSkillUser. You didn't define one in Skill.
The problem with that is, you can not define an include for a through model, which would be necessary to get the associated CourseSkillUser entries. A through model is implicitly used to resolve a many to many relation. So you need to define an explicit relation between these models (CourseSkillUser and CourseSkill) to get what you want be resolved.
See https://stackoverflow.com/questions/38726793/sequelize-include-model-of-through-attribute
and here: http://sequelize.readthedocs.io/en/latest/docs/models-usage/index.html#eager-loading
When you look at the setup of the associations in the sequelize docs example, you will notice that there is no belongsToMany relation with a through model used.
If you don't get it working with the help of these examples, feel free to come back - I can help you then.

I see these information, Does it mean I have to not use belongsToMany relation with a through model used？ I have to remove model CourseSkill, and modify CourseSkillUser
association model Course，Skill, User.
model define
class Course extends Model<Course> {
@PrimaryKey
@AutoIncrement
@Column
public id: number;

@BelongsToMany(() => Skill, () => CourseSkillUser)
public skills: Skill[];
}

class User extends Model<User> {
@PrimaryKey
@AutoIncrement
@Column
public id: number;

@BelongsToMany(() => Skill, () => CourseSkillUser)
public skills: Skill[];

@BelongsToMany(() => Course, () => CourseSkillUser)
public course: Course[];
}

class Skill extends Model<Skill> {
@PrimaryKey
@AutoIncrement
@Column
public id: number;

@BelongsToMany(() => Course, () => CourseSkillUser)
public courses: Course[];
}

class CourseSkillUser extends Model<CourseSkillUser> {
@PrimaryKey
@AutoIncrement
@Column
public id: number;

@ForeignKey(() => Skill)
@Column
public skillId: number;

@ForeignKey(() => Course)
@Column
public courseId: number;

@ForeignKey(() => User)
@Column
public userId: number;
}

@chaoxihailing Sry for the late response. Yes, to get this working like you want to, you need to use HasMany and BelongsTo.
class Course extends Model<Course> {
  @HasMany(() => CourseSkillUser)
   courseSkillUser: CourseSkillUser[];
}

class CourseSkillUser extends Model<CourseSkillUser> {
  @ForeignKey(() => Skill)
  @Column
  skillId: number;

  @BelongsTo(() => Skill)
  skill: Skill;

  @ForeignKey(() => Course)
  @Column
  courseId: number;

  @BelongsTo(() => Course)
  course: Course;

  @ForeignKey(() => User)
  @Column
  userId: number;

  @BelongsTo(() => User)
  user: User;
}

And now you should be able to request the data like:
Course.findOne({
  include: [
    {
      model: CourseSkillUser,
      include: [User, Skill]
    }
  ]
});

Does this solve your other question (https://github.com/RobinBuschmann/sequelize-typescript/issues/334) too?

thanks your useful response, it does resolve my question.


Header with double quotes, Swift

Header is like this
"Authorization": Token token="xxxxxxxx"
So I need to insert double quote to header
So the code is
let headers = ["Authorization": "Token token="xxxxx""]
But backslash keeps following so API call is failed.
Is there any way to remove backslash when it come with double quote? Thanks.

That's just how the debugger shows Strings with quotes in them. You need to investigate the error your backend is returning or take a look at the raw network traffic.


NODE Cluster Debugger(Inspector) problem

VSCode Version: 1.18.1
OS Version: Windows 10 64bits
Node Version: 8.6.0

When debugguing nodeJS applications in cluster mode, the debugger starts correctly but it does not print any console messages but the main/initialization ones. The debugger(Inspector) does not catch any break points.
It happens 50% of time, sometimes it works sometimes it doesn't.
It has started after the update that added the "outputCapture: std" option, when using std it duplicates all the console messages.
My launch.json:
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "protocol": "inspector",
            "outputCapture": "console",
            "name": "Launch WBA",
            "useWSL": false,
            "env": {
                "NODE_ENV": "development"
            },
            "cwd": "${workspaceRoot}/server",
            "outFiles": [
                "${workspaceRoot}/server/dist/**/*.js.map",
                "${workspaceRoot}/server/dist/**/*.js"
            ],
            "program": "${workspaceRoot}/server/src/Main.ts",
            "runtimeExecutable": null,
            "runtimeArgs": [
                "--nolazy",
                "--no-warnings",
                "--expose-gc",
                "--inspect=9329"
            ],
            "stopOnEntry": false,
            "sourceMaps": true,
            "address": "localhost",
            "port": 9329
        },
        {
            "name": "Launch WBA Chrome",
            "type": "chrome",
            "request": "launch",
            "url": "https://localhost:3000",
            "webRoot": "${workspaceRoot}/template",
            "sourceMaps": true
        },
        {
            "type": "node",
            "request": "attach",
            "protocol": "inspector",
            "name": "Attach to worker 1",
            "stopOnEntry": false,
            "address": "localhost",
            "port": 9330,
            "timeout": 30000
        },
        {
            "type": "node",
            "request": "attach",
            "protocol": "inspector",
            "name": "Attach to worker 2",
            "stopOnEntry": false,
            "address": "localhost",
            "port": 9331,
            "timeout": 30000
        },
        {
            "type": "node",
            "request": "attach",
            "protocol": "inspector",
            "name": "Attach to worker 3",
            "stopOnEntry": false,
            "address": "localhost",
            "port": 9332,
            "timeout": 30000
        },
        {
            "type": "node",
            "request": "attach",
            "protocol": "inspector",
            "name": "Attach to worker 4",
            "stopOnEntry": false,
            "address": "localhost",
            "port": 9333,
            "timeout": 30000
        }
    ],
    "compounds": [
        {
            "name": "Debug Cluster",
            "configurations": [
                "Launch WBA",
                "Attach to worker 1",
                "Attach to worker 2",
                "Launch WBA Chrome"
            ]
        }
    ]
}

Cluster and worker initialization:
node --nolazy --no-warnings --expose-gc --inspect=9329 dist\Main.js
Debugger listening on ws://<IP_ADDRESS>:9329/876fe2a6-67c9-4786-81c7-f9f3cf7e7756
WBA Cluster 6520 is running, available CPUS: 4 - Args ["--nolazy","--no-warnings","--expose-gc","--inspect=9329"]
Worker Id: 2 - PID: 7936 - Args ["--nolazy","--no-warnings","--expose-gc","--inspect=9329","--inspect-port=9331"]
Worker Id: 1 - Name: fileIntegrationWorker - PID: 12864 - Args ["--nolazy","--no-warnings","--expose-gc","--inspect=9329","--inspect-port=9330"]

tsconfig.json:
{
  "compilerOptions": {
    "noUnusedLocals": false,
    "noUnusedParameters": false,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "target": "ES6",
    "module": "commonjs",
    "outDir": "dist",
    "rootDir": "src",
    "sourceMap": true,
    "typeRoots": [
      "node_modules/@types"
    ],
    "types": [
      "node"
    ]
  },
  "include": [
    "src/**/*.ts"
  ],
  "exclude": [
    "node_modules",
    "dist"
  ]
}

Please let me know if you need more info.
Thanks!

Could you run this with "trace": true and upload the log here? Thanks

Hi Rob,
The log is attached. One thing that I observed is that sometimes it stops on the beginning of the class, even though there is not breakpoint there and "stopOnEntry" is false.
vscode-node-debug2.txt

I guess that doesn't help me since it's not the log from the workers.
I've never tried this but I'm not sure why it wouldn't work. I guess I'm not sure exactly what the problems are though - is it printing log messages from the initial process, but not the worker processes, even when you are attached to them? When you use "outputCapture": "std", you see all the messages, but duplicated?

The debugger(Inspector) does not catch any break points.

So you can never hit breakpoints? In any process or just in the worker processes?

It happens 50% of time, sometimes it works sometimes it doesn't.

Referring to log messages or breakpoints? Any pattern to this?
If you can share the project that would be really helpful.

There are 2 issues, one of them is the "outputCapture": "std", that is related with the breakpoint issue.

So you can never hit breakpoints? In any process or just in the worker processes?
I can, 50% of the time, just for worker process.

It happens 50% of time, sometimes it works sometimes it doesn't.
Referring to breakpoints, sometimes it catchs sometimes not. (Just for workers). When the worker breakpoints are working, the console messages are duplicated.

This is the log related just to workers debug. This log is a case when the workers breakpoints started working normally(Hitting breakpoints), but after debugging using F6 and the debugger entered on an internal breakpoint("fullfilment.js"), it stopped working.
OBS: I'm debugging .ts files using sourmaps.
Unfortunately I can't share the entire project, but feel free to ask anything else.
vscode-node-debug2.txt
Thanks

Another issue:
Sometimes when debugging with F5 the debugger gets lost, and goes into .js files rather than .ts files.
No pattern identified yet.

You might want to try this: https://github.com/Microsoft/vscode/issues/40123

@weinand
Sure! How can I help you testing it?
I don't think my issues are related to debugger being able to attach the workers correctly, because vscode always attaches to workers and start the workers code properly, but not always catch the workers breakpoints. But let me give it a try :)

I think my issues are related to the source map, the gulp is generating the sourcemaps inline properly, but for some reason sometimes vscode is not able to find it, maybe a timeout/synchronization issue.
Thanks


Import packages in DESCRIPTION

There are functions imported from extenernal packages, such as MASS and dbscan. While the functions are correctly imported to the namesspace, it is also mandatory to imports these packages in the DESCRIPTION file to set up correct dependency during installation. Otherwise, it will lead to errors during devtools::check(document = FALSE). See the message below.
E  checking package dependencies (2s)
   Namespace dependencies missing from DESCRIPTION Imports/Depends entries:
     'BiocParallel', 'MASS', 'dbscan', 'spatialLIBD'

To fix it, you can simply adding these packages to the the Imports field in the DESCRIPTION file. See more detail via https://r-pkgs.org/description.html#sec-description-imports-suggests. I think for now, you can simply Imports instead of Depends.

Done


X.L.SubLayouts: Avoid moving floats to end of window stack

Description
This makes the following sequence of operations idempotent, as it should be:
windows $ W.float w $ W.RationalRect 0 0 1 1
windows $ W.sink w

Previously, any window not visible to the Sublayout modifier (xmonad
invokes runLayout with tiled windows only) would be reordered to the end
of stack. This commit changes the reordering logic to only reorder
windows in Groups and keep all other windows where they were.
Checklist

[X] I've read CONTRIBUTING.md

(n/a) I tested my changes with xmonad-testing

[X] I updated the CHANGES.md file

(n/a) I updated the XMonad.Doc.Extending file (if appropriate)

Since our testing actually works now, this could perhaps become one?

Adding some tests for SubLayouts is probably a good idea but I'm not sure we can actually test that specific property, as that involves an actual windows invocation which interacts with X (the server, not the monad).
I thought I'd just wait until after the release and then merge this and #430 and see if anyone complains, but maybe that's unnecessarily catious. Adding a test for the affected parts may be better.

(just rebasing to fix conflicts, I still intend to add tests after #452 is merged)

(just rebasing to fix conflicts, I still intend to add tests after #452 is merged)


请问 此处 ollama 应该是写我本地的配置吧

我在代码里加了ollama配置，启动后，还是一如既往的没后续。

请问，哪位大神能提供好的建议呢？

你本地 ollama 要有TS 定义的模型，请求接口的地方要改成你本地有的模型

接口处已配置了本地模型。按照您的说法，我还需要有 TS模型

I tried to add the API almost the same way, and I was trapped by the almost same problem.
The picture shows the way I added the local Ollama API.

Then I run the Ollama server and start the Openglass web page, connecting the XIAO-ESP32-S3 via BLE. The ESP32-S3 actually passed the pictures to the Ollama server every time it took a picture. But when I tried to type some words in the text box, nothing appeared on the web page.
This is the termianl while running the Openglass and Ollama with moondream.

And this is the web page.

So I tried to capture the token between the Openglass localhost and the Ollama server with the WireShark tool. I found that the Ollama server definitely processed images and generated the related outputs, but it just could not display any output on the webpage.
Here is the output captured by the WireShark.

So my question is, what should I do to let the messages display on the chat box of the Web page?

You may try the 'llava-llama3' on ollama. This is LM with vision.

So my question is, what should I do to let the messages display on the chat box of the Web page?

Same question but not the same situation.
I changed the 'imageDescription.ts' to use the 'llava-llama3' model on the local ollama runtime.
It also can not get any response from the Expo page by input in the chat area.
But I can find the model response from browser development tools.

When I used Groq API, in the first round I could get model responses, but lost them when the image shows on the page.

If you choose the 'moondream' model like the original code, you can use 'ollama pull moondream:1.8b-v2-fp16' to download the model.

And you also can reference the recording demo:
https://www.loom.com/share/4c5666ef283f4b33b4705a21c71fc461

If you choose the 'moondream' model like the original code, you can use 'ollama pull moondream:1.8b-v2-fp16' to download the model.  And you also can reference the recording demo: https://www.loom.com/share/4c5666ef283f4b33b4705a21c71fc461

Thank you for the material you provided, I will try this today.


Support fetch raft entry in async way

Support fetch entry in async way, here are some changes:

Add an error LogTemporarilyUnavailable
Add a field context to entries()

Some process still need to fetch the entries in sync way, add a constraint to limit the condition when async fetch is permitted.
when entries are fetched asynchronously , it should return error LogTemporarilyUnavailable

Add a public function on_entries_fetched for triggering refetch the logs after async log fetch is finished.

This PR is ready now, PTAL @BusyJay @gengliqi @NingLin-P

Could you add some detail about the issue this PR tries to solve?

@tonyxuqqi https://github.com/tikv/tikv/issues/11320

one question: why the clippy check is failing. It passes on my local env, and seems what clippy complains doesn't related to this PR's changes. @BusyJay

You may need to rustup update first.

@NingLin-P @BusyJay @Connor1996 I still keep my original thought that having two API separately is better. To me the context parameter seems more complex than can_sync,  though it's being used almost the same way of "can_async". For the 3rd party developer they might not understand how to handle this context parameter correctly.  (I bet it's easier to implement async_entries() for them). And also as NingLin mentioned, "it will have very small changes to code base, no breaking changes and backward compatibility"
But I agree with BoKang we spend too much time on this. As long as it's correct, I'm fine.

/test

can_async is added for GetEntriesContext, and bump the version to 0.6.1. PTAL @BusyJay @NingLin-P @tonyxuqqi


python312Packages.publicsuffixlist: <IP_ADDRESS>41218 -> <IP_ADDRESS>41221

Changelog: https://github.com/ko-zu/psl/blob/v<IP_ADDRESS>41221-gha/CHANGES.md

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 367316

x86_64-linux

:fast_forward: 4 packages marked as broken and skipped:

python311Packages.parsedmarc
python311Packages.parsedmarc.dist
python312Packages.parsedmarc
python312Packages.parsedmarc.dist

:white_check_mark: 15 packages built:

parsedmarc
parsedmarc.dist
pretalx
pretalx.dist
pretalx.static
python311Packages.checkdmarc
python311Packages.checkdmarc.dist
python311Packages.publicsuffixlist
python311Packages.publicsuffixlist.dist
python312Packages.checkdmarc
python312Packages.checkdmarc.dist
python312Packages.publicsuffixlist
python312Packages.publicsuffixlist.dist
trustymail
trustymail.dist


Fix QueuedJobs index infinitely queuing and never running

Sweet, the 2 queued jobs next on the list for some more unit test coverage for sure.


Indicator Plan: Goal indicators disappear when indicator plan is grouped by results chain.

From Slack, Goal indicators disappear when indicator plan is grouped by Results chain.

I am consistently seeing indicators for the top level, regardless of how I group them in the indicator plan.


doc(datepicker): Remove outdated comments

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[X] Docs have been added / updated (for bug fixes / features)
[ ] If applicable, have a visual design approval

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[X] Documentation content changes
[ ] clarity.design website / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Comments in some files under src/app/datepicker:
// Note the .css extension here, not .scss. That's the best we can have at the moment.

could be removed as the files in question have .scss extension now.
Issue Number: N/A
What is the new behavior?
Outdated comments are removed.
Does this PR introduce a breaking change?

[ ] Yes
[X] No

Other information

Hey @mapx, could edit the commit message and include the Signed-off-by

The latest commit was amended to meet that :)


setRuleset in durableEngine refers to rulesetName

Attempting to use durableEngine in a NodeJS project, and found that loading rules using setRuleset throws a ReferenceError. When calling saveRulesets on line 809, it references rulesetName, which isn't in the method signature or directly defined anywhere that would be accessible to the method.
Was this meant to loop over the ruleset names returned by registerRulesets? Was it considered to be no big deal since saveRuleset is apparently just a hook at the moment? Have I missed something important when creating my implementation?

Hi, thanks for reporting this issue. I have pushed a fix. Please use version 2.0.8. The following code works now as expected:
d.getHost().setRulesets({ risk: {
    suspect: {
        run: function(c) { console.log('fraud'); },
        all: [
            {first: {t: 'purchase'}},
            {second: {$neq: {location: {first: 'location'}}}}
        ],
    }
}}, function(err){});

d.post('risk', {t: 'purchase', location: 'US'});
d.post('risk', {t: 'purchase', location: 'CA'});

Thanks! Works as expected.


Metric rendering handles empty data for "average" analysis query

This script will throw if there's no results for "average", "minimum" or "maximum" queries while trying to render a Metric.
this.data() will evaluate to [[]] so this.data()[1][1] tries to evaluate undefined[1], throwing an error

Let me know if you want me to revert the changes to files in /dist/ :)

@Dan-Nolan thanks for taking time to put this in! Should we consider addressing how responses with no results are parsed first? Getting [[]] from this.data() sounds somewhat unexpected.
Also, check out keen-dataviz.js when you get a chance. We've made a bunch of updates and improvements here and will soon be rolling this into keen-js under a major version bump.

We have a few things going out today – if you wouldn't mind syncing this with master, I can add this to our next release. Thanks again for your help!

Handling this in #388- thanks again @Dan-Nolan!

I did want to come back to fix this, but never got the chance. Thanks @dustinlarimer, glad to hear you guys handled it!


Bug 1937535: retry image pulls during builds

Have the builder retry if it fails to pull an image, one which we didn't pre-pull ourselves, during the build.

this stems from a conversation with the test platform team around hiccups with pulling in image source content
https://coreos.slack.com/archives/CHY2E1BL4/p1615396283034600 for the tl;dr
@hongkailiu @alvaroaleman FYI

/assign @adambkaplan
for approve label

/retest

/title Bug 1937535: retry image pulls during builds

/retitle Bug 1937535: retry image pulls during builds

/bugzilla refresh

there seems to be some consistent failures in e2e-aws-builds now, but I don't see how these changes could have induced them

Launching cluster launch openshift/builder#222 is failed using cluster-bot, I raise issue https://coreos.slack.com/archives/CBN38N3MW/p1615439449195800

Launching cluster launch openshift/builder#222 is failed using cluster-bot, I raise issue https://coreos.slack.com/archives/CBN38N3MW/p1615439449195800

for those who have not opened up that thread, there is a known issue with cluster-bot launching clusters from any PRs

So I've started debugging the e2e-aws-builds failures.  So far, seems unrelated to this PR.
With the first, [sig-builds][Feature:Builds][Slow] starting a build using CLI  start-build test context binary builds shoud accept --from-archive with https URL as an input , there seems to be an unrelated ruby 2.7 hiccup.
2021-03-10T20:17:17.942829557Z STEP 9: RUN scl enable rh-ruby27 "bundle install"
2021-03-10T20:17:19.512648314Z Unable to open /etc/scl/conf/rh-ruby27!
2021-03-10T20:17:26.749584552Z error: build error: error building at STEP "RUN scl enable rh-ruby27 "bundle install"": error while running runtime: exit status 1

I looked upstream, and @vrutkovs got a PR merged yesterday, https://github.com/openshift/ruby-hello-world/pull/121, to update things to 2.7.  The way this test works, the archive downloaded is the master branch of this repo.
And the line that fails was one updated by his PR I believe:  https://github.com/openshift/ruby-hello-world/pull/121/files#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557R8
And looking at the buildconfig used for that test, it is still pointing to ruby:2.5 for its from image:  https://github.com/openshift/origin/blob/master/test/extended/testdata/builds/test-build.yaml#L137
So I think e2e-aws-builds will be blocked until we update that test-build.yaml
Do you already have a PR up for that @vrutkovs ?
[sig-builds][Feature:Builds][Slow] builds should support proxies start build with broken proxy and a no_proxy override should start a docker build and wait for the build to succeed is hitting the same thing
and those were the only sig-builds failures in that last run
@adambkaplan @bparees FYI

Yup, https://github.com/openshift/origin/pull/25949 should move tests to Ruby 2.7

Yup, openshift/origin#25949 should move tests to Ruby 2.7

ok cool good to know @vrutkovs
taking a quick peek at that PR, it is big enough that if there is delays in merging it, I might want to pursue a subset PR that fixes the 2 e2e's so we unblock e2e-aws-builds and e2e-gcp-builds ... we'll play it by ear for now

/hold
Looks like hello-openshift updates broke us :/

the build suite is passing again in https://github.com/openshift/origin/pull/25949
@bparees has tagged that for merge and I'm monitoring it for required vs. non-required e2e semantics

/retest
/hold cancel

the test platform guys wanted this backported to 4.7
@hongkailiu @alvaroaleman FYI
/cherrypick release-4.7


The README Logo is Invisible on GitHub Light Theme

Just noticed that the logo is invisible on the GitHub light theme. Not a huge deal, because you can't see it at all, but might be something to fix sometime.

I honestly would have never noticed, literally first thing I do if something is blasting with white brightness is find the dark theme option. Thank you for noticing and opening an issue.

Awesome, that worked great! I didn't realize there was a good way to do different images for light and dark.


Excluded targets option array support

When using xcov as a gem from something like Danger managing excluded targets as comma seperated string becomes cumbersome.
This change adds handling for when targets is passed in as an array it returns it directly, otherwise the behaviour is unchanged.

Didn't think about this case, thanks @tapi 👍

Happy to contribute, thanks for the tool


[EC-67] Provide Block header, Block receipts and Block body download

Allow connected clients to download bodies, headers and receipts

@ntallar I pushed updated version of nodes children encoding/decoding

LGTM the node encoding/decoding!

@AlanVerbner / @ntallar merged all the things, could you take a look?


[rust] Fix deleteModel error

Description
Brief description of what this PR is about

If this change is a backward incompatible change, why must this change be made?
Interesting edge cases to note here

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

Project coverage is 63.52%. Comparing base (97c6a0d) to head (ede6370).
Report is 5 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3229      +/-   ##
============================================
- Coverage     63.52%   63.52%   -0.01%
+ Complexity     6453     6452       -1
============================================
  Files           697      697
  Lines         32808    32808
  Branches       3419     3419
============================================
- Hits          20842    20841       -1
  Misses        10388    10388
- Partials       1578     1579       +1

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


Update README.md

Added some Value addition details for JavaScript: Data Types

@microsoft-github-policy-service agree [company="You"]

@microsoft-github-policy-service agree

Thank you for your recommendations to add these more detailed descriptions and information! At this time, we are not looking to add this to the curriculum. But this would be great information to add to a discussion.


Add support baseVertex for GPURenderPassEncoder

Hi!
It would be nice to have baseVertex support for the mesh.
https://developer.mozilla.org/en-US/docs/Web/API/GPURenderPassEncoder/drawIndexed
https://github.com/playcanvas/engine/blob/03920ded44f6cee81ab16a904551b8b1ddecaeb5/src/platform/graphics/webgpu/webgpu-graphics-device.js#L521
https://github.com/playcanvas/engine/blob/03920ded44f6cee81ab16a904551b8b1ddecaeb5/src/scene/mesh.js#L256

WebGL 2 adds support for this using ** WEBGL_draw_instanced_base_vertex_base_instance** but its support seems to be very low (less than 1%)

WebGL 2 adds support for this using WEBGL_draw_instanced_base_vertex_base_instance but its support seems to be very low (less than 1%) here https://web3dsurvey.com/webgl2

If you focus on chrome-like browsers, they have support; this greatly speeds up the work with indexes, for example for the LOD system.

I see this:

My MacOS on latest Chrome does not expose this extension.
What data do you see?

Sorry, I'm talking about webGPU support.
https://developer.mozilla.org/en-US/docs/Web/API/GPURenderBundleEncoder/drawIndexed#browser_compatibility

Closed https://github.com/playcanvas/engine/pull/6977

this needs to stay open till the implementation is merged in.


iox-1750 Add Expects to cxx::expected::value() and get_error()

Pre-Review Checklist for the PR Author

[x] Code follows the coding style of CONTRIBUTING.md
[x] Tests follow the best practice for testing
[x] Changelog updated in the unreleased section including API breaking changes
[x] Branch follows the naming format (iox-123-this-is-a-branch)
[x] Commits messages are according to this guideline

[x] Commit messages have the issue ID (iox-#123 commit text)
[x] Commit author matches Eclipse Contributor Agreement (and ECA is signed)

[x] Update the PR title

Follow the same conventions as for commit messages
Link to the relevant issue

[x] Relevant issues are linked
[x] Add sensible notes for the reviewer
[ ] All checks have passed (except task-list-completed)
[x] All touched (C/C++) source code files from iceoryx_hoofs are added to ./clang-tidy-diff-scans.txt
[x] Assign PR to reviewer

Notes for Reviewer

Add Expects to cxx::expected::value() and get_error()
Fix legacy coding rule and add two doxygen comments

Checklist for the PR Reviewer

[ ] Commits are properly organized and messages are according to the guideline
[ ] Code according to our coding style and naming conventions
[ ] Unit tests have been written for new behavior
[ ] Public API changes are documented via doxygen
[ ] Copyright owner are updated in the changed files
[ ] All touched (C/C++) source code files from iceoryx_hoofs have been added to ./clang-tidy-diff-scans.txt
[ ] PR title describes the changes

Post-review Checklist for the PR Author

[ ] All open points are addressed and tracked via issues

References

Closes #1750

the issue itself is based on a false assumption. Accessing a non existing value or error in an expected is defined behavior. The underlying variant returns nullptr in get_type_at_index which is used in the expected implementation.
So accessing a non existing value or error is defined as dereferencing a nullptr.
The question which now remains: should we call the error handler and where. Since this is not a problem of the expected but the underlying variant I suggest to adjust the methods there. We could adjust get_type_at_index so that it does no longer return a nullptr when the type is not emplaced there but calls the error handler.
What do you think?

@elfenpiff
I was thinking about this before. Looking at the STL API of std::variant I came to the conclusion, that returning a nullptr and putting the burden on the user to check it, is the best we can do. std::variant uses an overloaded std::get method which throws an exception in the error case. We also do use nullptr in other places like container::vector::data() or memory::unique_ptr::get().
In this particular case, in my opinion it's not the task of the variant to check the validity but the task of the user. In this case the user is the expected and this class has the burden to check if the underlying variant can safely be accessed.
Let's say the following would be defined behaviour, which error would returned from get_error?
auto sut = expected<Foo, Bar>::create_value(VALID_VALUE);
auto foo = sut.get_error();


importHelpers generates code, that is incompatible with browsers

Currently enabling importHelpers adds
import * as tslib_1 from "tslib";

at the top of every source file.
Such notation is not compatible with browsers. Nowadays, all modern browsers supports Ecma modules, there's no reason for writing code that assumes Node.js environment + bundler build. Code should assume "Ecma modules" environment instead. And bundlers can stop being compilers and do the work they are supposed to do - create optimized builds (if needed at all).
The change is simple, importHelpers should generate:
import * as tslib_1 from "../../../node_modules/tslib/index.js";

The path to "node_modules" should be determined at compile time of course.

Meanwhile in #30472... 😕

I can see people will be living in the past (assuming Node.js modules resolution scheme) for quite a long time. And this scheme inevitably has to be supported for some time, for backward compatibility.
However, the TypeScript development team should live in the future, and future is ES6 modules.
This particular issue may be not so critical (one can just not use importHelpers during development and only enable it in optimized build), but the point is to change the vision of the TS team on this topic.


Mortn Cannot Select Library or Location

Interactive scanning. Morton is listed but we cannot select our library or location.

Added Morton


Version 9.4.0-rc1

Checklist

[X] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[X] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[X] Ensured the license file is being packaged.

Update recipe to test 9.4.0-rc1.
Added macOS support :-)
Note that this is to update the rc branch. Will not impact the default version.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender


Add a tool to self document REST API (eg. swagger)

Swagger (https://swagger.io/) or similar tool would improve TA developer and TA user experience

@hsekowski-splunk Swagger for which API?

REST API
Updated the issue summary 😇


Bedrock pipeline for integration tests is no longer handling white-listed toggling

Describe the bug:
In the CI/CD pipeline for Bedrock, the integration tests are no longer being toggled based on PR diff between Master and head node.
To Reproduce:
Push PR to a subdirectory that triggers a respective test. The integration test will not be toggled.
Its set when the git diff for the PR is captured. In this commit. All tests are to run and its logged - https://dev.azure.com/epicstuff/bedrock/_build/results?buildId=8570&view=logs&j=cc158a69-e415-5d02-d514-691e0cc44014&t=0ddbddfe-67b7-538d-5060-0315564e27d5&l=41
Yet in the later stage the conditional env var set to Null
Evaluating: and(succeeded(), or(eq(variables['AZ_SIMPLE_TEST'], 'true'), eq(variables['ALL_IT_TESTS'], 'true')))

Does this require updates to documentation?:
No

@sarath-p @jmspring @andrebriggs @timfpark  - Multi Job output variables are not supported between stages (https://github.com/MicrosoftDocs/vsts-docs/issues/4466). As a workaround, we were writing pipeline vars as a published artifact which I believe has stopped working due to a recent update in the pipeline runtime.
One quick fix is to place our Integration Tests all in the 1st stage so our whitelisting vars are passed correctly. I proofed it out here. The failed tests are due to a golang package issue that may have been created in the months where the integrations tests were not running.

@NathanielRose let's create an issue to publish test results for Bedrock integration tests. The reason for this is to highlight when tests are not working earlier. I noticed we have no easy metrics around the history of integration tests


try add predict manual

Codecov Report

Merging #74 (575c0bc) into main (d879444) will decrease coverage by 6.71%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##              main      #74      +/-   ##
===========================================
- Coverage   100.00%   93.28%   -6.72%
===========================================
  Files            9       10       +1
  Lines          514      551      +37
===========================================
  Hits           514      514
- Misses           0       37      +37

Impacted Files
Coverage Δ

src/SurvivalEstimator.jl
100.00% <ø> (ø)

src/plots.jl
0.00% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add custom filter when using Gradle dependancy

I've been trying to find away to add custom filters while using the Gradle dependancy. However I haven't had any luck in doing so.
Is there any example of projects that have done this successfully?
Or is everyone just adding this as a module and editing the code directly?

You can split the library module, keep the libCGE module and write your code in the other module.
But the easiest way is what you said just adding this as a module and editing the code directly.


Add a suppressReportIssue option

This seems like a nice feature, particularly for failures in docker build and docker run in debugging tasks which are 95+% user fault...

@nturinski I've noticed that the build pipelines keep "losing" the macOS job, and it times out after an hour. It's happening across branches and build definitions (vscode-docker, too). Any idea what's going on?

@bwateratmsft Not really sure, but had noticed it has been happening across our repos too.

Oh yeah, you'll have to bump the package.json version and then run an npm install to update the package-lock.json


[#4759] Migrate off @azure/core-http

Fixes # 4759
Description
This PR migrates the deprecated @azure/core-http library to the newer ones like core-rest-pipeline, core-client, etc.
Multiple functionalities from the new libraries have been converted to be closely related to core-http to avoid breaking changes as close it can be, for that we mostly used the core-http-compat library and some other utility code we have created.
Specific Changes

core-http related code have been moved to botbuilder-stdlib to maintain the migration compatibility across BotBuilder libraries.
Created ServiceClientContext class to maintain compatibility across ConnectorClient, LuisRuntimeClient, TeamsConnectorClient, etc.

This new class contains all the functionality to map core-http functionality to core-rest-pipeline, to make requests and manage policies.

Updated imports to use botbuilder-stdlib instead of core-http.
Removed core-http package, and installed the new ones.

Testing
The following image shows ...

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

129 of 148 (87.16%)  changed or added relevant lines in 22 files are covered.
6 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.4%) to 84.223%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

libraries/botframework-connector/src/auth/botFrameworkClientImpl.ts
2
3
66.67%

libraries/botbuilder-stdlib/src/azureCoreHttpCompat/serviceClientContext.ts
57
75
76.0%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-ai/src/luisRuntimeClientContext.ts
1
60.0%

libraries/botframework-streaming/src/webSocket/webSocketServer.ts
1
97.22%

libraries/botbuilder/src/streaming/streamingHttpClient.ts
4
63.16%

Totals

Change from base Build<PHONE_NUMBER>8:
-0.4%

Covered Lines:
20447

Relevant Lines:
23117

💛  - Coveralls

/promoted 4834


Same width scales in two independent charts (Fixed scale step width)

Hi guys,
I'd like to make two different type charts, with same y-axis scale width.
What I've got already.

What I'm trying to achieve:

Is there a way to have same width scales on two different charts ?

@mdopieralski which version are you using?

Hi @etimberg, I use v 2.1.4.

Is it possible to post a fiddle of what you have so far?

I'm also trying to do this (in v2). I've tried setting the paddingLeft etc. properties on the scales and fudging setting the minSize structure.. but they don't seem to have any effect.
I have 2 y-axis scales on 2 charts one above the other but with different labels and I'd just like to be able to align the actual data section of the charts to each other somehow.
Charts seems to always do a best-fit and I appreciate that for it to work with 2 charts they'd need to agree on how wide the scale should be - so I'm just looking to either fix the width of the scale, or fix the draw-area for the chart itself.
I found a fiddle here which creates a new chart type and overrides the draw function (v1 charts) but wondering if this is really the right way to achieve this? http://jsfiddle.net/2kmf10hg/
Thanks a lot

Got it working now. The "afterFit" callback passes a scale which has a calculated "width" property on it. You can override it at that point to force it to a certain width:
options: {
	scales: {
		xAxes: [{
		}],
		yAxes: [
			{
				id: 'yAxis1',
				position: 'left',
				afterFit: function (scale) {
					scale.width = scaleWidth;
				},
			}
		]
	}
};

Closing since there was a good answer from @olliholliday


ANNOTATION_IGNORE for correct annotation string when using tab idents

Zend\Code\Scanner\AnnotationScanner doesn't support tabs.
If someone use tab indents instead of spaces (many projects in my company and we all use auto formatting in Netbeans) annotations will be marked as ANNOTATION_IGNORE.
Doctrine annotations support both ways of formatting.

https://github.com/zendframework/zf2/pull/7113 Fix this

This issue has been closed as part of the bug migration program as outlined here - http://framework.zend.com/blog/2016-04-11-issue-closures.html


Db connection shouldn't block fast path completion

Describe the bug
A clear and concise description of what the bug is.
If there an DB error, sequencer can't complete the transfer. It reverts with execution error.
Solution:

Try/catch DB error and log it, instead of throwing it.

To Reproduce
Steps to reproduce the behavior:

Go to '...'

Additional context
Add any other context about the problem here.

Working on figuring out where to add try-catch.

Need to fix unit tests.

In review.

done


Add dependabot for the GitHub actions

Add dependabot for the GitHub actions to keep them up to date.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Use caching step from setup-python action

This matches changes in QCoDeS and allows us to remove the local step which is triggering deprecation warnings from github actions.

Codecov Report

Merging #387 (93e5ab1) into main (a9c6adb) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #387   +/-   ##
=======================================
  Coverage   79.04%   79.04%
=======================================
  Files          15       15
  Lines        2400     2400
=======================================
  Hits         1897     1897
  Misses        503      503

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


.login() got an unexpected keyword argument 'aud'

Describe the bug
Everything was working fine, up until two days ago, when I got this error, without any change in my code:
Traceback (most recent call last):

  File ~\Anaconda3\anaconda3\lib\site-packages\spyder_kernels\py3compat.py:356 in compat_exec
    exec(code, globals, locals)

  File my_script.py:41
    bsky.login(login=bsky_handle, password=bsky_password)

  File ~\Anaconda3\anaconda3\lib\site-packages\atproto\xrpc_client\client\client.py:74 in login
    session = self._get_and_set_session(login, password)

  File ~\Anaconda3\anaconda3\lib\site-packages\atproto\xrpc_client\client\client.py:40 in _get_and_set_session
    self._set_session(session)

  File ~\Anaconda3\anaconda3\lib\site-packages\atproto\xrpc_client\client\methods_mixin\session.py:68 in _set_session
    self._refresh_jwt_payload = get_jwt_payload(session.refresh_jwt)

  File ~\Anaconda3\anaconda3\lib\site-packages\atproto\xrpc_client\client\auth.py:18 in get_jwt_payload
    return JwtPayload(**plain_payload)

TypeError: __init__() got an unexpected keyword argument 'aud'

To Reproduce
Steps to reproduce the behavior:
from atproto import Client, models
bsky_handle = "mybskyaccount.bsky.social"
bsky_password = "xxxx-xxxx-xxxx-xxxx"
bsky = Client()
bsky.login(login=bsky_handle, password=bsky_password)

Expected behavior
Well, it should be able to connect 😄
Details

Operating system: Windows 10
Node version: no idea?

Additional context

I really don't know, it was working fine, until it wasn't anymore, without making any changes to my python setup, to my script or to my bluesky account.
I tried updating, but I have atproto v 0.0.29 already.
I tried using another app password, same error.
Neither my account nor my password contain "aud".

Sorry, just saw new version is 0.0.30. Updated and it's working again.

Well-detailed bug report! Thank you! But yeah it has been fixed already


Certificate error on Chrome m66: NET::ERR_CERT_AUTHORITY_INVALID

Looks like you're using an older Symantec cert that's been distrusted by Chrome.
Besides being insecure, this breaks live preview.

In canary or chrome stable? Because it was my understanding that I still two revisions to go before i needed to update the cert.

Sorry. Wasnt clear that I'm not on stable.
You do have some time. Not sure how much, exactly.
Unfortunately my company puts us on pre-stable builds, so you'll probably
start finding this is an issue more and more.
On Sat, Feb 17, 2018, 13:19 Remy Sharp<EMAIL_ADDRESS>wrote:

In canary or chrome stable? Because it was my understanding that I still
two revisions to go before i needed to update the cert.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jsbin/jsbin/issues/3214#issuecomment-366472174, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAueJY_0p52s-VCB9qxUZo9-O5K9SK7Vks5tV0JSgaJpZM4SJFjt
.

I can reproduce it on Chrome Canary (screenshot image - https://photos.app.goo.gl/DKHrjghkHux2obw42 )
I see it's as a Chrome Canary issue (bug or feature?), because I don't see the see error in other major browsers (Chrome Stable, FireFox Nightly and Edge).
I've sent feedback using Chrome's built-in UI. But don't know if I should report to anyone if we need to expedite a fix.

I'm renewing the SSL cert this week. Chime announced they're dropping trust for a specific cert supplier, it just happens to be the one I use, so I needed to buy a completely new SSL cert

Thanks @remy
This decision by Chrome is impactful. Even "more popular" sites like https://discussions.apple.com/ is untrusted.

@remy The html loads okay over https but all the static files from static.jsbin.com are still being rejected by Chrome Canary. Looks like it's not on the new cert yet.

This is the warning that I see in the console on Chrome 64 (stable):

The SSL certificate used to load resources from https://static.jsbin.com will be distrusted in M66. Once distrusted, users will be prevented from loading these resources. See https://g.co/chrome/symantecpkicerts for more information.

Can you all try now? I've just updated AWS's static cloudfront dooberry which, hopefully, means the SSL should be sorted on static.jsbin.com

Just to make sure I wasn't getting an old one due to Chrome caching it, I checked via command line and am still seeing a cert with an expiration date of 2018-08-04, signed by RapidSSL

$ gnutls-cli --print-cert static.jsbin.com
Processed 166 CA certificate(s).
Resolving 'static.jsbin.com:443'...
Connecting to '<IP_ADDRESS>:443'...
- Certificate type: X.509
- Got a certificate list of 2 certificates.
- Certificate[0] info:
 - subject `CN=*.jsbin.com,OU=Domain Control Validated - RapidSSL(R),OU=See www.rapidssl.com/resources/cps (c)14,OU=GT21873510', issuer `CN=RapidSSL SHA256 CA - G3,O=GeoTrust Inc.,C=US', serial 0x3fa6, RSA key 2048 bits, signed using RSA-SHA256, activated `2014-10-14 22:17:29 UTC', expires `2018-08-04 22:20:24 UTC', key-ID `sha256:6fe29e124c45d7d6cc6fdbba9ab0eebdc78df372ee739583f31e82051425bafe'
	Public Key ID:
		sha1:eaf881028d009c89c161e8c36b66de2b6f62e87d
		sha256:6fe29e124c45d7d6cc6fdbba9ab0eebdc78df372ee739583f31e82051425bafe
	Public key's random art:
		+--[ RSA 2048]----+
		|B++              |
		|==               |
		|+                |
		|.*               |
		|o +     S        |
		| *   . .         |
		|* o . o          |
		|.=.+ E .         |
		|o.=++.o          |
		+-----------------+

-----BEGIN CERTIFICATE-----
MIIEpzCCA4+gAwIBAgICP6YwDQYJKoZIhvcNAQELBQAwRzELMAkGA1UEBhMCVVMx
FjAUBgNVBAoTDUdlb1RydXN0IEluYy4xIDAeBgNVBAMTF1JhcGlkU1NMIFNIQTI1
NiBDQSAtIEczMB4XDTE0MTAxNDIyMTcyOVoXDTE4MDgwNDIyMjAyNFowgY8xEzAR
BgNVBAsTCkdUMjE4NzM1MTAxMTAvBgNVBAsTKFNlZSB3d3cucmFwaWRzc2wuY29t
L3Jlc291cmNlcy9jcHMgKGMpMTQxLzAtBgNVBAsTJkRvbWFpbiBDb250cm9sIFZh
bGlkYXRlZCAtIFJhcGlkU1NMKFIpMRQwEgYDVQQDDAsqLmpzYmluLmNvbTCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL7z2w9alIQuAnEMiviP7IIQ+T4J
Q8bFJ+rBoiIF/siSdj7h+O3hW79+bioIG3cjWPhR8NQexuW1MQN7dcopNtf9obwu
J+deCKN1Qr5/HnpHL75/76+ep6FLSEdmdTI2CVrpeqg8u+Tf0aKGVfS+jJCqh07A
EDDhQkfq7TwVpFjDSo0OL6d+atbatXq4prQJ8AZAKxQYUyjOhnu27NPazXzKTBO6
pCIe08WEDKRLNVD6aR1XIBGJY2xpV423UdmiUpW5Nn82m8P5ZlFBx6CM2bELgsfH
egdYdFh6fOqGXnAoJEtZ2mtVcT443YR87MckF+b/VHDdLY0WqZLcg0KGmaUCAwEA
AaOCAVIwggFOMB8GA1UdIwQYMBaAFMOc8/zTRgg0u85Gf6B8W/PiCMtZMFcGCCsG
AQUFBwEBBEswSTAfBggrBgEFBQcwAYYTaHR0cDovL2d2LnN5bWNkLmNvbTAmBggr
BgEFBQcwAoYaaHR0cDovL2d2LnN5bWNiLmNvbS9ndi5jcnQwDgYDVR0PAQH/BAQD
AgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAhBgNVHREEGjAYggsq
LmpzYmluLmNvbYIJanNiaW4uY29tMCsGA1UdHwQkMCIwIKAeoByGGmh0dHA6Ly9n
di5zeW1jYi5jb20vZ3YuY3JsMAwGA1UdEwEB/wQCMAAwRQYDVR0gBD4wPDA6Bgpg
hkgBhvhFAQc2MCwwKgYIKwYBBQUHAgEWHmh0dHBzOi8vd3d3LnJhcGlkc3NsLmNv
bS9sZWdhbDANBgkqhkiG9w0BAQsFAAOCAQEArquHG0/2YwpxpMGdE4Z9iAm/IIXe
70CSpFCp89e0qGkBv/9iOf7FCaCk1b6gbW4s9Bvh3zlXjY5oJAYGro3fOM7tfawm
AyELtZUBzTqZTqq5j0IbD/TVn1o0pW2ZMLXjZQKBcMqRl51sF/C/hp3RuXBGS5m+
SaXdM2PSVYGxmPmCttrnZpDfUfD+WhjxXWeHd4vQSpAymJe3AkXTu/iVUg9+TcxB
ArEASnby5Lsr/SzRpyAB1JIgnJoOYQ0szHm+1ifFATRk8ynvbjgRWX/fTUU38mTH
Ru9S2Aa9QS7TBjYABhlLOdQfCWT3eALeThpR/us8d56uYMobEJzqa27RVw==
-----END CERTIFICATE-----

- Certificate[1] info:
 - subject `CN=RapidSSL SHA256 CA - G3,O=GeoTrust Inc.,C=US', issuer `CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US', serial 0x023a77, RSA key 2048 bits, signed using RSA-SHA256, activated `2014-08-29 21:39:32 UTC', expires `2022-05-20 21:39:32 UTC', key-ID `sha256:e97d2234042d3c88d728455ca99070c8c711c2ad725bad39e3d6b16adbb7a031'

-----BEGIN CERTIFICATE-----
MIIEJTCCAw2gAwIBAgIDAjp3MA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
YWwgQ0EwHhcNMTQwODI5MjEzOTMyWhcNMjIwNTIwMjEzOTMyWjBHMQswCQYDVQQG
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXUmFwaWRTU0wg
U0hBMjU2IENBIC0gRzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCv
VJvZWF0eLFbG1eh/9H0WA//Qi1rkjqfdVC7UBMBdmJyNkA+8EGVf2prWRHzAn7Xp
SowLBkMEu/SW4ib2YQGRZjEiwzQ0Xz8/kS9EX9zHFLYDn4ZLDqP/oIACg8PTH2lS
1p1kD8mD5xvEcKyU58Okaiy9uJ5p2L4KjxZjWmhxgHsw3hUEv8zTvz5IBVV6s9cQ
DAP8m/0Ip4yM26eO8R5j3LMBL3+vV8M8SKeDaCGnL+enP/C1DPz1hNFTvA5yT2AM
QriYrRmIV9cE7Ie/fodOoyH5U/02mEiN1vi7SPIpyGTRzFRIU4uvt2UevykzKdkp
YEj4/5G8V1jlNS67abZZAgMBAAGjggEdMIIBGTAfBgNVHSMEGDAWgBTAephojYn7
qwVkDBF9qn1luMrMTjAdBgNVHQ4EFgQUw5zz/NNGCDS7zkZ/oHxb8+IIy1kwEgYD
VR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwNQYDVR0fBC4wLDAqoCig
JoYkaHR0cDovL2cuc3ltY2IuY29tL2NybHMvZ3RnbG9iYWwuY3JsMC4GCCsGAQUF
BwEBBCIwIDAeBggrBgEFBQcwAYYSaHR0cDovL2cuc3ltY2QuY29tMEwGA1UdIARF
MEMwQQYKYIZIAYb4RQEHNjAzMDEGCCsGAQUFBwIBFiVodHRwOi8vd3d3Lmdlb3Ry
dXN0LmNvbS9yZXNvdXJjZXMvY3BzMA0GCSqGSIb3DQEBCwUAA4IBAQCjWB7GQzKs
rC+TeLfqrlRARy1+eI1Q9vhmrNZPc9ZE768LzFvB9E+aj0l+YK/CJ8cW8fuTgZCp
fO9vfm5FlBaEvexJ8cQO9K8EWYOHDyw7l8NaEpt7BDV7o5UzCHuTcSJCs6nZb0+B
kvwHtnm8hEqddwnxxYny8LScVKoSew26T++TGezvfU5ho452nFnPjJSxhJf3GrkH
uLLGTxN5279PURt/aQ1RKsHWFf83UTRlUfQevjhq7A6rvz17OQV79PP7GqHQyH5O
ZI3NjGFVkP46yl0lD/gdo0p0Vk8aVUBwdSWmMy66S6VdU5oNMOGNX2Esr8zvsJmh
gP8L8mJMcCaY
-----END CERTIFICATE-----

- Status: The certificate is trusted.
- Description: (TLS1.2)-(ECDHE-RSA-SECP256R1)-(AES-128-GCM)
- Session ID: 11:F1:1B:5E:84:F0:F7:D9:4A:67:D9:42:AC:A7:A4:F7:0C:FD:52:FA:70:F1:CE:62:FB:22:47:C2:95:22:FE:7E
- Ephemeral EC Diffie-Hellman parameters
 - Using curve: SECP256R1
 - Curve size: 256 bits
- Version: TLS1.2
- Key Exchange: ECDHE-RSA
- Server Signature: RSA-SHA512
- Cipher: AES-128-GCM
- MAC: AEAD
- Compression: NULL
- Options: safe renegotiation,
- Handshake was completed

- Simple Client Mode:

Running the same command on my machine, and I see this:

I honestly don't understand why I'm seeing it as good and others are not…

Looks like you are hitting amazonaws.com and I am hitting cloudfront.net
$ nslookup <IP_ADDRESS>
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
<IP_ADDRESS>.in-addr.arpa	name = server-52-84-11-30.ord54.r.cloudfront.net.

$ nslookup <IP_ADDRESS>
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
<IP_ADDRESS>.in-addr.arpa	name = ec2-34-203-44-8.compute-1.amazonaws.com.

Authoritative answers can be found from:

If you are using a public name server, what is it?
$ nslookup static.jsbin.com
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
static.jsbin.com	canonical name = drt35l4oshkgr.cloudfront.net.
Name:	drt35l4oshkgr.cloudfront.net
Address: <IP_ADDRESS>
Name:	drt35l4oshkgr.cloudfront.net
Address: <IP_ADDRESS>
Name:	drt35l4oshkgr.cloudfront.net
Address: <IP_ADDRESS>
Name:	drt35l4oshkgr.cloudfront.net
Address: <IP_ADDRESS>
Name:	drt35l4oshkgr.cloudfront.net
Address: <IP_ADDRESS>
Name:	drt35l4oshkgr.cloudfront.net
Address: <IP_ADDRESS>
Name:	drt35l4oshkgr.cloudfront.net
Address: <IP_ADDRESS>
Name:	drt35l4oshkgr.cloudfront.net
Address: <IP_ADDRESS>

Just checked with my phone...doesn't look like it's updated yet.

Folks - this is the problem and I've no idea about how to resolve it.
Has anyone seen this anywhere else?

I just checked Hardenize (https://www.hardenize.com/report/static.jsbin.com/1521748413#domain_dns) and saw that <IP_ADDRESS> is configured for jsbin.com, but static.jsbin is set to drt35l4oshkgr.cloudfront.net which resolves to the 52 addresses.
Do you have a local dns-setting that changes the static.jsbin.com to the other ip address?

Jeezus…turns out there's an entry in my /etc/hosts file. Able to replicate, take a new look now.

Has anyone got any idea of how to determine where an SSL cert is coming from?
When served from the jsbin ec2 machine (<IP_ADDRESS>) the SSL cert is good.
When looking at the cloudfront configuration, it's using the certificate that I generated last week.
The latest thing I've tried is importing the certificate details into AWS, and using that imported cert against the cloudfront.
It says there's an update in progress, so we'll see…

I think I'm seeing it working. Can someone else give it a try so I can finally put this damn issue to bed!

Can confirm, looks good now 👍

Good here too. Using Chrome Canary Version 67.

My Chrome still has an old cert cached, but I can see the new one when manually hitting static.jsbin.com with the command line. :+1:

$ gnutls-cli --print-cert static.jsbin.com
Processed 166 CA certificate(s).
Resolving 'static.jsbin.com:443'...
Connecting to '<IP_ADDRESS>:443'...
- Certificate type: X.509
- Got a certificate list of 4 certificates.
- Certificate[0] info:
 - subject `CN=*.jsbin.com,OU=EssentialSSL Wildcard,OU=Domain Control Validated', issuer `CN=COMODO RSA Domain Validation Secure Server CA,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB', serial 0x00c49c43c2c01d96045ac7a7382a7b96b6, RSA key 2048 bits, signed using RSA-SHA256, activated `2018-02-25 00:00:00 UTC', expires `2021-02-22 23:59:59 UTC', key-ID `sha256:0dc2782696d020998ccc417ef06492880973c1610bf89e84385d460cbc6c3b40'
	Public Key ID:
		sha1:cf79b9e187079bcef5f548b1625e7c2e99986b6b
		sha256:0dc2782696d020998ccc417ef06492880973c1610bf89e84385d460cbc6c3b40
	Public key's random art:
		+--[ RSA 2048]----+
		|                 |
		|                 |
		|                 |
		|                 |
		|        S     .  |
		|         o ..o o |
		|          + *B*oo|
		|           *EB*=o|
		|           +O=..+|
		+-----------------+

-----BEGIN CERTIFICATE-----
MIIFSjCCBDKgAwIBAgIRAMScQ8LAHZYEWsenOCp7lrYwDQYJKoZIhvcNAQELBQAw
gZAxCzAJBgNVBAYT...

What I find useful for testing SSL in "DNS round robin" scenarios is using the --resolve option of curl, which let's you specify the IP of the server which should be used for a particular domain name.
For example the following bash code, would show you the certificate in use for any server registered for static.jsbin.com:
HOST="static.jsbin.com"
SERVER_IPS=$(host $HOST <IP_ADDRESS> | grep address | awk '{print $4}')

for i in $SERVER_IPS; do
        echo "curl -I -O --connect-timeout 10 --max-time 360 --verbose --resolve $HOST:443:$i https://static.jsbin.com/css/style.css | grep -n10 Trying"
done

Folks happy for me to close now?


Update variable delimiter handling to be per host/asterisk version

Change variable delimiter to be a command on asterisk >= 11
Change variable delimiter to be variable per host

passing build to travis (will close and re-open!)


Added support for imports

The coverage dropped to 99%, I will add a few more tests.

Coverage decreased (-1.2%) to 98.759% when pulling 87573a912f43552415e0b596bbfb5418c1b0bc9a on yuce:import-support into bbd4a5db515f272879da3dc9282b14031c70325e on pilosa:master.

Coverage decreased (-1.6%) to 98.395% when pulling defcb7c257003dd7f36d0e9557b5bc740f0622b7 on yuce:import-support into bbd4a5db515f272879da3dc9282b14031c70325e on pilosa:master.

Coverage remained the same at 100.0% when pulling 1c93313adefe766d83cee2d7acb515b769b8311c on yuce:import-support into bbd4a5db515f272879da3dc9282b14031c70325e on pilosa:master.

Coverage remained the same at 100.0% when pulling 704a5b9ccb1bf8d26eb28461e5b0cde3786a9d17 on yuce:import-support into bbd4a5db515f272879da3dc9282b14031c70325e on pilosa:master.

Coverage remained the same at 100.0% when pulling 4adb8cea9b826d484a200256ad22cabaafac39aa on yuce:import-support into bbd4a5db515f272879da3dc9282b14031c70325e on pilosa:master.

Coverage remained the same at 100.0% when pulling 56b1514ee498997aa58e28985477b780e158b1e6 on yuce:import-support into bbd4a5db515f272879da3dc9282b14031c70325e on pilosa:master.

Coverage remained the same at 100.0% when pulling 8210c359a60e8106dda7b5938972ec34ce6538ed on yuce:import-support into bbd4a5db515f272879da3dc9282b14031c70325e on pilosa:master.

@jaffee replaced the iterator callback with the next pattern

Coverage remained the same at 100.0% when pulling 947094211f8808074d41ec073efb9f0c94392253 on yuce:import-support into bbd4a5db515f272879da3dc9282b14031c70325e on pilosa:master.

Coverage remained the same at 100.0% when pulling cee1d490e2b0f823b395223e9cc605cf2b30c24b on yuce:import-support into bbd4a5db515f272879da3dc9282b14031c70325e on pilosa:master.

@travisturner @jaffee does this PR look OK to merge ?


[WIP] Improve consistency of widget appearance (uw-frame)

This PR goes hand-in-hand with angularjs-portal #517. The only reason changes to frame are included is because some of the CSS related to widgets already lived there.
I've tried to separate the responsibilities a bit such that frame's widget-related CSS has to do with general styles (i.e. outer container attributes), whereas portal's widget-related CSS has to do with specific widget types that only exist in portal (i.e. list-of-links, weather, etc.).
More info and screenshots in angularjs-portal #517.

Coverage remained the same at 33.499% when pulling 62c7bbf0485fe29caa0473863d423926467ce95d on thevoiceofzeke:widgets into 01fe335d39d0f24399870f1090252f34be29ca32 on UW-Madison-DoIT:master.


Support for regression problems in feed forward neural network.

I'm working towards this (I haven't yet settled on a good interface). In the meantime, you might try to use MeanSquaredError as loss layer.


"npm run build-jq" fails when building Aleph

Hello, I'm trying to build Aleph on version 6.9.1 of Node on Ubuntu 16.04.1 LTS with release 1.2.1 of Aleph but it fails with the follow error:

<EMAIL_ADDRESS>build-jq /usr/lib/node_modules/aleph
node scripts/build-jq.js

building jq...
err { Error: ./configure --disable-maintainer-mode && make && cp ./jq /usr/lib/node_modules/aleph/node_modules/.bin/jq
Command failed: cp ./jq /usr/lib/node_modules/aleph/node_modules/.bin/jq
cp: cannot create regular file '/usr/lib/node_modules/aleph/node_modules/.bin/jq': Permission denied
at ChildProcess.exithandler (child_process.js:206:12)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
at maybeClose (internal/child_process.js:877:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)

killed: false,
code: 1,
signal: null,
cmd: 'cp ./jq /usr/lib/node_modules/aleph/node_modules/.bin/jq' }
npm ERR! Linux 4.4.0-47-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "build-jq"
npm ERR! node v6.9.1
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>build-jq: node scripts/build-jq.js
npm ERR! Exit status 1
This also fails as root. Any ideas?

Thanks for reporting this; I was just able to reproduce on a 16.04 VM.  I should hopefully have a fix soon and we'll publish a new point release.

Hey @robertsdotpm, I just pushed a 1.2.2 release and now I can run npm install -g aleph on my ubuntu 16.04 VM.  Hopefully that'll clear it up for you as well.  Thanks again!

Thanks for the fix. I've tested it again and can confirm that it's all working for me :+1:


citation key format nopunctordash filter list

Where does nopunctordash get its filter strings from? I just realized that the character ─ commonly used as a CJK dash is not filtered.
A quick hack would be to add ─ to the skipwords list, but it makes the list messy.
Support log ID:
BS2NMUCX-refs-apse
Expected behavior:
Filter out ─ from citekey with nopunctordash in Title.
Citation key format settings:
[Auth]_[Title:nopunctordash:jieba:skipwords:capitalize:select=1,3]_[year]
Actual behavior:
─  not filtered out in citekey.

punctuation is anything that matches character classes Pe, Pf, Pi, Po or Ps, dash is anything that matches character class Pd (and I'm adding Pc, which I had overlooked).
This character is Box Drawings Light Horizontal, which is from character class Other Symbol; I can't include this character based on it's character class. So the only option I have would be to include it specificallly. Which I don't mind doing, but yes, it would be a sort of hack.

Wow, I never realized that.
I think many Chinese IMEs use this character in place of the EM DASH and TWO EM DASH either out of ignorance or as a hack for certain fonts to display that symbol properly.
Since I can customize my own IME, I'll replace the character with the more formal EM DASH, which is recognized as such and filtered out by your code.

I mean... these drawing chars have no sensible interpretation other than use as pseudo characters. I might as well treat it as a dash, certainly if this is the default behavior for some IMEs.

That should be good, too!
If that's the case, you should take note of the and Hyphen-minus (U+FF0D),  Horizontal bar (U+2015). They are also commonly used in place of the EM DASH, according to Wikipedia.

Can you try build 1286?

1313 worked as expected. Thank you!

Super, thanks, that will go into the upcoming update.


Accept parameter value null in neo-invoke scripts

When trying to invoke the transfer method of the NeoToken, it is not intuitive what to do when one does not want to pass any data (i.e., the 4th parameter). I tried with simply null but that disregards that parameter and tries to invoke a method transfer with only 3 parameters (which doesn't exist and thus fails).

Suggestion: Allow passing a value which would translate to the opcode PUSHNULL in the invoke script. For example, simply null like mentioned above.

New observation: If you write null in the interactive mode, nothing is added to the actual .json file. If I add null manually in the JSON editor mode, it converts to the PUSHNULL opcode in the invoke script as expected.


Consistent CMD/Env Vars with iotedge

Is your feature request related to a problem? Please describe.
Not related to a problem, rather a matter of consistency.
As the publisher environment variable for Upstream transport protocol is defined as Transport where the iotedge modules of edgeHub and edgeAgent use UpstreamProtocol. I would like to see consistency in this regard, this makes it easier to configure in automations and deployments

In 2.9.0 release 2 it should now be possible to use the requested environment variable name as alternative.


Programmatically add binding to ProjectContext at runtime

Dependencies added to a ProjectContext via MonoInstaller inject just fine into newly loaded scenes. How can I add bindings at runtime so that they are injected into newly loaded scenes/containers?
I've tried the following approach, which didn't work:
var obj = _factory.Create();
ProjectContext.Container.BindInstance(obj);

Thanks!

The approach that you provided, of directly binding to the ProjectContext container should work so I don't know why it doesn't.  However - this is bad DI practice.  The way DI is meant to be used is that the bindings for a container happen only once before any of the objects inside the container are created.
If you have parameters that you want to pass in to another scene, can you use ZenjectSceneLoader for that?


log funtion does not accept variable length arguments

Describe the bug
log syntax/04_function.md
Reproducible code
Erg interpreter 0.2.8 (tags/?:, 2022/08/25 23:56:48) on aarch64/macos

>>> log "Hello"
Hello
None

>>> log "Hello", "World"
Error[#1549]: File <stdin>, line 1, in <module>
1│ log "Hello", "World"

   ^^^
TypeError: too many arguments for log:
total expected params:  1
passed positional args: 2
passed keyword args:    0

Expected behavior
Expected that it printsHello World.

Fixed in https://github.com/erg-lang/erg/pull/94.


Persistant term metrics

BEAM plugin updates. Address #66

Pull Request Test Coverage Report for Build 11ab1f130fbc37355a8219bef144033a4971d392-PR-75

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 86.305%

Totals

Change from base Build 3280253dd94b80d7750e03a4192e1d41c203245b:
0.02%

Covered Lines:
605

Relevant Lines:
701

💛  - Coveralls


Error when adding app audio track in ReplayKit SampleHandler

Description
I am trying to add app audio using ExampleCoreAudioDeviceRecordCallback(sampleBuffer) to the broadcast extension. However, when I use the following code to add it, I got a crash from the broadcast extension:
Code
    override func processSampleBuffer(_ sampleBuffer: CMSampleBuffer, with sampleBufferType: RPSampleBufferType) {
        switch sampleBufferType {
        case RPSampleBufferType.video:
            videoSource?.processVideoSampleBuffer(sampleBuffer)
            break
        case RPSampleBufferType.audioApp:
            // trying to add app audio
            ExampleCoreAudioDeviceRecordCallback(sampleBuffer)
            break
        case RPSampleBufferType.audioMic:
            // I don't want mic audio
            break
        }
    }

Otherwise I use the code from your latest ReplayKit example. It is reproducible with ReplayKit example on 2.6.0-preview branch of video-quickstart-swift, you just need to move the ExampleCoreAudioDeviceRecordCallback(sampleBuffer) from RPSampleBufferType.audioMic to RPSampleBufferType.audioApp.
Expected Behavior
Broadcasting the screen capture along with the system audio (not mic)
Actual Behavior
The broadcast extension crashes
Logs
didConnectToRoom:  <<TVIRoom: 0x283e9ed80> name: 4D149C63-8BD7-4CCB-A37F-04DDDE6175AA, state: Connected, sid: RM8043cedde0c5210929792b120f3edf55, delegate: <squad_broadcast.SampleHandler: 0x283b950a0>>
2018-12-17 11:05:51.289171+0100 squad-broadcast[635:8535] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'The supplied sizeInBytes is invalid. The sizeInBytes must match with the size returned by TVIAudioFormat:bufferSize utility method.'
 So far I haven't tested capturing app (as opposed to mic) audio using ReplayKit, but it seems like there might an issue with how the sample size is being specified.
Best,
Chris

Hi,
Trying this out and debugging locally, it looks like ReplayKit is delivering a very large number of microphone audio samples at a time, more so than TVIAudioDeviceContext is prepared to deal with. By spending some additional memory we could solve this problem.
	numSamples = 22596

This is pretty much a half second of audio that we are being asked to consume. This is absolutely not typical behavior of any Apple audio API which work in much smaller slices...
CMSampleBuffer 0x12a0090b0 retainCount: 8 allocator: 0x1b24655f0
	invalid = NO
	dataReady = YES
	makeDataReadyCallback = 0x0
	makeDataReadyRefcon = 0x0
	formatDescription = <CMAudioFormatDescription 0x2816fc630 [0x1b24655f0]> {
	mediaType:'soun'
	mediaSubType:'lpcm'
	mediaSpecific: {
		ASBD: {
			mSampleRate: 44100.000000
			mFormatID: 'lpcm'
			mFormatFlags: 0xe
			mBytesPerPacket: 2
			mFramesPerPacket: 1
			mBytesPerFrame: 2
			mChannelsPerFrame: 1
			mBitsPerChannel: 16 	}
		cookie: {(null)}
		ACL: {(null)}
		FormatList Array: {(null)}
	}
	extensions: {(null)}
}
	sbufToTrackReadiness = 0x0
	numSamples = 22596
	sampleTimingArray[1] = {
		{PTS = {25222430444916/1000000000 = 25222.430}, DTS = {INVALID}, duration = {1/44100 = 0.000}},
	}
	dataBuffer = 0x2816fc5a0

Other than that the TVIAudioFormat appears to be created correctly. That being said, we expected a much lower number of frames than ReplayKit is giving us. What I would try next is increasing this line: https://github.com/twilio/video-quickstart-swift/blob/2.6.0-preview/ReplayKitExample/BroadcastExtension/ExampleReplayKitAudioCapturer.m#L11
If ReplayKit insists on such large samples you would need to consume at least 22,596 frames at a time.
// Making this larger is a start.
static size_t kMaximumFramesPerBuffer = 2048;

I'm writing this from the middle of a meeting. More detailed debugging will have to wait.
Best,
Chris

Hi Chris!
Thanks for prompt reply. I tried updating kMaximumFramesPerBuffer to 22596. Now there is no error, which is nice. However, the audio is not played - there is silence.
I am wondering if that is not the result of our setup. We have an app with video call implemented, for which there is a TVI participant. Now to be able to broadcast screen share, I am conntecting from the broadcast extension using a different identity, therefore as a different TVI participant. The first, lets call it camera participant, broadcasts camera video track + microphone audio track. This works nicely. Now  the broadcast participant (the one from the broadcast extension) broadcasts the output generated by ReplayKit as video track, and I was hoping to make it work with in app audio track. However, I can imagine that the current problem might potentially be result of the given setup - there are two participants connected to the same room from the same device - one is trying to broadcast microphone audio, the other one app audio. The mic audio works, the in app does not. Could it maybe be the problem with feedback from in app (our app generates sounds from the room, the extension consumes it and broadcasts it back to the room, etc.)?

Hi @MilanNosal,

... there are two participants connected to the same room from the same device - one is trying to broadcast microphone audio, the other one app audio. The mic audio works, the in app does not ...

Unfortunately, I have not tried the setup that you describe. If you need both the app and microphone audio you probably want to tap that out at the same place (an app, or an extension). If you need full duplex audio playback and recording this might only be possible in an app.
We have a conferencing mode in the example which uses ReplayKit for video, records from the mic, and plays back remote audio. It does not however, capture app audio and is of course limited to your own app screen.
As for extensions, we have a long standing request to mix app and microphone audio. (
https://github.com/twilio/twilio-video-ios/issues/7).
I am handing this issue over to @piyushtank who will investigate further. We should be able to at least support capturing from the microphone using ReplayKit in an extension.
Regards,
Chris

@ceaglest Thanks for the info, regardless of the setup, I still have not seen a way to capture app audio, it would be really great to see in example working to make sure it even is compatible with twilio in the simplest case (Just from the broadcast extension and no mixing mic)

Hi,

Thanks for the info, regardless of the setup, I still have not seen a way to capture app audio, it would be really great to see in example working to make sure it even is compatible with twilio in the simplest case (Just from the broadcast extension and no mixing mic)

I agree, and we have cut ISDK-2334 for internal tracking on the issue. We need to get this working before moving onto the next step, and @piyushtank has got you covered on this one.
Thanks for your patience,
Chris

@MilanNosal Thanks for filing the issue. Wanted to let you know that I have started working on the problem and I am able to reproduce it.
I will keep you posted.
Piyush

Hi @MilanNosal
I observed, for microphone audio, ReplayKit delivers audio samples in little endian format. And, for app audio, the audio samples are delivered in big endian. The Video SDK expects audio samples in little endian format. In future, we will add this to our SDK documentation or update our SDK to handle big endian internally in future.
For now, I posted a PR to fix this problem in our ReplayKit sample app. See [PR] for for the fix. Try it out and let me know.
Best,
Piyush

Hi @piyushtank
Thank you for your fast reply and working out the issue. I've updated the code based on your PR, and it fixed the issue. I am glad to also mention that it works nicely even in our complicated setup. We are going to test it more, and if we won't find any problems, I believe we can close the issue. Thanks again!
Best,
Milan

Hi @piyushtank !
I've just noticed one weird thing when using the PR example - when I use for example Youtube app, the SampleHandler works as expected - the sound is being broadcasted. However, when I use the iOS Music app (the default music player), there is no sound from it. It is as if the ExampleReplayKitAudioCapturer implementation has somehow overriden the sound. The music is not played both on the local device and it is also not broadcasted. Since this is one of the use cases we need in the app, I am reopening the issue.
Best regards
Milan

@MilanNosal I am able to reproduce the problem.
Then, Instead of using Broadcast extension, when I used "Screen Recording"  provided by iOS, I ran into the same problem.  The Music app audio got suppressed (music stopped playing) and the recorded file did not have any audio in it either. Since broadcast extension is using the same underlying module as Screen Recording, I thinking if this is an issue of running MusicApp + ReplayKit together in iOS. I haven't done enough research yet on Apple developer forum or open radars yet. We will do some more research around this when our iOS team is back from vacation mid of next week and get back with more details.

@piyushtank thanks for the prompt reply!

@MilanNosal Is this problem still reproducible with latest iOS? Can we close this old ticket?

@piyushtank Thanks for following up. TBH I forgot about the issue, and since we are not using Twilio anymore, I cannot really confirm reproducibility. Anyway, you can close it for me.


Move grants from Drupal to Python

Drupal grant export to JSON
Python grant import using API
Allow Drupal landing pages to view grants via API (search still uses old JSON)

Duplicate of #96