Query time computation (custom GraphQL resolvers)

Description
Solidity contracts can have view/constant functions that do calculations for free. A some-what common pattern is for solidity developers to do this, and then hit an ethereum node for free from the front end to show to most up to date data.
Example of a protocol doing this
Specifically, Compound does this, and for their case it makes a lot of sense. Each block their users accumulate more interest based on the block number increasing. The storage of the smart contract doesn't update, but if you were to cash out your earned interest it would accumulate the amount right before cashing out.
So we have this idea of freshEarnedInterest and staleEarnedInterest where the fresh one is calculated to the most recent block, and the stale one with the most recent block the user interacted with the protocol, and is the real stored value on the blockchain.
Proposed Ideas on handling this

Block triggers doesn't really work. For certain situations I am sure it would. But in this case it doesn't really. There could be 1000's of users signed up for compound protocol V2 within a few months. To trigger on a block, and update each user is unrealistic, and inefficient. So block triggers isn't really a solution
Query time computation seems to be the best solution. At the time of any query, the subgraph could do calculations based on block number, or other values. It would probably also be beneficial if the query time computation could do direct contract calls, and take advantage of view/constant functions in the solidity code. This is because it isn't always easy to replicate the calculations in AssemblyScript as it is in Solidity. Some things might even be impossible right now.
As a note, developers should be able to do these calculations easily on their front end with web3 and such, and many queries to infura. But long term we definitely want to  make the graph nodes easily do this, so it isn't needed in the front end.

Next Steps
So I suggest query time computation. I imagine this is an epic, and might take a while, so looking for input on the following:

Agreement or disagreement on the query time computation
Whatever is agreed upon, starting up the process to put in the pipeline of work to be done, and get some sort of estimate

Ran into this with Uniswap as well (first time I ran into it was Compound)
For reference, here is a practical explanation of what is needed for Uniswap:

A user wants to know their unrealized profit from providing liquidity
They own 2 / 100 liquidity tokens, so if they cash out, they will get 2% of all ether and tokens stored in the contract
they have provided 1.5 ETH and 250 DAI
the exchange has 77 ETH and 13000 DAI
the token price is 168.83

We have all the values to calculate their return:
originalInvestmentInEth = (1.5ETH + 250DAI) = 3 ETH
returnInEth = (userLiquidityTokenBalance/ totalLiquiditytokens)( ethBalanceExchange + tokenBalanceExchange/tokenprice ) - originalInvestment
returnInEth = (2/100)(77 + 13000/168.83) - 3
returnInEth = 3.08 - 3 = 0.08

The pattern to pay attention to is that the exchange is always up to date with live numbers, but the user info is out of date, but can still be used to calculate their return based on the live exchange info.
And there is currently no good way to show this in subgraphs that are only triggered on users interacting with the protocol. Calculating this every block isn't a good idea because you need to do it for 1000's of users, all the time. A query time calculation works really well. The pattern is very similar in compound.

Rationale / Use Cases
See comments above for use cases.
Requirements
User must be able to define fields whose value is determined at runtime, by executing user-defined logic that has access to APIs such as store.get and contract calls. This logic will be defined in a WASM function, so that it synergizes with the existing support for WASM mappings. The input to this function will be the entity to which the field being resolved belongs, with all of the stored fields set. In the MVP, only scalar fields can be custom resolved, not entity fields.
Proposed User Experience
A resolverModule field is added as a subfield of schema in the manifest, it specifies a WASM file just as we currently do for mappings. In the GraphQL schema, an entity with a custom-resolved field looks like:
type Entity {
    field: Int! @resolvedBy(func: "resolverName")
}

where resolverName is a function exported by resolverModule  (suggestions needed for the syntax and naming of the manifest field and directive). That function would have the signature:
export function resolverName(entity: Entity): Value

it takes the generated entity type as an argument, the same one we generate for the schema, and returns a store value. That function has access to the same imports from the host as mappings, except those that mutate the store. At least for the MVP, ipfs.cat is also forbidden, none of the current use cases require it and the semantics of an IPFS timeout during a query are not obvious.
For a consumer of the subgraph, querying a custom-resolved field is syntatically the same as querying any other field. However custom-resolved fields cannot be filtered or ordered by. After the MVP we could implement the filter operations, though they would be fundamentally slow because custom-resolved fields cannot be indexed.
For mappings, it's important to note that store.get will not return custom-resolved fields, not for the MVP and probably not ever. It would be bad for performance, could throw us into an infinte loop and is just unecessary since the user can call the custom resolver directly.
Proposed Implementation
graph-node: Needs to accept the new manifest field and the schema directive. The manifest field is added to the subgraph of subgraphs. The important changes are in the graphql resolver logic. When an object is being resolved, custom-resolved fields are executed last, so that they naturally have all other fields available in the result map. The resolver then checks for the directive, and if present it will instantiate a WasmiModule  and execute the custom resolver by passing in the result map (excluding other custom-resolved fields) as the argument entity. The returned store value is then converted to a query value and coerced. Parallel resolving is something the design allows, but will not be done for the MVP.
To instantiate the WASM module the first time, the resolver must query the IPFS hash of the resolver module from the subgraph of subgraphs, fetch it from IPFS and create a ValidModule. The resolver will keep an LRU cache of the last 100 ValidModules to speed up instantiation.
Open question: Is this implementation mostly compatible with SQL query combination #857? I'd like to think so, what do you think @lutter?
graph-cli: The new manifest field will be accepted and the WASM file uploaded to IPFS as we do for mappings. No special validation will be done for the MVP.
graph-ts: No changes required.
Proposed Documentation Updates
The manifest and schema changes will be documented in the appropriate places. A new section is added to "Define a subgraph" called "Custom resolvers" which documents example usage of the feature.
Proposed Tests / Acceptance Criteria
It should be possible to write a comprehensive test for this feature as a graph-node unit test. We should also prototype one of the real use cases before merging.
Tasks

[ ] (0.5d) graph-cli: Accept new manifest field, compile and upload the WASM file to IPFS.
[ ] (0.5d) graph-node: Parse new manifest field, store it in the subgraph of subgraphs.
[ ] (3d) graph-node: Update resolver to be able to instantiate and execute the WASM modules, pass in the input and extract the result.
[ ] (2d) graph-node: Write unit test for custom resolvers.

looks good on my end for what is required/desirable for the functionality !

@leodasvacas looks good to me. Custom resolvers require that we do a post-processing step after we query the database, i.e., we transform the user's query into one that only mentions data we actually store, get that data from the database, and then execute a resolver over that data that runs user-supplied functions.

User-supplied functions can be slow, and at the very least we should give users a way to understand whether a query is slow because getting data from the store is slow, or because user-supplied functions are slow
It would be better to not make the arguments to user-supplied functions the entire entity, and rather have the user indicate which attributes to pass into the function, something like an annotation @resolvedBy(func: "resolverName", args: ["attr1", "attr2", ..])  That way, when we get data from the store, we can replace field with the args the user mentioned. The reason for that is that some entities are big, and fetching the entire entity if big attributes aren't needed introduces unnecessary overhead

One other thought: this functionality doesn't really change what a subgraph is, but with the current design, changing a resolver function would result in an entirely new subgraph. What about defining these functions in the query itself? What I am not clear on for that is how the user would get WASM code into their queries.

One other thing: we could also go with something like this:
type Entity {
    attr1, .., attrN
    field: Int! @resolvedBy(func: "resolverName")
}

and then in queries have users write
entities {
  attr1
  field { attr2 attr3 }
}

which would cause the function for field to be called with a JSON value representing { attr2 attr3 }.
The query we run to fetch data from the store would simply be
entitites {
  attr1 attr2 attr3
}

The thing that's a little mindbending is that the parent object for resolving { attr2 attr3 } would be the entity, i.e. descending into field does not change the parent object as it does for other relations. It would make it possible to pass the result of more complex subqueries into the resolver function though.
In general, it would be good to disallow calling store.get in the resolver function since that can easily lead to N+1 query problems; I think allowing subqueries as arguments to user-supplied functions would greatly reduce the need for store.get.

@lutter Thanks for the review!

Custom resolvers require that we do a post-processing step after we query the database

Yes, just like graphql coercions, how big of a change this will be depends on whether we'll have coercions on the first implementation of SQL resolvers or not. I left a comment on the SQL resolvers issue about this.
Also I realized a flaw in my implementation plan (I'll update it), we can't just re-use the result map because the inputs to the resolver may very well not be present in the query, so we'll need to modify the query to include those inputs. This complication makes me wonder if we should block this on SQL query combination.

User-supplied functions can be slow

Good point, we should differentiate the time taken by custom resolvers when logging the query time.

It would be better to not make the arguments to user-supplied functions the entire entity.

I totally agree, I'll update the design to include the args parameter. Do you think it can be optional, so by default we return the entire entity? In that case it could be added after the initial implementation. This does relate to the sub-entity question, see the end of this comment.

This functionality doesn't really change what a subgraph is

I agree that adding a custom resolved field is simply a convenience and is 100% backwards compatible for a subgraph. However this does change the capabilities of subgraph and should change the ID. It's a waste to re-index the subgraph because of this, but there is a more general solution which is data source de-duplication.

What about defining these functions in the query itself?

Consumers can already do whatever calculation they want on top of the data, if this were moved into queries the re-use and abstraction value would be lost.

and then in queries have users write

I don't see the value in having inputs written in queries when the query doesn't have any control over them.

I think allowing subqueries as arguments to user-supplied functions would greatly reduce the need for store.get.

That would be a nice optimization, but I think we can do it backwards-compatibly by having store.get return a pre-fetched object rather than hitting the store.

Conclusions from our meeting on this (@Jannis @lutter do say if I forgot an important point):

We should include more validations, such as if the function actually exists in the WASM module, be it in graph-cli or graph-node, preferably both.
The args argument should be mandatory and implemented now, so we encourage people to consider what fields they actually need so the query is more performant.
We will not pursue store.get optimizations (yet) or forbid it, specially considering we'll allow contract calls which are much slower.
If a custom resolved field fails to resolve, we should fail gracefully and return a partial result.
This and SQL query combination interact with each other but don't block each other, we can work in parallel.
TImings for custom resolved field should be logged separetly.

I've updated the plan and tried to break up the estimates more, and give myself more time. The detail level in the tasks is not great but I'm at the limit of my capacity to plan and estimate ahead.

A design issue that wasn't covered in the plan is what ABIs the resolver module will have access to for the contract calls. I see two options:

The resolver specifies its own ABIs. I'm not a fan of this because it puts ethereum specific information in the schema section, and that ABI is probably duplicated from a data source anyways. The manifest would look like:

- schema:
   - file: ./schema.graphql
   - ethereumAbis:
      - name: Foo
      - file: ./abis/Foo.json

The resolver can implicitly access any ABI defined in the manifest. This is my preference, it doesn't require changes to the manifest and the resolver can import any generated contract class and it will just work. The concern is if there are two ABIs with the same name pointing to different files. We should detect and warn on this case, it doesn't seem worth supporting and it's plausible that in the future we'll change the manifest structure so that all ABIs are in fact in one place.

I believe we are prioritizing this for the compound subgraph. @Jannis @leoyvens
I imagine this will have to get queued up for engineering priorities?

@Zerim Did you have thoughts on how to implement this in the past?

As I mentioned in Slack my main interest here was that the interface for custom resolvers be implemented in the client-side query engine rather than adding additional complexity to the graph node.
I think the resolvers could be written in WASM, but they could also simply be written in Javascript (ES5), since it will be running on the end user's machine and that is what the query engine is transpiled to.
This would be related to the work of decoupling the query engine from the graph node and making the main query interface for the graph node use the read interface that @lutter has been designing for the hybrid network.
I only scanned the conversation above, but one piece of feedback is that I would like to keep the data model (GraphQL schema) free from concerns around how those fields are computed, indexed, etc. etc. That information should go elsewhere in the manifest or mappings.

Following up from a Discord thread, this seems very useful. The case we have is as follows:
Royalties are deposited into a contract address over a time period. There are multiple rightsholders that are entitled to these royalties –– each in proportion to the number of ERC-20 tokens they hold.
When a rightsholder attempts to withdraw royalties, the computation is essentially:
withrawal_amount = sum(tokens_received - tokens_sent) * sum(royalties) / total_number_of_tokens

This computation is infeasible on-chain so instead we use a graph node to index the transfer events. The problem is that there's no native support in GraphQL to perform the filtered sum operation. Implementing this in the form of a query engine means we need a 3rd component in the architecture, e.g. an off chain service just to execute the query, when really what we want is to execute the query from the chain and to have a query time computation done on the node.

+1, this feature would be really useful. But this issue seems stale. Are there any plans on implementing this?
A similar use case would be for elastic supply tokens, we could usually track balances using the Transfer event, but with rebasing tokens it becomes infeasible to update all user balances on each rebase.


Implement LoadBalancer(Routing) types

Co-authored-by: Andreas Fritzler<EMAIL_ADDRESS>

/ref #518


Adding codegen for Python using Request.

Tell us about the task you want to perform and are unable to do so because the feature is not available
Generate API Request code in Python using the code generator feature.
Describe the solution/feature you'd like us to add
Add Python Code Generator using Request library
Any other feedback you would like to provide regarding the site
No

can i work on this issue under GSSOC23

@Saimurugeshwari you can work on any other codegen which is currently not available. Check out https://github.com/foss42/api-dash/issues/35 for more details.


ctrl+a q is dangerous!

Change it to something else on the other side of the keyboard.

Kill binding has been changed from "q" to "k".


Using where with an array should use IN query

It would be nice if where automatically used an IN statement when a value is passed that is an array, so that you don't have to explicitly call whereIn.
knex('users').where({
  first_name: 'Test',
  role: ['owner', 'admin', 'user']
}).select('id')

// SELECT id FROM users WHERE first_name = 'Test' AND role IN ('owner', 'admin', 'user');

Might be sort of convenient but then you hit a bunch of weird edge cases and it's a slippery slope to becoming more of a weird query DSL rather than (as close as we can) 1-to-1 with SQL, plus with Postgres' arrays it would get really ambiguous.
I would like to get something in here though that'd allow something like:
knex('users').fromJS({
  where: {first_name: 'Test'},
  whereIn: {role: ['owner', 'admin', 'user']},
  select: 'id'
})

or something along those lines


Error of SecretProviderClass not found on initial resource deployment

Using latest version 0.0.18 of helm chart.
Why do I always get the following error event of FailedMount when first syncing up the deployment spec below for the first time. The mount works when I check the file contents. Deleting the pod or replicaset and letting it be auto recreated by the deployment does not give the error.
Error:
using MountVolume.SetUp failed for volume "secrets-store-inline" : rpc error: code = Unknown desc = failed to get secretproviderclass csi/azure-keyvault, error: SecretProviderClass.secrets-store.csi.x-k8s.io "azure-keyvault" not found

apiVersion: apps/v1
kind: Deployment
metadata:
  name: create-secrets-from-akv
  labels:
    app: alpine
spec:
  replicas: 1
  selector:
    matchLabels:
      app: alpine
  template:
    metadata:
      labels:
        app: alpine
    spec:
      terminationGracePeriodSeconds: 0
      containers:
        - name: alpine
          image: alpine
          # Just spin & wait forever
          command: [ "/bin/sh", "-c", "--" ]
          args: [ "trap : TERM INT; sleep<PHONE_NUMBER>d & wait" ]
          env:
          - name: SECRET
            valueFrom:
              secretKeyRef:
                name: kv-test-secret
                key: password
          volumeMounts:
          - name: secrets-store-inline
            mountPath: "/mnt/secrets-store"
            readOnly: true
      volumes:
        - name: secrets-store-inline
          csi:
            driver: secrets-store.csi.k8s.io
            readOnly: true
            volumeAttributes:
              secretProviderClass: "azure-keyvault"

Yes that might be it, but since I use Argo CD to deploy them both in the same app I am not so sure I can control the timing. But then I guess it is more of an issue with Argo CD than with this secrets provider.

Thanks for confirming. Anything outstanding in this issue that we can help with?

No thanks for a quick response, I will investigate Argo CD and close this for now.


Prepare for Snapshots release 0.5.1

Current dependencies on/for this PR:

main

PR #26

PR #27   👈

This comment was auto-generated by Graphite.


Fix: cannot raise literal

Description
TL;DR; raise must be followed by an exception instance or an exception class,
and exceptions must be instances of BaseException or a subclass thereof.
Raising a literal will raise a TypeError at runtime.
Type of change

[ ] Refactor
[ ] New feature
[x] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library

/lgtm

/approve


Explain what to do when matplotlib fails on MacOSX on first use

Description of Problem:
On Mac OS X, when running
rasa init --no-prompt
rasa train nlu
rasa test nlu

testing fails because of an issue with matplotlib, iff matplotlib has not been used before. In particular, on Mac OS X, matplotlib requires a different backend setting, and presently it does not find that setting by itself. The issue is explained on stack overflow.
Overview of the Solution:
It would be convenient if rasa would recognise the problem and point the user to the solution. Alternatively, rasa could even create the necessary settings for matplotlib after prompting the user.
Definition of Done:

[ ] Feature has been tested by deleting the matplotlib settings file on a Mac OS X device and running the code above
[ ] Feature has been tested by deleting the backend: TkAgg line in the matplotlibrc file (see SE answer) on a Mac OS X device and running the code above

might also make sense to add a --no-plot option or some other way to configure not running matplotlib at all

@amn41 That is already another issue: https://github.com/RasaHQ/rasa/issues/3549

I think the --no-plot flag is separate but related.
This issue should be fixed as stated in the SO post using
import matplotlib
matplotlib.use('TkAgg') # MUST BE CALLED BEFORE IMPORTING plt
import matplotlib.pyplot as plt

Even better would be to check if a backend is set and only set one if none is set.

@JEM-Mosig Are you working on this?

Argh... its on my ToDo list, but has low priority.

Can someone reproduce this issue on the latest matplotlib? I think the referred stackoverflow issue is not present anymore on newer matplotlib + OSX versions.
Also I am not sure doing:
import matplotlib
matplotlib.use('TkAgg')

is the best way to go about this because it would fail in headless environments (ex: docker) where tk is not installed. In fact I can't run the tests on a new ubuntu install because of this reason but I guess that's a different issue.
I would recommend not establishing a hard dependency on matplotlib with a reasoning similar to https://github.com/scikit-optimize/scikit-optimize/issues/637#issuecomment-371909456:

There are good reasons for why scientific libraries don't usually have matplotlib as a direct dependency: it is very platform dependent and it is usually not essential for what these libraries are trying to accomplish. Why should an optimization library depend so heavily on a visualization library?
I agree that you shouldn't try to fix dependencies for the user and I would go even further: you shouldn't even install it for them.
Take pandas as example: they have the plot() method on dataframes and series that call matplotlib.pyplot.plot() but they only import it at the time of the call and matplotlib isn't even a dependency of pandas! And the reason is very simple: pandas is a data manipulation library, the visualization part is just a kind of add-on. Leaving matplotlib out by default instead of pushing it into users that don't even need it seems like a reasonable decision to make.

@wochinge  May be there a confusion. I can't reproduce the current issue (in OSX) and I was asking if somebody else had the issue because I think it is fixed in recent matplotlib versions.
There is a second somewhat related issue I created here

After implementing the change, I've double checked the behaviour with following setups:

macOs with Python 3.7.4 and Matplotlib 3.0.3, default backend set to "'MacOSX'", which successfully renders the plots
docker image "python:3.6-slim" (essentially Debian, the one that Rasa derives from in Dockerfile) with Matplotlib 3.0.3, default backend is "TkAgg", which also successfully renders the plots

For a situation when default backend is not set, we will manually try to use TkAgg or Agg.


Brave New Tab line is offset

Describe the bug
The new tab bottom line, as you can see in the image, is on the center of the new tab, not the bottom
To Reproduce

Install doki theme on Brave

Expected Behavior
New tab line is on the bottom
Environment
I use VSCode, but here's the environment pasted from there:
Version: 1.83.1 (user setup)
Commit: f1b07bd25dfad64b0167beb15359ae573aecd2cc
Date: 2023-10-10T23:48:05.904Z
Electron: 25.8.4
ElectronBuildId: 24154031
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19045

Screenshots

Seems to be on all chromium browsers.
Uncaught TypeError: Cannot read properties of undefined (reading 'onMessage')
This is repeated on the following:
js/selectionStyleInjection.js
js/scrollbarStyleInjection.js

Uncaught (in promise) Error: Could not establish connection. Receiving end does not exist.
js/background.js

I am on Chrome Version 118.0.5993.89 (Official Build) (64-bit)

replace manifest.json with this code:
{
"name": "Doki Theme: Shima Rin",
"short_name": "Doki Theme",
"version": "88.2.3",
"description": "A dark theme modeled after Rin from Yuru Camp",
"manifest_version": 3,
"theme": {
"images": {
"theme_tab_background": "images/tab_inactive.png"
},
"colors": {
"bookmark_text": [
176,
176,
176
],
"button_background": [
58,
65,
72
],
"frame": [
50,
55,
66
],
"frame_inactive": [
43,
48,
59
],
"frame_incognito": [
43,
48,
59
],
"frame_incognito_inactive": [
50,
55,
66
],
"ntp_background": [
50,
55,
66
],
"ntp_header": [
43,
48,
59
],
"omnibox_background": [
44,
48,
57
],
"omnibox_text": [
102,
136,
173
],
"theme_toolbar": [
61,
71,
84
],
"ntp_text": [
176,
176,
176
],
"tab_background_text": [
176,
176,
176
],
"tab_background_text_inactive": [
90,
98,
108
],
"tab_text": [
176,
176,
176
],
"toolbar": [
43,
48,
59
]
},
"tints": {
"buttons": [
0.5868544600938967,
1,
0.5392156862745099
],
"frame": [
0.5868544600938967,
1,
0.5392156862745099
]
},
"properties": {
"ntp_background_alignment": "right",
"ntp_logo_alternate": 0
}
}
}

still got the same issue is there any way to fix it? i run it with chrome version 125.0.6422.113


Update Rust nightly version in CI

Description of change
Updates the Rust nightly version used in GitHub Actions from 2021-09-07 to 2021-12-05 as an attempt to fix the failing coverage action due to a compilation error:
  error[E0658]: use of unstable library feature 'proc_macro_is_available'
    --> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.33/src/detection.rs:28:21
     |
  28 |     let available = proc_macro::is_available();
     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: see issue #71436 <https://github.com/rust-lang/rust/issues/71436> for more information
     = help: add `#![feature(proc_macro_is_available)]` to the crate attributes to enable

  For more information about this error, try `rustc --explain E0658`.
  error: could not compile `proc-macro2` due to previous error
  warning: build failed, waiting for other jobs to finish...
  error: failed to compile `cargo-binutils v0.3.3`, intermediate artifacts can be found at `/tmp/cargo-installVZ6nka`

We still pin the nightly version to prevent sudden breakages in the CI due to new bugs in a nightly build.
Type of change

[x] Bug fix (a non-breaking change which fixes an issue)
[ ] Enhancement (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Fix

How the change has been tested
Coverage action on this PR.
Change checklist

[x] I have followed the contribution guidelines for this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

We should really look at whether an existing coverage action like https://github.com/actions-rs/tarpaulin or https://github.com/actions-rs/grcov would work here.


Compiling on Windows

I'm trying to compile my example fasihrana/rustjni_example on windows and I'm getting the following error:
error: failed to run custom build command for `jni v0.10.1` process didn't exit successfully: `C:\Code\RUSTSTUFF\rustjni_example\target\debug\build\jni-6a065823e243d0f6\build-script-build` (exit code: 101) --- stderr thread 'main' panicked at 'Failed to find libjvm.so. Try setting JAVA_HOME', C:\Users\frana\.cargo\registry\src\github.com-1ecc6299db9ec823\jni-0.10.1\build.rs:19:21 note: Run with `RUST_BACKTRACE=1` for a backtrace.
Why is it looking for libjvm.so on Windows and how do I fix that?

The error message is wrong: on windows it looks for jvm.dll (see here).
Have you set JAVA_HOME? Do you have jvm.dll somewhere in it?
The build script looks for jvm.dll in all the subdirectories of the path specified in the JAVA_HOME environment variable.

You should add a directory with jvm.dll into the PATH environment variable.

I have specified JAVA_HOME and the jvm.dll is in %JAVA_HOME%\jre\bin\server.

OK, I reinstalled Rust from its offline installer. After that the program was correctly complaining about jvm.lib not found. Then it complained about not finding jvm.lib when linking. that was fixed by adding a build.rs file with just the following:
fn main(){
        if cfg!(target_os = "windows") {
                println!(r"cargo:rustc-link-search=c:\Path\to\jdk\lib\");
        }
}

So, now I'm getting errors when I execute the binary compiled complaining that the jvm.dll could not be found even though the directory is in Path.

The reason is that in Powershell "set PATH" doesn't really have any effect.
Had to export the path as  $env:Path = $env:Path + "\path\to\jvm.dll"


[Build] fix build error on tizen

Fix build error, temporal block the unittest.
Signed-off-by: Jaeyun<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #17. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.


Reorganize and update BUILD.md

Second hack at simplifying and organizing the BUILD.md file.
Attempted to incorporate the excellent feedback from @karl-lunarg, @mikes-lunarg, @cnorthrop, and @krOoze.  Also did a reformatting/spelling pass.  Please have another quick look gentlemen.
Also, neat trick, while looking at the diff, click the View button and you can see the process markdown.

I fixed a couplahundred markdown link gripes, reflowed text to remove insanely long lines, fixed a table.  Hopefully didn't change much actual content.


Fileversion on latest update

Previous product version (2.3.2) has fileversion <IP_ADDRESS>
Latest release (3.0.0) has fileversion <IP_ADDRESS>
result: my install program will not install 3.0.0 (marked as 'old file')

Done.


Remove instability introduced from solver

Solvers don't round results which can lead to some instability in simulation as cache value is not equal to variable value in conditional statements like thisvar_status =  var_value >= eps() ? 1.0 : 0.0.
As  is eps() = 2.220446049250313e-16 and can wrongfully set variable values to 1.0 even when solver returns 1.00e-15

I would also suggest we change this function but I'm sure what you're trying to do here? is var_value suppose to be 0 or 1 or actual thermal output ?
function _calculate_ic_quantity(initial_condition_key::ICKey{DevicePower, PSD},
                               ic::InitialCondition,
                               var_value::Float64,
                               cache::Union{Nothing,AbstractCache}) where PSD <: PSY.ThermalGen

    if isnothing(cache)
        status_change_to_on = value(ic) <= eps() && var_value >= eps()
        status_change_to_off = value(ic) >= eps() && var_value <= eps()
    else
        name = device_name(ic)
        time_cache = cache_value(cache, name)
        status_change_to_on = time_cache[:status] >= eps() && var_value <= eps()
        status_change_to_off = time_cache[:status] <= eps() && var_value >= eps()
    end


Update changelog.md

Summary

Ticket Link

Thanks @akarikuu for the pull request!
Per the CONTRIBUTING.md file displayed when you created this pull request, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
This is a standard procedure for many open source projects. Your form should be processed within 24 hours and reviewers for your pull request will be able to proceed.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

/check-cla

Thanks @akarikuu for the pull request!
Per the CONTRIBUTING.md file displayed when you created this pull request, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
This is a standard procedure for many open source projects. Your form should be processed within 24 hours and reviewers for your pull request will be able to proceed.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

I filled it out. But this is not a real contribution. I feel bad about calling it as such :)

/check-cla

I filled it out. But this is not a real contribution. I feel bad about calling it as such :)

@akarikuu This is absolutely a real contribution! Thank you for catching it and submitting a fix :)


Google Workspace login not working on devices

Describe the problem
browser login: ✅ I can login in the web browser using google OIDC.
windows netbird client login: ❌
I have a freshly installed windows netbird client with my self-hosted netbird url configured.
I cannot login after clicking [Connect] for the first time:

When playing around with the management.json file (I tried manually setting different urls etc.) I get different errors on the client and I can see nginx logging my requests. Hence I assume the connections etc. are working.

See nginx logs and another error while playing around
web-1         | <IP_ADDRESS> - - [04/Sep/2024:15:28:16 +0000] "POST /management.ManagementService/Login HTTP/1.1" 200 114 "-" "grpc-go/1.64.1" "<IP_ADDRESS>"
web-1         | <IP_ADDRESS> - - [04/Sep/2024:15:28:16 +0000] "POST /management.ManagementService/GetServerKey HTTP/1.1" 200 88 "-" "grpc-go/1.64.1" "<IP_ADDRESS>"
web-1         | <IP_ADDRESS> - - [04/Sep/2024:15:28:16 +0000] "POST /management.ManagementService/GetPKCEAuthorizationFlow HTTP/1.1" 200 404 "-" "grpc-go/1.64.1" "<IP_ADDRESS>"
web-1         | <IP_ADDRESS> - - [04/Sep/2024:15:28:16 +0000] "POST /management.ManagementService/GetServerKey HTTP/1.1" 200 88 "-" "grpc-go/1.64.1" "<IP_ADDRESS>"
web-1         | <IP_ADDRESS> - - [04/Sep/2024:15:28:16 +0000] "POST /management.ManagementService/GetDeviceAuthorizationFlow HTTP/1.1" 200 398 "-" "grpc-go/1.64.1" "<IP_ADDRESS>"

To Reproduce
Steps to reproduce the behavior:

Follow Self-Hosted advanced installation guide
Follow Google Workspace IdP installation guide (https://docs.netbird.io/selfhosted/identity-providers#google-workspace)
Follow instructions to set up a new windows peer (Install netbird client on windows, set custom management url)
Netbird windows client tray icon right-click "connect"
See error

Expected behavior
Google login screen opens uo
Are you using NetBird Cloud?
self-hosted
NetBird version
0.28.9

View NetBird status -dA output
Daemon status: LoginFailed

Run UP command to log in with SSO (interactive login):

 netbird up

If you are running a self-hosted version and no SSO provider has been configured in your Management Server,
you can use a setup-key:

 netbird up --management-url <YOUR_MANAGEMENT_URL> --setup-key <YOUR_SETUP_KEY>

More info: https://docs.netbird.io/how-to/register-machines-using-setup-keys

Do you face any (non-mobile) client issues?
not tried
Screenshots
see collapsed sections in my description
Additional context

Anonymized management.json
{
    "Stuns": [
        {
            "Proto": "udp",
            "URI": "stun:example.com:3478",
            "Username": "",
            "Password": ""
        }
    ],
    "TURNConfig": {
        "TimeBasedCredentials": false,
        "CredentialsTTL": "12h0m0s",
        "Secret": "secret",
        "Turns": [
            {
                "Proto": "udp",
                "URI": "turn:example.com:3478",
                "Username": "self",
                "Password": "myPassword"
            }
        ]
    },
    "Signal": {
        "Proto": "https",
        "URI": "example.com:443",
        "Username": "",
        "Password": ""
    },
    "Datadir": "/var/lib/netbird/",
    "DataStoreEncryptionKey": "randomKey",
    "HttpConfig": {
        "LetsEncryptDomain": "",
        "CertFile": "",
        "CertKey": "",
        "AuthAudience": "anAccount.apps.googleusercontent.com",
        "AuthIssuer": "https://accounts.google.com",
        "AuthUserIDClaim": "",
        "AuthKeysLocation": "https://www.googleapis.com/oauth2/v3/certs",
        "OIDCConfigEndpoint": "https://accounts.google.com/.well-known/openid-configuration",
        "IdpSignKeyRefreshEnabled": false,
        "ExtraAuthAudience": ""
    },
    "IdpManagerConfig": {
        "ManagerType": "google",
        "ClientConfig": {
            "Issuer": "https://accounts.google.com",
            "TokenEndpoint": "https://oauth2.googleapis.com/token",
            "ClientID": "anAccount.apps.googleusercontent.com",
            "ClientSecret": "theSecret",
            "GrantType": "client_credentials"
        },
        "ExtraConfig": {
            "CustomerId": "myCustomerId",
            "ServiceAccountKey": "someBase64="
        },
        "Auth0ClientCredentials": null,
        "AzureClientCredentials": null,
        "KeycloakClientCredentials": null,
        "ZitadelClientCredentials": null
    },
    "DeviceAuthorizationFlow": {
        "Provider": "none",
        "ProviderConfig": {
            "ClientID": "",
            "ClientSecret": "",
            "Domain": "",
            "Audience": "anAccount.apps.googleusercontent.com",
            "TokenEndpoint": "https://oauth2.googleapis.com/token",
            "DeviceAuthEndpoint": "https://oauth2.googleapis.com/device/code",
            "AuthorizationEndpoint": "",
            "Scope": "openid",
            "UseIDToken": false,
            "RedirectURLs": null
        }
    },
    "PKCEAuthorizationFlow": {
        "ProviderConfig": {
            "ClientID": "anAccount.apps.googleusercontent.com",
            "ClientSecret": "",
            "Domain": "",
            "Audience": "anAccount.apps.googleusercontent.com",
            "TokenEndpoint": "https://oauth2.googleapis.com/token",
            "DeviceAuthEndpoint": "",
            "AuthorizationEndpoint": "https://accounts.google.com/o/oauth2/v2/auth",
            "Scope": "openid profile email",
            "UseIDToken": true,
            "RedirectURLs": [
                "http://localhost:53000"
            ]
        }
    },
    "StoreConfig": {
        "Engine": "sqlite"
    },
    "ReverseProxy": {
        "TrustedHTTPProxies": [],
        "TrustedHTTPProxiesCount": 0,
        "TrustedPeers": [
            "<IP_ADDRESS>/0"
        ]
    }
}

I finally circumvented the problem by hosting authentik and adding Google there as a source.
Now NetBird connects to Authentik and not to Google directly.


update step_three.md

Update docker hub link by docker store link (docker/whalesay is no more in the results of docker hub search). Would be interesting to update the illustration images with docker store illustrations.

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Thanks, nipped and tucked it a bit. :)


Fix ConfigMap keys

Signed-off-by: Joshua Packer<EMAIL_ADDRESS>
Adjust two of the configMap keys, found in further testing.

/cc @rokej

/lgtm


Add demo profile

A fake profile of Alyssa Graham for illustration purposes. This should NOT actually be a PR so it should not be approved yet.

Not going to accept the PR until a photo and other info is added


Video message support example in swift.

Add an example message with video content in the swift example project.

Closing in favor of tracking via #1608


Node Page doesn't show new nodes that just showed up

If I have Node Page open, and there is a new node that started sending telemetry, Node Page won't have it in the list.
Note, that it will change the total counter of validator/non-validator nodes for it.
Steps to reproduce:

Open explorer page
Start a new node
Observe that counters changed but node is not in the list

PS. refreshing page shows it.

It is a duplicate of #268


Add an import snippet

An import snippet would be great; I use it all the time in Sublime, as it's in the snippets plugin I use over there. It would make importing much quicker.

the import snippet is built into vs code already.
what does this add?

That's my bad. I'm new to using VSCode (been using ST3), and didn't know about that built in snippet. Sorry!

no worries :)


[Sentry-issue] Fix property of undefined in text-submission-viewer.component

Checklist

[x] Client: I followed the coding and design guidelines.

Motivation and Context
This PR solved this Sentry Issue: ARTEMIS-39F
Description

Error: "Cannot read property 'slice' of undefined"
Now we check if the row variable is defined before calling the insertToken method
Steps for Testing

I didn't manage to reproduce this problem. It would be great if someone who has touched the Plagiarism part of the codebase can test it.
Maybe @joschahenningsen you know how to reproduce it?
Test Coverage
Didn't change.

I agree: please move the corresponding calls inside the if statement

I did it @krusche


Whether this item is in maintenance status?

Whether this item is in maintenance status?

I'm picking it up again. Currently there is a C++ error because the CEF api has changed, but I have to fix it. Hope to do it coming weekend.


[aze] Azerbaijani has three 3 scripts

Our Azerbaijani data - phonetic, phonemic - contains Latin, Cyrillic, and Arabic scripts.

Looks like only the Latin would survive our 100-entry threshold, but you could write a generalized aze_split.py all the same.


Incorporate feedback from mailing list

In response to https://groups.google.com/forum/#!topic/prometheus-developers/AgnAsR5qDiw we got the following feedback:
On 4 July 2016 at 08:26<EMAIL_ADDRESS>wrote:

> Hi,
>
> we just released https://github.com/Jimdo/prometheus_client_php/.
>

I'd recommend reading
https://prometheus.io/docs/instrumenting/writing_clientlibs/ There's a few
things like label handling, method naming and use of floats that could be
improved.

>
> It's a PHP implementation of the Prometheus client library.
> It currently supports Counters, Gauges and Histograms. For expositing
> metrics we currently support the text/HTTP output.
>
> It should run on PHP>=5.3. For storing metrics in between requests, we
> chose to use Redis.
> It's fairly lightweight and easy to deploy. While it might seem a quite
> big dependency, we chose it for ease of implementation. Storing metrics in
> http://php.net/manual/en/book.apcu.php turned out to be cumbersome (not
> saying it couldn't be done).
>

Any network dependency is big, and makes things very complex. For example
you're presuming that Gauges are only set (
https://github.com/Jimdo/prometheus_client_php/blob/9e644b5ca7d9b91be58f6b9b121e5bef17a6b78f/src/Prometheus/RedisAdapter.php#L74)
which is not the only way they can be used.

Brian

https://prometheus.io/docs/instrumenting/writing_clientlibs/
According to the documentation I think these are MUSTs we have to do:

[ ] add inc, dec, incBy, decBy to the Gauge
[ ] rename increase to inc on the Counter
[ ] add a default collector registry which holds the it's state on a PHP class.
[ ] validate label names according to https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels

I changed the naming to be more similar to the existing libraries, according to the style guide.
I updated the readme and added some usage examples.

I consider this done with the changes from #12 and #13.


Equalize whitespaces for keywordCase upper/lower

Fixes https://github.com/sql-formatter-org/sql-formatter/issues/356

@inferrinizzard didn't notice that you had self-assigned the bug. I've created this PR to fix it.

Great stuff. Thanks.

@m-ahmadkhan  FYI, what I really had in mind about simplifying this test was more like so: https://github.com/sql-formatter-org/sql-formatter/commit/3d22c907aee53d04de06ca9c091c9d2fc7a386d3
Testing for ORDER BY and GROUP BY is really about the same as testing for INSERT INTO. The formatter treats these as the same kind of thing (like in, these are both indented to the same level).


add post toggle actions to allow for things like alerts

In Ridwell, we're using toggles within our debug menu that require us to force restart our app.
Right now, DebugToggleAction takes a Binding<Bool> that is set when the toggle is interacted with. Attaching something like a "force restart app" alert within the toggle's set means the alert pops up before the toggle UI is swapped. Here is a video detailing this example:
https://user-images.githubusercontent.com/62073522/234391775-54eca8a7-1f06-4ed7-ac15-b40f224bf4f2.MP4
Instead, it would be great to add in an optional toggleAction that we can listen for with an onChange attached to the toggle in the UI, so the popup would come after the toggle.
I debated whether this seemed like an edge case only relevant to this situation, but I think there may be a decent amount of use cases where we may want to complete a secondary action after the toggle animation is finished.
Update
It seems adding any action inside of the bindings set actually prevents the toggle from completing for some reason:
 let testBlockingUserAlert = DebugToggleAction(
            title: $toggleBlockingAlert.displayTitle,
            toggle: Binding(
                get: {
                    self.toggleBlockingAlert
                },
                set: {
                    self.toggleBlockingAlert = $0
                    self.toggleNonBlockingAlert = false
                    Defaults[\.testMobileAlert] = $0 ? .blocking : nil
                    AlertController.shared.showToast(message: "Push notification sent", type: .success)
                }
            )
        )

https://user-images.githubusercontent.com/62073522/234394532-a3d5a46f-ab2e-43f9-bedc-5d732c7c5984.MP4

Closing as was done in https://github.com/steamclock/debug-menu-ios/commit/674720c1763614ab8461480405f0f698441f8766


Need support for node.js v7

What the title states

Can you please be specific about what is wrong, along with any error messages you may encounter, which platform, etc.?
I ran the nan test suite on Node v7.0.0, on macOS (Sierra) with no trouble. I also ran the node-webworker-threads test suite OK with nan 2.3.3 and 2.4.0 on Node 7.

Voila, Node 7 supported: 0a2a6f66dab73352dc3a519e4e063f9ef632d043

Apparently it wasn't as easy as this. I ran into an error building my module:
../protobuf_for_node.cc:142:22: error: no member named 'SetHiddenValue' in 'v8::Function'         constructor->SetHiddenValue(Nan::New<String>("type").ToLocalChecked(), self);         ~~~~~~~~~~~  ^
There seems to be a related issue: #587


New_Eagle_DBW_3.3.388.dbc file not installed with catkin_make install

If I run a catkin_make install and then source install/setup.bash, I will be able to find the dbw.launch file. However, this launch file expects to find the New_Eagle_DBW_3.3.388.dbc file under the dbw_pacifica_can package location. Since the CMakeList.txt file contains no install directive for this file it will fail to be found. This results in the following error.
IOError: [Errno 2] No such file or directory: u'<workspace path>install/share/dbw_pacifica_can/New_Eagle_DBW_3.3.388.dbc'

@msmcconnell - Would you mind creating a PR to add the install directives?

@JWhitleyAStuff Sure I can do that

@JWhitleyAStuff See PR #18

PR #41 resolved this issue for me


Export types for formatter callback params

What problem does this feature solve?
would allow to define callback formatter with properly typed arguments: for now I have to type params to any, loosing typing within the formatter function. For instance:
    tooltip.formatter = (params: any) => {
        // access to whatever in params is allowed
        ...
        return content;
    };

What does the proposed API look like?
As I get it, params is expected to be of FormatterParams type, so exporting in within echarts.d.ts would allow something along the line of :
import {FormatterParams} from "echarts";

...
tooltip.formatter = (params: FormatterParams) => {
        // compilation error on access to something to defined in FormatterParams
        return content;
    };

模块“"echarts"”没有导出的成员“FormatterParams”。

Hello, 👋
Any news regarding this point svp ?

import { CallbackDataParams } from 'echarts/types/dist/shared.js'
import { TooltipMarker } from 'echarts/types/src/util/format.js'

export type TooltipCallbackDataParams = CallbackDataParams & {
  axisDim?: string
  axisIndex?: number
  axisType?: string
  axisId?: string
  axisValue?: string | number
  axisValueLabel?: string
  marker?: TooltipMarker
}

https://github.com/apache/echarts/blob/75dd430d77e8949d56f2129f05018fe8629e5b2d/src/component/tooltip/TooltipView.ts#L127

I'm also stuck on this.
let tooltipConfig: TooltipComponentOption = {
		formatter: function (params) {
			return params.value
		},
	}

Typescript squiggly lines value and reports:
Property 'value' does not exist on type 'TopLevelFormatterParams'.
  Property 'value' does not exist on type 'CallbackDataParams[]'.

Well, TopLevelFormatterParams looks like this:
type TopLevelFormatterParams = CallbackDataParams | CallbackDataParams[];

Since properties like value or dimensionNames etc live on CallbackDataParams type (not an array), you can't guarantee you can access it via the TopLevelFormatterParams type which is why Typescript is throwing an error. It's also why you can't do params[0].value because, again, using the type TopLevelFormatterParams does not guarantee the type CallbackDataParams[].
You can't really do anything other than (params: any) since the union of types by TopLevelFormatterParams conflict with each other.


UI fixes

adds loading interstitial view for all coverage pages
seperates out some styles into style.css (coverage pages)
truncates commit message if it is too large
fixes the coverageFile page to show the correct percentage
fixes the coverageFile page to show the correct point in history

fixes #8

Storybook Hub is building storybooks for every commit in this PR.
Latest Storybook: https://1e611304-c37d-4346-80ba-bd65d288f9f6.sbook.io/
( Visit here for more info )

This comment is automatically added by Storybook Hub


ci: run the publish-artifacts job last

I prefer not to publish any artifacts/images if the tests
(lint/unit/others) are failing.

also accepted in the provider template https://github.com/crossplane/upjet-provider-template/pull/63


{company-id} doesn't get replaced and is displayed in documentation. Possible bug?

https://github.com/dfinity/portal/blob/610493f93401832f1ed8bfee8904db7eb6894299/docs/developer-docs/build/languages/rust/rust-intro.md?plain=1#L3

Thank you for the report, those are some artefacts from our .adoc to .md conversion. Cleaning it up in #281.


chore(protocol): add robust wget error handling in script

Overview
This PR introduces enhanced error handling for the wget command in our protocol script. It aims to improve the reliability and robustness of script operations, especially in scenarios where external dependencies are involved.
Changes

Implemented error checking for the wget command to handle download failures.
Added an error message and an immediate exit from the script if wget fails, ensuring the script does not proceed with incomplete or incorrect setups.

Rationale
Ensuring that our scripts fail gracefully and provide clear error messages is essential, particularly in automated and production environments. This update aligns with our ongoing efforts to improve the reliability and maintainability of our protocol scripts.
Code Snippet
wget https://github.com/ufoscout/docker-compose-wait/releases/download/2.9.0/wait -O ./wait || {
    echo "Error: Failed to download wait utility."
    exit 1
}

i don't think this change is necessary because wget will already exit 1 with a proper error code for devs, and the original command should also save the file correctly. as we don't have an integrated testing pipeline for these things, would prefer to close it.
thank you for the PR though.

gotcha, you are welcome


Fhg 5146 adding cypress t ests

Jira link
https://dfedigital.atlassian.net/browse/FHG-5153
https://dfedigital.atlassian.net/browse/FHG-5146
https://dfedigital.atlassian.net/browse/FHG-5136
https://dfedigital.atlassian.net/browse/FHG-5150
What?
addServices-dfeAdmin-SearchAndSelectVCSOrganisationLocalAuthority.spec
addServices-laManager-WhatIsYourServicePage.spec
addServices-vcsManager-WhatIsTheNameOfServicePage.spec
Why?
I am doing this because:
-So as to be able to run regression tests for release

Should we add the // Given //When // Then comments to show what is happening in each test? Similar to the edit tests?


Fix typo

What's changed, or what was fixed?

requestAnimationCallback => requestAnimationFrame

[ ] This has been reviewed and approved by (NAME)

[x] I have run npm test locally and all tests pass.

[ ] I have added the appropriate type-something label.

[x] I've staged the site and manually verified that my content displays correctly.

CC: @petele

:tada: This has been pushed live to https://developers.google.com/web/


ServiceBusMessageActions not wrapped into Transaction

Description
I'm trying to do what sounds pretty simple in an Azure Function:

Receive a message from a Queue
Decide on a destination Queue based on the contents and configuration
Send the message to the destination Queue

I need this to all happen within a transaction to avoid either the message being lost or duplicated.
It appears this was pretty simple when the MessageReceiver was available, there is even a simple MS blog on the topic https://weblogs.asp.net/sfeldman/transactional-messaging-with-azure-functions-and-service-bus.
However I just cannot get this working using the more modern isolated worker approach. I would expect a simple code block such as below to not actually complete the message / send to the destination because the Complete() is commented out, but it appears the CompleteMessageAsync is processed immediately.
Is there any solution to this or are Service Bus transactions in Azure Functions no longer supported?
Steps to reproduce
Sample code:
using System.Transactions;
using Azure.Messaging.ServiceBus;
using Azure.Messaging.ServiceBus.Administration;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
namespace Sample
{
public class Router(ILogger logger, IConfiguration configuration, ServiceBusClient serviceBusClient, ServiceBusAdministrationClient serviceBusAdministrationClient)
{
[Function(nameof(TenantRouter))]
public async Task Run(
[ServiceBusTrigger("%InputQueueName%", Connection = "ServiceBusEndpoint", AutoCompleteMessages = false)]
ServiceBusReceivedMessage message,
ServiceBusMessageActions messageActions,
CancellationToken cancellationToken)
{
// Code removed for simplicity
var targetQueue = "fromConfiguration";
        if (!await serviceBusAdministrationClient.QueueExistsAsync(targetQueue, cancellationToken).ConfigureAwait(false))
        {
            _ = await serviceBusAdministrationClient.CreateQueueAsync(new CreateQueueOptions(targetQueue) { DeadLetteringOnMessageExpiration = true }, cancellationToken).ConfigureAwait(false);
        }
        var sender = serviceBusClient.CreateSender(targetQueue);

        using var ts = new TransactionScope(TransactionScopeOption.RequiresNew, TransactionScopeAsyncFlowOption.Enabled);

        await sender.SendMessageAsync(new ServiceBusMessage(message), cancellationToken).ConfigureAwait(false);

        await messageActions.CompleteMessageAsync(message, cancellationToken);

        // ts.Complete();
    }
}

}

I've been working on this some more, and it may be a feature request rather than a bug. But having an MS blog to highlight something that can't be done with the more modern AZ Functions isn't great, and I would still ask for this to be looked at in Functions because it (to me at least) would seem like a common scenario.
As a workaround I have found that if I create a receiver on the queue, I can use that to complete the message instead of using ServiceBusMessageActions.
 I do wonder if that is a Service Bus SDK issue though, it doesn't feel like it's a AZ Functions issue.
For others the code that appears to work for me is (not the transaction complete is commented out in order to demonstrate):
`using System.Transactions;
using Azure.Messaging.ServiceBus;
using Azure.Messaging.ServiceBus.Administration;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
namespace Sample
{
public class Router(ILogger logger, IConfiguration configuration, ServiceBusClient serviceBusClient, ServiceBusAdministrationClient serviceBusAdministrationClient)
{
[Function(nameof(TenantRouter))]
public async Task Run(
[ServiceBusTrigger("%InputQueueName%", Connection = "ServiceBusEndpoint", AutoCompleteMessages = false)]
ServiceBusReceivedMessage message,
CancellationToken cancellationToken)
{
// Code removed for simplicity
var targetQueue = "fromConfiguration";
    if (!await serviceBusAdministrationClient.QueueExistsAsync(targetQueue, cancellationToken).ConfigureAwait(false))
    {
        _ = await serviceBusAdministrationClient.CreateQueueAsync(new CreateQueueOptions(targetQueue) { DeadLetteringOnMessageExpiration = true }, cancellationToken).ConfigureAwait(false);
    }

    var inputQueuename = "InputQueueName"; //Defined elsewhere in my code, it is the same as %InputQueueName% evaluates to from config, to match the binding.
    var receiver = serviceBusClient.CreateReceiver(inputQueueName, new ServiceBusReceiverOptions() { Identifier = message.CorrelationId });
    var sender = serviceBusClient.CreateSender(targetQueue);

    using var ts = new TransactionScope(TransactionScopeOption.RequiresNew, TransactionScopeAsyncFlowOption.Enabled);

        // For unkonwn reasons if we do the SendMessageAsync first then when we do the Complete we get an exception.
        // However testing confirms that if we don't complete the transaction then the message is not completed or sent to the target queue.
    await receiver.CompleteMessageAsync(message, cancellationToken).ConfigureAwait(false);
    await sender.SendMessageAsync(new ServiceBusMessage(message), cancellationToken).ConfigureAwait(false);

    // ts.Complete();
}

}`


Setup backend unit testing

Setup unit testing on backend project:

Unit tests being executed on all pipelines
Code coverage being measured
Test report XML being produced
Test report being fed to Sonarqube
Test report being processed by the Test reporter action

@emjunior258
by backend, meaning  core, bouncy and b-app, right?


support ctx auth

Stack:

#21
#20
#19 ⬅
#18

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

✓ Commit merged in pull request #21


feat: Implement Tuple type

Implement Tuple type for no STL environment with flat inheritance hierarchy.
Tested on
G++ 13.1.0
Clang++ 14.0.3.
@paleahn Please review if it compiles on MSVC.

.

All test pass with MSVC.


fix ci on nightly

dead_code lint changed and it now warns on unused struct fields that are in derive(Debug) structs

bors r+


Notifications sound is broken on some android phones

Notifications sound is broken on pixel 3xl, android version 11

Fixed by #474


Allow setting of value for option in Select, SelectField

Summary
This change allows the user to pass an object with a key/value pair to set the value and display of options in a Select or Select Field. Addresses Issue #538

Apologies for leaving this out to dry everyone, I'll be getting around to this PR today.

I'm going to add some new controlled select tests but this should be close to final changes for this PR.


[FLINK-5170] [runtime] fix mis judge of hostname in AkkaUtils

This pr is for jira #5170.
in AkkaUtil.scala,
def getAkkaConfig(configuration: Configuration, hostname: String, port: Int): Config =
{ getAkkaConfig(configuration, if (hostname == null) Some((hostname, port)) else None) }
when hostname is specified, it use None.

Thanks for spotting the error @shuai-xu. Will merge the PR.

I've merged your PR. You can close it @shuai-xu now.


chore: remove deprecated functions

Signed-off-by: azjezz<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
64 unchanged lines in 9 files lost coverage.
Overall coverage decreased (-2.3%) to 97.642%

Files with Coverage Reduction
New Missed Lines
%

src/Psl/Iter/Iterator.php
1
98.36%

src/Psl/Iter/random.php
1
83.33%

src/Psl/Dict/sort_by_key.php
7
0%

src/Psl/Dict/sort.php
7
0%

src/Psl/Dict/equal.php
8
0%

src/Psl/Dict/flip.php
8
0%

src/Psl/Dict/select_keys.php
8
0%

src/Psl/Dict/group_by.php
12
0%

src/Psl/Dict/sort_by.php
12
0%

Totals

Change from base Build<PHONE_NUMBER>:
-2.3%

Covered Lines:
2733

Relevant Lines:
2799

💛  - Coveralls


Include Sign-In link in Sign Up page if Username already exists

Summary:
This is not an issue but just a suggestion.
When a user clicks on Sign-up and enters an existing username, the screen currently only advises that the username already exists. If we modify the message to say that if they are an existing user, then to click on a button/link which would take them to sign-in page, it will be easier.
Steps to reproduce:
Attempt Sign Up using existing Username
Device and Android version:
Android 10
Google Pixel 3a
Screen-shots:

Would you like to work on the issue?
Yes

This is a web view which just shows the signup page, the commons app does not handles the signup on its own

Thanks for clarifying this @ashishkumar468
So does that mean it's out of scope for us and won't need fixing?

As far as I understand yes, @misaochan would know better

Yes, it is out of scope for us as we do not handle the website.
Thanks anyway @vvijayalakshmi21 . :)


feat: Custom Commands in Agent

Add Custom Commands support to Agent.

This includes getting the commands from the .cody/commands.json file.

vs code client should migrate from using .vscode/cody.json to .cody/commands.json, will do this in follow up

Execute a custom command in either chat mode or inline edit mode.

Current supported context options for Custom Commands in agent covered by the agent tests:

none: exclude all context
current directory
open tabs
current file
selection

Test plan

CI should be green with the newly added tests for Custom Commands.

@olafurpg thank you so much for the debugging tips! I was able to locate the issue and sort the context files for chat messages and that seems to fix the issue we were seeing!


Transfer to an org

Once the repo hits ~500 stars I think it is a good time to transfer it to a separate org, along with all es-* modules
and all new es-* things for the ecosystem will be created in there
for now tinyhttp will be still here

I changed my mind. Not transferring to any org, let it be kept here...


fix: #142 non-functional file and line parameters in resetAndTriggerFatalError

fix: #142

Was fixed earlier in 2.2.1.

Looking forward to the release of 2.2.1!

Will probably just skip to 2.3.0


api to access to raw bgp update

What's the C proper api to get access to the raw bgp update from the various sources/brokers ?
can't find in the doc
thanks

C API available at https://bgpstream.caida.org/docs/api/libbgpstream/bgpstream.h.html
Tutorial at https://bgpstream.caida.org/docs/tutorials/libbgpstream

C API available at https://bgpstream.caida.org/docs/api/libbgpstream/bgpstream.h.html
Tutorial at https://bgpstream.caida.org/docs/tutorials/libbgpstream

i've be through those doc already, by raw, I meant bgp update in binary format

i've be through those doc already, by raw, I meant bgp update in binary format

seems not available, will try to add

Yeah, it's not currently available, and in fact it's not guaranteed that all data formats supported by BGPStream will even include the raw BGP update information (e.g., we're kinda "lucky" that the RIPE JSON format includes the raw message).
That said, I think it would make sense to expose this information in the record structure in the cases where the data format includes it.
Thanks for offering to try adding this!


Add new LMDB calls in proxy and handler

Add support for csv type values in kv
Update python handler and proxy
Update shared_kv_interface

Signed-off-by: Rajeev Ranjan<EMAIL_ADDRESS>

CI builds should fail for this PR till PR #523 is merged.


Add Ruby 3.1 to the CI matrix

Signed-off-by: Peter Goldstein<EMAIL_ADDRESS>Description
Adds Ruby 3.1 to the CI matrix
Issues Resolved
Fixes a bug in the existing CI matrix.  Github Actions will truncate an unquoted 3.0 to 3, and thus pull in the latest Ruby 3 version for that entry in the matrix.  At this time that's Ruby 3.1.1, which is not what's intended.  Adding quotes to the 3.0 resolves this issue.
Check List

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Previously run build showing that the '3.0' is being truncated to '3' and Ruby 3.1.1 is being loaded:

Thanks for this! That's one reason to put each version on its own line, but I guess it would be fairly long :)

@petergoldstein Care to fix the link checker? Looks like api-spec-testing is no longer a thing ...

@dblock I just pushed up a commit removing the dead link.  Please let me know if you need anything else.  Thanks.


[Chore] verify usage of workspace commands

What needs to be done
these could be deprecated

Doesn't seem like: https://nx.dev/packages/workspace/executors/run-commands was used anywhere.


Add benchmark comparison vs @formatjs/intl-segmenter

Would be curious to know the comparison with @formatjs/intl-segmenter — for context, I'm currently using this as a polyfill if Intl.Segmenter is not supported.

@cheeaun updated results :)
It looks @formatjs/intl-segmenter would be nice option in general. But if you only want grapheme it might be too heavy.

@cometkim thanks! This is very helpful 🙇♂


New parameter RoleArn for use during CloudFormation compatibility

When following the instructions to run SAR-Lambda-Janitor via CloudFormation, CloudFormation throws the following error:
Embedded stack arn:aws:cloudformation:REGION:000000000000:stack/SAR-Lambda-Janitor-SARLambdaJanitor-XXXXXXXXXXXX/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee was not successfully created: The following resource(s) failed to create: [CleanRole].

According to the AWS::Serverless::Function documentation, the Role property "is required in AWS CloudFormation but not in AWS SAM. If a role isn't specified, one is created for you with a logical ID of <function-logical-id>Role."
This change adds a new optional parameter RoleArn that can be used to provide the arn of an existing role when using via CloudFormation.
Syntax checked only; it has not been checked in execution.

hey, looks like the problem is that one of the IAM role was not created (if you can look at the CloudFormation stack hopefully it'll show you more info).
When you're on this screen, did you click the box I acknowledge that this app creates custom IAM roles.?


Add a way to update weboob even with no account set

These last few days, there was a problem with Weboob preventing it to access to my bank account's data. Not knowing this at first, I installed Kresus to try it out on my self-hosted Cozy.
In the meantime, I realized the problem with Weboob on another instance I have. So I decided not to touch anything and configure Kresus on my self-hosted one once everything is back to normal.
The issue between Weboob and my bank is now solved in the latest Weboob update. On my other instance, I just updated it via the appropriate menu, and everything worked again.
When I went to do the same on my self-hosted Cozy, I stumbled upon another issue: Because I don't had any bank account configured on this one, I just can't reach the "Update Weboob" button. I think there should be some way to update it in this case.

Thanks for opening an issue! It is indeed a problem. In the future, I plan to have a setting enabling (or disabling) automatic update of weboob every day, which would lessen the issue. However, having a nice button to update Weboob on the new bank form screen would be nice too.
Other workarounds:

add a FakeBank account
run the update script from the CLI: cd kresus && ./weboob/scripts/update-modules.sh

Can be closed

Fixed by https://github.com/bnjbvr/kresus/commit/d4c25235b62a8f22ca3598808630e69e5a960941


Allow metadata to be retrieved from source containing data for multiple entities

Sometimes the source of SAML Metadata publishes a particular set of configuration data within a larger set of data for many SAML entities. The issue has been raised previously in https://github.com/onelogin/ruby-saml/issues/346
Where this is the case, <md:EntityDescriptor> may not be defined at the root of the Metadata XML, but is within <md:EntitiesDescriptor>.
This modification allows for the three use cases I have seen:

<md:EntityDescriptor> is at the Metadata root and the data refers to only one SAML entity (currently handled)
<md:EntityDescriptor> is within <md:EntitiesDescriptor> and the data refers to only one SAML entity
<md:EntityDescriptor> is within <md:EntitiesDescriptor> and the data refers to many SAML entities

For case three, the particular entity descriptor data to be retrieved can be specified in the parse call (as detailed in the updated README)

On of the Travis builds has stalled:

No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.

Is that a JRuby Nokogiri issue?

Hi @reggieb
sorry for the delay.
I included your PR in a another PR-389:

OK. thank you.


[Feature] Jenkins use case is not working as API changes

In v1.1.3, the Jenkins CI/CD use case is not working. Because we have changed the API in #2339 . We should fix the jenkins use case ASAP. \cc @barnettZQG @Somefive
We'd better keep compatible with the old APIs. If we want to deprecate some API, that should be announced first and deprecate in one or two versions later.

fixed in v1.2


Hidden button text for mobile version

I've already addressed this same thing in https://github.com/the-control-group/voyager/pull/697/files#diff-cf377d287d89be3fc7d2a9c234b13774R84


Give better error feedback and print stacktrace

Just spent way too long trying to trace a very simple problem with react-native link
Trying to link my project I kept getting:
rnpm-install ERR! ERRPACKAGEJSON No package found. Are you sure it's a React Native project?

Cannot read property '_text' of undefined

Which makes it seem like its a package.json problem, which it was not at all.
Turns out the problem was I had a comment at the end of my main AndroidManifest.xml and the XML parser was failing because of it. How could I possibly know that from this error message? I had to find this file and print the error which then gave me some hints as to what was going on... This should be the default. I don't think we should trade pretty and useless error messages for actually useful ones.

Motivation
To make life easier for devs. There seem to be lots of little project tool/cli related issues with react-native that lead to very poor error messages. In my case the problem was very simple, but it was very unclear where the problem was coming from so it became frustrating to solve.
Test Plan
Just run the cli as usual. This only adds a stack-trace print in the case of an error.
Related PRs
...
Release Notes
...

Thanks for submitting this PR! Turns out we haven't fixed this yet.
@Esemesek, since you worked on error reporting and link in the CLI - can you take a look and see if we have fixed this already? If not, is the solution proposed in this PR something we could apply?


Certificate Pinning with multiple pins in same domain and Skip pinning in iOS for specific domain

Hi, I recently updated ModernHttpClient 2.4.2 with this library due to an error like:
Latest build tools and SDK causes Didn't find class on path: DexPathList
Previously we were doing certificate pinning using ServicePointManager callback and validating multiple local certificates(current and future certificate).
This library has inbuilt functionality for pinning. We need to supply PublicKeys and Hostname in Pins. How can we add multiple public keys for same domain/host using this approach? Meaning, I added 2 Pins with same Hostname, first public key is invalid and 2nd is valid. In this case, pinning should work using 2nd public key.
Also, pinning works in sha256 format public key generated using domain name and OkHttp3's CertificatePinner class.
If I have test.cer file, using "openssl x509 -inform PEM -in test.cer -pubkey -noout", I can get public key in base64 format. That does not work in this library.

If you read the documentation, you will find out how to add multiple public keys for the same domain.
You will also find out that I am using sha256 and I recommend using OkHttp client to get them.

Thanks for your immediate reply!
Yes, I already read the documentation carefully. Using OkHttp3 I am able to retrieve the public keys in sha256 format using the domain name.
Although, I was not able to retrieve public key in required format using offline certificate and openssl.
Anyway, by multiple public keys(current and future certificate's key), using single pin, for same domain(here, domain.com), you mean like this?
`NativeMessageHandler handler = new NativeMessageHandler (false, new TLSConfig () {
Pins = new List ()
{
new Pin()
{
Hostname = "*." + "domain.com",
PublicKeys = new []
{
//current public key
"sha256/xyz=",
"sha256/abc=",
"sha256/r/lmv=",
					//future public key
					"sha256/xyz1=",
					"sha256/abc1=",
					"sha256/r/lmv1="
				}
			},
			new Pin()
			{
				Hostname = "*." + "skippinning.com",
				PublicKeys = new string[]{ }
			},
	},
		DangerousAcceptAnyServerCertificateValidator = false,
		DangerousAllowInsecureHTTPLoads = false

}) {
DisableCaching = true,
Timeout = new TimeSpan (0, 0, 30)
};`
Here, I need to skip pinning for "skippinning.com" domain, is that a correct way, as I am able to skip pinning with empty array of keys.

Hey @alexrainman, If possible, let me know, workaround to skip pinning in iOS. Above scenario with empty PublicKeys array working fine for Android only. There seems to something different in iOS.
Awaiting your reply, thanks.

I will have to ship an update for that.

I will be very glad, if you will release a new version with the additions. Otherwise, we can not use this library anymore.

If possible, Let me know your release plan. Thanks.

Early this week.

What do you mean by "best approach to handle pin mismatch in PCL"?
What do you mean by "way to handle invalid base64 error"?

Ok, thanks again for the reply and your planned release for this issue.

For pin mismatch, If I have a REST service call with HttpClient in PCL, I can handle the exception "System.OperationCanceledException: Certificate pinning failure: pins mismatch.". To exactly catch it and display an error to user, we need to identify error by any means like error code, or a flag which says pinning is failed. Otherwise, I need to identify this exception using error message or something like that, or platform specific exception identification and handling in PCL, which does seems to be correct approach.
2)This case is not realistic, but, If accidentally, I entered wrong public key (by removing a character from key and making it invalid base64 key), here library throws IllegalStateException. If possible, We can handle that as well.

From PCL or platform specific projects, look into the InnerException inside HttpRequestException. What we have in the library right now is the best you can get.
This is something i tried but couldn't make it happen. Will give it another try.

Yes, InnerException contains the SAME error message and Platform specific exception objects, Eg. Android - Javax.Net.Ssl.SSLPeerUnverifiedException and iOS - Foundation.NSErrorException. To handle them in PCL seems to be unrealistic due to different error types. I handled them using error message in PCL. But, is that a correct way, as error message can be changed in future.
Ok, This is not urgent though. Can be an improvement in future releases.

Currently, for me, Skipping iOS certificate pinning using empty public key array, is on higher priority. If possible, please check for the release of this specific issue. Thanks again.

Nothing i can do about the error messages, other than what i already did.
Yes, both skipping with empty/null pins and verifying the keys before adding them to the pinner will be out in the next release.

No problem for the error message for moment as long as it does not changes.
Ok great!, If possible, can you let me know the release date for 2nd point(skip pinning). Please try asap, Thanks.

@alexrainman ,Let me know, if its possible for you to release an update with skip pinning, in 1 or 2 days?, Thanks.

Today.

Cool, Thanks!

I hope the update will be released today, thanks.

Please let me know, if its possible for you to release today, else I will need to check for the custom handler implementations, thanks!

Thanks for releasing new version with the fix. I will check and let you know, tomorrow.

Skip pinning is working fine.
FYI, I received Internal Server Error/500, if we hit same REST request one after other. I need to clear cookies before creating handler.
Thanks again for your actions!


bump the ubuntu k8s version to 0.18.0

Update the doc and script to use 0.18.0 k8s for ubuntu.
@roberthbailey Fix https://github.com/GoogleCloudPlatform/kubernetes/issues/8714.
Tested several times with success.

LGTM.

fixes #9114


Install from NPM not the latest version of plain javascript

Summary
When install from npm https://github.com/nhn/tui.image-editor/tree/master/apps/image-editor like docs said the latest version is not the real latest version but stuck on wrong commit
This is the content of package.json in node_modules folder
...
"gitHead": "497ae682029a9794f1dedd985cf41b2cd898761b"
...

Version
v3.14.3
Additional context
Command executed: npm install --save tui-image-editor

@mastercrys
Thank you for your question.
I don't quite understand that you don't install the 'latest version'.
Can you explain it in detail?

When I run npm install --save tui-image-editor in my project I cannot see the resize functionality that has been implemented in this commit
Can you please update the NPM repository?

@mastercrys
Oh, the resize feature is currently being prepared for v3.15.0. Hold on a minute, please. :)


Testing with latest pyscf

Some changes to maintain compatibility with the latest pyscf.

Looks good to me - merge when ready.


Error calling npm to fetch template. Please ensure that node and npm are installed and available on your system. Full error message: Command failed with exit code 1: npm root -g --prefix C:\Users\Dragon boy\AppData\Roaming\BotFrameworkComposer.yo-repository --loglevel error 'npm' is not recognized as an internal or external command, operable program or batch file.

Describe the bug
Error calling npm to fetch template. Please ensure that node and npm are installed and available on your system. Full error message: Command failed with exit code 1: npm root -g --prefix C:\Users\Dragon boy\AppData\Roaming\BotFrameworkComposer.yo-repository --loglevel error 'npm' is not recognized as an internal or external command, operable program or batch file.
Version

Browser

[ ] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[ ] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior

Screenshots

Additional context

Similar to reported in #8634. Can you verify you have both NodeJS and npm installed on your machine?Also, can you specify your npm version and confirm if npm is in your PATH environment variable?

Closing due to no response.


Lock Avatar Function

Some people do not like it when avatars change frequently, but there's little we can do about it. That said, ADN does not delete avatar images that are not being used. This means that it should be possible for people to say "Lock All the Avatars!" and not receive any updates when the images change. The existing URL can be stored in localStorage along with everything else, and later synchronised with their personal settings when that feature is enabled.
New accounts would have their avatar images recorded and saved.
Note: Logic would need to be in place to do this only for accounts in the Follower/Following lists to prevent tens of thousands of avatar URLs from being saved.

To make this even more useful, the Nice API could be configured to record all avatars and show the last X for people to choose from.


Dockerfile doesn't upgrade to latest version 1.5.1

When I pull with docker to the latest version sia remains with siad at 1.5.0.
May you please look into it?

Thank you for reporting!
We had a strange issue where Docker Hub wouldn't pick up the new tags and wouldn't start the builds.
It's resolved now and the new images are available.


Moving Ben Pickles to Contributors

Hello @valueof,
Please review the following commits I made in branch 'ben-move-ben'.
e46fa94654aa2bc2c3dfcc3671d2e59816825712 (2016-07-11 12:01:46 -0700)
Moving Ben Pickles to Contributors
R=@valueof

Oh, oops. Seems like you're copying in this PR and not moving?

Ugh, you're right, it didn't pick up the move. Two secs and I'll update.

Updated. Sorry about that.

Thanks!


scheme.table callback called multiple times?

It seems like calling
schema.table('tablename', function(t) {
  t.integer('id');
});
schema.table('somethignelse', function(t) {
  t.integer('fart');
});

this will alter table tablename add id(int) TWICE.
This seems to be the case when using what is in trunk, but not uploaded to npm
At least this appears to be the case I am running into, as if it was using the old callback or something

Got bitten by this almost 2 years after the initial report. I suppose that making schema a function that generates a new schema builder, and only leaving the methods as that function's properties is one solution that would leave programmers with the following outcome:
knex.schema // works
knex.schema() // works
schema.createTable() => does not work; re-uses single instance
schema().createTable() => works

This, however, would require an API change and apparently some internal refactoring, so it might just be best to update the README with information that knex.schema is a getter and leave it visible right below http://knexjs.org/#Schema .

Closing as docs has been updated to reflect this nature of the schema builder. API re-design should be in a seperate issue, if such a change is still requested.


Compiler Option Customisation, Forking, Caching, Bug fixes

Fixes #47, #43, #40, #39, #36, #27, #26, #16, among possibly others

Fixes #47, #43, #40, #39, #36, #27, #26, #16

Fixes #43
Fixes #40
Fixes #39
Fixes #36
Fixes #27
Fixes #16

Fixes #43

Fixes #40

Fixes #39

Fixes #43 , fixes #40 , fixes #39 , fixes #36 , fixes #27 , fixes #26 , fixes #16


Self-nominate kunwuluan as reviewer

Signed-off-by<EMAIL_ADDRESS>What type of PR is this?

/kind document
What this PR does / why we need it:
His contributions are the following:

Opened PRs: #2407 #1226 #849 #709 #708
KEP in progress: #2976

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Help reviewing PRs
Does this PR introduce a user-facing change?

/assign @alculquicondor @tenzen-y

/close


pull request for e2e test at 12/09/2016 00:45:03

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Fix #5042

https://www.concrete5.org/marketplace/addons/storage-for-amazon-s3/support/issues-after-upgrading-this-add-on-to-v3.0.1-on-concrete-v5.8.1.
We throw a try/catch around the attempt build, and fail the build for thumbnails

This may not resolve the actual root issue, see thread

This doesn't resolve the root issue, but this is still needed


Fix S3 gateway cross-repo copies

putobject and friends were confusing src and dst repositories, which will not do.
Fixes #7467.

Reviewers: Adding relevant test to Esti, but please review the change for now.

Reviewers: Adding relevant test to Esti, but please review the change for now.

Actually... testing this may not be possible with the current S3 gateway test, which uses the MinIO client, which I am not sure supports the multipart copies API.  May take a while, will open a tech-debt issue if I cannot get this done here today.

@arielshaqed Thanks, code is great no comments on the changes. However, can you please add a test scenario for that

Thanks!  There are some issues with testing, I'm still trying to figure out if I can use MinIO client ComposeObject to do this.

may not be pos

Reviewers: Adding relevant test to Esti, but please review the change for now.

Actually... testing this may not be possible with the current S3 gateway test, which uses the MinIO client, which I am not sure supports the multipart copies API. May take a while, will open a tech-debt issue if I cannot get this done here today.

@arielshaqed for that specific test you can use an S3 client and limit the test for s3 blockstore only, though I think minio does support multipart upload

@guy-har maybe you know?  I managed to get Esti to pass, except for...

SigV2.  I am still missing some headers to sign.  This is less urgent, I doubt we have many users of MPU copy with sigV2.  So I am happy to open a tech debt issue and pull without it.
Azure tests fail due to "InvalidBlockList".  This would need to be an error in the Azure block adapter.  The obvious suspect is the conversion from symmetrical bounds in the S3 API (bytes [start,end]) to asymmetrical bounds in the Azure BlobStore API (bytes [offset, offset+count)).  But I had a look and we do add 1 to get the required bounds.  Any ideas what else to try?

license/cla stuck.  But I work here, I literally signed on paper to grant the project my rights for work on lakeFS.  Pulling by adminiforce.


"ERRORS: Missing_fld Bad_footprint" in simple C example

I have a simple example where I was expecting Infer to report a trivial memory leak due to a missing free().
In the code
#include <stdlib.h>

struct foo {
	int count;
	int payload[];
};

#define COUNT 10

int main()
{
	struct foo *f;
	f = malloc(sizeof(*f) + COUNT * sizeof(f->payload[0]));
	if (f == NULL)
		return 1;
	f->count = COUNT;
	for (int i = 0; i < COUNT; i++)
		f->payload[i] = i;
	/* missing free */
	return 0;
}

"infer --debug --frontend-debug -- gcc -o struct struct.c -O -Wall" fails to report the leak:

/home/jeremy/infer-linux64-v0.1.1/infer/infer/bin/InferAnalyze -results_dir /home/jeremy/infer-out -makefile Makefile -allow_specs_cleanup -models /home/jeremy/infer-linux64-v0.1.1/infer/infer/bin/../lib/java/models.jar -developer_mode -html -dotty -print_types -trace_error -project_root /home/jeremy

Starting analysis (Infer version v0.1.1)

make -k -j 4

/home/jeremy/infer-linux64-v0.1.1/infer/infer/bin/InferAnalyze -allow_specs_cleanup -models /home/jeremy/infer-linux64-v0.1.1/infer/infer/bin/../lib/java/models.jar -developer_mode -html -dotty -print_types -trace_error -project_root /home/jeremy -results_dir '/home/jeremy/infer-out' -cluster xcl1.cluster >cl1
echo "Analysis done"
Analysis done

1 file analyzed

No issues found

Instead, infer-out/log/analyzer_err contains:
loaded /home/jeremy/infer-out/captured/struct.c.3F5C

Processing cluster #1/1 with 1 files and 1 procedures

**Discovering specs: main file: struct.c
  0/1 procedures done (0.00% total)
  1 cores active
struct.c:18: ERROR: Bad_footprint (File backend/rearrange.ml Line 159 Column 45)
struct.c:18: WARNING: ANALYSIS_STOPS exception: Bad_footprint(File backend/rearrange.ml Line 159 Column 45)

**Verifying specs: main file: struct.c
  0/1 procedures done (0.00% total)
  1 cores active
struct.c:18: ERROR: Missing_fld count(File backend/rearrange.ml Line 646 Column 50)
struct.c:10: Warning: No specs found for main
Analysis time: 0.020756s

analyzer_out has

#### Start: Footprint Computation for main ####
#### [FUNCTION main] ... OK #####
#### Finished: Footprint Computation for main (17 nodes containing 12 states) ####
#### [FUNCTION main] Footprint Analysis result ####
PROP 1:[path: linear paths: -1. max length: -1 has repetitions: 1 of node 1
n1(s1).n17(s2).n13(s3).n14(s5).n16(s6).n2]
return = 1<update:16>:int

Specs changed: added new pre

Adding summary for main
  int main()
  Timestamp: 1
  Status: INACTIVE
  Phase: FOOTRPRINT
  Dependency_map:
  TIME:0.005438 s TIMEOUT:N SYMOPS:23 CALLS:0,0
  ERRORS: Bad_footprint
  --------------------------- 1 of 1 [nvisited: 10 14 15 16 25] ---------------------------
  PRE:

  POST 1 of 1:
  return = 1<update:16>:int
  ----------------------------------------------------------------

Transition main from footprint to re-exe
Adding summary for main
  int main()
  Timestamp: 0
  Status: INACTIVE
  Phase: RE_EXECUTION
  Dependency_map:
  TIME:0.005438 s TIMEOUT:N SYMOPS:23 CALLS:0,0
  ERRORS: Bad_footprint
  --------------------------- 1 of 1 [nvisited:] ---------------------------
  PRE:

  ----------------------------------------------------------------

#### Start: Re-Execution for main ####
Finished re-execution for precondition 1 (17 nodes containing 11 states) (fail)
#### [FUNCTION main] ... OK #####
#### Finished: Re-Execution for main ####

================================================
 *** CANDIDATE PRECONDITIONS FOR main:
================================================

PROP 1:

================================================
 *** VALID PRECONDITIONS FOR main:
================================================

Specs changed: removing pre of spec
--------------------------- ---------- ---------------------------
PRE:

----------------------------------------------------------------
Adding summary for main
  int main()
  Timestamp: 1
  Status: INACTIVE
  Phase: RE_EXECUTION
  Dependency_map:
  TIME:0.019285 s TIMEOUT:N SYMOPS:45 CALLS:0,0
  ERRORS: Missing_fld Bad_footprint

++++++++++++++++++++++++++++++++++++++++++++++++++
+ FILE: struct.c  LOC: 25  VISITED: 0/0 SYMOPS: 45
+  num_procs: 1 (0 ok, 0 timeouts, 1 errors, 1 warnings, 0 infos)
+  detail procs:
+    - No Errors and No Specs: 0
+    - Some Errors and No Specs: 1
+    - No Errors and Some Specs: 0
+    - Some Errors and Some Specs: 0
+  errors:  Bad_footprint:1
+  warnings:  ANALYSIS_STOPS:1
+  infos:
+  specs: 0
++++++++++++++++++++++++++++++++++++++++++++++++++

Detailed errors during footprint phase:
struct.c:18: ERROR: Bad_footprint (File backend/rearrange.ml Line 159 Column 45)

Detailed errors during re-execution phase:
struct.c:18: ERROR: Missing_fld count(File backend/rearrange.ml Line 646 Column 50)

Detailed warnings during footprint phase:
struct.c:18: WARNING: ANALYSIS_STOPS exception: Bad_footprint(File backend/rearrange.ml Line 159 Column 45)

Detailed warnings during re-execution phase:
Interprocedural footprint analysis terminated in 0.022040 sec

Thanks for reporting this. I think Infer is confused by the argument to malloc, which depends on an uninitialized value f->payload[0]. I am looking into this issue.
If you replace your malloc expression with a more traditional malloc(sizeof(struct foo)), Infer should report the memory leak as desired (at least, it does on my end).

I'll try it out with types rather than values. But of course sizeof only depends on the type of the expression so the definedness of the value shouldn't matter.

I confirm I get the expected warning if I use f = malloc(sizeof(struct foo) + COUNT * sizeof(int));.

That use-case is supported now and infer reports the leak as expected.

(It was about this time I became interested in Rust.)


add optaweb openshift image and template, switch to rhdm71-dev

Signed-off-by: calvin zhu<EMAIL_ADDRESS>Thanks for submitting your Pull Request!
Please make sure your PR meets the following requirements:

[ ] Pull Request title is properly formatted: [RHDM-XYZ] Subject
[ ] Pull Request contains link to the JIRA issue
[ ] Pull Request contains description of the issue
[ ] Pull Request does not include fixes for issues other than the main ticket
[ ] Attached commits represent units of work and are properly formatted
[ ] You have read and agreed to the Developer Certificate of Origin (DCO) (see CONTRIBUTING.md)
[ ] Every commit contains Signed-off-by: Your Name<EMAIL_ADDRESS>- use git commit -s

This PR replaced older
https://github.com/jboss-container-images/rhdm-7-openshift-image/pull/82
because updated based on feedback and switch to rhdm71-dev


Use better colors

Select better colors for all the models in app/src/definitions/models.ts

Go to the settings and enable Edit class colors.
Then click on the colored squares in the class list in the center bottom panel to change the colors of classes.
If you found a nice color theme, go to the settings and click COPY CLASS COLORS TO CLIPBOARD and paste it in a comment here.


Conditionally require crypto module in shim.js

Fixes the issue discussed here: https://github.com/tradle/react-native-crypto/pull/22. Basically, sometimes we need to require('crypto') before anything else, and shim.js is the best place to do that.

@jd20 could you add a comment in the commit as to why it has to be a dynamic require? Just for it to be easy to remind ourselves of the reason in the future

Sure, just added it.

@jd20 awesome, thanks! Released in 8.3.0


Fallout 4 Deploy

Hey bud. Im attempting to modify the script for Fallout 4. Am I on the right track?
https://pastebin.com/dmbRjqfg

Hey bud. Im attempting to modify the script for Fallout 4. Am I on the right track? https://pastebin.com/dmbRjqfg

After messing with it for awhile I got it working! If anyone is interested feel free to use it.

What exactly does the post-deploy do? Help ensure the load order and plugins are loaded by the game correctly? If that is the case, wouldn't we need a post-deploy for every game we mod?

If anyone is interested feel free to use it.

Added.
Made some changes to how Vortex is installed, though, so upgrading will require a full uninstall + reinstall.


Make heating algorithm better

Find a way (and implement it) to have the heating start for a while when the desired temperature is changed. This increases comfort.
For example:
Temperature is 17.6°C. Set point is 17.5°C and the user wants to increase the temperature to 18°C. Assuming +-0.5°C hysteresis the heating won't start until the temperature is below 17.5°C, and this may take a while. It's better to start heating right away and reevaluate the temperature later.
NOTE: the same should happen if the heating system is on and the set temperature is decreased.

Done in mod_thermostat by resetting:
state.final_temp = state.target_temp;
state.anticipator_temp = 0.0;

After mode and temperature have been updated.