Unable to calibrate Betrayal

Looking to set up image recognition for the betrayal info - have successfully calibrated the UI by taking the screenshot of the background to the lower left, just above the healthbar.
I'm looking to now take screenshots of the individual character portraits as per the instructions to set up image recognition, but when pressing middle mouse button and right click (in either order of execution), the snipping tool doesn't show up.
I am running the game in windowed fullscreen at 1440p - other image recognition works fine in terms of taking screenshots and its reading of my monitor.

Just to confirm, Betrayal Info has two different setups, one using image recognition, and one just using the table. Both need the UI to be calibrated, but the character screenshot tool won't show up in the basic mode. Have you toggled "use image recognition" in the betrayal settings?

successfully calibrated the UI by taking the screenshot of the background to the lower left, just above the healthbar.

You were probably using an old YouTube video as a guide. I had to change the location of the screen-check because the bottom-left of the syndicate board caused issues in some situations when there was a high concentration of members in fortification and transportation. This led to text boxes appearing right above the healthbar, making the screen-check return negative.
Always use the help-tooltips in the current version of the script, as they are up to date.

successfully calibrated the UI by taking the screenshot of the background to the lower left, just above the healthbar.

You were probably using an old YouTube video as a guide. I had to change the location of the screen-check because the bottom-left of the syndicate board caused issues in some situations when there was a high concentration of members in fortification and transportation. This led to text boxes appearing right above the healthbar, making the screen-check return a negative result.
Always use the help-tooltips in the current version of the script, as they are up to date.

EDIT: the "test" button in the screen-checks menu probably returns a positive test nonetheless, which needs to be changed because it causes unnecessary confusion.

I was indeed using an old YouTube video - now that I have recalibrated, it is letting me do the individual portrait screenshots.
While it now makes sense, it wasn't immediately obvious that I could click on the "BETRAYAL" lettering and have it open a help menu. As a suggestion, it might be an idea to make the help buttons/links more consistent across the tool by adding the book icon next to the words "BETRAYAL" and "STASH" to help flag that you can click on them for help.
Thanks for your help.


tests: switch lulesh to use vega_x86

Change-Id: Ifbf0fdfd7d8c2bbaad0b6094090acecd1cb8055c

Can the HACC tests use VEGA? In which case we could just update the build-gem5 job?

Anything working in GCN3 works in Vega the last time I tested, so I don't see why not

Can the HACC tests use VEGA? In which case we could just update the build-gem5 job?

Anything working in GCN3 works in Vega the last time I tested, so I don't see why not

Sorry I am just seeing this after the ASPLOS deadline.  Looks good and yes in theory we should be able to move fully to VEGA.


Various schema content changes for mbs

What is the context of this PR?
Various changes for content to MBS found in:
https://trello.com/c/vKqFMZ4O/2161-change-to-mbs-wording-0123
How to review
Are changes correct

I think there has been overlap on the text changes on these forms unfortunately, @shahi645  do you need Donna to chase the query raised by Dave?

Yes pleas @charlotte-hirst


Sketching an any-type implementation for readWithPartitions for JdbcIO

Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run Java PostCommit

@mosche would you take a look at this change and let me know what you think?
I suggest you look at the new integration tests in JdbcIOAutoPartitioningIT, you can see the intended usage: A user would pass the type of the partition column, and we automatically generate partition ranges.
Some follow up changes are:

Automatically infer the upper and lower bound at pipeline runtime via select min(col), max(col) from table, so the user won't have to provide them.
Dynamic rebalancing: change ReadFn to work as a splittable DoFn that can sub-partition a range if it's going slow

@pabloem sure, I'll absolutely give this a look early next week! Sorry, didn't get to it today...

Run Java PostCommit

Run Java PostCommit

sorry that I've kept adding code : ) this should be 'done' now

Run Java PostCommit

Run Java PostCommit

Run Java PreCommit

Run Java_Examples_Dataflow_Java17 PreCommit

Just started reading looking into the code, so no worries. The examples provided in JdbcIOAutoPartitioningIT are looking really good. Also, thanks for adding testcontainers there 💯 , that was much needed!

thanks @mosche ! The last commit I've pushed makes the test suite run with MySQL and Postgres test containers. Thanks again!

Run Java PostCommit

Run Java PreCommit

Run Java PostCommit

regarding your comment in https://github.com/apache/beam/pull/15848#discussion_r798790351
yeah, SDF is interesting here, and I am not 100% sure how to approach it - but yes, we need ordering, so the implementation would be something like:
resultset = query.execute();
while(true) {
  resultset.next();
  if(!tryClaim(resultSet.get(key))) {
    return DONE;
  }
  c.output(format(resultSet));
}

and the split would be something like:
tryClaim(key) {
  this.latestKey = key
}
trySplit() {
  ranges = generateRanges(2, latestKey, endOfRange)  // Generate two ranges between the current key and the last key
  return new SplitResult(ranges.currentRange, ranges.nextRange);
}

The issue is that the query with the full range would be executing in the database, so we may duplicate work on the database - so I'm not sure how bad this is or not : )

The issue is that the query with the full range would be executing in the database, so we may duplicate work on the database - so I'm not sure how bad this is or not : )

I was thinking about this as well. When just traversing the index tree that's probably fine if it doesn't happen too aggressively. But if it involves sorting and throwing a significant part of that work away all the time it will certainly impact the database badly.

The issue is that the query with the full range would be executing in the database, so we may duplicate work on the database - so I'm not sure how bad this is or not : )

I was thinking about this as well. When just traversing the index tree that's probably fine if it doesn't happen too aggressively. But if it involves sorting and throwing a significant part of that work away all the time it will certainly impact the database badly.

If I have time, I'll try to write a SDF implementation for this next week, and make sure that the documentation is clear about what it does, and considerations.

Run Java PostCommit

Run Java PostCommit

Run Java PreCommit

Run Java PreCommit

Run PythonDocs PreCommit

Run Java PostCommit

Run Java PostCommit

Run Java PreCommit

PostComit tests ran: https://ci-beam.apache.org/job/beam_PostCommit_Java_PR/926/testReport/org.apache.beam.sdk.io.jdbc/JdbcIOAutoPartitioningIT/
You can see that they ran by reviewing logs

Run Java PreCommit

Run Java PostCommit

thanks @mosche ! your code review made this PR significantly better : )

most welcome, @pabloem


Close panel on history change

Small usability improvement to close panel after changing the history select

Since this would close parameters panel after loading previous parameter set and result, does it make more sense to move the history selection outside of parameters panel.
Instead of loading parameter, this feels more like loading previous result to me.

I like that thought! updated


Question about Metrics

Thank you for your valuable work and for sharing the codebase. I have a couple of questions regarding the paper:

What are the AP'07 and AP'12 metrics used in your paper?
How to use these metrics in your code?

Thank you for using and paying attention to this repository! And our answers for your questions are as follow:

AP'07 and AP'12 are both metrics for measuring detection quality, The AP'12 standard refers to the AP evaluation metric used in the VOC 2012 dataset. Unlike the VOC 2007 dataset, which uses the average of 11 points on the Precision-Recall (P-R) curve, the VOC 2012 dataset calculates the area under the lower part of the P-R curve, or in other words, it averages all points on the P-R curve.

If you want to use AP'07 metrics for evaluation, the configuration setting in dataset is as follow:

In this case, 11points represents the AP'07 metrics
val_evaluator = dict(type='SPSNet.HorizontalDOTAMetric', metric='mAP', eval_mode='11points')

And if you want to use AP'12 metrics for evaluation, you should rewrite the configuration as follow:
In this case, 'area' represents the AP'12 metrics
val_evaluator = dict(type='SPSNet.HorizontalDOTAMetric', metric='mAP', eval_mode='area')


build: separate demo-app in its own directory.

LGTM

@hansl looks like the inline-resources task isn't working. I think you just have to update the gulpfile.

Don't tell me it doens't support relative path of resources :(

You're also got a lint error.


Make types.json loading optional?

I am using this module in a web application installed and bundled using JSPM.  It works fine from what I can tell.  However, I am actually only using a subset of the mime types. I can use mime.define but because mime.js requires types.json the entire file is bundled anyway when I build the application.  This is probably not an issue since types.json is fairly small but for an optimal web app I see three options:

Fork this module to be API only, doesn't load types.json at all, use mime.define in my app.
Fork this module to create a smaller custom types.json file.
Somehow modify this module to load types.json only when needed.

Thoughts?

Hello again.  I would really like to use this library without loading the default database.  Here is what I came up with:  https://github.com/Hypercubed/node-mime .
With this fork I can do:
var MimeLookup = require('mime');
var mime = new MimeLookup(require('mime-db'));

The API is not not compatible and should likely be a separate npm module.  I'd like to suggest that you or I publish a separate module (published to npm as mime-lookup) that your module (node) requires.  Then your mime.js can be simply:
var MimeLookup = require('mime-lookup');

// Default instance
var mime = new MimeLookup(require('./types.json'));

// Default type
mime.default_type = mime.lookup('bin');

//
// Additional API specific to the default instance
//

mime.Mime = MimeLookup;

/**
 * Lookup a charset based on mime type.
 */
mime.charsets = {
  lookup: function(mimeType, fallback) {
    // Assume text types are utf8
    return (/^text\//).test(mimeType) ? 'UTF-8' : fallback;
  }
};

module.exports = mime;

I'm willing to do this through PRs.

Moving to #161


Clamp power to max values rather than letting it wrap

One example of what this fixes is the Creative Energy Cube showing "-1 RF"
and confusing a lot of other mods.

Mixing integral and floating-point types with Math.min can produce results that are slightly less or greater than what you'd consider the "right" answer to be. Example:
public class MinCastTest {
  public static void main(String[] args) {
    double d = 1e300; // way bigger than longs, so the long should always be what's returned by Math.min
    System.out.println((long)Math.min(123456781234567812L, d)); // result is<PHONE_NUMBER>34567808 - 4 less than what you'd expect
    System.out.println((long)Math.min(123456789012345678L, d)); // result is<PHONE_NUMBER>12345680 - 2 more than what you'd expect
  }
}

right, of course (I don't even know why Mek uses doubles in the first place).
Not really sure why these need to be two methods though, or just a temp variable and a ternary

I'd need to repeat the temporary variable and the ternary in both methods in each file then, and this seems cleaner than that.

Merged manually


API Generator: Add support for filtering one-to-many-relations by id

depends on #2127 (to avoid conflicts)

git rebase --onto origin/next HEAD~1

split changeset to make the link that no one will use point to the correct commit

You could have just said "no, no one will use this" instead.


Problem to understand the Thrideye into Pinot

What should I do to The Thrideye works in the Pinot? I didn't find anything about how it use this into the Pinot. Is there a documentation? I executed Thrideye only in the Eclipse but I needed change the branch to release-0.4.0. This step by step -> https://thirdeye.readthedocs.io/en/latest/quick_start.html doesn't work.

@suvodeep-pyne ^^

Hi @MarceloNunesAlves
I think this doc might need an update. I'd recommend setting up ThirdEye with a MySQL persistence layer (Please use MySQL 5.7) and then adding Pinot as the datasource. Here are 2 docs that might help.

Getting Started
Adding Pinot as a data source

Let me know how it goes. It might be cool to join the ThirdEye Slack.

@MarceloNunesAlves is this resolved?

@kishoreg, I haven't tried yet. tks

Closing third-eye related issue as the project has been moved out of the pinot repo. For unsolved issue that still applies, please create a new one under third-eye repo: https://github.com/project-thirdeye/thirdeye


Graphical interface

Would be great to see 3d or 2d world where you can see the movement of the Characters. Might be kind of game or world simulation.

@lexis33 A better interface is in the pipeline 👀

@joshsny It's been about a month. Do we have designs for this interface?

Yep, now live at GPTeamAI.comYou can try it out completely free without even needing an API key 🔑On 21 Jul 2023, at 22:53, Ryan @.***> wrote:
@joshsny It's been about a month. Do we have designs for this interface?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

@joshsny That looks like a significant fork of this codebase. Is there a considerable merge happening in the future? This project has great potential, and I would like to contribute. I have a social science/philosophy background and 15+ years of experience in the software industry.


Meross Lan integration with Meross Cloud iot

Hello,
I do use Meross Cloud since a lot of time.
However, there are more and more issues with some "random" errors, saying the devices are "unavailable" from time to time... a full reboot resolves this, but it is painful, especially with automation.
So i wanted to try this module, but i don't understand how to configure it, when i installed the repo through HACS.
if i go on "integration", i can add the installed module, but it is asking for information that i don't have (key + device ip address)
My question is : Is it compatible with Meross Cloud IOT, or Should i select only one of them?
thanks in advance,

Hello @xvolte,
Sure this integration is 'compatible' since you can have both running on the same Home Assistant and talking to the same devices. The two integrations will just communicate over different 'channels'.
The Meross Cloud integration is actually talking to the Meross official infrastructure so it works like if it was the Meross app 'side by side'
Meross LAN instead will talk directly to the device in LAN only mode and will use HTTP to do this. You have to look for the actual  IP of the device as per how it is configured in your LAN (probably through DHCP on your router).
Anyway, given 'some time', the device should be discovered automatically by Home Assistant through its own dhcp integration and so you'll just have to confirm the device entry discovered this way.
The 'device key' is a secret key which is used by the official Meross protocol in order to be able to talk to your own devices (it works like a 'password' in some ways). Your devices configured through the Meross App with your Meross account will be assigned all the same key but this key is a little hard to recover (see #43 ).
If you're in luck (and 99% of users are) this key is not needed for meross_lan and you can leave it empty so my software will try to hack the protocol and should be able to communicate anyway (unless you fall in #43 )
Good luck!


flow-bin version

Hey there,
Are there any current works regarding those issues related to flow-bin latest version?

I just noticed that the plugin still runs on 0.13. What is the strategy for this plugin - release a new version for each new flow version?


Refine on Recursive ACL.

Resubmitting #1470, original PR is corrupted and CI behavior is strange.
Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[x] C++ Guidelines
[x] Doxygen docs
[x] Unit tests
[x] No unwanted commits/changes
[x] Descriptive title/description

[x] PR is single purpose
[x] Related issue listed

[x] Comments in source
[x] No typos
[x] Update changelog
[x] Not work-in-progress
[x] External references or docs updated
[x] Self review of PR done
[x] Any breaking changes?

/azp run cpp - storage

/azp run cpp - storage

We should move SetAccessControlListRecursive functions to PathClient

We should move SetAccessControlListRecursive functions to PathClient

We should move SetAccessControlListRecursive functions to PathClient

I don't think it makes sense for File client, so we shouldn't.

We should move SetAccessControlListRecursive functions to PathClient

I don't think it makes sense for File client, so we shouldn't.

/azp run cpp - storage

/azp run cpp - storage

/azp run cpp - storage

/azp run cpp - storage

/azp run cpp - storage

/azp run cpp - storage


Add translation interface

Refs #815

Current coverage is 58.97% (diff: 95.65%)

Merging #819 into master will increase coverage by 0.12%

@@             master       #819   diff @@
==========================================
  Files           111        111
  Lines          5861       5884    +23
  Methods           0          0
  Messages          0          0
  Branches        718        721     +3
==========================================
+ Hits           3449       3470    +21
- Misses         2273       2274     +1
- Partials        139        140     +1

Powered by Codecov. Last update 2956dfc...74711ce

@patrys review please

After reviewing this briefly it seems that the product list (the GraphQL API) remains untranslated?

@patrys re-review please

You're overengineering this. See https://groups.google.com/d/msg/django-developers/6a5Bwf5KMNA/RwRnXc6xBgAJ

@patrys review please

Let's revisit this.

@elwoodxblues pls review

Work will continue in #2475


"No method" error happens when instance variable is set in initialize method

Precondition

OS Windows10/cygwin64
mruby 1.3.0
mruby/c
commit 7549788e98bf1fe29d0e1ddaa9f3ccd5f4091cd9 (HEAD -> master, origin/master, origin/HEAD)
Author: Hirohito Higashi <uzuki.local>
Date:   Wed May 30 17:27:00 2018 +0900

Procedure to reproduce
to run the following byte-compiled script test.rb by mrbc.
class Test
        def initialize
                puts "initilize"
                @val="test"
        end
        def method1
                puts "method1"
                puts @val
        end

end

t=Test.new
t.method1

Expected result
 $ ./mrubyc.exe test.mrb
initilize
method1
test

Observed result
 $ ./mrubyc.exe test.mrb
initilize
No method. vtype=23 method='method1'

Comment
Is that expected behavior? I also saw the same error on ubuntu14.04 32bit.
I'm trying to find cause for my study...

I have tested other cases. I saw same error when I create 2 instances which have an instance variable. It looks like simply instance variable is not supported yet.
If it's correct, I'll close this issue.

This bug will be made from my added code, which is related to block execution.
I'm sorry...
I'll check and fix it.

Don’t say sorry. Thank you for your confirmation!

After my study, I found that "new" method doesn't return a new object in this case. It works if I put "self" at the end of "initialize" method. This could be a workaround.
I think this behavior comes from c_object_new(). "new" method returns the result of "initialize" method directory.
I think it is needed to run a VM in c_object_new() like a method call with a block. I have implemented my idea and it works but it's not tested well. Once I get a confidence, I'd like to send a pull request if this is still open at the time.

Thank you for your approval.


Handle non-reachable etcd

What happens if etcd connection fails?

Here's my take on identifying such error
package main

import (
  "log"
  "net"
  "github.com/coreos/go-etcd/etcd"
)

func main() {
  etcdServer := "http://localhost:2379"
  machines := []string{etcdServer}
  client = etcd.NewClient(machines)
  if _, err := net.Dial("tcp", etcdServer); err != nil {
    log.Fatal("Couldn't connect to etcd server")
  }
}

Hi there, thanks for the issue,
Currently if the connection to ETCD is failing, it will be logged, until the recovery:
https://github.com/Scalingo/etcd-discovery/blob/master/service/register.go#L39-L50
When loosing connection
logger.Println("Lost etcd registrationg for", service, ":", errEtcd.ErrorCode)

On registration recovery:
logger.Println("Recover etcd registrationg for", service)

I recognize it is fairly basic but good enough in our use case. What would you be able to do?

Ah, very interesting solution. Not the best perhaps, but I can't see another way to do it with Go without long-polling. Thank you @Soulou.


Helm: add support for external application config in yaml format

This PR add support of external config for Kafka-UI, and Pass Kafka-UI yaml config as a Helm Chart Value.

[ ] Breaking change? (if so, please describe the impact and migration path for existing application instances)

What changes did you make? (Give an overview)
Is there anything you'd like reviewers to focus on?
How Has This Been Tested? (put an "x" (case-sensitive!) next to an item)

[ ] No need to
[x] Manually (please, describe, if necessary)
[ ] Unit checks
[ ] Integration checks
[ ] Covered by existing automation

Checklist (put an "x" (case-sensitive!) next to all the items, otherwise the build will fail)

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation (e.g. ENVIRONMENT VARIABLES)
[x] My changes generate no new warnings (e.g. Sonar is happy)
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged

Check out Contributing and Code of Conduct
A picture of a cute animal (not mandatory but encouraged)

@germanosin PTAL

@azatsafin This feature is not available in the current published helm charts: https://provectus.github.io/kafka-ui/index.yaml Will this be released later?

Hello @amalagaura
I've released minor version of helm chart, please use v0.4.1.


accept stdin and output to stdout

partially fixes #43

This is similar to what I was trying to do, but I couldn't get commander to call its action callback. I like what you did with just getting the args from the program... I didn't realize you could do that ;-)
One thing I might suggest is leaving it as it is in terms the file name, and just automatically do what it does now if nothing's coming in from stdin, otherwise use stdin's input and ignore the file name...
i.e.
const run = (schema, options) => {
    if (!schema) {
        program.outputHelp();
    }

    let interfaces = interfaceUtils.schemaToInterfaces(schema, options);

    let namespace = namespaceUtils.generateNamespace(options.namespace, interfaces);

    if (options.outputFile) {
        namespaceUtils.writeNamespaceToFile(options.outputFile, namespace);
    } else {
        console.log(namespace);
    }
};

if (process.stdin.isTTY) {
    const fileName = program.args[0];

    if (!fileName) {
        program.outputHelp();
        process.exit(1);
    }

    const schema = fileIO.readFile(fileName);
    run(schema, program);
} else {
    let input = '';
    process.stdin.resume();
    process.stdin.setEncoding('utf8');
    process.stdin.on('data', (data) => input += data);
    process.stdin.on('end', () => {
        if (!input) {
            program.outputHelp();
            process.exit(1);
        }
        run(JSON.parse(input), program)
    });
}

I don't normally see CLI tools require a flag to input from stdin. The isTTY should be good enough for most cases. I do think there are some issues with if you were to try to run this script as a child process or something like that that I was reading. There may be other ways to do it, i.e. I think it'd work if you always read stdin and see if input is empty, etc, like so:
let input = '';
process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.on('data', (data) => input += data);
process.stdin.on('end', () => {
    if (!input) {
        const fileName = program.args[0];

        if (!fileName) {
            program.outputHelp();
            process.exit(1);
        }

        const schema = fileIO.readFile(fileName);
        run(schema, program);
    } else {
        run(JSON.parse(input), program)
    }
});

But yeah, otherwise, this look awesome! Thanks for this. And really, I'd be good either way. It's your project. Just my 2¢

And probably needs to bump to 0.6 since -o being no longer optional to get a file for output is a breaking change.

@CWSpear I initially tried using isTTY and a bunch of other iterations of trying to get both to work without an argument, but couldn't find a way to make it work 😞 .
will definitely have to bump the version, but i typically do that in a separate PR

Awesome! Glad you got it to work. 👍
Looks good. Thanks for this.


Make page to add company, add logic

Make company buttons were added, and company access management is hardcoded for now


load-error Error: Request failed with status code 400

I just updated to v1.6.0, and everything seems fine expect for this error:
load-error { Error: Request failed with status code 400
    at createError (/home/forge/example.dev.bid/adonuxt/node_modules/axios/lib/core/createError.js:15:15)
    at settle (/home/forge/example.dev.bid/adonuxt/node_modules/axios/lib/core/settle.js:18:12)
    at IncomingMessage.handleStreamEnd (/home/forge/example.dev.bid/adonuxt/node_modules/axios/lib/adapters/http.js:186:11)
    at emitNone (events.js:91:20)
    at IncomingMessage.emit (events.js:188:7)
    at endReadableNT (_stream_readable.js:975:12)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickCallback (internal/process/next_tick.js:104:9)
  config:
   { adapter: [Function: httpAdapter],
     transformRequest: { '0': [Function: transformRequest] },
     transformResponse: { '0': [Function: transformResponse] },
     timeout: 0,
     xsrfCookieName: 'XSRF-TOKEN',
     xsrfHeaderName: 'X-XSRF-TOKEN',
     maxContentLength: -1,
     validateStatus: [Function: validateStatus],
     headers:
      { Accept: 'application/json, text/plain, */*',
        'User-Agent': 'axios/0.15.3' },
     method: 'get',
     params: { sort: '', page: 1, per_page: 10 },
     url: '/api/v1/instances',
     data: undefined },
  response:
   { status: 400,
     statusText: 'Bad Request',
     headers:
      { server: 'nginx/1.11.2',
        date: 'Mon, 15 May 2017 12:11:12 GMT',
        'content-type': 'text/html; charset=utf-8',
        'content-length': '173',
        connection: 'close' },
     config:
      { adapter: [Function: httpAdapter],
        transformRequest: [Object],
        transformResponse: [Object],
        timeout: 0,
        xsrfCookieName: 'XSRF-TOKEN',
        xsrfHeaderName: 'X-XSRF-TOKEN',
        maxContentLength: -1,
        validateStatus: [Function: validateStatus],
        headers: [Object],
        method: 'get',
        params: [Object],
        url: '/api/v1/instances',
        data: undefined },
     request:
      Writable {
        _writableState: [Object],
        writable: true,
        domain: null,
        _events: [Object],
        _eventsCount: 2,
        _maxListeners: undefined,
        _options: [Object],
        _redirectCount: 1,
        _onNativeResponse: [Function],
        _currentRequest: [Object],
        _currentUrl: 'http:index.html',
        _currentResponse: [Object] },
     data: '\r\n<title>400 Bad Request</title>\r\n\r\n
400 Bad Request
\r\n
nginx/1.11.2\r\n\r\n\r\n' } }

My server is catching this error on every page refresh. The front-end doesn't produce an error in the console nor does the table data appear affected.
/api/v1/instances is the api call that the vuetable is set to call
For now, I'm falling back to the fork I was using based on<EMAIL_ADDRESS>which doesn't produce this error.
https://github.com/lmj0011/vuetable-2#adonuxt

@lmj0011 Check you server side. This is the error dump when vuetable:load-error event occurred which means the api call was unsuccessful.

@ratiw
Exactly when does the vuetable make its first attempt to fetch the data from the api url?
Because I end up getting a successful call during page load.

@lmj0011 It first attempts to load the data during the created hook unless load-on-start prop is set to false.


NFS client cannot connect to NFS shared by the container

Well, the title said it all, and the only added comment is that I'm wildly confused and have 0 idea how to fix it. It did work briefly, but it then stopped. I'll have to look at how nfs natively works and then translate that into the container.

Configuration error opsi https://fedoraproject.org/wiki/User:Renich/HowTo/NFSv4

Nevermind: failed, reason given by server: No such file or directory

It seems like related to chmod permissions, I assume root is an outside user.
Investigating if we can run nfsd as user, or we can spoof a 1000 user and add them to the root user group.

http://www.voleg.info/linux-NFSv4.html#1 NFS4 requires root folder to work properly


Sample apps won't compile

Hi, I just installed this library. The first thing I wanted to do is try a sample application it contains.
Build it with the steps specified in README.md.
I have also installed nlohmann json library.
Generated following error:
/tmp/ccII9c8j.o: In function main': sign.cpp:(.text+0x24e): undefined reference to JWT::Encode(MessageSigner const&, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer> const&, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>)'
/tmp/ccII9c8j.o: In function HS256Validator::HS256Validator(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': sign.cpp:(.text._ZN14HS256ValidatorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN14HS256ValidatorC5ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x21): undefined reference to EVP_sha256'
sign.cpp:(.text._ZN14HS256ValidatorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN14HS256ValidatorC5ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x5f): undefined reference to HMACValidator::HMACValidator(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, evp_md_st const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccII9c8j.o:(.rodata._ZTV14HS256Validator[_ZTV14HS256Validator]+0x20): undefined reference to HMACValidator::Verify(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer> const&, unsigned char const*, unsigned long, unsigned char const*, unsigned long) const'
/tmp/ccII9c8j.o:(.rodata._ZTV14HS256Validator[_ZTV14HS256Validator]+0x28): undefined reference to HMACValidator::toJson[abi:cxx11]() const' /tmp/ccII9c8j.o:(.rodata._ZTV14HS256Validator[_ZTV14HS256Validator]+0x38): undefined reference to MessageValidator::Accepts(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer> const&) const'
/tmp/ccII9c8j.o:(.rodata._ZTV14HS256Validator[_ZTV14HS256Validator]+0x40): undefined reference to HMACValidator::Sign(unsigned char const*, unsigned long, unsigned char*, unsigned long*) const' /tmp/ccII9c8j.o: In function HS256Validator::~HS256Validator()':
sign.cpp:(.text._ZN14HS256ValidatorD2Ev[_ZN14HS256ValidatorD5Ev]+0x20): undefined reference to HMACValidator::~HMACValidator()' /tmp/ccII9c8j.o:(.rodata._ZTI14HS256Validator[_ZTI14HS256Validator]+0x10): undefined reference to typeinfo for HMACValidator'
collect2: error: ld returned 1 exit status`

The nhlohman library is header only so that’s not the problem. From the errors it looks like you are not linking against the ssl library as well as the jwt library.

Well, resolved it.
I needed to change
g++ std=c++11 -I /usr/local/include -L/usr/local/lib -lcrypto -ljwt sign.c -o sign
to
g++ std=c++11 sign.c -o sign -lcrypto -ljwt
Reason: The unix linker doesn't look backwards in the command line to resolve dependencies. More information on this can be referred here and here

Oh wow, maybe I should update the samples so others don't run into this.


[Enhancement]: CRUD --> JSON From | Ability to identify Table column datatype & update JSON form fields as required

Is there an existing issue for this?

[X] I have searched the existing issues

Description
JSON form to Auto Select 'MultiLine input' type for a column with datatype varchar(50) or more to accommodate more text:

Steps To Reproduce

Create CRUD page - for any data source , eg: MySQL used here
Identify a table which has text more than 500 chars
Observe the JSON form type for this column is Text input
Expected: Check table column type & if its varchar(50) or more, make the default type of JSON form field - 'Multiline input'
Identify a table which has columns which are NOT NULL
Observe JSON field for this column
Expected: To make this field required true in JSON Form to comply with the table structure from UI

Public Sample App
No response
Version
Prod/Release v1.7.1

@Aishwarya-U-R  did not understand this line - Expected: To make this column required true to comply with the table structure from UI

@dilippitchika - I mean - if this column is created as NOT NULL in the table, then the corresponding field in JSON form also should be automatically set to Required true - so that user does not run into the Query error on UI while trying to Update the record without the field but is rather already notified of this field being mandatory with red *!


Add charts to the backoffice

Description:
Add charts to the back-office.

:heavy_check_mark:Tasks:

Add chartkick gem which handles the charts.
Add groupdate  gem which allow us to make easier querying on dates.
Add a chart with the sign ups per month to the back office.

@loopstudio/ruby-devs

@lucaleivaloop Can you include a pic of how the UI is looking? 🙏


export connection without secrets

I want to transfer the connection configuration, without secrets.
how can I do this?

Hello @xoyteam
Did you try just copying your new workspace your data-sources.json file?
You can find it in your current workspace.
Path example: DBeaverData\workspace6\General\.dbeaver\
Your credentials are in another file - credentials-config.json. Do not copy it.


Troubleshooting State Change Listeners in colyseus: Function Not Being Called - Godot 4

Hi guys, I'm having problems when I'm trying to listen to state changes. I set up the listener, but the function is never called. What am I doing wrong? I`m using Godot 4
class GameState extends colyseus.Schema:
	static func define_fields():
		var currentPhase = "initial"
		var playerTurn = ''
		var cat = 0
		var rat = 0
		return [
			colyseus.Field.new("currentPhase", colyseus.STRING, currentPhase),
			colyseus.Field.new("playerTurn", colyseus.STRING, playerTurn),
			colyseus.Field.new("cat", colyseus.NUMBER, cat),
			colyseus.Field.new("rat", colyseus.NUMBER, rat),
		]

func _ready():
	# set up client
	var client = colyseus.Client.new("ws://localhost:2567")
	var promise = client.join_or_create(GameState, "game")
	await promise.completed
	if promise.get_state() == promise.State.Failed:
		print("Failed")
		print(promise)
		return
	var room: colyseus.Room = promise.get_data()
	var state: GameState = room.get_state()
	state.listen('cat:change').on(Callable(self, "update_life"))
	state.listen('rat:change').on(Callable(self, "update_life"))
	room.on_state_change.on(Callable(self, "update_life"))
	self.room = room

my method update_life was missing the argument, so a fix it:
func update_life(_delta):

everything works now =D


Dart 2 runtime errors in tests

running tests in dart 2 mode,
type 'SubListIterable' is not a subtype of type 'Iterable' of 'iterable' where...
type 'SubListIterable' is not a subtype of type 'Iterable' of 'iterable' where
SubListIterable is from dart:_internal
String is from dart:core
Iterable is from dart:core
Null is from dart:core
dart:core                                                                               List.insertAll
../../observable/lib/src/differs/list_differ.dart 366:19  _mergeSplices
../../observable/lib/src/differs/list_differ.dart 423:5   _createInitialSplices
../../tobservable/lib/src/differs/list_differ.dart 448:26  projectListSplices
package:observable/src/observable_list.dart 335:21                                      ObservableList.deliverListChanges
===== asynchronous gap ===========================
dart:async                                                                              scheduleMicrotask
package:observable/src/observable_list.dart 312:7                                       ObservableList._notifyListChange
package:observable/src/observable_list.dart 233:7                                       ObservableList.removeRange
../../observable/test/list_change_test.dart 134:13        listChangeTests..

I'm testing a fix internally.


Install dependencies before npm publish if there are relevant scripts

Change-type: patch

@balena-ci I self-certify!


need more details for implementing this project

Hello!
i am trying to implement this project on my Aws static hosted website on S3 with a cloudfront distribution infront of it. I want to secure it with OKTA. I am fumbling on some steps while following the write up you have on the read.me. Like..I selected "Web" in Okta while creating the app, and when Saml did not work, I am retrying with openId. So I am happy to see the credentials like the client id and client secret while using openid but I am not knowing exactly what to give for base url and redirect uri when I am prompted to on the command prompt. Also, after entering everything, (I entered the CF domain url for base url and redirect url-added index.html to it, considering it as the call back ), it ran for sometime and said it cannot find no file or directory in the distributions/distribution name/id_rsa. does it mean the RSA is not generated? I thought it was when I used Saml yesterday(does it matter?)...Please help. Thanks!

Yes .. i figured out the base url. But about the error thing, I am able to run the build.sh until thr' it get gets me to to enter the districution name and select the authentication method and and also all those base url, etc cerdentials...but then it says as i described above ... that "no such file or directory found at distribution//distribution name/id_rsa. ". By the way I dont see it generate an rsa key before it asks for that distributiion name and authentication selection.

okay..looks like it worked now...thanks so much for your quick replies..

No problem! Glad we could get it working.

👍

First thing to check would be your configuration file located in /distribution/{distribution_name}/. Make sure the client id in that file matches the one OKTA gave you.

yes it does match...

Hmm... have you added to redirect URI to the list of accepted redirect URIs on OKTA? I've only set this up once or twice on my own, so I'm no expert on OKTA's process.

yes..i did.. do u mean like adding the https://CF url/sth like index.html?
right now i have https://CF url/index.html only. then just now, i added https://CF url to it's list.

No. Your redirect URI should be https://{CF url}/_callback
This "/_callback" path is a temporary path for OKTA to respond to. That should be the redirect URI in your config and on OKTA.

Payton...I did try with what u said..obviously it took this long for the CF to deploy ... its saying the same error again..400 Bad request and Identity Provider: Unknown
Error Code: invalid_client
Invalid value for 'client_id' parameter.
I gave
https://d1jhdvienk4tn4.cloudfront.net/_callback in my OKTA at the Login Redirect URIs. Should i also be giving sth in the 'Initiate login uri" also?

Also, i did redo the build.sh and modify the redirect uri in there...so i see it on the config file also reflected..


Describe which CLI command to use to import an SSH Key pairs and download private key from KV

see
https://github.com/Azure/azure-cli/issues/13547
https://github.com/MicrosoftDocs/azure-docs/issues/55072

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

ID: fe0f363b-7f21-0ea9-3e27-da7866c94102
Version Independent ID: 6cc413e4-4f7d-9baa-a365-c9275fc6a7ad
Content: az keyvault key
Content Source: src/azure-cli/azure/cli/command_modules/keyvault/_help.py
Service: key-vault
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

@bim-msft please take a look

Once the key is imported in KV, then az keyvault key download returns the public key only.
A similar question & explanation regarding certificates is described at https://github.com/Azure/azure-sdk-for-js/issues/7647#issuecomment-594935307
ssh-keygen -t rsa -b 4096 -N $ssh_passphrase -f ~/.ssh/$ssh_key -C<EMAIL_ADDRESS>
az keyvault key import --name $ssh_key --vault-name $vault_name --pem-file ~/.ssh/$ssh_key --pem-password $ssh_passphrase
az keyvault key list --vault-name $vault_name
az keyvault key show --name $ssh_key --vault-name $vault_name
az keyvault key download --name $ssh_key --vault-name $vault_name --encoding PEM --file key2

Does KeyVault store both the public part in a KV Key and the private part of the imported key in a KV secret ?
what i sthe CLI snippet then to download the private key ?
az keyvault secret list --vault-name $vault_name
az keyvault secret show --name $vault_secret_name --vault-name $vault_name --output tsv

az keyvault secret download --file myLostKey.txt --name $vault_secret_name --vault-name $vault_name

@ezYakaEagle442 Thanks for your feedback, it's a good question. In fact, KV stores both public part and private part of your key. Once you uploaded your key into KV, there is no way to show or download the private part: this is for security concern, you can use public key to do your own encryption, but you can only call KV API to do decryption.
Here is an article talking about this: https://odetocode.com/blogs/scott/archive/2018/03/08/decryption-with-azure-key-vault.aspx

Secondly, speaking of public keys, only the public key is available to the system. The API call to GetKeyAsync doesn’t return private key data. This is why the DecryptAsync wrapper method does use the Key Vault API for decryption. In other words, private keys never leave the vault, which is one reason to use Key Vault for decryption instead of bringing private keys into the process.

So I added this just in case of the private key is lost, as it required to have it to SSH connect to the remote server.
ssh_prv_key_val=`cat ~/.ssh/$ssh_key`

az keyvault secret set --name ssh-passphrase --value $ssh_passphrase --vault-name $vault_name --description "AKS ${appName} SSH Key Passphrase"
az keyvault secret set --name ssh-key --value "$ssh_prv_key_val" --vault-name $vault_name --description "AKS ${appName} SSH Private Key value"

az keyvault secret list --vault-name $vault_name
az keyvault secret show --vault-name $vault_name --name ssh-passphrase -o table
az keyvault secret show --vault-name $vault_name --name ssh-key -o table

az keyvault secret download --file myLostKey.txt --name ssh-key --vault-name $vault_name
az keyvault secret download --file myLostPassPhrase.txt --name ssh-passphrase --vault-name $vault_name

Could you please update the docs describing this SSH Key pairs use case, expalining that there will be no way to get back the private key from KV runnning :
az keyvault key download
az keyvault key show

@ezYakaEagle442 Yes, saving private keys as secrets is a practical way.
key show already has this information:

key download doesn't have, I will update the doc accordingly. Thanks for the feedback!


try-catch crawler

Codecov Report

Merging #368 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #368   +/-   ##
======================================
  Coverage    2.61%   2.61%
======================================
  Files          61      61
  Lines        1454    1454
  Branches      292     292
======================================
  Hits           38      38
  Misses       1416    1416

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 7724d4d...85558a0. Read the comment docs.


ts-jest + existing tests to .ts

Introducing typescript testing.
Testing infrastructure changes: (#40 addressed)

Added ts-jest
package/math tests ported .js -> .ts (some strong typing changes included)

Jest individual package testing config fixed by providing root cli parameter

This works fine now with the exception for coverage which includes not only the package of interest, but it can also include dependent packages, not sure how to handle this one. Asking reviewers to provide input on this.
Root solution would require providing root param for each package in package.json, can we automate this long term?
[An idea that I am looking into is making a convention to perform all commands (even package specific) directly from root]

Package/math small code change:

Vec2 from vector as export and import to other math packages.

I'm kind of 👎  on how wordy this makes the tests by adding the as Tiler and as Projection type assertions everywhere..
I don't think it really makes the tests any better, and I'm not sure whether this is normal on TypeScript projects.

I don't like the explicit casts you mentioned as well, however the benefit of having .ts tests will provide us with a feeling of what is the coding experience of users that are consuming our packages in strong typed manner, which will exactly point out inconsistencies such as these.
Now, what you noticed is not really test-specific, it is actually a typing issue that developed due to using type script on a js one-function accessor fluent pattern.
pattern example:
    projection.scale =  function(_) {         if (!arguments.length) return k;         k = +_;         return projection;     };
This pattern is in line with .js as a user is responsible for paying attention on type of object that is getting returned,
however in .ts this should be delegated to the code (method declaration).
Unfortunately having the following .ts code:
 scale(val?: number): number | Projection {    if (val === undefined) return this._k;    this._k = +val;    return this;  }
does not actually fully delegate this responsibility to the method, which manifests in required wordy casts 👎
The correct approach would be to use ts supported getters and setters  or just expose the public field.
 get scale(): number {     return this._k;   }
   set scale(val: number){     this._k = +val;   }
We would lose the chaining feature as setters must return void... however we would completely delegate type-worry to the code.
I didn't want to bring this up inside this PR as I wanted to focus on testing.
However, if we are in agreement to support the .ts package to users, we should consider biting the bullet now and modifying the code in order to be consistent with the strong typing, instead of dragging the workarounds.
If needed, we can setup the meeting and discuss the overall design direction.

I don't like the explicit casts you mentioned as well, however the benefit of having .ts tests is to provide us with a feeling of what is the coding experience of users that are consuming our packages in strong typed manner, which will exactly point out inconsistencies such as these.

This is a great point - I agree...
We should work on switching over the D3-style getter/setters to something else.. in the meantime I just merged this to keep things moving 👍

Nice, thanks for understanding :)


unistd.h not available on Windows

When compiling with msvc on Windows unistd.h is not available in leveldb/c.cc.
Excluding the header and also adding a definition for ssize_t and undefining _snprintf in port_win.h allows compilation to succeed.
db/c.cc
#include <stdlib.h>
#ifndef WIN32
#include <unistd.h>
#endif
#include "leveldb/cache.h"

port/port_win.h
#ifdef _MSC_VER
//#define snprintf _snprintf
#define close _close
#define fread_unlocked _fread_nolock
#include <stdint.h>
#ifdef _WIN64
typedef int64_t ssize_t;
#else
typedef int32_t ssize_t;
#endif
#endif

#include <string>

Thanks for the issue. At present Windows is not an officially supported platform. We are currently working on adding this as it is frequently asked for.


Support other subtitle formats like VobSub

Your program works exceptionally well, so I hope to be able to use it with VobSubs as well.
A flag could perhaps include VobSubs too and convert them to PGS with something like TheGreatMcPain/BDSup2SubPlusPlus.
Perhaps plain VobSub text recognition with Tesseract is not good enough and needs additional post-processing.
I'll try to automate the whole thing with your API and hope the results are reasonably okay.

I haven't tried with vobsubs because I didn't need it. But I imagine the file is also an image that can be processed by tesseract.
Did you had any progress on this to share?


parsing orca files - major revamp

overall:
rcaFile.read_file('path') will now parse compound orca files and return a list of OrcaFile objects.
In parse_orca.py:

telling cctk to look for regex "COMPOUND JOB  \d{1,}" to indicate breaks in compound jobs
the first output_block of a compound job does not contain new info about the calculation. so if there is >1 output_block, the first output_block is ommitted.

In orca_file.py

change the way that charge and multiplicity are parsed for compatibility with compound job. (not compatible with miniprint keyword)
change the way successful_termination and elapsed_time is counted for compatibility with compound job.
-. I'm concerned that this approach is super inefficient and the relevant info might already be extracted elsewhere.
-. Currently, it only counts successful completion of SP, OPT, FREQ, and NMR jobs at this time)

Next challenge comes from the fact that job_types are defined with class job_types(enum), so each job_type has a name:value pair. This works well in g16, where all optimizations contain the keyword "opt", but this leads to a problem in ORCA when there are several keywords that can describe the same job_type, eg tightopt, normalopt, copt, zopt,  etc.

Can you also update the documentation (maybe the ORCA recipe?) so that we know what kind of job verbosity is needed for ORCA?  I am not sure what you mean by name:value pair in job_types.  Enums are basically lists, not dicts.  Can you just call all those opts an optimization, or does it make more sense to have more enums?

Can you also update the documentation (maybe the ORCA recipe?) so that we know what kind of job verbosity is needed for ORCA? I am not sure what you mean by name:value pair in job_types. Enums are basically lists, not dicts. Can you just call all those opts an optimization, or does it make more sense to have more enums?

I updated the docs and the unit tests to reflect the problem with MiniPrint. Several additional changes to orca_file and parse_orca to support getting frequencies from compound jobs and getting the right frequencies when calc_hess is used in a TS search.

Thanks.  Here are some comments:

documentation: I see the comment about MiniPrint--thanks for adding.  Would you please move ORCA to a new recipe and provide more details about what kinds of files can be read (or written)?  Please provide examples of all common use cases. Please also explain how multi-step jobs can be parsed (or written).
OrcaJobType: Could you please explain the new enum members?  Note that each enum should have its own doctag.  What's the difference between TS, OPTTS, SCANTS, and TIGHTOPT?  Do we need separate enums for all of these?  Why are there no expected properties for the new enum members?  Shouldn't we be reading all the gradients and all that for all these new job types?
Please don't comment out the old code (replace it instead).  I note this occurred on parse_orca/read_freqs, for example.  Git will store the old code.
Are there unit tests that test these new features?

Hi Eugene,
I cleaned up the OrcaJobType(Enum) using tuples to match the values to expected properties.
I removed all of the unnecessary JobTypes.  There is one ORCA keyword (ScanTS) that is a member of OPT, but does not include "opt" in the keyword. I addressed this by specifying in the _assign_job_types method that if "ScanTs" is in the header, to add OPT to job_types.
I am working on unit tests for parsing frequencies, especially in compound jobs and jobs that involve multiple steps like ScanTS.
I edited some of the documentation to get rid of some errors that arise in "hello world" and "tutorial 1". The errors stem from the old use of file.molecule instead of file.get_molecule()

Nice work!  I see things are coming along!

Also, please don't forget to add orca tests.

New action items: check for charge parsing (mulliken, lowdin, hirshfeld, etc), check that charges are properly connected to the geometry iteration, check ORCA version, ensure free energy parsing works between ORCA 4 and 5

Great work!  Merged as requested.


0.3.0 prepared

@imk2021
Do you have time to give this develop branch a test run?

Hello Rob
The @imk2021 didn't seem to take me to a link with code so i am guessing
you mean test 0.3.0 development at
https://github.com/RobTillaart/ACS712/tree/develop ?
If this is it i'll test this evening Ian
PS Is there anything in this version that i need to modify my test rig
for, you mentioned something about int changed to float?

Thanks for testing tonight.
There should be no breaking change for existing sketches. (I had to patch unit tests for the floats but that is about it)

float return types are just a bit more precise.
midPOint functions now all return current midPoint (convenience)
new functions

float mA_peak2peak()
uint16_t getMinimum()  getMaximum()   for debugging purpose.

documentation updated

The only thing that may cause problems is the midPoint which changed internally from int to uint16_t.
Found no problem so far, but absence of bugs during testing is no proof :)
If this one is merged, I start to investigate https://github.com/RobTillaart/ACS712/issues/23
(and some other open issues, and ideas and ....)

Hello Rob,
Sorry something wrong with 0.3.0 as mA_AC_sampling () returns a large
number eg 319445 mA when connected to the ACS712 at zero current.
Test Rig changes to verify results are:
Hardware, Connected A0 to A1.
Software, Added lines of code to display ADC output of A1 and raw valve
at A0
MaxmA = analogRead( A1 );
lcd.setCursor(0, 0);             lcd.print( "Max mA's: " ); lcd.print(
MaxmA );
Test a.
ACS712 connected to A0 and A1 (As normal)
Output A1=513, mA_AC_sampling () output= 319445 mA
Test b.
Disconnected ACS712 form A0 and A1
Connected 10k Variable resistor between 0v and vdd (5v rail) and
adjusted to 1/2 vdd
Connected resistor wiper to A0 and A1  (A1 Reading 511, mA_AC_sampling
() returns 22.62mA)
---------------- This test has no ACS712 noise ---------------------
Test c
wiper of 10k Variable resistor still connected to A0 and A1
But connected ACS712 to A0 and A1 via a 10uF tantalum capacitor, thus
injecting ACS712 noise into A0 and A1
A1 Reading is still 511, but mA_AC_sampling () output is a large
changing values in the region of 255234  mA
Test d.
Disconnecting ACS712 from the 10uf capacitor and values are A1=511,
mA_AC_sampling () returns 26.12mA' ish)
It seems that 0.3.0 is super sensitive to ACS712 noise.
Sorry to be bring of bad news Rob, have a good evening, Ian

Thanks for the tests, I started to collect some hardware to build a test bench here. However some other tasks got priority.
I still cannot explain why large values pop up orher than there is either a spike on the sensors OUT or a loose wire.  To be continued.
As always thanks for your time.


[server-wallet] Fail profile job on error

[x] ~Expose problem with a nonzero exit code~
~Find a fix - suspect something to do with using recordFunctionMetrics() (I get a different error if I don't use that)  metrics~
~Apply fix~

#2565 Has been now been solved, but this PR:

inserts a change which makes the test properly fail if there is an error (which could save us in the future).
changes the PayerClient to accept configuration in it's constructor
a little bit of refactoring here and there

I think maybe there still is a residual error, although the profiling job seems to successfully complete with expected output.

There's no residual error, just output to stderr, which was causing a process.exit(1) (but no longer).


NSDU Network Layer Message Logging

Feature Request
Give the parser the ability to explicitly log network layer messages from the NSDU.
Feature Context
The BACnet protocol Network Service Data Unit (NSDU) has two main message types. The first is the
Application Protocol Data Unit (APDU) which is currently being explicitly logged by the parser. The
second is a network layer message that primarily controls the routing behavior of BACnet devices.
These packets are not currently being explicitly logged, which leads either to events being dropped
or logged as their closest equivalent APDU counterpart (for example, the network layer message I-Am-Router-To-Network is currently being logged as an APDU I-am event).
Feature Value Add
This feature would be useful for parser users because it would enable them to more accurately
interpret their router network data and the relationship between their devices and network flows.
Because these events are primarily concerned with device routing behavior, users could leverage
these Zeek packets to determine which devices can communicate and the relationship between these
devices and the router. Overall, this change could make network topologies easier to map.
Links
http://bacnetwiki.com/wiki/index.php?title=Network_Layer_Message_Type

I believe this was been added to the parser on June 12 via commit: 4c7340cf7159cf27076ad94078cc5968010aea0d unless there is something else we are missing or if there is a problem with the current implementation?
Version 1.3 and 1.4 both contain this code, but only version 1.4 contains a test case (analyzer.services) that contain NPDU (NSPDU) logs


AI Game Jam Submission

Notes
The theme of the GameJam is "Break the rules". In my game, the player breaks the rules of robotics and rolls over enemies.
Tasks
1. Roll Character

[X] Import Roll-Charcter code
[x] Adjust gameplay to use Roll-Character code

2. Asimov's Three Laws

[ ] Intro scene with the 3 laws
[ ] Animation of "A robot may injure a human being" text remaining

3. Aesthetics

[ ] Change ball to robo-sphere
[ ] Change cubes to low-poly humanoid (glass runner is fine)
[ ] Better Start scene

#13 adds in the ability to use the click controller in the game


Put the search bar before the Topics list for easy access

The search bar is too small and is positioned below the topics list. This makes it kinda useless as a person has to scroll down to get to it. I want to put it before the topics list so it remains on the front of the website and is easily accessible.

Go on with the work buddy


x/mint: fix rounding issues

Background
This is a follow-up to https://github.com/osmosis-labs/osmosis/issues/1839
https://github.com/osmosis-labs/osmosis/pull/1874 helped to uncover rounding issues with minting. Please follow the PR description to understand the context.
There are currently 2 discovered rounding issues:

Truncating epoch provisions

Line that causes this: https://github.com/osmosis-labs/osmosis/blob/ff383fc1f640bd1c2f902ce147659b23b751285c/x/mint/types/minter.go#L53

Changing this from Dec to Into might not be as simple. Can potentially lead to a larger refactor and a db migration.

Truncating while calculating developer rewards

This one causes a much larger delta
Line with the problem: https://github.com/osmosis-labs/osmosis/blob/ff383fc1f640bd1c2f902ce147659b23b751285c/x/mint/keeper/keeper.go#L205
where GetProportions truncates the result before returning.

Also, not sure about the impact yet but the test shows that this is the source.
Before addressing this issue, we should first complete DistributeMintedCoin refactor in: https://github.com/osmosis-labs/osmosis/issues/1916
Acceptance Criteria

The 2 sources of rounding issues are mitigated
Unit tests added to ensure supply correctness
The test introduced in #1874 is either refactored or removed
Calculate the exact value that we are off by the next upgrade
Allocate the missed value to the community pool during the next upgrade: https://github.com/osmosis-labs/osmosis/tree/main/app/upgrades/v11
remove references to this issue in the codebase. It is referenced multiple times.

Blocked by #1916

Fixing this isn't as simple due to the dependencies on the cosmos-sdk APIs.
The core problem is that some sdk modules such as x/bank and x/distribution operate on sdk.Coins as opposed to sdk.DecCoins. For example:

BurnCoins
FundCommunityPool

I have asked in the sdk about the reasons and plans for changing this: https://github.com/cosmos/cosmos-sdk/issues/7113#issuecomment-1205688807
In the meantime, I think the best workaround would be to have a decimal store entry in the mint module that tracks the rounding delta between epochs. As soon as the delta reaches 1 sdk.Int, we can send it to the community pool and update the rounding delta.


fully remove support in v1.9 for spaces in model names

From https://github.com/dbt-labs/dbt-core/issues/9397
Spaces in model names was only ever supported incidentally & by accident. It’s never been documented.
Having a space in a model name makes in impossible to select via --select on the model name because the argument gets split into pieces over spaces very early in the pipeline.
Most warehouses will not like a table, or other object, with a space in its name.
We may have to support table/view names with spaces for completeness on some platforms, but I we shouldn't support them in dbt's internal identifiers.

fully remove support in v1.9 (raise error)

@graciegoheen I think we'll need to put this behind a behavior change flag, since it could break people's projects. I think we should both introduce the flag and set its default to True (raise an error) in v1.9.

@jtcohen6 do we still want to mark this for deprecation in 1.8? https://github.com/dbt-labs/dbt-core/issues/9397


fix: restartOnFileChange option not restarting the test run

The problem was caused by a race condition in the client JS implementation. When the restartOnFileChange option is enabled, the server would send two commands to the browser: stop and execute. Both of these commands navigate the context. stop navigates to the blank page, while execute navigate to the context.html thus triggering a test run. The execute command would trigger the navigation synchronously, but the stop command would trigger it on the next event loop tick. As a result, if both commands arrive almost at the same time, their order is effectively reversed: first schedule new execution and then immediately stop it. The bug is resolved by handling both commands synchronously thus ensuring correct order.
The setTimeout() call in question was introduced in 15d80f4 to solve #27 and was retained over time. It's not completely clear why the timeout was added, but it does not seem to be relevant.
With clearContext: true, karma will reset the context and thus cancel any scheduled navigations as soon as the test framework has reported the complete event. As navigations are canceled they don't affect karma and thus karma does not care about them. It's true that the user may have a test with race conditions (e.g. missing done callback), but it is up to them to investigate and fix it.
With clearContext: false, the same logic applies, that karma does not care about navigations after complete event as long as they don't break karma itself. Here it gets a bit tricky:

Navigation within the same origin is undesired, but it doesn't break karma and the next execution can proceed normally.
Navigation to a different origin however is a problem as after such navigation the iframe becomes cross-origin and karma client will not be able to navigate it to the context.html or interact with it at all for that matter until the page reload (see this SO answer). This will break the watch mode, but IMO we can let it be given that the case is quite uncommon, the user will see the browser window displaying something unexpected and the error in the CLI output. The changes in this commit don't make this case any worse and it does not seem to be possible to prevent such problematic navigations with the current state of browsers per https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload:

To combat unwanted pop-ups, some browsers don't display prompts created in beforeunload event handlers unless the page has been interacted with. Moreover, some don't display them at all.

Fixes #3724

I have started qualifying this :)


Update Key Vault to better support multi-targeting

Related to #33488. Though we decided not to take advantage of multi-targeting in KV, there may be some in the near future for all track 2 assemblies. This PR should prepare KV better, and updates some comments to better explain things w.r.t. multi-targeting.

API change check
API changes are not detected in this pull request.

I had to take a different approach rather than use inclusive - and more obvious, IMO - preproc conditions. This is because the Analyze job of our build passes -p:BuildSnippets=true to eng/service.proj, which in turn defines the SNIPPET symbol for all TFMs including net461 and net47. Since netstandard2.0 - nor those specific TFMs - define X509StorageFlags.EphemeralKeySet, the build was failing. So because SNIPPET is always passed in those cases, I need to specifically exclude them. I added comments in appropriate places to that effect.

I had to take a different approach rather than use inclusive - and more obvious, IMO - preproc conditions. This is because the Analyze job of our build passes -p:BuildSnippets=true to eng/service.proj, which in turn defines the SNIPPET symbol for all TFMs including net461 and net47. Since netstandard2.0 - nor those specific TFMs - define X509StorageFlags.EphemeralKeySet, the build was failing. So because SNIPPET is always passed in those cases, I need to specifically exclude them. I added comments in appropriate places to that effect.

This likely will make multi-targeting complex for other SDKs as well. Is there a cleaner approach we can take? Perhaps a change to the snippet tool or how it is invoked?


S3 Authentication does not work as expected

Describe the bug
user can write bucket that does has no privilidge

s3.configure, user a and user b, bucket a and bucket b

{
  "identities": [
    {
      "name": "a",
      "credentials": [
        {
          "accessKey": "YZx21/AuhLr0H7ef",
          "secretKey": "h+apIHQ8DOzRl9BO"
        }
      ],
      "actions": [
        "Read:a",
        "Write:a",
        "List:a",
        "Tagging:a"
      ]
    },
    {
      "name": "b",
      "credentials": [
        {
          "accessKey": "NUDLE6afOLkhNF7j",
          "secretKey": "BQJIniw6LBpM2gVm"
        }
      ],
      "actions": [
        "Read:b",
        "Write:b",
        "List:b",
        "Tagging:b"
      ]
    }
  ]
}

anothre host, aws configure user b

$ cat ~/.aws/credentials
[default]
aws_access_key_id = NUDLE6afOLkhNF7j
aws_secret_access_key = BQJIniw6LBpM2gVm

write / delete file in bucket a

$ aoss cp README.md s3://a/
upload: ./README.md to s3://a/README.md

$ aoss ls s3://a
2022-05-02 09:53:20         41 README.md

$ alias aoss
aoss='aws --endpoint-url=http://<IP_ADDRESS>:8333 s3'

System Setup

List the command line to start "weed master", "weed volume", "weed filer", "weed s3", "weed mount".

weed master
/data/admin/weed/bin/weed master -mdir /data/admin/weed/meta -volumeSizeLimitMB 1024 -defaultReplication 001

weed volume
/data/admin/weed/bin/weed volume -dataCenter dc1 -rack r1 -dir /data/admin/weed/data -index leveldb -mserver <IP_ADDRESS>:9333 -max 200

weed filter
/data/admin/weed/bin/weed filer -master <IP_ADDRESS>:9333 -s3

OS version

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:        20.04
Codename:       focal

output of weed version

version 30GB 2.88<PHONE_NUMBER>802307556d117be422a1e5a208f558 linux amd64

if using filer, show the content of filer.toml

[filer.options]
recursive_delete = true

[leveldb2]
enabled = true
dir = "/data/admin/weed/filer_data"                    # directory to store level db files

Expected behavior
write / delete fail
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

can not reproduce.

I upgrade to 3.0, everything is right...maybe old version bug


Configure pytest in pyproject.toml

Codecov Report

Merging #87 (25c6ca3) into main (8f719c3) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #87   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines           52        52
  Branches         6         6
=========================================
  Hits            52        52

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 8f719c3...25c6ca3. Read the comment docs.


variable scope inside onchange callback

Hi, I have the following code, onChange callback get call correctly and working but the problem is that this.saveData() method is not working because this is out of scope? how I will access other variables using this inside onChange callback?
Please help me or please tell me some other workaround?
<template>
	<editor ref="editor" :config="config" :initialized="onInitialized"/>
</template>

<script>
	config: {
	  onReady: () => {
             console.log('on ready')
          },
          onChange: (args) => {
             console.log('Now I know that Editor\'s content changed!', args)
             **this.saveData(args);**
          },
	}
</script>

Hello @asifu5057, I think you should use function not arrow function. If it is not working, please give me an example with codesandbox etc.

Hello @asifu5057, I think you should use function not arrow function. If it is not working, please give me an example with codesandbox etc.

Thanks @ChangJoo-Park for the quick response.
I tried function but its not working, I want to access this variables in onChange callback but it shows error Cannot read property 'saveData' of undefined.  here is the link to codesandbox . Please check if you have any other question just let me know.
https://codesandbox.io/s/falling-sunset-g9cku?file=/src/components/HelloWorld.vue

Thanks @ChangJoo-Park for the quick response.
I tried function but its not working, I want to access this variables in onChange callback but it shows error Cannot read property 'saveData' of undefined.  here is the link to codesandbox . Please check if you have any other question just let me know.
https://codesandbox.io/s/falling-sunset-g9cku?file=/src/components/HelloWorld.vue

Hello @ChangJoo-Park I have already given you an example and sent you a link of codesandbox, could you please help me out in this that why is this happening and how to resolve this issue if I want to access other variables  inside callback?

Hello @ChangJoo-Park I have already given you an example and sent you a link of codesandbox, could you please help me out in this that why is this happening and how to resolve this issue if I want to access other variables  inside callback?


Do not downscale if self.scale_factor == 1

This removes unnecessary allocations and overhead.

Coverage decreased (-0.4%) to 83.217% when pulling 5e8f198021b33e7e9b20ef718def159e4244100c on redzic:no-unnecessary-downscale into 0c066cbba2637ba0587a8685f7796be5e24a44a5 on xiph:master.

This makes fast scenecut significantly faster on clips that use a downscale factor of 1, as it completely avoids the overhead of downscaling.
Tested on 240x240 clip:
Performance of fast_scenecut on the clip before this change:

Performance of fast_scenecut on the clip after this change:

So it is about 17x faster on that clip. There shouldn't be any chance in awcy.

LGTM, great work @redzic :+1:


Still can't get to the device ID and local ID

Struggling to get to device and local ID

You are following the instructions in the README?  Using Blue Stacks and the older version of the Eufy Robovac App?  https://www.apkmirror.com/apk/anker/eufyhome/eufyhome-2-3-2-release/eufyhome-2-3-2-android-apk-download/

Yes I’ve tried all the instructions even the old versions don’t show local ID/device ID
Sent from my iPhone

On 2 Aug 2020, at 00:04, Alex Martin<EMAIL_ADDRESS>wrote:

You are following the instructions in the README? Using Blue Stacks and the older version of the Eufy Robovac App? https://www.apkmirror.com/apk/anker/eufyhome/eufyhome-2-3-2-release/eufyhome-2-3-2-android-apk-download/
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I have tried several ways of getting it working no joy

Closing due to inactivity.
You can get both pieces of information by using logcat to "sniff" the data on an android phone OR emulator (like BlueStacks.
This is known to work on Eufy Home v2.3.2 (click the link to download the apk)

More detailed steps on using logcat:

Close the app on your mobile device
Connect the device to your laptop and enable USB debugging
Run adb logcat -e 'tuya.m.my.group.device.list' (assumes you have already installed the Android debug tools)
Launch the Eufy Home app
The output lines contain JSON, you're looking for the values of localKey (16 character hex string) and devId (20 character hex string).

Hi there, when trying to find the devId/LocalKey combo, I can't seem to find exactly what's needed. Looking at the log file, I have the following
device_key --> 16 digits alphanumeric
local_code --> 16 digits alphanumeric
device_id --> 36 digits alphanumeric (including 4 dashes - )
These are the only things I can find in the logs, but no combinations of those actually result in a successful connection.
Any ideas?

I'm running into the same thing. Looking at the output, it seems the JSON response is incomplete. Using Eufy Home v2.3.2, tried it on both BlueStacks and my actual phone.

The entire text of the erroneous node above:
{
  "result":[
    {
      "schemaInfo":{
        "schemaExt":"[]",
          "schema":"[{\"mode\":\"rw\",\"code\":\"power\",\"name\":\"电源开关\",\"property\":{\"type\":\"bool\"},\"iconname\":\"icon-dp_power2\",\"id\":1,\"type\":\"obj\",\"desc\":\"\"},{\"mode\":\"rw\",\"code\":\"power_go\",\"name\":\"清扫开关\",\"property\":{\"type\":\"bool\"},\"iconname\":\"icon-dp_power\",\"id\":2,\"type\":\"obj\",\"desc\":\"1是 开始工作（工作中），0是停止工作（待机中）\"},{\"mode\":\"rw\",\"code\":\"direction\",\"name\":\"清扫方向\",\"property\":{\"range\":[\"forward\",\"back\",\"left\",\"right\"],\"type\":\"enum\"},\"iconname\":\"icon-dp_mode\",\"id\":3,\"type\":\"obj\",\"desc\":\"\"},{\"mode\":\"rw\",\"code\":\"mode\",\"name\":\"清扫模式\",\"property\":{\"range\":[\"auto\",\"SmallRoom\",\"Spot\",\"Edge\",\"Nosweep\",\"remote\",\"bf1\",\"bf2\",\"bf3\"],\"type\":\"enum\"},\"iconname\":\"icon-dp_dust\",\"id\":5,\"type\":\"obj\",\"desc\":\"自动模式；小房间模式；定点模式；延边模式……可按产品实际功能进行修改\"},{\"mode\":\"ro\",\"code\":\"status\",\"name\":\"工作状态\",\"property\":{\"range\":[\"Running\",\"standby\",\"Sleeping\",\"Charging\",\"completed\",\"Recharge\"],\"type\":\"enum\"},\"iconname\":\"icon-dp_direction\",\"id\":15,\"type\":\"obj\",\"desc\":\"0x00:运行中\\n0x01:待机中\\n0x02:休眠中\\n0x03:充电中\\n0x04:充电完成\\n0x05:回充中\"},{\"mode\":\"rw\",\"code\":\"FMR\",\"name\":\"自动回充\",\"property\":{\"type\":\"bool\"},\"id\":101,\"type\":\"obj\",\"desc\":\"\"},{\"mode\":\"rw\",\"code\":\"Cleaning_intensity\",\"name\":\"清扫强度\",\"property\":{\"range\":[\"Standard\",\"Turbo\",\"Max\",\"Boost_IQ\"],\"type\":\"enum\"},\"id\":102,\"type\":\"obj\",\"desc\":\"Standard、Turbo、Max、Boost IQ\"},{\"mode\":\"rw\",\"code\":\"Looking_weeper\",\"name\":\"寻找扫地机\",\"property\":{\"type\":\"bool\"},\"id\":103,\"type\":\"obj\",\"desc\":\"\"},{\"mode\":\"ro\",\"code\":\"electricity_left1\",\"name\":\"剩余电量\",\"property\":{\"unit\":\"\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1,\"type\":\"value\"},\"id\":104,\"type\":\"obj\",\"desc\":\"\"},{\"mode\":\"ro\",\"code\":\"Fault_report\",\"name\":\"故障提示\",\"property\":{\"unit\":\"\",\"min\":0,\"max\":10000,\"scale\":0,\"step\":1,\"type\":\"value\"},\"id\":106,\"type\":\"obj\",\"desc\":\"\"},{\"mode\":\"rw\",\"code\":\"ForbidMode\",\"name\":\"勿扰模式状态\",\"property\":{\"type\":\"bool\"},\"id\":107,\"type\":\"obj\",\"desc\":\"1:在勿扰模式  0：不在勿扰 目前只做上报\"},{\"mode\":\"ro\",\"code\":\"ClearTime\",\"name\":\"清扫时间\",\"property\":{\"unit\":\"s\",\"min\":0,\"max\":10000000,\"scale\":0,\"step\":1,\"type\":\"value\"},\"id\":109,\"type\":\"obj\",\"desc\":\"\"},{\"mode\":\"ro\",\"code\":\"ClearArea\",\"name\":\"清扫面积\",\"property\":{\"unit\":\"m2\",\"min\":0,\"max\":10000000,\"scale\":0,\"step\":1,\"type\":\"value\"},\"id\":110,\"type\":\"obj\",\"desc\":\"\"},{\"mode\":\"rw\",\"code\":\"Loudness\",\"name\":\"音 量调节\",\"property\":{\"unit\":\"\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1,\"type\":\"value\"},\"id\":111,\"type\":\"obj\",\"desc\":\"\"},{\"mode\":\"rw\",\"code\":\"pauseStar\",\"name\":\"暂停/继续\",\"property\":{\"range\":[\"Nosweep\",\"Pause\",\"Continue\"

Nevermind. Looks like if the device is shared with you, it won't show you the keys/IDs.

That makes a lot of sense. Thanks for fining that out.


Disable DIO's error messages from HTTP2 Adapter

Package
dio
Version
5.0.3
Operating-System
MacOS
Output of flutter doctor -v
[!] Flutter (Channel stable, 3.10.6, on macOS 14.0 23A344 darwin-arm64, locale en-DK)
    • Flutter version 3.10.6 on channel stable at /Users/mf/fvm/versions/3.10.6
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/3.1.3/libexec/bin/dart, which is not inside your current Flutter SDK
      checkout at /Users/mf/fvm/versions/3.10.6. Consider adding /Users/mf/fvm/versions/3.10.6/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (4 months ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/mf/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[!] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    ✗ CocoaPods installed but not working.
        You appear to have CocoaPods installed but it is not working.
        This can happen if the version of Ruby that CocoaPods was installed with is different from the one being used to invoke it.
        This can usually be fixed by re-installing CocoaPods.
      To re-install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] VS Code (version 1.83.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.74.0

Dart Version
3.1.3
Steps to Reproduce
Use net http2 network adapter, and have a request fail.
Expected Result
Should not output anything. Would like to completely disable these.
Actual Result
Error: HTTP/2 error: Connection error: Connection is being forcefully terminated. (errorCode: 10)

Hey, can you add some more details on what exactly you want to do? I do not yet understand what exactly you want to achieve.

I think this was actually not related to dio but our own codebase - apologies for the confusion!


GunicornWebWorker blocking loop with ZMQEventloop

I am seeing something similar to https://github.com/MagicStack/uvloop/issues/26 with the ZMQEventloop.   Basically just trying to create the ability to asynchronously use zmq to make rpc type calls based on http requests.   With web.run_app everything works, but commenting web.run_app and using gunicorn hangs.  In the docs it specifically talks about running ZMQ as a background task, so not sure why this doesn't work.  Any help is appreciated.
I tried to create the absolute simplest reproducible example of the zmq setup that hangs below.
Is this a case where ZMQ also needs its own specialized worker?
Setup:
pyzmq                    15.4.0
aiohttp                   1.0.2
python                    3.5.2
gunicorn                 19.1.0
macosx 10.11.3
import asyncio
import zmq.asyncio
from aiohttp import web

TMP_ENDPOINT = 'tcp://<IP_ADDRESS>:12345'

class EchoServer(object):

    def __init__(self):
        loop = asyncio.get_event_loop()
        asyncio.set_event_loop(loop)
        self._context = zmq.asyncio.Context()
        self._poller = zmq.asyncio.Poller()
        self._socket = self._context.socket(zmq.ROUTER)
        self._socket.bind(TMP_ENDPOINT)
        self._poller.register(self._socket, zmq.POLLIN)

        loop.run_until_complete(self.poll_sockets())

    async def poll_sockets(self):

        while True:
            events = await self._poller.poll()
            recv_msg = await self._socket.recv_multipart()
            await self._socket.send_multipart(recv_msg)

class ZmqHandler(object):

    def __init__(self):
        loop = zmq.asyncio.ZMQEventLoop()
        asyncio.set_event_loop(loop)
        self._context = zmq.asyncio.Context()
        self._poller = zmq.asyncio.Poller()
        self._socket = self._context.socket(zmq.DEALER)
        self._socket.connect(TMP_ENDPOINT)
        self._poller.register(self._socket, zmq.POLLIN)
        self._future = None

    async def poll_forever(self):
        while True:
            events = await self._poller.poll()
            await self.handle_events(events)

    async def handle_events(self, events):
        recv_msg = await self._socket.recv_multipart()
        self._future.set_result(recv_msg)

    async def send_msg(self, bytesmsg):
        self._future = asyncio.Future()
        await self._socket.send_multipart([b'', bytesmsg])
        await asyncio.wait_for(self._future, timeout=None)
        return self._future.result()

class MyAiohttpHandler(ZmqHandler):

    def __init__(self):
        super(MyAiohttpHandler, self).__init__()

    async def handle(self, request):
        name = request.match_info.get('name', None)
        result = await self.send_msg(name.encode('utf-8'))
        return web.Response(text=result[-1].decode('utf-8'))

async def start_background_task(app):
    app.loop.create_task(app['async_handler'].poll_forever())

# initialize custom handler with async zmq polling
myhandler = MyAiohttpHandler()

# ensure loop initialized by ZmqHanlder is being used
loop = asyncio.get_event_loop()
assert isinstance(loop, zmq.asyncio.ZMQEventLoop)

# start echo server for experiment
import multiprocessing as mp
p = mp.Process(target=EchoServer)
p.start()

# initialize application
app = web.Application(loop=loop)
app.router.add_route('GET', '/{name}', myhandler.handle)
app['async_handler'] = myhandler
app.on_startup.append(start_background_task) # gunicorn needs something like this?

# commenting this line hangs gunicorn
web.run_app(app, host='<IP_ADDRESS>', port=8000, ssl_context=None)

Using zmq.asyncio.ZMQEventLoop is a very bad idea.
Because the loop is based on Poller, which in turn doesn't support many sockets.
zmq may be used with regular lops but its author doesn't want to maintain this mode.
Please just run aiozmq with loop-less transports/streams.

We have a working backend system using pyzmq that talks to itself just fine.  The issue is really only where we are interfacing with creating external api's.   I'm not against looking switching everything to aiozmq.  We just need to look at the work involved there.   If the above code could be mapped easily to aiozmq then in principle it should be relatively easy to switch for us.      Hiding the event loop in someways makes the paradigm a little different, so I'm not sure how much we have to think how we have things setup, but I guess there is benefit of hiding the loop and using the asyncio eventloop, with the concept of Transports and Streams.   Is it safe to say a Transport is basically a Socket and could be used in the same way?   The other question would be what is the equivalent of the await poll()? Would it be to set up a monitor and then trigger on event_received()?
Is the issue that gunicorn is opening sockets that the zmq.asyncio.ZMQEventLoop can't handle?
Thanks for the help.   We are definitely trying to use all your hard work integrating asyncio.

aiozmq is not a drop-in replacement for pyzmq.asyncio but the usage is similar. Take a look on https://aiozmq.readthedocs.io/en/v0.7.0/stream.html
await poll() is not needed, the loop is ran by loop.run_forever().
ZMQ monitor socket is supported by await stream.read_event().
Returning to zmq.asyncio and gunicorn.
zmq.asyncio can handle all UNIX sockets but it just is not effective for massive TCP socket usage (HTTP server is placed exactly in this category).
Technically possible to write a gunicorn worker class for interoperation with  zmq.asyncio.ZMQEventLoop but I don't want to encourage bad practices.

While not incorrect, the docs may be hiding some issues.   They lead me to believe that #1092 should have solved all the problems I was having with gunicorn.    In the background tasks section

For example the background task could listen to ZeroMQ on zmq.SUB socket, process and     forward retrieved messages to clients connected...

The use case above works without gunicorn but not with gunicorn.  Or maybe an alert 'caution with the zmq.asyncio.ZMQEventLoop'

re: aiozmq.  aiozmq.create_zmq_stream creates a ZmqStream that seems to have a 1-1 correspondence to a zmq.Socket.  The advantage of the zmq.Poller() is that multiple sockets are registered with a single poller.  Then when we have many sockets (that dynamically come and go) we can have an infinite loop listen_to_all_sockets->handle_events->listen_to_all_sockets ( poll_forever() in my example above).   In aiozmq, what object monitors multiple streams simultaneously to handle any events that occur?  We need to be able to add and subtract streams from the monitor dynamically.

Looks like by zmq monitor we mean different things.
For me monitor is a special ZMQ socket of type ZMQ_PAIR with very specific behavior: http://api.zeromq.org/4-1:zmq-socket-monitor
If you are talking about regular ZMQ sockets (REQ-REP, PUB-SUB and PUSH-PULL) you should create a aiozmq.Stream per socket. Event loop internally processes their activities, no Poller.poll call is needed.
See also zeromq/pyzmq#894

I see the confusion in the monitor.  I was referring to the documentation example where i would like to monitor multiple streams simultaneously:
https://aiozmq.readthedocs.io/en/v0.7.0/examples.html#stream-socket-event-monitor
I'm not sure I understand what you mean saying the event loop internally processes their activities.
In the above example there is a def monitor_stream(stream): function, which is registered via asyncio.Task(monitor_stream(dealer)).  I assume you mean that on an event in that stream there is an automatic callback to monitor_stream(stream).
In the above, it seems that a call back function needs to be created for every stream(socket) and then 'registered' as an asyncio.Task with an infinite for loop.   Or could multiple different streams simply trigger the same monitor_stream? i.e.
dealer1 = yield from aiozmq.create_zmq_stream(zmq.DEALER)
yield from dealer1.transport.enable_monitor()
asyncio.Task(monitor_stream(dealer1))
...
asyncio.Task(monitor_stream(dealer2))

Isn't this the functional equivalent of a poller?    Does it make sense to provide the conceptual continuity with zmq.asyncio.Poller() with the benefits of the loopless transport?
In essense an object could be created 'aiozmq.Poller' that implements the monitor_stream(stream) behind the scenes and then simply registers streams, ie.
poller = aiozmq.Poller()
poller.register(dealer1)
poller.register(dealer2)
event = await poller.poll()

where the poller is simply yielding the events from monitor_stream as they arise?  Am I missing some core concept or difference here?

One question.
Do you want to receive monitor events about ZMQ socket internal state changing like ZMQ_EVENT_CONNECTED and ZMQ_EVENT_ACCEPTED or just receive socket data payload?

For my purpose we just need to receive socket payload.

On Sep 29, 2016, at 2:20 PM, Andrew Svetlov<EMAIL_ADDRESS>wrote:
One question.
Do you want to receive monitor events about ZMQ socket internal state changing like ZMQ_EVENT_CONNECTED and ZMQ_EVENT_ACCEPTED or just receive socket data payload?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

In this case just create a task per ZMQ socket -- it's the most reasonable design.
You might build a custom class with poller-like API on top of this  but I see no sense in it.


Incorrectly reported missing values from Values map

When environment variables are used in helmfile.yaml definition, missing values are reported incorrectly.
How to reproduce the issue:
Following configuration files were used:
helmfile.yaml
helmDefaults:
  cleanupOnFail: false
  atomic: false
  wait: false

repositories:
- name: stable
  url: https://kubernetes-charts.storage.googleapis.com

releases:
- name: test
  namespace: {{ .Values.deploymentNamespace }}
  chart: {{ .Values.chartName }}

environments:
  default:
    values:
    - env/{{ requiredEnv "DEPLOYMENT_ENV" }}/values.yaml
    - deploymentNamespace: {{ requiredEnv "DEPLOYMENT_NS" }}
    - chartName: stable/{{ env "CHART_NAME" }}

env/dev/values.yaml
global:
  test: "123"

Tests carried:
With no environment variable set:
ubuntu:/tmp/helmfile$ ./helmfile -i apply
in ./helmfile.yaml: error during helmfile.yaml.part.0 parsing: template: stringTemplate:12:23: executing "stringTemplate" at <.Values.deploymentNamespace>: map has no entry for key "deploymentNamespace"

When DEPLOYMENT_NS is set:
ubuntu:/tmp/helmfile$ export DEPLOYMENT_NS=default
ubuntu:/tmp/helmfile$ ./helmfile -i apply
in ./helmfile.yaml: error during helmfile.yaml.part.0 parsing: template: stringTemplate:12:23: executing "stringTemplate" at <.Values.deploymentNamespace>: map has no entry for key "deploymentNamespace"

still same error is displayed, even the environment variable is set.
With all environment variables set:
ubuntu:/tmp/helmfile$ export DEPLOYMENT_NS=default DEPLOYMENT_ENV=dev VERSION=0.1.1 CHART_NAME=vault-operator
ubuntu:/tmp/helmfile$ ./helmfile -i apply
Adding repo stable https://kubernetes-charts.storage.googleapis.com
"stable" has been added to your repositories

Comparing release=test, chart=stable/vault-operator
********************

        Release was not present in Helm.  Diff will show entire contents as new.

********************
default, test-vault-operator, ServiceAccount (v1) has been added:
-
+ # Source: vault-operator/templates/service-account.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
...

When referenced env/dev/values.yaml file is missing but all the environment variables are set:
ubuntu:/tmp/helmfile$ export DEPLOYMENT_NS=default DEPLOYMENT_ENV=dev VERSION=0.1.1 CHART_NAME=vault-operator
ubuntu:/tmp/helmfile$ ls -l env/dev/values.yaml
ls: cannot access 'env/dev/values.yaml': No such file or directory
ubuntu:/tmp/helmfile$ ./helmfile -i apply
in ./helmfile.yaml: error during helmfile.yaml.part.0 parsing: template: stringTemplate:12:23: executing "stringTemplate" at <.Values.deploymentNamespace>: map has no entry for key "deploymentNamespace"

Expected results:
Each case should report different problem, different missing value, but instead it reports always same missing value.
This makes any troubleshooting of any related issues difficult.
Helmfile version used: v0.125.7 ( same issue observed on version  v0.102.0)

@mumoshu
I tested your version of helmfile and I can confirm that it behaves the expected way. Thank you for your solution.
At the same time I am wondering, where I could do more reading on the topic of helmfile rendering, so I have better understanding of the solution itself. Would be possible to refer me to a specific section of documentation? Thank you again for your help.

@mumoshu thanks this really helped me!
Just want to point out that the example configuration in the documentation does not follow this rule which led to my trouble in the first place.
https://github.com/roboll/helmfile#configuration


[Bug] Rust comment containing a double quote breaks rainbowing after it

On line 19 of the above screenshot, I have a comment that contains a double quote ". The instant you put a double quote inside a comment, every rainbowed thing after that point will revert to default and will not be rainbowed again until you remove the ".
I tested Rust and Lua, and it only happens with Rust. I also reverted to a commit before you added the <> highlighting to Rust, and it still happened there.

I'm pretty sure that this bug was included by that commit, but now it should work properly

Confirmed, thanks for the fix!


Allow cross stack linking

docker-compose should support the ability to link to services within (default) and across stacks.

(and the UI should support it too)
Carry the +1 from @jwhitcraft in #1597.

Will this also include load balancing? Otherwise, we need to re-open #1597.

I think we can cover all the types of services in one issue...

+1 for this :)


Remote query API

From @tomwilkie
Could probably also be upstreamed.
Copied from original issue: tomwilkie/frankenstein#4

From email:

@rade:
Is this remote read-back feature what https://github.com/weaveworks/cortex/issues/5 is about? I thought it was but the issue is confusingly (to me) described as "remote query API" when querying cortex remotely is already possible today. So could somebody please add some clarification to that issue, one way or the other.

@juliusv:
I think that issue was more motivated by trying to upstream some of our own remote querying code so that we wouldn't have to maintain it ourselves. But it's strongly related to what would be needed upstream.

I'm going to create another issue for general remote queryability through Prometheus and rename this one.

Ok with me.


Fix issue with DirPkg.__contains__ method (not-implemented)

This pull-request arose from running cr.exporter tests against the latest release of python-pptx (0.6.20).
The PackageReader uses in operator on line 43, which results in a failure, since the _DirPkgReader doesn't have the __contains__ method implemented.
I've created just the unit tests to repro the issue, I'll leave the fix to you @scanny. They're also marked with xfail.

Fixed in v0.6.21. Thanks @slobodan-ilic :)