escount band() function?

Hi,
I'm trying to construct an alert that compares the count of the past 1 hour of elasticsearch error messages against past messages.  Is there any way to use a band() function with escount()?
Thank you!

This would be a new es function. Basically would need to make sure we hit the right indexes, and make multiple elastic Range Filters OR'd together. I had no considered this when I did the elastic functions, and also have some refactoring there in another branch.
I'll aim to get this into the 0.6.0 beta (aiming to release that near end of sept).
The other strategy would be to make N queries like we do with OpenTSDB, but my instinct would be that that would be the wrong choice for elastic.

So far, this is how I've attempted to implement my own banding, but it doesn't seem to be working.
$start_duration = "1h"
$bucket_duration = "1h"

$current = escount($index, "host", $query, $bucket_duration, $start_duration, "")

$hist_w1 = escount($index, "host", $query, $bucket_duration, "1w1h", "1w")
$hist_w2 = escount($index, "host", $query, $bucket_duration, "2w1h", "2w")
$hist_w3 = escount($index, "host", $query, $bucket_duration, "3w1h", "3w")
$hist_w4 = escount($index, "host", $query, $bucket_duration, "4w1h", "4w")

$hist_sum = sum($hist_w1) + sum($hist_w2) + sum($hist_w3) + sum($hist_w4)
$hist_avg = $hist_sum / 4

$sum_current = sum($current)
crit = $sum_current > $hist_avg

The check doesn't seem to return any results.  The JSON response looks like this:
{"Sets":[{"Critical":0,"Warning":0,"Normal":0,"Time":"2016/08/29-16:45:48"}],

Any suggestions on what I'm doing wrong there?  Thanks!

I think it is probably the durations. They are passed to our opentsdb.ParseDuration which doesn't support that format I don't think (Will need to see why it is not erroring, it is a regex so need to mentally parse that).
Try changing them 1w1h etc to the duration in hours (i.e. 168h) and see if that fixes it.
You can also hit Alt-p to bring up miniprofiler when you are on Bosun's expression page. You should be able to expand the box in the corner and get to the raw JSON of the elastic query that is sent if it still isn't working for you and maybe we can see what is going on from that.

Or you can do something like tod(d("1w") + d("1h"))

I've tried both of these formats, and received the same null results:
$hist_w2 = escount($index, "host", $query, $bucket_duration, "337h", "336h")
$hist_w2 = escount($index, "host", $query, $bucket_duration, tod(d("2w") + d("1h")), tod(d("2w")))

Alt + p on the Expression page doesn't seem to do anything for me?  However, I also tested my "1w1h" format and it returned the same results as the hour format.
I have a feeling the problem I'm seeing has something to do with adding the sum() functions together, and dividing by the scalar 4.  Is there anything wrong with what I'm doing there?

Wait... I feel dumb.  The index I'm using is a newer one, and I don't yet have 4 weeks of data.  :-/  If I average 3 weeks of data, my alert functions.
However, I'd still love to have a proper esband() function that is a little more efficient at performing this aggregation.  :-)

alt-p should show miniprofilter, which looks like a box in the lower left corner:

I just tried the following and it works okay for me:
$index = esls("logstash")
$keyField = "logsource"
$filter = esall()
$current = escount($index, $keyField, $filter, "1h", "1h", "")
$old = escount($index, $keyField, $filter, "4h", "3h", "")
sum($current) * sum($old) / 2

Your response from Bosun is still unexpected, if you don't have indexes for one of the queries it should error ("no elastic indices available during...") . Do you have indexes with no documents in them or something?

I'm not sure what I was fat fingering before... but I have the profiler working, very handy!
I should clarify, the index itself is not new, but it's a new app added to an existing index.  So, zero documents returned sounds like an acceptable response.


Carbon Copy Cloner download issue

Seems like their appcast is outdated.
/usr/local/bin/autopkg run -v CarbonCopyCloner.munki
Couldn't download http://www.bombich.com/software/download_ccc_update.php?v=3.4.7: HTTP Error 404: Not Found
Failed.
Processing CarbonCopyCloner.munki...
SparkleUpdateInfoProvider
SparkleUpdateInfoProvider: Version retrieved from appcast: 3.4.7
SparkleUpdateInfoProvider: Found URL http://www.bombich.com/software/download_ccc_update.php?v=3.4.7
URLDownloader
Receipt written to /Users/admin/Library/AutoPkg/Cache/com.github.keeleysam.recipes.CarbonCopyCloner.munki/receipts/CarbonCopyCloner-receipt-20141226-132002.plist

The following recipes failed:
    CarbonCopyCloner.munki
        Error in com.github.keeleysam.recipes.CarbonCopyCloner.munki: Processor: URLDownloader: Error: Couldn't download http://www.bombich.com/software/download_ccc_update.php?v=3.4.7: HTTP Error 404: Not Found

Nothing downloaded, packaged or imported.

Onit, PR coming shortly


Adding code to set the responceImage to the correct size.

I've been working on a Dribbble framework and I just switched over to using AFNetworking and it's working great! One issue I ran into with my networking code, and now with AFNetworking, is that sometimes NSImage displays an image at the wrong size. The solution I found was to get a CGImage then set the width and height of the NSImage to what the CGImage says it is.
Some context from the docs on why this is happening and why the CGImage fixes it:

An NSImage is potentially resolution independent, and may have representations that allow it to draw well in many contexts. A CGImage is more like a single pixel-based representation. This method produces a snapshot of how the NSImage would draw if it was asked to draw in the proposed rectangle in the graphics context.

Unfortunately the NSImage is not drawing well. Here is an example of what I'm seeing before and after this change:

Here is a link to this test app: http://cl.ly/BtrZ
These are the urls from the Dribbble API I used for testing:

http://dribbble.com/system/users/13774/screenshots/322302/_87_teaser.jpg?1321541774
http://dribbble.com/system/users/4454/screenshots/322241/max100_20_teaser.jpg?1321537468

I haven't seen this issue with UIImage.

Really great to hear that you're liking AFNetworking so far :)
I'll be the first one to admit my unfamiliarity with Mac development as compared to iOS (I'm sure the Mac example app clearly illustrates that), so I appreciate you opening this issue.
@indragiek's fix appears to be quite reasonable, so I'm happy to merge that in. Thanks for the fix!


remove 's lifetime from validate and validate_assignment

Change Summary
As far as I can tell, not necessary and just increases cognitive load :)
Related issue number
N/A
Checklist

[ ] Unit tests for the changes exist
[ ] Documentation reflects the changes where applicable
[ ] Pydantic tests pass with this pydantic-core (except for expected changes)
[ ] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

please review


python310Packages.qbittorrent-api: init at 2023.7.52

Description of changes
Adds the qbittorrent-api package, which is a python API client for qbittorrent.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[X] Tested, as applicable:

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

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

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

[X] Fits CONTRIBUTING.md.

Please change PR and commit title to python310packages.qbittorrent-api: init at 2023.7.52

Made the requested changes.


Update calendar extension

Description

Screencast

Checklist

[ ] I read the extension guidelines
[ ] I read the documentation about publishing
[ ] I ran npm run build and tested this distribution build in Raycast
[ ] I checked that files in the assets folder are used by the extension itself
[ ] I checked that assets used by the README are placed outside of the metadata folder

Hi @fuksman 👋
Could you check this 🙂


Web export is broken for now. Need to move to mobile API.

ZenMoney developers abandoned web-version of service. So, web API to download backups is not work anymore.
In this case, I believe I should try to move this util to mobile API.

[ ] find the way how to login by mobile API
[ ] find the way to download backups
[ ] update tests
[ ] update README
[ ] release new major version

Why don't you use official OAuth with refresh token?
It seems like if you save new refresh token after each job done it can be used indefinitely long.


sigh action ignores :skip_install parameter

In my use of fastlane, I don't want the provisioning profile to be installed (or even opened).
I'll be submitting a pull request to skip the Actions.sh() call at the end of sigh.rb if the fastfile has :skip_install.

Thanks, merged https://github.com/KrauseFx/fastlane/pull/15 :+1:


How to do retry next server?

I found that gateway only use ribbon client's  choose server function when use load balancer filter, not use its execute method, is that right?
I want to do retry next server when failed, how can I do ?

@crazyman2010 Could you write an example of how you implemented retry on the next server in case of failure?

same question


Feature/ci container build publish

This still needs some work with tagging, but overall the pipeline works for automatic image builds to the github repo.

LGTM. I'm not familiar with the workflows here, but I'm guessing you don't need to call out the postgres and nginx images directly since we're not actually making any modifications to them that the app is dependent on. @j4qfrost is my understanding of that correct?

Not currently, just focusing on building the app itself. Postgres and nginx changes should be handled by the end user based on their specific infrastructure. We kind of just have them in the compose files for convenience. Benchmarking should be done at some point to see how well the app works with different provisioned resources, but way later in terms of scope.


Add OpenShop.io by @Skornos

[x] One project per pull request
[x] Insert the project in alphabetical order
[x] Avoid iOS or open-source in description as it is assumed
[x] Use this commit title format if applicable: Add app-name by @github-username
[x] Use approved format for your entry (use 🔶 for Swift projects)

Thank you for contributing to open-source-ios-apps :wink:


staticMethod 'mergeOption' add the other argument

can use the opts link this
chart.setOption(option, {
    notMerge: ...,
    lazyUpdate: ...,
    silent: ...
})

http://echarts.baidu.com/api.html#echartsInstance.setOption

Maybe I'll add a setOptions method which enforces notMerge: true to keep the API meaningful. Adding lazyUpdate and silent seems good to me.


Set the first sheet name

Using the ::::fromArray() function, how to set the first and only sheet name instead of Sheet1?

SimpleXLSXGen::fromArray( $rows, 'My Sheet Name')->download();

Work fine, thanks!


Decode from utf-8 when using os.path.join

We may add UTF-8 encoded file names to the UTF-8 encoded
sigal.conf.py. Then, in order to use os.path.join, we need to decode
first or we may found ourselves with something like:
Traceback (most recent call last):
File "/home/sigal/virtualenv/bin/sigal", line 9, in
load_entry_point('sigal==1.3.0', 'console_scripts', 'sigal')()
File "/home/sigal/virtualenv/local/lib/python2.7/site-packages/click/core.py", line 722, in call
return self.main(*args, **kwargs)
File "/home/sigal/virtualenv/local/lib/python2.7/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/home/sigal/virtualenv/local/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/sigal/virtualenv/local/lib/python2.7/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/sigal/virtualenv/local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/home/sigal/virtualenv/local/lib/python2.7/site-packages/sigal-1.3.0-py2.7.egg/sigal/init.py", line 147, in build
src = os.path.join(settings['source'], src)
File "/home/sigal/virtualenv/lib/python2.7/posixpath.py", line 73, in join
path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 40: ordinal not in range(128)

Hi,
It seems you're using Python 2.7, which is no more supported since v2.0 released one year ago.
http://sigal.saimon.org/en/latest/changelog.html#version-2-0
Please upgrade to a more recent version of Python and sigal.


ColorRampExpression uses Cesium colors for setter

Getting and setting ColorRampExpression.colors uses compiled Cesium colors instead of css format strings.
Added a test to the spec to confirm invalid CSS format strings throw a developerError.

Thanks!


Only remove the server prefix if the path starts with it

Also updated the server url for scenario 1 so that it finds the paths correctly. Is this how we want to use servers.url in the openapi specs?

One test fails

Fixes #2

With this PR apidelta explodes on checking my OpenAPI spec as follows:
(node:275484) UnhandledPromiseRejectionWarning: /home/bittrance/projects/xenit/apidelta/src/rule/index.ts:207
      api.paths[path][operationToMatch],
                     ^

TypeError: Cannot read property 'get' of undefined
    at null.match (/home/bittrance/projects/xenit/apidelta/src/rule/index.ts:207:22)
    at null.<anonymous> (/home/bittrance/projects/xenit/apidelta/src/run/index.ts:43:25)
    at Generator.next (<anonymous>)
    at fulfilled (/home/bittrance/projects/xenit/apidelta/dist/run/index.js:5:58)

I haven't examined this in detail, but presumably there is a difference between x_name and path here https://github.com/XenitAB/apidelta/blob/5004c67260fa6f8eb8d5f193c5d90237dc86d3f8/src/rule/index.ts#L201 ?

@bittrance Yes, that's right. We should exit before getting to  api.paths[path][operationToMatch], if result.success is false, have updated matchResponse.

Have added a new test scenario that verifies #2

The tests are passing but running npm run build && node dist/index.js scenarios/har/1/{*yaml,*har} -cv gives, so need some more investigation
><EMAIL_ADDRESS>build
> tsc

/home/arvid/dev/xenit/apidelta/dist/rule/index.js:184
    const path = result.apiSubtree[pathWithNoServer].x_name;
                                                     ^

TypeError: Cannot read properties of undefined (reading 'x_name')
    at match (/home/arvid/dev/xenit/apidelta/dist/rule/index.js:184:54)
    at /home/arvid/dev/xenit/apidelta/dist/run/index.js:38:42
    at Generator.next (<anonymous>)
    at fulfilled (/home/arvid/dev/xenit/apidelta/dist/run/index.js:5:58)

Node.js v18.7.0


My resources filter facet counts

I think these counts are not correct. I own 7 resources. I assume the counts for "Editable by me" and 'Viewable by me" should be 0.  It seems the backend gives the right counts for each of these facets. Needs fixing JS code.

@pkdash I am thinking perhaps "Editable by me" should include those "Owned by me" after all since "Owned by me" is also "Editable by me," hence I think logically it may work as it should.

@hyi Only for this facet requirements we had to implement a very specific method user.uaccess.get_resources_with_explicit_access() - which is very complex.  We call this method 3 times in the view to generate the counts for each of the facets. If the requirement is as shown above then we could just use functions - user.uaccess.owned_resources(), user.uaccess.edit_resources() and user.uaccess.view_resources()

@xuezhaokun Please look at this and see if you can address it. The only function that works correctly is get_resources_with_explicit_access.

@xuezhaokun The problem is in the JS code if that would save time in debugging and fixing.

Reclassified as "my resources". Does not apply to current discovery interface.

Can we rethink this design? I believe most users want to filter by "Shared with me", "Owned by me," and "Owned by others"
Google does this:

The "Added by me" filter already shows you resources that you have added to your My Resources, but are owned by others. The "Added by me" filter name is consistent with the action that a user takes to click the "Add to my resources" button on the landing page for a resource that they do not own.
Am I missing something?

This is an issue related to facet counts.  I would discourage using it for discussions about redesign.  If there is to be a redesign discussion, it should be opened as a new issue, or as a separate redesign discussion.
With respect to correcting the facet counts, the issue is quite stale as the image for facet categories in the initial has been superseded.  Based on my testing, it seems to me that facet counts on the current My resources page seem correct.  Therefore I am closing.  If there is a separate issue to be raised, or you feel this is incorrect, please feel free to re-open or create a new issue.


feat: add contribution guidelines

Summary
Add contribution guidelines summarizing how code is written at Astria (at least targetting the monorepo).
Background
With the Astria getting new team members and the project growing (potentially inviting external contributors), we need more formal documents around how to contribute and what ideal PRs look like.
Changes

Add a CONTRIBUTING.md to the root of the repo.

nice, this is good to have. just flagging the markdown linter
also, should we add things like "make sure to run fmt, clippy" etc? do we want to ensure every PR corresponds to an issue that's already been accepted?

We could add this to the doc, but I wanted to get the "spirit" of writing PRs in here.
Although clippy and fmt will be flagged by CI anyways, so I think that's not really necessary.

Looks good to me. The spirit seems to be keep the codebase and reviewers sane :)
Do we also have recommendations on commits in a PR? I know some folks prefer a single commit per PR, while at the other end of the spectrum some prefer commits to be tiny, with many commits in a single PR. There's also sometimes a preference for every commit to be able to be compiled (i.e. no "work in progress" commits) to make using e.g. git bisect more useful.
Do we have a policy/recommendation of disallowing force-pushing to an open PR? If it's allowed, do we have a preference of addressing review comments by force-pushing fixup commits or just pushing new commits with the fixes?

We don't have any recommendations here because I don't think we will find unity. We've had enough bike shedding of merge vs rebase workflows, haha. My preference is generally for a one commit and rebase workflow (akin to using mercurial), but github doesn't work great with this.
Generally with GitHub my preference is for no force push after PR opened, and commits on top in order to enable seeing changes since last review. I wish github was just better with managing snapshots though haha.

Mega old mostly agreed upon PR, we should get tidied up and merged

This PR is stale because it has been open 45 days with no activity. Remove stale label or this PR will be
closed in 7 days.

This PR was closed because it has been stale.


added a quick gralde build

I created this with "gradle init" . .  it will automatically create the appropriate files.   the build.gradle file is the meat of it.  gradlew is just a wrapper if you don't want to install gradle.

Is this intended to replace the pom?
If so, what are the advantages (I personally prefer the syntax of gradle but poms are very standard for java projects)
If not, we will presumably have to manually sync the two?

I would replace the pom.
So gradle is a pretty popular standard for java projects, so I think that we are pretty safe to adopt it, especially for simpler projects.
The advantages (other than readability), is that you can script it using groovy directly, which is nice for simple stuff.  It replaces a lot of what ant does, including its make-like dependency resolution, except that it doesn’t use XML.  It uses the exact same dependency resolution mechanism and an almost identical (though configurable) file structure as maven (which is maven’s biggest advantage IMO), but produced the same types of outputs (jars, embedded servers, executing unit tests, support for any JVM language etc.).
The big difference is that the dearth of available plugins . . though gradle is catching up.   Anyway, for me its a no-brainer for most standard targets.
Nathan

On Mar 10, 2016, at 3:03 PM, Chris Mungall<EMAIL_ADDRESS>wrote:
Is this intended to replace the pom?
If so, what are the advantages (I personally prefer the syntax of gradle but poms are very standard for java projects)
If not, we will presumably have to manually sync the two?
—
Reply to this email directly or view it on GitHub.

@cmungall   I had forgotten to check in a few things travis needed to use "gradlew".  Is working now.  I also removed the pom.xml.  No worries if you want to head another direction, but I think this is fast becoming a new standard.  I think that @jnguyenx has also worked with these and so he might have some suggestions as well.

I have mixed feelings about gradle. It was already the "fast becoming
standard" when I started working with it 5 years ago.
I think that it still has a long way to go before replacing maven (
http://www.indeed.com/jobtrends/maven%2C+gradle.html)
With that said, I'm not totally against using gradle, as long as we don't
use any gradle specifics in the build process, so we can switch back and
forth with maven.
And I think that we need gradle to install the artifacts in the user maven
local repo, because all our java projects use maven.
https://docs.gradle.org/current/userguide/maven_plugin.html#sub:installing_to_the_local_repository
And to make things easier, we should replace knife.lbl.gov with a proper
artifacts store (artifactory or nexus).
That was my 2cents.
On Fri, Mar 11, 2016 at 9:54 AM, Nathan Dunn<EMAIL_ADDRESS>wrote:

@cmungall https://github.com/cmungall I had forgotten to check in a few
things travis needed to use "gradlew". Is working now. I also removed the
pom.xml. No worries if you want to head another direction, but I think this
is fast becoming a new standard. I think that @jnguyenx
https://github.com/jnguyenx has also worked with these and so he might
have some suggestions as well.
—
Reply to this email directly or view it on GitHub
https://github.com/phenopackets/phenopacket-reference-implementation/pull/15#issuecomment-195478058
.

I don’t think that gradle has replaced maven, but I think its definitely a well-supported standard.
It works pretty readily with any maven repos .  .
Unless you’re doing something particularly complicated with maven or require very specific artifacts, it should work roughly the same as well as import ant targets.
Nathan

On Mar 11, 2016, at 10:27 AM, Jeremy<EMAIL_ADDRESS>wrote:
I have mixed feelings about gradle. It was already the "fast becoming
standard" when I started working with it 5 years ago.
I think that it still has a long way to go before replacing maven (
http://www.indeed.com/jobtrends/maven%2C+gradle.html)
With that said, I'm not totally against using gradle, as long as we don't
use any gradle specifics in the build process, so we can switch back and
forth with maven.
And I think that we need gradle to install the artifacts in the user maven
local repo, because all our java projects use maven.
https://docs.gradle.org/current/userguide/maven_plugin.html#sub:installing_to_the_local_repository
And to make things easier, we should replace knife.lbl.gov with a proper
artifacts store (artifactory or nexus).
That was my 2cents.
On Fri, Mar 11, 2016 at 9:54 AM, Nathan Dunn<EMAIL_ADDRESS>wrote:

@cmungall https://github.com/cmungall I had forgotten to check in a few
things travis needed to use "gradlew". Is working now. I also removed the
pom.xml. No worries if you want to head another direction, but I think this
is fast becoming a new standard. I think that @jnguyenx
https://github.com/jnguyenx has also worked with these and so he might
have some suggestions as well.
—
Reply to this email directly or view it on GitHub
https://github.com/phenopackets/phenopacket-reference-implementation/pull/15#issuecomment-195478058
.

—
Reply to this email directly or view it on GitHub https://github.com/phenopackets/phenopacket-reference-implementation/pull/15#issuecomment-195488823.

Yes, I didn't say that it won't work, on the contrary.
But I see that as using a spork: it combines a fork and a spoon in a
awesome fashion, but who uses it?
On Fri, Mar 11, 2016 at 10:44 AM, Nathan Dunn<EMAIL_ADDRESS>wrote:

I don’t think that gradle has replaced maven, but I think its definitely a
well-supported standard.
It works pretty readily with any maven repos . .
Unless you’re doing something particularly complicated with maven or
require very specific artifacts, it should work roughly the same as well as
import ant targets.
Nathan

On Mar 11, 2016, at 10:27 AM, Jeremy<EMAIL_ADDRESS>wrote:
I have mixed feelings about gradle. It was already the "fast becoming
standard" when I started working with it 5 years ago.
I think that it still has a long way to go before replacing maven (
http://www.indeed.com/jobtrends/maven%2C+gradle.html)
With that said, I'm not totally against using gradle, as long as we don't
use any gradle specifics in the build process, so we can switch back and
forth with maven.
And I think that we need gradle to install the artifacts in the user
maven
local repo, because all our java projects use maven.

https://docs.gradle.org/current/userguide/maven_plugin.html#sub:installing_to_the_local_repository

And to make things easier, we should replace knife.lbl.gov with a proper
artifacts store (artifactory or nexus).
That was my 2cents.
On Fri, Mar 11, 2016 at 9:54 AM, Nathan Dunn<EMAIL_ADDRESS>wrote:

@cmungall https://github.com/cmungall I had forgotten to check in a
few
things travis needed to use "gradlew". Is working now. I also removed
the
pom.xml. No worries if you want to head another direction, but I think
this
is fast becoming a new standard. I think that @jnguyenx
https://github.com/jnguyenx has also worked with these and so he
might
have some suggestions as well.
—
Reply to this email directly or view it on GitHub
<
https://github.com/phenopackets/phenopacket-reference-implementation/pull/15#issuecomment-195478058

.

—
Reply to this email directly or view it on GitHub <
https://github.com/phenopackets/phenopacket-reference-implementation/pull/15#issuecomment-195488823
.

—
Reply to this email directly or view it on GitHub
https://github.com/phenopackets/phenopacket-reference-implementation/pull/15#issuecomment-195494142
.


Question: dot notation for rules?

Hi,
Does the validation rules support objects for the fields and dot notation for the rules?
Example:

        createForm(){
              this.bank_details = {
                      'account_name': '',
                      'account_number': '',
                      'sort_code': '',
              };

              this.form = form({
                    bank_details: this.bank_details,
                })
                .rules({
// this causes "cannot get length of undefined" errors
                    'bank_details.account_name': 'string|min:5|required',
                    'bank_details.account_number': 'number|min:7|max:8|required',
                    'bank_details.sort_code': 'number|min:6|max:6|required',
// this causes "cannot call split" errors
//                    bank_details: {
//                        account_name: 'string|min:5|required',
//                        account_number: 'number|min:7|max:8|required',
//                        sort_code: 'number|min:6|max:6|required',
//                    }
                });
    }
}

error when trying to use the object method of rules is:
Error in callback for watcher "form.data": "TypeError: rules.split is not a function"

@shopapps Not as of yet. We have an issue for it here -- https://github.com/zhorton34/vuejs-form/issues/1.
Right now I'm over loaded at work and with the youtube channel, but plan on getting back to this issue hopefully sooner than later.
That being said, if you're in a hurry and need this solved ASAP I've already created the tested logic for dot notation in this repository (https://github.com/zhorton34/laravel-js-helpers) and just haven't had the time to implement the logic over to this repository for nested rules.
If you're interested, I'm more than willing to set up an outlined issue for implementing this feature using the data_get, data_set, and data_fill tested functions from thelaravel js helpers repository.
It'd be awesome to get some help copying some of that logic over into this repo and implementing this feature you're talking about. I really want it but just haven't had the time.
Here's a quick over view of each method that you'd be interested in from that repo that would be important for implementing dot notation rules. After you see the overview of functions already created below that'll help with dot notation for rules, let me know if you'd be interested and I'll set up the outline and make sure to be more active on this repo for any questions you come across.


Feedback 'Hero: unreadable and cut-off subtitle.'

Message from Eloy Durán sent on 2016-03-19 19:44:33 UTC###

Hero: unreadable and cut-off subtitle.

Link to HockeyApp

https://rink.hockeyapp.net/manage/apps/37020/feedback/466519

So we only show 1 line of text max.
@orta Is this intentional design that you know of, or should that label in reality grow in height?

It should grow to two lines - it's got a max layout width of -40 which sounds bad to me ( use Reveal)

Likely being added to a view with a 0,0,0,0 frame - making this have wrong logic, perhaps answer is to check for Zero rect in the UILabels thing

Or have the label set maxBlahBlah once it's got a known width after updateConstraints is done

Yeah, good call, thanks :ok_hand:

Ok, that fix for Artsy-UILabels was causing Eigen’s test suite to hang, and I didn’t want to get sucked into a rabbit hole, so I opted to just revert the change that broke these hero units in the hero unit view.


404 when adding a node

I get a 404 with my configuration.  I'm attempting to deploy two nodes, one web and one db.  The deploy succeeds up to the point when the first node boots.  After the first node boots, vagrant crashes with a 404.
ERROR vagrant: Unattended code received 404
ERROR vagrant: /home/jeff/.vagrant.d/gems/gems/vagrant-vcloud-0.4.4/lib/vagrant-vcloud/driver/base.rb:344:in `send_request'
/home/jeff/.vagrant.d/gems/gems/vagrant-vcloud-0.4.4/lib/vagrant-vcloud/driver/version_5_1.rb:1231:in `get_edge_gateway_rules'

My vagrantfile and my logfile are available if they would help.

Did some digging and it appears that the CSS selector on lib/vagrant-vcloud/driver/version5_1.rb line 1130 does not work with my setup. I have no edge gateways at all, so:

no records are returned by the query for a list of edge gateways
find_edge_gateway_id(...) parses the empty list and returns an empty string to  get_edge_gateway_rules(...)
get_edge_gateway_rules(...) queries the URL "api/admin/edgeGateway/{gatewayID}" (gatewayID being the empty string)
finally, the URL api/admin/edgeGateway is not defined by the vCloud API, so I get a 404

I gather that I will need an edge gateway as a workaround for right now.

Suspect I have the same issue as #110


Space between spans

Hello,
The plugin works pretty well, but I've encountered an issue with my layout: two  pairs separated by a space lose this space during minification. In result, two words are merged into one.
Input:

    electron
    proton

Output:

electronproton

Hi @ntopulos !
Why don't you try this:
`
electron
proton
`

https://github.com/WyriHaximus/HtmlCompress/issues/27


[tizen] Remote control issues on template-starter app (certain device only)

Describe the bug
There is no initial focus, but when "Try me!" button is focused and clicked - nothing happens
To Reproduce
Steps to reproduce the behavior:

Go to template-starter package
Do npx rnv run -p tizen -t <IP> -> app launches on device and there is no initial focus
Click "OK" on remote control -> "Try me!" button is focused
Click "OK" on remote control -> nothing happens

Expected behavior
"Try me!" button is initially focused and if it's clicked - dark theme applies on screen
Desktop (please complete the following information):

OS: Ventura 13.6.4 M2
Node Version 18.19.0
RNV Version 1.3.0-rc.2
Device: TV Samsung UE32M5522, OS version 1400 (Test lab label TV11)

Note:
It works on Samsung Tizen UE43NU7192U; OS version 1341 (Test lab label TV5)

It works on device: Samsung Tizen UE32T4302AKXXH; tv-5.5; OS version 2505

After debugging found out that keydown event isn't being called when you press button.
Tested by adding:  window.addEventListener('keydown', () => alert('keydown'));
Keyup event works normally.
TouchableOpacity from react-native using onLongPress only works first time.


Change font color if background color is pale

Not needed, changed all text of letters to var(--black).


feat: add setAdditionalAddresses to enable dynamic addresses

Allow downstream users to inject their own contract addresses if desired.
The contract addresses on localnet and developnet are not stable and must be pulled at runtime. This information will be retrieved from a json file via a network request. I had considered adding the logic here, but that doesn't seem quite right.
Related to https://github.com/zeta-chain/networks/pull/49

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

Please upload report for BASE (main@6785f39). Learn more about missing BASE report.

:exclamation: Current head cc6b034 differs from pull request most recent head ba41b36
Please upload reports for the commit ba41b36 to get more accurate results.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #188   +/-   ##
=======================================
  Coverage        ?   50.06%
=======================================
  Files           ?       22
  Lines           ?      795
  Branches        ?      205
=======================================
  Hits            ?      398
  Misses          ?      397
  Partials        ?        0

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


Expose core buildling blocks from textile/hub

[x] Libp2pCryptoIdentity from core
[x] JSONSchema, Database, StartOptions, Config, Collection from database
[ ] Network, Client from network

Just tracking the ones i've used for a basic demo
cc @carsonfarmer

fixed key developer ones, left other off


Refactor LNURL methods to incorporate fedimint

Mostly just rip out the lnurl client out of nodemanager and allow the functions to happen in MutinyWallet.

Fixed with https://github.com/MutinyWallet/mutiny-node/pull/931


Docker-image doesn't determine files

Image: latest (0.4.1)
Steps to reproduce:
create folder with an cadquery example (here:  /home/Peedy/Projects/docker/cadquery/test.py)
launch docker instance as described in README.md
docker run -p 5000:5000 -v  /home/Peedy/Projects/docker/cadquery:/data cadquery/cadquery-server
Instance fails with usage output:

usage: cq-server [-h] [-V] {run,build,info} ...
A web server used to render 3d models from CadQuery code, and eventually build
a static website as a showcase for your projects.
options:
-h, --help        show this help message and exit
-V, --version     print CadQuery Server version and exit
subcommands:
type  -h for subcommand usage
{run,build,info}
run             run the server
build           build static website
info            show information about the current target and exit

True.
Simple fix is to pass the parameters as if you were running the command locally.
docker run -p 5000:5000 -v C:\Projects\personal\3d\cadquery-server\examples:/data cadquery/cadquery-server run

notice how the help says "usage: cq-server [-h] [-V] {run,build,info}"


OCommandExecutorNotFoundException when trying to insert using select

Hi,
I am trying to insert data by running select query
insert into Inf_Price from (select from Inf_Price where storeRefKey = 76)

on Orient Studio but I am getting the following error:
com.orientechnologies.orient.core.command.OCommandExecutorNotFoundException: Cannot find a command executor for the command request: sql.(select from Inf_Price where storeRefKey = 76)

It is a simple copy from the same class. Can you please check this issue

Hi,
just try removing the round braces:
insert into Inf_Price from select from Inf_Price where storeRefKey = 76
2015-03-30 7:59 GMT+02:00 nooruls143<EMAIL_ADDRESS>
Hi,
I am trying to insert data by running select query
insert into Inf_Price from (select from Inf_Price where storeRefKey = 76)
on Orient Studio but I am getting the following error:
com.orientechnologies.orient.core.command.OCommandExecutorNotFoundException: Cannot find a command executor for the command request: sql.(select from Inf_Price where storeRefKey = 76)
It is a simple copy from the same class. Can you please check this issue
—
Reply to this email directly or view it on GitHub
https://github.com/orientechnologies/orientdb/issues/3832.

The SQL insert documentation has as example:

INSERT INTO GermanyClient FROM ( SELECT *, true AS copied FROM Client WHERE country = 'Germany' )

I had to find this issue to know what the 'solution' was. A solution that is inconsistent with other sub-select queries. Please change the documentation or allow round braces in this sub select query.


[WIP] Readd serial support

As discussed on IRC. Work in progress, warning: TCP untested.
The PR also adds config for a couple of electricity meters I've been testing with, Carlo Gavazzi EM111 and EM340.

@bastischubert any chance you can test if TCP support still works with this patch? I only have RS485 devices here with me. @RichiH said on IRC that you might be able to help :)

I'll test on monday when i'm back from vacation☺

You can use https://github.com/3cky/mbusd as a serial to RTU converter, I have been using it for a while to use modbus_exporter with a cheap USB RS-485 adapter. Thank you for working on serial support!

This functionality is broken when using more than one subtarget on the same target. The problem is that serial communication is, well, serial, and prometheus might scrape two targets simultaneously, confusing the modbus code.
I haven't had any luck figuring out how to make sure only one thing happens at a time on the rs485 serial bus. Does anyone have input on how to achieve this? I was hoping MaxRequestsInFlight: 1 on the promhttp handler at the very the end of modbux_exporter.go would help, but it seems a new handler is made for each request by the router/mux, so that did nothing.
Any input would be appreciated. Otherwise I will sadly have to close the PR since I have no idea how to fix it.

@SuperQ can you help with making certain that sequentiality is ensured?
Does this appear per target only or would we hit the same with a lot of different targets at once? Global locks or sequencing is meh. If we end up in that situation, we would need to emit some metrics around this.

The issue is per serial bus (for example /dev/ttyUSB0), the serial device is called target in the modbus_exporter code. So only one subtarget per target at a time.

This log snippet shows the issue - all sub_target (meters) are on /dev/ttyUSB0 (the serial bus) and prometheus is scraping sub_target 2 and 7 too close to eachother, so the underlying modbus code gets confused:
INFO[109961] got scrape request for module 'carlo_gavazzi_em_et_3xx_series' target '/dev/ttyUSB0' and sub_target '5'  source="modbus_exporter.go:130" INFO[109968] got scrape request for module 'carlo_gavazzi_em_et_1xx_series' target '/dev/ttyUSB0' and sub_target '8'  source="modbus_exporter.go:130" INFO[109970] got scrape request for module 'carlo_gavazzi_em_et_3xx_series' target '/dev/ttyUSB0' and sub_target '1'  source="modbus_exporter.go:130" INFO[109972] got scrape request for module 'carlo_gavazzi_em_et_1xx_series' target '/dev/ttyUSB0' and sub_target '10'  source="modbus_exporter.go:130" INFO[109989] got scrape request for module 'carlo_gavazzi_em_et_3xx_series' target '/dev/ttyUSB0' and sub_target '4'  source="modbus_exporter.go:130" INFO[109992] got scrape request for module 'carlo_gavazzi_em_et_1xx_series' target '/dev/ttyUSB0' and sub_target '7'  source="modbus_exporter.go:130" INFO[109992] got scrape request for module 'carlo_gavazzi_em_et_3xx_series' target '/dev/ttyUSB0' and sub_target '2'  source="modbus_exporter.go:130" ERRO[109994] failed to scrape metrics for module 'carlo_gavazzi_em_et_3xx_series,' target '/dev/ttyUSB0', sub_target '2': metric 'emet3xx_phase_voltage_volts', address '300000': serial: timeout  source="modbus_exporter.go:148" ERRO[109994] failed to scrape metrics for module 'carlo_gavazzi_em_et_1xx_series,' target '/dev/ttyUSB0', sub_target '7': metric 'emet1xx_consumed_kvarh_total', address '300018': serial: timeout  source="modbus_exporter.go:148" INFO[109995] got scrape request for module 'carlo_gavazzi_em_et_1xx_series' target '/dev/ttyUSB0' and sub_target '9'  source="modbus_exporter.go:130" INFO[110004] got scrape request for module 'carlo_gavazzi_em_et_1xx_series' target '/dev/ttyUSB0' and sub_target '6'  source="modbus_exporter.go:130" INFO[110020] got scrape request for module 'carlo_gavazzi_em_et_3xx_series' target '/dev/ttyUSB0' and sub_target '5'  source="modbus_exporter.go:130" INFO[110028] got scrape request for module 'carlo_gavazzi_em_et_1xx_series' target '/dev/ttyUSB0' and sub_target '8'  source="modbus_exporter.go:130" INFO[110030] got scrape request for module 'carlo_gavazzi_em_et_3xx_series' target '/dev/ttyUSB0' and sub_target '1'  source="modbus_exporter.go:130" INFO[110032] got scrape request for module 'carlo_gavazzi_em_et_1xx_series' target '/dev/ttyUSB0' and sub_target '10'  source="modbus_exporter.go:130" INFO[110049] got scrape request for module 'carlo_gavazzi_em_et_3xx_series' target '/dev/ttyUSB0' and sub_target '4'  source="modbus_exporter.go:130" INFO[110052] got scrape request for module 'carlo_gavazzi_em_et_1xx_series' target '/dev/ttyUSB0' and sub_target '7'  source="modbus_exporter.go:130" INFO[110052] got scrape request for module 'carlo_gavazzi_em_et_3xx_series' target '/dev/ttyUSB0' and sub_target '2'  source="modbus_exporter.go:130" ERRO[110052] failed to scrape metrics for module 'carlo_gavazzi_em_et_1xx_series,' target '/dev/ttyUSB0', sub_target '7': metric 'emet1xx_firmware_revision', address '300771': resource temporarily unavailable  source="modbus_exporter.go:148" ERRO[110054] failed to scrape metrics for module 'carlo_gavazzi_em_et_3xx_series,' target '/dev/ttyUSB0', sub_target '2': metric 'emet3xx_phase_voltage_volts', address '300000': serial: timeout  source="modbus_exporter.go:148" INFO[110055] got scrape request for module 'carlo_gavazzi_em_et_1xx_series' target '/dev/ttyUSB0' and sub_target '9'  source="modbus_exporter.go:130" INFO[110064] got scrape request for module 'carlo_gavazzi_em_et_1xx_series' target '/dev/ttyUSB0' and sub_target '6'  source="modbus_exporter.go:130"

OK, after a bit of fiddling this actually works really well now. I had to update the goburrow/modbus dependency because I hit an old bug they fixed since then. I solved the sequentiality requrement by wrapping the scrape in a mutex for serial scrapes. This means if one thread is already using the serial bus another thread will have to wait. I've added two new metrics to track the mutex stuff, a counter to total how many seconds are spent waiting for a mutex lock, and a gauge to show how many are waiting right now.
This leave one open issue, I don't have a system with two serial busses right now, but the mutex should be serial bus specific (there is no need to make a scrape on serial bus /dev/ttyUSB1 wait for /dev/ttyUSB0 to finish).
Before I dig into solving that (I do not have any systems with multiple serial adapters attached to seperate rs485 busses handy to test) I would like to request a review to make sure what I have now will be accepted when I finish the PR. Maybe @SuperQ can take another look? Thanks!

Hi, thanks for this feature!
I tried to test it, and facing one issue with this config:
modules:
    # https://www.owen.ru/uploads/re_mv110-224.2a_1822.pdf
  - name: "owen_mv110"
    protocol: 'serial'
    baudrate: 9600
    databits: 8
    parity: "N"
    stopbits: 1
    timeout: 3000
    metrics:
      - name: "mv110_sensor"
        help: "represents the current reading of analogue sensor"
        labels:
          input: "1"
        address: 300004
        dataType: float32
        endianness: big
        metricType: gauge
      - name: "mv110_sensor"
        help: "represents the current reading of analogue sensor"
        labels:
          input: "2"
        address: 300010
        dataType: float32
        endianness: big
        metricType: gauge

It successfully retrieves the metric only if only SINGLE metric is defined in modbus.yml. If I add one more metric, i'm getting a bunch of various errors, such as, timeout, CRC error or that another device (id=4) responded instead of actual one with sub_module=32. It looks to me that two requests are sent to serial port at the same time and so collision happens? Maybe I'm wrong.
Like so:
failed to scrape target '/dev/ttyUSB0' sub_target '32' with module 'owen_mv110': failed to scrape metrics for module 'owen_mv110', target '/dev/ttyUSB0', sub_target '32': metric 'mv110_sensor', address '300010': modbus: response slave id '4' does not match request '32'

failed to scrape target '/dev/ttyUSB0' sub_target '32' with module 'owen_mv110': failed to scrape metrics for module 'owen_mv110', target '/dev/ttyUSB0', sub_target '32': metric 'mv110_sensor', address '300010': serial: timeout

failed to scrape target '/dev/ttyUSB0' sub_target '32' with module 'owen_mv110': failed to scrape metrics for module 'owen_mv110', target '/dev/ttyUSB0', sub_target '32': metric 'mv110_sensor', address '300010': resource temporarily unavailable

HW setup should be fine, since, I can poll multiple metrics using zabbix https://github.com/v-zhuravlev/libzbxmodbus and also I can get data using modpoll utility.
Sample request I'm using:
http://<IP_ADDRESS>:9602/modbus?target=/dev/ttyUSB0&sub_target=32&module=owen_mv110

sounds like you might be scraping faster than your serial bus or devices can keep up, how often are you scraping and how long does a scrape take and how many targets do you have? remember, a serial bus is serial :)
I haven't forgotten about this patch and I will get back to it soon, I am currently pressed for time

Just scraping ONCE by manually hitting the URL of the modbus_exporter:
http://<IP_ADDRESS>:9602/modbus?target=/dev/ttyUSB0&sub_target=32&module=owen_mv110 ...
And problem only arises if more than one registry should be scraped.
I understand that serial port should be used only by single entity, but it is only modbus_exporter trying to scrape something. I'll try dig more into this....

(Just to track this, I keep clicking the "Approve and Run" on the tests)
@tykling what's the status on your end? Does serial work in production?
@bastischubert do you currently have hardware to test TCP against?

Hmm, in this round of tests, even more fail than the last round. See above for details, @tykling

hey :)
Yes, serial works in production, even with multiple serial ports (without parallel scrapes messing anything up). I am very happy with it actually. I also tested TCP a while back and it works well.
But this PR is a mess.  I have been meaning to close it and open a new "fresh" PR.
I also have a bunch of questions about the PR and the general direction you want to take with the project.

a while back you said that you wanted modbus.yml to be like the snmp.yml file in the snmp_exporter - meaning you wanted it to be "ready to run" and slowly grow as new devices are added. For this reason I have included the devices I use with modbus_exporter in modbus.yml in this PR, but I don't see any other devices added. Did I misunderstand something? Do you want device registers in modbus.yml or not?
The devices I monitor have quirks which required new features in the code. The offset feature where a value is offset in a combined register. And a few days ago I had to add a new weird datatype which may or may not exist elsewhere, where a float64 is put into two int32 fields. The first int32 field has the integer part of the number and the next has the decimals. But the MSW of the decimals is always 0 so it requires some fiddling. This feels a bit weird to put into the exporter because I doubt many other devices use such weird registers. But otherwise it wont work. Thoughts? Do you want these two features in a different PR?

I think back ages ago when I first forked this there was not much in the way of tests so I haven't written any. But I will take a look at the failing tests and see what I can do. I am not very experienced with Go, this has been my very first real adventure with it in fact :)

Nice to hear it's working in prod!
Feel free to open a new PR, or clean up locally and force-push into this one. Both works.
Yes, we want to collect more default configs, but there's not a huge inrush of configs... Feel invited to add everything you have.
Modbus has a lot of weird warts -- As long as there's a sane way to express those quirks in declarative configuration, I'd err on the side of supporting the weird stuff.
Any help with the tests, or new tests, appreciated. This is more a work of love and passion by a bunch of people without the hardware to actually test the software, so every bit helps.


[Backport 1.11] DCOS-21359: fix(ServicesContainer): checks and updates modalProps if needed

ℹCherry-picked backport from #2777 - please review the other one 👍

This PR adds a getCleanModalProps method to the ServicesContainer
which cleans and updates the modalProps object which is passed down to
the modals.
Before this change it was possible to have an invalid state in modalProps
like this: { service: undefined, id: "delete" }. This should be fixed now so
that service is always set, if id is. If anything is wrong the method
tries to correct the object as good as possible.
Closes DCOS-21359

Holding until the master fix goes in, because the review will happen over there.

Master PR got merged 👍 - Now this one 🙇


[typo] Update 1.mdx

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


adopt latest mlx-c and mlx v0.3.0

This adopts the latest mlx-c and moves to mlx v0.3.0
Notable changes:

save(arrays:...) now takes optional metadata
loadArraysAndMetadata(...) is added to also load metadata from e.g. safetensors

LGTM! Two remarks:

I tagged mlx-c to v0.0.2, so you may want the submodule to point to this
The CMakeLists.txt GIT_TAG should be changed to v0.0.2 too

LGTM! Two remarks:

I tagged mlx-c to v0.0.2, so you may want the submodule to point to this
The CMakeLists.txt GIT_TAG should be changed to v0.0.2 too

OK, updated both.

Just to record what is going on:
git submodule status
 bf7cd29970b603ed3e177cb2f4f6dc246a653555 Source/Cmlx/mlx (v0.3.0)
 096e4196354f0e72331140f6049c1c1d15719cbe Source/Cmlx/mlx-c (v0.0.2)

specifically moving to those tags.


Add latest ubuntu image

What this PR does / why we need it: Update to the latest image so no agent boot required.  Note that Canonical:UbuntuServer:16.04-DAILY-LTS:16.04.201710110 is the newest 16.04-LTS image.

This is awesome! Will be a big help.

/lgtm

Hi @anhowe , the Ubuntu 16.05 LTS image in Azure has been upgraded to 201710110, shall we change the ImageSku back to "16.04-LTS" and ImageVersion to "latest", the currently value 16.04-DAILY-LTS not worked in Azure China Cloud.


dataclasses (attrs) instead of free form data structure

For validated data structures, it would provide a lof of value if those were also assured throughout the python codebase. For example if field renames or changes type, one should get an error before runtime.
Essentially could write an inverse of https://pypi.org/project/dataclasses-jsonschema/, but I haven't looked how hard that is.

Dataclasses are supported in python 3.6 and 3.7 only and openapi-core support 2.7-3.7. It's impossible to make it builtin. However it will be possible to provide dataclasses with model factory option which is work in progress.

Using attrs in some of my PRs.

However it will be possible to provide dataclasses with model factory option which is work in progress.

Could you share some more details on model factories? Is there an issue that tracks the idea/progress?


Microphone of the headset and HDMI

Hello, I set up a hackintosh with the help of a friend using the clover, but when I use headphones the system does not detect the microphone of the headset and when I connect an HDMI cable the notebook turns off.
Did you manage to fix this?

estou ha dias tentando colocar audio e hd graphics no meu dell 14 5447 com essas mesmas especificações, e não consigo. vou tentar instalar o Big Sur

O HDMI funcionou certinho no seu? p meu não funcionou de jeito nenhum tive que voltar o linux
Eu conectava o cabo e o note desligava.

Hi @wrgoncalves2008 @thigobaco,
I am very sorry because don't reply you soon.
At the moment, I don't you hackintosh anymore, so I can not test the case you got.
I am not sure about the microphone.
In the past, I can connect successfull to another monitor with HDMI case.
Maybe you can test with another HDMI case.


$activated is not defined

I'm getting the following error:
Uncaught ReferenceError: $activated is not defined

And it points me to this line: jquery-accessible-carrousel-aria.js:464
I'm using out of the box jQuery v2.2.4

Hi @zomars ,
I've tested with the demo page with jQuery 2.2.4, I didn't get any problem. :-\
Do you have an example on a page that I could have a look ? This bug is strange.
Kind regards,
Nicolas

This only happens when trying to use the next and previous buttons, the pull request (#8) I made solves it.

Great work, thanks a lot for pointing out this mistake I made! :+1:

Thanks again, I've published your update to NPM/Bower and in the demo page: http://a11y.nicolas-hoffmann.net/carrousel/

Thanks a lot! I'm glad I could help. 💪


setup fails to end

Env: iOS 9.2, iPhone 5s simulator + Xcode 7.2.1
In my test setup, the line
[[[XCUIApplication alloc] init] launch];
never returns.
 Is this line needed ?

As noted in https://github.com/google/EarlGrey/blob/master/docs/install-and-run.md please use iOS unit test bundle instead of UI tests (that use XCUI* classes).

Makes sense, thanks.

Le 23 févr. 2016 à 19:31, sid-github<EMAIL_ADDRESS>a écrit :
OS unit test bundle instead of UI tes


[stable/metrics-server] Metrics server cluster role fix

What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/assign @olemarkus

/lgtm

Yeeeeeee!!!!!


Upgrade Gradle, and migrate build scripts to Kotlin DSL

Need to wait Gradle 7.6 because we cannot use gradleTestKit() with jvm-test-suite plugin at this moment.
https://github.com/gradle/gradle/issues/19849#issuecomment-1236799541

continue as #813


Stl : Vector in C++

Description
Documentation on Vector(stl)
Domain
C/CPP
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign

/assign

/assign

/assign

/assign

Hey @geetika005  and @akratikushwah this issue is already assigned to @Akriti-Choudhary so you cannot reassigned to yourself. kindly make another issue but .
note that there should not be any duplicate issue 👍
you can not work on the issue which is already assigned to someone else 👍
I hope it will make sense to both of you !

@Ajaycodex see above instruction !

Hey @geetika005  and @akratikushwah this issue is already assigned to @Akriti-Choudhary so you cannot reassigned to yourself. kindly make another issue but .
note that there should not be any duplicate issue 👍
you can not work on the issue which is already assigned to someone else 👍
I hope it will make sense to both of you !

Okay I will create my own issue and will work on it


intro

literally enumerate the challenges in par 2.
first,
second,
third,
etc.
you write "first", but then no "second".
in par 3, build up the solution:
data standards solve some stuff
jupyter solves some stuff
containers solve some stuff
science in the cloud solves all stuff
paragraph 3 is where you get to put our work in the context of previous art, explicitly.

I think I've solved. Check back?


Defines the pattern for taking unique items from collection of JSONArray

Closing as this is an incorrect target repo.


[+0-normal-args] Change flattenOptional to use switch_enum instead of…

… select_enum+cond_br.
Along the .none path, select_enum+cond_br causes the ownership verifier to
trigger since the .none path looks like a leak. By using a switch_enum, we avoid
this problem since the ownership verifier thinks the switch_enum consumes the
input value and views the owned value along the .some path as a value with
separate ownership.
rdar://34222540

@swift-ci smoke test

I have a test case for this in the plus_zero tests.


Font configuration for Jupyter Notebook cells

Feature: Notebook Editor, Interactive Window, Python Editor cells

Description
I think markdown cells should be typesetted to sans-serif by default (and not monospace) -- which resembles that in Jupyter Lab. In addition, I hope that there will be individual settings to configure font size for markdown cells and output cells.
For example:

Thanks for the suggestion.


Administrator

How do we get ProcessHacker to run as Administrator from the task bar?
I've got the executable marked to run as Admin but it comes up without Admin.
Also the version on the nightly build shows 2.39.124 -- but the downlaod says 3.0.3880
Mike

2.x is the stable branch, 3.x is the nightly branch. Nightly is downloaded from the nightly page:
https://processhacker.sourceforge.io/nightly.php
The nightly builds have an experimental option for running as administrator by default but it might be removed in the future:

Had to uninstall the old 2.X version.
Without the "Run as Administrator" CPU Affinity was not restored to the executables on restart until ProcessHacker was run as Admin.
Mike
On Tuesday, March 16, 2021, 04:19:37 PM CDT, dmex<EMAIL_ADDRESS>wrote:

2.x is the stable branch, 3.x is the nightly branch. Nightly is downloaded from the nightly page:
https://processhacker.sourceforge.io/nightly.php
The nightly builds have an experimental option for running as administrator by default but it might be removed in the future:
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Issue with Quote Block

When rendered, the quote block gives the same colour (white) to the background and the text. Hence it cannot make out the text.

This may solve the issue.
/*  Block Quotes */
.rm-bq {
	background-color: #6c6f75;
}


docs: Fix unmarshalling error of helm chart  README.md

Description
I've made a small change to the README field of the Helm chart. Specifically, I added the missing double quotes to ensure correct formatting.
How was this change tested?
This change doesn't impact code functionality, so it doesn't require specific testing.
Does this change impact docs?

[ ] No
[x] Yes, PR includes docs updates
[ ] Yes, issue opened: #

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@Stuckinrecoverymode Coming back around this to understand which value for IAM Role caused this to fail.
Just trying to get the justification so we know why we explicitly cast this to a string going forward.

@jonathan-innis Yes, i think so. i will share my policy so you can look at it.
{     "Statement": [         {             "Action": [                 "ssm:GetParameter",                 "iam:PassRole",                 "ec2:DescribeImages",                 "ec2:RunInstances",                 "ec2:DescribeSubnets",                 "ec2:DescribeSecurityGroups",                 "ec2:DescribeLaunchTemplates",                 "ec2:DescribeInstances",                 "ec2:DescribeInstanceTypes",                 "ec2:DescribeInstanceTypeOfferings",                 "ec2:DescribeAvailabilityZones",                 "ec2:DeleteLaunchTemplate",                 "ec2:CreateTags",                 "ec2:CreateLaunchTemplate",                 "ec2:CreateFleet",                 "ec2:DescribeSpotPriceHistory",                 "pricing:GetProducts",                 "iam:GetInstanceProfile"             ],             "Effect": "Allow",             "Resource": "*",             "Sid": "Karpenter"         },         {             "Action": "ec2:TerminateInstances",             "Condition": {                 "StringEquals": {                     "ec2:ResourceTag/karpenter.sh/managed-by": "true"                 },                 "StringLike": {                     "ec2:ResourceTag/Name": "*karpenter*"                 }             },             "Effect": "Allow",             "Resource": "*",             "Sid": "ConditionalEC2Termination"         }     ],     "Version": "2012-10-17" }

And also i tried with cloudformation stack >> https://raw.githubusercontent.com/aws/karpenter/main/website/content/en/v0.32/getting-started/getting-started-with-karpenter/cloudformation.yaml

@jonathan-innis  now i got it, I think it is about that regular expression is containing dots, so reason why we used double quote here. Without the quotes, YAML might interpret the dots as a structure separator, causing parsing errors.

now i got it, I think it is about that regular expression is containing dots, so reason why we used double quote here

Which shell are you using? This doesn't happen in my shell but I suspect there's a difference in interpretation from the various shell implementations.

now i got it, I think it is about that regular expression is containing dots, so reason why we used double quote here

Which shell are you using? This doesn't happen in my shell but I suspect there's a difference in interpretation from the various shell implementations.

I'm using zsh on linux 6.5.5. Maybe  that is  why we have this error.

Huh, I'm also using /bin/zsh. I'm not exactly sure what's the specific difference here, but I think that we should probably be quoting all of our --set calls anyways to avoid globbing when we have environment variables: #5061

Yeah :) sometimes weird things happens.


feat: Add config for SnippingTool

Set SnippingTool as a floating window

[x] I have formatted applications.yaml with komorebic fmt-asc.

Snipping Tool is a standard resizable window. We only usually float dialogs, windows with a fixed width (mostly dialogs and installers), or ghost windows that take up space. @LGUG2Z what do you think?

I think this one should stay as a managed window since it doesn't have any issues that require it to float. A float rule can be added in the user's komorebi.json for float preferences for individual apps like this.

I think this one should stay as a managed window since it doesn't have any issues that require it to float.

Seems like there is; the select area overlay is getting managed when you open it from the app.


Webpack error on running npm run build

I've just forked to be able to contribute to the repo but got stuck right away. I am getting the below error when trying to run npm run build on a freshly cloned repo just after running npm install.
System is Ubuntu 20.04 on WSL2 / Windows 10.

Note: running the repo with npm run start works without problems

I don't have enough experience with webpack to be able to understand what's wrong. Are there any dependencies on my system that I don't have installed and that aren't included in the repo dependencies?
Thanks,
Ludvig
~/dev/react-chat-widget npm run build

><EMAIL_ADDRESS>build /home/luddilo/dev/react-chat-widget
> webpack --config ./webpack.config.prod.js

clean-webpack-plugin: /home/luddilo/dev/react-chat-widget/lib has been removed.
Hash: bf53808d8bb1bd5a07d0
Version: webpack 4.42.1
Time: 1137ms
Built at: 08/13/2020 11:50:45 AM
 1 asset
Entrypoint main = index.js
[0] ./src/store/dispatcher.ts 408 bytes {0} [built] [failed] [1 error]
[1] ./src/index.tsx 383 bytes {0} [built] [failed] [1 error]
[2] ./index.js 555 bytes {0} [built]

ERROR in ./src/index.tsx 10:5
Module parse failed: Unexpected token (10:5)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| import { AnyFunction } from './utils/types';
|
> type Props = {
|   handleNewUserMessage: AnyFunction;
|   handleQuickButtonClicked?: AnyFunction;
 @ ./index.js 1:0-36 3:0-257

ERROR in ./src/store/dispatcher.ts 7:35
Module parse failed: Unexpected token (7:35)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| import { LinkParams, ImageState } from './types';
|
> export function addUserMessage(text: string, id?: string) {
|   store.dispatch(actions.addUserMessage(text, id));
| }
 @ ./index.js 2:0-260 3:0-257 3:0-257 3:0-257 3:0-257 3:0-257 3:0-257 3:0-257 3:0-257 3:0-257 3:0-257 3:0-257 3:0-257 3:0-257
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR<EMAIL_ADDRESS>build: `webpack --config ./webpack.config.prod.js`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/luddilo/.npm/_logs/2020-08-13T09_50_45_643Z-debug.log

I did the same as you said but it built in my case and I have not installed any files as such for webpack. One thing to mention I have the nvm installed as described here . If you haven't done from there try reinstalling, Hope it helps.


Fix issue #141 Object has no method 'forEach'

I keep getting this error when I install grunt-uncss on a new development computer or server instance.
There I created a commit with the patch proposed by @jtwalters
Hopefully this is useful to others.

@XhmikosR mentioned in #141 that it may be worth expanding our test suite to capture this as well. Would you be interested in making that change in this PR too?

@addyosmani: After reading through http://gruntjs.com/api/inside-tasks#this.files it seems this is the right approach to iterate over this.files.
We need to double test it works though.

:+1:


Exposing index inspection/manipulation macros/functions

I'm implementing (SP-)GiST index support for our PostgreSQL bindings and I find myself copying over macros for inspecting and manipulating index digits and resolution. I need these because I'm encoding each index digit as a branch in a tree, and reconstructing H3 indexes as the path from root to leaf node.
Have you considered exposing some of the tools for low-level manipulation of H3 indexes as part of the public API or maybe in a separate header file?

Is there a problem with the h3-pg project depending on the h3Index.h file? I think everything you need is defined in that header file.

Yes those are exactly the things I need. The only problem was that I couldn't figure out a way to install h3Index.h alongside h3api.h, and I would like to support linking against H3 built as a shared library at some point.

To install h3Index.h, you can modify CMakeLists.txt before generating and make installing:
Change (around line 609):
install(
    FILES "${CMAKE_CURRENT_BINARY_DIR}/src/h3lib/include/h3api.h"
    DESTINATION "${include_install_dir}/h3"
)

To:
install(
    FILES "${CMAKE_CURRENT_BINARY_DIR}/src/h3lib/include/h3api.h" "${CMAKE_CURRENT_SOURCE_DIR}/src/h3lib/include/h3Index.h"
    DESTINATION "${include_install_dir}/h3"
)

I don't think that linking to H3 as a shared library should have an impact on using the macros or using internal H3 functions.

Should that be a default, then @isaacbrodsky ?

Unless it is on by default I cannot assume existence of h3Index.h even if h3 is already installed on the system.
For example on Arch Linux h3 might have been installed manually or using the aur package but I will have to instruct users to rebuild it using the changed CMakeLists.
I fully understand if it doesn't make sense for you to expose that file by default in it's current form.

Only h3api.h was installed because that's the public API. I think it would be fine to add the internal headers with clarity that they're internal. The drawback of this is that different library versions may break your build. Perhaps we could initially add something like:
# (First, define internal_header_files)
install(
    FILES ${internal_header_files}
    DESTINATION "${include_install_dir}/h3/internal"
)

Alternately maybe the macros could be promoted to part of the public API, and add them to h3api.h or  a new, non-internal, header that's installed. The bitwise layout of the indexes is already part of the public API so that would be a small change.

I think moving the macros to h3api.h is the best solution here.

Would you accept a PR moving some of the macros into h3api.h?

Would you accept a PR moving some of the macros into h3api.h?

Yes, I think that would be accepted.

No blocking from me, sorry that I forgot about this.


Destination path in data_files is absolute

I have a config that looks like this
[tool.blix.data]
data_files = [
    { destination = "/etc/jupyter/jupyter_server_config.d/", from = [ "jupyter-config/jupyter_server_config.d/jupyter_workspace_extensions.json" ] },
]

When I run poetry blixbuild I get the error
Destination path in data_files [/etc/jupyter/jupyter_server_config.d/] is absolute.  Please change it to a relative path

I need to copy the config file to /etc , which will always be absolute path, how do I achieve capability using this plugin ?

Absolute paths aren't supported for data_files.  This isn't specific to poeblix.  There's a long thread related to this for wheel: https://github.com/pypa/wheel/issues/92
And the same limitations are there with setup.py: https://docs.python.org/3/distutils/setupscript.html#installing-additional-files


exec ./wait-for-postgres.sh: no such file or directory

I cloned the repo. Didn't change anything. Tried basic docker compose up for initial testing.
db and dashboard seem to run fine.
parse-hipaa gives this message and shuts down:
parse-hipaa-parse-1      | exec ./wait-for-postgres.sh: no such file or directory
parse-hipaa-parse-1 exited with code 1

I suspect there is something you cloned incorrectly as I just tried the instructions here: https://github.com/netreconlab/parse-hipaa?tab=readme-ov-file#postgres and don't see the warning you mentioned. Note that the script is in the docker file here: https://github.com/netreconlab/parse-hipaa/blob/main/scripts/wait-for-postgres.sh.
In terminal, navigate to the the parse-hipaa directory and type: docker compose up -d

It's possible you have old versions of the images (if you used parse-hipaa years ago on your computer) you can check for this by typing the following in your terminal: docker images. You should see something like:
(base) coreybaker@usc-guestwireless-upc-newsc20622 parse-hipaa % docker images
REPOSITORY                                                                                TAG       IMAGE ID       CREATED        SIZE
netreconlab/hipaa-postgres                                                                             latest    a8feb0054add   4 days ago     579MB
netreconlab/hipaa-mongo                                                                                latest    bc32193b960e   2 weeks ago    897MB
netreconlab/parse-hipaa-dashboard                                                                      latest    a7e5a0921878   2 weeks ago    267MB
netreconlab/parse-hipaa                                                                                latest    c8c2e982a94e   2 weeks ago    381MB

That could be it. Tested it on my laptop this morning and it seems to run fine. I'll have to look for those on my desktop this weekend. I did test it with mongo on my desktop and it seemed to work okay. Thanks


[Wave 6: Workspace Chats] Workspace chat disappears from LHN for requestor after request is paid

Coming from Slack, the workspace chat disappears from the LHN for the requester after their request is paid.
Reproduction Steps:

As user A, request money in a workspace chat
As the workspace admin in an incognito window, reimburse the request

Actual behavior:
Notice the workspace chat has disappeared from the LHN for user A
Expected behavior:
The workspace chat should stay visible in the LHN
https://github.com/Expensify/App/assets/7277067/35f74e4e-7f67-495e-8a71-f1fe46f13ff2

Hi, I’m Michael (Mykhailo) from Callstack and I would like to work in this issue.

@amyevans, @puneetlath, I've finished with the investigation. Seems like it is a backend bug.
Basically, the app checks if a report has participants (last 2 lines below).
https://github.com/Expensify/App/blob/b321b0a178f93300ba52d278f31cf0723018b88b/src/libs/ReportUtils.js#L3265-L3278
So, we expect to see only reports with participants - logical.
Once another user (B) has been paid an expense report, the Pusher sends a message to a requestor (A). Inside the message there is an update for a particular workspace chat. On a screenshot below we can see, it is saying that participantAccountIDs is empty now.

Just after next page refresh, the app fetches the same report with correct participantAccountIDs data.

I don't see any actions that we need on the app side. WDYT?

Ahhh ok good find. So we need to correct the back-end to not send the participantAccountIDs as empty in that scenario.

Yes, correct.

Got it, thanks for digging into that @rezkiy37! Backend fix it is 😄

I have to inform that starting tomorrow I have a short vocation until next Monday (6.11.2023). Feel free to left any comments, I will address them. See you soon 😉

PR up: https://github.com/Expensify/Web-Expensify/pull/39488

Fix is live!


Cannot read from port 2424

Hello All,
When I try to connect (run) the application from the visual studio. I get the following error:
"Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond"
The following are the logs are the finest level:

2016-06-15 13:05:54:705 CONFI Remote client connected from: OClientConnection [id=3, source=/<IP_ADDRESS>:58014, since=1466010354705] [OClientConnectionManager]
2016-06-15 13:05:54:705 FINE  Request id:-1 type:2 [ONetworkProtocolBinary]
2016-06-15 13:05:54:705 INFO  /<IP_ADDRESS>:58014 - Reading string (4+N bytes)... [OChannelBinaryServer]
2016-06-15 13:05:54:705 INFO  /<IP_ADDRESS>:58014 - Read string: OrientDB-NET.binary [OChannelBinaryServer]
2016-06-15 13:05:54:705 INFO  /<IP_ADDRESS>:58014 - Reading string (4+N bytes)... [OChannelBinaryServer]
2016-06-15 13:05:54:706 INFO  /<IP_ADDRESS>:58014 - Read string: 0.2.1 [OChannelBinaryServer]
2016-06-15 13:05:54:706 INFO  /<IP_ADDRESS>:58014 - Reading short (2 bytes)... [OChannelBinaryServer]
2016-06-15 13:05:54:706 INFO  /<IP_ADDRESS>:58014 - Read short: 36 [OChannelBinaryServer]
2016-06-15 13:05:54:706 INFO  /<IP_ADDRESS>:58014 - Reading string (4+N bytes)... [OChannelBinaryServer]
2016-06-15 13:05:54:707 INFO  /<IP_ADDRESS>:58014 - Read string: null [OChannelBinaryServer]
2016-06-15 13:05:54:707 INFO  /<IP_ADDRESS>:58014 - Reading string (4+N bytes)... [OChannelBinaryServer]
2016-06-15 13:05:54:707 INFO  /<IP_ADDRESS>:58014 - Read string: ORecordDocument2csv [OChannelBinaryServer]
2016-06-15 13:05:54:707 INFO  /<IP_ADDRESS>:58014 - Reading boolean (1 byte)... [OChannelBinaryServer]
2016-06-15 13:05:54:708 INFO  /<IP_ADDRESS>:58014 - Read boolean: false [OChannelBinaryServer]
2016-06-15 13:05:54:708 INFO  /<IP_ADDRESS>:58014 - Reading boolean (1 byte)... [OChannelBinaryServer]
2016-06-15 13:05:54:708 INFO  /<IP_ADDRESS>:58014 - Read boolean: false [OChannelBinaryServer]
2016-06-15 13:05:54:708 INFO  /<IP_ADDRESS>:58014 - Reading boolean (1 byte)... [OChannelBinaryServer]
2016-06-15 13:05:54:709 INFO  /<IP_ADDRESS>:58014 - Read boolean: false [OChannelBinaryServer]
2016-06-15 13:05:54:709 INFO  /<IP_ADDRESS>:58014 - Reading string (4+N bytes)... [OChannelBinaryServer]
2016-06-15 13:05:58:443 FINE  I/O Error on client clientId=-1 reqType=2 [ONetworkProtocolBinary]
2016-06-15 13:05:58:444 INFO   null possible previous close - Closing socket... [OChannelBinaryServer]
2016-06-15 13:05:58:735 FINE  [OClientConnectionManager] found and removed pending closed channel 3 (null) [OClientConnectionManager]

The firewall and antiviruses are disabled and no other service is running on port 2424.
Could you guys help me out with this issue.
Thank you

@sagarmaniar I guess It's the same as #63. Use 2.1.X database until issue solves.

Thank you so much! for your reply. Are they planning to fix it in next release? @aligin

@sagarmaniar Yep. @GrayDelacluyse is working for it.

@sagarmaniar @aligin Looks like I have it almost complete.  I would expect to be pushing out the update today.  That being said, if you could pull and test when I do that would be extremely useful.

@GrayDelacluyse sure, could do that. Let me know when you push the changes.

@sagarmaniar @aligin The Repo has been updated along with the nuget package which is now at 1.5.

@GrayDelacluyse Thanks a lot. At first sight it's working. If any issues I'll write.

İf it is solved, please update the nuget package.

@cpoyraz  The Nuget package has been udpated https://www.nuget.org/packages/OrientDB-Net.binary.Innov8tive/ current version is 0.1.5


BLE callbacks are being trigged multiple times per event

Describe the bug
I can't confirm this is a bug, but registering a callback with IotBle_CreateService() functions as expected but the callback (for example characterisitc READ) is invoked twice per actual BLE command.
System information

nrd52840-DK
Segger
Win10
202002.00
GattServerDemo

Expected behavior
That an event callback is called exactly once per event
Screenshots or console output
8 193 [BLE] [ERROR][BLE_HAL][1930] UNKNOWN BLE EVENT 34.
9 197 [BLE] [ERROR][BLE_HAL][1970] UNKNOWN BLE EVENT 35.
10 772 [BLE] [INFO ][DEMO][7720] X
11 772 [BLE] [INFO ][DEMO][7720] X

To reproduce
I put a LOG("X") inside the callback.
Code to reproduce the bug
aws_ble_gatt_server_demo.c  line 329
void vReadCounter( IotBleAttributeEvent_t * pEventParam )
{
    IotBleReadEventParams_t * pxReadParam;
    IotBleAttributeData_t xAttrData = { 0 };
    IotBleEventResponse_t xResp;

    xResp.pAttrData = &xAttrData;
    xResp.rspErrorStatus = eBTRspErrorNone;
    xResp.eventStatus = eBTStatusFail;
    xResp.attrDataOffset = 0;

    if( pEventParam->xEventType == eBLERead )
    {
        pxReadParam = pEventParam->pParamRead;
        xResp.pAttrData->handle = pxReadParam->attrHandle;
        xResp.pAttrData->pData = ( uint8_t * ) &ulCounter;
        xResp.pAttrData->size = sizeof( ulCounter );
        xResp.attrDataOffset = 0;
        xResp.eventStatus = eBTStatusSuccess;
        IotBle_SendResponse( &xResp, pxReadParam->connId, pxReadParam->transId );
    }
    IotLogInfo( "X\n" );

}

Additional context
This could be entirely expected behavior.
Thank you!

Hi @jnz86 ,
The demo has a vCounterUpdateTaskFunction running in a task which updates the counter value every 1 second. It also sends a notification of the update on the characteristic to the BLE peer. BLE peer issues a read request for every notification (as per GATT protocol ), for which the read callback should be invoked. So in normal behavior you should read callback invoked every 1 second to read the value.
Could you elaborate more on the behavior you are seeing ? Are you seeing callbacks invoked twice within 1 second interval ?

Inside and outside of this demo. Every BLE event on every characteristic, the callbacks are invoked twice on read/write, and sometimes three times on enabling notify. They have the same time stamp, so within a millisecond.
See my example code. I put a print(”X”) in the callback, then see the log I posted where two X’s show up every atomic read action the phone invokes. It should be extremely easy to verify by adding the same print() I posted. In any BLE callback, but using the custom services demo as an example.
This happens in my actual application, on the demos, anywhere the Nordic BLE is invoked with the Amazon middleware so far as I have tested.
What I can’t tell is if this is correct behavior, that if the Nordic Softdevice is triggering the AFR middleware to call the callback twice, or if there is a bug where the Nordic side would only call once but somehow each BLE event gets two callbacks.
So maybe nothing is wrong at all, I don’t know. If there are supposed to be two invocations per event, that should probably be documented somewhere.

On Mar 10, 2020, at 18:48, Ravishankar Bhagavandas<EMAIL_ADDRESS>wrote:

Hi @jnz86 ,
The demo has a vCounterUpdateTaskFunction running in a task which updates the counter value every 1 second. It also sends a notification of the update on the characteristic to the BLE peer. BLE peer issues a read request for every notification (as per GATT protocol ), for which the read callback should be invoked. So in normal behavior you should read callback invoked every 1 second to read the value.
Could you elaborate more on the behavior you are seeing ? Are you seeing callbacks invoked twice within 1 second interval ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

There should not be two callback invocations per event generated from Nordic port layer (here) or BLE Middleware(here). So I suspect in your case two events are generated from underlying stack.
I  included the log statement as you described above in aws_ble_gatt_server_demo.c vReadCounter(),  but couldn't reproduce the behavior at my end:
 618 [iot_thread] [INFO ][DEMO][6180] Successfully initialized the demo. Network type for the demo: 2
7 692 [BLE] [ERROR][BLE_HAL][6920] UNKNOWN BLE EVENT 34.
8 696 [BLE] [ERROR][BLE_HAL][6960] UNKNOWN BLE EVENT 35.
9 902 [BLE] [INFO ][DEMO][9020] Enabled Notification for Read Characteristic

10 1094 [BLE] [INFO ][DEMO][10940] X

11 1193 [BLE] [INFO ][DEMO][11930] X

12 1292 [BLE] [INFO ][DEMO][12920] X

13 1391 [BLE] [INFO ][DEMO][13910] X

As  you see, all logs are generated at different ticks.
I used the IOS demo app from amazon-freertos-ble-ios-sdk as the BLE central and Nordic NR52840 board running as peripheral with FreeRTOS version 202002.00 and GATT server demo.
To get more hints about the stack behavior in your case, could you also log events from nordic stack here

Hmm. I don't have a mac so I can't build the IOS SDK... I'll try another generic BLE app, and I'll go into common_gap and see if I can debug at least which event is being called. The log for the generic BLE tools I'm using (LightBlue, nrfConnect, and BLE Hero) do not show multiple reads or events on their ends.
I was just assuming this was some obscure BLE stack thing. Now I'm interested and will post back here.
I'll also confirm on an iphone 7, using an 11 pro for primary use.

R,
Tested again. iPhone11 pro, iPhone 7. Definitely confirmed this is happening. It's a responseConfirmation event. What I don't remember is if READ commands get responses in BLE.. and on top of that only sometimes like Write() / WriteWithoutResponse(). Again, this could be expected, but it doesn't seem right for a Read().
iot_ble_gatt.c
static void _responseConfirmationCb( BTStatus_t status,
                                     uint16_t handle )
{
    IotBleRespConfirmEventParams_t respConfirmParam;
    IotBleAttributeEvent_t eventParam;
    IotBleAttributeEventCallback_t eventsCallbacks;

    if( _getCallbackFromHandle( handle, &eventsCallbacks ) == true )
    {
        respConfirmParam.handle = handle;
        respConfirmParam.status = status;

        eventParam.xEventType = eBLEResponseConfirmation;
        eventParam.pParamRespConfirm = &respConfirmParam;

        eventsCallbacks( &eventParam );    //Right here, calls back to registered CB even on read
    }
}

aws_ble_gatt_server_demo.c
void vReadCounter( IotBleAttributeEvent_t * pEventParam )
{
IotLogInfo("ENTER");                                        //Twice
    IotBleReadEventParams_t * pxReadParam;
    IotBleAttributeData_t xAttrData = { 0 };
    IotBleEventResponse_t xResp;

    xResp.pAttrData = &xAttrData;
    xResp.rspErrorStatus = eBTRspErrorNone;
    xResp.eventStatus = eBTStatusFail;
    xResp.attrDataOffset = 0;

    if( pEventParam->xEventType == eBLERead )
    {

  IotLogInfo("BLE READ");                                                   //Once
        pxReadParam = pEventParam->pParamRead;
        xResp.pAttrData->handle = pxReadParam->attrHandle;
        xResp.pAttrData->pData = ( uint8_t * ) &ulCounter;
        xResp.pAttrData->size = sizeof( ulCounter );
        xResp.attrDataOffset = 0;
        xResp.eventStatus = eBTStatusSuccess;
        IotBle_SendResponse( &xResp, pxReadParam->connId, pxReadParam->transId );
    }
IotLogInfo("LEAVE");                                                          //Twice, look at the order though
}

Console
12 612 [BLE] [INFO ][DEMO][6120] ENTER
13 612 [BLE] [INFO ][DEMO][6120] BLE READ
14 612 [BLE] [INFO ][DEMO][6120] ENTER
15 612 [BLE] [INFO ][DEMO][6120] LEAVE
16 612 [BLE] [INFO ][DEMO][6120] LEAVE

The callback never leaves the first time before being called again. I'm open to this being spec I forgot or never knew, and this does seem correct for writes that need responses.
What I can't figure out is why the IOS SDK wouldn't show this behavior. Every generic BLE client I used brought it up. The event is value is eBLEResponseConfirmation (0x05).
If it's still not showing with the IOS app, please try a generic BLE discovery tool like LightBlue or BLE Hero and confirm.

Thank you for more detailed description.
The event type eBLEResponseConfirmation or eBLEIndicationConfirmReceived are valid event types for the characteristics, so this is an expected behavior. Those are invoked on the respective callbacks when the stack has successfully send back response to a read event or it sends a confirmation that indications/notifications are sent.
So tools like LightBlue could be issuing a  GATT read request in response to a GATT notification of counter update on that characteristic. This is valid BLE behavior. Apps like FreeRTOS BLE app or NRFConnect is not issuing a GATT read request, as data is already in the GATT notification. This is also a valid behavior and could be treated as an optimization as data is already in notification.

To get more insights, you could also log the event types as well by:
IotLogInfo("Event:%d", pEventParam->xEventType);
These are the event types:
typedef enum
{
    eBLERead,                      /**< Read event. */
    eBLEWrite,                     /**< Write event. */
    eBLEWriteNoResponse,           /**< Write event, no response required. */
    eBLEWritePrepare,              /**< Prepare Write event. */
    eBLEExecWrite,                 /**< Execute Write event. */
    eBLEResponseConfirmation,      /**< Confirmation from remote device. */
    eBLEIndicationConfirmReceived, /**< Received confirm to indication from remote device. */
} IotBleAttributeEventType_t;

For me, the event type maps to eBLEIndicationConfirmReceived which is for the notifications sent out through the characteristic.

Ok.
So... If I understand... the App's command is Read(), this is received by the device, the event callback is issued, the data is manually selected and sent back, it's at that point that if the data was loaded in to the softdevice correctly that a responseConfirmation event will trigger the same callback again.
I suppose I could understand a possible scenario where you load data into the void IotBle_SendResponse() and want to know it will eventualy (but hasn't yet!) go out over the radio, but that's what a function return should do, not calling the same callback you're already in before you've left it the first time.
This "confirmation" is that you loaded data into the softdevice. It can't possibly have gone out over the radio yet. We know that because it's the same timestamp and the first callback hasn't had time to leave the eventCallback before a second invocation happens.
For what it's worth nrfConnect app does the same thing. I really can't understand how the FR BLE App would not be doing this. We're not talking about notifications being enabled, this is just atomic read, it makes no sense.
I'm fine with letting this go and closing it out. Other than putting a little more on the stack for a "recursive" callback there isn't a terrible inefficiency to clear up. Maybe a couple hundred instructions. Still, I'm just not seeing the use-case here compared to a function that just returned a positive.
Closing it out, thanks for taking a look.


Positioning elements bottom to top

Hi, first of all thanks a lot for this great plugins, it is very difficult find 'decent' plugins for Angular 2 hehehe.
I'm facing a design problem due bottom position. What I'm trying to do is create a UL list positioning elements from bottom to top (it is like when you receive messages in WhatsApp chat or telegram...)
When I set my UL  height: 100%; position absolute  bottom 0 custom scrollbar disappears... also I have try using table and table cell but every time I try to position LI elements at bottom scrollbar stops working.
I'm gonna check entire plugin trying to find why position bottom doesn't work.
Thanks again,
Regards.

@dchaur Please provide more details how your html looks like.

No more details provided.


Some objects have no id

Certain objects do not have an id, and this seems like a footgun.  For example,

Spawn a new creep
During the same tick as 1, do screeps::game::creeps::values().iter().map(|p| p.id())
Traceback

1:18:24 PM]caught exception: TypeError: Cannot read property 'length' of undefined
[1:18:24 PM]stack trace: TypeError: Cannot read property 'length' of undefined
    at object_id_to_packed (eval at exports.evalCode (blob:https://screeps.com/29a5a139-d638-4e92-a50d-359e08cec132:2:11757), :870:12)
    at eval (eval at exports.evalCode (blob:https://screeps.com/29a5a139-d638-4e92-a50d-359e08cec132:2:11757), :1101:107)
    at __cargo_web_snippet_fa761c1402d330c48e501b99c4185c8157f04119 (eval at exports.evalCode (blob:https://screeps.com/29a5a139-d638-4e92-a50d-359e08cec132:2:11757), :1101:138)
    at _ZN7screeps7objects5HasId2id17hd202e9200e20e409E (wasm-function[550]:0x2ee78)

Although this traceback is opaque, ultimately the root cause is a creep has no id during its first tick (of being spawned) and so screeps-game-api crashes trying to get it.
It's not immediately clear how to fix this.  HasId has fn id(&self) -> ObjectId<Self> but when there is no id I don't think this can be implemented correctly, instead we need a signature like Option<ObjectId<Self>>.
If this is specific to Creep we could potentially introduce a new trait like MaybeHasId, although this would complicate generic interfaces.  However my suspicion is that it actually happens for most types under the right circumstances, and so we maybe ought to change HasId itself.  However I imagine that this is a nontrivial API breakage.

See also #246. Had to address this for power creeps with the AccountPowerCreep wrapper, but this is the only other case I'm aware of where a normally-ID'd object gets none, and it's so specific (and easy to avoid) that it's hard to justify the option wrapper on everything in HasId; probably more likely a custom wrapper like that on screeps::game::creeps since that's the only case outstanding where this can happen, unless you're aware of more?

I haven't actually tried it, but i have a suspicion this may be possible in the case of ConstructionSite or Nuke

Can confirm this happens with ConstructionSite (create and access on the same tick).
IMO the most sensible solution is to introduce new API for HasId like fn maybe_id() -> Option<ObjectId<Self>> or try_id() -> Result<ObjectId<Self>,..> as a safe alternative to id.  Then just document id panics in some cases, and link to the issues