Add a script to automate creating fill invalidations

Currently we have to manually send fill invalidations between supported chains, which is cumbersome and error-prone.
It would be good to have this automated so that we can be more efficient after making a new deployment.
The following describes a set of four new beamer subcommands that bring the needed automation.
Automating L1 invalidation and agent challenge tests
Initiating L1 invalidations
Usage: beamer test initiate-l1-invalidations [OPTIONS] PROOF-SOURCE PROOF-TARGET...

  Initiate L1 invalidations from chain PROOF-SOURCE to each PROOF-TARGET.
  PROOF-SOURCE and PROOF-TARGET are chain IDs.

Options:
  --keystore-file FILE Path to the keystore file.  [required]
  --password TEXT      The password needed to unlock the keystore file.
  --rpc-file FILE      Path to the RPC config file.  [required]
  --artifacts-dir DIR  The directory containing deployment artifacts.  [required]
  --abi-dir DIR        Path to the directory with contract ABIs.  [required]
  --output FILE        Path to store the invalidation info,
                       which can be later used for verification.  [required]

For each PROOF-TARGET:

generate random 32-byte values REQUEST-ID and FILL-ID
on the PROOF-SOURCE chain call FillManager.invalidateFill(REQUEST-ID, FILL-ID, PROOF-TARGET)
if PROOF-SOURCE is an OP-derived chain, invoke the necessary prove-op-message relayer command
store the information for this invalidation:

PROOF-TARGET
REQUEST-ID
FILL-ID
transaction hash of the invalidateFill call
ISO-8601 UTC date and time when the proof becomes finalized on L1,
e.g. 2023‐07‐14T14:25:03Z

store PROOF-SOURCE chain ID in the output file

Verifying L1 invalidations
Usage: beamer test verify-l1-invalidations [OPTIONS] INVALIDATIONS-INFO

  Verify L1 invalidations described in INVALIDATIONS-INFO.

Options:
  --keystore-file FILE Path to the keystore file.  [required]
  --password TEXT      The password needed to unlock the keystore file.
  --rpc-file FILE      Path to the RPC config file.  [required]
  --artifacts-dir DIR  The directory containing deployment artifacts.  [required]
  --abi-dir DIR        Path to the directory with contract ABIs.  [required]

For each invalidation in INVALIDATIONS-INFO:

check via the timestamp whether the proof is finalized on L1
execute the relayer
verify that the invalidation arrived at the request manager contract on the proof target chain

Initiating agent challenge tests
Usage: beamer test initiate-challenges [OPTIONS] CHALLENGE-CHAIN REQUEST-CHAIN...

  Submit a request, wait for an agent to claim it and
  then challenge the claim to force the agent to do L1 resolution.

Options:
  --keystore-file FILE Path to the keystore file.  [required]
  --password TEXT      The password needed to unlock the keystore file.
  --rpc-file FILE      Path to the RPC config file.  [required]
  --artifacts-dir DIR  The directory containing deployment artifacts.  [required]
  --abi-dir DIR        Path to the directory with contract ABIs.  [required]
  --stake              The stake amount, in ETH.  [default: 0.125]
  --output FILE        Path to store challenge info,
                       which can be later used for verification.  [required]

For each REQUEST-CHAIN:

submit a transfer request of USDC 1 Wei from REQUEST-CHAIN to CHALLENGE-CHAIN
wait for the agent to fill on CHALLENGE-CHAIN and make a claim on REQUEST-CHAIN
challenge the claim with stake amount >= 0.125 ETH to force the agent to do L1 resolution
store the information for this challenge:

REQUEST-CHAIN
request ID
claim ID
fill ID
transaction hash of the createRequest call
transaction hash of the claimRequest call
transaction hash of the challengeClaim call
ISO-8601 UTC date and time when the proof becomes finalized on L1,
e.g. 2023‐07‐14T14:25:03Z

store CHALLENGE-CHAIN chain ID in the output file

Verifying agent challenge results
Usage: beamer test verify-challenges [OPTIONS] CHALLENGES-INFO

  Verify results of agent challenges described in CHALLENGES-INFO.

Options:
  --rpc-file FILE      Path to the RPC config file.  [required]
  --artifacts-dir DIR  The directory containing deployment artifacts.  [required]
  --abi-dir DIR        Path to the directory with contract ABIs.  [required]

For each challenge in CHALLENGES-INFO:

check via the timestamp whether the proof is finalized on L1
verify that the challenge was correctly resolved in the request manager contract
on the request chain; the following must both be true:    request.filler == claim.claimer
    request.fillId == claim.fillId

Hey team! Please add your planning poker estimate with Zenhub @fredo @GabrielBuragev

How do you address the issue with the token? It would be good to have a configurable token. I can imagine one of the following

add a token option and define by symbol. The script could read the state files and resolve the symbol to the correct address (I already have code for that).
Add a separate token.json file to the artifacts dir, which in the future will represent our mintable test token. The script could expect a token.json which includes a mapping from chainid to token address. For now we could build a token.json for USDC but in the future when we have the infra it could be our mintable token.

How do you address the issue which token to use? It would be good to have a configurable token. I can imagine one of the following
* add a token option and define by symbol. The script could read the state files and resolve the symbol to the correct address (I already have code for that).

* Add a separate token.json file to the artifacts dir, which in the future will represent our mintable test token. The script could expect a `token.json` which includes a mapping from chainid to token address. For now we could build a token.json for USDC but in the future when we have the infra it could be our mintable token.

[...]
I spent quite a while thinking about this. At first, I immediately liked the idea of just reusing the config state files, because... why not? They are already there, contain the necessary info, we can then just reference the token via its symbol etc.
But then after thinking some more about it, I came to dislike the fact that we're now coupling ourselves (or, rather, the challenge test command) to the configuration state and this would necessitate adding yet another option to the already big options set. (In fact I'm not sure how it would work without some convention of naming the configuration state files and then depending on that convention....)
The idea with a separate token.json file is somewhat better in that respect, however, I still don't like the fact that we

have to maintain that file and
have to add yet another options

IMO, we already have a number of different input and output files so we should really think thrice before adding another kind of files.
So what would be the solution then?
How about we simply provide --token SYMBOL option to the initiate-challenges command (that's the only one that really needs it, if I'm not mistaken) and then the command figures the token address on its own by querying the chain? Naturally, for each specified chain the SYMBOL would be resolved only once and cached for further usage during the runtime of the command. The advantages I see here:

only one additional option (which we cannot get around anyway if we want this feature)
no new file types added and no increased maintenance burden

Disadvantages:

extra RPC calls to resolve SYMBOLs to addresses on each chain

I would consider the disadvantage quite acceptable here because we are only doing this very rarely and the time cost is going to be neglibigle if we make sure to use the tokens that were deployed relatively early in the lifetime of the request manager contract.

How about we simply provide --token SYMBOL option to the initiate-challenges command (that's the only one that really needs it, if I'm not mistaken) and then the command figures the token address on its own by querying the chain?

How will the command be able to query the resolution from symbol to address on chain?

By querying the chain, filtering TokenAdded events since contract creation until the point the symbol is found.

The concept of a symbol does not exist in our contracts. Would you then query the token contract for symbol? If yes, just to be sure that you are aware
Token.symbol() is not part of the ERC20 token standard. So we can not rely that all tokens will implement it. However it is part of the ERC20Detailed interface provided by https://docs.openzeppelin.com/contracts/2.x/api/token/erc20#ERC20Detailed
We should be aware that we would bind ourselves to the requirement that tokens implement this function (probably most of them do) and our symbol would have to exactly match what's configured in the token contract.

[...]

We should be aware that we would bind ourselves to the requirement that tokens implement this function (probably most of them do) and our symbol would have to exactly match what's configured in the token contract.

Definitely, but since here we are talking about our L1 resolution testing commands, I think it's a fair assumption that we use a token that has a symbol. Moreover, if we're to always deploy our own MintableToken for just this purpose as we discussed previously, the requirement is trivially satisfied.

agree, that's a good point.

Let make sure that this and the document are aligned . https://docs.google.com/document/d/1_G6u7N7RKvd2Jl2W3TbF1sXkDTqrqjUFZNQ99EvNHZQ/edit


Initialization of cell cycle annotations on the first frame

Please add that assignments can be undone with Ctrl+Z and/or with right-click.

Hi Yagya, so I just added the possibility to undo the bud assignment by right-clicking on the cell on the first frame. Run the command git pull and let me know if it works when you have time, thanks!


Support custom hostname for blob storage endpoints

Fixes #9404 and #10539
This allows connecting to blobs using local storage emulators running in a Docker container using a custom hostname, not the IP.
The approach is a bit different than rmja's in PR#10564.

Can one of the admins verify this patch?

@tg-msft, can you take a look?

@amnguye

+@joshlove-msft - you spent a lot of time in this part of the code - can you take a look?

@mattschoutends, thanks for the contribution!

/azp run net - storage - tests


Possible to make Request return your own error?

Using req-rep could I return nil for result and my own error for err?
result, err := nc.Request("user", props, 1000*time.Millisecond)

//So here I'm sending "foo" as the reply, is there any interface for sending an error along instead?
nc.Publish(msg.Reply, []byte("foo"))

Hi Jack (@jacktuck). What is it that you are trying to accomplish?
Request() is just a convenience API that does the following things:

Creates and subscribes to a unique INBOX subject
Publishes the provided message to the provided subject
Waits for a response until the specified timeout expires
Returns either the response, or an (NATS) error.

If the payload of the response that you send contains some application-specific error, you can parse that yourself and return the application-specific error.
Take a look at how Request() is implemented and you should get the idea.
If I were you, I'd wrap Request() in your own method that parses the (potential) error message from the payload and returns it as an Error.


Minor changes for Hive view support

@electrum thanks. you also need to enable view execution in product tests


SPT-55 Added DID processing information

Why
Currently the developer documentation (here: Prove your user's identity - One Login ) says the following, however we are now adding an endpoint to enable users to download the Public Key directly.

Our support team will give you the public key you must use to validate this JWT.

What
Added the following information to the prove-users-identity.html.md.erb documentation:

That the keys are published in DID document
The URL of both the integration and production DID documents
The significance of the kid and how to parse it to select the correct key from the DID document
The fact that the DID document may contain more than one key and why
What will happen during a rotation, including changes to the DID document
The use of HTTP cache-control headers to avoid constant retrieval of the DID document.
What to do if if errors occur while retrieving the document (i.e. fall back on the cached version)

Technical writer support
Yes
How to review
See original ticket https://govukverify.atlassian.net/browse/SPT-55
Changelog
N/A
Confirm

[x] I have checked if any docs change here also requires updates to other repositories (ADRs / RFCs, README.md, Team Manual, elsewhere in these docs)
[x] Where there is any overlap I have updated or opened a PR for corresponding changes

hi - happy to help with this. LMK when the PR is agreed from a technical POV for me to have a look

We have worked with @PippaClarkGDS to update this document into a more useable and better worded form.

This will need a review from tech writers before going live/after testing

Closing as superseded by #237 .


[Hub Generated] Review request for Microsoft.VirtualMachineImages to add version stable/2020-02-14

If you are a MSFT employee you can view your work branch via this link.
Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

/azp run automation - sdk

After discussion with managed identity RP, we have to revert the change.
A link to the question (answered) on internal StackOverflow.

Can one of the admins verify this patch?

Hi @feiyushi this is a revert of PR #9411 , right? If so I believe the breaking changes should be acceptable

Hi @feiyushi this is a revert of PR #9411 , right? If so I believe the breaking changes should be acceptable

@ArcturusZhang yes. The breaking change is reverted.  but leave one change from last commit. the service api is not public yet and no sdk is release. so breaking changes is acceptable at this moment.


Add Singularity testing to Travis CI

new singularity.config file
new singularity profile
add install.sh script to install Nextflow and/or Singularity
add env to travis testing (might be a good idea to control with which Nextflow/Singularity version we test).
now we're testing NGI-RNAseq with Nextflow/Docker and with Nextflow/Singularity

@Hammarn
Can you try that?
cf https://github.com/nextflow-io/nextflow/issues/602#issuecomment-363492875


Use stable clippy.

This change is

Codecov Report

Merging #823 (127e598) into main (f164379) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #823   +/-   ##
=======================================
  Coverage   66.78%   66.78%
=======================================
  Files          40       40
  Lines        5504     5504
  Branches     5504     5504
=======================================
  Hits         3676     3676
  Misses       1481     1481
  Partials      347      347

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


Display a shorter version of help by default

Currently we get the long version of help by default. Can we display a short version, including how to display the full version, along with any error messages

I believe @jakehaugen was doing up a spec on how to report errors well and one of the elements of it was ommitting the help entirely for a lot of cases since it's not useful and obscures what the problem is.

Yep that's where this idea came from - https://docs.google.com/document/d/1T4C6r28mw2aeNp4580_HQRLaulkMpWx4RXgjc7VqMJg/edit#heading=h.4uzb11dl2edw


connection timeout

When I try to test the bot, nothing is loaded and I receive the message in the debug console
ERROR: Error retrieving OpenId metadata at https://login.botframework.com/v1/.well-known/openidconfiguration, error: Error: connect ETIMEDOUT <IP_ADDRESS>:443
Do you have any idea what's going wrong? I use the ngrok-variant for testing the hello world app

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

ID: 33cdb816-f2b6-31a4-0e4c-d730435d0a6b
Version Independent ID: c111eaef-ac66-e245-b2bc-623c1801a7db
Content: Get started with App Studio and Node.js - Teams
Content Source: msteams-platform/get-started/get-started-nodejs-app-studio.md
Product: msteams
GitHub Login: @o365devx
Microsoft Alias: o365devx

@einue Could you please share your bot id with us?

@Gousia-MSFT My bot id is 1be6ab02-6542-4e7e-b590-af8751000de2

@einue Can you check if you are able to access this Url from your local machine?
https://login.botframework.com/v1/.well-known/openidconfiguration

@Gousia-MSFT : yes, when I open this site, I can see the following json
{   "issuer": "https://api.botframework.com",   "authorization_endpoint": "https://invalid.botframework.com",   "jwks_uri": "https://login.botframework.com/v1/.well-known/keys",   "id_token_signing_alg_values_supported": [     "RS256"   ],   "token_endpoint_auth_methods_supported": [     "private_key_jwt"   ] }
Hm, we are working behind a cooperate proxy. Do I have to configure this somewhere for this bot? I have already configured it for npm, ...

@einue Could you please check if it is getting blocked at your end?

@Gousia-MSFT how can I check this? And at which part of the application I should do that? I mean, I can go to the endpoint in browser and receive the json.

@einue - How were you able to check and fix check it for  npm? Could you please use Fiddler to check if any request is getting blocked?

Please re-open if you are still facing this issue.

@Wajeed-msft
I still have the problem.
I added the proxy for npm in the .npmrc file...  and this works since I can install npm packages.

@Wajeed-msft
I still have the problem.
I added the proxy for npm in the .npmrc file... and this works since I can install npm packages.

hey,now i meet same problem with you ,did you solve it ?my company network also should using proxy,i also didnt know how to set proxy to fix this problem ....if you fix this problem ,please reply me

yo bro ,i fix it ,yeah after i send you messages 1 min ,then i find how to fix it ,well you should set the proxy be your linux system ,my linux system is Centos 7
this is what i do 👇 (if you system also is Centos,other system you can try do same thing or search how set you system level proxy )
added these code to /etc/profile this file ,you can using vi to open the file
# add proxy for network export http_proxy="http://proxyusername:proxypassword@your proxy id:your proxy port" export https_proxy="http://proxyusername:proxypassword@your proxy id:your proxy port"
after you added these code and save this file,then using this command: source /etc/profile
to make this profile start work,or restart work.then problem is solve .this is how i fix this problem function,help it can help you :)


Is 3.3.0 released?

Hey guys. I see v3.3.0 was created a couple days ago, but I got v3.2.1 from npm. Can someone have a look why is this so?
Specifically, I expected withStateHandlers to be available, as I try to replace recompose with recompact

Yes it is!

Okay, that's weird, because I see 3.2.1 on https://www.npmjs.com/package/recompact, and npm view recompact shows 3.2.1 as latest version.
I will wait a couple days, maybe something is cached somewhere


fix error 'IndexError: list index out of range' due to variable list *inputs not properly handled in bundle.py

Functions using "*inputs" like in textgrad_prompt_optimization.ipynb would crash with error "IndexError: list index out of range"
@trace.bundle()
def query(system_prompt, *inputs):
    """ Query the language model with the system prompt and the input query """
    return tg.BlackboxLLM(llm_api_test, system_prompt)(*inputs)

It could be fixed by setting a fixed parameter:
@trace.bundle()
def query(system_prompt, x):
    """ Query the language model with the system prompt and the input query """
    return tg.BlackboxLLM(llm_api_test, system_prompt)(x)

However, a more permanent fix is the following modification in bundle.py to safely handles functions with any number of positional arguments, including those using *inputs

Thanks for the pull request -- this is a bug and a good fix!


InteractivityWin32: Add a dependency on Dx

#5743 introduced a dependency from any consumer of the DX header to a header generated from an IDL file.
I hope this fixes #5819. I'm going to run builds to find out.

It might be more correct to remove the dependency from the dx header to the idl header.

Failure - 1

packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.targets(164,13): Error MSB4006: There is a circular dependency in the target dependency graph involving target "ComputeGetResolvedWinMD".

This is not the issue this PR is intended to fix.
/azp run

failure 2
[error]packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.targets(164,13): Error MSB4006: There is a circular dependency in the target dependency graph involving target "ComputeGetResolvedWinMD".

/azp run

PLAY IT AGAIN

Four runs, 0 hits. Of note: I used to see it hit simultaneously with the recursive deps issue. I'm calling it.


Arduino Uno Pin 2 Internal Pullup not working

Hello! I have discovered a bug with this library.
It seems that on the Arduino Uno, the internal pullup resistor on pin 2 does not work when this library is being used.
I will include a very simple sketch showing the problem below.
It sets pin 2 as an input with pullup. It then reads from that input, and directly outputs it to pin 13 (built in LED on Uno).
When pin 2 is not connected to anything, the pullup should keep the pin high, meaning the LED should be ON unless pin 2 is tied to ground. However, it remains OFF unless you tie pin 2 to 5V.
If you comment out the initiation of this library, it works as expected.
Here is the sketch-
#include <DMXSerial.h>

bool inputValue;

void setup() {
  pinMode(2, INPUT_PULLUP);
  pinMode(13, OUTPUT);

  DMXSerial.init(DMXReceiver);
}

void loop() {

  digitalWrite(13, digitalRead(2));

}

I am working on a somewhat urgent project using this library, so I would appreciate it if someone could get back to me about this soon, but I understand this is community led, so I understand if it doesn't get fixed right away.
Thanks a lot for making this library (and hopefully maintaining it), as it seems to be the only library for receiving DMX, and it works quite well other than this issue.

Seems that pin 2 is used for some kind of data transition, don't really know, sorry :(
https://github.com/mathertel/DMXSerial/blob/46745295694eda720361a18b21ac3d5cba6d872f/src/DMXSerial.h#L45


Standalone RC and client program

Working as yesterday.
Gonna merge this as this stage done.
Gonna implement more fun things using the client.


Normalise all imports to fully qualified names

In order to use the same convention across the code (now: mixed relative & absolute imports).
Besides, this helps to easily grep the imports, so as to use IDEs features to auto-import modules on use.
Besides, the import sorters typically convert this to fully qualified names anyway.
THERE IS NO CHANGE IN FUNCTIONALITY.

@nolar, looks good. I think we need to modify how pytest is being called in CI due to failures like ModuleNotFoundError: No module named 'data_diff.cloud.utils'

@nolar looks like some of the relative import updates are incorrect. See my comment above


/usr/local/lib/libtdsodbc.so Not Exists!

Please first make sure you have looked at:

Documentation: https://github.com/mkleehammer/pyodbc/wiki
Other issues

Environment
To diagnose, we usually need to know the following, including version numbers.  On Windows, be
sure to specify 32-bit Python or 64-bit:

Python: python3.10.4
pyodbc: 4.0.32
OS: MacOS M1
DB: Azure SQL Database
driver: In the docker, I don't know

Issue
I followed your instruction all along until odbcinst.ini and odbc.ini. tsql -S MYMSSQL -U myuser -P mypassword runs successfully .  I guess the problem lies here:
[FreeTDS]
Description=FreeTDS Driver for Linux & MSSQL
Driver=/usr/local/lib/libtdsodbc.so
Setup=/usr/local/lib/libtdsodbc.so
UsageCount=1

In fact, I couldn't /usr/local/lib/libtdsodbc.so anywhere. By the way, I am using docker on my m1 MacBook Pro.

Make sure you install an ODBC driver first?

Yes, I installed both of them with brew install unixodbc freetds

You say you are using Docker. Did you install that on the host, or inside the container?

I installed that on my local machine and I think you have pointed out the problem. I'll try to connect to a remote db server from my m1 to see if there's any problem.


yalu102 failed, retry

I read the issue posting guidelines, and I hope this complaint follows them.
I used the Cydia Impactor on my Mac to run the yalu102_beta7.ipa file on my iPhone 6s, and the app installs successfully, but when I hit 'go', all it does is say 'failed, retry'! I have reinstalled the app several times, but nothing seems to work. (I am running iOS 10.2.1) What should I do?

I am running iOS 10.2.1 What should I do?

Could start by reading the readme that say it supports 10.0->10.2. If it supported 10.2.1 it would say so.
10.2.1 patched a lot of the exploits yalu102 uses, if not all of them, so it won't do anything.

iOS 10.2.1 is not supported. Read next time.
Close this. #162

So sorry everyone. Sorry for wasting your time!


Inquery about sparse_shape in Sparse UNet

Hello, Xiaoyang,
I find that different implementations of Sparse UNet have different sparse_shape. In SpUNet-v1m1 and SpUNet-v1m3, it adds 96, but in SpUNet-v1m2 directly adds 1. Are there any reasons for this design? And does it influence the final performance? I noticed that in PointGroup, it clips the shape to 128. here

Hi, pad 96 is to prevent not enough space for pooling, especially for outdoor datasets with a quite narrow z-axis. It should not have an influence on the final performance.

Got that. Thank you.


All multiples diagraph

Diagraph returning an infinite LazyList of multiples of a number a.
- element: TBD
  name: All Multiples
  description: Return all multiples of a
  arity: 1
  overloads:
    num: [a*1, a*2, a*3, a*4, ...]
  vectorise: true

Strings would just be repeated? How about lists?

I was thinking it would vectorise, unless we think acting on lists would be useful.

[[a,b],[a,b,a,b]…] on list?


feature: listing registered converters

Sometimes, it's useful to be able to list registered converters to know if we need to add some converter. For example, we needed that for the springdoc-openapi project to allow tests running in parallel (avoiding them to all add the same converters when different spring contexts are present).

thanks!


Unnecessary jQuery Dependency

Dynamic Gradient Background Animation
Description
The code includes a reference to jQuery for a simple background gradient animation. jQuery is a JavaScript library that provides various utility functions for DOM manipulation and simplifies cross-browser compatibility. However, in this code, jQuery is used only for a basic task, and its inclusion adds unnecessary overhead.
Screenshot Section

Demo Video Section*
screen-capture.webm
Task

[ ] Connect Us On social media -
[ ]      GitHub
[ ]      LinkedIn
[ ]     YouTube

@pradyumna14 Create a folder whose name be "amination" then add your file on that folder


Narrower month fields on small screens

Currently on narrow screens the month fields get super wide:

Changing the width calc to 100%-123px (from 110px) seems to fix this:

This also helps on very narrow / mobile screens and I didn't see any impacts on other views

Done.


Imports for docker-container monitors are not correctly restored.

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
The container-name and the selected docker host is not restored but empty.

The properties container-name and docker host are correctly exported and appear in the JSON file.

👟 Reproduction steps
Create docker-container monitor and create a backup. Then import the backup (with overwrite)
👀 Expected behavior
The docker-container monitor is restored with the container-name and docker host.
😓 Actual Behavior
The restored docker-container monitor has empty container-name and docker host inputs.
🐻 Uptime-Kuma Version
1.18.0-beta.0
💻 Operating System and Arch
Ubuntu 22.04 amd64
🌐 Browser
Chromium 104.0.5112.101
🐋 Docker Version
Docker 20.10.17
🟩 NodeJS Version
No response
📝 Relevant log output
No response

Obsolete as the backup feature has been dropped in #3892.

Chiming in with a more in-depth explanation:
Please see https://github.com/louislam/uptime-kuma/issues/2141#issuecomment-1272360952

In 1.18.3, the backup feature was deprecated due to [being left] unmaintained.

Backup & Restore with JSON has been deprecated and issues will not be fixed due to the amount of problems it has been causing for our users and us.
The current design is just not maintainable, causing countless bugs.
In v2.0 the deprecated backup tool is being removed because of this reason.
Please consider using SQL, API based[^1] or infrastructure based[^2] backup instead.
New approaches to these features should use SQLite dump or MariaDB dump respectively. (Here is our contribution guide)
You can subscribe to these issues meanwhile:

#2496
#477

[^1]: using the third-party API: https://uptime-kuma-api.readthedocs.io/en/latest/
[^2]: see https://github.com/louislam/uptime-kuma/issues/477#issuecomment-1557966187 for a setup example


Why you didn't use css framework ,?

what's the advantages of using your own css files or SASS ?

To be honest the styling for this app really isn't that complex at all, so I didn't need a framework like bootstrap to get going. Also, I use a service worker to 'precache' all the styles (along with HTML and JS static resources) so to have an entire framework with that could definitely slow things down.
Even without the use of a service worker, if I could minimize the amount of assets needed for the app than why not, especially if the styles are pretty simple :)


compare regions: drawing region not big enough

If I have a compare regions  and request the full 50 genomes, the drawing canvas is not set to be large enough to render them.
For example. fig|662755.4.peg.1546. Choose 50 genomes to display; the underlying service is telling me it found the full 50 but the display truncates at 15:

Ah,, this was fixed but for some reason, the fix was sleeping on my local repo.
https://github.com/PATRIC3/p3_web/commit/b13c98ff30024e0c6d48281ce6910f692a3a20c3
I just merged it. Will update when i deploy to alpha.

deployed on alpha
https://alpha.patricbrc.org/view/Feature/fig|662755.4.peg.1546#view_tab=compareRegionViewer

Cool. And I see you have hooked up the doubleclick handler - excellent!


Launching create_autonomy in gazebo?

Is it possible to launch create_autonomy to control a robot in gazebo? If so, how?

Hi @user98765467 I'm working on a fork of this repo that works for both the real robot and Gazebo. If you're interested, here is the link: https://github.com/RoboticaUtnFrba/create_autonomy

Thank you! I think this is exactly what i was looking for. I got it installed. How do I actually launch this properly for a gazebo robot? I'm totally new to this stuff and I know I'm supposed to type different things into different terminal windows.

You have the wiki with a lot of things explained or the README files under
each directory: https://github.com/RoboticaUtnFrba/create_autonomy/wiki
On Tue, Feb 11, 2020 at 12:12 AM user98765467<EMAIL_ADDRESS>wrote:

Thank you! I think this is exactly what i was looking for. I got it
installed. How do I actually launch this properly for a gazebo robot? I'm
totally new to this stuff and I know I'm supposed to type different things
into different terminal windows.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/AutonomyLab/create_autonomy/issues/66?email_source=notifications&email_token=AAZ6EJXALZNGG35SLFFKI4TRCIJQNA5CNFSM4KSZHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELLC3JA#issuecomment-584461732,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZ6EJQTUQP6UEDMPRU33P3RCIJQNANCNFSM4KSZHHJQ
.

--
Emiliano J. Borghi Orué

I've tried a bunch of things to the effect of this but just got errors:
cd ~/create_ws/src/create_autonomy/ca_gazebo/launch
roslaunch create_house.launch
hannah@hannah-Lenovo-ideapad-100-15IBD:~$ cd ~/create_ws/src/create_autonomy/ca_gazebo/launch
hannah@hannah-Lenovo-ideapad-100-15IBD:~/create_ws/src/create_autonomy/ca_gazebo/launch$ roslaunch create_house.launch
... logging to /home/hannah/.ros/log/6b3211b6-4d48-11ea-b99a-48e2442c20fd/roslaunch-hannah-Lenovo-ideapad-100-15IBD-18035.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.

Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/__init__.py", line 306, in main
    p.start()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 268, in start
    self._start_infrastructure()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 217, in _start_infrastructure
    self._load_config()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 132, in _load_config
    roslaunch_strs=self.roslaunch_strs, verbose=self.verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/config.py", line 451, in load_config_default
    loader.load(f, config, verbose=verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 749, in load
    self._load_launch(launch, ros_config, is_core=core, filename=filename, argv=argv, verbose=verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 721, in _load_launch
    self._recurse_load(ros_config, launch.childNodes, self.root_context, None, is_core, verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 685, in _recurse_load
    val = self._include_tag(tag, context, ros_config, default_machine, is_core, verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call
    return f(*args, **kwds)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 589, in _include_tag
    inc_filename = self.resolve_args(tag.attributes['file'].value, context)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 183, in resolve_args
    return substitution_args.resolve_args(args, context=context.resolve_dict, resolve_anon=self.resolve_anon)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 370, in resolve_args
    resolved = _resolve_args(resolved, context, resolve_anon, commands)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 383, in _resolve_args
    resolved = commands[command](resolved, a, args, context)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 151, in _find
    source_path_to_packages=source_path_to_packages)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 197, in _find_executable
    full_path = _get_executable_path(rp.get_path(args[0]), path)
  File "/home/hannah/.local/lib/python2.7/site-packages/rospkg/rospack.py", line 203, in get_path
    raise ResourceNotFound(name, ros_paths=self._ros_paths)
ResourceNotFound: ca_gazebo
ROS path [0]=/opt/ros/kinetic/share/ros
ROS path [1]=/opt/ros/kinetic/share

It is, here's an example launch file for GAZEBO, not the create. You can also include the create file, but this was for debugging
`

`

Hey, @Interaze  can you open a ticket directly here?
I recommend you to use ROS Melodic instead of Kinetic.
The simplest world is this one, but all spawn the iRobot Create. If you want to not spawn a robot use NUM_ROBOTS=0.
Although, if you want to run Gazebo without a Create, just open roslaunch gazebo_ros empty_world.launch.

I am using melodic, and I wasn't opening a ticket, just showing an answer and example to the question provided. I did however open a ticket for using the IR sensors in gazebo as I do not see it listed in the topics.

To extend on this, here is a more organized launch file example, which allows for a custom world to be included for a gazebo launch file.
<launch>
  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="$(find simulation_gazebo)/worlds/YOUR.world"/>
    <!-- more default parameters can be changed here -->
    <arg name="paused" value="false"/>
    <arg name="use_sim_time" value="true"/>
    <arg name="gui" value="true"/>
    <arg name="recording" value="false"/>
    <arg name="debug" value="false"/>
  </include>

  <!-- Different namespace so you can add multiple robots -->
  <group ns="Bot_1">
    <include file="$(find create_description)/launch/create_2.launch">
    </include>
        <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model robot" />
  </group>
</launch>

Closing this since I think the question has been answered, and it's not an issue with this repository.
Feel free to continue discussing here.


Added some DP Problems

Dynamic Programming Problems List which I added -
01Knapsack.cpp
editDistance.cpp
longestIncreasingSubsequence.cpp
minCostPath.cpp
numOfBalancedBT.cpp
staircase.cpp
allPossibleWays.cpp
fibonacci.cpp
lootHouses.cpp
minCountofSquares.cpp
permutationCoefficient.cpp
coinChange.cpp
friendsPair.cpp
maximizeCutSegments.cpp
minStepsTo1.cpp
shortestSubsequence.cpp
coinTower.cpp
LCS.cpp
MCM.cpp
nthCatalanNumber.cpp
squareMatrixWithZeroes.cpp
Please let me know if you want some changes
Please merge this under the Hacktoberfest label!

They are not considering dsa,cp,algorithm repository :(
all the pr will not be considered in hacktoberfest but your contribution will be for lifetime, this will help many students to practice dsa .
Thank you for your contribution :)
you can contribute to other repo


name: "AlgoliaSearchError", message: "Unknown parameter:

I have two diffrent diffrent theme in my magento 1.9 store website.the algolia instant search working fine with one mageto theme but not worked for another one.there is something error called 400:bad request when i type anything in search box. i think there is somthing js file confilct.
can you plz figure out this problem or give suggestions which i can implement.
thanks in advance

Hey @balwant20 ,
I think your issue is probably more specific to Magento than it is to the Algolia JS client.
Would you mind sending a quick email to<EMAIL_ADDRESS>Please include a link to your website, the full stack trace, the name of the themes and the version of Magento you are using.
Also make sure to have the latest version of our Magento extension.

Hey @rayrutjes ,
but the same algolia module work for one theme.

Hey @balwant20, thanks for opening this issue. Can you share the code that's used to generate this search?

@balwant20 Send an email to<EMAIL_ADDRESS>and we will handle it. This is not a particular issue of this repository.
Thanks!


basic impl of node fetcher

Motivation
Added basic fetch mechanism to handle multiple calls for same and different Hashes

refactored block, ATX, and Tx gossip and sync functions so that the same function will handle both gossip and sync data
added new layers logic which is to replace the existing sync mechanisms
refactored fetcher to support batches of requests
did some code cleanup and better separation of concerns as for sync and block handling

Closes #2108

bors try

bors try

bors try

bors merge

bors merge

bors merge

bors merge

bors try

bors merge

bors merge

bors merge


Add support for reading IrregularlySampledSignals in AsciiSignalIO

(cf #649)
Not implemented: write support for IrregularlySampledSignals

Hello @apdavison! Thanks for submitting the PR.

In the file neo/io/asciisignalio.py, following are the PEP8 issues :

Line 233:47: E226 missing whitespace around arithmetic operator
Line 315:9: E741 ambiguous variable name 'l'

In the file neo/test/iotest/test_asciisignalio.py, following are the PEP8 issues :

Line 67:100: E501 line too long (105 > 99 characters)
Line 73:100: E501 line too long (108 > 99 characters)
Line 102:100: E501 line too long (108 > 99 characters)
Line 286:100: E501 line too long (100 > 99 characters)
Line 314:5: E303 too many blank lines (2)

anyone feel like merging this?

Looks good to me. I will merge this.


linting.sh buries flake8 failures

For example, there was a failing flake8 line in the PR, but the output from the travis run just says 'failed linting'. eg:
https://travis-ci.org/rcbops/rpc-openstack/builds/91598278#L1980
When running the relevant flake8 line manually locally, I saw the actual failure:
# flake8 $(grep -rln -e '^#!/usr/bin/env python' -e '^#!/bin/python' -e '^#!/usr/bin/python' * ) || failed=1
maas/plugins/nova_cloud_stats.py:103:80: E501 line too long (83 > 79 characters)

We should probably fix the linting script to output those errors properly

Originally, my intention was to let all of the linting run before finishing the script. Should we instead simply remove the || failed=1 logic and let the linting checks die on first failure? I think that would be cleaner.
@rackertom @d34dh0r53 you have both been bitten by this too - which would be preferred?

@nrb My personal preferred option would be to see all places that it is going to fail, in one go, so that I can fix them all in one go.
If that's too painful, failing at the first failure (but ensuring it actually gets spat out) would work too.

If it's going to fail anyway, I'd prefer it to fail early. But there is obvious utility from getting all of the linting output at once so there isn't a trial-and-error period.
Then again, it would be just as easy to do further lint checks on my local machine like an adult I guess.

@mancdaz That was my thinking, too. I'm doing a test PR on my own fork to see how the fail-fast method might work. In practice it's just removing a bunch of code. I think collecting then reporting failures may be more intensive and more code added to handle the collection.

@nrb @mancdaz I think the fail first is the right way to do it, it's a relatively quick test so running locally and iterating through your failures is not too painful.  Plus I think adding a ton of code to catch all of the errors has the possibility to mask certain errors like we're seeing now.

I like the idea of a gate reporting all failures patiently, but getting it right adds complexity and opportunity for it to mask errors or give false positives if things change and the logic for this accumulation does not update in lockstep. I'd take a fail-fast if it's offered.

related
#612

I know we like having things "all-in-one" but separate travis checks would work well for fast failure without losing the information about the individual checks failing.

That's a good point, @sigmavirus24. So I take it you're suggesting we split flake8 and ansible linting?

Yeah, i can even tackle that this afternoon while I'm here at the doctor's.

I'd be behind separate jobs myself. That's more informative.


Fix: AutoSuggestBox Page crash

Description
The individual control pages' IconGlyph are all null. Causing the crash in the AutoSuggestBox page.
Motivation and Context
Closes #1581
How Has This Been Tested?
Manual.
Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

/azp run


Create Accessibility Behaviour for Dropdown component.

Feature Request
Original plan is to finish the Dropdown Component PR with the aria attributes directly added, as the PR is large enough for review. https://github.com/stardust-ui/react/pull/422
After that PR will be merged, will create another PR that will remove aria from component and add it to behaviour. Will close this issue once that PR will be merged

I agree with this, however, we are using Downshift.  I am of the mind that we should replace downshift with Stardust concepts of state/style/accessibility abstractions.
How do you see these working together?

@silviuavram  ^


Unify changes of mav mode and armed/disarmed state

Issue discussed in #184
The mav mode can be overwritten by manual_control even though it was successfully changed by a mavlink command. It has two issues:

the mavlink command is not rejected and the ground station believes the change is effective
the mode is changed for a fraction of a second, enough to cause issues

We should create methods bool arm(), bool disarm(), bool set_mode() in a single location: for instance state_machine.cpp. The methods return true if the change was successful.

Closed by #184 and #250


[PORT] fix lack of a generic typed method for posting activities to skills

Port this change from botbuilder-dotnet/master branch:
https://github.com/microsoft/botbuilder-dotnet/pull/3539

fix lack of a generic typed method for posting activities to skills
Changed projects

integration

Synced with @axelsrz, this is N/A


Fix 2190

This PR uses the name that the user provided when uploading and artifact and it uses the default output command name to name the artifact when a job completes.

Codecov Report

Merging #2292 into dev will increase coverage by 0.02%.
The diff coverage is 94.11%.

@@            Coverage Diff             @@
##              dev    #2292      +/-   ##
==========================================
+ Coverage   93.84%   93.86%   +0.02%
==========================================
  Files         163      163
  Lines       18494    18512      +18
==========================================
+ Hits        17356    17377      +21
+ Misses       1138     1135       -3

Impacted Files
Coverage Δ

qiita_pet/handlers/api_proxy/artifact.py
99.19% <ø> (ø)
:arrow_up:

qiita_db/test/test_artifact.py
99.84% <ø> (ø)
:arrow_up:

qiita_db/test/test_software.py
99.79% <100%> (ø)
:arrow_up:

qiita_db/test/test_processing_job.py
99.8% <100%> (ø)
:arrow_up:

qiita_db/software.py
97.9% <100%> (+0.76%)
:arrow_up:

qiita_db/processing_job.py
92.72% <50%> (-0.18%)
:arrow_down:

qiita_pet/test/test_qiita_redbiom.py
98.43% <0%> (+0.02%)
:arrow_up:

qiita_pet/handlers/qiita_redbiom.py
94.8% <0%> (+0.21%)
:arrow_up:

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 a9aa1c4...48a9f03. Read the comment docs.


debug Windows CI failures

To start, CI passes on everything except Windows Julia 1. If we remove reference_element_tests.jl, it passes on Windows Julia 1

Had to remove the inverse_trace_constant test for Hex elements.


ModelComputationsHelper: Option to load KinDynComputationsDescriptor without specifying joints list

This option is useful while loading human URDF models.

Ok, but the usual warning for anyone doing this: the joint list order that you obtained by doing this is not stable in any way.

Ok, but the usual warning for anyone doing this: the joint list order that you obtained by doing this is not stable in any way.

Indeed. I will add a warning in the documentation.

Ok, but the usual warning for anyone doing this: the joint list order that you obtained by doing this is not stable in any way.

Indeed. I will add a warning in the documentation.

Added a warning in the documentation here https://github.com/dic-iit/bipedal-locomotion-framework/pull/224/commits/4b9e7241920689b32017539f9c379bf259cd3fa5


Stop creating new instances of SequencedTaskRunnerImpl in MessageLoopImpl

Currently MessageLoopImpl::RunTask() creates a new instance of SequencedTaskRunnerImpl every time a task is executed. This is wasteful and makes the logic a bit more complex. The goal of this issue is to rewrite the logic so that new instance of task runner doesn't have to be created for all tasks.

Done while doing #13 (PR #22).


adding apt-get upgrade in  the builder image

There are still 46 high- and 11 critical-level vulnerabilities in the "latest:crf" tag. this should apply the patches for these vulnerabilities.

Thanks!


bring back copy

with out of bound transfer

Codecov Report

Merging #51 into review will not change coverage.
The diff coverage is n/a.

@@         Coverage Diff          @@
##           review   #51   +/-   ##
====================================
  Coverage      75%   75%
====================================
  Files           2     2
  Lines          40    40
====================================
  Hits           30    30
  Misses          5     5
  Partials        5     5

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 587e657...2b62a12. Read the comment docs.


Fix x/y in web_keyboard for up and right

Ran into this while making my nodeboat :)

D'oh, thanks!


lomax: Adding new hire test case and fixing name encoding issue

Signed-off-by: Simarpreet Singh<EMAIL_ADDRESS>

This PR address https://github.com/opendns/lemming/issues/47 issue.


Link to inuit site on px-widths-responsive-design repo loads blank white page in iframe

https://www.predix-ui.com/#/css/px-widths-responsive-design/
Click the link to inuit in the description section to reproduce.

No longer the case in our post-iframe site.


update depgroup liberty didn't copy

Signed-off-by: Paul Bastide<EMAIL_ADDRESS>

I guess the derby change is related to #2477 which upgrades us to derby 10.15.
Assuming it doesn't hurt anything to have those listed here early, this looks good to me.

Exactly


Inconsistency in crossmatch column data types

Bug report
If we decide to keep the non-matches it's possible to get NaN values in our crossmatch dataframe. For every point in the left partitions we will have a row with the left point information and the information of the respective match on the right (which being inexistent will be set to NaN).
When assigning a row with NaN values on a dataframe, Pandas seems to automatically cast the whole column type to "float". Columns such as Norder_{}_xmatch, Dir_{}_xmatch and Npix_{}_xmatch, therefore have an incorrect type.

We should create an end-to-end test to verify that the column data types of the original catalogs remain unchanged.
Before submitting
Please check the following:

[X] I have described the situation in which the bug arose, including what code was executed, information about my environment, and any applicable data others will need to reproduce the problem.
[X] I have included available evidence of the unexpected behavior (including error messages, screenshots, and/or plots) as well as a descriprion of what I expected instead.
[X] If I have a solution in mind, I have provided an explanation and/or pseudocode and/or task list.

Has this been addressed (or a little bit improved) by the pyarrow dtype changes?

@delucchi-cmu yes, supporting None values by default using pyarrow should fix the column types. We're holding off on the merge of #271 this week but I might try to build some end-to-end tests in the meantime to make sure the output columns of the crossmatch indeed remain the same!

We should make sure the Dask DataFrame meta and the pyarrow schema are consistent whenever we address https://github.com/astronomy-commons/lsdb/issues/390.


Web component: Number Spinner

https://github.com/Travelopia/web-components/issues/80

hey @sagarjadhav could you take a look at the new updates?

@junaidbhura New updates looks good and working as expected.


Picture is not resize-able

Is there a way to allow the picture tu be resized?
(Only drag is permited)
Mac OSX, Chrome (latest)

Nope. It's too hard to keep it in small amount of code and it's a bad practice.


Error: Exception calling ".ctor" with "1" argument(s): "Could not find a part of the path

I'm using v1.3.1 of your GH Action and got the following error:
Module [GitHubActions] not found, INSTALLING...
                                                                                Installing package 'GitHubActions'                                                 Downloaded 0.00 MB out of 0.01 MB.                                              [                                                                    ]                                                                                Running from [/home/runner/work/_actions/zyborg/pester-tests-report/v1.3.1]

Test Results Path provided as input; skipping Pester tests

VERBOSE: Resolving XML file relative to current directory: /home/runner/work/aks-nexus-velero/aks-nexus-velero/test/pester-test-results.xml
VERBOSE: Resolving default XSL file: /home/runner/work/_actions/zyborg/pester-tests-report/v1.3.1/nunit-report/nunitxml2md.xsl
VERBOSE: Loaded XSL transformer
nunitxml2md.ps1: /home/runner/work/_actions/zyborg/pester-tests-report/v1.3.1/action.ps1:197
Line |
 197 |      & "$PSScriptRoot/nunit-report/nunitxml2md.ps1" -Verbose `
     |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Exception calling ".ctor" with "1" argument(s): "Could not
     | find a part of the path
     | '/home/runner/work/aks-nexus-velero/aks-nexus-velero/_TMP/test-results.md'."

##[error]The process '/usr/bin/pwsh' failed with exit code 1

I only want to publish the Pester report file, so I've used the following GH Workflow config:
    - name: Pester report
      uses<EMAIL_ADDRESS>      with:
        test_results_path: test/pester-test-results.xml
        report_name: pester_tests
        report_title: Pester Tests
        github_token: ${{ secrets.GITHUB_TOKEN }}

Am I missing something?

Thanks, this should be addressed now in the latest v1.3.2.

Thanks for fixing so fast!


Toast stops working on AOT.

after aot, toast component stops displaying toasts. Without aot, it works fine.
Cordova CLI: 6.3.1
Ionic Framework Version: 3.1.1
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.6
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Linux 4.2
Node Version: v6.6.0
Xcode version: Not installed

@kodeine,
How can I recreate this issue?
Thanks,
Dan

This should be fixed in 1.3.7.
Thanks,
Dan


Format code-base with Prettier for code style consistency.

Formatting done on an out-of-date downstream. Closing and recreating.


docs(core): VectorStore and Retriever: types, interfaces, classes

Discussion #7142

Added TypeDoc comments for retriever and vector store types, classes, and interfaces.

@jacoblee93 Updated, good catch, thanks.

Are you using an LLM for some of this? Would love to learn more about your process - I did one a long time ago:
https://github.com/jacoblee93/auto-docstrings
But never kept it maintained

Oh, I'll have a look, thanks! LLM - yes, but not to autogenerate it. I usually write it on my own and use llm to validate and polish up my comments as I'm not a native speaker. And to come up with examples (when I'm lazy).


Composer warning during dev setup

Behavior
The exact warning message is this:
Deprecation warning: require-dev.mikey179/vfsStream is invalid, it should not contain uppercase characters. Please use mikey179/vfsstream instead. Make sure you fix this as Composer 2.0 will error.
It appears we simply need to make the dependency name all lowercase to suppress this error and appease the Composer Gods.

Steps to reproduce behavior
This warning appeared during dev/contrib installation via Lando.

How did you install Conifer? (for example, via git clone, GitHub zip download, Composer/Packagist?)
My codebase was set up through a GitHub connection in SourceTree.

Fixed in 56dbdf4d


feat: Generate Missed Schedule Action Records

This is the sixth PR of #4834

Load and trigger the existing scheduled jobs from DB
Calculate and generate the missed schedule action records
Add missing dependency in Attribution.txt

If your build fails  due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-go/blob/main/.github/Contributing.md
PR Checklist
Please check if your PR fulfills the following requirements:

[x] I am not introducing a breaking change (if you are, flag in conventional commit message with BREAKING CHANGE: describing the break)
[x] I am not introducing a new dependency (add notes below if you are)
[x] I have added unit tests for the new feature or bug fix (if not, why?)
[x] I have fully tested (add details below) this the new feature or bug fix (if not, why?)
[ ] I have opened a PR for the related docs change (if not, why?)

Testing Instructions

New Dependency Instructions (If applicable)

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 13.20755% with 92 lines in your changes missing coverage. Please review.

Project coverage is 37.90%. Comparing base (3a869a1) to head (81769e7).

Files
Patch %
Lines

.../cronscheduler/application/scheduleactionrecord.go
18.66%
58 Missing and 3 partials :warning:

...l/support/cronscheduler/application/schedulejob.go
0.00%
28 Missing :warning:

...kg/infrastructure/postgres/scheduleactionrecord.go
0.00%
2 Missing :warning:

...nternal/pkg/infrastructure/postgres/schedulejob.go
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4867      +/-   ##
==========================================
- Coverage   38.65%   37.90%   -0.75%
==========================================
  Files         120      122       +2
  Lines       11544    11807     +263
==========================================
+ Hits         4462     4476      +14
- Misses       6704     6950     +246
- Partials      378      381       +3

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

merge this PR and fix those change requests in the next PR


Fix cri option typo and document socket path

What this PR does / why we need it:
The documented option to mount the CRI socket had a typo.
Also adding a note on standard paths as it is usually not transparent, especially when using managed Kubernetes services.
Which issue this PR fixes
NONE
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/ok-to-test
/approve

/lgtm


App doesn't work anymore since Catalina 10.15.x

The App still works on a factory reset Mac with Catalina 10.15.1
After updating to 10.15.7 the following functionality is missing:

Taskbar icon stays always green
Badge with minutes is not visible
All the timeout settings are not honored and are not working anymore
Basically you can just manually switch between admin/normal with invoking the app

This is also true for all Big Sur Versions and for the latest Monterey
Are there any plans to fix this?

Make sure you're using the latest release. It has been tested and verified to work on macOS Sierra through macOS Monterey:
https://github.com/SAP/macOS-enterprise-privileges/releases/latest

We are using the latest Version, please see the attached Screenshot.
Can you please reopen the issue?

We use Privileges 1.5.2 every single day in our Mac environment and we only support the shipping OS, which was macOS Big Sur and is now macOS Monterey. The problems you're experiencing are not appearing in our environment. This is not a product issue.
I would suggest that something is not configured correctly on your end. Specifically, I would recommend making sure that the helper app is installed and loaded correctly.
For deployment, I would recommend building an installer package using the process described in this blog post:
https://derflounder.wordpress.com/2019/03/20/building-an-installer-package-for-privileges-app/

I am seeing similar issue on BigSir but in reverse, once privileges are granted the icon stay yellow and never times out.  Followed these instructions above.

If the issue being reported is that the default behavior of clicking on the dock icon does not give you time-limited admin, that is a separate issue. Please refer to the FAQ:
By default, is there a time limit on the admin rights granted by Privileges?

No. Admin rights are granted until some process (like running Privileges again) takes them away.

https://github.com/SAP/macOS-enterprise-privileges/wiki/Frequently-Asked-Questions#by-default-is-there-a-time-limit-on-the-admin-rights-granted-by-privileges
Can I set Privileges to give me administrator rights for a defined amount of time?

Yes. You can use the Toggle Privileges option on the dock icon to get admin rights for a set amount of time (the default amount is 20 minutes.)

https://github.com/SAP/macOS-enterprise-privileges/wiki/Frequently-Asked-Questions#can-i-set-privileges-to-give-me-administrator-rights-for-a-defined-amount-of-time
The only way to get time-limited admin is to use the Toggle Privileges option on the dock icon. Time-limited admin is not available otherwise from the Privileges app.

The only way to get time-limited admin is to use the Toggle Privileges option on the dock icon. Time-limited admin is not available otherwise from the Privileges app.

Thank you very much for talking the time to answer. I think i understood this all correctly and as stated above it works, as you are describing it, on a fresh catalina mac. It dosn't work on all the macs with newer versions.
On the Catalina 10.15.1 i can use the "Toogle Privileges" Menu, everything works.
On a fresh installed Big Sur, Monterey (or updated Catalina): There isn't a "Toogle Privileges" menu-item on the dock icon!

I would suggest that something is not configured correctly on your end. Specifically, I would recommend making sure that the helper app is installed and loaded correctly.

I would be very happy to check! Can you point me in any direction? As i said the Mac is a fresh install, no MDM, no Profile. Is there any log i can check?

In my case,  I do see Toggle Privileges but it's grayed out but the stting for Toggle Timeout is set by default to 15 mins through DockToggleTimeout.mobileconfig as you can see in the attachment.  I don't see a countdown and it never locks.

This issue is closed. I will no longer be responding in this thread.


🤠🧩📡 WANTED: Plugins

WANTED: SPR plugins for cool networking projects.
One powerful thing that SPR can do with containers is manage their network access. An integration can be a relay to another network or the public internet without giving full access to local networks.  SPR also provides visibility into what the containers are doing.  And containers can be joined to groups or be tagged to provide Access Control based connectivity to SPR client devices.
Currently wanted:

[ ] Algo https://github.com/trailofbits/algo
[ ] Glutun https://github.com/qdm12/gluetun
[ ] Meshstatic https://github.com/meshtastic
[ ] Nebula https://github.com/slackhq/nebula
[ ] Reticulum https://github.com/markqvist/Reticulum
[ ] Tor https://github.com/TheTorProject

Similar plugins:

[✅ ] SPR Tailscale https://github.com/spr-networks/spr-tailscale

https://atlas.ripe.net/docs/howtos/software-probes.html

mosh to containers

[ ] DNSCrypt plugin for outbound https://github.com/DNSCrypt/dnscrypt-proxy


Umple Code Refactoring

As discussed in #709, refactoring various parts of Umple.
Taken from the previous issue thread (and slightly modified):
For this project I will be doing the following:

Removing coupling and extracting the Parser (RuleBasedParser) and all subclasses into an individual project/Module

Extract the files into an individual modifiable Git project

Modify Ant build to compile all modules into the full version of Umple

Figure out a way for Ant to cache necessary sources for subsequent builds, only updating if the source has changed (perhaps with git hashes?). This way we don't pull in the code for the Parser each time we run Ant, which would increase build times.

Extract the Analyzer into different classes, so it isn't entirely in UmpleInternalParser. This has partially been done, so I just need to finish it, implement it, and test it (probably a lot easier said than done).
General code refactoring/clean up
Removing unnecessary dependencies
If possible, where applicable, I'd like to document as well so that the javadocs don't have empty descriptions
If time: Extract the Code generator (the umple template java generator) into a separate project, as it has further applications outside Umple as well

@vahdat-ab @TimLethbridge @Nava2 @aforward
Everything with regards to the basic refactoring will be discussed here so that it's separate from the plugin architecture.

Figure out a way for Ant to cache necessary sources for subsequent builds, only updating if the source has changed (perhaps with git hashes?). This way we don't pull in the code for the Parser each time we run Ant, which would increase build times.

Most "submodule" solutions will let you tag a repository with a branch or commit (even if you use the generic approach). I would not worry about this too much, it should be a given by the solution.
Whatever solution is used, "fetching" the repository should bring in all of the modules as required. I would strongly suggest not considering "optional" modules.

Most "submodule" solutions will let you tag a repository with a branch or commit (even if you use the generic approach).

I'm still personally in favor of a submodule approach, but @aforward and @TimLethbridge are less for the idea -- which is why I'm looking into pulling it in during the build portion instead.
This way it can still be an individual project managed through git, but something that is built as part of the build process (instead of embedded in the repo). The only issue with this approach is that, if not done correctly, it could require frequent downloads of the source code for the build. If I can find a way to properly cache the code downloaded from a separate repo and only update if there have been changes made, then this could resolve this issue entirely without any need for submodules.
For the time being I'm going to be working on decoupling some of the classes and extracting them into the same repository, but in a root-level directory. This way when a solution is decided on it should be easier to move it to a separate repository later.

I'm still personally in favor of a submodule approach, but @aforward and @TimLethbridge are less for the idea -- which is why I'm looking into pulling it in during the build portion instead.

Caveat to having something in Ant.. there will be little support for "modern" tooling with Ant. Additionally, it would likely put a hard requirement on having an internet connection -- this is a problem, checkout #699.
I'm fairly confident a tool like Gradle would have a plugin that someone wrote somewhere. If not.. writing this advanced of logic in Groovy would be a god-send in comparison to Ant. shrug

For the time being I'm going to be working on decoupling some of the classes and extracting them into the same repository, but in a root-level directory. This way when a solution is decided on it should be easier to move it to a separate repository later.

Great. Solid start! :+1:

I'm sorry for all the "yellow fever" that this will might give your warning screens, but I would recommend working through Eclipse, turning up the Java warnings and really working to remove them. Some will be problems with generated code, but perhaps they can be fixed too?
Eclipse Warnings

I was positive I replied to this the same day you posted -- sorry about how late this is!
Though that is a great idea, it might be moving a little bit further from the original scope of the project. I just don't want to get too side-tracked and not be able to complete my term project (extracting the parser and working on the Analyzer).
Definitely not something I'm discounting though -- I'm happy to look into it when I have the time, since it seems like an important thing to have correct.

So I encountered something a little strange in the RuleBasedParser, and I was hoping someone may be able to explain it.
The method setupRules(boolean forceParse) in the RuleBasedParser has some code with execution paths that are never reached.
Here's a small snippet of what I'm referring to starting at line 74 of GrammarParsing_Code.ump.
    boolean mustParse = true; <-- This never changes
    try {
      File rulesfile = new File(new File("cruise.umple").getAbsolutePath()+File.separator+"bin"+File.separator+"rules.grammar");

      if(rulesfile.exists()&&rulesfile.canRead())
      {
        reader = new BufferedReader(new FileReader(rulesfile));
      }
      else
      {
        resourceStream = getClass().getResourceAsStream(File.separator+"rules.grammar");
        if(resourceStream == null)
        {
          mustParse = true; <-- This is always true
          reader = null;
        }
        else
        {
          reader = new BufferedReader(new InputStreamReader(resourceStream));
        }
      }
      if(mustParse || forceParse) <-- mustParse is always true, this is the only flow of execution
      {
        readGrammarFiles();
        if(rulesfile.exists()&&rulesfile.canWrite()){
          rulesfile.delete(); <-- Delete the file ?
        }
        // ...
      }
      else if(reader!=null) <-- Never reached
      {
        // ...
      }

mustParse exists in only 3 places in this entire method. It exists in the declaration, beginning as true. It changes to true if the resource is not found, and then the if statement checks if it's true.
This means that the entire flow of execution will always hit that first if statement, and never reach anywhere else. Even more curiously, this file gets deleted in the event that it exists on the disk, and everything continues on without ever making use of it. Another weird thing is the fact that I can't find a rules.grammar file in the repository anywhere, so I'm not sure why that's hardcoded.
Does anyone know if this code is in any way important, and left this way as a temporary measure?
A git blame shows this was written in late 2013, where the original code had mustParse start as false -- but later changed by the same person (Geoffrey Guest) in early 2014 to start as true. This makes me suspect that it's just outdated/deprecated code that is no longer necessary.
Commenting or deleting the unnecessary lines (expectedly) resulted in it compiling perfectly and passing all the build tests.
Does anyone have any thoughts on this?

What is supposed to be happening is that the grammar must only be parsed if the cache does not exist. If you are going to be doing a lot of compiles, then the idea is parse the grammar and save the cache of it that can be quickly loaded, then delete the cache (in the build process) when you are done. The build does delete that cache, and when must parse is true presumably it should delete the cache before parsing the grammar and recreating it.
Rules.grammar should never be saved in the repo ... it should exist only during a build.
However why it was changed in 2014 to set it to be always true is unclear. This might have been a temporary workaround for something.
Can you set the boolean mustParse = true; line to false and see what happens. In particular, see if there are any timing differences if, for example you compile Master.ump 2 times in a row with it false as opposed to with it true, or compile a simple file 100 times in a row with it false as opposed to true. If it turns out to not make a significant difference, then we should consider deleting that cache functionality.

I was going to reply to the email you sent regarding the rules.grammar file, but I'll just reply here instead.
Thanks for getting back to me about that, I could not figure out what the point of that file was supposed to be. It's a smart idea to keep a cache of the grammar, but very strange that it being disabled has gone unnoticed for so long.
I will test the performance with and without the cache to see if there's any reasonable timing differences, then post the results here.

Sorry I didn't get back to this sooner, I had a lot of work over the week and didn't get much chance to work on this until today.
I made the proposed change with the boolean flag and ran performance evaluations between the changed one and the original. Originally both results were nearly identical, and so I decided to look into the code to figure out what was happening.
It turns out that the current code never even creates a rules.grammar file anywhere, and so even by changing the flags it still never hit the branch for the cache. The original code that created the file was thankfully still available in a block comment in the file, and so I uncommented it and ran it -- which worked.
After that I ran some performance evaluation comparisons between the original and the changed one. For all tests I did multiple runs, and took the elapsed time and calculated the average time it took to run.
The results of the tests are below, along with the script I used to run the tests.
Results
master.ump
I compiled master.ump 10 times with the original version, and then with the changed one.
Without Caching
matthew[ ~/workspace/multifaceted/umple ] (master)$ umple_test.sh 10 cruise.umple/src/Master.ump
Executed 10 times
Time elapsed:<PHONE_NUMBER>52 s
Time average: 14.76950433520000000000 s

With Caching
matthew[ ~/workspace/multifaceted/umple ] (refactor)$ umple_test.sh 10 cruise.umple/src/Master.ump
Executed 10 times
Time elapsed:<PHONE_NUMBER>50 s
Time average: 15.25112273500000000000 s

Small .ump project
I compiled the coordination state machine example 100 times with the original and with the changed one:
Without Caching
matthew[ ~/workspace/umple/crisis_example ]$ umple_test.sh 100 crisis.ump
Executed 100 times
Time elapsed: 82.024383248 s
Time average: .82024383248000000000 s

With Caching
matthew[ ~/workspace/umple/crisis_example ]$ umple_test.sh 100 crisis.ump
Executed 100 times
Time elapsed: 85.536402408 s
Time average: .85536402408000000000 s

Discussion
On all tests, the cached version ran 3 to 4% longer than the non-cached version. These results came as a surprise to me, as it appears the caching actually causes a performance impact.
At first I was worried it was re-creating the cache each time it was running it, but a few successive runs of testing the branches proved that wasn't the case. I'm not entirely sure what is causing the penalty as I don't have detailed knowledge of the parser.
Given all this, what would be the best course of action for the cache? Caching sounds like a smart idea, but in practice is proving to be more detrimental than useful -- at least in the current state. It's still possible that it may prove to be useful in the future, but would require some performance tweaking/work.
The Test Script
For reference, the script I used for performance timing is just a simple bash for loop that calls umple n times in succession while timing it:
#!/bin/bash

# ... checks omitted for brevity

# Start timing
nums="$1"
start_time=$(date +%s.%N)

for((i=0;i<$nums;++i))
do
        umple ${@:2} >> /dev/null
done
end_time=$(date +%s.%N)

# Calculate results

secs=$(bc -l <<< "$end_time - $start_time")
average=$(bc -l <<< "$secs / $nums")

echo "Executed ${nums} times"
echo "Time elapsed: ${secs} s"
echo "Time average: ${average} s"

Interesting. I suggest we don't 'delete' it but add a comment referencing this issue, and pointing out that it actually runs slower with caching. Then just leave  it inactive.

So I ran into a little bit of a snag dealing with the parser that I was hoping for some suggestions on.
Some of the classes relating to the RuleBasedParser are actually from a completely different namespace because they are also used elsewhere. Classes like the Token and ParseResult, to name a few, are part of the cruise.umple.compiler package -- whereas almost everything else relating to the parser is in the cruise.umple.parser.
It doesn't seem as simple as just moving some classes from one namespace to another, since a lot of this is heavily tied to the UmpleInternalParser and the classes that implement Parser (of which RuleBasedParser is not one of).
Given that we are looking to extract the parser into a separate project, in my opinion, it doesn't seem ideal to simply move them from one namespace to the other. Particularly because the UmpleInternalParser and other Parser subclasses would then be relying on a class from an outside project extensively to build parsers internally.
The only way I can see this working nicely is to perhaps move the Parser interface to cruise.umple.parser and move all the classes strictly relating to parsing into there as well. From there we can perhaps make RuleBasedParser implement the interface as well.
This way Parser would just be a public API that we can make use of from inside Umple.
I'm open to any suggestions for how to deal with this though. Does anyone have any thoughts?

I am OK moving those classes into the separate NS.  Please note that the name UmpleInternalParser was only named that way (instead of just UmpleParser) as we had some efforts a long time back to replace our parser with an external framework. So it's no more "internal" than classes in the project.
The fact that it makes heavy use of Token, for example, is a good thing so long as it accesses it through the public interface.

Interesting finding on "caching" (seems long the wrong term :wink:). You should consider a few things:

Replace string concats with StringBuilder (sorry, this is obvious)
Instead of using a handmade cache mechanism, checkout Guava's Caches -- always looking at the cache for a value before computing could be a significant speed up, serializing and deserializing the cache from a file is questionable

I saw you commented about caching on your UCOSP log, figured I'd add a comment here. :+1:

Please consider that UmpleInternalParser is not just parsing Umple files. All analysis activities are done in this files.
if there is a need to use some classes from Parser it should be done through interfaces (as you also indicated). I know it's gonna be challenging because they are a heavy use of them inside UmpleInternalParser.

So I've gotten myself a little stuck trying to clean up references to UmpleFile in the parser, and I'm hoping someone may have a suggestion on how to fix this.
Right now, UmpleFile is passed to RuleBasedParser and then to all related classes (GrammarAnalyzer,ParserDataPackage,RuleBasedParserThread,etc).
Mostly it is used for just the filename or path, but in the GrammarAnalyzer it does something a little different. It calls a method from ParserDataPackage called AddExtraFiles, which appends the UmpleFiles.getLinkedFiles() string to the raw parser input. (geLinkedFiles() just returns a string of "use <umple file name>.ump; \n [use ...]")
Simply put, it directly modifies the raw input before parsing it by manually appending the umple-specific use statements for each linked file so that they get properly linked together. This, of course, is not particularly generic as far as parsing goes and thus would not be applicable outside of Umple -- hence the need to change this.
The problem is, I'm not sure how. This seems to be done so that the parse tree produced will properly recognize linked files to parse later -- and thus the way it is currently written. What I'd like to do is make it so that the RuleBasedParser, or perhaps the GrammarAnalyzer can simply be passed an array of string filenames (or alternatively file objects) that it then links together in the parse step -- but I'm having a lot of difficulty finding where this can be done with the current state of the parser, without doing an entire re-write.
I've tried a little grepping through the source, but I haven't turned up much useful results.
Does anyone happen to have any information or ideas that may be able to weigh-in on this one?

This looks like a really tricky case.
we cannot give the list  of files that are needed to be parsed and analysed to the parser because we use the parser to get that list. This is a cascade process. We don't parse Umple files based on Folder/Project.
What currently comes to my mind is keeping that feature as a part of Umple parser (as a selling point). We can provide this feature along with the way that allows people add manually their files to the parsing list. This list will be parsed incrementally and will make one model. In other words, Umple parser provides a feature which allows making that list automatically.
The keyword use must be a part of parser configuration process that can be changed by users. The reason is that what if people want to use the keyword use for sth else. There should also be a mechanism to disable it if people don't want to use it.
We need more thoughts because this just came to my mind. Let's see what others say.

I forgot to mention that the reason I was thinking to pass an array of files is that Umple currently makes use of the getLinkedFiles() method in the command-line for if the user wants to compile more than one file (e.g. java -jar umple.jar foo.ump bar.ump would link foo.ump and bar.ump in the parser). But you make a good point that it is a cascading job.
I'm not so sure about keeping it as a core/configurable selling point though -- at least not in it's current state. In my opinion, to make it as generic as possible for the end-user, it should be up to them to decide whether or not they want a file-link feature. It's entirely reasonable to want a parser to parse only single files at a time.
I've been looking deeper into this since first posting that question, and I think I found where it parses further files; it looks like the GrammarAnalyzer looks like the identifier "useStatement", which is hard-coded from the grammar. Any time it finds that token it runs a parser action that seems to parse that new file and append those tokens in place of the "useStatement" to produce a parse-tree.
I've also found that GrammarAnalyzer, RuleBasedParser, and RuleBasedParserThread are all very tightly coupled with each other (in-part due to the fact that RuleBasedParser acts almost like a singleton without actually being a singleton, thanks to it using static variables). This makes modifications to be quite tedious without breaking anything since they are all modifying the state of the same object (this has resulted in quite a few rebuilds of Umple to fix mistakes!).
Another issue I'm running into is that GrammarAnalyzer makes extensive use of classes from cruise.umple.analysis, which is specific to the Umple project.
And so, from this, I'm starting to think that my best course of action for handling this linkage problem and combat the coupling may just be to use an extra level of indirection. Basically just extract out the generic/important features from GrammarAnalyzer into an abstract superclass, leaving abstract methods as hooks for implementation to decide the capabilities for. From this, we can have our UmpleGrammarAnalyzer that adds the specific syntax support that we know and love.
Any thoughts?

The issue of allowing someone to compile several files at once on the command line is something that @vahdat-ab did as his first work item when he arrived, if I remember. We had quite a few requests for this. It is normal in a compiler to be able to compile several files together at once.
I don't have concrete suggestions for solving this, other than doing whatever refactoring is needed.

It's definitely normal for such functionality in a compiler, and I'm not suggesting to remove it or anything. I was more commenting on specific notation of use <filename>.ump, which is specific to Umple and wouldn't be particularly portable.
Even with a configuration, parsers for different languages may handle file imports in vastly different ways depending on language semantics (Take C/C++ for example, with triangle brackets searching for files in the include path vs quotes which are relative to the file). Or alternatively a parser may be used in a program that isn't a compiler, or doesn't need a cascading import semantic.
The biggest hurdle I have to deal with right now is the way the GrammarAnalyzer is implemented. Ideally the parser should be able to return a parse tree that is then analyzed by the analyzer. Currently it constructs a parser, which constructs an analyzer, which constructs a parser, and then constructs parser threads which construct more parsers. The result of the analysis is actually what is used for the ParseResult of the parser's parse(...) operation, which complicates it further since the analyzer is essential to returning a result.
I'm actually going to look into whether or not it's possible (in its current state) to sever ties with the GrammarAnalyzer, and delay the analysis until after parsing -- but I don't think it would be possible without almost entirely rewriting both the parser and the analyzer (hopefully I'm wrong!). Plus, the parser currently depends on the analyzer being constructed because it uses it to determine whether it needs to analyze grammar more than once (which is why I am thinking to use a level of indirection to work with this instead of severing ties).

I was instructed by @vahdat-ab to post this here from my recent Pull Request (#802)
My most recent changes do the following:

Removed StringFormatter references in the GrammarAnalyzer.ump files. Most of this was able to be handled with simple string concatenation anyway.
Removed UmpleCompilerException from the parser. This was basically just a simple extension of RuntimeException that didn't use any of the extensions anyway.
Moves the main Analyzer class to cruise.umple.analysis. This is the base class for all analyzers that will be constructed in GrammarAnalyzer.
Changes all calls from UmpleFile to File. Linked files are now handled as an array of File objects supplied in the parse(...) method. UmpleModel can now be passed the main File and the list of linked Files in its construction. For the cases that UmpleFiles are still passed, a temporary solution is used in UmpleModel that splits UmpleFile's getLinkedFiles() and translates it into a list of File objects. This was done because a large amount of features or tests in Umple rely on the original constructor, and changing it would result in a large amount of changes. That said, this is a step toward deprecating the use of UmpleFile.
Action tokens are now assignable in RuleBasedParser. When you assign an action token (which expects the token name and the ParserAction to perform) it will cascade the call to the GrammarAnalyzer if one is constructed. If one is not constructed, it will automatically populate the GrammarAnalyzer with the actions when it is.
ParserDataPackage now contains information about the GrammarAnalyzer being used. This is important for being able to create actions that produce RuleBasedParserThreads, such as when you encounter a 'use' statement.
Construction of analyzers, and linkage of files have been extracted out into the two handler classes, AnalyzerGeneratorHandler and LinkedFileHandler respectively.

AnalyzerGeneratorHandler requires an implementation of generateFromName(String name) that generates and returns an Analyzer object based on the string name of the token. In Umple this generates analyzers using reflection from the cruise.umple.analysis. namespace.
LikedFileHandler requires an implementation of onFileLink( String input, File[] linkedFiles ) that handles linkage of files and returns a string modified from input. In Umple, this generates a series of "use" statements prior to parsing so that the parser will add the files in-place.

Implementations of the handler classes are given in UmpleInternalParser_CodeParserHandlers.ump. These are just concrete implementations that will be used in the parser, and were placed here since this is where the RuleBasedParser gets instantiated to begin with.

Now, with that said, the next important detail to look into is how to handle the Parser separately without the need for Umple to be carried along with it. Currently, the files necessary for the parser to compile are the following:

GrammarParsing.ump & GrammarParsing_Code.ump
Parser.ump & Parser_Code.ump
ParsingRules.ump & ParsingRules_Code.ump
TextParser.ump & TextParser_Code.ump

these are tested by the following tests:

cruise.umple/test/cruise/umple/parser/TextParserTest.java
cruise.umple/test/cruise/umple/parser/PositionTest.java
cruise.umple/test/cruise/umple/parser/ParserTest.java
cruise.umple/test/cruise/umple/parser/RuleInstanceTest.java
cruise.umple/test/cruise/umple/parser/TokenTest.java
cruise.umple/test/cruise/umple/parser/RulePartTest.java
cruise.umple/test/cruise/umple/parser/CoupleTest.java

This can all be compiled with a simple master.ump file such as the following:
generate Java "../src-gen-umple";

strictness allow 1006;
strictness allow 1007;
strictness allow 1008;
strictness allow 46;
strictness allow 36;

use Parser.ump;
use ParsingRules.ump;
use TextParser.ump;
use GrammarParsing.ump;

So the big question is where should this be handled? This can be handled in a variety of ways, such as being an independent git project brought in as a dependency, a sub-project (or just a directory) in the current Umple repo that's brought in during the build step, etc.
Does anyone have any thoughts or suggestions as per the best way to handle this?

My suggestion, is to use a top-level directory UmpleParser  with its own src, build and src-gen-umple directories in the Umple repo. Its own build could generate a standalone parser. It would have a Readme.md also to describe how to use it (and where to put grammar files). The main Umple parser would run the compile of the parser using the parser's build script, and then copy in the generated java files, into cruise.umple/src-gen-umple as is done for the UmpleToJava or UmpleToPhP.
This approach would avoid getting into dependency hell that we have found so great to avoid. We could later make the decision to move it into a separate repo.

Sounds like a good first-step. Should the tests all remain where they are in the cruise.umple/test/, or should they migrate to the new directory as well?

I think best to move the tests too.

So I've done work with Ant in the past, but never with the configuration like we currently have in Umple -- which is making the process of writing a working Ant script confusing. The other projects, as far as i can tell, don't have their own unique build directory either, so I don't really have much to base this off of short of the full build.
The current build for Umple seems to grab information from _template.xml which defines important context information for the build, such as where the previous Umple jar can be located. I would assume I would also want this information as well, so that if ever the location of the jar changes the script will update with it. But here's where I'm confused:
The main build.xml file defines the root drive as .., which means the main build area is in the root of Umple instead of the build directory. Since _template.xml refers a lot to ${basedir}, wouldn't that mean my script (being in UmpleParser/build/build.xml) would have to define the base dir as ../..?
The other thing that I'm unsure of is the fact that the _template.xml defines many of the template build targets that wouldn't be necessary for the build of the parser.
Am I perhaps approaching this wrong? Is there another way/a better way of retrieving the current umple jar compiler path for compiling the parser source?

Umple is really the only ant script I am familiar with, and I use the word 'familiar' in the sense that when I need to figure something out I debug it, but I have not studied it in depth. But I can see your conundrum. I don't have any immediate suggestions, nor the time to spend to figure it out for you.
One thing I can say for sure is that at least on Linux and Mac there is a symbolic link called dist/umple.jar that points to the most recent compiler But this isn't created on WIndows and is only to help users of Umple do manual testing.
@aforward knows more about the ant scripting since he created it originally
You are right at the end of your semester; one suggestion might be to ignore what I said above and simply put the build of your work in the build.umple.org as a very simple ant target (much like codegen) that could be invoked in the same manner as codegen. At some later point it could be refactored to make it work independently for other developers to use externally to Umple.

You are right at the end of your semester; one suggestion might be to ignore what I said above and simply put the build of your work in the build.umple.org as a very simple ant target (much like codegen) that could be invoked in the same manner as codegen. At some later point it could be refactored to make it work independently for other developers to use externally to Umple.

I could always start by doing it this way, but port it after looking deeper into the issue. Right now, even if I was able to make the build work properly it would drag in extra unnecessary build-targets that could cause problems. The only other way I could think of is to repeat data from the other scripts that set up the various variables, but that could cause problems if anything changes. Alternatively, the _template.xml could be broken into a script that strictly handles definitions, and then the build script could import just those definitions.
I'll start by doing the simple build as a separate target so that it could be used as the basis for a change in the future, but it feels unfinished and I would like to change at some point later.

I am closing this issue. The core parts of it were all done (pulling out parser). Other refactoring and adding documentation would be useful too, but better as a separate issue.


Fixes both #100 and #101

Fixes both #100 and #101
#100 Adding bodyParser plugin twice no longer blackholes requests.
#101 Fix failing test by adding metrics.inflightRequests as a proxy to unfinishedRequests

@DonutEspresso @rajatkumar any other concerns?


Cant make transaction

i am trying to send zcl grom wallet and an erroc accured ! "Server did not answer"! whats the problem ?

This wallet is useless

Sorry you're unhappy. We had nearly 20,000 concurrent users yesterday. I hope you've gotten connected - if not check the servers and try both:


When do you think the code might be available? Thank you

Sorry for our delay! I hope we can get it ready by the end of this week. Please check our project page for more updates.
http://cseweb.ucsd.edu/~viscomp/projects/CVPR20Transparent/

Sorry we did not get it ready yet. Hope that it will be done this week :-).


Property-level access control on entities

I offer an idea to add a function on entities to determine if a property has Read or Write access for the current user. Here is an example for a hypothetical Event entity, which has some public properties, some config properties, and some read-only properties:
checkPropertyAccess: function(propName, accessType) {
    accessTypes = [];
    configurationProps = ['invitationEmailTemplate', "reminderEmailTemplate"]
    readOnlyProps = ['rsvpYesReplies', 'rsvpNoReplies', 'rsvpMaybeReplies']
    //grant READ access depending on property and role
    if (!configProps.contains(propName) || currentUser.hasRole('ADMIN') || this.eventAdmins.contains(currentUser.id)) {
      accessTypes.push('READ')
    }
    //grant WRITE access if eventAdmin, for all except readOnly props
    if (this.eventAdmins.contains(currentUser.id) && !readOnlyProps.contains(propName)) {
      accessTypes.push('WRITE')
    }
    //grant superuser WRITE access to any prop
    else if (currentUser.hasRole('ADMIN')) {
      accessTypes.push('WRITE')
    }
    return accessTypes.contains( accessType);
  }

Note: this is pseudo-code, I don't know how to access the currentUser or how to define roles, etc.

New roles system solves this


Bandwidth Usage

Can you add the bandwidth usage log with graph for this project?

It's possibly in the distant future but I think something like this is better accomplished with an Elasticsearch / logstash setup.


etcdctl: Add aliases for command flags.

Add aliases to the flags that are supplied to the sub commands.
Fixes #4866

@xiang90 I have added aliases to some of the flags. I have not added aliases for flags that have 2 words. Please let me know if anything needs to be changed/added or if there is any specific format that needs to be followed.

SemaphoreCI failure seems unrelated.

@xiang90 We should probably add an alias if the flag is more than 4 letters? If we stick to that then there are some more flags for which I need to remove the aliases.

@ajityagaty I feel so.

@xiang90 I have removed aliases for all flags that are <= 5 in length.
Also, the SemaphoreCI error seems unrelated.

LGTM.
@ajityagaty ci failure is tracked at https://github.com/coreos/etcd/issues/4889

@xiang90 Thanks !


Problem with "subnets" variable

Following code
module "api_alb" {
  source                     = "git::https://github.com/tmknom/terraform-aws-alb.git?ref=tags/1.4.1"
  ...
  subnets                    = module.vpc.public_subnets
  ...
}

Throws error:
on .terraform/modules/api_alb/main.tf line 29, in resource "aws_lb" "default":
  29:   subnets = ["${var.subnets}"]

The problem is here: https://github.com/tmknom/terraform-aws-ecs-fargate/blob/master/examples/complete/main.tf#L86
It seems it should be:
subnets = "${var.subnets}" # no array parens since var is already a list

instead of
subnets = ["${var.subnets}"]

I checked by manually updating .terraform/modules/api_alb/main.tf and after this change it works.
Using Terraform:
Terraform v0.12.7
provider.aws v2.26.0

Hmm sorry upgraded this module from "1.4.1" to "1.5.1" and it works


feat: make event error options closed type

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#194  👈
#193
#192
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @pevisscher and the rest of your teammates on  Graphite


How do you use Calligraphy on DatePicker?

I want to change the fonts on a DatePickerView

If it's created from inside your Activity and that Dialog inflates views, then it should work otherwise you'd have to do it by hand regarless of using this or AndroidX solution.