Implement InitialRoot option for Document attachment

What this PR does / why we need it:
This PR introduces an "InitialRoot" option when users attach a Document. The goal is to allow initialization under specific conditions. We've identified two potential approaches for when to apply the InitialRoot:
Option 1: Apply InitialRoot only when the Document is first created
Option 2: Apply InitialRoot when the Document is empty
Here's how each option works:

Apply InitialRoot only when Document is first created:

This is determined by checking if the Checkpoint's Serverseq is 1.
When a user first attaches a Document, the first Change sets ServerSeq to 0, and the returning checkpoint's serverseq is set to 1.
This option guarantees that InitialRoot is only applied to newly created Documents.
Drawback: It won't apply InitialRoot to existing but empty Documents.

Apply InitialRoot when Document is empty:

This is determined by checking if the Document has no elements and no garbage elements.
It allows applying InitialRoot to any empty Document, regardless of when it was created.
This could be useful for initializing Documents that were created but never populated.
Concern: In concurrent scenarios, this might lead to unintended behavior if multiple users try to initialize an empty Document simultaneously.

Currently, the PR implements Option 2. However, after consideration, Option 1 might be more predictable and safer in concurrent scenarios, despite not being able to initialize existing empty Documents.
Implementation details:

The client's Attach function now checks the Document's state after attachment.
If the conditions for applying InitialRoot are not met (based on whichever option we choose), the InitialRoot will not be applied.
InitialRoot is applied to the Local Document but not immediately pushed, which could lead to inconsistencies in concurrent scenarios.

Which issue(s) this PR fixes:
Fixes #669
Special notes for your reviewer:

Please consider whether Option 1 (apply on first creation) or Option 2 (apply when empty) is more appropriate for our use case.
Consider the trade-offs:

Option 1: More predictable, safer in concurrent scenarios, but can't initialize existing empty Documents.
Option 2: More flexible, can initialize any empty Document, but potentially risky in concurrent scenarios.

If we decide to go with Option 1, I will update the implementation accordingly.

Your feedback on which option to proceed with would be greatly appreciated.
Does this PR introduce a user-facing change?:

Additional documentation:

Checklist:

[x] Added relevant tests or not required
[x] Didn't break anything

Summary by CodeRabbit

New Features

Introduced new error handling for document attachment scenarios, preventing overwrites when a document already exists.
Added an InitialRoot option to enhance document attachment configuration.
New method HasElement allows checking for elements within a document.
Added SetDynamicValue method for flexible dynamic value assignment in document objects.

Bug Fixes

Improved error messages and handling for document attachment processes.

Tests

Implemented comprehensive tests for document attachment with initial roots, covering various scenarios including success and failure cases.

@chacha912
Thank you for your feedback and the summary of our discussions. As you mentioned, the current PR description doesn't accurately reflect the implementation. I've rewritten the entire PR description to align with the current implementation and include information on how to use the initialRoot option.
However, I'm concerned about whether it's the right process to completely overwrite the previous PR description. Could I replace the entire PR description with the updated version below?
Updated PR Description
What this PR does / why we need it:
This PR introduces an initialRoot option when users attach a Document. The goal is to set initial values for editing documents with a predefined structure. Rather than checking if the document is in its initial state or empty, this feature checks if the document has been set up with initial values for editing, and if not, it applies them.
Implementation details:

The attach function in the client now accepts an initialRoot option.
initialRoot can be partially applied. For each element in initialRoot:

If the key already exists in the Document, that element will be discarded.
If the key doesn't exist, the element will be applied.

In this implementation, initialRoot is not sent to the server during Attach. It is applied locally to the Document after pushpull during Attach.

How to use the initialRoot option:
When attaching a document, you can use the initialRoot option. Here's a comparison of the old and new approaches:
Before (without initialRoot):
doc := document.New("doc_key")
client1.Attach(ctx, doc)
doc.Update(func(root *json.Object, p *presence.Presence) error {
    if root.GetCounter("k")!=nil{
       root.GetCounter("k").Increase(1)
    }else{
       root.SetNewCounter("k", crdt.LongCnt, 0).Increase(1)
    }
    return nil
})

After (with initialRoot):
doc := document.New("doc_key")
client1.Attach(ctx, doc, client.WithInitialRoot(map[string]any{
    "k": json.NewCounter(0, crdt.LongCnt),
}))
doc.Update(func(root *json.Object, p *presence.Presence) error {
    root.GetCounter("k").Increase(1)
    return nil
})

In this case:

If a counter for "k" already exists, setting it to 0 is discarded.
If a counter for "k" doesn't exist, it's initialized with 0.
Users don't need to worry about overwriting existing valid counters.

Note:

This function doesn't perform type checking to ensure "k" is a counter. Yorkie recommends using the same type for the same key to maintain consistency.
Currently, when documents are created simultaneously, one user's document may overwrite another's due to LWW (Last Write Wins). To see an example of this case, please refer concurrent attach with InitialRoot test case

Which issue(s) this PR fixes: Fixes #669
Special notes for your reviewer:

This implementation uses a key-based criterion to determine whether to apply the initialRoot.
It works for both new and existing documents, preventing accidental overwriting of content.

Does this PR introduce a user-facing change?:
Users can use an initialRoot option when attaching documents.

Additional documentation:
Future plans (as discussed):

Consider creating the Document instance in the attach method in future work.
Implement offline editing features.

Checklist:

[x] Added relevant tests
[x] Didn't break existing functionality

@chacha912
I apologize for accidentally deleting your comment. This was unintentional and my mistake. Here's what happened:

I mistakenly clicked on the checklist in your comment.
I thought I could only delete my own interaction with the comment.
Intending to remove only my misclicked checklist, I deleted the entire comment.

To rectify this, I've restored your deleted comment below for reference:

Thanks for your contribution! This looks good to me.
Could you please add information in the PR description about how to use the initialRoot option?

I've summarized the discussions we had in the Discord thread and left them here for reference.
Future plans
Plan 1 (add initialRoot to attach option) → future work (create document in attach) → implement offline editing feature

Reference: https://codepair.yorkie.dev/hackerwins/66b17903ff67609ce4be81b7/share?token=1xs8do
[x]  Add initialRoot to attach option

[ ]  Reflect this change in the Yorkie-JS-SDK as well and update the examples for testing.

[ ]  Delegate Document instance creation to attach, similar to Liveblocks
[ ]  Consider and implement how to create and edit documents in offline mode.

Setting initial values

Currently, when documents are created simultaneously, one user's document may overwrite another's due to LWW (Last Write Wins). If this causes issues (when the initial value needs to be set accurately at the time of document creation), we can improve by generating the initial value on the server.
Reference: https://codepair.yorkie.dev/yorkie-2024-summer/66d94468e535e3f72191c4ef/share?token=ykgneg


[DOC] release checklist

Description
Please feel free to suggest more items/details
Checklist
Essentials

[x] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)

Job PR-890/3 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-890/3/index.html


Maintenance announcement bar - Jan '24

Purpose of this pull request
This pull request adds maint window announcement bar
Select the type of change:

[ ] Minor Changes - Typos, formatting, slight revisions, .clabot
[ ] Update Content - Revisions, updating sections
[ ] New Content - New features, sections, pages, tutorials
[x] Site and Tools - Updates, maintenance, dependencies, new packages for the site (Docusaurus, Gatsby, React, etc.)

The color on the banner looks good, @kimsauce.

Looks good, @kimsauce.
My only thought is that the announcement doesn't stand out. What do you think about making the background color yellow like you did for the re:Invent banner (PR #3326)?

thank you! great catch.


If project root contains firebase.json, copy it to dist/ upon building

The presence of a firebase.json file indicates that the app is hosted on firebase. It would be very convenient to simply copy that file, if it exists, to the dist/ directory in order to deploy from there.

Maybe we should also be generating the firebase.json if a firebase project is selected.  Kind of how Ionic does ionic install ios we can use ng install firebase or ng deploy firebase

Following the example of https://github.com/IgorMinar/angular-cli-github-pages, I suppose we'll have a ng firebase:deploy via addon.

@jelbourn do you need the firebase.json file to be at the root of the project?

Not need, but that seems like the most natural place to put it

This is solved by putting firebase.json in the public/ dir, the contents of which are directly copied to dist/ root.


chore(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/key-protect-all-inclusive/ibm (source)
module
patch
4.13.4 -> 4.13.6

terraform-ibm-modules/vpe-gateway/ibm (source)
module
minor
4.1.3 -> 4.2.0

Release Notes

terraform-ibm-modules/terraform-ibm-kms-all-inclusive (terraform-ibm-modules/key-protect-all-inclusive/ibm)
v4.13.6
Compare Source
Bug Fixes

deps: update terraform-module (#507) (428d736)

v4.13.5
Compare Source
Bug Fixes

update the DA solutions variable descriptions (#501) (c7adca0)

terraform-ibm-modules/terraform-ibm-vpe-gateway (terraform-ibm-modules/vpe-gateway/ibm)
v4.2.0
Compare Source
Features

Added eu-es region in registry mapping endpoints
zone is now required input in the subnet_zone_list input variable. (#539)

v4.1.4
Compare Source
Bug Fixes

remove upper limit for required terraform version (#533) (e8264a7)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

One of the module updates is requiring ibm provider 1.65 and above, will update and try again.

This PR should resolve this issue (based on this branch): https://github.com/terraform-ibm-modules/terraform-ibm-icd-mysql/pull/97

/run pipeline

/run pipeline

/run pipeline

:tada: This issue has been resolved in version 1.3.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Need a way to define custom tasks for compiler extension

Description:
I've got this idea when I was planning the new azure functions design.
In the gradle implementation of azure functions[1], they can execute gradle jar to generate the artifacts. (which we also do from bal build).
Then Azure functions gradle plugin have few gradle tasks defined that can be executed using gradle azureFunctionsRun which runs the function locally. (Internally they use some other tools, generate few folder structures and executes some installed processors).
They also have gradle azureFunctionsDeploy which executes some azure cli underneath.
Currently AFAIK we don't have a way to facilitate a requirement like this.
I've noticed we have openapi CLI commands,  gRPC CLI commands already which also already had the same requirement. These extensions are packed with the ballerina distribution so CLI extensions did the trick. but since azure functions is not packed with the distribution, we need an extensible model for this.
I remember when I was playing around with .net Entity framework core[2], to manage migrations they had nuget package manager console where we can execute commands like add-migration, update-database and so on
I think gradle, npm, nuget and all the package managers have this option. I think we also need a solution for this problem.
@azinneera @hevayo @sameerajayasoma  thoughts?
[1] - Azure functions Gradle guide - https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-java-gradle
[2]Entity framework migrations console usage - https://www.entityframeworktutorial.net/code-first/code-based-migration-in-code-first.aspx#:~:text=Add-Migration%3A Creates a new,changes to the database schema.
Describe your problem(s)
Describe your solution(s)
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

Resolved with https://github.com/ballerina-platform/ballerina-lang/issues/40264


CIV-10597 Written Rep Sequential

Before creating a pull request make sure that:

[x] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[x] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/CIV-10597
Change description
Applications Orders - Written Rep Sequential screen and docmosis
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x] No

@pliao-hmcts could you please attached the screenshot of change done in word file?

@pliao-hmcts could you please attached the screenshot of change done in word file?

sure, template screen shot has been added in ticket


[SPARK-27493][BUILD][FOLLOWUP] Upgrade ASM to 7.1 in Maven plugins

What changes were proposed in this pull request?
One more place to update ASM 7.0 -> 7.1
How was this patch tested?
Existing tests

Test build #105066 has started for PR 24508 at commit 53f5e5d.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10358/
Test PASSed.

Test build #105066 has finished for PR 24508 at commit 53f5e5d.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/105066/
Test FAILed.

Test build #4773 has started for PR 24508 at commit 53f5e5d.

Test build #4773 has finished for PR 24508 at commit 53f5e5d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.


fix: error attempting to log txhash in binary

Relates to #1477
Overview
Fix the error when attempting to log the transaction hash while it's still in binary format.
In the log, this error looks like {:error, %Jason.EncodeError{message: "invalid byte 0xDC in <<67, 111, 117, ...
Changes

Convert txhash to its hex string before logging

Testing
Each block submission should render the proper error message Could not get gas used for txhash ... after ... retries. instead of the encoding error.

bruh, back to draft

Coverage increased (+0.004%) to 78.216% when pulling 61eb52474de91996b84b624a64987b36f1c89cbc on unnawut/log-encoding-error into a486853e8e5b10b894c5e59109de7871c6b188d4 on master.


Support for AGP 8.0.0 and above

I recently encountered a problem where if I use any Gradle Distribution above 8.0.0, the build continuously fails with the message:
FAILURE: Build failed with an exception.

What went wrong:
A problem occurred configuring project ':bdk_flutter'.
Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl.
Namespace not specified. Specify a namespace in the module's build file. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.
If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to https://d.android.com/r/tools/upgrade-assistant/agp-upgrade-assistant for general information about using the AGP Upgrade Assistant.

Try:
Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 23s
Error: Gradle task assembleDebug failed with exit code 1
Exited (1).
I believe the fix itself is simple enough, and a namespace needs to be added to the build.gradle file

I've already forked the project and solved the issue on my fork, lmk which branch to target and I'll open a PR

Hi @M4dhav Thanks for your interest and also the possible solution.
Please open PR for main branch.

Okay, submitted

could this be related to
* What went wrong:
Execution failed for task ':bdk_flutter:parseReleaseLocalResources'.
> A build operation failed.
      java.nio.file.NoSuchFileException: /Users/joaolobo/.gradle/caches/transforms-3/7acf09211b2ddac30391e0bc8a091ce2/results.bin
   > java.nio.file.NoSuchFileException: /Users/joaolobo/.gradle/caches/transforms-3/7acf09211b2ddac30391e0bc8a091ce2/results.bin

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

this error?


does not find any .vue file

Describe the bug
vuese/cli with standard config does only generate a index.html, no docs, no error in the terminal.
To Reproduce
Steps to reproduce the behavior:

have a vue project
install vuese
try vuese gen

Expected behavior
A documentation file for each .vue file.
Environmental information:
Fedora 33
vuese/2.14.3
node-v15.12.0
vue: ^2.6.11
vuetify: ^2.3.4

please give us a minimal reproduce demo or repository, I can't reproduce


Plan to support curl-impersonate v0.6.0?

Hello,
Thank you for this great project @yifeikong. I´m just wondering, and to maybe let you know if you don´t yet, if you do plan to support curl-impersonate v0.6?
It support chrome 116 now

It seems that the official version has not been released, let's wait for that.

See updates on #53


Default Packages for Python

We should install some bare minimum packages such that model that depens on scimitar-learn can be deployed out of the box.
This way we make things like scikit-learn easier to deploy while still keeping our containers lightweight.


Bug/fix potential use after free

This is basically #2663 but targeting the master branch

The returned string pointer is valid until either the prepared statement
is destroyed by sqlite3_finalize() or until the statement is automatically
reprepared by the first call to sqlite3_step() for a particular
run or until the next call to sqlite3_column_name()
or sqlite3_column_name16() on the same column.

As concequence this means we cannot just call sqlite3_column_name in
Field::field_name(). To fix this issue I decided to get all column
names pointers once after calling step() the first time and cache them
as part of the specific Statement instance. This introduces a lot of
lifetimes to be very explicit about what is valid for which time.

As expected this has an impact of performance

Insert statements seem to take ~1.15 times as long as before
Query statements with only one result seem to take up to 1.3 times as long as before (this is kind of expected as we do a bit more work on the first call to step()
QueryableByName get's a significant speedup for larger result sets, something like master is taking up to 1.7 times as long as the code in this PR.

The second and third change is kind of expected, while the first one is rather surprising.


Update download all annotations dialog API code snippet

Describe the bug
The code snippet in the download all annotations dialog needs to be updated to reflect the new API client.
To Reproduce
Steps to reproduce the behavior:

Go to https://cryoetdataportal.czscience.com/runs/428?download-step=download&download-config=all-annotations
Replace the code snippet with the following:

Screenshots

from cryoet_data_portal import (
  Client, Run,
)

client = Client()
run = Run.get_by_id(client, <run_id>)

for annotation in run.annotations:
  annotation.download()

To be noted, the current code snippet uses the tomogram_voxel_spacing_id we should instead use the run_id here.


The SQL Editor is not running queries that have been terminated by semicolon

Hello
I downloaded version 4.3.3 today and I just realized that "SQL Editor" is not running queries finalized by the ";" symbol.
In the example below, the second query is not executed. However, after removing the ";" the query flows normally.

@serge-rider In later versions (> 4.3.3), I did not get this problem. thx


Matrix math

Hello Christoph,
From your source code it seems to me that there is no support for matrix algebra and calculus in the library, is this correct?
Introducing matrix algebra is a pain, I have found, because all of a sudden some product expressions are commutative and others aren't.
Regards,
Eric.

Indeed, there is no support for matrix expressions. There was in old Math.NET Classic, but not in Symbolics yet.

I would skip matrices completely and go for tensors (#14) instead.
This would make sense since scalars, vectors, and matrices are just a special kind of tensors.

the lack for matrices and tensors is annoying. it is currently not possible to solve system of equations symbolically:
let burger = symbol "burger"
let pommes = symbol "pommes"
let coke = symbol "coke"
let bill = symbol "bill"

let equations = [
        (2*coke) == 30.0
        (1*coke + 2*burger) == 20.0 // equals does not exist
        (1*burger + 4*pommes) == 9.0
        (burger + pommes * coke) == bill
    ]

linSolve equations bill // not working

the only way i could figure out was the numerical solution:
let M = matrix [[3.0; 0.0; 0.0]
                [1.0; 2.0; 0.0]
                [0.0; 1.0; 4.0]]

let R = vector [30.0; 20.0; 9.0]

let result = M.Solve(R)

let coke = result.[0]
let burger = result.[1]
let pommes = result.[2]

burger + pommes * coke // 15

maybe we could port Redberry (Sourcecode), since it has great support for tensors.

Quick way / ugly way to achieve vector/matrix support


Select dropdown viewport will slide across the screen when scrolled upon

Current Behavior
The select dropdown viewport will move across the screen when scrolled upon.
https://github.com/tamagui/tamagui/assets/8202335/0bb042c9-9c8d-4ac1-9803-55d30eb901e4
Expected Behavior
The dropdown viewport should stay static, and only the content inside should be scrolled.
Tamagui Version
Latest, 1.79.12

Platform (Web, iOS, Android)
Web

Reproduction
https://tamagui.dev/docs/components/select/1.40.0

System Info
No response

As an aside, is it possible to keep the dropdown as a dropdown? Maybe add a max height to the dropdown popover.
With the behavior today, once we choose any option besides the top option, we start to see the dropdown begin to drop up

Agree with @hackily.
Also for me on the tamagui docs site, the select viewport is still showing the same behaviour?


Database adapter documentation

Documented not only how to use, but also how to write database adapters.
What do you think @relekang? The subscribe stuff is the most undetailled one because we don't yet have that functionality in core, so I don't know what we rely upon.

Current coverage is 87.50% (diff: 100%)

Merging #21 into master will not change coverage

@@             master        #21   diff @@
==========================================
  Files             5          5
  Lines           104        104
  Methods          23         23
  Messages          0          0
  Branches         18         18
==========================================
  Hits             91         91
  Misses           13         13
  Partials          0          0

Powered by Codecov. Last update 3f5ae2a...e44bee1

LGTM. Let me know if you're waiting for something on this. I am going to wait until this is merged before looking into trying a different description of the project work 👍

Nothing, just wanted to see if people like it! Need to ship a new version soon...


How to connect?

I was wondering how i could connect to a Wifi with a username and password.

A Wifi like this...

Enter username and password:
https://github.com/martin-ger/esp_wifi_repeater#first-boot

I think that this is more accurate...
https://github.com/martin-ger/esp_wifi_repeater#note-on-wpa2-enterprise-peap


Appears to not produce optimal worst case output in all cases

I was playing with a different word list today and discovered that this does not always find the optimal solution. Using the word lists guesslist.txt and hiddenlist.txt, in the chain tares.BBBBB.colin.BBBBB.pygmy.YBBYG, there are three remaining options: bumpy, dumpy, or jumpy. This is the decision tree produced by wordle -a guesslist -h hiddenlist -w tares.BBBBB.colin.BBBBB.pygmy.YBBYG -p tree:
jumpy BGGGG4 bumpy BGGGG5 dumpy GGGGG6
                   GGGGG5
      GGGGG4

So the program claims that the optimal solution takes 2 more guesses on average and 3 more in the worst case. However, this is not correct. The guess list includes jibed. While this cannot be the solution itself, it guarantees a solution in the next guess, i.e. the worst case is only 2 more guesses. Indeed, providing this guess with -w tares.BBBBB.colin.BBBBB.pygmy.YBBYG.jibed produces the correct decision tree:
jibed BBBBY4 dumpy GGGGG5
      BBYBB4 bumpy GGGGG5
      GBBBB4 jumpy GGGGG5

While you could argue that both trees are equally good due to the same number of average guesses (which I wouldn't agree with), this also causes the program to claim that it is impossible to solve the game in five guesses (-g5), which is obviously incorrect.

The definition of optimal it uses is that it minimises the average number of guesses required, assuming the hidden word is chosen randomly from the hidden list. Alternatively/equivalently, it adds up the number of guesses required for each of the possible hidden words, and finds the strategy that minimises that.
So in your example, by design it regards a guess of jumpy (possible remaining number of guesses 1+2+3) the same as jibed (2+2+2).
If you use -g5 then it will force it to use <=5 guesses if that is possible and that is the behaviour I find. I couldn't reproduce your "impossible" answer. Are you sure there is no mistype?
wordle -a guesslist -h hiddenlist -w tares.BBBBB.colin.BBBBB.pygmy.YBBYG -p tree -g5

abide BBBBB4 jumpy GGGGG5
      BBBYB4 dumpy GGGGG5
      BYBBB4 bumpy GGGGG5


Fixing type annotation error in timepicker.py. Getting rid of the word "tuple" in tuple[int, int, str] it becomes (int, int, str) and works.

Hey I got this error when running and decided to look through the code.
    Traceback (most recent call last):
      File "guysthing.py", line 2, in <module>
        from tktimepicker import timepicker
      File "/home/fit/.local/lib/python3.8/site-packages/tktimepicker/timepicker.py", line 9, in <module>
        class AnalogPicker(tkinter.Frame):  # Creates the fully functional clock timepicker

      File "/home/fit/.local/lib/python3.8/site-packages/tktimepicker/timepicker.py", line 117, in AnalogPicker
        def time(self) -> tuple[int, int, str]:
    TypeError: 'type' object is not subscriptable

Don't know if this is the proper way to do type annotations but it runs now.

Hello, thank you, The current type annotation works only for >=3.9. I'll be replacing it with ```from typing import Tuple Tuple[int, int, str]` as suggested here

Hello, I have updated Type Annotation and released it as version 0.1.2 here

Hello, I have updated Type Annotation and released it as version 0.1.2 here

Great, it works right out of the box!

Cool program.


Missing PresenceListener on Symphony Java Client

Several tests are failing against the symphony-java-client version 1.0.2-SNAPSHOT:
[ERROR] /Users/m/w/projects/symphony-java-sample-bots/src/main/java/org/symphonyoss/examples/presenceservice/SymUserCache.java:[34,39] cannot find symbol
[ERROR]   symbol:   class PresenceListener
[ERROR]   location: package org.symphonyoss.client.services

The following examples have been commented out to avoid the build to fail, therefore they need to be reimplemented according to the changes applied to the Symphony Java Client:

src/main/java/org/symphonyoss/examples/hashtagbot/HashtagBot.java
src/main/java/org/symphonyoss/examples/presenceservice/PresenceServiceExample.java
src/main/java/org/symphonyoss/examples/presenceservice/SymUserCache.java
src/main/java/org/symphonyoss/examples/setpresence/SetPresenceExample.java

@ftbb - what is the listener to use instead of PresenceListener?

I must modify the example, because we have retired the PresenceService in 1.0.2-SNAPSHOT.
ftbb
From: Maurizio Pillitu<EMAIL_ADDRESS>Reply-To: symphonyoss/symphony-java-sample-bots<EMAIL_ADDRESS>Date: Tuesday, June 27, 2017 at 11:30 AM
To: symphonyoss/symphony-java-sample-bots<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [symphonyoss/symphony-java-sample-bots] Missing PresenceListener on Symphony Java Client (#15)
Several tests are failing against the symphony-java-client version 1.0.2-SNAPSHOT:
[ERROR] /Users/m/w/projects/symphony-java-sample-bots/src/main/java/org/symphonyoss/examples/presenceservice/SymUserCache.java:[34,39] cannot find symbol
[ERROR]   symbol:   class PresenceListener
[ERROR]   location: package org.symphonyoss.client.services
The following examples have been commented out to avoid the build to fail, therefore they need to be reimplemented according to the changes applied to the Symphony Java Client:

src/main/java/org/symphonyoss/examples/hashtagbot/HashtagBot.java
src/main/java/org/symphonyoss/examples/presenceservice/PresenceServiceExample.java
src/main/java/org/symphonyoss/examples/presenceservice/SymUserCache.java
src/main/java/org/symphonyoss/examples/setpresence/SetPresenceExample.java

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/symphonyoss/symphony-java-sample-bots/issues/15, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMPDm2yqWkftKjViVEvVt0W2rxHLUm8hks5sINnagaJpZM4OGcDo.

This e-mail, including accompanying communications and attachments, is strictly confidential and only for the intended recipient. Any retention, use or disclosure not expressly authorised by Markit is prohibited. This email is subject to all waivers and other terms at the following link: http://www.markit.com/en/about/legal/email-disclaimer.page
Please visit http://www.markit.com/en/about/contact/contact-us.page for contact information on our offices worldwide.


flxanimate crashes the game

happens on booting up week 7 story mode
is this supposed to happen?
the issue happens in FlxSymbol
and it's something along the lines of "can't read property of undefined swagFrame.E"

Yea, its line 39 from FlxAnimate.hx
It wont load the TextFile for some reason.

Just comment out that code for tankman in cutscene

Yea, its line 39 from FlxAnimate.hx It wont load the TextFile for some reason.

For me it was something from FlxSymbol not being able to read the E property, are you sure it's FlxAnimate?
But I'd like to figure it out

i fixed it lmao
you just have to add an if statement that checks if swagframe is null before iterating over it's elements


synchronize scroll vertically and horizontally

How can I implement synchronize scroll vertically and horizontally?
Like this https://github.com/Cleveroad/AdaptiveTableLayout/blob/master/images/demo.gif

Hi @JaydipMeghapara
It's not possible on the current version. TableView uses LinearLayoutManager as a base layout manager for its nested RecyclerViews.   And LinearLayoutManager allows scrolling only horizontally or vertically. To get your demand feature, you need to override the existing layout manager of the TableView.


Link for "Azure Cosmos DB .NET SDK samples" leads to 404

[Enter feedback here]

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

ID: 11b09a3d-8b60-5590-3949-c5d7e7764c9b
Version Independent ID: bfe684ec-f914-751a-8644-c51616eeb24c
Content: Azure Cosmos DB libraries for .NET - Azure for .NET Developers
Content Source: api/overview/azure/cosmosdb.md
Service: cosmos-db
GitHub Login: @CamSoper
Microsoft Alias: casoper

@SnehaGunda Do you know where does this document live?

PR with the fix: https://github.com/Azure/azure-docs-sdk-dotnet/pull/1874


Removed unused dependencies

Signed-off-by: ruromero<EMAIL_ADDRESS>Fix native build for integration-tests-quarkus-rules project

The build is failing for an unrelated issue.
Kogito Apps:: UI Packages

jenkins please retest this

jenkins retest this


implement decimal feature flag to optionally use rust_decimal

This implements the decimal feature flag allowing for the use of the Decimal type provided by the rust_decimal crate instead of the f64 type for prices to avoid some of the intricacies of using floating-point arithmetic.

I was away for a view weeks. Are you no longer interested in this PR?

Hey, I am still interested in this PR, and a few follow ups, upstream. I temporarily closed this because I was thinking about cleaning it up a bit more (mostly move Decimal to its own file and implement a trait DecimalExt for f64 to have Decimal::ZERO instead of just ZERO).

It would also be good to have this covered by tests.
How well does this Decimal crates work with edge cases like Bitcoin, where fractions as small as 100 millonth Bitcoin can be traded?


Add sizes

sm, md, lg or 1,2,3.  This might be best done with css transformations.

Hi,
this bothered me too so i found a way to resize the icons using map events.
I added three event listeners one for zoomend another for addlayer and a third for dragend, each of them resize the icons to the size i wanted (which was smaller).
The scale part of the code determines the size of the icon while you need to adjust to location using translateX and translateY.
Hopefully someone else will find this useful:
`
map.on('zoomend', function(){
var ExtraMarkers = document.getElementsByClassName("extra-marker");
for(l=0; l< ExtraMarkers.length; l++){
oldS = ExtraMarkers[l].style.transform
newS = oldS + " scale(0.5) translateY(100%) translateX(50%)"
ExtraMarkers[l].style.transform = newS
    }

})
map.on("layeradd", function(layer){
if(layer.layer._icon &&
layer.layer._icon.classList.contains("extra-marker")){
oldS = layer.layer._icon.style.transform;
newS = oldS + " scale(0.5) translateY(100%) translateX(50%)" ;
layer.layer._icon.style.transform = newS
}
})
L.marker([lat, lng],
{draggable:true, icon: L.ExtraMarkers.icon({
icon: 'fa-number',
markerColor: 'green',
shape: 'penta',
number: '1',
prefix: 'fa'
})
})
.on("dragend",function(e){
oldS = e.target._icon.style.transform;
newS = oldS + " scale(0.5) translateY(100%) translateX(50%)" ;
e.target._icon.style.transform = newS
});
`

Thanks for sharing Dror.  I will take a look at adding these transformations into css (along with the needed classes).

+1

+1
Perhaps this would bloat too much, but I would love to see extra sets of sprites at a few common sizes (including in solid flat colors - my current need) and a programmatic solution like @bogind's for those of us interested in scaling with more finesse.

@bloombar The new SVG markers are solid and you can use whatever color you would like.  It should be easy to scale the with css, though I have not looked into it yet.

so how to change size in an easy way?


Hatsune Miku: Project DIVA F 2nd [PCSG00205]

App summary

App name: Hatsune Miku: Project DIVA F 2nd
App serial: PCSG00205
App version: 1.00

Vita3K summary

Version: v0.1.6
Build number: 2841
Commit hash: https://github.com/vita3k/vita3k/commit/0c75bbb5
CPU backend: Dynarmic

Test environment summary

Tested by: nishinji
OS: Windows 10
CPU: Ryzen 9 3950x
GPU: RTX 3060ti
RAM: 32 GB

Issues
Screenshots

Log
vita3k.log
Recommended labels
Playable

アプリ右クリック→フォルダを開く→アプリケーション→rom→movieフォルダの名前をmovieから適当なのに変更　注:フォルダは消さない
この手法はほかのPJDでも使います
これですべての曲がプレイ可能です
いつかこの作業も不要になるでしょう

Attention, I'm having a problem. My game is locked in Vita3k, it got stucked in a black screen and it can't load the intro. Please tell me if anyone know how to fix it.

anyone now how to get the network working

Forget it, it isn't playable at all it is so hard to load

Attention, I'm having a problem. My game is locked in Vita3k, it got stucked in a black screen and it can't load the intro. Please tell me if anyone know how to fix it.

I got it to work now

anyone now how to get the network working

Not me, i'm sorry


Add UDP reset packet. Allows reset buttons on trackers and not just tap detection to reset.

This is needed to support resetting by pressing a button on a joycon, as the normal tap detection system doesn't work well on joycons.

Would another solution be to make the g-force required configurable? Altho this allows individual devices to have their own threshold set by the manufacturer/software dev, so it's good as well.

One problem with that is for a user with many phone trackers and joycons for ankles. The tap reset system doesn't allow ankle trackers to be used for tapping. It's nice to be able to use the actual buttons to reset too. By default in wrangler I will use the Up and B buttons as they are shielded from accidental presses by the thumbsticks.

From discord, Eiren requested to turn this into a generic "user action" packet , so that the action can be remapped in the server later


Remove duplicates in doc

What
Remove duplicated items in

docs/content/reference/types/views/spatial2d_view.md
docs/content/reference/types/archetypes/pinhole.md

Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using examples from latest main build: rerun.io/viewer
Using full set of examples from nightly build: rerun.io/viewer

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
[x] If applicable, add a new check to the release checklist!

PR Build Summary
Recent benchmark results
Wasm size tracking

To run all checks from main, comment on the PR with @rerun-bot full-check.

These are generated files, and so the fix should go in https://github.com/rerun-io/rerun/blob/3ab88e8555124ba78907f2110defaf04018f4518/crates/re_types_builder/src/codegen/docs/mod.rs#L609-L611 - the fix should be as simple as archetype_fqnames.dedup();

Very cool. I will close this PR and try out the advice.


Automated cherry pick of #8715: fix: aws secgroup out rule is deny any

Cherry pick of #8715 on release/3.4.
#8715: fix: aws secgroup out rule is deny any

Codecov Report

Merging #8717 (14e5853) into release/3.4 (02bcce1) will decrease coverage by 0.96%.
The diff coverage is 4.03%.

@@              Coverage Diff               @@
##           release/3.4   #8717      +/-   ##
==============================================
- Coverage         6.22%   5.25%   -0.97%
==============================================
  Files              759     375     -384
  Lines           117145   70598   -46547
==============================================
- Hits              7289    3712    -3577
+ Misses          109197   66619   -42578
+ Partials           659     267     -392

Flag
Coverage Δ

aFlag
5.25% <4.03%> (-0.97%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/appsrv/stats.go
0.00% <0.00%> (ø)

pkg/baremetal/utils/raid/raid.go
11.90% <ø> (ø)

pkg/cloudcommon/notifyclient/events.go
0.00% <0.00%> (ø)

pkg/cloudcommon/notifyclient/notify.go
1.84% <0.00%> (-0.40%)
:arrow_down:

pkg/compute/models/buckets.go
1.10% <0.00%> (+0.03%)
:arrow_up:

pkg/compute/models/cachedimages.go
1.73% <0.00%> (-0.08%)
:arrow_down:

pkg/compute/models/capabilities.go
0.00% <0.00%> (ø)

pkg/compute/models/cloudaccounts.go
0.48% <0.00%> (-4.66%)
:arrow_down:

pkg/compute/models/cloudregionresource.go
0.00% <0.00%> (ø)

pkg/compute/models/cloudregions.go
1.54% <0.00%> (-0.04%)
:arrow_down:

... and 418 more

Continue to review full report at Codecov.

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


RHIROS-101 - Format state column as per mockup.

Are we not adding state column to the systems table here?

Closing in favor of #55.


v11.1.4 impove Path Processor tests

Current coverage is 97.57%

Merging #226 into master will increase coverage by +0.54% as of 67907bc

@@            master    #226   diff @@
======================================
  Files           26      26
  Stmts          371     371
  Branches         0       0
  Methods         81      81
======================================
+ Hit            360     362     +2
  Partial          0       0
+ Missed          11       9     -2

Review entire Coverage Diff as of 67907bc

Powered by Codecov. Updated on successful CI builds.


Trim down default fields

$toIndex = [
            'objectSilverstripeID' => $item->ID,
            'objectTitle' => (string) $item->Title,
            'objectClassName' => get_class($item),
            'objectType' => $item->baseClass(),
            'objectClassNameHierarchy' => array_values(ClassInfo::ancestry(get_class($item))),
            'objectLastEdited' => $item->dbObject('LastEdited')->getTimestamp(),
            'objectCreated' => $item->dbObject('Created')->getTimestamp(),
            'objectLink' => str_replace(['?stage=Stage', '?stage=Live'], '', $item->AbsoluteLink())
        ];

This feels clunky. There's a mix of concerns in here:

Fields required for module operation: objectClassName (currently only in Algolia)
Fields commonly used in search: objectTitle, objectType, objectLink
Fields less commonly used but helpful for tuning (e.g. boost by recency): objectLastEdited, objectCreated, objectClassNameHierarchy
Fields with unclear use: objectSilverstripeID

I think we should figure out if we need objectClassName, and leave everything else out. There should be examples on how best to set up default indexes with these fields. But there's really nothing special about them. Some of them make debugging easier, some of them can help authors. But given that we have a simple declarative YAML to define index fields, I don't see a reason for burying those decisions in a default implementation.

As far as I can tell, you definitely need the type / ID tuple, because otherwise you can't fetch the record from the results.
Let's reduce this to:

objectSilverstripeID
objectType

And document our recommendations of:

Title
Link

https://github.com/silverstripe/silverstripe-search-service/commit/6a62ddaec57034b8ee33e49f07d5adbe076b50d6#diff-50b6fa13029e606508e95c84bbe77a19R128

otherwise you can't fetch the record from the results.

True, you might need that if you process results through a server-side implementation, and you'd want to fetch the record to access data that isn't available in the returned search document (e.g. a thumbnail). For anyone doing a client only search implementation, that wouldn't work of course.

I think we agree there's enough of a use case here that we'll leave it as baseClass/ID tuple for now. Reopen if any objections.


Add preview

Add a screenshot to the README
See my repo here with preview and clicking the image goes to the demo.
and then button to view the demo
https://github.com/MichaelCurrin/jekyll-blog-demo#preview

Added. Thank you suggestion Michael.


Is EPiServer.CdnSupport available as a nuget package?

Is EPiServer.CdnSupport available as a nuget package? Or how do you recommend to install it in an Episerver solution?

Sorry, no NuGet package available.

+1

+1

+1

+1


Clicking the window close button  - error

Or unexpected behaviour: the program doesn't close, and I have to do a Crtl-C to really quit it.
(The hello-spot does quit nicely when clicking the "quit" button, so I know it is possible.)

Still is the case in the 0.3.1. version

Hey @marcelloh, yes that's right. I'll get to this and find a solution.

I hope you do find a solution, because I really like the project :-)

Fixed now in 0.3.2.


bug: extended_auditing_policy block is depreciated for azurerm_mssql_server

Describe the bug
Running tfsec with an azurerm_mssql_server returns:
Result #1 MEDIUM Server does not have an extended audit policy configured.

However, it is no longer a valid block within the resource (It requires the use of the azurerm_mssql_server_extended_auditing_policy resource)
Example Code
resource "azurerm_storage_account" "mssql_security_storage" {
  name                     = "mssqlsecuritystorage"
  resource_group_name      = azurerm_resource_group.default.name
  location                 = azurerm_resource_group.default.location
  account_tier             = "Standard"
  account_replication_type = "LRS"
  min_tls_version          = "TLS1_2"
}

resource "azurerm_mssql_server" "default" {
  name                          = "example"
  resource_group_name           = azurerm_resource_group.default.name
  location                      = azurerm_resource_group.default.location
  version                       = "12.0"
  administrator_login           = "example-admin"
  administrator_login_password  = "example-password"
  public_network_access_enabled = false
  minimum_tls_version           = "1.2"

  #extended_auditing_policy {
  #  server_id                               = azurerm_mssql_server.azurerm_mssql_server.id
  #  storage_endpoint                        = azurerm_storage_account.mssql_security_storage.primary_blob_endpoint
  #  storage_account_access_key              = azurerm_storage_account.mssql_security_storage.primary_access_key
  #  storage_account_access_key_is_secondary = false
  #  retention_in_days                       = 90
  #}
}

resource "azurerm_mssql_server_extended_auditing_policy" "example" {
  server_id                               = azurerm_mssql_server.azurerm_mssql_server.id
  storage_endpoint                        = azurerm_storage_account.mssql_security_storage.primary_blob_endpoint
  storage_account_access_key              = azurerm_storage_account.mssql_security_storage.primary_access_key
  storage_account_access_key_is_secondary = false
  retention_in_days                       = 90
}

Adding additional context as this is still an issue
extended_auditing_policy was an attribute of resource azurerm_sql_server until the attribute was deprecated in v2.86.0 and the resource azurerm_mssql_server_extended_auditing_policy was added. azurerm_sql_server was then deprecated in v3.0.0 and replaced by azurerm_mssql_server.

Hi @Stretch96 !
Trivy supports the azurerm_mssql_server_extended_auditing_policy resource:
trivy config .
2023-08-18T17:34:09.234+0700    INFO    Misconfiguration scanning is enabled
2023-08-18T17:34:09.569+0700    INFO    Detected config files: 2

You also passed an invalid value for the server_id arguments, it should be azurerm_mssql_server.default.id.
/cc @simar7


[VS Code] The SSL connection could not be established, see inner exception.

vs.zip

Error:
The SSL connection could not be established, see inner exception.
Steps to Reproduce:

Start VS code
Try to start a new Live Share session

Version Data

extensionName
VSLS

extensionVersion
0.3.623

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.26.1

platformName
Linux

platformVersion
4.17.14-102.fc27.x86_64

// @Priya91

@jarifibrahim Looks like you've hit this issue https://github.com/dotnet/corefx/issues/25064
From your error message, it is likely that the dotnet process is not having access to openssl config file.
The default config file is called openssl.cnf and is located in the OPENSSLDIR directory. Running this command will tell you the value of OPENSSLDIR for your system:
openssl version -d
Alternatively the application or user may set the OPENSSL_CONF environment variable to override the default location.

From your error message, it is likely that the dotnet process is not having access to openssl config file. Can you check the permissions on the openssl config file, and try again by giving access..

@Priya91 doesn't look like a permissin issue. I have read access on the file.
➜  ~ openssl version -d
OPENSSLDIR: "/etc/pki/tls"
➜  ~ stat /etc/pki/tls/openssl.cnf
  File: /etc/pki/tls/openssl.cnf
  Size: 10841     	Blocks: 24         IO Block: 4096   regular file
Device: fd01h/64769d	Inode: 2098855     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:cert_t:s0
Access: 2018-09-05 22:49:23.875006662 +0530
Modify: 2018-04-03 16:43:19.000000000 +0530
Change: 2018-04-14 13:35:33.158228762 +0530
 Birth: -
➜  ~ id
uid=1000(ijarif) gid=1000(ijarif) groups=1000(ijarif),10(wheel),978(docker),981(libvirt) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
➜  ~ env | grep -i OPENSSL
➜  ~

The Live Share plugin was working fine in preview versions of VS Code.

@jarifibrahim, we recently  upgraded liveshare to use .net core 2.1.301, and there might have been changes to the ssl implementation there. Which linux distro are you on? Can you try doing sudo update-ca-certificates and then start liveshare?

@jarifibrahim, we recently upgraded liveshare to use .net core 2.1.301, and there might have been changes to the ssl implementation there. Which linux distro are you on? Can you try doing sudo update-ca-certificates and then start liveshare?

I am on fedora 27 and sudo update-ca-trust seem to have fixed the issue.
On a side note, I saw the same issue on my colleague's machine also. Maybe it has affected all the fedora 27 users.
Thanks for the help @Priya91. I am closing the issue.


[nn_layer_stats] Fix args passing of layer.total_ifmap/ofmap_size().

Coverage remained the same at 100.0% when pulling a54c06be14c5edbada246eb4c5915731362baf36 on cnjsdfcy:master into d7b7ac3544c309ab91cd52f53a093d0cf7a7b49c on stanford-mast:master.


Insert key looks like constantly pressed(text cursor)

I dont know if its my mistake cause im newbie at vs, but looks my insert key is constantly pressed, and i would like to change to a normal text cursor. tnks for anyone that helps me. sorry about my bad english, but its not my native language, im still learning. here is the example in line 22.

It looks like you have installed vim. vim is an extension that changes the input mode of vscode to more resemble vim. Simply disable or uninstall the extension.

oh man, u're a genius. i've just clone my teacher's repository and VS offered me to install the same tools he uses, so i did it. tnks so much for help, i know its a simple thing, but for a newbie as me, helped me a lot! have a good day!


Documentation and error messages for tf.tile, tf.constant leave a lot to be desired

I noticed that a protocol buffer did the equivalent of
tf.tile( x, [] )
and wondered what that actually produced (the documentation was completely unhelpful).  So I tried
x = tf.Variable([1.,2.,3.,4.])
y = tf.tile(x,tf.constant(2))
to get started, and got the message "ValueError: Shape () must have rank 1".  So I tried
y = tf.tile(x,tf.constant([2]))
and got the same message(!).  tf.rank(tf.constant([2])) of course returned the value 1, so the message made no sense at all to me.
In my struggle to get an acceptable empty tensor, I tried
x = tf.constant(shape=[],dtype="int32")
This produced the memorable message "TypeError: constant() takes at least 1 argument (2 given)"
I eventually discovered that tf.tile returns 1 copy of its tensor when the input is an empty list.  It would have been so helpful if the documentation would have just stated this fact...
Searching for tf.tile bugs produced a number of references to the documentation and a lot of hits relating to roofs.
My OS is Ubuntu 64-bit, TF version .11

As a PS, one would expect that tiling with a multiple of 0 would give an empty tensor as result.  But in fact, tf.tile(1.,[0]) produces an error "Shape () must have rank 1".  And again, tf.rank([0]) returns 1.

I'm struggling to follow your confusing issue report, but ...
With TF 0.11, I get the following output:
>>> x = tf.Variable([1.,2.,3.,4.])
>>> y = tf.tile(x,tf.constant(2))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/google/home/pbar/tensorflow.0.11rc2/local/lib/python2.7/site-packages/tensorflow/python/ops/gen_array_ops.py", line 2859, in tile
    name=name)
  File "/usr/local/google/home/pbar/tensorflow.0.11rc2/local/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 749, in apply_op
    op_def=op_def)
  File "/usr/local/google/home/pbar/tensorflow.0.11rc2/local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2382, in create_op
    set_shapes_for_outputs(ret)
  File "/usr/local/google/home/pbar/tensorflow.0.11rc2/local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1783, in set_shapes_for_outputs
    shapes = shape_func(op)
  File "/usr/local/google/home/pbar/tensorflow.0.11rc2/local/lib/python2.7/site-packages/tensorflow/python/ops/array_ops.py", line 1789, in _TileShape
    multiples_shape = op.inputs[1].get_shape().with_rank(1)
  File "/usr/local/google/home/pbar/tensorflow.0.11rc2/local/lib/python2.7/site-packages/tensorflow/python/framework/tensor_shape.py", line 650, in with_rank
    raise ValueError("Shape %s must have rank %d" % (self, rank))
ValueError: Shape () must have rank 1

...as per the documentation.  You are passing a scalar and the documentation states that the multiples argument must be 1-D.
>>> y = tf.tile(x, tf.constant([2]))
>>>

Seems to work for me?

x = tf.constant(shape=[],dtype="int32")
This produced the memorable message "TypeError: constant() takes at least 1 argument (2 given)"
The signature of tf.constant is:

def constant(value, dtype=None, shape=None, name="Const"):

The documentation states:
  Args:
    value:     A constant value (or list) of output type `dtype`.
    dtype:     The type of the elements of the resulting tensor.
    shape:     Optional dimensions of resulting tensor.
    name:      Optional name for the tensor.
  Returns:
    A Constant Tensor.

i.e. you must pass an argument for the positional argument value, and the keyword argument dtype
This error message is lamentable, but not TensorFlow's fault. Consider the following simple Python program:
>>> def foo(value, dtype=None, shape=None): return value
>>> foo
<function foo at 0x7f2f7ae0bb90>
>>> foo(dtype=2, shape=3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: foo() takes at least 1 argument (2 given)

tf.tile(1.,[0]) produces an error "Shape () must have rank 1".

The args to tf.tile are as follows:
Args:
input: A Tensor. 1-D or higher.
multiples: A Tensor. Must be one of the following types: int32, int64. 1-D. Length must be the same as the number of dimensions in input
name: A name for the operation (optional).

Your error is because you passed a scalar as the input, which is required to be 1-D or higher.

As a PS, one would expect that tiling with a multiple of 0 would give an empty tensor as result.

>>> with tf.Session() as sess: tf.tile([1], [1]).eval()
...
array([1], dtype=int32)
>>> with tf.Session() as sess: tf.tile([1], [0]).eval()
...
array([], dtype=int32)

...as it does?
Please feel free to reopen if this doesn't solve your problem.

Ah, it makes more sense now.  How in the world am I supposed to look at that traceback and realize that the message relates to tf.constant rather than tf.tile?
And I probably should have realized that the goofy message came from Python...
Thanks for your help...

Ah, it makes more sense now. How in the world am I supposed to look at that traceback and realize that the message relates to tf.constant rather than tf.tile?

In this case, the source line in the stack backtrace refers to 'multiples_shape' and 'op.inputs[1]' so it's relatively straightforward.... but I agree that in general, error messages like this are often hard to grok!
  File "/usr/local/google/home/pbar/tensorflow.0.11rc2/local/lib/python2.7/site-packages/tensorflow/python/ops/array_ops.py", line 1789, in _TileShape
    multiples_shape = op.inputs[1].get_shape().with_rank(1)
  File "/usr/local/google/home/pbar/tensorflow.0.11rc2/local/lib/python2.7/site-packages/tensorflow/python/framework/tensor_shape.py", line 650, in with_rank
    raise ValueError("Shape %s must have rank %d" % (self, rank))

Personally, my usual course of action would be to just head to `tensorflow/python/ops/array_ops.y:1789'


Failure of ~/catkin_ws$ roslaunch src/osr bringup/launch/osr.launch

~/catkin_ws$ roslaunch src/osr bringup/launch/osr.launch
...long list of launch commands, followed by:
...
ROS_MASTER_URI=http://ubiquityrobot.local:11311
ERROR: cannot launch node of type [osr/motor_controller.py]: can't locate node [motor_controller.py] in package [osr]
ERROR: cannot launch node of type [osr/joystick.py]: can't locate node [joystick.py] in package [osr]
ERROR: cannot launch node of type [osr/rover.py]: can't locate node [rover.py] in package [osr]
process[joy_node-4]: started with pid [3103]
[ERROR] [1561070410.392290674]: Couldn't open joystick /dev/input/js0. Will retry every second.
[^C entered here]
^C[joy_node-4] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
A search for the missing .py files shows them to be present but perhaps not in the expected directories? --
~/catkin_ws$ find ~/ -name motor_controller.py
/home/ubuntu/catkin_ws/src/osr/scripts/motor_controller.py
/home/ubuntu/osr_ws/src/osr-rover-code/ROS/osr/scripts/motor_controller.py
~/catkin_ws$ find ~/ -name joystick.py
/home/ubuntu/catkin_ws/src/osr/scripts/joystick.py
/home/ubuntu/osr_ws/src/osr-rover-code/ROS/osr/scripts/joystick.py

~/catkin_ws$ find ~/ -name rover.py
/home/ubuntu/catkin_ws/src/osr/scripts/rover.py
/home/ubuntu/osr_ws/src/osr-rover-code/ROS/osr/scripts/rover.py

This was run on the preloaded Ubuntu/ROS image (source avail on request).
When I get time next week I'll try following the Rasbpian / ROS NASA/JPL recipe on a clean SD.
JHP

I suspect it is because the instructions currently omit the step to make the files executable as well.
Navigate to each of the files and do the following
sudo chmod +x <filename>
The following error:
[ERROR] [1561070410.392290674]: Couldn't open joystick /dev/input/js0. Will retry every second.
Makes sense unless you currently have a controller paired to the system and it is registered as /dev/input/js0. As soon as you connect the xbox controller this will go away

@vssystemluba I notice a few other things that seem a little off. There should be '_' in the package names not spaces. For instance 'osr_bringup' not 'osr bringup'. This is ROS convention to use underscore for package names. The roslaunch command should also be:
roslaunch osr_bringup osr.launch
If the catkin_ws is properly sourced then it will find the packages and launch files

The '_' are there, my documentation word processor (WordPerfect), or maybe its my font, wants to hide them so I have to edit manually and sometimes I miss some.
There wasn't a command to 'source' the catkin_ws.  Just catkin_make.
(This apparently doesn't matter or is done with the make as it worked.  See below)
Wasn't sure which _ws to chmod, the catkin_ws or the osr_ws so went with catkin_ws.
Changing the launch command from
~/catkin_ws$ roslaunch src/osr_bringup/launch/osr.launch
to
roslaunch osr_bringup osr.launch
was successful! (up to the joystick since I don't have a controller paired.)
How do you do that, anyway?  That's my next step.
Appreciate the light-speed responses to my "destructive testing" of the code!
JHP

"sourcing" the workspace should be done as part of the workspace setup as well.
http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment

As far as pairing the controller of youre using the Xbox controller all you have to do is plug in the wireless receiver and follow steps on pairing controller to that (its just hold one button on each). From there it'll all be done

@ericjunkins
Failure of "catkin_make" in Raspbian/ROS kinetic/OSR environment:
Since I had trouble above and y'all are using Rasbpian instead of Ubuntu, I started from scratch and loaded the latest Raspbian then followed the directions to install ROS then osr-rover code.
All went reasonably well until near the end when I did the "catkin_make":
Run a "catkin make" of the OSR workspace:
pi@Fidelity: ~/catkin_ws $ catkin_make
It did a long build then the following errors:
CMake Warning at /home/pi/ros_catkin_ws/install_isolated/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
Could not find a package configuration file provided by "sensor_msgs" with
any of the following names:
    sensor_msgsConfig.cmake
    sensor_msgs-config.cmake

  Add the installation prefix of "sensor_msgs" to CMAKE_PREFIX_PATH or set
  "sensor_msgs_DIR" to a directory containing one of the above files.  If
  "sensor_msgs" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  osr_msgs/CMakeLists.txt:10 (find_package)

-- Could not find the required component 'sensor_msgs'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /home/pi/ros_catkin_ws/install_isolated/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "sensor_msgs" with
  any of the following names:

    sensor_msgsConfig.cmake
    sensor_msgs-config.cmake

  Add the installation prefix of "sensor_msgs" to CMAKE_PREFIX_PATH or set
  "sensor_msgs_DIR" to a directory containing one of the above files.  If
  "sensor_msgs" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  osr_msgs/CMakeLists.txt:10 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/pi/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/pi/catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

:
I did a "find" to see if the missing sensor_msgs* were there and at least something exists:
pi@Fidelity:~/catkin_ws $ find ~/ -name sensor_msgs*
/home/pi/ros_catkin_ws/src/genmsg/test/files/sensor_msgs
I feel like I'm ALMOST there!
JHP

I'm seeing a little bit of inconsistencies in path stuff here:
~/catkin_ws $ catkin_make
/home/pi/ros_catkin_ws/install_isolated/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
/home/pi/ros_catkin_ws/src/genmsg/test/files/sensor_msgs
Some of these have a "ros_catkin_ws" and some have a "catkin_ws".
Sensor_msgs is a default package of ROS and if it's failing that it is because there is something not set right with the path of your system. can you verify path and folder names for me

The directions say go to the "catkin_ws".  Should it be "ros_catkin_ws"?
So tried:
pi@Fidelity: ~/ros_catkin_ws $ catkin_make
but got:
virtual memory exhausted: Cannot allocate memory
...
Invoking "make -j4 -l4" failed
So tried:
pi@Fidelity: ~/ros_catkin_ws $ catkin_make -j2
and got:
...
[100%] Built target record
So suggest updating directions to "ros_catkin_ws" and "-j2"
JHP

... but when I try again (regardless from which directory I try):
$ roslaunch osr_bringup osr.launch
I still get the same error:
[osr.launch] is neither a launch file in package [osr_bringup] nor is [osr_bring
up] a launch file name
The traceback for the exception was written to the log file
If I look for osr.launch I get:
pi@Fidelity:~/ros_catkin_ws $ find ~/ -name osr.launch
/home/pi/catkin_ws/src/osr_bringup/launch/osr.launch
but if I go to that directory I still get the same error.
What am I missing?
JHP

Truthfully the workspace can be called whatever you want it to be as long as you are consistent with the name. I usually name mine 'ws', for example 'osr_ws'. But for simplicity's sake it should be 'catkin_ws'. I don't think it says anywhere in the docs to put the 'ros' in there. The '-j' option just specifies how many threads to use for the compilation, it should make no difference in the command working or not.
The roslaunch command is not specific to the directory, it is looking for that specific launch package in the current ros workspace. For instance in our case:

command: roslaunch
ros package: osr_bringup
launch file: osr.launch

This will work for any directory on the machine because it is looking for the osr_bringup package in what is set as the current $ROS_PATH. It then looks for the osr.launch launch file in that package. Your error is coming from not having the ros path looking in the correct place. Did you do this above comment? This is what sets when you open a new terminal to have the ros path look at the workspace you set up

"sourcing" the workspace should be done as part of the workspace setup as well.
http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment

I believe the catkin_ws was created by the ROS install.
Then the ros-catkin-ws was created by the OSR install.
(although it could be vice-versa, I'd have to recheck the instructions)
The -j2 was because of the "virtual memory exhausted: Cannot allocate memory" error.
Looking for ROS_PATH I get:
pi@Fidelity:~ $ ROS_PATH
-bash: ROS_PATH: command not found
pi@Fidelity:~ $ ros_path
-bash: ros_path: command not found
pi@Fidelity:~ $ ROS_path
-bash: ROS_path: command not found
pi@Fidelity:~ $ rospath
-bash: rospath: command not found
pi@Fidelity:~ $ ROSPATH
-bash: ROSPATH: command not found
pi@Fidelity:~ $ ROSpath
-bash: ROSpath: command not found
so somehow its not being created
JHP

okay let's be explicit step-by-step here and @vssystemluba can update the instructions to coincide with this. Let's start over with creating the workspace. I did these exact steps this morning on a new workspace I created.

mkdir -p ~/osr_ws/src

cd osr_ws

catkin_make

Copy the packages into the '~/osr_ws/src' folder. To be clear they should be
- osr_bringup
- osr_msgs
- osr
- led_screen

Add the following to the bottom of the bashrc script: sudo nano ~/.bashrc
- source /opt/ros/kinetic/setup.bash
- source ~/osr_ws/devel/setup.bash
- source ~/osr_ws/devel/setup.sh

Open a new terminal. echo $ROS_PACKAGE_PATH. It should be the following:
/home/< youruser>/osr_ws/src:/opt/ros/kinetic/share

cd ~/osr_ws/src/osr/scripts

chmod +x motor_controller.py robot.py rover.py joystick.py

roslaunch osr_bringup osr.launch

ROS guide on creating catkin_ws:
http://wiki.ros.org/catkin/Tutorials/create_a_workspace
Udemy Tutorial ROS for Beginners (I HIGHLY recommend spending the $11 to take this course and learn ROS, it covers all the basics that you will need):
https://www.udemy.com/ros-for-beginners/

In last week's Software Steps.pdf:
1.5 Building the Rover Code to work with your ROS installation
Move to the directory containing the main OSR logic: cd /home/pi/osr/ROS
Create a catkin workspace directory: mkdir -p /home/pi/catkin ws/src
Move to your catkin workspace: cd /home/pi/catkin ws
Run a "catkin make" of the OSR workspace: catkin make
If your catkin make command succeeded, you should now see new build/ and devel/ direc-
tories in /home/pi/catkin ws.
Done and check.  Future versions may change this to osr_ws instead of catkin_ws
From here on I translate as needed to the original catkin_ws instead of rebuilding in a new osr_ws.
Move to your built catkin workspace: cd /home/pi/catkin ws/
Run the roslaunch command (read more about roslaunch at http://wiki.ros.org/roslaunch):
   roslaunch src/osr bringup/launch/osr.launch

this has been corrected to (but not yet in the current directions) to:
   roslaunch osr_bringup osr.launch

5 Add the following to the bottom of the bashrc script: sudo nano ~/.bashrc

source /opt/ros/kinetic/setup.bash
source ~/osr_ws/devel/setup.bash
source ~/osr_ws/devel/setup.sh

In my .bashrc only the first line was present.  Added the other two.
6 Open a new terminal. echo $ROS_PACKAGE_PATH. It should be the following:
/home/< youruser>/osr_ws/src:/opt/ros/kinetic/share
In mine I get:
   pi@Fidelity:~ $ echo $ROS_PACKAGE_PATH
   /home/pi/catkin_ws/src:/home/pi/ros_catkin_ws/install_isolated/share

7, 8 chmod the *.py files     I found mine in their original directories and chmod'ed them
9 roslaunch osr_bringup osr.launch
My xbox controller is attached (& I think, paired)
Doing this I at least get partial success:
pi@Fidelity:~ $ roslaunch osr_bringup osr.launch
... logging to /home/pi/.ros/log/6a327474-9941-11e9-aea8-b827eb2b674d/roslaunch-Fidelity-2263.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://Fidelity:36053/
SUMMARY
PARAMETERS

/accel: 0,0,0,0
/battery_high: 18
/battery_low: 11
/baud_rate: 115200
/enc_max: 1480,1755,1240,1230
/enc_min: 550,420,360,325
/joy_node/autorepeat_rate: 1.0
/joy_node/coalesce_interval: 0.05
/mech_dist: 7.254,10.5,10.5,1...
/motor_controller_addresses: 128,129,130,131,132
/motor_controller_device: /dev/serial0
/qpps: 0,0,0,0
/rosdistro: kinetic
/rosversion: 1.12.14

NODES
/
joy_node (joy/joy_node)
joystick (osr/joystick.py)
motor_controller (osr/motor_controller.py)
rover (osr/rover.py)
auto-starting new master
process[master]: started with pid [2273]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to 6a327474-9941-11e9-aea8-b827eb2b674d
process[rosout-1]: started with pid [2286]
started core service [/rosout]
process[motor_controller-2]: started with pid [2293]
process[joystick-3]: started with pid [2301]
process[rover-4]: started with pid [2303]
ERROR: cannot launch node of type [joy/joy_node]: joy
ROS path [0]=/home/pi/ros_catkin_ws/install_isolated/share/ros
ROS path [1]=/home/pi/catkin_ws/src
ROS path [2]=/home/pi/ros_catkin_ws/install_isolated/share
Traceback (most recent call last):
File "/home/pi/catkin_ws/src/osr/scripts/rover.py", line 3, in
from osr_msgs.msg import Joystick, Commands, Encoder
ImportError: No module named osr_msgs.msg
Doing a search for the missing piece:
pi@Fidelity:~ $ sudo find / -name osr_msgs.msg
returns nothing.
It seems osr_msgs.msg is missing.
JHP

okay so that's progress!
The roslaunch worked, which means it is finding the osr_bringup package and then the launch file within it. This means that you have the directory sourced correctly. It then appears to launch all the nodes within the osr package as well, which means they are found.
The First error:
ERROR: cannot launch node of type [joy/joy_node]: joy
ROS path [0]=/home/pi/ros_catkin_ws/install_isolated/share/ros
ROS path [1]=/home/pi/catkin_ws/src
ROS path [2]=/home/pi/ros_catkin_ws/install_isolated/share
However the $ROS_PACKAGE_PATH still seems strange to me.
/home/pi/catkin_ws/src:/home/pi/ros_catkin_ws/install_isolated/share
Is what you said you got. Is your main directory 'catkin_ws' or 'osr_ws'. Just trying to make sure we are on the same agreement of what you named yours. Because it is looking in 'catkin_ws' for sure, as well as still the 'ros_catkin_ws' which could be removed.
Next, the joy package is a default ROS package, and I notice you are missing in the package path the normal ROS stuff as well, which lives at:
/opt/ros/kinetic/share
Can you check the .bashrc file and make sure things are spelled correctly in that? Also make sure that it exists on your file system:
ls /opt/ros/kinetic/share
Lastly the osr_msgs , do you for sure have the following files at:
/home/pi/< workspace>/src/osr_msgs/msg/Commands.msg
/home/pi/< workspace>/src/osr_msgs/msg/Encoder.msg
/home/pi/< workspace>/src/osr_msgs/msg/Joystick.msg
/home/pi/< workspace>/src/osr_msgs/msg/Status.msg
It seems strange to me that it can find the packages in <workspace>/src/osr/scripts and not at <workspace>/src/osr_msgs/msg/... and I'm wondering if copying them over there was a typo?
And finally @vssystemluba is going to have to take this over the rest of the way, I will be out of the country for almost a month, so he's going to be doing the heavy lifting of stuff for that time.

@ericjunkins

Is your main directory 'catkin_ws' or 'osr_ws'.
It's catkin_ws as per Software Steps.  There's no mention of osr_ws until this thread.
In the rewrite, is it going to be osr_ws?  Given this thread I'll assume osr_ws.

I'm pretty sure the ros_catkin_ws came from the ROS install directions referenced in the Software Steps.
I'm going to re-install from scratch, merging these additional instructions, and translate from the generic catkin_ws to the specific osr_ws.
Additional confusion arises as the Raspberry Pi directions advise using the leaner ros-comm version of ROS while the ROS install directions assume desktop-full and translations have to be done there.  I'll skip the update workspace part of the ROS install as nothing was updated after a clean install.
I'll continue to document my progress step-by-step and share to assist in the Software Steps rewrite.
JHP

OSR install failure 2019.06.28.pdf
I'm trying to follow the Software Steps.pdf directions as modified by this thread but fail at the catkin_make step.  The old/new instructions vary as to the sequence of the catkin_make step.  Attached is my lengthy step-by-step process with the errors documented and discrepancies underlined.
There are errors because cut/paste sometimes looses the "_" in package names but this is eventually caught and corrected (I hope).
The directions on the linked ROS Install are sometimes ambiguous and have errors.
I got farther doing the ros_comm version than this desktop version.  Which are y'all doing?
  It's almost 3:00 am) and try again from the Meetup tomorrow.
Perhaps I'll have some feedback by then as to where I ran off the rails.
JHP

@ejunkins @ericjunkins @vssystemluba
Image file of SD card?
Would it be possible to post an .img file of the OSR SD card to Github so we can get running until the ROS install instructions are clarified?  This is assuming that 1) JPL has a working version of the OSR running on ROS and 2) that the hardware is (essentially) the same as the build instructions.
JHP

I believe that would be possible to do yeah. It is the identical hardware to what you are using now, so that should be all fine. I think there is a few things we would need to do to be able to post am img, but @vssystemluba could take care of those.
Additionally I think somewhere else is better, it's going to be at minimum 8gb image, I think it might be 16 or 32gb img based on what SD card we used.  Again @vssystemluba would know better on that than I do

@ericjunkins @vssystemluba in the 6/27/19 11:02 post it says to run catkin_make BEFORE copying the OSR files into the osr_catkin_ws.  In Software Steps 1.5 it says to move the files first, then run catkin_make.
I'm assuming it should be move before catkin_make, correct?
Working on merging all this info into a set of install directions.
Any luck on posting an image file?
JHP

Run the Catkin make before hand just to make sure everything is working and setup for the system previous to copying stuff over is all that is there for, easier to debug with that

@JHPHELAN sorry for the delay on this.  Things have been very busy and the JPL OSR was out and about doing STEM outreach events!
I built a new RPi with Raspbian Buster and will try and get the OSR code up and running on that this afternoon.  I already hit a couple snags due to updated dependencies, so we'll see how far I get.  If the Buster build fails, I'll re-build with Raspbian Stretch, reproduce the errors that following the documentation produces, and post a workaround both here and in the software documentation.
Additionally, I've just started a copy of our SD card contents as a backup solution per your suggestion.  I will try and get a link posted by the end of today.  Our OSR SD card happens to be a relatively small 8GB one, but note that the .img will therefore be 8GB.  You should be able to restore it to any SD card that's at least 8GB.

All right @JHPHELAN... I think I finally figured out why you're having these issues!  Based on my new build on Raspbian Buster (it eventually resulted in the exact same errors you found), here's how to fix the issue:
In short, our custom osr_msgs package is failing to build because it has a dependency on the ROS package sensor_msgs.  The sensor_msgs package is not installed by default with ROS and must be installed manually in order to run.  The commands to install that package are:
cd ~/osr_ws
rosinstall_generator sensor_msgs --rosdistro kinetic --deps --wet-only --tar > kinetic-sensor_msgs-wet.rosinstall
wstool init src kinetic-sensor_msgs-wet.rosinstall

After installing the sensor_msgs package via the commands above, make sure you source your osr ROS environment via:
source /opt/ros/kinetic/setup.bash
source ~/osr_ws/devel/setup.bash
source ~/osr_ws/devel/setup.sh

(I also place those three lines at the end of my ~/.bashrc file.  That way, that they are automatically sourced each time I open a new terminal and I never have to re-type them in the future)
From there, you should be able to successfully run catkin_make.
Please test these out and let me know what you find.  I'll update the documentation and continue working on posting our working OSR SD card image in the meantime.

Also, to clear up any confusion about ~/catkin_ws versus ~/ros_catkin_ws versus ~/osr_ws:

~/ros_catkin_ws is the catkin workspace that you create in order to install ROS.  You actually build ROS out of this ~/ros_catkin_ws workspace.
~/osr_ws is the catkin workspace that you create in order to build the OSR ROS code.  It can be named anything you like, so long as you are consistent everywhere.  We suggest just sticking to ~/osr_ws.
~/catkin_ws was the name that we originally suggested using for building the OSR ROS code in the software documentation.  After this thread, we realized it was confusing to call it that and we've updated the documentation to use only ~/osr_ws.

Good find @vssystemluba! I am fairly confident that we don't use sensor_msgs in that osr_msgs and could be removed as a dependency

@vssystemluba @ericjunkins Ah, ha!  Thanks!  I was thinking that there could only be one ?_ws and that it should be named osr_catkin_ws and build everything (including the ROS install) there.  Will update my install plan accordingly and will add sensor_msgs (whether we really need it or not).  Looking forward to revised install directions and the SD card image before I try again from scratch using Buster as that will be the new default Raspbian version.  Should also make for a smooth(-er?) transition to the R Pi 4.
JHP

Updated install directions have been posted in bb715719cbc01bfc9857d65705ebc4c7dfb569b0 (Software Steps.pdf).
I am holding off on posting the full SD card because our rover contains some things that we don't want to post along with the image.  I hoped the cleanse would be trivial, but it'll take a little longer than anticipated for me to cleanse it and upload.  I highly recommend going through the install steps as outlined in the Software Steps.pdf document; I believe you should be able to get the rover built from just those directions on Raspbian Stretch.  If you want to go the Raspbian Buster route, you may also find my installation notes at https://www.tapatalk.com/groups/jpl_opensource_rover/default-raspbian-noobs-download-is-version-buster-t120-s10.html helpful.

Building from the archive of Raspbian Jessie with ROS Desktop following the latest Software Steps.
Got to the part in the ROS install:
3.3 Building the catkin Workspace
Once you have completed downloading the packages and have resolved the dependencies, you are ready to build the catkin packages.
Invoke catkin_make_isolated:
pi@Fidelity:~/ros_catkin_ws $ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/kinetic
Traceback (most recent call last):
File "./src/catkin/bin/catkin_make_isolated", line 12, in
from catkin.builder import build_workspace_isolated
File "./src/catkin/bin/../python/catkin/builder.py", line 66, in
from catkin_pkg.terminal_color import ansi, disable_ANSI_colors, fmt, sanitize
ImportError: No module named terminal_color
The other potential problems the ROS install directions mentioned did not occur.
I'd hoped that the module terminal_color was unnecessary and we could just skip it, however this clearly shows that ROS failed to install at all:
Note: This will install ROS in the equivalent file location to Ubuntu in /opt/ros/kinetic however you can modify this as you wish.
[NO, it didn’t:]
pi@Fidelity:~ $ source /opt/ros/kinetic/setup.bash
-bash: /opt/ros/kinetic/setup.bash: No such file or directory
pi@Fidelity:~ $ cd /opt
pi@Fidelity:/opt $ ls
pigpio  vc
I Googled the error message but their answers didn't fix the problem.
JHP

To my knowledge, we've never tested building ROS in Jessie.  It should be supported with instructions in the installation that you were following.
Perhaps try using Stretch or Buster if you can't figure out the Jessie build?

Sorry, I meant Stretch!
JHP

@vssystemluba

I am holding off on posting the full SD card because our rover contains some things that we don't want to post along with the image.
By making a clean install using your latest directions y'all should be able to post a .zip file a la Raspbian, no?
JHP

@ejunkins @ericjunkins @vssystemluba ALMOST THERE!  So, so close!!
Fails with ERROR: cannot launch node of type [joy/joy_node]: joy
Raspbian Buster install - success!
ROS Kinetic install - success!
OSR code install - success!
$ roslaunch osr_bringup osr.launch      good until above error.
BEWARE of cut/paste commands!  Word processors can

change a double hyphen into one long dash and
fail to copy underscores "_" which have caused several errors.
Proofread your commands before [ENTER] and enter by hand when necessary.
The entire saga including some points of confusion is here:
OSR Software Install ALMOST 2019.07.19.pdf
Can y'all help me with this last step?!?
Jim Phelan
Mars rover project lead
USAi Labs
(formerly Houston Robotics)

The joy package is default package in ROS, if it wasn't in your installation bundle you can just install it like any ROS package

@ericjunkins @vssystemluba
"The joy package is default package in ROS, if it wasn't in your installation bundle you can just install it like any ROS package"
Apparently it isn't.  Following the Software Steps in
https://github.com/nasa-jpl/open-source-rover/blob/ros-rework/Software/Software%20Steps.pdf
and the standard Raspbian Buster and ROS kinetic install steps the launch persists in failing to find joy_node.  It has been reported elsewhere that joy fails to install with ROS kinetic.  Following the ROS instructions for adding packages also failed to install joy.  Although cautioned against mixing source installs with apt-get installs, that too was attempted and failed to find the package.
The updated complete procedure is here:
OSR Software Install Plan FAIL 2019.07.21.pdf
There is some potion or incantation that is missing from this spell.
Does JPL have a working ROS based rover built from a clean install following the published instructions?
If so, please publish the SD card image.  There shouldn't be any superfluous data that would need to be cleaned from a fresh install on a newly formatted card.  Thanks!!
Jim Phelan

I believe the complication comes from a 'clean install' is that it is done at JPL and needs to connect to networks in order to move the software packages onto it. I'm finally back from vacation now though, so can discuss with @vssystemluba tomorrow and see what we can do.

@JHPHELAN: https://drive.google.com/open?id=18Tzx2tzmwUHOpBue-Hew3XYpXZIEQpiF
See above for a clean install of Stretch and ROS.  We checked out and built the rover code on it, but as a general practice you should always pull the latest code from GitHub, copy it to your osr_ws, and run the catkin_make steps.
Note: The above file is ~5GB.  Unzipped, the image is 32GB since it came off of a 32GB card.

@JHPHELAN I'm going to go ahead and marked this as closed.  We now have the following:

Updated Software Steps.pdf with corrected instructions
Verified that a clean install of Stretch and following the steps in Software Steps.pdf gets the code running successfully
Verified that a clean install of Buster and following the steps in Software Steps.pdf (plus the additional steps outlined in ) gets the code running successfully
Posted a working image of Stretch with ROS installed (see above)

Please let us know of your progress.  If you have any other issues with the installation or Software Steps, let's go ahead and open another issue to deal with each of those specific issues.  Thanks for helping us debug this!

@ericjunkins @vssystemluba
Get prebuild Jessie+ROS image from:
https://drive.google.com/open?id=18Tzx2tzmwUHOpBue-Hew3XYpXZIEQpiF
Extract all says “invalid zip file”
7-Zip says “Headers Error.  Warning: 32-bit overflow in headers”
Write .img to 32GB SD card (same problem w/ 128GB SD card)
after writing to SD card with Win32 Disk Imager
Seem like image file is corrupt.  Do you have SHA256's has of .zip and .img files?
Will try from scratch with the new Software Steps directions
JHP


Sor10874/readmes/56 58

only three in this one.
picture-marker-symbol
play-a-kml-tour  (not in the Sample Viewer?)
portal-user-info

wrong branch


⚠ Bofrost.at has degraded performance

In a0be82f, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1237 ms

Resolved: Bofrost.at performance has improved in fd5414b.


Not working anymore

Hi, the rating updates was working very smoothly and I was getting regular updates and it was really helping me for more than a year but I didn't recieved any updates for this week rating changes.

Unfortunately it seems like Leetcode changed their API so that it is no longer publicly accessible. I'm afraid LeetCodeRatingsTexter will no longer work. The error message I receive when I make the request to fetch ratings is below. Sorry.
This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.

https://leetcard.jacoblin.cool/ also used leetcode API and his project also stopped working but now it's working fine as jacoblin made a commit (https://github.com/JacobLinCool/LeetCode-Stats-Card/commit/2a6a63d8fc589145224f1ba66738c4a3866f213d) and sent some headers while calling the API and it's working perfectly now.
It would be nice if you can also make the required changes while calling the API and this helpful project starts working again.

Thanks for providing that link. Unfortunately I don't think adding headers to the request will make it work. It sounds like what Jacob Lin did was deploy his server to a new platform, and somehow that results in requests not being rejected by Leetcode. LeetcodeRatingsTexter is hosted on Azure functions, and I don't have the time to redeploy it elsewhere in the hopes that it might fix the problem. Sorry


🐞 [Bug]: Can't SSH into Umbrel or Wordpress, need a password

Is there an existing issue for this?

[X] I have searched the existing issues

which package/s did you face the problem with?
Dashboard
What happened?
I deployed a WordPress instance; the site itself is working fine, but I can't SSH into the VM because it keeps asking for a password.
Steps To Reproduce
No response
which network/s did you face the problem on?
Dev, QA
version
2.4.0-rc1
Twin ID/s
No response
Node ID/s
No response
Farm ID/s
No response
Contract ID/s
No response
Relevant screenshots/screen records

Relevant log output
{
  "version": 0,
  "contractId": 27313,
  "nodeId": 26,
  "name": "wposb7g",
  "created":<PHONE_NUMBER>,
  "status": "ok",
  "message": "",
  "flist": "https://hub.grid.tf/tf-official-apps/tf-wordpress-latest.flist",
  "publicIP": null,
  "planetary": "300:164c:759a:efe6:14c:c09c:76fe:8fd1",
  "myceliumIP": "",
  "interfaces": [
    {
      "network": "nwh9t4r",
      "ip": "<IP_ADDRESS>"
    }
  ],
  "capacity": {
    "cpu": 1,
    "memory": 2048
  },
  "mounts": [
    {
      "name": "diskbm5",
      "mountPoint": "/var/www/html",
      "size":<PHONE_NUMBER>0,
      "state": "ok",
      "message": ""
    }
  ],
  "env": {
    "SSH_KEY": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC5VHR8M7XmORr8BqPzNcVEg4U9bbiHhfPm96tgIcqUX8IEzaLfczhms4Nllwv6hDXG6YP0dJ/C80xMB/srZQNbzookdobKiN60Usowt1DCDkb3UgvAj83p4Sy85caAN5ya2uUs1bnxNQjWEcsHRk69ysybyMuvJgiO56gofluTNhTiowXhpD7810QzXk//GvPp9RA1q53f9r6dSW5orQvL9IPWC2TcMHLBOagRFCt8GUykS3WD2qcEsnm0v4ILHC5z0p3JRwYEaUf2dZjKJc+URWitgU8mQ+h+ApiUt/wJK1DEIaoeGHWLIKzB3Lu5Fq36QRVFAPt1wF5K+c5y/9l9dlahGs9MZEpQBLf1lK9wMZHeHsz2TQwL6PrA0jw6eDGdsJ+euo/wblX4sHgQsA/DSC6NpF+LihgmHeSczQHRTs1YP2ka6ERMwncy3MeCIGW25EkZO6qKrhxGJKMT/c7Xy6nIVCcczNs6vO0ZJor1aAyVzMcxn9sDEPVB22NAn9BRzHoAsqkqmQwhwjP6uFZuP92x06Fk+51yT8xY/jMRlKephNhtkmsF8BDMVX3MQz8WC9JVgQCXCnm2eda7caC1ph3R1ggASy+EYi/ycfn1xo+jRriUBJ1+NHt95Gwby/dvxJCMXsxG4wBPWVpXKjS6LLY4auPDMf7Uo5UHD5IzKQ== Threefold\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCvmSYj5BKWkizdNyIziMfMm0CRrgq0UxFtBfBdArUMXSFkU30rtExbg6dlVFJCufw6UsCESm/QBSwlOyYKRdpsfVARcAw5G5OG0iX/22n+tYmCcWpmOJLJZaAmSynF1kwpBx3XDy40mFL6OMXjqFcU3DirbcucIL185XfAsTzrq3tDtSvmYPwbXMVMbs1ZAZValxOQNuaLty4qGD2awxVNZq4vtAzgpz3FFo3cs2g70jsGiPq/rsH+NxZHYmqvYnF/S0aPGBrbOe2yW8Cz0mqq5CzqbjYd+Qorkmt7uyJrlCBI43ky+pUuiAYeE1eJlWl5svA+ibWk5yYoa6svLUkaL1kcOMeZWLzDjL3OCrno9gglNp8zUkdSagHROoYlGgpc5fnzMGX4MKDLpHdE9xdk4NjpjB2Iq3hV3DamexXAhLEirLYv9fSilSyKVf/2kvYAa9o+NS4DgBVvXg9J54By/mAVsydD4lbpNe/2pX/WoFGCczmoQfWdHgJPYVCf2vU= harby@ahmed-Saleh-Harby",
    "MYSQL_USER": "admin",
    "MYSQL_PASSWORD": "tZA2!OxwCNwi",
    "ADMIN_EMAIL"<EMAIL_ADDRESS>    "WP_URL": "wp52wposb7g.gent02.qa.grid.tf"
  },
  "entrypoint": "/sbin/zinit init",
  "metadata": "",
  "description": "",
  "rootfs_size": 524288000,
  "corex": false,
  "gpu": [],
  "deploymentName": "wposb7g",
  "projectName": "wordpress/wposb7g",
  "billing": "0.245 TFT/hour",
  "wireguard": "[Interface]\nAddress = <IP_ADDRESS>/32\nPrivateKey = Uxfy1UCQmYdkO3eguo9qsRcLKxH68gQkw/5dWRdZYPY=\n\n[Peer]\nPublicKey = /TX223frzFlqwdW2I4lRp52qQJQmsCq+eKujO8lIpgg=\nAllowedIPs = <IP_ADDRESS>/16, <IP_ADDRESS>/32\nPersistentKeepalive = 25\nEndpoint = <IP_ADDRESS>:15467"
}

The same is happening with Umbrel.

Same to Caprover.

Was and issue in the ssh module itself not in the solutions.
will be fixed here https://github.com/threefoldtech/tfgrid-sdk-ts/issues/2603


How much memory is enough to work properly

Hello guys,
I'm talking about the multiprocessing docker container here.
I checked the memory used by docker container while only running without any processing and it was taking ~400 MB of memory.
My concern is, how much memory should i reserve for the container for running without any problem if i'm aiming more than 1000 requests/sec and assuming images to be of size less than 10 MB?
Thanks

I saw you posted it also on https://github.com/MinimalCompact/thumbor/issues/22 (and I answered there)


Fix/251-update-profile-partners

Describe the bug
If you access as  a partner, and try to update the profile an error appear:
To Reproduce
Steps to reproduce the behavior:

Go to 'Log in'
Enter as a partner user
Click on "Perfil"
Click on "Acualizar"
See the error

Expected behavior
A partner has to be able to update their account if they want
Screenshots

Story Points: 5
See the discussion in Front PPL v2
Powered by Parabol