Simple transactions

I know transactions have been discussed before (#81). However, I did a "minimal implementation" of transaction handling that I would like to show, just to see if you think this is something we can build on? Do you think the idea is sound?
There is no promises/async library involved. The implementation is simply setting a flag that keeps track if we're in a transaction or not, and supply the right pg-connection to the query runner.
I have done some quick testing but don't wanna put to much time on it if the whole idea turns out to be flawed.
I made a PR here: #207
Also: Massive.js is awesome!

I think I see a problem, unfortunately -- haven't pulled the code to test myself but it looks as if once you've opened a transaction you can't do anything outside it until it's finished because it makes the runner stateful.
I haven't looked at adding transaction support in a while (priorities changed) but at this point I think either actually cloning or simulating cloning db is probably the way to go. End result would look something like this:
db.tx.begin(function (err) {
    db.tx.mytable.insert(mydata, function (err) {
        if (err) { db.tx.rollback(); }
        else { db.tx.commit() };
    });
});

I added a comment on the PR but I'll add it here as well. Imagine this scenario:
db.tx.begin(function (err) {
    db.tx.mytable.insert(mydata, function (err) {
       //User code goes BANG
        if (err) { db.tx.rollback(); }
        else { db.tx.commit() };
    });
});

If the thread exits (which it would) the connection pool would be gone as well and, ideally, the transaction voided in PG (which is per connection). However, to get around this, Joe Coder would put this is a try/catch - you don't want a tx to die on you yes?
The problem is that the catch block would need to release/rollback or else we end up with a pending transaction stuck on a connection that's put back into the pool, which would be a roving chaos monkey.
It is possible to do this correctly - but at the end of the day it's just simpler to add "BEGIN" and "COMMIT" to your query chain by hand - or better yet to just use a SQL file.

@robconery: "The problem is that the catch block would need to release/rollback or else we end up with a pending transaction stuck on a connection that's put back into the pool, which would be a roving chaos monkey"
– Yup, that would cause trouble. But I think in your example, the connection would never be returned to the pool, because runner.js would never call done() (since Joe Coder didn't rollback). Instead it would be kept open, unavailable for other clients to use.
"it's just simpler to add "BEGIN" and "COMMIT" to your query chain by hand - or better yet to just use a SQL file"
– Yes, a SQL file is probably the best way in many cases. My use case is that I'd like to be able to quickly update multiple tables atomically without having to write a separate sql file.
I don't understand what you mean with the query chain – surely writing
db.query("BEGIN", ...)
db.table.save( ... )
db.query("COMMIT")

isn't a good idea? The connection is returned to the pool after each query.
@dmfay: Unless the runner is implemented as a singleton, this shouldn't be a problem? Or maybe I misunderstand you?

Thanks to Node's module caching, the runner does have singleton-like characteristics even if it doesn't meet the complete technical definition. Try changing the before() hook in one of the testcases to open a transaction and log whether you're in one or not from the runner, then run mocha test -- you'll see that everything from that point onward is executed within the transaction even as the succeeding testcase modules re-require and reconnect Massive.

@dmfay – doh!:stuck_out_tongue_closed_eyes: Then this approach won't work. Closing it.

But it is unavailable for others, so we'll avoid the chaos monkey :)

@n321203 No, that's not the point. The transaction is bound to the connection and, given that it's part of a pool, the connection will go back into the pool if Joe Coder calls done() - it's at that point that we have some big trouble. If/when that connection is handed back out you'll get a "cannot perform query with an open transaction. Please commit or rollback". This is a gruesome runtime error that yours truly has run into before.

My use case is that I'd like to be able to quickly update multiple tables atomically without having to write a separate sql file. I don't understand what you mean with the query chain – surely writing

It's code in a file no matter where you put it; abstracting something like this is not necessary as SQL has the best facility for "updating multiple tables atomically". Just create a SQL file and call it from JS - simple stuff.


fix:parseComplexKV with unknown metadatatype:7

kRedisSortedint metadata type 7 out of range

Currently, sorted int is not converted to Redis set type.
@fishery86 Are you interested in supporting this compatibility?  If not, I'll support it in the future.

Currently, sorted int is not converted to Redis set type.
@fishery86 Are you interested in supporting this compatibility? If not, I'll support it in the future.

ok,I will do the job

resolved in #431


Separate type relation logic from checker.ts

The type relation logic is already quite sizable and isn't really tied to the checker too much.
Apart from accessing std types it can be self contained. This should help maintaining it.

:x: There is undocummented changes. Run chronus add to add a changeset or click here.
The following packages have changes but are not documented.

:x:@typespec/compiler

Show changes


feat(io): rework io package to incorporate 'core' serialize and deserialize functions

These changes rework the 'io' package to expose to new functions; deserialize() and serialize(). Previously, these functions were mashed into CLI / CORE / WEB packages as different functions returning different things. These are part of the new building blocks for applications.
Test suites were added to make sure the new functions work as expected.
In support of the new function, the deserializers and serializers have been modified to export mimeType and de/serialize functions. By using mimeType, users can quickly convert to any desired format.
An additional utility function was added to assist users to find the correct mime type using an extension; getMimeType()
All Submissions:

[X] Have you followed the guidelines in our Contributing document?
[X] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[X] Does your submission pass tests?

@platypii please review. this is part of the reorg of packages. io needs to stand alone, and provide both serialize and deserialize functionality. previously, these functions were mashed into CLI and CORE code. these changes try to expose an easy API to do the same, via one package; io

@hrgdavor please review. i'm wondering if the new deserialize() and serialize() functions will help with the new WEB UI. i hope so. all feedback is welcome.

@platypii what do you think about moving this to another namespace? i've been wondering how to reorg the current 'core' package, and think that some smaller packages for parameters, fake file system, loading, io, etc. should be create.
this 'io' package really feels like 'core-io' now, creating the glue between APPS and IO libraries

As far as moving to another package, I don't have a strong opinion on that. I've never really liked "core" because it's not clear exactly what that means. I think the serialize/deserialize makes sense in IO package. I don't want to have a million tiny packages, I think its better to have a couple well defined standalone packages. 🤷♂

Ok. Let me ask this... are any functions in io-utils out of place? I think some of those would be better inside this package, and make io-utils remain with only common utility functions.

@hrgdavor @platypii please review again
the getExtension(mimeType) function was added
several mime types were corrected to match those of the IANA media types, which has replaced mime types in the exchange of data.
https://www.iana.org/assignments/media-types/media-types.xhtml


Search Log Visibility

Discuss search log visibility and change wordcloud, search log, and 0 result search pages accordingly. Also discuss about the name and time visibility on search log pages. You may also open wordcloud directly. Make cloud image not square.
Add 0 result hint to service creation page.

Search log visibility and UI changed. It is added to service creation page too.


Update recipe for py312_patch

Preparation for py312 release.

Linter check found the following problems:
The following problems have been found:
ERROR: clone/recipe/meta.yaml:21: pip_install_args: pip install should be run with --no-deps and --no-build-isolation.
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: clone/recipe/meta.yaml:31: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
Errors were found

I suggest removing nose.

I suggest removing nose.

done, switch to pytest

Linter check found the following problems:
The following problems have been found:
ERROR: clone/recipe/meta.yaml:31: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: clone/recipe/meta.yaml:31: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
Errors were found


real device issue

Gpay & Apple pay button is showing in the Android emulator & ios simulator.
The problem is when I run that example in a real device time Gpay & Apple Pay button is not showing.

did you find the solution i faced same problem and i am from Nepal so  i tryed by chandging my location also

Closing to continue the conversation in #207.

@pandeykushal not yet


Install private besthttp through the package manager

It seems to be possible to use the Unity Package manager to install from private git repos:
https://docs.unity3d.com/Manual/upm-config-https-git.html
Investigate whether we can use that to get rid of the last submodule.

Done.


Update README.md

One line description.

Yes, I was in a bit of a hurry to things out the door. A minimal README is a very good idea, thanks!

Just FYI, and I know this is a tiny contribution, but for the purposes of copyright I'm happy to explicitly mark this contribution with whatever copyright agreement that you need to incorporate this contribution into your work without any additional encumbrances.  (IBM asked me to sign a CLA for my Node-RED patches which were about this complicated, so yeah.)

Well, to be honest, I'm looking for the easiest, most open and
accommodating license, even though I'm not an expert. I've chosen MIT since
I knew that was OK, but I should probably as IBM about licensing for the
nrmodules repo, since it's currently based on their code (not much of it,
but still).
Anyway, I'm very happy even for token contributions :) No CLA here, at all.
On Wed, Dec 16, 2015 at 5:19 PM, Edward Vielmetti<EMAIL_ADDRESS>wrote:

Just FYI, and I know this is a tiny contribution, but for the purposes of
copyright I'm happy to explicitly mark this contribution with whatever
copyright agreement that you need to incorporate this contribution into
your work without any additional encumbrances. (IBM asked me to sign a CLA
for my Node-RED patches which were about this complicated, so yeah.)
—
Reply to this email directly or view it on GitHub
https://github.com/psvensson/nrfe-widgets/pull/1#issuecomment-165162187.


best-practices: constants should be ALL_CAPS

This line declares the constant timeout but it is all lowercase. It should be TIMEOUT.

Also here.


Download caching

In order to make duniverse practical, a caching mechanism need to be implemented.
This would ensure that the whole universe is not downloaded on each duniverse pull.
Another simpler mechanism that could be a first step towards that would be to not re-download a package that has locally been downloaded in ./duniverse/ vendor directory. That also ensures that a duniverse pull won't overwrite local work.

If the user have opam installed, we could use its download cache.
For example:
opam show -f url.checksum ptime gives "md5=12fb5e8c3eb1d2e6075ac31ce93f7dd6"
so the archive is .opam/download-cache/md5/12/12fb5e8c3eb1d2e6075ac31ce93f7dd6

I like @Jules' idea of using the opam cache for now.  It's kind of hard to know if a local version needs updating or not, since we need to extract the upstream archive and compare it with a recursive diff with the local version.  You can't even just decompress the new archive since that won't delete files from the old archive.

Two options that we can explore for faster downloads:

Using a git cache: https://randyfay.com/content/reference-cache-repositories-speed-clones-git-clone-reference
Using git clone --depth 1 in order not to download the whole history.

merged, but #92 to track a lingering bug


The expansion state of properties isn't kept for any but the last property of a collection

Fixed in 8b4aa26


Implement asp-area attribute in TagHelpers

Self explanatory.

@Villason the MVC <a> and <form> tag helpers have asp-area attributes in RC2. For RC1, use asp-route-area.

Fair enough. Closed.


Give Browser Provider the Test Name

What is your Test Scenario?

When browser provider's such as saucelabs browser provider plugins are included in testcafe, they can't get to know which test file is being runned, so , for example, saucelabs connector can't provide a job name to saucelabs while using concurrency in testcafe.
What are you suggesting?

I'm suggesting testcafe browser providers should be notified at least the test filename it's being delivered or better yet a customized object passed in the test method with unique values for each provider.
What alternatives have you considered?

Additional context

Connected to https://github.com/DevExpress/testcafe-browser-provider-saucelabs/issues/23.


Getting error when dealing with numbers from data txt files.

Hi @vendi12 ,
So I was not able to use fasttext.py to load the FastText model, as an alternative I chose Gensim to load it, however, seems like the numbers from data txt files could not be dealt with. For example, in this case, it is the number 41010.
I replaced the loading part of code as below:
from gensim.models.wrappers import FastText
self.word_model = FastText.load_fasttext_format(EMBEDDINGS_MODEL_PATH)

However, when the program executed to the part below:
print("Embedding dictionary words")
for word in memn2n.general_config.dictionary.keys():
    memn2n.dict_vectors[word] = memn2n.word_model[word]

I got the error below:
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/ubuntu/BI_AI/MemN2N-tableQA/demo/qa.py", line 453, in <module>
    run_web_demo(args.data_dir, args.model_file)
  File "/home/ubuntu/BI_AI/MemN2N-tableQA/demo/qa.py", line 425, in run_web_demo
    webapp.init(data_dir, model_file)
  File "demo/web/webapp.py", line 28, in init
    memn2n.dict_vectors[word] = memn2n.word_model[word]
  File "/usr/local/lib/python2.7/dist-packages/gensim/models/word2vec.py", line 1281, in __getitem__
    return self.wv.__getitem__(words)
  File "/usr/local/lib/python2.7/dist-packages/gensim/models/keyedvectors.py", line 589, in __getitem__
    return self.word_vec(words)
  File "/usr/local/lib/python2.7/dist-packages/gensim/models/wrappers/fasttext.py", line 94, in word_vec
    raise KeyError('all ngrams for word %s absent from model' % word)
KeyError: 'all ngrams for word 41010 absent from model'

I tried every possible approach I could find and came up with, but couldn't find anything.
Can you share what version or some information about fasttext.py you are using for this task?
Thanks.

Hi! Sorry for the late reply! I am using https://pypi.python.org/pypi/fasttext "It requires Cython in order to build the C++ extension" Did not try replacing it with gensim there may be some hiccups there I assume.

Yeah, fasttext.py somehow doesn't work. In the issues page it was discussed, seems like it was because of the version of fasttext is newer.
Switched to use pyfasttext, working fine now.


is not a general'ish intelligence

please remove the label, stop it!

Removed. Thank you for comment.


fix(tracing): make spans resilient to performance clock drift

This is a simpler alternative to #3384
Described by the comment here: https://github.com/open-telemetry/opentelemetry-js/issues/3279#issuecomment-1320064182
Fixes #3355

like previous pr, codesandbox with the changes, artificial drift and most common instrumentations (with already fixed the _performanceOffset issue in first comment)

The test (Span # should have an entered time for event) is unstable with the change.

Looks like the test was providing time 0 to startTime for the span which caused the span start to use Date.now to generate a start time. It then provided 123 to the event time which caused a drift correction. The test was flaky because it depended on the drift correction being millisecond accurate.

@t2t2 I updated the web instrumentations to use Date instead of performance.now to get span end times which I think should address your concerns. I would appreciate your review because you've been very helpful. Hopefully we can get this merged soon.


chore: update @nuxtjs/eslint-module

Not necessary IMO as ^0.X.Y always includes all versions starting with 0.

@manniL You're right!

I was wrong here :see_no_evil:
This doesn't apply to < v1 versions, so
^0.1.Y won't over everything starting with 0 but only everything starting with 0.1.

@manniL truth :grin:
I'm going to release v1.0.0, I think it's stable now

:+1:
Feel free to update the deps here then :relaxed:


Feature/Idea: Only enable if 1 non-excluded filetype window is open

Say I have neo-tree open to my left (disabled codewindow here), and I have a main window with codemap to my right. Now, I might split to my right for a bit, in that time period while there's more than 1 window with code open, I'd like codewindow to be disabled as it gets too cluttered and hard to read code then with multiple split windows. I wonder if you have an easy way to do this, I'm sure this can be done in a hacky programmatic way in my config, but I'd rather not and see if you have a simple fix/autocmd suggestion :)
Thanks,
Amaan

Stuff like this will probably be addressed in the rewrite that's going on currently. I been a bit busy the past few months, but stuff's letting up, so I'll hopefully be able to finish it soon. I'l take this suggestion into account!

Glad to hear! Thanks again

Another issue to think about if you can is that when writing text, if it goes to the end of the line codewindow hides that, and you can't see what you're typing. Codewindow should hide if the cursor is underneath it

This is somewhat covered by issue https://github.com/gorbit99/codewindow.nvim/issues/20


Excellent section worthy of it's own page

This particular section related to considerations:
https://docs.microsoft.com/en-us/azure/architecture/example-scenario/aks-agic/aks-agic#considerations
is an exceptional best practices document for AKS and containerized applications in general.  I would reccommend promoting this guidance to a higher first order level guidance document.  It's hidden away in a very specific edge case'ish page but would be very valuable as a first order document.  I use and reference it in customer architecture conversations, regardless of AGIC/multi tenant AKS context.

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

ID: 869bcb5b-4828-adcd-98f8-fd4681d8110d
Version Independent ID: 54aade79-aca5-deef-7d26-a7baa22c36c7
Content: Use Application Gateway Ingress Controller (AGIC) with a multi-tenant Azure Kubernetes Service (AKS) - Azure Solution Ideas
Content Source: docs/example-scenario/aks-agic/aks-agic.yml
Service: architecture-center
Sub-service: example-scenario
GitHub Login: @paolosalvatori
Microsoft Alias: paolos

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 505652


possible race condition on cell.subscribers

Using go build -race I noticed a race condition when using cell.SubscribersDo().
In cell.backendLoop() there is a write to c.subscribers after reading from the subscriberc channel. The SubscribersDo should probably go through a ReadLock?

Will check and fix it, thanks. I appreciate your feedback.

Fixed subscribers handling.


unit test warnings

It'd be good to get rid of the warning from the unit tests.
jeff@dean ~/git/scVI $ make test
python3 setup.py test
running pytest
running egg_info
creating scvi.egg-info
writing scvi.egg-info/PKG-INFO
writing dependency_links to scvi.egg-info/dependency_links.txt
writing requirements to scvi.egg-info/requires.txt
writing top-level names to scvi.egg-info/top_level.txt
writing manifest file 'scvi.egg-info/SOURCES.txt'
reading manifest file 'scvi.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'scvi.egg-info/SOURCES.txt'
running build_ext
===================================================================== test session starts =====================================================================
platform linux -- Python 3.6.6, pytest-3.4.2, py-1.5.3, pluggy-0.6.0
rootdir: /home/jeff/git/scVI, inifile: setup.cfg
plugins: nbval-0.9.1
collected 24 items

tests/test_scvi.py ........................                                                                                [100%]

====================================================================== warnings summary =======================================================================
tests/test_scvi.py::test_synthetic_1
  /home/jeff/miniconda3/lib/python3.6/site-packages/sklearn/metrics/pairwise.py:257: RuntimeWarning: invalid value encountered in sqrt
    return distances if squared else np.sqrt(distances, out=distances)

tests/test_scvi.py::test_pbmc
  /home/jeff/git/scVI/scvi/dataset/dataset.py:170: RuntimeWarning: divide by zero encountered in log
    log_counts = np.log(X.sum(axis=1))
  /home/jeff/miniconda3/lib/python3.6/site-packages/numpy/core/_methods.py:112: RuntimeWarning: invalid value encountered in subtract
    x = asanyarray(arr - arrmean)

-- Docs: http://doc.pytest.org/en/latest/warnings.html
=========================================================== 24 passed, 3 warnings in 83.57 seconds ============================================================

@jules-samaran This might be another good issue to work on while you're getting familiar with the code.


Starting media-sample as a service shows a Uamp notification

We should be less aggressive about setExpedited here
https://github.com/google/horologist/blob/14e3aad5bcc2cb2cb1a3fe70b029c17272fe7778/media-sync/src/main/java/com/google/android/horologist/media/sync/workers/SyncWorker.kt#L89
It's very visibile on each launch, including if a media conttroller started us.  If we already have data, then we should probably defer this, say set setInitialDelay(5, SECONDS) to avoid this distraction.

Out of scope


Build HTML Using Wireframe as Template

#As a developer, I need to translate the wireframe into semantic HTML elements.
##This is done when the HTML has a completed body section with semantic elements and a structure that will be formatted and styled by the CSS into the final webpage.

HTML is mostly complete, and will be added to as projects and challenges are completed.


streamlit cloud server

Hello @yvann-hub ,
can you please write the steps of how to run this on streamlit cloud server?
it is only working locally.
Many thanks!

 You choose the repo on streamlit cloud and you launch, if there's a problem you can look at the logs or else there's plenty of help on the internet or chatgpt for debugging. have a nice day!

thanks!
yes, i have been working with streamlit for a while, and I am aware with your comment.
but when i set the Main file path, i put Home.py, but it was only the home page.
is there some runs should be done or something?

I doesn't do so much more, maybe check the difference with my code if you have made change to your version. Tell me if you find a solution !😉

sure, I will redo it and let you know!
thanks!


New dendrogram construction algorithm integrated with Boruvka

Moved out of #825.
I think it is not necessary to fully understand why it works for the review. Rather, I think we should just focus on the interface and make the code clean without exploring the algorithm in details.
The main thing I'm unsure about is the interface, and whether the hybrid mode should be a template argument in MST.

Rebased on master to resolve conflicts.

@masterleinad Thank you for the reviews!


Filter by private shows 4 but finds no resources

In alpha pre-release deploy when not logged in, I can Select Discover, then expand Filter by availability, then it shows 4 next to private.  This is incorrect as since not logged in there should be no private resources accessible.  If I select the private box 4 resources are shown.  Clicking on each of them shows that they are actually "Discoverable"

@dtarb Should I just remove private option from there?
@alvacouch Which is the correct way to index "discoverable" property?
    def prepare_discoverable(self, obj):
        if(obj.raccess.public | obj.raccess.discoverable):
            return True
        else:
            return False

or

    def prepare_discoverable(self, obj):
        return obj.can_be_public_or_discoverable;

I don't think the 2nd option should be used
Sent from Outlook Mobile
On Wed, Apr 20, 2016 at 5:06 PM -0700, "Zhaokun Xue"<EMAIL_ADDRESS>wrote:
@dtarb Should I just remove private option from there?
@alvacouch Which is the correct way to index "discoverable" property?
    def prepare_discoverable(self, obj):
        if(obj.raccess.public | obj.raccess.discoverable):
            return True
        else:
            return False

or

    def prepare_discoverable(self, obj):
        return obj.can_be_public_or_discoverable;

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/hydroshare/hydroshare/issues/1135#issuecomment-212659562

@pkdash Thanks! @dtarb Those four private resources are discoverable. Should I just show all public resources instead of all discoverable resources?

There is a discoverable category and those 4 resources should be part of that group.  They should not appear with the private group.
Private resources should only show if a user is logged in and if the user is owner or has been granted view or edit permissions.  If this is not feasible, I am OK with private resources not showing, as they appear on MyResources.
I am not sure what you are asking about showing all public resources instead of all discoverable resources.  It depends on which check boxes are checked.  If the public check box is checked, show public, if discoverable checked show discoverable, if both checked, show both.

@dtarb I am going to hide private option in availability.

I vote for simplifying if we can. The discovery page is for users to find out about what others are doing. If they want to see their own resources (and in particular their own private, non-discoverable resources), that's what the My Resources page is for.
I don't think private, non-discoverable resources should show up at all in searches on the discovery page (regardless of whether you are logged in or not).
I also don't think that "Discoverable" should even be a filter.  Anything that shows up in a search result is by definition discoverable.  Nothing that isn't discoverable should ever show up in the discovery page - whether you are logged in or not.

Fixed in 1.6.10 Candidate release.


Coral.Manage build warnings

Branch: dev
Commit: 9f071d7affb7bd42ba461466f8fcb425d54c05c5
When building Coral.Managed within my project, some build warnings are given (mainly about null references) that should be handled e.g. by error reporting, establishing default handling, etc.
Used tools:

cmake 3.25.1
Visual Studio Community 2022 64-bit (17.9.2)

BuildWarningsCoralManaged.txt

You do know that Warnings != errors, right?
I don't see a problem here as long as Coral builds.

Yes, I know that warnings != errors :)
(with decades of experience as sw-dev and sw-arch in automotive and consumer-electronics industry and with hobby-projects)
Why I reported the warnings:

It is good practice to avoid build errors and warnings wherever possible (avoid future issues; think through your code once more; keep overview of errors/warnings in large projects)
Each build-warning may hint to a potential future runtime bug (here clearly the case at least for some null-reference warnings.
First level of defense; we even didn't start talking about static-code-analysis

Just wanted to help the project.
Whether or not the warnings will be fixed is actually your decision.
My recommendation would be to fix them.
Anyway, thanks for considering the report.


Add full event examples

Reason for PR:
I wanted to include the full event examples so one can see the structure of an event when reading the spec. They are based on the events sent by the POC but modified to capture the latest discussions (as understood by me).
Drawback with solution:
I am not sure though that the placing is good so please come with suggestions of where they should be placed.
Signed-off-by: Mattias Linnér<EMAIL_ADDRESS>

Thanks @m-linner-ericsson - I agree we need examples in the docs, which is part of what I tried to capture in https://github.com/cdevents/spec/issues/13. For the spec I would stop at example values for each specific fields, with some comments as well to explain what good values for the field would be.
I think full JSON examples like these would belong to the cloudevents binding document instead?

This is not valid any more due to the changes in the protocol and the additional information in the CDEvents spec


How to validate users in server side (Nodejs) with the particle.network userinfo token?

We have setup particle network in conjunction with Google Auth. So custom jwt is out of the scope.
We want to validate users on the api side with particle network token.

Our App: https://app.decenterai.com
Our sample Userinfo:
{
    "primsa": {
        "uuid": "677856d3-fe23-4950-8362-6d90a3924d56",
        "created_at": "2023-11-04T20:42:19.000Z",
        "updated_at": "2023-11-04T20:42:19.000Z",
        "phone": null,
        "email": null,
        "name": "XO",
        "avatar": "https://lh3.googleusercontent.com/a/ACg8ocIJtStCFQloOGAr_op6uDgxVLz0t3PjeWDXu7pb5RJwTQ=s96-c",
        "facebook_id": null,
        "facebook_email": null,
        "google_id": "102721194057745539806",
        "google_email"<EMAIL_ADDRESS>        "apple_id": null,
        "apple_email": null,
        "twitter_id": null,
        "twitter_email": null,
        "telegram_id": null,
        "telegram_phone": null,
        "discord_id": null,
        "discord_email": null,
        "github_id": null,
        "github_email": null,
        "twitch_id": null,
        "twitch_email": null,
        "microsoft_id": null,
        "microsoft_email": null,
        "linkedin_id": null,
        "linkedin_email": null,
        "jwt_id": null,
        "passkeys_id": null,
        "thirdparty_user_info": {
            "provider": "google",
            "user_info": {
                "id": "102721194057745539806",
                "name": "Hiro Hamada",
                "email"<EMAIL_ADDRESS>                "picture": "https://lh3.googleusercontent.com/a/ACg8ocIJtStCFQloOGAr_op6uDgxVLz0t3PjeWDXu7pb5RJwTQ=s96-c"
            }
        },
        "token": "cxxxxxx.......",
        "security_account": {
            "email": null,
            "phone": null,
            "has_set_master_password": false,
            "has_set_payment_password": false,
            "payment_password_updated_at": null
        },
        "wallets": [
            {
                "uuid": "b8f7ee40-3585-41ce-8725-4ae6f0c7ed08",
                "chain_name": "evm_chain",
                "public_address": "0xCa5d95EB4a7e86A71CE421ee65564261dd9cAd2f"
            }
        ],
        "redirect_type": "login"
    }
}

Relates to https://github.com/orgs/DeCenter-AI/projects/4/views/2?sliceBy[value]=utkarsh-1602&pane=issue&itemId=43935404

https://docs.particle.network/developers/auth-service/sdks/server-api#getuserinfo

@pantaovay thanks, i missed that we can pass the user uuid and user token as parameters for getuserInfo


How can I get the notes.txt?

I wonder how could I get the "notes.txt". I put a song in the folder and what should be written in "notes.txt". Thanks very much.

This project here is only for detecting the syllables pitches / tone heights, not for all the rest of ultrastar song file creation. Please use your favorite search engine for finding tutorials on how to create those ultrastar song txt files.

@basisbit This!
@BunnyTeng Just search for the Ultrastar Creator then you'll find everything you need


Enabling issues for webview/tray

I was going to suggest contributing go bindings for webview/tray, however issues are disabled there.
How about enabling them to get the discussion going in the right place?

done


How to get the widget in the current route

When integrating push messages, when a message comes, click the notification message to jump to the page. I need to judge whether the current route needs to be loaded. If so, update the page directly. If not, load a new page, which can prevent the page from reloading and data synchronization

Hi @SnowLittleStone
Please try possible these Solution
Let us know if this resolves your issue
Thank you

@TahaTesser
That solution is simply to delete the specified route. Whether there is a way to get the widget object currently displayed built by materialpageroute, so that it is easy to judge and update the object

I am still a bit confused at the use case you described, can you provide an small code example that describe the use case?

When I integrate push, when there is a push message coming, I use the notification method to notify app to receive the message and pass the parameters. In the method of monitoring the notification, I need to obtain the currently displayed widget object, and determine whether the current widget object is specified according to the parameters returned by the notification. If so, then update the current widget. If not, push the widget
void main() { runApp(Application()); }
class Application extends StatefulWidget {
@override
_ApplicationState createState() => _ApplicationState();
}
class _ApplicationState extends State {
@override
void initState() {
super.initState();
//notification method
//notification are sent elsewhere
eventBus.on<PushEvent>().listen((event) {
    if (event.type == 1) {
        //Here I need to get the currently displayed widget, If it is TestPage1, I directly call the TestPage1 update method. If it is not TestPage1, I directly push TestPage1. How to implement getCurrentPageWidget() method ?
        if (getCurrentPageWidget() is TestPage1) {
            TestPage1 testPage1 = getCurrentPageWidget() as TestPage1;
            testPage1.update();
        } else {
            Navigator.of(globalContext).push(MaterialPageRoute(builder: (context) => TestPage1()) );
        }

    }
});

}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Hello World',
home: TestPage(),
);
}
}

@SnowLittleStone There is no easy to do this until Navigator 2.0 is in place https://github.com/flutter/flutter/issues/45938. You will be able to change the current route name.
For example if the route name for TestPage1 is /testpage1
you will be able to do something like this
eventBus.on<PushEvent>().listen((event) {
        if (event.type == 1) {
              Router.setRouteName('/testpage1')
        }

    });

If the current route name is not /testpage1 it will replace the current route with the TestPage1, otherwise it will call changedInternalState where you can override this method to update the widget as you like.
If you really want to get this working now, the only way i can think of will be using something like this...
eventBus.on<PushEvent>().listen((event) {
       final bool seenTestPage1 = false;
       bool predicate(Route<dynamic> route) {
          if(route.isTestPage1) {
             seenTestPage1 = true
          }
          return seenTestPage1 || route. isFirst;
       }
        if (event.type == 1) {
            Navigator.of(globalContext).popUntil(predicate);
            if (!seenTestPage1) {
                 Navigator.of(globalContext).push(TestPage1);
            }
        }
    });

as you see, this will pop some routes on top until it found the testpage1 and you will have to find a wait to check if a route is TestPage1(maybe uses RouteSettings?). I do not recommend this solution because we do not promise how popUntil uses the predicate. It just so happens to work with our current implementation.
Let me know you have questions.

I used an alternative method. I used the navigatorobservers of materialapp, and then added a queue to store the router in the inherited subclass. In the process of using, I got the queue of the router. For the time being, I can only solve whether the current router is testpage1. If so, I will pop it and then push testpage1. If not, I will directly push testpage1. I'm looking forward to when navigator 2.0 can be used

Hi @SnowLittleStone
Does navigator 2.0  satisfy your use-case?
Since Navigator 2.0 is out now, can we close this issue?

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Ability to mock generic TransactWrite

Describe the feature
With a IAmazonDynamoDB or IDynamoDBContext I would like to be able to return TransactWrite. There does not seem to be a public constructor or interface which would be very handy.
Use Case
Mocking Transactions. First building the TransactWriteItems with AddSaveItem and such. And at last do a mocked ExecuteAsync call.
Proposed Solution
Make a public constructor for TransactWrite or an interface to be able to mock it directly.
Other Information
I also tried the DbContext.CreateTransactWrite with a mocked DescribeTablesAsync, but internally DescribeTables is used. Which is not in the interface. So I could not create a TransactWrite that way either.
Acknowledgements

[X] I may be able to implement this feature request

AWS .NET SDK and/or Package version used
AWSSDK.DynamoDBv2 <IP_ADDRESS>
Targeted .NET Platform
.NET 6
Operating System and version
Windows 11,  AmazonLinux

Needs review with the team. Similar feature requests to improve testability are queued.

I can try to add in the interfaces in a PR specifically for this.

Needs review with the team. Similar feature requests to improve testability are queued.

I see there are a few, but priority might be at other issues. It looks like changing stuff to return interfaces would break some implementations. But it will improve testability for a lot of people. Is there anything I could help with?

Hello, we have been working on the V4 of the AWS SDK for .NET. We have added the ability to mock various DynamoDB operations by adding interfaces in both the Data Model mode and Document Model mode in DynamoDB.
Refer to this PR - https://github.com/aws/aws-sdk-net/pull/3450
Specifically for the TransactWrite<T> class, it now implements the ITransactWrite<T> interface which can mocked inside unit tests.
This feature is available in the AWSSDK.DynamoDBv2 Version 4.0.0-preview.2


[24.1] Introduce batch_row_count for ordered map/merge

This PR imlements #375, adding the ability to request jobs with sizes divisible by a certain batch_row_count. Additionally, it enhances ordered chunk pools to perform chunk splits based on estimated data weight to form jobs with weights almost exactly to equal to data_size_per_job, which was previously only achieved with a certain margin.
Also refactored some of the comments in the touched files into YT style. Left comments in some of the chunk pool unittests unchanged, as there are too many lines.

Co-authored-by: achulkov2<EMAIL_ADDRESS>fd2cedc3b0c8239e4b5a2f300471aa5c9229939a
Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/423

Shipped!


Improve save and load func of GUI Config

Thanks for pr, but I think lines 341 and 363 in gui_diff.py should not be deleted. The purpose here is that the old enhancer and diffusion are mutually exclusive, and can support hot updates (you can switch at any time in real-time voice changing ). The new enhanced DDSP based on the shallow diffusion model is still being tested, and documents may be written later.

Sorry, not sure why it was missing, but I added it.


[issue]: Failing to create a collection

What happened?
After running docker compose command, failing to create a collection
Versions
Windows 11, JS, v0.3.23
Relevant log output
`
Error: [object Response]
    at ChromaClient.createCollection (C:\Work\proj\node_modules\chromadb\dist\main\index.js:610:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async init (webpack-internal:///(api)/./pages/api/chat.js:40:28)
    at async __WEBPACK_DEFAULT_EXPORT__ (webpack-internal:///(api)/./pages/api/chat.js:89:17)
`
Docker log
`"POST /api/v1/collections HTTP/1.1" 422`

@chandmk this looks like a likely mismatch between the current npm package and latest backend server. this was known and we recommend using tagged releases to avoid uncommunicated breaking changes like this....
that being said - the new npm version 1.5.0 (which is already in main here) is releasing later today and will fix this i suspect.
if that is not it - please let us know what the docker logs say

Same error exists after I upgraded client to 1.5.0 and server to 0.3.25
Server Version: 0.3.25 // I am logging this before creating a collection

error Error: [object Response]
at ChromaClient.getOrCreateCollection (C:\Work\proj\node_modules\chromadb\dist\main\index.js:645:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async init (webpack-internal:///(api)/./pages/api/chat.js:38:24)
at async WEBPACK_DEFAULT_EXPORT (webpack-internal:///(api)/./pages/api/chat.js:71:17) {
digest: undefined
}

are there any errors in the docker container you can share?

Docker log
`"POST /api/v1/collections HTTP/1.1" 422

I'm running into the same issue, using Langchain. I'm using the code from the docs as follows:
const model = new OpenAI();
const text = fs.readFileSync(path, "utf8");
const textSplitter = new RecursiveCharacterTextSplitter({ chunkSize: 1000 });
const docs = await textSplitter.createDocuments([text]);
const vectorStore = await Chroma.fromDocuments(
  docs,
  new OpenAIEmbeddings(),
  { collectionName: 'test-collection' }
);
console.log('Added txt document to Chroma collection');

This throws the same error when attempting to call fromDocuments:
Error processing txt document Error: [object Response]
    at ChromaClient.getOrCreateCollection (/Users/justin/code/personal/starling/node_modules/chromadb/dist/main/index.js:645:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Chroma.ensureCollection (file:///Users/justin/code/personal/starling/node_modules/langchain/dist/vectorstores/chroma.js:57:31)
    at async Chroma.addVectors (file:///Users/justin/code/personal/starling/node_modules/langchain/dist/vectorstores/chroma.js:74:28)
    at async Chroma.addDocuments (file:///Users/justin/code/personal/starling/node_modules/langchain/dist/vectorstores/chroma.js:49:9)
    at async Chroma.fromDocuments (file:///Users/justin/code/personal/starling/node_modules/langchain/dist/vectorstores/chroma.js:118:9)
    at async eval (webpack-internal:///(api)/./pages/api/upload.js:81:41)

Docker shows the same 422 error that @chandmk mentioned as well, no other logs.

Same error here, using langchain '0.0.78' chromadb '1.5.0' plus docker updated from here, version '0.3.25'.

good news! updating to "langchain": "0.0.81" it started working.

Closing this as it is stale and because it looks like updating Langchain helped! Please let me know if anything else pops up here and we can re-open it.


Update on Microsoft Graph Custom Connector for Microsoft Power Automate

Below files are updated:

intro.md: Microsoft Flow is changed as Microsoft Power Automate. Some phrases and numbers are updated.
register-app.md: register-app-preview.md content is copied here.
create-connector.md: Microsoft Flow is changed as Microsoft Power Automate. Create custom connector from blank template section is added. Open API swagger.json file is updated.
create-connector-preview.md: create-connector.md content is copied here.
authorize-connector.md: Creating new connection part is updated.
create-flow.md: Microsoft Flow is changed as Microsoft Power Automate. Some phrases are updated.
use-batch.md: Microsoft Flow is changed as Microsoft Power Automate. Some phrases are updated.

@jasonjoh I updated the documents according to your comments above. Looking forward to have your review please.


What is the minimum memory requirement for inference and training?

^Same. I am wondering if I made any mistake in inference, since it keeps throwing the out of memory exception on A6000 GPUs.


Add dynamic class binding based on user type (Organization/User)

This PR introduces a dynamic class binding feature that modifies the border radius of an element based on the user type retrieved from the GitHub API. Specifically:

Feature: The border radius of the element (<a> tag) is now conditionally set to either rounded-lg or rounded-full depending on whether the type of the user is an Organization or a User.
Why: This change ensures that the UI adapts to different user types, providing a more visually appropriate experience.

Changes Made:

Updated the <a> tag to include dynamic class binding:

If the type is Organization, the class rounded-lg is applied.
If the type is User, the class rounded-full is applied.

Ensured that other styling classes remain unaffected and consistently applied across both user types.

Testing:

Manually tested the dynamic class assignment with both Organization and User types.
Verified that the UI correctly reflects the intended design for each user type.

Screenshots:

Before:

After:

Thanks @zackha
I created a fetchRepo server util that leverage caching as well.
Also took the opportunity to add the GH stars & improve the responsive!

new issue seem to have occurred, fixing and submitting now

Damn:

Ok, updating to use a fine-grained token

It's uuuuuup!
https://prs.atinux.com/


Get bearer token for other requests

Secured SignalR hubs require the auth token to be sent in the hub connection request. How is this achieved? I could not successfully inject the IAccessTokenProvider (maybe this is not injected automatically by Blazor).

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

ID: 17515ff7-32a6-c6f7-0425-535775cd6e28
Version Independent ID: 1416abd7-0b23-ca93-62e7-59d2532d4275
Content: Secure an ASP.NET Core Blazor WebAssembly hosted app with Identity Server
Content Source: aspnetcore/security/blazor/webassembly/hosted-with-identity-server.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @guardrex
Microsoft Alias: riande

Cross-ref: https://docs.microsoft.com/aspnet/core/signalr/configuration#configure-bearer-authentication-1

@BrennanConroy ... It doesn't seem like this should be addressed by content in the Blazor Security node given that the SignalR docs should apply and the SignalR Authn and Authz topic is already cross-linked in the Blazor SignalR config doc.
Do you concur? Can I close this?

Actually, I don't think I understand the ask really. "hub connection request" ... "bearer token for other requests" ... these don't seem to ask for the same thing. We'd need to clear up what the ask is first and then see if the Blazor docs need to address anything for it.

It's been awhile, but I believe the original ask about getting authenticated user's JWT access token for use in other requests, such as a hub connection request to SignalR.

I see ... something in the realm of ...
https://docs.microsoft.com/en-us/aspnet/core/signalr/authn-and-authz?view=aspnetcore-5.0#authenticate-users-connecting-to-a-signalr-hub
... for after a user authenticates to the app. I just wonder tho if the exact coverage at ...
https://docs.microsoft.com/en-us/aspnet/core/signalr/authn-and-authz?view=aspnetcore-5.0#identity-server-jwt-authentication
... is all that's needed.

... and we also added the following since this issue was opened ...
https://docs.microsoft.com/en-us/aspnet/core/blazor/fundamentals/signalr?view=aspnetcore-5.0&pivots=webassembly#signalr-cross-origin-negotiation-for-authentication-1

This looks like an ask of "how to get auth information into a component for use in things such as a SignalR connection.", which should be covered by https://docs.microsoft.com/en-us/aspnet/core/blazor/security/server/additional-scenarios?view=aspnetcore-5.0


Fix query param type in /trino/selector/read/{resourceGroupId}

#95

please review/approve @vishalya @willmostly @andythsu @Chaho12

please submit a signed CLA @vaultah

Can you rebase and see if that removes the CI failure? Also squash the commits please

Please let me know whether the tests I added are sufficient

Changes and tests are good. Just needs a rebase now @vaultah since we did a bunch of code cleanups and refactors

Done

Looks like github still thinks there are conflicts that you have to resolve .. let me know if you need help rebasing or so

I don't see any conflicts locally or in GitHub. Could you share the message/screenshot?

Wow .. now tis gone .. I blame a glitch in the matrix

Can you review the tests @willmostly and @vishalya ?


Reimplement supervisor

The old supervisor kept a Context around that was never received from, which meant that broadcasts would pile up until they reach the bound. This new supervisor does not do that, since the introduction of Context::next_message allows us to write our own manager loop and restart the actor that way.

Squashed!


null object reference

Describe your bug here.
i was going to play omnipresent until...
C:\HaxeToolkit\haxe\std/cpp/_std/sys/io/File.hx (line 30)
Song.hx (line 104)
FreeplayState.hx (line 371)
flixel/FlxState.hx (line 202)
flixel/FlxGame.hx (line 747)
flixel/FlxGame.hx (line 677)
flixel/FlxGame.hx (line 545)
openfl/events/EventDispatcher.hx (line 402)
openfl/display/DisplayObject.hx (line 1399)
Uncaught Error: [file_contents,assets/data/omnipresent/omnipresent-hard.json]
Please report this error to the GitHub page: https://github.com/ShadowMario/FNF-PsychEngine

Crash Handler written by: sqirra-rng

Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
No.. not yet.

Not a bug
Missing chart

Not a bug Missing chart

No I think missing charts have a different reaction than a null object reference, those happen when a file essential to another file baked in the source code is missing (or something like that), trust me I would know. To the person who made this issue, try checking everything, from your code to your character's image name in the .Json, anything that could have loaded when you got the error.

No this is exactly how a missing chart error looks like, look at the uncaught error part

Oh, wait yeah, I didn't read that, I just saw the name and assumed that it was a null object reference. But now they know what to do for one in the future if they get a real null object reference.


Automate the creation/update of v1, v2, ... tags

Discussed with @benjaminParisel
Suggested by GH doc: https://docs.github.com/en/actions/creating-actions/about-custom-actions#using-tags-for-release-management
Today, we only create semVer tag. If we want to create alias tag like v1, this must be done manually.
We could automate this by creating a GH workflow that would be triggered on tag v_a.b.c_.
It would process the tag name to get the alias tag.
It would then create or update (git tag force) the related alias tag
As all actions repositories have this need, let's check how they manage it to avoid introducing our custom way to do it.

I have found this action that can do the job for us: https://github.com/marketplace/actions/additional-tags


Optimal hyperparameters and optimal flow design

Hello! Thank you for excellent framework!
For my bachelor thesis I have to adapt SAILOR (Link to project: https://github.com/malicd/sailor).  I should implement NF instead of Gaussian Mixture Model.
Short about SAILOR: SAILOR is unsupervised algorithm for domain adoption. It uses GMM to compress big dataset and to train the model on target dataset.
How I used NF in SAILOR:
Architecture of transformation/flow:
Number of flows = 4

I am not sure if the number of hidden layers is optimally chosen or not?
number of epochs = 10 000
learning rate = 0.000002
Problem: I have tried to design flows in different ways (flows = 32, 16, 8, 4;  changing lr and epochs many times, diff. number of hidden layers, different number of units in hidden layers and so on), but no version gave me good results. During the fitting the model in data I have most of the time case that my loss value is "inf" (or "Nan"). A value for loss starts from 365 and decreasing, and in one moment it starts to print "inf" or "nan". I have also printed loss in diagram (number of epochs = 15 000) and at around 2500 and 30000 epoch the diagram shows two very big spikes, after it continues to decrease.
Question: Is there some standard procedure how to choose hyperparameters  (lr, number of epochs) and how to design flows? If no, can you give me advice how to create optimal flows with optimal parameters (lr, epochs)? Is 15 000 epochs too big or I can consider it as normal value for epochs?
Thank you in advance!

P.S. Here are two screenshots of loss diagram:


Fix GCP import check in bigquery.py

This change fixes the following warning which occurs when "import apache_beam" is run in an interactive session directly from the "sdks/python/" directory.
apache_beam/io/gcp/bigquery.py:326: SyntaxWarning: import * only allowed at module level
  def __init__(self, table=None, dataset=None, project=None, query=None,
apache_beam/io/gcp/bigquery.py:431: SyntaxWarning: import * only allowed at module level
  def __init__(self, table, dataset=None, project=None, schema=None,

R: @aaltay

LGTM, I can merge it after tests.

There are pylint errors, could you fix them?

Thanks, fixed; PTAL.

LGTM. Thank you.

Coverage decreased (-0.003%) to 70.281% when pulling 3fd5941c0568d5047206b97fcb5e024e6790c22a on charlesccychen:fix-bq-import into bda16078edb48ca5ade4aa5d5a66667745a3ab39 on apache:master.


[cinder-csi-plugin] Invalid input for field/attribute metadata when creating Volume

[cinder-csi-plugin] Cannot create Volume
Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:
/kind bug
/kind feature

What happened:
Hi there.I received an error when  I tried to deploy a test deployment in my Openstack environment,and the pvc's status is Pending.
The messages are as follows:
ProvisioningFailed    2s (x10 over 8m34s)       cinder.csi.openstack.org_openstack-cinder-csi-controllerplugin-0_e6c80eba-3859-4751-8cf6-366ae770f27b  failed to provision volume with StorageClass "csi-sc-cinderplugin": rpc error: code = Internal desc = CreateVolume failed with error Bad request with: [POST http://<IP_ADDRESS>:8776/v3/6a177e8a5b5e41b9b714180d8af1e95b/volumes], error message: {"badRequest": {"message": "Invalid input for field/attribute metadata. Value: {u'cinder.csi.openstack.org/cluster': u'kubernetes'}. u'cinder.csi.openstack.org/cluster' does not match any of the regexes: '^[a-zA-Z0-9-_:. ]{1,255}$'", "code": 400}}
What you expected to happen:
The pvc's status should be Bound
How to reproduce it:
follow the instructions here :https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/cinder-csi-plugin/using-cinder-csi-plugin.md
Anything else we need to know?:
I think the plugin and storageclass have been correctly installed and configed.
kubectl get all -n cinder
NAME                                          READY   STATUS    RESTARTS   AGE
pod/openstack-cinder-csi-controllerplugin-0   6/6     Running   0          25h
pod/openstack-cinder-csi-nodeplugin-55758     3/3     Running   1          25h
pod/openstack-cinder-csi-nodeplugin-q94vq     3/3     Running   0          25h
NAME                                            TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/openstack-cinder-csi-controllerplugin   ClusterIP   None              25h
NAME                                             DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/openstack-cinder-csi-nodeplugin   2         2         2       2            2                     25h
NAME                                                     READY   AGE
statefulset.apps/openstack-cinder-csi-controllerplugin   1/1     25h
[root@k8s-master-1 ~]# kubectl get sc
NAME                   PROVISIONER                RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
csi-cinder-sc-delete   cinder.csi.openstack.org   Delete          Immediate           true                   25h
csi-cinder-sc-retain   cinder.csi.openstack.org   Retain          Immediate           true                   25h
csi-sc-cinderplugin    cinder.csi.openstack.org   Delete          Immediate           false                  24h
[root@k8s-master-1 ~]# kubectl get csidrivers.storage.k8s.io
NAME                       ATTACHREQUIRED   PODINFOONMOUNT   MODES                  AGE
cinder.csi.openstack.org   true             true             Persistent,Ephemeral   25h
Environment:

openstack-cloud-controller-manager(or other related binary) version:1.2.14
OpenStack version: R
Others:

@cxl253386709 this is NOT a CSI plugin issue, instead, your openstack version is too old (you didn't provide but I think it's fairly old from context)
please check
https://github.com/openstack/cinder/commit/534fa38f4cb364cb6584c273be8ae2580fabe627
metadata spec defined
https://github.com/openstack/cinder/commit/534fa38f4cb364cb6584c273be8ae2580fabe627#diff-996fe25274e0ffcac2007c48a09ef1eec43fee39a3972f47b0795f8c368774d0R189
your '^[a-zA-Z0-9-_:. ]{1,255}$'" is not same to current code ^[a-zA-Z0-9-_:. /]{1,255}$'
so the solution is to add this into your existing openstack code (find that file and line)
then retry again

Thank you for the solution.that should be the case


Does not work for PostgreSQL v15

.env

database config

validation rule

result

In the end, I settled on using version 3.5.0. It would be nice to have this fixed for 4 ver.

Hi,
Thanks for reporting this.
The cause of this issue is probably the same as #23.
I never used other databases than MySQL and SQLite, so I'm not exactly experienced with PostgreSQL.
I do know that even SQLite doesn't support the JSON syntax.
Maybe this is also the case for PostgreSQL?
I would be happy to improve compatibility, but I'll need some help with that.

Can you see if it works with 4.1.0?
Changed back to a LIKE query instead of JSON syntax.
https://github.com/codezero-be/laravel-unique-translation/releases/tag/4.1.0

Yes, the bug has been fixed in version 4.1.0 of the package for PostgreSQL 15. Thank you!

It is possible to make a slight improvement, depending on the database (MySQL or PostgreSQL) to use LIKE when using MySQL, and ILIKE when using PostgreSQL at findTranslation method:

Thanks, I will add this 👍

Tagged in 4.1.2 🚀


Removed the prowci, jenkins tabs

Type of change

[x] Refactor
[ ] New feature
[ ] Bug fix
[ ] Optimization
[ ] Documentation Update

Description
Removed the tabs: Jenkins, prowci

Related Tickets & Documents

Related Issue #
Closes #

Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.

Testing

Please describe the System Under Test.
Please provide detailed steps to perform tests related to this code change.
How were the fix/results from this change verified? Please provide relevant screenshots or results.

Lets hold this for now...I need to confirm a couple of things.

@chentex fixed the icons, should be good to go with a rebase.


on_click_show_preview

image scaling
Need to fix image scaling for mobile and other small screened devices.
close preview container mobile
Give mobile users a way to remove the preview container ( button ? )

Fixed, could be further tweaked.


problems about OPF environment

hi, I'm a little confused about the definition of OPF environment. As pointed out in paper, you take the voltage magnitude and argument of the 14 as the action space. But I think these variables are calculated based on power flow and cannot be controlled by the agent. Looking forward to your answer，thanks！

That is actually the advantage of RPO. As you said, in previous works, we need to first predict the pg, vg, and then calculate other decision variables using power flow. In that case, the power flow calculation is isolated from the RL training, which increases the unnecessary burden on the learning of the Q-function and the management of feasible constraints. This is because  the power flow calculation is not differentiable. For example, the Q-function must learn this latent mapping relationship if you have reactive power cost.
Actually, we compare RPO with the method you mentioned in appendix. If you have interest, you can refer to section E.3.
Hope it can help you. Thanks!


Ch8385

Adds unit tests to sql expression. The majority of them pass for both v1.0.0 and the code included in this PR.
Those that don't:

All tests of import_data_query error in v1.0.0, because import_data_query generates a uuid for the name of its temp table. I modified it to allow the caller to pass in a temp table name, for testing purposes, so that the output is predictable.
All tests of get_update_value error in v1.0.0, because the function doesn't exist. I separated it out in order to both make the code for get_update_query cleaner, and also to make testing simpler and more thorough.
In v1.0.0, TestGetSelectQuery.test_put_columns_without_order_at_end_of_sort errors, because columns with a sort param but not an order param cause a KeyError. Columns with a sort param but no ascending param are just ignored for order_by. I've added what I think is a reasonable behavior, if columns without a sort order are passed in - they get put at the end, after any columns that do have a sort order. I'm not actually sure it's possible to send in a column with a sort param but no order param in the UI.
in v1.0.0, TestGetColumnTable.test_table_dot_column errors, despite code to handle that specific case of 'table.column', because the code to handle 'tableN.column' catches it and then gets confused when there's no N. In the current, I've reversed the order of those handlers, so we can get what seems to be the intended behavior.

Besides that, this PR:

removes the unused function apply_rules
adds explanatory comments in several places
fixes places where v1.0.2's behavior did not match v1.0.0
adds a default value for the metadata param to get_table_rep_using_id, in order to match the api of get_table_rep, which has that default value.
fixes the default value for the variables param in apply_output_filter, so using that default value no longer causes an error
makes import_data_query non-destructive
adds some refactoring TODO comments
removes some redundant lines of code

I think removing the inaccessible line of code makes sense. Do you know if the changes will fix https://app.shortcut.com/plaidcloud/story/8430/bug-error-in-io-psycopg2-errors-syntaxerror-non-integer-constant-in-order-by I guess we may have to merge to find out.

I'm not certain if it will - I suspect the change back to 1.0.0's constant casting behavior may fix this. I think merging to find out is the right thing, and if it doesn't, that bug is what I'm working on next.


document gpu: typescript

can use https://forum.threefold.io/t/gpu-support-updates/3988 for initial content

can use https://forum.threefold.io/t/gpu-support-updates/3988 for initial content

can use https://forum.threefold.io/t/gpu-support-updates/3988 for initial content

Verified from https://www2.manual.grid.tf/javascript/grid3_javascript_gpu_support.html
Initial docs for the gpu were added with an example on how to use the gpu from typescript client.


CHAR and VARCHAR seem to require strlen+1

When creating a table, it appears as if the size for CHAR and VARCHAR have to be one larger than the actual strings:
postgres=# CREATE TABLE TMP(X CHAR(2));
CREATE TABLE
postgres=# INSERT INTO TMP VALUES ('A');
INSERT 0 1
postgres=# INSERT INTO TMP VALUES ('AA');
The value is too long to fit into type VARCHAR(2)

We found this to be an issue when running the TPC-C benchmark. After increasing the size of all CHARs in https://github.com/oltpbenchmark/oltpbench/blob/master/src/com/oltpbenchmark/benchmarks/tpcc/ddls/tpcc-peloton-ddl.sql by 1, we were able to run the benchmark.

Fixed in #745


Tag!

Two player tag game with multiple maps and power ups!
How do you play your game?
WASD to move player one and IJKL to move player two. Whoever is red is the tagger and whoever is blue is the runner. The runner needs to survive a set amount of time and the tagger has to tag the other player before that time runs out!
Code
Check off the items that are true.

[x] The game was made using the Sprig editor.
[x] The game is placed in the in the /games directory.
[x] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x] The game runs without errors.
[x] The name of the file/game contains only alphanumeric characters, -s, or _s.
[x] The game name is not the same as the others from gallery

Image (If an image is used)

[ ] The image is in the /games/img directory.
[ ] The name of the image matches the name of your file.

Thanks for your PR!

Hi. Please add more mechanics and features to this game to meet the bar re: a Sprig device reward.

Waiting for the author to modify this to meet the bar for a Sprig device grant.

I will add moving walls and spike obstacles.

I await walls and spikeys from the author.

Waiting for the author to modify this to meet the bar for a Sprig device grant.

Closing this due to inactivity.  Feel free to re-open this PR if you want to advocate for its merge.


DNM Protocol extensions with conformances?

Hi Apple,
Another speculative PR, this time exploring the feasibility of allowing conformances when declaring a protocol extension. The implementation is functional but at the stage where it could do with some guidance from someone who knows what they are doing. The new feature can be used to give behaviour to all nominals conforming to the protocol being extended. An example would be the following:
extension FixedWidthInteger: ExpressibleByUnicodeScalarLiteral {
    public init(unicodeScalarLiteral value: Unicode.Scalar) {
      self = Self(value.value)
    }
}

Thereafter strings could be converted to fixed width integers.
Most of the compiler mechanics required is already in place in the existing implementation of protocol extensions and this PR is largely based around a relatively minor change adapting the function ConformanceLookupTable::addInheritedProtocols which looks after implying the extension's conformance to any nationals conforming to the protocol being extended and tracking additional witness tables that need to be emitted. There is one limitation in that usage of nominals acquiring the new conformance must be in the same module as an extension of the protocol being extended. A test has been added to demonstrate what is possible. As this is additive all tests run fine.
A toolchain is available for evaluation here
Resolves SR-11013.

There are seemingly irresolvable issues with this idea if you use it across files. See the JIRA


clientconfig.NewServiceClient : OS_CLOUD overrides clientOpts.Cloud

Hi,
I found out that in the clientconfig.GetCloudFromYAML method, the environment value of OS_CLOUD always overrides the specified value in clientOpts.Cloud.
https://github.com/gophercloud/utils/blob/d7085207ff6d2f5145138a813cc37e45c74e2000/openstack/clientconfig/requests.go#L197-L213
It seems the wrong priority to me, as the value defined in my program is more precise and could even be changed by the user (command line arg for example), while the environnement variable is more like a default value.
Could it be possible to modify this behavior ?
Alain Z.

Yes, I also wasted half a day and half a head of hair before working this one out.

Here's a way to make Gophercloud ignore environment variables when parsing clouds.yaml:
cloud, err := clientconfig.GetCloudFromYAML(&clientconfig.ClientOpts{
	Cloud:     cloudName,
	EnvPrefix: "NO_OPENSTACK_ENV_VARIABLES_",
})

Not what we want, but what we need.
In the meantime, shall we create a similar function that does NOT take into account env vars, and deprecate this one (without removing it)?

Just realising that my problem was related, but different. Specifically in my case I was passing a populated ClientOpts (containing AuthInfo) to clientconfig.AuthOptions(). In this case AuthOptions tries to fetch a cloud from the environment, and only uses the explicitly passed AuthInfo if it doesn't find one:
https://github.com/gophercloud/utils/blob/d7085207ff6d2f5145138a813cc37e45c74e2000/openstack/clientconfig/requests.go#L366-L388
The behaviour I expect is the opposite of this. i.e. If AuthInfo was explicitly passed to the function we use it directly, and if it wasn't we look for a cloud from the environment. So don't remove the (very useful) ability to fetch a cloud from the environment, it just shouldn't override explicitly passed AuthInfo.

Some background on this file: The bulk of the work was done in April/May 2018. Unfortunately my code comments link to the "master" branch, which wasn't good for posterity, but this would have been the approximate commit that I based clientconfig/requests.go off of:
https://github.com/openstack/os-client-config/blob/64b28d42eda595a6fb4ee8b46d93cd61e612aae1/os_client_config/config.py
It looks like I either missed or disagreed with the way OS_CLOUD is handled: if the environment variable is set and if there's a matching entry in clouds.yaml, then an error is returned. So technically this file should do the same, though I'm surprised at not being able to use OS_CLOUD to choose the entry from clouds.yaml.
To confirm though: all other OS_* variables should have priority over any other value passed in. Unless I'm mistaken, this is how the Python library works.
It looks like OS_CLOUD should be handled as a special case, though.

Some background on this file: The bulk of the work was done in April/May 2018. Unfortunately my code comments link to the "master" branch, which wasn't good for posterity, but this would have been the approximate commit that I based clientconfig/requests.go off of:
https://github.com/openstack/os-client-config/blob/64b28d42eda595a6fb4ee8b46d93cd61e612aae1/os_client_config/config.py
It looks like I either missed or disagreed with the way OS_CLOUD is handled: if the environment variable is set and if there's a matching entry in clouds.yaml, then an error is returned. So technically this file should do the same, though I'm surprised at not being able to use OS_CLOUD to choose the entry from clouds.yaml.
To confirm though: all other OS_* variables should have priority over any other value passed in. Unless I'm mistaken, this is how the Python library works.
It looks like OS_CLOUD should be handled as a special case, though.

I wonder if @stephenfin could comment on the behaviour of the python library. Is there an analogous case?

Unfortunately the answer is "it's complicated". openstackclient is a consumer of openstack so it's a good case study. Consider the following clouds.yaml:
clouds:
    devstack:
        auth:
            auth_url: http://<IP_ADDRESS>/identity
            password: password
            project_domain_id: default
            project_name: demo
            user_domain_id: default
            username: demo
        identity_api_version: '3'
        region_name: RegionOne
        volume_api_version: '3'
    devstack-admin:
        auth:
            auth_url: http://<IP_ADDRESS>/identity
            password: password
            project_domain_id: default
            project_name: admin
            user_domain_id: default
            username: admin
        identity_api_version: '3'
        region_name: RegionOne
        volume_api_version: '3'

Firstly, if you have an environment variable and an explicit option (e.g. OS_CLOUD and --os-cloud) then the latter takes priority:
# using environment variable for admin cloud credentials
$ OS_CLOUD=devstack-admin openstack compute service list
+----+----------------+--------------------------------+----------+---------+-------+----------------------------+
| ID | Binary         | Host                           | Zone     | Status  | State | Updated At                 |
+----+----------------+--------------------------------+----------+---------+-------+----------------------------+
|  2 | nova-scheduler | stephenfin-devstack-controller | internal | enabled | up    | 2021-11-30T17:25:48.000000 |
|  5 | nova-conductor | stephenfin-devstack-controller | internal | enabled | up    | 2021-11-30T17:25:48.000000 |
|  1 | nova-conductor | stephenfin-devstack-controller | internal | enabled | up    | 2021-11-30T17:25:52.000000 |
|  3 | nova-compute   | stephenfin-devstack-controller | nova     | enabled | up    | 2021-11-30T17:25:48.000000 |
|  4 | nova-compute   | stephenfin-devstack-compute    | nova     | enabled | up    | 2021-11-30T17:25:50.000000 |
+----+----------------+--------------------------------+----------+---------+-------+----------------------------+

# using explicit flag for admin cloud credentials
$ openstack --os-cloud=devstack-admin compute service list
+----+----------------+--------------------------------+----------+---------+-------+----------------------------+
| ID | Binary         | Host                           | Zone     | Status  | State | Updated At                 |
+----+----------------+--------------------------------+----------+---------+-------+----------------------------+
|  2 | nova-scheduler | stephenfin-devstack-controller | internal | enabled | up    | 2021-11-30T17:25:48.000000 |
|  5 | nova-conductor | stephenfin-devstack-controller | internal | enabled | up    | 2021-11-30T17:25:48.000000 |
|  1 | nova-conductor | stephenfin-devstack-controller | internal | enabled | up    | 2021-11-30T17:25:52.000000 |
|  3 | nova-compute   | stephenfin-devstack-controller | nova     | enabled | up    | 2021-11-30T17:25:48.000000 |
|  4 | nova-compute   | stephenfin-devstack-compute    | nova     | enabled | up    | 2021-11-30T17:25:50.000000 |
+----+----------------+--------------------------------+----------+---------+-------+----------------------------+

# using explicit flag for non-admin cloud credentials
$ openstack --os-cloud=devstack compute service list
Policy doesn't allow os_compute_api:os-services:list to be performed. (HTTP 403) (Request-ID: req-835a0142-e3d2-4024-abd7-012e1ed799b6)

# using explicit flag for non-admin cloud credentials and environment variable for admin cloud credentials
$ OS_CLOUD=devstack-admin openstack --os-cloud=devstack compute service list
Policy doesn't allow os_compute_api:os-services:list to be performed. (HTTP 403) (Request-ID: req-17bddec0-d078-4780-acd8-ca7ccca89db9)

However, in all cases, what's provided via environment variable or an explicit config option takes priority over whats in cloud.yaml itself. For example:
# using explicit flag for non-admin cloud credentials but with environment variable for other knobs
$ OS_USERNAME=admin OS_PROJECT_NAME=admin openstack --os-cloud=devstack compute service list
+----+----------------+--------------------------------+----------+---------+-------+----------------------------+
| ID | Binary         | Host                           | Zone     | Status  | State | Updated At                 |
+----+----------------+--------------------------------+----------+---------+-------+----------------------------+
|  2 | nova-scheduler | stephenfin-devstack-controller | internal | enabled | up    | 2021-11-30T17:29:49.000000 |
|  5 | nova-conductor | stephenfin-devstack-controller | internal | enabled | up    | 2021-11-30T17:29:48.000000 |
|  1 | nova-conductor | stephenfin-devstack-controller | internal | enabled | up    | 2021-11-30T17:29:44.000000 |
|  3 | nova-compute   | stephenfin-devstack-controller | nova     | enabled | up    | 2021-11-30T17:29:48.000000 |
|  4 | nova-compute   | stephenfin-devstack-compute    | nova     | enabled | up    | 2021-11-30T17:29:40.000000 |
+----+----------------+--------------------------------+----------+---------+-------+----------------------------+

openstacksdk directly results in a similar behavior, though it seems to wholly ignore the environment variables if an explicit cloud configuration is passed. Consider the following script:
#!/usr/bin/env python3
import openstack

# Initialize and turn on debug logging
openstack.enable_logging(debug=False)

# Initialize connection
conn = openstack.connect(cloud='devstack-admin')

services = conn.compute.services()
print([s.binary for s in services])

We've hardcoded the cloud configuration. Attempting to override that via environment variables makes no difference:
$ ./test.py
['nova-scheduler', 'nova-conductor', 'nova-conductor', 'nova-compute', 'nova-compute']

$ OS_CLOUD=devstack ./test.py
['nova-scheduler', 'nova-conductor', 'nova-conductor', 'nova-compute', 'nova-compute']

If you remove the explicit cloud configuration from the script then OS_CLOUD is picked up:
$ OS_CLOUD=devstack-admin python test.py
['nova-scheduler', 'nova-conductor', 'nova-conductor', 'nova-compute', 'nova-compute']

$ OS_CLOUD=devstack python test.py
Traceback (most recent call last):
  File "test.py", line 12, in <module>
    print([s.binary for s in services])
  File "test.py", line 12, in <listcomp>
    print([s.binary for s in services])
  File ".../openstacksdk/openstack/resource.py", line 1775, in list
    exceptions.raise_from_response(response)
  File ".../openstacksdk/openstack/exceptions.py", line 238, in raise_from_response
    http_status=http_status, request_id=request_id
openstack.exceptions.HttpException: HttpException: 403: Client Error for url: http://<IP_ADDRESS>/compute/v2.1/os-services, Policy doesn't allow os_compute_api:os-services:list to be performed.

However, none of the other OS_* environment options we're using are picked up. This is presumably because openstacksdk doesn't use os_client_config under the hood.
$ OS_CLOUD=devstack OS_USERNAME=admin OS_PROJECT_NAME=admin python test.py
Traceback (most recent call last):
  File "test.py", line 12, in <module>
    print([s.binary for s in services])
  File "test.py", line 12, in <listcomp>
    print([s.binary for s in services])
  File ".../openstacksdk/openstack/resource.py", line 1775, in list
    exceptions.raise_from_response(response)
  File ".../openstacksdk/openstack/exceptions.py", line 238, in raise_from_response
    http_status=http_status, request_id=request_id
openstack.exceptions.HttpException: HttpException: 403: Client Error for url: http://<IP_ADDRESS>/compute/v2.1/os-services, Policy doesn't allow os_compute_api:os-services:list to be performed.

This looks like the behavior we want?

oops - looks like I was mixing up OS_CLOUD and OS_CLOUD_NAME.  🤦
@stephenfin's input is valuable here and I think correctly determines that both @az-blip and @mdbooth's expected behaviour should be the norm when selecting a cloud or passing in explicit options.
But I believe that all other behaviour should stay the same and is already in place: if an explicit value is not being passed in, then an environment variable can be used, which should override a clouds.yaml setting.

However, none of the other OS_* environment options we're using are picked up. This is presumably because openstacksdk doesn't use os_client_config under the hood.
This looks like the behavior we want?

hm... I don't think so. The code in this repo should be thought of as the os_client_config equivalent. The auth code in the "core" gophercloud/gophercloud repo can probably be thought of as the openstacksdk equivalent - or some variation of that.

However, none of the other OS_* environment options we're using are picked up. This is presumably because openstacksdk doesn't use os_client_config under the hood.
This looks like the behavior we want?

hm... I don't think so. The code in this repo should be thought of as the os_client_config equivalent. The auth code in the "core" gophercloud/gophercloud repo can probably be thought of as the openstacksdk equivalent - or some variation of that.

Sorry, the "this looks the behavior we want" statement was referring to OS_CLOUD being ignored if explicit cloud configuration was provided. I'm as yet undecided what the behavior should be when e.g. OS_USERNAME overrides what's in clouds.{cloud}.auth.username in your clouds.yaml. It's more obvious for a CLI. Less so for a script.

Also, this isn't really relevant but it seems nothing uses os_client_config now. The whole thing has been replaced by the openstack.config module, as the docs indicate

hm... I don't think so. The code in this repo should be thought of as the os_client_config equivalent. The auth code in the "core" gophercloud/gophercloud repo can probably be thought of as the openstacksdk equivalent - or some variation of that.

Actually, I'm going to have to disagree with this (sorry!) because it's not what os_client_config seems to be doing in reality :smile: This is a bit long so :bear: with me.
Here's the code that openstackclient is using (via osc-lib) to allow configuration of the cloud via config options and environment variables, in addition to clouds.yaml.
https://github.com/openstack/osc-lib/blob/415a6c7b191ac665fb7763d12d1b427b7b630586/osc_lib/shell.py#L406-L431
I've already shown above that both environment variables and CLI options override things in clouds.yaml for openstackclient commands (except for OS_CLOUD), however, we can also demonstrate that CLI options override the environment variables:
$ OS_USERNAME=admin openstack \
    --os-auth-url http://<IP_ADDRESS>/identity --os-project=demo \
    --os-username demo --os-password password \
    --os-user-domain-id default --os-project-domain-id default \
    --os-project-name demo compute service list
Policy doesn't allow os_compute_api:os-services:list to be performed. (HTTP 403) (Request-ID: req-4b4df6e4-0628-48ae-9169-d8745cae0980)

# dropping the '--os-username' option
$ OS_USERNAME=admin openstack \
    --os-auth-url http://<IP_ADDRESS>/identity --os-project=demo \
    --os-password password \
    --os-user-domain-id default --os-project-domain-id default \
    --os-project-name demo compute service list
+----+----------------+--------------------------------+----------+---------+-------+----------------------------+
| ID | Binary         | Host                           | Zone     | Status  | State | Updated At                 |
+----+----------------+--------------------------------+----------+---------+-------+----------------------------+
|  1 | nova-conductor | stephenfin-devstack-controller | internal | enabled | up    | 2021-11-30T18:53:16.000000 |
|  3 | nova-compute   | stephenfin-devstack-controller | nova     | enabled | up    | 2021-11-30T18:53:18.000000 |
|  4 | nova-compute   | stephenfin-devstack-compute    | nova     | enabled | up    | 2021-11-30T18:53:20.000000 |
|  2 | nova-scheduler | stephenfin-devstack-controller | internal | enabled | up    | 2021-11-30T18:53:20.000000 |
|  5 | nova-conductor | stephenfin-devstack-controller | internal | enabled | up    | 2021-11-30T18:53:20.000000 |
+----+----------------+--------------------------------+----------+---------+-------+----------------------------+

So the precedence for openstackclient is CLI options > environment variables > clouds.yaml. However, what you probably don't know though is that openstackclient (again, via osc-lib) is kind of reinventing the wheel here. Both os_client_config and openstack.config will handle environment variable-based configuration for us just fine but they do not munge them into the data from clouds.yaml. Take the following additional script, which I'm calling test2.py:
import os_client_config.config

cc = os_client_config.config.OpenStackConfig()
print(cc.get_cloud_names())

Using my clouds.yaml from earlier, I run this and get the following:
$ python test2.py
['devstack', 'devstack-admin']

However, if I now configure environment variables then I see a new "cloud" called envvars (I can override this name with OS_CLOUD_NAME, fwiw):
$ OS_AUTH_URL=http://<IP_ADDRESS>/identity OS_PROJECT_NAME=admin OS_USERNAME=admin OS_PASSWORD=password OS_USER_DOMAIN_ID=default OS_PROJECT_DOMAIN_ID=default python test2.py
['devstack', 'devstack-admin', 'envvars']

You can see the code that does this is openstacksdk here. I'm sure os_client_config has something similar or simply wraps this, since I've tried with both and see the same behavior.
Going further with this, if I used the test.py script from earlier with all these environment options, I see that these environment options are respected:
$ OS_AUTH_URL=http://<IP_ADDRESS>/identity OS_PROJECT_NAME=admin OS_USERNAME=admin OS_PASSWORD=password OS_USER_DOMAIN_ID=default OS_PROJECT_DOMAIN_ID=default python test.py
['nova-scheduler', 'nova-conductor', 'nova-conductor', 'nova-compute', 'nova-compute']

However, the second I add OS_CLOUD to the mix, that stuff is ignored:
$ OS_CLOUD=devstack OS_USERNAME=admin OS_PROJECT_NAME=admin OS_AUTH_URL=http://<IP_ADDRESS>/identity OS_PASSWORD=password OS_USER_DOMAIN_ID=default OS_PROJECT_DOMAIN_ID=default OS_PROJECT_NAME=demo python test.py
Traceback (most recent call last):
  File "test.py", line 12, in <module>
    print([s.binary for s in services])
  File "test.py", line 12, in <listcomp>
    print([s.binary for s in services])
  File ".../openstacksdk/openstack/resource.py", line 1775, in list
    exceptions.raise_from_response(response)
  File ".../openstacksdk/openstack/exceptions.py", line 238, in raise_from_response
    http_status=http_status, request_id=request_id
openstack.exceptions.HttpException: HttpException: 403: Client Error for url: http://<IP_ADDRESS>/compute/v2.1/os-services, Policy doesn't allow os_compute_api:os-services:list to be performed.

And again, if I pass an explicit cloud name to openstack.connect (for the openstacksdk variant) then all config options are ignored. So openstacksdk and os_client_config have the following priority:

If the user requested an explicit cloud via a parameter then use that, otherwise...
If the user requested an explicit cloud via the OS_CLOUD environment option then use that, otherwise...
If the user configured their cloud via misc. OS_* environment options then use these, otherwise...
💀

This seems like the way to go, IMO. What OSC is doing makes sense for them, but they're a CLI. If someone wrote a CLI around gophercloud, it would probably replicate that. However, I don't think we should be munging as a matter of course.
Thoughts?

This all makes sense to me and I could be misusing library names since 1) it's been so long and 2) I don't have as much of an in-depth understanding as the actual OpenStack developers.
Basically, the original goal of this clientconfig package in this repo was to be a pretty good solution to use in user-facing applications, whether command-line or something like Terraform (which also supports environment variable processing on its own. For reference, here's how Terraform is using clientconfig). So comparing it to osc or some kind of command-line tool should be appropriate. In that way, short of the current OS_CLOUD behaviour, I think it works. I could be wrong, though.
With all of this in mind, I'm in no way going to step in the way of anyone changing this. I was only providing some historical context to the original intent of this package 🙂

For reference, in my specific use case I need to use 2 different sets of cloud credentials in the same application, hence environment variables are not an option at all as they can only reference one. The problem I had was that, because an environment variable was set, the values I carefully and explicitly passed to AuthOptions() were ignored. The workaround I'm currently going for is to explicitly unset OS_CLOUD, otherwise it's not possible to do what I need to do.

My 2¢
Gophercloud being a library, and not a tool, I think we should favour simple over easy.
I think it's great that Gophercloud exposes a function that mimics the complicated algorithm of the OpenStack Python reference library.
However, the individual fromYAML or fromEnv or fromCliArgs would be less confusing (to me) if they did exactly one thing.


Incorrect guava version in project created from archetype

After creating new project from AEM BDD Bobcat archetype, guava 15.0 was imported
Workaround: set new guava version in pom file:
<dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>21.0</version>
</dependency>

This is a part of a bigger cleanup of all project dependencies.

Should be resolved with #243


Flowtype for json files

Is there a way to define a flowtype for a json file?
I manage a bunch of configuration files in json, and I would love to be able to define a schema for these files so that I can get warnings in my editor when updating them.
The way I imagine this working is perhaps either mapping *.sometype.json or file.json to a js file containing my type definitions in my ~/.flowconfig
Could you let me know if this is possible out of the box (or if you have ideas on how I might go about hacking this to work)?

some/nested/path/yourJson.json

{
  "someThing": {
    "someKey": "Some value"
  }
}

flow-typed/yourJson.json.js

// some/nested/path/yourJson.json <-- This comment isn't at all necessary, just helpful
declare module './yourJson.json' {
    declare export type Thing = {
        someKey: string
    }

    declare var someThing: Thing
}

When you import types from yourJson.json, you can't do so using relative paths at various points through-out your project, as the module has only been declared for ./yourJson.json. So you must import types using the precise name of the module e.g.
import someThing from './cardLibrary.json'

import type { Thing } from './cardLibrary.json'

What I do to work around this is import the types into a JavaScript file (as above), then re-export them. Then I can use the types through-out the project importing them from the JavaScript file (using relative paths) as necessary.
Of course, don't forget to make sure your flow-config is loading the ./flow-typed dir i.e.
[libs]
./flow-typed

This should be possible with file.json.flow files alongside file.json, but currently it resolves to any. I don't know why this is different from .js.flow files.


HTMLLinkElement.disabled deprecated ?

TypeScript Version:  2.8.3

Search Terms: htmllink, disabled, deprecated
Code
https://github.com/Microsoft/TypeScript/blob/ba4bf21eade396ac0d82ab1278dfddc6ce69c653/lib/lib.dom.d.ts#L6501-L6509
Expected behavior:
According to MDN HTMLLinkElement, HTMLLinkElement.disabled is not deprecated.
Actual behavior:
HTMLLinkElement.disabled has been deprecated by JSDoc in lib.dom.d.ts.
Playground Link:
Related Issues:

The file is auto-generated from the webidl definition of edge. they have marked it as deprecated, and that is why it shows up as such. we are moving to use the standard webidl where deprecated APIs will just not be added. so this should be fixed in the next release.
See https://github.com/Microsoft/TypeScript/issues/23653 for a related issue.
Meanwhile, PRs welcomed. You can find more information about contributing lib.d.ts fixes at https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md#contributing-libdts-fixes.

@mhegazy, does your response also apply to the Performance.timing api being marked as deprecated? Or is that a separate issue?
As far as I have been able to tell, it should not be deprecated.


Rewrite of flexible type converter logic.

Rewrote the flexible type converter logic to be much more readible and
flexible.  This is the next stage of the flexible type improvements.
The logic used a different metaprogramming method documented in
flexible_type_converter.hpp.  This gives much better control over
error messages and better flexibility in adding additional types.
Also discovered and fixed some minor bugs with the gl_string classes.

jenkins pls

Looks about right, but you want to add fast paths for direct matches to flexible_type types. i.e. if the passed type is exactly a flex_dict for instance, you want it to execute a single copy and no go through the longer path.
There is a template function: is_valid_flex_type::value (see flexible_type_base_types.hpp) for a compile time check if T matches one of the flexible_type base types.

Currently, it appears this is causing issues with the variant type stuff in some cases, so I'm investigating that when I have time.


Azure DevOps Server

Is it possible to make this to work for Azure DecOps Server?

+1
We'd also like to have it in our Server version


Circular crop shape changes to oval

I believe with the latest updates, I've started seeing odd behavior with the circle crop shape where it changes to an oval shape after attempting to resize. This seems to happen on low-res images where the crop circle shape is "maxed out" so-to-speak (when viewing, the circle shape is extended as large as the photo itself).
To reproduce, try cropping the following image using the oval shape with a Fixed AspectRatio (you may need to click outside the bounds):

fixed in 1.2.2


Parameters to authenticate / Understand the process

Hi @MislavMandaric
Thanks for creating this package.
I have a Migo/Smart thermo and I'd like to write a simple python program to read its data and store them into a Google spreadsheet.
I've already done it for a Tado thermo.
I'd like to use your package, but I've only username and password of Migo/Smart and I don't understand where to find the parameters for the authentication (ie  user_prefix, app_version, CLIENT_ID, CLIENT_SECRET).
Have you any advice or documents?
This is not a feature request but I don't know the way to request your support
Kind regards

Hey.
Check out this thread for getting the parameters.


Add disclaimer to token transfer comments with links

Feature Description
When token transfers contains links, show a warning to help prevent users from falling victim to scams

This is an absolute must and should be done immediately.

I would also recommend hiding the comment in the transaction feed for transactions that have URLs in them.


Add Alpha Vantage API Tool

Feature request
We propose the integration of a new tool into Langchain that will provide comprehensive support for queries on the AlphaVantage Trading API. AlphaVantage offers a wide range of financial data and services, and this integration will enhance Langchain's capabilities for financial data analysis.
Here is the list of AlphaVantage APIs that will be integrated into the new tool:

TIME_SERIES_DAILY
TIME_SERIES_WEEKLY
Quote Endpoint
Search Endpoint
Market News & Sentiment
Top Gainers, Losers, and Most Actively Traded Tickers (US Market)

Motivation
The integration of AlphaVantage Trading API support in Langchain will provide users with access to a wealth of financial data, enabling them to perform in-depth analysis, develop trading strategies, and make informed financial decisions, all with real-time information
Your contribution
I am a University of Toronto Student, working in a group and plan to submit a PR for this issue in November

@dosubot we updated the feature request, can you take a look again and provide any feedback?

@aajaleel As of now, Dosu only responds to the issue author 😄
Dosu isn't great at implementing features that require external docs yet, but try it out and see! It usually does a good job of finding reference classes within the codebase.
Let me know if you have feedback or ideas!

@devstein I was not aware, thank you for letting me know Devin! We'll definitely get started and check in with Dosu along the way. I'll keep you posted about how it goes, and please also share any suggestions you have as well!

@dosu-bot We are trying to update the libs/langchain/langchain/utilities/alpha_vantage.py file. However we are getting the following error when running the file: ImportError: cannot import name 'timeout' from partially initialized module 'asyncio' (most likely due to a circular import).
Is there another way we can test our changes? What is the protocol for this?