Upgrade to 1.25 from 1.24 fails (nm-cloud-setup.service not found)

Environmental Info:
K3s Version:
k3s -v
k3s version v1.24.7+k3s1 (7af5b167)
go version go1.18.7

Node(s) CPU architecture, OS, and Version:
Linux dev-k8s-infra-01 5.15.0-52-generic https://github.com/k3s-io/k3s/pull/51 SMP Thu Aug 11 07:51:15 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Cluster Configuration:
24 worker nodes (8vCPU, 32gb ram)
2 master (4vCPU 8gb ram)
1 MariaDB database (8vCPU, 32gb ram)
1 nginx load balancer (4vCPU 8gb ram)
Describe the bug:
When upgrading from 1.24 to 1.25 k3s service fails to start with following error:
Oct 27 11:09:59 dev-k8s-infra-01 sh[1261639]: + /usr/bin/systemctl is-enabled --quiet nm-cloud-setup.service
Oct 27 11:09:59 dev-k8s-infra-01 sh[1261640]: Failed to get unit file state for nm-cloud-setup.service: No such file or directory
Oct 27 11:10:00 dev-k8s-infra-01 k3s[1261643]: time="2022-10-27T11:10:00Z" level=fatal msg="no-deploy flag is deprecated. Use --disable instead."
Oct 27 11:10:00 dev-k8s-infra-01 systemd[1]: k3s.service: Main process exited, code=exited, status=1/FAILURE

FWIW: the message about nm-cloud-setup.service is normal. This is expected and OK. You probably should look at the k3s logs to see what's wrong.

It's right there in one of your four log lines.
level=fatal msg="no-deploy flag is deprecated. Use --disable instead."
Correct your cli flags as instructed by the error message.

Hi @brandond If this is the case, then the error message is wrong. It should not be "flag is deprecated" it should be "flag is removed or replaced by"

It hasn't been removed yet. When it's removed you'll get a "unknown flag" error. The flag has been marked as deprecated since v1.17: 0374c4f - in 1.25 we have started to actually move towards removing long-deprecated flags, starting with giving specific errors about using their newer equivalents.

I have to disagree with your statement and agree with @vasicvuk
I just went to upgrade, finally did complete uninstall and try to install from scrach but got the same. When something is "deprecated" it means it can still be used BUT may be removed at any time. In this case it appears to be removed as k3s will not install and start with this option. But changing --no-deploy to --disable I was able to install and start k3s. Since this is the ONLY item I changed to install k3s 1.25 latest, I am 95+% sure this was the issue and that someone may not understand the meaning of deprecated (I get this all the time with product managers and engineers, deprecated sounds more like a term for removed than something that will be removed).


feat(connectors API): consistent default/current refinement naming

Goal: provide a more consistent and smaller connector API surface by defining only two way to: define default refinement, access current refinement.
Move from:

Accessing current refined value: selectedItem, selectedItems, selectedIndex, hitsPerPage (forwarded props)
Providing default refined value: defaultSelectedIndex, defaultRefinement, defaultSelectedItems, defaultHitsPerPage (connector props)

=> 8 API entries
To:

Accessing current refined value: currentRefinement (forwarded prop)
Providing default refined value: defaultRefinement (connector prop)

=> 2 API entries
Linked to #1305
This is the first pass at providing an easier to use connector API.
Still missing:

forwarded consistent items (+ isRefined)
forwarded toggleRefinement method to easily toggle one refinement
forwarded clearRefinement method to easily remove all refinements

Questions:
I think I will remove the "currentRefinement" forwarded prop once we have proper items (with isRefined) and toggle method. Then we will see if people need it, we will add it.
About the "refine" method, it allows to refine multiple values at once,  should we make toggleRefinement works with multiple values just like the helper allows it (if I remember well?) or should we just remove it?
Should we name items refinements? To be in line with the other API entries? (toggleRefinement, clearRefinement, defaultRefinement)

cc @kikobeats @harshmaur what do you think of this, is this moving to the right direction? We still have important API changes like this to do to make the API easier to use.

@vvo I am not sure if I understand it completely.
When I talk about Refinement, I can only relate to RefinementList(dFR) and Menu(fR).
Even if we keep the same name, there is a confusion in the way it accepts the props.
NumericRefinement( string maybe ?), DisjunctiveFacetRefinement(array of items), FacetRefinement (string)
Also I would be pretty confused if hitsPerPage is renamed to default or current Refinement.

When I talk about Refinement, I can only relate to RefinementList(dFR) and Menu(fR).

Yep, still, ultimately all connectors are doing refinements, in a way or another (numeric, faceting, sort). And I would rather not have the user to learn all the different APIS those connectors expose.

Even if we keep the same name, there is a confusion in the way it accepts the props.

Yes and that will be the only thing you need to know, not the parameter or method naming.

Also I would be pretty confused if hitsPerPage is renamed to default or current Refinement.

I hesitated on this one indeed. If you come from a previous Algolia experience with instantsearch.js it will be seen as weird. If you are new to Algolia and only learning the connectors API, this should be a consistent experience with all the other connectors.

I hesitated on this one indeed. If you come from a previous Algolia experience with instantsearch.js it will be seen as weird. If you are new to Algolia and only learning the connectors API, this should be a consistent experience with all the other connectors.

Makes sense then. But then you have to change this all across plugins. I use python, java and javascript as well as instantsearch.

Have sense for reduce namespaces and keywords for refer the same!


Make the Frontend Responsive

Description
This issue focuses on enhancing the responsiveness of the frontend to ensure the application works seamlessly across various devices and screen sizes.
Objectives

Responsive Layout:

Use responsive design techniques to adapt the UI to different screen sizes.
Ensure all components and pages are visually appealing and functional on mobile, tablet, and desktop.

Styling Adjustments:

Refactor existing Tailwind CSS styles to use responsive classes.
Test and fix any layout or styling inconsistencies.

@SaranDharshanSP I would like to take up this issue. clonned the repo and looked into the issuse,and have a pretty good idea on how to fix this. Have worked on similar issues with Tailwind CSS before.
Current issue with responsiveness:

Hey @vijaysb0613, you've been assigned this issue under Amrita Winter of Code! Please ensure to raise a PR by 05/01/2025, or it will be reassigned to someone else. Best of luck! 🫡


Expand/Collapse all can cause some files in list to do the opposite

Do a Replace In Files...
Click to collapse one item (optionally collapse a couple more items individually too)
Ctrl/Cmd+click that item (should mean "expand all")

UPDATE: this only happens for "Replace in Files...", not "Find in Files...", so updated recipe.
Result: that item expands but all the ones you didn't touch collapse instead. Any time you do an expand/collapse all, those items will now be inverted relative to the individually-touched ones.

Looking for a simple way to contribute for a first timer. Providing the unit testing seems simple enough. Can I undertake this bug? Any guidance would be appreciated.

PR Added unit testing for issue #12390


Only show status bar view in dev mode

Closes https://github.com/atom/deprecation-cop/issues/63
/cc @atom/feedback

Legit. Merge away. Also, I am 100% unable to say deprecopalypse

:ok: Nice touch.


Log level should be a parameter (and probably not default to debug)

Module version: 6.3.3
Puppet version: 5.5.8
OS and version: CentOS 7.6

Bug description
By default this module configures logging as debug, and other than providing the entire contents of log4j2.properties, it is not configurable.
I think there should be a parameter for logging level, and it should probably be info (or whatever the package defaults) are.
Opinions?
~tommy

It's more than likely changed upstream over time, but I think that this module should default to whatever Elasticsearch ships as its default logging level, whatever that is.

Perhaps, I agree. The module should follow the default by default. Maybe debug is the default? either way I think it should be exposed as a parameter.

This is still a problem for us.
Should it be possible to make it a parameter to be able to customize it easily (as suggested by @TJM ) ?

Yes, it is quite easy, probably 2-3 lines of code, but seeing as how this module has over 20 PRs that have not seen much attention from "elastic" ... I am not sure how much good it will do to submit a fix. We are using a customized internal version with this "loglevel" and "ES7" fixes (at least).


Removes all the client ids adds constant.

I have removed the hard coded client ids from the project its against Googles TOS to share your client id with anyone.   Placing it in a OS project its a bad idea.

Asking developers to make reasonable efforts to keep their private keys private and not embed them in open source projects.

Who ever created these keys should remove them in Google developer console to prevent anyone from miss using them and you loosing access to your account.
Question:
Should i add some instructions in the README's on these projects as to how to create the clients or is it good enough pointing them to the tutorial?

any feedback on this?

We've both been busy/traveling. We might have time this week to catch up on IdentityServer issues...

two months on this should I just close it as rejected?

Are we going for the longest lived pull request on an active project record?    I will check back in a few months.

We agree that it's not best practices to put client ID / secrets into source code.
But the client is for localhost only, and only authorized to use the Google+ API (login only). Given the complexity of getting up and running with these technologies - I think it is quite nice that Google logins work out of the box without having to explain those details as well.
If you want to contribute a new page to our docs that explains the registration process in Google and the necessary configuration, we could remove the hard-coded values. Are you up for that?

yes definitely becouse what you are doing is against Google TOS which you aggreed to when you created your account.  I have several on my own website the only issue is that Google changes the layout a few times a year I gave up updating the pictures two years ago.
rember this also is leaving your personal Gmail account open to attach as well as anyone can see it as well as the  client id and secret which you have not locked to a domain.  it can also be spamed if it's spammed enough Google will shut down your account and there is no way of getting it back that I have ever seen.
I am not only trying to help your users but as a Google developers expect its my job to help open source project like yours also follow the best practices set up by Google.
if you are interested I have several links on TOS you can read through.    Although I think I already linked most in the original pr.

I removed the ids and secrets and added brief instructions
https://github.com/IdentityServer/IdentityServer4.Samples/commit/82418a28fa7b1c3861f6599e2aa8d4dec51a7b46
Once we have a more detailed walkthrough in our docs, we can replace my text with a URL to that page.
Let me know if you want to contribute such a page to our docs, then I can pre-create it and you PR the content.
thanks!

I am happy to do it when I return from vacation.


Weird autocorrect with Layout/IndentFirstArrayElement when using tabs

I have a legacy app that uses tabs instead of spaces, and the upgrade to Rubocop 0.74.0 started to give false positives for Layout/IndentFirstArrayElement.
I've created a repository at https://github.com/herwinw/rubocop_layout_indentfirstarrayelement with a minimal reproduction case.

Expected behavior
An example of code that breaks:
def self.foobar
  [
    1,
    2,
    3
  ].each do |x|
    p x
  end
end

This code is aligned with tabs. The supporting config:
AllCops:
  TargetRubyVersion: 2.3

Layout/Tab:
  Enabled: false

Layout/IndentationWidth:
  Width: 1

According to Rubocop 0.73.0, this is fine, but 0.74.0 started throwing errors:
foo.rb:11:1: C: Layout/SpaceInsideArrayLiteralBrackets: Do not use space inside array brackets.
		].each do |x|
^^

Running autocorrect with only Layout/SpaceInsideArrayLiteralBrackets removes all whitespace at the beginning on this line. Running autocorrect with all cops actually runs two cops:
foo.rb:11:1: C: [Corrected] Layout/IndentFirstArrayElement: Indent the right bracket the same as the start of the line where the left bracket is.
].each do |x|
^
foo.rb:11:1: C: [Corrected] Layout/SpaceInsideArrayLiteralBrackets: Do not use space inside array brackets.
		].each do |x|
^^

But now my two starting tabs have been replaced by two spaces, which makes the code very inconsistent.
RuboCop version
Include the output of rubocop -V or bundle exec rubocop -V if using Bundler.
$ bundle exec rubocop -V
0.74.0 (using Parser <IP_ADDRESS>, running on ruby 2.3.3 i386-linux-gnu)

Thanks for the report. At first glance this looks like an old bug that  got unveiled by a recent change I made. Will take a closer look soon.

Just to be complete: I've deleted the repository with the reproduction case, since that one is no longer needed


Compilation failure on nvcc path when using hipChannelFormatKind

Fix for github #1183 issue reported

Note: My previous PRs were messed up hence raising fresh

Note: My previous PRs were messed up hence raising fresh

LGTM, but, please, look through commits in your PR before pushing the button "Create pull request" - it will save our time. Thanks!


276| Enroll family and family member and anc e2e flow

IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes #276
Type
Feature
Checklist

[x] I have written Unit tests for any new feature(s) and edge cases for bug fixes
[x] I have added any strings visible on UI components to the strings.xml file
[x] I have updated the  CHANGELOG.md file for any notable changes to the codebase
[x] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
[x] I have built and run the fhircore app to verify my change fixes the issue and/or does not break the app

Pull Request Test Coverage Report for Build #308

0 of 0   changed or added relevant lines in 0 files are covered.
12 unchanged lines in 5 files lost coverage.
Overall coverage decreased (-3.2%) to 89.431%

Files with Coverage Reduction
New Missed Lines
%

src/main/java/org/smartregister/fhircore/fragment/AncListFragment.kt
1
94.44%

src/main/java/org/smartregister/fhircore/model/RecordVaccineResult.kt
1
92.86%

src/main/java/org/smartregister/fhircore/util/QuestionnaireUtils.kt
1
99.31%

src/main/java/org/smartregister/fhircore/util/Utils.kt
3
97.46%

src/main/java/org/smartregister/fhircore/activity/core/QuestionnaireActivity.kt
6
87.5%

Totals

Change from base Build #304:
-3.2%

Covered Lines:
1963

Relevant Lines:
2195

💛  - Coveralls

@f-odhiambo mentioned that apk was crashing with him on pixel4a. Need to confirm the apk on mentioned device

App working confirmed.

@f-odhiambo I think you have the wrong Owais :)

This was done into another PR #547


Handle expired tokens at guardian_db itself

Hi,
How about adding some (1:100 for example) probability of running purge_expired_tokens! from create! function? Probably add config option autocleanup which is false by default (for those who want to implement or already have implemented some specific GC algorithms).
That's how a lot of software does GC jobs and would be helpful to have here as well I think.
Something like
def create!(claims, jwt) do
  if Dict.get(Application.get_env(:guardian_db, GuardianDb), :autoremove, false) and :random.uniform() >= 0.99 do
    purge_expired_tokens!
  end
  prepared_claims = claims |> Dict.put("jwt", jwt) |> Dict.put("claims", claims)
  GuardianDb.repo.insert cast(%Token{}, prepared_claims, [], [:jti, :typ, :aud, :iss, :sub, :exp, :jwt, :claims])
end

Interesting approach. I was thinking about purging the other day. My initial thoughts were to setup a supervisor that runs on a timer and just periodically cleans it outside of all requests. Thoughts?

@hassox it sounds like a better solution but I think it would be an overhead for such a simple task. It is worth nothing to add these 3 lines and update documentation with this config key description, unlike creating a GC server. You can always add GC worker later but for now this probability-based GC will work just fine for most of users I believe.

I've just added a worker that you can optionally add to your supervision tree @chvanikoff. https://github.com/hassox/guardian_db/pull/20 Love some feedback.

@hassox Generally, it's ok. But here is what I'd change:

Move interval to config and have some reasonable default value (30m for example)
Use minutes rather than milliseconds. I doubt anyone would want to run the cleanup 10 times per second or even more than 1 time per minute.

Good feedback. I've pushed up a v0.7.0 with these features :D


[FEATURE]: New way to tensotboard

Describe the feature
Currently, we use torch.tensorboard.SummaryWriter to export profiling data. Since the very limited APIs provided by tensorboard, we cannot draw interactive pie charts and iteration-level memory usage charts. Therefore, we should develop our own tensorboard plugin manager. And the first thing we shall do is export our profiling data in a JSON file.

The JSON file can be split into three parts: memory usage, communication overhead, and PCIe bandwidth, according to our current implementation of colossalai profiler.
memory usage JSON:
{
"schedule":
"step":
"information": {
    "worker":
    "cuda_usage": []
}

communication overhead JSON:
{
"total_cuda_time":
"total_comm_vol":
"total_count":
"events": [{
    "location":
    "self_cuda_time":
    "self_comm_vol":
    "self_count":
    }]
}

PCIe bandwidth JSON:
"h2d_time":
"h2d_count":
"d2h_time":
"d2h_count":
"events": [{
    "location":
    "cuda_time":
    "pcie_vol":
    "count":
    }]

⚠ Keep in mind: multiple processes may access the same file, you should make sure the JSON file is consistent

⚠ Keep in mind: multiple processes may access the same file, you should make sure the JSON file is consistent

Each process should keep its own json file.

OK, please check my latest commit #717. Different filenames refer to different processes.

We have updated a lot. This issue was closed due to inactivity. Thanks.


REQUEST: Add api/graphql to vpc with latest constructs

Due to company policy, internal APIs (in which we'll be using GraphQL) needs to sit inside a VPC. Currently, I cannot find a way to do this with the latest constructs, and am relying on the apiv1 construct.
If possible, it would be very useful to be able to add the 'new" api and graphql constructs to a (non default) vpc.

Hey @sF0rman, SST uses the AWS API Gateway service to create the APIs. AWS API Gateway does not have the concept of deploying into a VPC.
Does ur company have existing internal APIs made using API Gateway? If so, we can look at how they are deployed and follow the same setup.

So I'm obviously inaccurate on the terminology, but with the RESTApi (v1) it was possible to create a private api gateway that was only accessible from within the VPCs using VPC endpoints, and with the new construct we have HTTP api's which cannot be made private.
So what I'm looking for is a quick way of making a private graphql endpoint really. Not accessible from the outside internet.
    cdk: {
      restApi: {
        endpointConfiguration: {
          types: [EndpointType.PRIVATE],
          vpcEndpoints: ["vpce-xxxxxxxxxx"]
        },
        policy: apiResourcePolicy
      }
    }

Just adding an update here:
I've managed to create a private API using the ApiGatewayV1Api construct, but this doesn't work with sst console. Works elsewhere and can stick to this.
Request could be marked a nice to have. (preferably I'd like Amazon to allow private HTTP gateway or private appsync constructs, which is out of your control)

We are transition this repo to https://github.com/sst/v2 and are closing this issue for now. If it is still relevant please reopen it there - sorry for the trouble


[Bug] Duration in reportData is incorrect when merging reports in sharding mode

Describe the bug
Duration always calculated by earliest start time and the end time of the latest start. If shard 1 starts first and run much longer than 2 and 3, then calculated duration would be wrong
https://github.com/cenfun/monocart-reporter/blob/d65bdb88fbe2c91e8b9c903284914f23c5bff784/tests/example/example.spec.js#L158-L172
To Reproduce

Version: 2.9.7
Node Version: 18
Have you tried the latest version (including node), and does the issue still exist? yes
Steps to reproduce the actual behavior:

Start tests in sharding mode

# start up shard
# node 1
npx playwright test --shard=1/3 # starts at 00:00:01 and ends at 00:00:06
# node 2
npx playwright test --shard=2/3 # starts at 00:00:08 and ends at 00:00:16
# node 3
npx playwright test --shard=3/3 # starts at 00:00:02 and ends at 00:00:24

copy all output .zip to a node to perform merge

npx monocart merge 'path-to/shard*/*.zip'
# reportData.duration shows 15s instead of 23s

Expected behavior
Sharding test duration should be calculated by earliest start and latest end.
Make a minimal reproduction

Provide the minimal, reproducible code and options of the bug.

test('@util getDuration', () => {
    let ranges = [
        {
            start: 1,
            end: 6
        },
        {
            start: 8,
            end: 16
        },
        {
            start: 2,
            end: 24
        }
    ];
    expect(Util.getDuration(ranges)).toBe(23);
});

@cenfun It works on 2.9.8! Thanks for the quick response and fix.


Try performance of wasm code with exceptions catching turned on

This is resolved now that we have proper exception bouncing / throwing to JS-land.


Editor: Youtube resizing support

Context
This is a story of master feature #197
The editor is in components/editor
Expected Behavior
Youtube embed should be updated with the media resizer, This is currently already being used by IMG nodes and the same idea should ideally be applied to youtube embeds
Current Behavior
the height and width of youtube videos is set in TiptapExtions and centered in global.css (.Prosemirror iframe )
Steps to reproduce
Please provide detailed steps for reproducing the issue
go to alpha/create/new
add a youtube video
Additional info
https://tiptap.dev/api/nodes/youtube

closing - not in scope for v1


Standalone Lobby (Lbby) not detected as Subaddress

Hi!
While using usaddress for some deduplication/matching in our dataset I've discovered quite a huge number of addresses contain Lbby at the end of their street address to indicate they're in the Lobby.
When an address has a Lobby but does not have a numeric Lobby Number it is considered part of the PlaceName:
77 W Wacker Drive Lbby Chicago, IL 60601
('PlaceName', 'Lbby Chicago')

1611 S Green Rd Lbby A Cleveland, OH 44121
('PlaceName', 'Lbby A Cleveland')

370 17th Street Lbby Denver, CO 80202
('PlaceName', 'Lbby Denver')

If the Lobby has a numeric Lobby Number it is detected properly.
526 Superior Ave E Lbby 2 Cleveland, OH 44114
('SubaddressType', 'Lbby'), ('SubaddressIdentifier', '2'), ('PlaceName', 'Cleveland')

Thanks for this library, it's been great!

Thanks for this @zolrath! Do you happen to have 3-4 more examples of this pattern you can share? If so, we can bring it in to the next round of training data.

Sure! Here you go. I've included some other formats of Lobby as well, some of them I understand if you leave on the cutting room floor but these are all addresses that can be found in directories.
155 Montgomery Street Lbby San Francisco, CA 94104
1000 Asylum Ave Lbby Hartford, CT 06105
2 N Main St Lbby Sheridan, WY 82801
65 Oriental Blvd Lobby Brooklyn, NY 11235
322 8th Avenue Lbby New York , NY 10001
1428 Brickell Ave, Lbby Miami, FL 33131204
621 SW Morrison St Ste LBBY Portland, OR 97205
185 Asylum St, Lbby Hartford, CT 06103
110 William Street Lbby, New York, NY 10038
1428 Brickell Ave, Lbby Miami, FL 33131
3 Embarcadero Ctr Lbby Ll4, San Francisco, CA 94111
2 Embarcadero Ctr Lobby Level, San Francisco, CA 94111
1 Financial Plz Lbby 2A Hartford, CT 06103
80 SW 8th St Lbby 130, Miami, FL 33130
801 Brickell Ave Lbby L65 Miami, FL 33131
285 Commerce Dr Lbby A, Fort Washington, PA 19034
203 N La Salle St Lbby G2 Chicago, IL 60601
Here's a weird one:
180 N La Salle St Lbby 101 STE 101 Chicago, IL 60601
411 Theodore Fremd Avenue Suite 104 (North Lobby) Rye, NY 10580
621 S Broadway # LBBY Los Angeles, CA 90014
For when they really want you to know they're in the Lobby:
200 N La Salle St Lbby Lobby3 Chicago, , IL 60601
25 W Flagler St Lbby LOBBY Miami, FL 33130


Removed step for adding Windows nodes label

#7819

Deploy preview for docsdocker ready!
Built with commit adaf0bc885af9b4482588f738cb87081a16daa0f
https://deploy-preview-8355--docsdocker.netlify.com


Please update bouffalodevcube to 1.8.9

Please update bouffalodevcube to 1.8.9
The version in the repository is 1.0.9, the latest version from https://dev.bouffalolab.com/download is 1.8.9 .
1.8.9 is majorly better for a lot of usages (for example, flashing without partitions and boot2), and the presence of 1.0.9 in the SDK induced me into thinking this was the latest version.

We do not use devcube, we use flashcube, this is not the same.


changed numbered lists to bulleted in kubeadm-upgrade doc in release-1.17

Description - changed numbered lists to bulleted
It was noticed in another PR that recent changes made in PR's for release-1.16/1.17 caused the numbered lists to break in the kubeadm-upgrade doc. The recommended fix was to change to using bulleted lists as noted in #25732
I have applied the changes in this PR.

xref #25732
/sig cluster-lifecycle

xref #25732
/sig cluster-lifecycle

Thanks for the quick fix.
/lgtm
/approve

Thanks for the quick fix.
/lgtm
/approve


Gem install

I'm trying to install the library without any success.
I tried it with MacOS (Intel and M1). Now I'm trying to install it on a Docker image (ruby:2.6-buster).
With Docker, I installed the apt packages: libarrow-dev, libarrow-glib-dev, libarrow-dataset-dev, libparquet-dev, libparquet-glib-dev and libarrow-dataset-glib-dev i also installed python3-dev and python3
The library libgirepository1.0-dev is not available, but the version libgirepository-1.0-1 is installed
Following the error:
Building native extensions. This could take a while...
ERROR:  Error installing red-arrow-duckdb:
	ERROR: Failed to build gem native extension.

    current directory: /usr/local/bundle/gems/gobject-introspection-3.5.1/ext/gobject-introspection
/usr/local/bin/ruby -I /usr/local/lib/ruby/2.6.0 -r ./siteconf20220308-8-e77wz7.rb extconf.rb
checking for --enable-debug-build option... no
checking for -Wall option to compiler... yes
checking for -Wcast-align option to compiler... yes
checking for -Wextra option to compiler... yes
checking for -Wformat=2 option to compiler... yes
checking for -Winit-self option to compiler... yes
checking for -Wlarger-than-65500 option to compiler... yes
checking for -Wmissing-declarations option to compiler... yes
checking for -Wmissing-format-attribute option to compiler... yes
checking for -Wmissing-include-dirs option to compiler... yes
checking for -Wmissing-noreturn option to compiler... yes
checking for -Wmissing-prototypes option to compiler... yes
checking for -Wnested-externs option to compiler... no
checking for -Wold-style-definition option to compiler... yes
checking for -Wpacked option to compiler... yes
checking for -Wp,-D_FORTIFY_SOURCE=2 option to compiler... yes
checking for -Wpointer-arith option to compiler... yes
checking for -Wundef option to compiler... yes
checking for -Wout-of-line-declaration option to compiler... no
checking for -Wunsafe-loop-optimizations option to compiler... yes
checking for -Wwrite-strings option to compiler... yes
checking for Homebrew... no
checking for gobject-introspection-1.0... no
installing 'libgirepository1.0-dev' native package... failed
Failed to run 'apt-get install -V -y libgirepository1.0-dev'.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

When I try to install the library indicated in the output: apt-get install libgirepository1.0-dev I got:
E: Package 'libgirepository1.0-dev' has no installation candidate

Then, I try: apt-get install libgirepository-1.0-1 but it is already installed:
libgirepository-1.0-1 is already the newest version (1.70.0-3)

Could you show your Dockerfile?
I think that you miss apt-get update before apt-get install ....

RUN tar -xzf asset-cache.tgz && tar -xzf assets.tgz \
    && rm asset-cache.tgz && rm assets.tgz

# required by CLD native extension
ENV CFLAGS="-Wno-narrowing"
ENV CXXFLAGS="$CFLAGS"

RUN gem install bundler --version \
    "$(grep -A1 'BUNDLED WITH' Gemfile.lock | tail -n1 | tr -d ' ')"

RUN bundle config build.sequel_pg --with-cflags="-DSPG_MAX_FIELDS=1600"
RUN bundle config without development test

ENV MY_USER="deploy" \
    MY_HOME="/app" \
    RAILS_ENV=production

RUN echo 'deb http://deb.debian.org/debian testing main' >> /etc/apt/sources.list
RUN apt-get update -y
RUN apt-get upgrade -y
RUN apt-get install -y g++ gcc
RUN apt-get autoremove -y
RUN apt-get install -f

COPY Gemfile Gemfile
COPY Gemfile.lock Gemfile.lock

RUN bundle install --deployment --frozen --no-prune

COPY --chown=deploy:deploy yarn.lock yarn.lock

RUN yarn install

COPY --chown=deploy:deploy . /app/
RUN PRECOMPILATION_STEP=true bundle exec rake assets:precompile

RUN rm -rf /var/lib/apt/lists/* \
    && rm -rf tmp/cache \
    && apt-get remove $BUILD_DEPS --purge -y --auto-remove \
    && rm -rf /var/cache/apt/archives/*

RUN chown -R deploy:deploy /app

USER deploy

CMD ["bundle", "exec", "rails", "server"]

The problem was with another library: red-arrow-duckdb. I'm recreating the issue there

https://github.com/red-data-tools/red-arrow-duckdb/issues/3


Compressed_vipc delay in streaming

Describe the bug
As compressed vipc is running an accumulated delay is detected on the total latency time, this is due to the network error incrementing as each frame is passed through. I suspect it has something to do with the first square of sensors, but im not sure. Any solutions to this?

Provide a route where the issue occurs
Not in a route
openpilot version
0.9.6
Additional info
No response

I'm not sure what your issue is exactly, and I can't reproduce any delayed frames. Can you post the code or a better description for the things you're plotting?

The code is exactly the same as it is in the tools/camerastream/compressed_vipc.py (executed as the readme file). This times where gathered by setting the debug to TRUE set on the frame receiving device.
The issue represented in the graph is that the network delay should not increase over time, it should at least be constant or have small variations. Total time should not be an incrementing value, but have a range (based on the stream first measures) of around 100 ms, throughout the entire stream.
I have a comma3 and the receiving device is a Jetson Orin (idk if this matters) inside the openpilot container, provided on the repo.

I suspect this is related to your setup somehow.

@Marcos64s still an issue?

Yes, i m testing with new hardware. Soon i will leave an update.


Adds more onboarding options

What's this PR do?

Adds a developer override mode. This is because we're constantly clearing local storage & commenting out code when developing so we can refresh our changes.
Adds a per campaign disable option. This is for vcard and other campaigns in the future which have a more in depth signup process.

How should this be reviewed?
If you enable onboarding dev, does on boarding show up every time?
If you disable ^, then disable onboarding, does onboard show up?
If you enable onboarding, then disable it on a campaign, does it show up?
If you enable it on the campaign, does it show up?
Any background context you want to provide?
Everything is described above I think
Relevant tickets
Fixes #6817
Checklist

[ ] Tested on staging.
[ ] Pinged a PM if this is a larger PR that would benefit from some additional testing love.

So does it have to be something that is per campaign? Couldn't we just have an "Enable Debug Mode" globally, and then in each respective feature we build we check if it is on or not? Otherwise to add more Debug Modes for other features we always need to add a form item for each one. Unless I'm misunderstanding something.
Ideally it's something we can just toggle on and off for the site and each dev can use at their discretion whether they need it for testing their particular feature or not.

@weerd There is 3 options now with this PR

Allow admins to turn onboarding on / off for the entire site
Allow admins to disable onboarding for a specific campaign (EG: Voter reg)
Allow developers to override all of this plus local storage, to make our lives easier when refreshing the page.

I'll rename the variables now!

@weerd should be good to go now, everything appears to still work

2 naming things. once set 👍


Vagrawal/trifinger demo

Demo Trifinger Impedance Control

I fixed the formatting issues, I commented on above.  I assume you used some formatting tool like autopep8?  If so, keep in mind that this can result in pretty ugly line wrapping, so you should always take a look at the result.

I'm closing this PR as I assume this is outdated in the meantime.  In any case it would better fit in robot_fingers.  So if you think this is still useful feel free to open a new PR there.

I'm closing this PR as I assume this is outdated in the meantime.  In any case it would better fit in robot_fingers.  So if you think this is still useful feel free to open a new PR there.


Remove unnecessary indentation

Just some basic code sample cleanup.

This indentation is correct, this is part of a much larger file.

I get that, but without the broader context of the pom.xml file it looks like an indentation error in the doc

To be honest we should probably just remove that whole section. When it was added the per-lib docs weren't as good.

@brian-brazil That seems sensible. I've updated the PR.


Separate environments and simplify docker-compose.yml

There are two environment files now. The implicit .env file for docker-compose and the mail-specific configurations. The container needs the variables of the compose script as well, thus .env is imported into the container environment, too.

Would you mind changing the name of .env-mailserver.dist to env-mailserver.dist or something? I really hate it when important files are hidden.
It would also be nice if the readme explained what should go where, i.e. modify the domain name and container name in the .env file and keep all other settings in the other.
If possible I would prefer to delete the .env file and move the two remaining settings into the compose file instead, but perhaps that won't work? Not a big deal, but getting rid of the hidden file would be a plus!

Would you mind changing the name of .env-mailserver.dist to env-mailserver.dist or something? I really hate it when important files are hidden.
Sure thing.

It would also be nice if the readme explained what should go where, i.e. modify the domain name and container name in the .env file and keep all other settings in the other.
Isn't that obvious by having example configs?

If possible I would prefer to delete the .env file and move the two remaining settings into the compose file instead, but perhaps that won't work? Not a big deal, but getting rid of the hidden file would be a plus!
Surely, this would work, but i not my personal preference. I like to separate configs and sensitive data. But, its your baby, so I am happy to do it this way.

Also, I think, HOSTNAME and DOMAINNAME are shared in both compose file and container. Thus, eliminating .env in favor of editing the compose file directly, will lead to the necessity of maintaining this variables in two places.

Looks good, I'll test the changes on one of my servers; then I'll merge.

@mindrunner, I tested it and it works well. I'll merge it, but I have one question. I used to have this in my compose file:
-    hostname: ${HOSTNAME}
-    domainname: ${DOMAINNAME}
-    container_name: ${CONTAINER_NAME}

It didn't work, but setting the options directly in the compose file works, i.e. hostname: mail. My question is, if we need to set the options manually in the compose file (and we do in the examples), what good is the .env file?

@mindrunner, I tested it and it works well. I'll merge it, but I have one question. I used to have this in my compose file:
-    hostname: ${HOSTNAME}
-    domainname: ${DOMAINNAME}
-    container_name: ${CONTAINER_NAME}

It didn't work, but setting the options directly in the compose file works, i.e. hostname: mail. My question is, if we need to set the options manually in the compose file (and we do in the examples), what good is the .env file?

Are you sure, that you have a file .env next to the docker-compose.yml? And it still does not work? That's odd. I will try to reproduce this here.

Hm, right. Perhaps it is because I'm using docker-compose from a docker container (no local installation on the host)? All the .env were propagated into the container, so it does find the file.

can you provide a minimal example of our setup to reproduce this?

Yes, that is easy. I can just follow the setup instructions in the readme. Copying the templates gives me:
services:
  mail:
    image: tvial/docker-mailserver:latest
    hostname: ${HOSTNAME}
    domainname: ${DOMAINNAME}
    container_name: ${CONTAINER_NAME}

And:
HOSTNAME=mail
DOMAINNAME=domain.com
CONTAINER_NAME=mail

Starting the container and checking the host name:
docker exec mail cat /etc/hosts
# other lines
<IP_ADDRESS>	ef0581c1f85a.domain.com ef0581c1f85a

Editing the compose file:
  mail:
    image: tvial/docker-mailserver:latest
    hostname: mail
    domainname: domain.com

Gives:
<IP_ADDRESS>	mail.domain.com mail

Docker image docker/compose 1.24.0  4624ec04635e
docker-compose version 1.24.0, build 0aa59064
docker-py version: 3.7.2
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.1.0j  20 Nov 2018

Running on Linux Mint (Ubuntu) 18.3.

I can confirm your problem when starting the container from within another container by passing in the socket.
docker run  -ti --entrypoint "/bin/sh" -v /home/le/temp/compose-test/:/code/  -v /var/run/docker.sock:/var/run/docker.sock docker/compose:1.24.0
cd /code
docker-compose up

This is reproducible in both docker/compose and my own image runmymind/docker-with-compose. Both based on Alpine.
However, running compose directly from my local box behaves differently (and as I would expect).
Is this issue new since I refactored the env-import?

No and it is not a big deal. I mentioned it because the only things that are kept in the .env file now are settings that don't have any effect for me, so if it was the same for others we could have removed the file. Most people probably run compose directly on the host though.


TODO: remove m_numDynamicObjects

done in https://github.com/hzqst/metamod-fallguys/releases/tag/v20241009a


Error in confirmations

Whenever I launch your bots, the codes goes fine without error.
However when I send offers, the confirmations page is always saying "you've  made too many requests recently. Please wait and try your request later". When I turn your script back off it turns fine again

Change your confirmationInterval, in config.json
{   "username": "",   "password": "",   "botname": "",   "identitySecret": "",   "sharedSecret": "",   "adminIDs": ["88888888888888888","99999999999999999"],   "options": {     "apikey":"",     "appid": "730",     "minimumprice": 0.40,     "acceptRandomFriendRequests": true,     "priceRefreshInterval": 30,     **"confirmationInterval": 30,**     "percentamount": 0.95,     "chatResponse": {       "donation": "Thanks for donating to the bot :) have a nice day",       "junk": "The trade you sent was to cheap for me to accept",       "tradeDeclined": "Sorry :/ your trade did not have enough overpay for me to accept it. I value my items at 100% and value yours at 95%",       "tradeAccepted": "Thanks For trading with XD'S Bot. Hope you have fun with your new skinz",       "newFriend": "Hey m8 thanks for adding my bot",       "unknownCommand": "Unknown command.",       "adminTrade": "Hey admin im giving my items now",       "commands": {         "!test": "this is a test command"       }     }   } }

I have changed it to 300, however same problem occured

Are you sure about that?
Are you running this on a VPS?

I am trying to run it on my windows 10

Weird, and you are not running any programs that checks frequently for confirmations? (Steam desktop auth, etc.?)

Ah I am indeed running SDA, thought I needed that.
On Apr 1, 2017 5:17 PM, "Frederik Hald"<EMAIL_ADDRESS>wrote:

Weird, and you are not running any programs that checks frequently for
confirmations? (Steam desktop auth, etc.?)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Arze1/CSGO-Overpay-Bot/issues/38#issuecomment-290955919,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWl8-MPPPwDj4TzsBx9Q9qMb1tzoryLWks5rrukmgaJpZM4Mwa5u
.

That could be the problem, as it checks for confirmations as well.
Try to exit SDA and test after a few minutes, and then start your bot to see if it makes any diffrence.

I will test it out as soon as I get home. Thanks

closed, too long w/o update


work in progress

Initial ideas on curriculum

Some updates to the proposed curriculum/abstract-Trainer based on recent discussion.
This is the simplest 'policy' implementation I can think of that does not introduce a whole matrix of stages.
Work in progress, serialization to be added.

This Update (commit a5bc1d2):

Floating Nodes:
Updates Stage and Curriculum API’s with ‘add_policy’/‘remove_policy’ and ‘add_stage’/‘remove_stage’ methods respectively to handle floating policies and floating stages.
This is a more natural interface for adding/removing a single node over optional rule/end-node arguments in ‘add_transition/remove_transition’.
Remove_transition is augmented with the ability to remove start or end nodes along with Rule removal.

Improved Rule Initialization:
Rules (Policy, StageTransition, Policy Transition) are defined by passing in a callable instead of overriding call.
The signature of the input callable is checked on Policy/StageTransition/PolicyTransition initialization with Pydantic validation.
The updated rule definition serializes properly as before.

Trainer Test Suite:
Trainer passes a minimal test suite of core functionality. This can be added upon.

Other minor changes:

Use of Pydantic model_copy and updated Rule interface in examples
Remove Metrics from Curriculum, which are Task-specific
Removed Inbound/Outbound typing, in which all policies/stages inside self.policies and self.stages lists are all simultaneously inbound and outbound.
Removed ‘import aind_behvaior_curriculum as abc’ in favor of ‘from aind_behavior_curriculum import (…)’ to avoid overloading of ‘abc’ with python’s abstract class library.


Issue with User_timeline()

having an issue where calling user time line is returning IndexError: list index out of range with the initial call string being
for status in api.user_timeline([309626491][743090778923098112][False][1][1]):     print status.id     tweet= status.id     api.retweet(tweet)     time.sleep(900)
In terms of debugging I've tried the old indexing from 0 attempt and playing around with the start and end point but cant seem to get this to function
I've read the specific documentation on http://docs.tweepy.org/en/v3.5.0/api.html#API.user_timeline

@camofelix Hey, I could be wrong, but I think that the documentation is a little unclear about how you're supposed to be calling the API. The []s actually mean that those parameters are optional.
If you do:
user_timeline = api.user_timeline()
print(user_timeline)

You get back the user timeline for the account whose access token & secret you used to set up the API (basically auth in http://tweepy.readthedocs.io/en/v3.5.0/getting_started.html#introduction)
But if you do:
user_timeline = api.user_timeline("309626491")
print(user_timeline)

You get back the user timeline for the twitter account ID 309626491.

This is because with [309626491][743090778923098112], you're defining a list with a single integer,  309626491, and attempting to access that list with the index,<PHONE_NUMBER>23098112.
In terms of documentation, items enclosed in brackets are optional.
This is an established variant feature of Backus–Naur form that is standard to Python.


regex for checking java version isn't supported for Java SE

Issue:
I get below error when I initialise FarasaSegmenter
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/farasa/__base.py", line 149, in _check_java_version
re.search(version_pattern, version_proc_output).groups()[0]
AttributeError: 'NoneType' object has no attribute 'groups'
Below are the details for java version on my machine.
$ java -version
java version "13" 2019-09-17
Java(TM) SE Runtime Environment (build 13+33)
Java HotSpot(TM) 64-Bit Server VM (build 13+33, mixed mode, sharing)
Possible cause: Seems that regular expression is not handling Java SE. It supports only jdk
Locally I am able to run it using version_pattern = r'"(.+?)"'

Thanks for mentioning that @greenshrek
Regarding your solution, I think r"'(.+?)"' pattern is more than what is required? what about r"\"(\d+)*\"? This will check there is at least a version digits. What do you think?
One more issue that needs to be implemented is this should not stop the flow. Instead, the exception should be caught and returned with a proper error message.

Hi @MagedSaeed

regex r""(\d+)*" will work fine if there is only a major version involved. However, it fails where there is a minor version and a patch also in version_proc_output (example - 13.01.01). Attached is the code for reference (check.py)

check.py.zip

Yes, agree. The flow should not be stopped.

Hey @pranavsdev ,
Thanks for reporting such issue. Just give me some time. I will try to fix it as soon as possible.

Great, thank you. Would you please notify me when you've fixed it so I know
when I can continue working?
Best,
--
Richard Pelgrim
+31 (0)6 374 807 31
On Thu, Apr 1, 2021 at 4:56 AM Maged Saeed @.***> wrote:

Hey @pranavsdev https://github.com/pranavsdev ,
Thanks for reporting such issue. Just give me some time. I will try to fix
it as soon as possible.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/MagedSaeed/farasapy/issues/10#issuecomment-811856327,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQLWMSWO7JURAZR2D6WJNWLTGRNPFANCNFSM4TV3D7TQ
.

@rrpelgrim I am currently working on it. The cause of the problem is that the regex will match any java version with this pattern "d.d+" However, I was not expecting to receive patterns like "d+".
I had tested this pattern
version_pattern = r"\"(\d+(\.\d+){0,1})"

and seemed to work just fine.
@pranavsdev , I just found out that you replied to this issue with the code. Thanks for your effort. I need your thoughts both here on the proposed regex. Regarding the one you proposed, I do not feel it is restrictive. I feel this is more restrictive.

If you both agreed to this regex, I will update the code and push the changes to both, the GitHub repo and PyPi.

@MagedSaeed
version_pattern = r""(\d+(.\d+){0,1})" is not able to match a pattern like - 13.01.01
Instead, version_pattern = r"(\d+(.\d+){0,1})" works fine for me. It is able to match 13 or 13.01 or 13.01.01
I used https://regex101.com/ to test. Please check the attachments.

Actually, this should not work. Because you are missing the " character at the beginning. I noticed that every version starts with ". So, I want to only match the version exactly excluding any other possibility for other numbers. I only matched two tokens split by '.'. This is because I want to compare it with 1.7.

Yours will accept any character between numbers including '_'. Because you are not escaping the '.'.
Hope you got may point!

Ah, i missed that. You are right, it should work!!

Hi @MagedSaeed and @pranavsdev - has this been solved?
I'm trying to use Farasa segmenter on openjdk docker image with java SE.
Thank you in advance for your answer !

Hey @ALahssini  and @rrpelgrim
I fixed the problem locally but figured out that I did not deploy to PyPI. I just pushed changes to GitHub and also deployed to PyPI. Please uninstall your current version, I guess 0.0.12, and install the latest one, 0.0.13 by :
pip install -U farasapy

Let me know if the problem did not resolve,.
Maged,.

Please let me know so that I will close this issue.

@ALahssini  and @rrpelgrim
Any updates please, if you do not have any comments, I will close this issue.


openssl  error

way not use 'Rustls',
if you use native tls,  will be  error with(CentOs 7)
error: failed to run custom build command for `openssl-sys v0.9.58`

Caused by:
  process didn't exit successfully: `/root/abs_admin/target/debug/build/openssl-sys-c2f849d2820df941/build-script-main` (exit code: 101)
  --- stdout
  cargo:rustc-cfg=const_fn
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
  OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
  OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_DIR
  OPENSSL_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=OPENSSL_STATIC
  cargo:rerun-if-env-changed=OPENSSL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

Take a look at the rust-openssl README to see if you can help it link on your OS.

Take a look at the rust-openssl README to see if you can help it link on your OS.

rust-openssl  only support native ssl.
Can you support at https://github.com/ctz/rustls

Take a look at the rust-openssl README to see if you can help it link on your OS.

rust-openssl  only support native ssl.
Can you support at https://github.com/ctz/rustls

Reqwest does have support for rustls, and can disable default-tls. You can find more on the main page in docs.rs/reqwest.

Reqwest does have support for rustls, and can disable default-tls. You can find more on the main page in docs.rs/reqwest.

Reqwest does have support for rustls, and can disable default-tls. You can find more on the main page in docs.rs/reqwest.

Thanks,The problem has been settled

Reqwest does have support for rustls, and can disable default-tls. You can find more on the main page in docs.rs/reqwest.

Thanks,The problem has been settled


feat: add keepkey

ADD KEEPKEY
Notes:
Feature Integration keepkey via KeepKey-sdk
Pairing:
All applications wishing to communicate with the KeepKey bridge must pair. This process involves the application requesting a pairing, the user approving it in the application, and an apiKey being issued to that app. The app then stores this apiKey for further connections.

Auto-launch:
The app requires the KeepKey bridge to be running at all times. If KeepKey Desktop is not running, it will be auto-launched.

If the bridge still fails to launch, then the user does not have KeepKey Desktop installed and is prompted to go to keepkey.com/get-started to install it.
links

keepkey
keepkey-sdk
shapeshift

tested
| BTC              |    ✅    |
| LTC              |   ✅    |
| BCH              |   ✅    |
| DOGE             |   ✅    |
| ETH              |   ✅    |
| AVAX             |   ✅    |
| BSC              |   ✅    |
| COSMOS (ATOM)    |   ✅    |
| OP               |   ✅    |
| MATIC            |   ✅    |
| BNB              |   ✅    |
| THORCHAIN (RUNE) |   ✅    |

This PR is fully functional in the playground on all assets via KeepKey

replaced by 354


Hover effect on social media logo

Description
Want to add hover effect on social media logos
Screenshots

Checklist

[X] I have checked the existing issues.
[X] I have read the Contributing Guidelines
[X] I have read the Code Of Conduct
[X] The changes don't break the code

I would like to work on this issue of hover effect on the Social Media logo please assign me this issue

I have solved the issue and would like to contribute please assign it to me

I raised the issue and I have also done it. please assign me @Muskansahuincredible


feat: local storage config

Also some standardization in the Docker Compose YAML files.

@omusil24 @shuning-auki is it okay with you to merge this and then make a DS release to make sure the code/binary and the Docker Compose configs are in sync?


Header snapTo tap fix on Android

Touchable components in header do not trigger snapTo action because of failed gesture state

can you split this PR?


Richie course page: change order of info and simplify date presentation

Feature Request
We believe that the course page can be improved, to prevent cases where the student don’t understand how much effort and the duration of the course. We have found cases, on support and comments on the social networks, where they simply don’t understand because they view longer start and end dates and they though that the course is very long, but in the reality the course is only a couple of hours in self pace mode. The majority of NAU courses is self pace and I think this situation is more dramatic in our case than in FUN installation, where there are a more balanced mix of self pace and instructor pace. That is why we propose the next improvement on Richie, if we don’t agree we could add it only on our installation, but if we agree on a compromise we could improve the platform for everyone.
Restrictions
For:

self pace course
single open to enroll course run
current date is in the enrollment period - course in open for enroll

Then on the course run block:

do not show any enrollment dates.
show only the end date - on a compact style.

Language
I think another problem is the language per course run. It is a good feature to have different runs using different languages, but in reality almost all course runs for the course has the same language(s).
What we propose is if all course runs for the course has the same language(s) then we should present that information only once. For an example where a run is almost finish and another is starting up.
One location for this single language presentation could be after the duration, effort and pace; but before the enrollment count.
So, the course languages should be an union of all course run languages.
Change order of Catch phrase, duration, effort and pace
If we compare Richie with other Course catalog systems, like edx.org or Coursera, we see that the catch phrase is right below the course title. Only after the catch phrase, it has more information, for example it shows the course duration, effort and pace. We believe that we should change the order of the information to be similar to those platforms.
We propose that we change the order of those elements in Richie. To be like: course title, catch phrase, duration, effort, pace, languages and enrollment count. Maintaining the duration, effort and pace on the same line.

Screen captures and Mockups
Current course presentation from the demo site:

(Mockup) The same demo course presented with the suggestion changes:

On NAU this change would have this effect:

Describe alternatives you've considered
Implement part on NAU Richie site factory
Do you want to work on it through a Pull Request?
Yes.

During today's meeting we have decided to remove the proposal of "Start today", but still preserve the "Ends at ..." before the enroll button.
The decision on remove "Start today" or Start now" is that is irrelevant to the user. The primary action button already has the string "Enroll now" (when the user is authenticated).
We have discussed if we could also remove the "Ends at...", but because there isn't a system validation of the effort/duration with the enrollment end date and the course end date, then it was decided to not to try to hide it.
Ideally it could be used the effort/8hours per day to an reference when we should show the "Ends at..." message, but it also need to have in account the django-cms cache dates. It start to be too effort to implement.
It was decided than in future this information could be presented dynamically using a React component, or improve the existing Course Enrollment React component to show dynamically this single course end date.
Languages
The languages should be presented in the main content everytime there is at least 1 course run with a language.
Its value should be an union of all course run languages.
On the course run, the language shouldn't be presented if all course runs has the same configured languages.
For example, if all runs at in french then that information shouldn't be shown on the run.
Another example, if there are 2 runs one in French and another in Portuguese, then each run should present its language and the course should present French and portuguese.
Mockups
I've updated the mockups.

An additional comment about the implementation. We should add a custom class CSS style for the "Ends at ". So we could completely hide it if we want. On NAU the support team and operators are always reviewing the course/enrollment dates, so I think we could completely hide it.

How about this icons for the number of enrollments and the languages of the course?

https://fontawesome.com/icons/people-group?f=classic&s=solid
https://fontawesome.com/icons/globe?f=classic&s=solid

To keep homogeneity, we should use outlined icon.


JWT security issues

JWT dev and test shared secret contains both Private and Public keys
Peatio uses both operations: JWT.decode and JWT.encode (private key is needed for this operation)
JWT.encode is:
/app/models/member.rb: 156. Member.jwt
Method jwt should be removed permanently
-/spec/api_v2/auth/jwt_authenticator_specs.rb (low risk. Test/Dev keys only)
-/spec/api_v2/auth/middleware_spec.rb (low risk. Test/Dev keys only)
Description in config/secrets.yml of shared secrets generation should (probably) be moved to Barong
  # This secret key is used for verifying JSON Web Tokens.
  #
  # Request this key from your JWT provider or generate one by running:
  #
  #   ruby -e "require 'openssl'; require 'base64'; print Base64.urlsafe_encode64(OpenSSL::PKey::RSA.generate(2048).to_pem)"
  #
  # Then send this token to your JWT provider.
  # Peatio and JWT provider should have the same key.
  # You may want to adjust key length or cipher.
  #
  # Development and test environments already include sample secret keys.
  #
  # You can generate valid JWT by running:
  #
  #   JWT.encode(payload, APIv2::Auth::Utils.jwt_shared_secret_key, 'RS256')
  #
  # To authenticate using JWT send it's value in "Authorization" header:
  #
  #   curl -H "Authorization: Bearer TOKEN" http://localhost:3000/api/v2/members/me

Or changed like that:
require "base64"
require "openssl"

privateKey = OpenSSL::PKey::RSA.generate(2048)
publicKey = privateKey.public_key

puts "BARONG KEY =>>>", Base64.urlsafe_encode64(privateKey.to_pem)
puts "PEATIO KEY =>>>", Base64.urlsafe_encode64(publicKey.to_pem)

To avoid possible problems on production environment, I recommend checking on start
Utils.jwt_shared_secret_key.private? == false
Utils.jwt_shared_secret_key.public? == true

Administrators should be aware, that only public keys must be stored on Peatio side.

Closed via #669, #659, #660, #666.


Updating PyPI credentials

Changing PyPI account and password to new forsetisecurity account.
Copying Darrell's PR #12 because I dont have permission to re-run travis jobs

I signed it!
I have already signed the CLA. Updated Github profile to expose my email address. I suspect this will fix the CLA bot issue.

Fixes #11


Remove latestPacketSend from NewUpgrade constructor

Remove latestPacketSend from NewUpgrade constructor.

Can I do this @DimitrisJim ?

Oh sorry for being late :)) I didn't see you assigned yourself


Allow default lambdas to take a filter argument

This fixes #357. It changes the default lambda to allow taking a filter argument. If the lambda has arity 0 (that is, it takes no arguments), it will continue to work as before. If it has arity 1, it will be passed the filter that it is a default for.
# As before.
boolean :x, default: -> { false }
# New!
boolean :y, default: -> (filter) { p filter.name; true }
# That will output ":y" when the default is evaluated.

@AaronLasseigne can you review this?

I'll take a look at it today.

:shipit:


Not able to get systemd service working

Hi,
first I want to thank you for this great tool. Basically I could make my miflora sensor working.
Now I want to make the systemd service working but got problems.
I installed the service as written in the github documentation:

sudo cp /opt/miflora-mqtt-daemon/template.service /etc/systemd/system/miflora.service
sudo systemctl daemon-reload
sudo systemctl start miflora.service

But then the terminal shows:

Job for miflora.service failed because the control process exited with error code.
See "systemctl status miflora.service" and "journalctl -xe" for details.

If I run systemctl status miflora.service it tells me:

miflora.service - Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon
Loaded: loaded (/etc/systemd/system/miflora.service; disabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2018-08-14 11:15:15 CEST; 19min ago
Docs: https://github.com/ThomDietrich/miflora-mqtt-daemon
Process: 27488 ExecStart=/opt/miflora-mqtt-daemon/miflora-mqtt-daemon.py (code=exited, status=1/FAILURE)
Main PID: 27488 (code=exited, status=1/FAILURE)

Aug 14 11:15:15 openHABianPi systemd[1]: Failed to start Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon.
Aug 14 11:15:15 openHAB systemd[1]: miflora.service: Unit entered failed state.
Aug 14 11:15:15 openHAB systemd[1]: miflora.service: Failed with result 'exit-code'.
Aug 14 11:15:15 openHAB systemd[1]: miflora.service: Service hold-off time over, scheduling restart.
Aug 14 11:15:15 openHAB systemd[1]: Stopped Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon.
Aug 14 11:15:15 openHAB systemd[1]: miflora.service: Start request repeated too quickly.
Aug 14 11:15:15 openHAB systemd[1]: Failed to start Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon.
Aug 14 11:15:15 openHAB systemd[1]: miflora.service: Unit entered failed state.
Aug 14 11:15:15 openHAB systemd[1]: miflora.service: Failed with result 'exit-code'.`

What I am missing?
Thanks a lot for any help!

Is it work when you run standard without service?

Hi mredone,
thanks for your help. Yes it is working if I run it in terminal window using:

python3 /opt/miflora-mqtt-daemon/miflora-mqtt-daemon.py

It reads out my miflora sensor and shows the JSON values. Then it goes to sleep for 300 sek..
Here comes my miflora.service file:

[Unit]
Description=Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon
Documentation=https://github.com/ThomDietrich/miflora-mqtt-daemon
After=bluetooth.service mosquitto.service
[Service]
Type=notify
User=daemon
Group=daemon
WorkingDirectory=/opt/miflora-mqtt-daemon/
ExecStart=/opt/miflora-mqtt-daemon/miflora-mqtt-daemon.py
StandardOutput=null
StandardError=journal
Environment=PYTHONUNBUFFERED=true
Restart=always
[Install]
WantedBy=multi-user.target

Hi,
is there anybody out there who can help me with this?

Can you start service later?
sudo systemctl start miflora.service

Hi mredone,
I tried that but it says:

Job for miflora.service failed because the control process exited with error code.
See "systemctl status miflora.service" and "journalctl -xe" for details.

"systemctl status miflora.service" shows:

miflora.service - Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon
Loaded: loaded (/etc/systemd/system/miflora.service; disabled; vendor preset:
Active: failed (Result: exit-code) since Tue 2018-08-21 11:01:17 CEST; 1min 1
Docs: https://github.com/ThomDietrich/miflora-mqtt-daemon
Process: 13939 ExecStart=/opt/miflora-mqtt-daemon/miflora-mqtt-daemon.py (code
Main PID: 13939 (code=exited, status=1/FAILURE)

Aug 21 11:01:17 openHABianPi systemd[1]: miflora.service: Unit entered failed st
Aug 21 11:01:17 openHABianPi systemd[1]: miflora.service: Failed with result 'ex
Aug 21 11:01:17 openHABianPi systemd[1]: miflora.service: Service hold-off time
Aug 21 11:01:17 openHABianPi systemd[1]: Stopped Xiaomi Mi Flora Plant Sensor MQ
Aug 21 11:01:17 openHABianPi systemd[1]: miflora.service: Start request repeated
Aug 21 11:01:17 openHABianPi systemd[1]: Failed to start Xiaomi Mi Flora Plant S
Aug 21 11:01:17 openHABianPi systemd[1]: miflora.service: Unit entered failed st
Aug 21 11:01:17 openHABianPi systemd[1]: miflora.service: Failed with result 'ex
lines 1-15/15 (END)

and "journalctl -xe" says:

-- Unit miflora.service has failed.
--
-- The result is failed.
Aug 21 11:01:17 openHABianPi systemd[1]: miflora.service: Unit entered failed state.
Aug 21 11:01:17 openHABianPi systemd[1]: miflora.service: Failed with result 'exit-code'.
Aug 21 11:01:17 openHABianPi systemd[1]: miflora.service: Service hold-off time over, scheduling restart.
Aug 21 11:01:17 openHABianPi systemd[1]: Stopped Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon.
-- Subject: Unit miflora.service has finished shutting down
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit miflora.service has finished shutting down.
Aug 21 11:01:17 openHABianPi systemd[1]: miflora.service: Start request repeated too quickly.
Aug 21 11:01:17 openHABianPi systemd[1]: Failed to start Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon.
-- Subject: Unit miflora.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit miflora.service has failed.
--
-- The result is failed.
Aug 21 11:01:17 openHABianPi systemd[1]: miflora.service: Unit entered failed state.
Aug 21 11:01:17 openHABianPi systemd[1]: miflora.service: Failed with result 'exit-code'.

And now please?

Den ons 22 aug. 2018 kl 19:31 skrev cmburns<EMAIL_ADDRESS>
And now please?

Yes?
Have you turned on all debugging messages that you can for the daemon?
Have you turned on more debugging for systemd?
Do the services have all the permissions that it might need to function?

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ThomDietrich/miflora-mqtt-daemon/issues/52#issuecomment-415114088,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AANApMkanjHU_HfPpO9-Arw8jAxpz0E-ks5uTZWIgaJpZM4V8G53
.

Can someone help me further please?

Need help please...

Hello @cmburns,
are you still in need for help? Please post the output of systemctl -n100 status miflora.service

Jun 22 22:50:10 gardengateway systemd[1]: miflora.service: Unit entered failed state.
Jun 22 22:50:10 gardengateway systemd[1]: miflora.service: Failed with result 'exit-code'.
Jun 22 22:50:10 gardengateway systemd[1]: miflora.service: Service hold-off time over, scheduling restart.
Jun 22 22:50:10 gardengateway systemd[1]: Stopped Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon.
Jun 22 22:50:10 gardengateway systemd[1]: miflora.service: Start request repeated too quickly.
Jun 22 22:50:10 gardengateway systemd[1]: Failed to start Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon.
Jun 22 22:50:10 gardengateway systemd[1]: miflora.service: Unit entered failed state.
Jun 22 22:50:10 gardengateway systemd[1]: miflora.service: Failed with result 'exit-code'.

Same issue here....
Status: "Jun 22 22:50:10 - MQTT connection error. Please check your settings in the configuration file "config.ini".
Perhaps the service comes up before the networking?

I added these lines to the service control file...
[Unit]
Description=Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon
Documentation=https://github.com/ThomDietrich/miflora-mqtt-daemon
After=bluetooth.service mosquitto.service network-online.target
Wants=network-online.target
It seems to work now for me.

Also should probably add a
StartLimitIntervalSec=0 in case you have a power outage and the gateway comes up before the mqtt service.

Interesting. Thanks for sharing your solution. Please create a PR for those changes :)

I've the same issue as stated above, only difference is, is that I'm running this daemon on multiple devices in my home network and not on the openHAB Rpi.
The service would still start before the network was up:
22 09:25:48 spin miflora-mqtt-daemon.py[4925]: [2020-02-22 09:25:48] MQTT connection error. Please check your settings in the configuration file "config.ini"
feb 22 09:25:48 spin systemd[1]: miflora.service: Main process exited, code=exited, status=1/FAILURE
feb 22 09:25:48 spin systemd[1]: miflora.service: Failed with result 'exit-code'.
feb 22 09:25:48 spin systemd[1]: Failed to start Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon.
feb 22 09:25:48 spin audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=miflora comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
feb 22 09:25:48 spin systemd[1]: miflora.service: Scheduled restart job, restart counter is at 5.
feb 22 09:25:48 spin systemd[1]: Stopped Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon.
feb 22 09:25:48 spin systemd[1]: miflora.service: Start request repeated too quickly.
feb 22 09:25:48 spin systemd[1]: miflora.service: Failed with result 'exit-code'.
feb 22 09:25:48 spin systemd[1]: Failed to start Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon.
feb 22 09:25:49 spin kernel: igb 0000:08:00.0 enp8s0: igb: enp8s0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
feb 22 09:25:49 spin NetworkManager[667]: <info>  [1582359949.1714] device (enp8s0): carrier: link connected
feb 22 09:25:49 spin NetworkManager[667]: <info>  [1582359949.1716] device (enp8s0): state change: unavailable -> disconnected (reason 'carrier-changed', sys-iface-state: 'managed')
feb 22 09:25:49 spin NetworkManager[667]: <info>  [1582359949.1725] policy: auto-activating connection 'Wired connection 1' (4a226758-ed4e-3bd9-9124-3e69b5dfbae6)
feb 22 09:25:49 spin NetworkManager[667]: <info>  [1582359949.1729] device (enp8s0): Activation: starting connection 'Wired connection 1' (4a226758-ed4e-3bd9-9124-3e69b5dfbae6)
feb 22 09:25:49 spin NetworkManager[667]: <info>  [1582359949.1729] device (enp8s0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
feb 22 09:25:49 spin NetworkManager[667]: <info>  [1582359949.1731] manager: NetworkManager state is now CONNECTING
feb 22 09:25:49 spin kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp8s0: link becomes ready
feb 22 09:25:49 spin NetworkManager[667]: <info>  [1582359949.2210] device (enp8s0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
feb 22 09:25:49 spin NetworkManager[667]: <info>  [1582359949.2224] device (enp8s0): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
feb 22 09:25:49 spin NetworkManager[667]: <info>  [1582359949.2229] dhcp4 (enp8s0): activation: beginning transaction (timeout in 45 seconds)
feb 22 09:25:49 spin avahi-daemon[653]: Joining mDNS multicast group on interface enp8s0.IPv6 with address fe80::c360:91f3:a916:a9cf.
feb 22 09:25:49 spin avahi-daemon[653]: New relevant interface enp8s0.IPv6 for mDNS.
feb 22 09:25:49 spin avahi-daemon[653]: Registering new address record for fe80::c360:91f3:a916:a9cf on enp8s0.*.

Even though I configured it like this:
/etc/systemd/system/miflora.service

[Unit]
Description=Xiaomi Mi Flora Plant Sensor MQTT Client/Daemon
Documentation=https://github.com/ThomDietrich/miflora-mqtt-daemon
After=network-online.target bluetooth.service bluetooth.target multi-user.target
Wants=network-online.target bluetooth.target

[Service]
Type=notify
User=daemon
Group=daemon
WorkingDirectory=/opt/miflora-mqtt-daemon/
ExecStart=/opt/miflora-mqtt-daemon/miflora-mqtt-daemon.py
StandardOutput=null
StandardError=journal
Environment=PYTHONUNBUFFERED=true
Restart=always
#StartLimitIntervalSec=0

[Install]
WantedBy=multi-user.target

To workaround this problem I created a systemd timer:
/etc/systemd/system/miflora.timer

[Unit]
Description=Miflora timer

[Timer]
# Time to wait after booting before it run for first time
OnBootSec=1m
Unit=miflora.service

[Install]
WantedBy=default.target

Don't forget to enable it with:

sudo systemctl enable miflora.timer

Or just RTFM: https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
The right "wait" service must be enabled too (NetworkManager-wait-online.service if NetworkManager is used to configure the network, systemd-networkd-wait-online.service if systemd-networkd is used, etc.). systemd-networkd.service has Also=systemd-networkd-wait-online.service in its [Install] section, so when systemd-networkd.service is enabled, systemd-networkd-wait-online.service will be enabled too, which means that network-online.target will include systemd-networkd-wait-online.service when and only when systemd-networkd.service is enabled. NetworkManager-wait-online.service is set up similarly. Verify that the right service is enabled (usually only one should be):
$ systemctl is-enabled NetworkManager-wait-online.service systemd-networkd-wait-online.service
disabled
enabled

Thanks for the info. Would you like to summarize your findings in a Pull Request?


[RFC] Embedded Runtime (SPIKE)

This story refers to a research spike that might result in a usable runtime. The goal is to explore possibilities for running wasmCloud actors on a host runtime that is designed for small, embedd(ed|able) devices. Devices like this include, but are not limited to, Particles, Arduinos, ESP32xx, nRF52840, and much more. Some of these devices may not be fast enough, some may not have enough RAM to be able to load and interpret a WebAssembly module.
The trick will be finding the overlap between supported targets by the chosen compilation language (likely C), and the targets that are capable of smoothly running/interpreting a wasm module using wasm3's micro runtime or WAMR or something similar.
Requirements:

Host runtime will offer a fixed set of capabilities, likely to include as a mandatory access to a timer and GPIO
Host runtime will communicate with the rest of the lattice over MQTT link. NATS supports MQTT and so leaf nodes can be made available in physical proximity to edge devices to bridge connectivity to the cloud.
Host runtime should support remote requests to schedule/start an actor (resources permitting)
Host runtime should support requests for actor live update/hot swap (resources permitting)
Cryptographic functions like generation of an nkey and signing invocations may become a limiting/inhibiting factor

Another thought.... I feel a little uncomfortable saddling these "micro-hosts" with all the responsibilities and roles of a full blown wasmCloud host. I don't want these hosts to have to constantly await messages from a remote control interface, nor do I want them to have to manually manage the anti-forgery stuff that full-size hosts have to deal with. In the major use case for these microhosts, they're going to be running a single actor and a bunch of hard-coded capabilities chosen at compile-time by the Sketch author.
One possibility for separating these roles and responsibilities might be the introduction of a lattice "micro proxy" between the regular lattice and the sub-section containing an arbitrarily chosen set of micro-hosts.
It might look something like this:
   .-------[ L A T T I C E ]------------------------------.
   |                                                      |       .------------------.
   |    .------.    .------.     .------.                 |<----  | host group proxy | -----> { micro hosts }
   |    | host |    | host |     | host |                 |       `------------------'
   |    `------'    `------'     `------'                 |
   |                                                      |
   `------------------------------------------------------'

This would essentially allow the host group proxy to pretend to individually be each of the hosts on the other side. This introduces 1 hop worth (10ms is the avg "latency budget spend" for a proxy hop) of latency between the main lattice and the "far edge" devices, but it also allows this proxy to deal with things like network partition events so that it can hold onto/queue outbound requests, cache things it might need, etc -- all to alleviate the burden on these already constrained devices.
This host group proxy might also be able to act as a source of the raw data for the OCI images. We don't want these tiny little devices to have to spend their network budget connecting to OCI registries, not to mention the many situations where these devices won't have access to an OCI registry.
So a recap of the division of roles might be as follows:
Host Group Proxy

Create signing keys for each micro host
Sign/verify invocation anti-forgery tokens
Cache actor images retrieved from OCI (or elsewhere?)
Expose some means (OCI API?) to allow the microhosts to download actors

Micro Host

Run actor wasms (1 actor per host)
Listen for/query link definitions to update configuration as necessary
Allow Sketch authors to provide implementations of contract abstractions exposed through C++ facades in the wasmcloud-arduino library(s).

This reduces the micro host dependencies down to:

OCI client (or something proprietary if we decide against it)
Message Pack - still need to encode/decode messages between providers and actors
MQTT - need to connect to a microhost proxy via MQTT

Microhosts will not need encryption capabilities or JSON

Further thoughts...
There's a way to do this that would be substantially simpler than all of the previously discussed options. In this option, instead of building a "host group proxy" that has some proprietary functionality in it, all we truly need is a capability provider that proxies requests to the corresponding hardware "behind" it via MQTT.
Let's take a concrete example - GPS location.
Assume we have a wasmcloud:location capability contract. We could instantiate the wasmcloud-embedded-location provider and add it to a plain vanilla wasmcloud host. This provider reads environment variables to obtain an MQTT connection. It then forwards invocations over MQTT to a device that implements the location functionality and sends responses back. As the device publishes data, the embedded location provider would then simply use the dispatch to send that data to the corresponding actor.
In short, each time we want to provide an implementation for one of these contract IDs, we simply create a provider that proxies over MQTT. Everything would be backwards compatible with all existing lattice and wasmCloud functionality.
The MQTT protocol used by the devices might look like this:

On startup, the device publishes to a topic corresponding to the contract ID, e.g. wasmcloud.location.hb that contains a unique identifier for the device. This heartbeat is then published every n seconds.
The capability provider keeps track of all discovered devices via the heartbeats.
When the provider receives a handle_call, it will dump the bytes onto wasmcloud.location.req and get a reply and then send the reply back as the return value.
When a device publishes to wasmcloud.location.pub that data will be placed inside an invocation (devices do not know what an invocation is) without modification and sent to all actors with active link definitions

In this implementation, the link_name field of a link definition would refer to a specific instance of this provider. Each instance maintains its own unique swarm on the other side. In other words, you can use the link name disambiguation to have a swarm of location providers behind the name trucks and another one behind the name cars , with each reporting locations of their respective devices. These would segment traffic by having different connection strings.

To sum up, what is being proposed here is this:

wasmCloud will support all the host runtimes that we release as binaries when we cut releases, which includes arm and releases capable of running on Raspberry Pis, etc.
wasmCloud host will require a supported operating system (Linux, Windows, Mac)
We will define a number of capability contracts around IoT capabilities, including location , sensors, addressableleds, temperature, etc.
We will define a clear protocol (tentatively called "wasm link") that defines how external devices can interact with a "hub" via "capability gateways" running on said hub. This will include tutorials on how to make them as well as supported first party implementations of a set number of our contracts.
wasmCloud will encourage and support community efforts around writing code on constrained/embedded devices but we will not issue releases for non-OS devices.
Where possible, we will create unofficial community libraries like an Arduino library that can be used to communicate with "wasm link" capability gateways.

Closing as we have decided that the last post in this issue reflects our current thinking on the matter. An ADR will be created to capture this decision.

Would FPGAs fit into this spike? Could
https://github.com/fabianschuiki/llhd or https://github.com/yupferris/kaze make it possible to include them here with arduino?


option 1: big merge with all the bluemix and watson commit history (merge from bluemix+watson to here)

This merge includes all changes from watson and alchemy repos while preserving their commit history. The trick used to solve the issue with not having a common ancestor was to force one: git replace --graft 4624c5011d8b13d77572626157b61863393ea94d e0335711669ada948fde17df4079070e98cd97c7. With this, commit e033571 in the agentless-system-crawler repo looks like the ancestor of commit 4624c501 in the watson+bluemix repo. After that, just did a plain merge and fixed the conflicts. git rebase was also OK, but i couldn't find a way of keeping the commit history.
Tested with all the *.sh tests and the py.test ones.

when I build this with make I get:
Step 5 : COPY crawler/requirements.txt /requirements.txt
 ---> 37cb950c1b21
Removing intermediate container 184eb259159b
Step 6 : COPY tests/requirements.txt /requirements-test.txt
lstat tests/requirements.txt: no such file or directory
Makefile:9: recipe for target 'test' failed
make: *** [test] Error 1

do you see this too?

same as @duglin. no requirements.txt file present in the tests directory.
maybe another push of updates is needed @ricarkol ?

LGTM
just built and tested and it looks good

Just pushed, thanks for the reviews!


upgrade the gradle version

I had upgraded the gradle version to latest version from 7.5 to 8.4 and also android gradle plugin version from 7.4.1 to 7.4.2

@hieuwu i had checked it by running it in my mobile and it was running all good and also the gradle version was showing as 8.4. I don't think it's any issue from my side, please guide me what to do

@hieuwu, Thank you for merging


Please add support for create-react-app!!

I know that the owner of the Code App is very busy with bugs and stuff, but if you read this, please add this asap! I am not sure if this is inherently hard to implement, if so you can tell me and I’ll find a work around with github codespaces! I just feel like react is a very popular framework for people, and not being able to run npm create-react-app is a bummer since I wanted to learn it!

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file password: changeme In the installer menu, select "gcc."

Are you sure this works? I will try it when I get my new iPad! I just returned my iPad today, and bought the 13 inch since the 11 was too small.
Can the owner vouch if this method is a good work around?

Download https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file password: changeme In the installer menu, select "gcc."

Are you sure this works? I will try it when I get my new iPad! I just returned my iPad today, and bought the 13 inch since the 11 was too small.
Can the owner vouch if this method is a good work around?

No. This looks malicious to me.

No. This looks malicious to me.

Hi! Okay! Thanks for the heads up! Is this possible to add, or do you know of any work around?

I don’t know why it closed!

Oh it’s a button

Anyway, do you think you can add this? Or is it not that simple?

Check out https://github.com/thebaselab/react-starter. This template allows you to start a react project using Code App.

Wow! Thanks! I will check this out and let you know if it works! I’ll close this issue when I try it! Thanks again, as I tried for the past 24 hours to get react to work with no success!

Check out https://github.com/thebaselab/react-starter. This template allows you to start a react project using Code App.

it works! How would I deploy this? Since I need to run npm run start every time?

You'll need to use the webpack build command: https://webpack.js.org/api/cli/
I will add this to the template package.json to make it easier.

Wow! Thanks! This is some of the best and quickest customer service ever! I’m going to rate 5 stars haha


Add PROXY_MODE setting, remove ENABLE_IMPERSONATED_IDENTITY

Add PROXY_MODE, the proxy mode of ztunnel, node or sidecar, default to node.
Remove ENABLE_IMPERSONATED_IDENTITY, replaced by PROXY_MODE.

When set PROXY_MODE to sidecar:

Only fetch cert for the current pod (from env POD_NAME and POD_NAMESPACE).
Disable impersonated identity when fetching cert.
Disable fast path (DirectLocal).
Disable recursion check.

Refers https://github.com/istio/ztunnel/pull/448#issuecomment-1464672506
cc @howardjohn @bleggett @hzxuzhonghu

@imroc: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
c6b18f01d4eff06d3a1eb797116fa7f49ad9af0a
link
true
/test test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@bleggett Thanks, it has been fully tested in our environment, works fine and perfectly solves our problem, I think that I also have the responsibility  to write a simple design doc to explain to everyone. I will take the time to write it today.

Confirmed, for workload the name is actually ip not pod name.
// Lookup finds a given IP address.
func (a *AmbientIndex) Lookup(ip string) []*model.WorkloadInfo {
	a.mu.RLock()
	defer a.mu.RUnlock()
	// First look at pod...
	if p, f := a.byPod[ip]; f {
		return []*model.WorkloadInfo{p}
	}
	// Fallback to service. Note: these IP ranges should be non-overlapping
	return a.byService[ip]
}

@hzxuzhonghu AmbientIndex.byPod is a map of pod ip to workload: https://github.com/istio/istio/blob/485c30041d30c85f7b82c9a362d256c6d7913ff1/pilot/pkg/serviceregistry/kube/controller/ambientindex.go#L55-L56
But it not means that wl.Name is the pod ip.
The ip comes from v1.Pod.Status.IP, not wl.name:
https://github.com/istio/istio/blob/485c30041d30c85f7b82c9a362d256c6d7913ff1/pilot/pkg/serviceregistry/kube/controller/ambientindex.go#L746
And the ip in wl is actually wl.Address, not wl.Name

And the ip in wl is actually wl.Address, not wl.Name

my mistake

@imroc: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
fb342e9b5a9f869f773ebe9f50793d23787682f1
link
true
/test test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

I skimmed it, looks good overall, will review closely and probably approve
tomorrow. Would be good to start adding tests for this as well
On Mon, Mar 13, 2023, 7:48 PM roc @.***> wrote:

@.**** commented on this pull request.
In src/workload.rs
https://github.com/istio/ztunnel/pull/452#discussion_r1134849709:

@@ -639,10 +620,14 @@ impl WorkloadStore {
}
}
}

   if Some(&w.node) == self.local_node.as_ref()

       || (Some(&w.name) == self.local_pod.as_ref()

           && Some(&w.namespace) == self.local_namespace.as_ref())

   {

   let should_fetch: bool = match self.proxy_mode {

       ProxyMode::Sidecar => {

can we change this to never do it for sidecars mode in the short term then?
@howardjohn https://github.com/howardjohn OK, I changed to not
pre-fetch cert in sidecar mode, and tested in the real environment, for the
first request, there is not much performance impact.
—
Reply to this email directly, view it on GitHub
https://github.com/istio/ztunnel/pull/452#discussion_r1134849709, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXPPXGM73MZFKRDK7ELW37L7XANCNFSM6AAAAAAVXFGNAA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@imroc: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
ea77b00d5e3fa6ac856df9a04a4d69ab35c794ba
link
true
/test test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@imroc: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
9f82bb3d3af86b5a8659b8de37111ee63a1f1f13
link
true
/test test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Now the PR is ready, the main changes were merged into this commit:
Add PROXY_MODE setting, remove ENABLE_IMPERSONATED_IDENTITY

1. Add PROXY_MODE, the proxy mode of ztunnel, "node" or "sidecar", default to "node".
2. Remove ENABLE_IMPERSONATED_IDENTITY, replaced by PROXY_MODE.

When set PROXY_MODE to "sidecar":
1. Disable pre-fetching cert.
2. Disable impersonated identity when fetching cert.
3. Disable fast path (DirectLocal).
4. Disable recursion check.

And CI failed with some clippy blames, which is not related to this PR, a new commit is added to fix clippy errors:
Fix clippy blames.

1. Remove the unnecessary `let` binding, return the
   expression directly.
2. Remove the unnecessary conversion to the same
   type: `std::str::Lines<'_>`, delete `.into_iter()`.

Would be good to start adding tests for this as well.

OK, I'll take the time to add the tests.


"Run inside interpreter" no longer places variables into IPython interactive namespace

From<EMAIL_ADDRESS>on 2010-07-08T14:47:42Z
What steps will reproduce the problem?

Write a simple script that defines a few variables.
Run script inside IPython interpreter (use F6).
Type "whos" at IPython prompt. What is the expected output? What do you see instead? In Spyder 1.1.2, when a script is run in an interactive IPython interpreter, the variables defined in the script are dumped into the interactive namespace after the script completes (the IPython "run" command was being used). In Spyder 2, this doesn't happen. It appears to be using "execfile" instead. Maybe there was a design decision behind this change, but I liked the 1.1.2 behavior better. What version of the product are you using? On what operating system? Spyder 2 ( revision ab7ea54940b3 ), Python 2.6, Win XP.

Please provide any additional information below
.
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=249

From pierre.raybaut on 2010-07-12T01:27:24Z
You are absolutely right, I have to fix this... this is clearly not the expected behaviour!
Status: Accepted

From pierre.raybaut on 2010-07-13T00:57:49Z
Fixed in my local repository -- I'll push on Google Code's repository as soon as I can (no internet connection at home these days).
Status: Fixed


Added Description for payinvoice command [skip ci]

Change Description
Link to associated issue:
https://github.com/lightningnetwork/lnd/issues/7077
Steps to Test
lncli help payinvoice
Pull Request Checklist
Testing
No testing was accomplished. (already made the commit before reading that I should add [skip ci] in the commit message)
Code Style and Documentation

[ ✓ ] The change obeys the Code Documentation and Commenting guidelines, and lines wrap at 80.
[ ✓ ] Commits follow the Ideal Git Commit Structure.
[ ✓ ] Any new logging statements use an appropriate subsystem and logging level
[ ✓ ]  [There is a change description in the release notes]

Replaced by/included in https://github.com/lightningnetwork/lnd/pull/7689, original commit author credits are preserved.


ORC-1067: Upgrade ZSTD to 1.5.1

What changes were proposed in this pull request?
Upgrade zstd in the C++ library to version 1.5.1.
Why are the changes needed?
This version is primarily a maintenance release that contains a variety of small bug fixes and improvements to the testing process. It also includes small performance improvements (~3-5%) at the fast compression levels. The release notes are here:
https://github.com/facebook/zstd/releases/tag/v1.5.1
How was this patch tested?
Builds and passes CIs.

cc @wgtmac and @williamhyun


2019 Nissan Altima fingerprint

Added 2019 Altima fingerprint and updated readme. Not sure how to denote that this is the turbocharged model, so there may be some differences in fingerprint between that and NA.
Tested with f4ff336f2ad085ce|2021-05-20--20-30-47

Can you plug your device in and make sure the "Upload Raw Logs" toggle is enabled? There are a lot of new values, and I'd like to make sure they're all necessary.

Can you plug your device in and make sure the "Upload Raw Logs" toggle is enabled? There are a lot of new values, and I'd like to make sure they're all necessary.

It should have everything uploading, whenever I drive it's connected online and I have the logging setting on.


Avoid relay with same name overwrite, add get & delete rest api for relay

Deleting relay using api will stop the session but the stats of the relay will remain available. Not really sure how to remove it completely.

For the naming "delStream", I use the same naming with the existing "getStreams", "pullStream" etc. But I think it's proper to name it "delRelay". Just my opinion.


Add annotations support for property setter & getter functions

Update error messages of setter/getter functions.

When setter is defined and an unexpected identifier appears:
Error at (10, 5): Expected "get" for property declaration.
When getter is defined and an unexpected identifier appears:
Error at (10, 5): Expected "set" for property declaration.

Add annotation support for setter/getter functions.

var value:int:
	@warning_ignore(unused_variable,unused_local_constant)
	get:
		const x=1
		var y
		return value

	@warning_ignore(unused_local_constant)
	@warning_ignore(unused_variable)
	set(a):
		var y
		const x=1
		value=a

Is there any proposal related to this? If not I think this would need one to discuss and evaluate the feature

This needs to be rewritten to fit the current codebase, ignored_warning_codes is not a variable any longer

@AThousandShips
Partialy related to https://github.com/godotengine/godot-proposals/issues/4940#issue-1313300444.
I think property setter and getter functions should support annotations before implementing this feature.


build.js file is missing, and a few other issues

Thanks for making this!

I downloaded the zip file repo and ran the examples. The "build.js" file is missing from the repo. I had to view the source of your live example to download the build.js file. Then it worked.
Your gallery page is a 404: https://scenevr.github.io/htmltexture-component/basic/gallery.html
A tutorial of how to add this component to an existing Aframe project would be extremely helpful!

Thanks again!

The build.js is in the .gitignore intentionally, it seems to be the way the aframe team designed these components.
Fixed gallery page in 919a37f.
The way to try out this component is to clone the repo, run npm install then npm run dev and then you can use the component locally! I'll add some more notes of how to use this in production too, before I close this issue.

Thanks! The other issue I noticed is:
I tried it on my phone with Cardboard. When I tap on VR mode button, it just goes fullscreen without rendering 2 lenses, so it won't feel like VR. See how the aframe VR mode looks: https://www.dropbox.com/s/i6c3wuwgpd6mtm3/vr.png?dl=0

Hello, I could not fine source code of build.js from live demo... and even .gitignore I could not find any build.js file except text file
Thank before hand