efficiently download info for multiple symbols

yf.download downloads only prices and it has a threads option making the download very fast.
However, if I want to download info for multiple symbols, I have to use Tickers and when I loop through the results it seems to be downloading the entire API results (inc prices), which is very slow and there is no parallelization option.
minimal example:
import yfinance as yf
def __filter_dict(bigdict, sub_key):
  return {k: bigdict.get(k, None) for k in sub_key}

fields = ['symbol', 'quoteType', 'shortName', 'longName', 'annualReportExpenseRatio']
ticker_list = ['QQQ', 'SPY']
tickers = yf.Tickers(ticker_list)

tickers_items = tickers.tickers.items()
list_dict = [__filter_dict(value.info, fields)  for key, value in tickers_items]

The loop for key, value in tickers_items is triggering a full download of all the assets in tickers_items, inc prices, which I am downloading using yf.download in a different place.
Any ideas on how to improve the efficiency and speed of this?
thanks

Why you didn't use the "Bug report" issue template?

it's not really a bug,. I can repost as a bug report.?

Fair point. But your code does not work.

Probably this can be multithreaded, but sounds like you need to scrape smarter with caching

Wouldn't that make the call slower, by introducing limits?
btw, I parallelized with:
import yfinance as yf
from concurrent.futures import ThreadPoolExecutor

def __filter_dict(bigdict, sub_key):
  return {k: bigdict.get(k, None) for k in sub_key}

def process_ticker(ticker_item, fields):
    key, value = ticker_item
    return __filter_dict(value.info, fields)

def retry_process_ticker(ticker, fields, max_retries=3, retry_interval=5):
    retries = 0
    while retries < max_retries:
        try:
            return process_ticker(ticker, fields)
        except Exception as e:
            print(f"Failed processing {ticker}: {e}")
            retries += 1
            if retries < max_retries:
                print(f"Retrying in {retry_interval} seconds...")
                time.sleep(retry_interval)
            else:
                error_dict = {f:'' for f in fields}
                error_dict['symbol'] = ticker[0]
                return error_dict

fields = ['symbol', 'quoteType', 'shortName', 'longName', 'annualReportExpenseRatio']
ticker_list = ['QQQ', 'SPY']
tickers = yf.Tickers(ticker_list)
tickers_items = tickers.tickers.items()
num_threads = 6
with ThreadPoolExecutor(max_workers=num_threads) as executor:
    fund_info_list_dict = list(executor.map(retry_process_ticker, tickers_items, [fields]*len(tickers_items)))

Then don't rate-limit just cache 🤷

I have a related issue and I am wondering, why download it is not rate-limiting for me (and I am worried that it may end up in a block):
(sorry, I am not that experienced in python and pretty new to this library.)
I did create a cache according to the provided guidelines at https://github.com/ranaroussi/yfinance#smarter-scraping
class CachedLimiterSession(CacheMixin, LimiterMixin, Session): pass
session = CachedLimiterSession(
    limiter=Limiter(RequestRate(2, Duration.SECOND*5)),  # max 2 requests per 5 seconds
    bucket_class=MemoryQueueBucket,
    backend=SQLiteCache(full_cache_path), # alternative SQLiteCache(use_memory=True)
)

When I do the initial download, everything is fine, it is obviously slowed down in downloading. (getting initial ticker + full history + 2m history + 1m history gets to over four minutes for ~30 tickers
However, upon redownload, when I only download the 1m data (for updates), all of this goes through in about 8 secs, i.e., ca. 3,75 / sec.  (everything without threading)
As these are true downloads (I checked the code and it indeed downloads 2720 lines of data), this would be well above the rate limiting of 2 requests per 5 seconds, even though I am using the ticker created with this session.
Am I doing anything wrong or does rate limiting only work while initially ticker creation, and not while data downloading. Or does this somehow get lost, when I reuse cached information from a previous run (the cache is on disk)?
(If everything is ok and this is just how it supposed to work, it would also show how to solve the problem of the initial thread creator, but then I would be even more worried regarding the danger of getting blocked..)

the second 1m download is much faster than first

Obviously it is using the cached data.

my bad.. - ok, I should check again after the weekend, when there have been new trades in between (and it should then redownload to be complete). Thanks!

when there have been new trades in between

requests_cache is a dumb cache, it only caches get requests.

Thanks, for pointing this out. I didn't have to deal with caching before. I am a bit concerned that the info on this github does not include this disclaimer.
I checked out yfinance-cache, but it was significantly slower initially and then crashed with an internal error where the existing code works. (I will post more on their github)
I resorted to trying to make two sessions and give yfinance the corresponding session
(altering:
ticker.session = non_cached_session
ticker._data._session = non_cached_session

but couldn't get this to work.
It would be really cool if yfinance would give more control over its caching. (also for identifying whether a request was served from cache or not.)
I finally resorted to the simplest approach: setting more of the cache control flags and this is providing the behavior apparently that was expected = some of the requests are from the cache and some are from finance. Not sure this is exactly as hoped, but will have to check. (But it is now redoing 1/4 of requests, which was exactly what I expected for my code.)
I am now using:
class CachedLimiterSession(CacheMixin, LimiterMixin, Session): pass
session = CachedLimiterSession(
    limiter=Limiter(RequestRate(2, Duration.SECOND*5)),  # max 2 requests per 5 seconds
    bucket_class=MemoryQueueBucket,
    backend=SQLiteCache(full_cache_path), # alternative SQLiteCache(use_memory=True)
    cache_control=True, # Use Cache-Control response headers for expiration, if available
    expired_after=Duration.SECOND*60*60*24*7, # cache expires after 7 days
)

i.e., adding the last two flags at the end. I hope this works as expected, but of course, it is unclear whether the response headers have correct expiration. - I did also set expired_after to ensure that after some time the base data is redownloaded.

It would be really cool if yfinance would give more control over its caching.

I don't like this, given this can be solved easier via direct interaction with requests_cache

Maybe I am not deeply enough into this stuff. I tried as much as I could get from the request cache docu. But this is not easy, because without deep analysis of yfinance code and a significant understanding of request_cache, which also is not easy,  it seems pretty unclear how to achieve any of the things above, e.g., making individual calls bypass the cache; have specific cache-expires for specific kinds of calls. (Let alone identify the result of a request - except for its speed)
If there is an easy way to control this, pointers are welcome.

making individual calls bypass the cache; have specific cache-expires for specific kinds of calls.

You did not specify you wanted this. I had a quick chat with ChatGPT - you can achieve url-specific bypass, but not url-specific expiry without separate cache sessions. But I sense this discussion is beyond the scope of the original issue, and maybe should continue in #1662.

We use the same tools ;-) - You can do URL-specific bypasses with caching, but this does not help. As a user of yfinance I don't know (and should not care) what URLs are used. This observation was what switched me to session mangling. But with code-reading (and ChatGPT ;-) ) I could not come up with a solution that works reasonably. (Hence the other issue.)
May I ask what you meant with  "direct interaction with requests_cache", because apparently I can no longer directly interact  with it once yfinance takes and copies it around.  (And I wouldn't know what kind of interactions would help)

May I ask what you meant with "direct interaction with requests_cache"

I mean you configure the requests_cache session object before passing it to yfinance.

ah ok, thanks. Yeah this is what I am doing (and it serves some of my needs; perhaps my needs are somewhat specialised)

I've got a question that really isn't a bug report.
Is it more efficient to call yf.Ticker several times to get
market_cap = ticker.fast_info.get('marketCap', None)
or is it recommended to use yf.Tickers once and iterate through the ticker objects to get this info?
I'm unfamiliar with how both calls work under the hood.


pypi Continuous Integration

This PR adds an extra deployment workflow. The purpose of the new workflow is to package and publish the netdata_pandas on pypi. A PYPI_TOKEN should be added as repository secret (The ownership of the current package should transferred to netdata user). The publication will take place whenever we merge or commit into master.

would this 100% never change whats published on pypi under a specific version?
e.g. i make a change - forget to manually bump the pypi version - the GH workflow will rebuild old version with my new change and then just deploy to pypi? (it would fail in that case i think since the old version would already exist on pypi but still).

@andrewm4894 Good point, I changed the corresponding workflow in order to publish to pypi only when a new release is created.

Any update on this @andrewm4894 ?


Additional params for lane

I don't see this in the docs, but is it possible to add additional params to the lane?
Like for example, fastlane deploy patch would create a patched build.

I haven't found anything like that in the documentation. It's something that would be neat to have. I wonder if you can nest lanes and have it work almost like the multiplatform support, like so:
lane :deploy do
  lane :patch do
    increment_version_number
  end
  deliver
end

I like the idea. With the most recent update, we introduce an additional platform layer, but that won't solve your problem.
Right now the only way to pass information is using environment variables or files.
When you using environment variables:
mode="patch" fastlane deploy

not as pretty, but should do the job for now. What do you think?

@KrauseFx  Sounds good for now.


[build] recover code coverage

This PR adds the missing after_success.sh script to recover code
coverage.

This depends on #358


Refactor initialize2MRel to do its own initialization checking

Right now, you have to check to see if the relationship was already initialized before calling initialize2MRel because the method will naively run initialization logic every time. Should instead encapsulate checking in the method itself to simplify calling logic.

➤ Kael Shipman commented:
This might be fixed already. Should check.


Deleting database and migration history created by tauri-plugin-sql

Hi all,
I've just started using tauri-plugin-sql with SQLite for my app, and currently I haven't gotten my database schema completely figured out yet, so I've been changing it a lot(since I don't have any data in the db yet and I'm just trying to see what works). I've been using migrations to set up the initial schema, but after I change the migration itself and run it again, I get this error: error while running tauri application: PluginInitialization("sql", "migration 1 was previously applied but has been modified"). I've already tried deleting the com.tauri.dev and com. files in AppData/Local, and I'm still getting this error, so I was wondering where I should go to delete the database and migration history? Thanks!

found it, it's in AppData/Roaming. 🤦

it's in AppData/Roaming. 🤦


Add some new color palettes to MolDraw2D

This adds three new atom color palettes:

avalon
CDK
dark mode

and two new drawing modes:

dark mode
monochrome (= provide just foreground and background colors)

The modes set all colors (except highlighting... I didn't figure out a reasonable way to automate that), not just the atom palette.
Here are some examples:
Dark mode:

Avalon mode:

CDK mode:

And monochrome, with an "arbitrary" choice of fg/bg colors:

Note that the two windows failures are not connected to this PR. That's due to some configuration change on the CI machines that I still need to track down.


go to definition does not work for implicit index.js files

[x] I checked similar issueus.
[x] I checked it with VS Code Insiders w/o extensions
[x] I checked it w/o extensions

VSCode Version: 1.34.0
OS Version: macOS 10.14.5

Steps to Reproduce:

cmd-click onto js import

Yay, Look at Minimal repro repo: https://github.com/a-x-/chore-vscode-gotodef-bug
Start with src/index.js
Then check jsconfig.json and src/b dir

Try adding "moduleResolution": "node" to your jsconfig. That should make it so that we understand implicit index.js files, which are a node convention

So fast!
Can you add the tips to jsconfig.json documentaion?

with given receipt it's working in 1.34.0 now
but, explicit index.js stil not working in 1.35.0-insider
looks like another stupid problem. it's not matter for me:
import {foo} from 'b/index';
import {foo} from 'b/index.js';

Can you add the tips to jsconfig.json documentaion?

And json scheme too. It would be much worth


Update local brotli copy from upstream

Hey @hyperxpro !
The latest pull from upstream is from 3 months ago.
Upstream has been recently updated with many improvements, both in the C code and in the JNI/Java code.
In particular, https://github.com/google/brotli/issues/880 is probably very interesting.
Could you please refresh the local copy and cut a new release?
Cheers?

Sure, will synchronize with upstream soon. However, I will wait for some time before releasing the new version because 1.5.0 was recently released.
Does this sound good?

Sure

Thanks :)

Released 1.6.0


[Exclusivity] Use dynamic enforcement on boxes whose projections escape

In AccessEnforcementSelection, treat passing a projection from a box to
a partial_apply as an escape to force using dynamic enforcement on the box.
This will now correctly use dynamic enforcement on variables that are taken
as inout and also captured by storage address in a closure:
var x = ...
x.mutatingMethod { ... use x ...}
but does pessimize some of our existing enforcement into dynamic since
access enforcement selection.
Ideally we would distinguish between escaping via an nonescaping closures
(which can only conflict with accesses that are in progress) and
escaping via escaping closures (which can conflict for any reachable code
after the escape)

cc @atrick @rjmccall

@swift-ci Please smoke test

LGTM.

I've updated the tests with comments where we are more conservative than we should be.

@swift-ci Please smoke test and merge.

@swift-ci smoke test and merge.

@swift-ci Please smoke test and merge


Add the source md5

Somehow I forgot that. (And I aso forgot to add a check for that in the linter!)

Hi! This is the friendly conda-forge-admin automated user.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

conda-smithy linter issue: https://github.com/conda-forge/conda-smithy/issues/104

Or the older issue :wink:
https://github.com/conda-forge/conda-smithy/issues/46#issue-126377369


Appstudio update test-component-pac-rcsx

Pipelines as Code configuration proposal

Pipelines as Code CI/test-component-pac-rcsx-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
23 seconds
init

✅ Succeeded
30 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
25 seconds
sanity-inspect-image

✅ Succeeded
27 seconds
deprecated-base-image-check

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
3 minutes
clair-scan

✅ Succeeded
20 seconds
sbom-json-check

✅ Succeeded
10 seconds
sanity-label-check

✅ Succeeded
10 seconds
sanity-optional-label-check

✅ Succeeded
14 seconds
show-summary

Pipelines as Code CI/test-component-pac-rcsx-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
22 seconds
init

✅ Succeeded
22 seconds
clone-repository

✅ Succeeded
34 seconds
build-container

✅ Succeeded
10 seconds
clair-scan

✅ Succeeded
14 seconds
sanity-inspect-image

✅ Succeeded
36 seconds
deprecated-base-image-check

✅ Succeeded
45 seconds
clamav-scan

✅ Succeeded
10 seconds
sbom-json-check

✅ Succeeded
9 seconds
sanity-optional-label-check

✅ Succeeded
8 seconds
sanity-label-check

✅ Succeeded
7 seconds
show-summary


How are USER and PASS set in .travis.yml?

This is more of a question than an issue, but its so specific to this repo I felt it was better to ask here rather than stackoverflow.
How are the USER and PASS environment variables set in the .travis.yml script? I see them defined as secure encrypted string in the appveyor config, but the travis config doesn't seem to have a corresponding entry.
I've been following this repo to figure out how to deploy my own binary wheels, and I've got everything working except for the automatic pypi deployment. Understanding what you are doing would help me a lot.

You can define secure variables via Travis web UI settings:

Afaik this can't be done in Appveyor so the secret variables have been generated separately and added manually to appveyor.yml.

Beautiful, thank you.


🐛 BUG(CSS): Unexpected duplicate "display"

Properties should not be duplicated
https://github.com/hinogi/graphiql/blob/1a3d034c02114c4a164e94626beb840260f05359/packages/graphiql-plugin-code-exporter/src/index.css#L52-L57

Your are right!
@acao I think we can setup stylint for css files to avoid future mistakes


Implement the SAT evaluation

From the GPT-3 paper:

To test GPT-3 on another task that is somewhat unusual relative to the typical distribution of text, we collected a set of 374 “SAT analogy” problems [TLBS03]. Analogies are a style of multiple choice question that constituted a section of the SAT college entrance exam before 2005. A typical example is “audacious is to boldness as (a) sanctimonious is to hypocrisy, (b) anonymous is to identity, (c) remorseful is to misdeed, (d) deleterious is to result, (e) impressionable is to temptation”. The student is expected to choose which of the five word pairs has the same relationship as the original word pair; in this example the answer is “sanctimonious is to hypocrisy”. On this task GPT-3 achieves 65.2% in the few-shot setting, 59.1% in the one-shot setting, and 53.7% in the zero-shot setting, whereas the average score among college applicants was 57% [TL05] (random guessing yields 20%). As shown in Figure 3.12, the results improve with scale, with the the full 175 billion model improving by over 10% compared to the 13 billion parameter model.

[X] Data processing code implemented
[ ] Evaluation implemented

The evaluation code should be modeled after the interface in lm_eval/base.py and the example of the BoolQ task in lm_eval/tasks/suerglue.py

Should be available on request from Peter Turney.
https://www.apperceptual.com/

Will post here if/when we get a response.

Got a response. PM me on the Discord if you need access.

I could do the eval here

I could do the eval here


feat(ui): add summary

This PR includes:

fix scrolls on navigation and suite panel
adds a new panel to add report state (rn only the global state)
adds current module again to control the ui summary
adds show ui summary logic on vitest logo

we need to fix the scrolls and the new pre on ModuleTransformResultView.vue and review the code mirror scrolls also on ViewEditor.vue

Should I work on this @userquin?

@dammy001 sure, the problem is that some changes breaks the scrolls on code mirrors, and we need to fix them (ModuleTransformResultView.vue and ViewEditor.vue).
We should ask Anthony the pre included on ModuleTransformResultView.vue: https://imgur.com/7qOMeTp

On PR ##491 @mitchelvanbever is changing the FileDetails layout and so I don't change it here.

This is great @userquin! I like the animations in the home icon, but I think they could distract users from looking at the main content. For example when clicking a file, I tended to see the fancy animation instead of the right side panels. Maybe we could replace them with a fast alpha fade in/out?
About the styling of the summary, I think we could give it more spacing and remove the bold letters so it is more inline with other parts of the UI. But we could merge it as is to me and then do the styling in another PR

@antfu @patak-dev : with the new dashboard layout each box will shift when running the  tests since the values will make text grow, I have uploaded to discord server on ui room some videos using grid (1 row) and flex (2 columns) (I follow all your instructions).

@userquin @sheremet-va  how do I run the UI? I keep getting this error.
WebSocket connection to 'ws://localhost:51204/__vitest_api__' failed:

after pnpm install && pnpm run build from root folder vitest --ui or running on 2 shells:

cd packages/ui && pnpm run dev:ui
from root folder vitest --api

@userquin Thanks.

Very nice work!
By trying that, I though to get code coverage summary, could this be relevant?

Very nice work! By trying that PR, I though to get code coverage summary, could this be relevant?

sure, but beware, Anthony is changing the UI and there are no commits yet
@antfu any updates here? can you push your local changes (at least resolving conflicts)?


UIAccessibility/VoiceOver support

Thanks for the library!
I noticed the rings weren't accessible to a screenreader user, so I thought it might be worth adding. The only additional property I've added is the identifier: String? in MKRingProgressView and it is optional.
The reason these are computed properties is mostly to account for updated frames on rotation. Also, note that grouped accessibility overrides individual accessibility, but this is intentional and supports users of the library that use them grouped or one at a time.
Happy to make changes as needed.

Hi @mathewa6! Thanks for the addition, it's a pleasure to know that you enjoy the lib 😀
The feature will require a few changes though.
If we take into consideration how UIKit elements implement accessibility, they are meant be explicitly set in the actual app (interface builder or code). So first of all, we shouldn't hardcode any of the values, neither leave the setters empty. Instead, we should provide the initial values, where necessary, and also provide the accessibility value corresponding to the actual value of the progress, that should be overridable, too.
I tried it out in the test project along with some basic UIKit controls – the closest reference would be the UIProgressView I believe. So here's what we should have:

accessibilityLabel initially set to "Progress"
accessibilityTraits initially set to "Updates Frequently"
accessibilityValue returns the progress value in percents
all other values are not set

I suggest adding the following to the MKRingProgressView implementation:
    private var overriddenAccessibilityValue: String?
    open override var accessibilityValue: String? {
        get {
            if let override = overriddenAccessibilityValue {
                return override
            }
            return String(format: "%.f%%", progress * 100)
        }
        set {
            overriddenAccessibilityValue = newValue
        }
    }

    public override init(frame: CGRect) {
        super.init(frame: frame)
        commonInit()
    }

    public required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        commonInit()
    }

    private func commonInit() {
        accessibilityLabel = "Ring Progress"
        accessibilityTraits = UIAccessibilityTraitUpdatesFrequently
    }

For the group view, note that in order to make the nested views accessible, the container should not have the property isAccessibilityElement enabled. So to simplify things, maybe the MKRingProgressGroupView could be left unchanged.
Let me know what you think 😉

Hey @mathewa6
I see your point and agree that it makes sense for the rings in Activity app. But the ring progress control was designed to be universal and ready to use in any setup, so the grouped view is there only to visually represent the example look and feel of Apple's app. I think it should be enough to have the accessibility in the control itself, leaving other implementation details to the end users of the library and keeping the example code minimal.
One thing that I'd ask to change before merging:
Make the accessibilityValue formatted like this: String(format: "%.f%%", progress * 100) - because the percents with decimals won't look good, also there should be no space between the number and the "%" symbol.
Otherwise the PR looks good to go 👍

Agreed and fixed!
Apologies for the tardiness and thanks again for the lib.

@mathewa6 thank you very much for your contribution! I'll update cocoapods in a while.
✌


After uploading a csv and checking the box to hide 0 demand users, all users disappear and don't come back

This should be fixed in here aa6d69027b5657754d80fcea8b3f22d75156bf61 and has been pushed live.  Let me know if that's not the case (make sure and refresh browser).

Looks good! Thank you!


Fix reserved field name

id is now a reserved field name in Terraform.
see https://github.com/hashicorp/terraform/commit/67ceb1ab07acd55ebc0d7b6efb39019e73fd1888.
In the result, terraform plan fails with
Error: provider.buildkite: Internal validation of the provider failed! This is always a bug
--
  | with the provider itself, and not a user issue. Please report
  | this bug:
  |
  | 1 error(s) occurred:
  |
  | * resource buildkite_pipeline: id is a reserved field name

This commit fixes that. I'm not sure if pipeline_id is the best name for that, so I'm happy to change it.

test passed locally, it seems like the go version on CI should be updated as well

//cc @joscha @hubertgrzeskowiak

The command "eval go get -t -v ./... " failed. Retrying, 2 of 3.

fixed by #17

Nice one! Is there a way to make this backwards compatible?

@joscha
I guess, it is backwards compatible, but I'm not 100% sure:
No changes. Infrastructure is up-to-date.

This means that Terraform did not detect any differences between your
configuration and real physical resources that exist. As a result, no
actions need to be performed.

Thanks for this @SerCeMan!
The reason for the prohibition of attributes named id was that Terraform Core automatically populates the id based on the call to d.SetId. So it's actually fine to just remove this extra attribute altogether, and as long as the provider still calls d.SetIdthe interpolation of theid` attribute will continue to work as before.

@apparentlymart If I understood you correctly, the only thing we need to do to make it work - remove the id attribute completely.

Cool! This looks good to me. I don't have my dev environment handy to run the acceptance tests for this right now but I'll try to take this for a spin soon.
Since #16 and #17 seem to be mutually dependent on each other in order to pass tests, would you mind rebasing your branch here so that it incorporates the change for #16, and then we can see the unit tests pass and merge these both together?
I think something like this would do the trick:

git checkout master (the branch for this PR)
git rebase update-go-version (the branch for #17, so the commit from there precedes your existing commits here)
git push --force https://github.com/SerCeMan/terraform-buildkite.git master (replace the commits on this PR with the newly-rebased commits)

(If I get to looking at this before you're able to do this then I can just do it myself as part of testing, so don't worry about it too much...)

@apparentlymart I squashed this and included the go version fix. CI looks good.

@apparentlymart can we get this in?

friendly ping @apparentlymart :)

Hey, @apparentlymart! Can we get this merged?

👍 can we get this merged @apparentlymart ?
thanks


[9.x]: add isProduction & isLocal to Application contract

Adding methods to a contract on a minor or patch release is a breaking change. I also don't think we should pollute the contract with these methods.


object and x-nullable don't mix

Description
sending null as send_time_slot raise an validation error.
  send_time_slot:
    type: object
    x-nullable: true
    required:
    - start
    - end
    properties:
      start:
        type: integer
        minimum: 0
        maximum: 24
      end:
        type: integer
        minimum: 0
        maximum: 24

Expected behaviour
x-nullable should apply to object, sending null as send_time_slot should pass validation
Actual behaviour
Sending null as send_time_slot raise an validation error.
Additional info:
connexion==1.5.3

This has been reworked in connexion 2.0 - do you mind trying it out and seeing if it resolves your issue? It can be install with
pip install --pre connexion[swagger-ui] 'jsonschema<3.0.0'
(you have to specify jsonschema version because of #707 right now).

I was able to test your spec in connexion 2.0.0rc1, and sending no payload works as expected.
One gotcha is that if you leave a field blank in swagger-ui, it will send {} which is not a null payload.
Also, totally an aside, but if your time slots are meant to be hours in the day, you may have an off-by-one error as you have both slot 0, and 24 as valid.
Here's the full spec (I just adapted the hello world example)
swagger: "2.0"

info:
  title: "{{title}}"
  version: "1.0"

basePath: /v1.0

paths:
  /greeting/:
    post:
      summary: Generate greeting
      description: Generates a greeting message.
      operationId: hello.post_greeting
      produces:
        - text/plain;
      responses:
        200:
          description: greeting response
          schema:
            type: string
          examples:
            "text/plain": "Hello John"
      parameters:
        - name: send_time_slot
          in: body
          description: a start and end
          schema:
            "$ref": "#/definitions/send_time_slot"
definitions:
  send_time_slot:
    type: object
    x-nullable: true
    required:
    - start
    - end
    properties:
      start:
        type: integer
        minimum: 0
        maximum: 24
      end:
        type: integer
        minimum: 0
        maximum: 24

def post_greeting(send_time_slot=None):
       return '{body}'.format(body=send_time_slot)

curl -X POST --header 'Content-Type: application/json' 'http://localhost:9090/v1.0/greeting/'
# None

curl -X POST --header 'Content-Type: acept: text/plain' -d '{}' 'http://localhost:9090/v1.0/greeting/'
# {
#   "detail": "'start' is a required property",
#   "status": 400,
#   "title": "Bad Request",
#   "type": "about:blank"
# }

This has been reworked in connexion 2.0 (currently in pre-release) -

Glad to hear that. Do you have any ETA on connexion 2.0?

Also, totally an aside, but if your time slots are meant to be hours in the day, you may have an off-by-one error as you have both slot 0, and 24 as valid.

Thanks we got that covered. 💪

Glad to hear that. Do you have any ETA on connexion 2.0?

No, but you can follow along here: https://github.com/zalando/connexion/issues/678
It will depend on the availability of folks at Zalando to review and merge in the dev-2.0 branch.
The merge window is closed, so just bugfixes are making it in now. If you are willing to be on the bleeding-edge, you can use the release candidate from pip now. Be sure to review the change log, but I think it's pretty stable (I'm biased though).

Connexion 2.0 has been released (:tada:) so I'm going to close this out. Please re-open if I missed something.


multiple profiles (users)

Thank you for the module, looks great. I managed to get the module working for 1 user by manual installation.
I'm a rooky and I am not able to write code.
How can I add multiple users in the MMM-Face-Recognition-SMAI.py?
Can you give an example code for e.g. 2 users? How should I name the image file for the second user? 1st user is face.png?
Is MMM-Face-Recognition-SMAI.py the only file to be edited?

I am in the same situation. I was able to get the module working yesterday, but could not figure out where to add or customize something to get multiple profiles working. Could you please tell us how, @EbenKouao ?

Hi @RaspiManu,
So far this module is limited to one profile.
If you would like to add multiple users, (an updated version) have a look at the Smart CCTV repo/tutorial this outlines how to add multiple profiles.

Dear @EbenKouao and @destiny1976 ,
while working on some code changes for this module (offline) to add multiple users, I stumbled over the fork of @jimbydude, who already realised it in combination with the MMM-Face-Reco-DNN of @nischi, that uses the Deep Neural Network of OpenCV 4.
I tried it and it works very well! I now have 6 users, that see different modules. That's why I would really like to see a pull from @jimbydude to the original repo of @EbenKouao as a contribution that would make the original module even more attractive and give the fork the attention it deserves.
Thank you all for the great work!

I want to follow up on @RaspiManu comment above. I have also successfully installed https://github.com/jimbydude/MMM-Face-Multi-User-Recognition-SMAI since I wanted to support multiple users. It works great and now I would like to contribute in translations and some more fixes. But it seems like @jimbydude is not maintaining his repo actively (see https://github.com/jimbydude/MMM-Face-Multi-User-Recognition-SMAI/pull/1 from November 2020). In stead of making another fork of his repo It would be good to merge your two repos so community can contribute in further development.
@EbenKouao and  @jimbydude: would you be supporting this suggestion?

Hi,
Assuming you all get this reply. I've been fiddling with other stuff but will def be back to mirror repo soon I'm hoping but I'm totally fine with merging them.
I'm also ok with maintaining the merged repo.
CheersJim
On Tuesday, March 23, 2021, 12:18:16 PM PDT, Ismar Slomic @.***> wrote:
I want to follow up on @RaspiManu comment above. I have also successfully installed https://github.com/jimbydude/MMM-Face-Multi-User-Recognition-SMAI since I wanted to support multiple users. It works great and now I would like to contribute in translations and some more fixes. But it seems like @jimbydude is not maintaining his repo actively (see jimbydude#1 from November 2020). In stead of making another fork of his repo It would be good to merge your two repos so community can contribute in further development.
@EbenKouao and @jimbydude: would you be supporting this suggestion?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Good to hear, @jimbydude! In the mean while I have actually forked your repo in order to start merging open PRs and do my own cleanups and extensions. Happy to merge it later on when you guys are ready!
https://github.com/ismarslomic/MMM-Face-Multi-User-Recognition-SMAI

Hey @ismarslomic and @jimbydude, I am glad to hear that their will be some progress soon. I really like the great design of @EbenKouao and the multi user possibility of the fork of @jimbydude. It would be so nice to finally have it all together in the original module that already gained a lot of attention. Thank you for bumping this up again, @ismarslomic 👍

I want to thank you all for your help!
I don't know how to write codes and am currently on learning by myself on python as a super newbie beginner from YouTube, so I'm learning as I go.
Really appreciate everyone's contribution to make this module more mult-user friendly.
You guys are the best!

I am currently working for a project that uses this MMM-Face-Multi-User-Recognition-SMAI but i have a problem, In the magic mirror it just displays the guest.gif even when i am logged in "[22.06.2023 10:49.47.313] [LOG]   [MMM-Face-Reco-DNN] Users Jasper logged in.
[22.06.2023 10:49.49.974] [LOG]   [MMM-Face-Reco-DNN] Users Jasper logged out."  I have the dataset and encodings setup already and the images in the public folder are all there.

Been a while since looked at it but check that you have images in correct folder, and that the filenames for images are correct format/case.
I think if I remember it expected them to be specific and the image name same as the login name.
On Wednesday, June 21, 2023 at 08:08:59 PM PDT, Onem15 @.***> wrote:
I am currently working for a project that uses this MMM-Face-Multi-User-Recognition-SMAI but i have a problem, In the magic mirror it just displays the guest.gif even when i am logged in "[22.06.2023 10:49.47.313] [LOG] [MMM-Face-Reco-DNN] Users Jasper logged in.
[22.06.2023 10:49.49.974] [LOG] [MMM-Face-Reco-DNN] Users Jasper logged out." I have the dataset and encodings setup already and the images in the public folder are all there.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Been doing that for a while then I decided to reinstall raspberry pi os and reinstall all modules and libraries and now its working Sent from Mail for Windows From: James MacdonaldSent: Saturday, June 24, 2023 12:56 AMTo: EbenKouao/MMM-Face-Recognition-SMAICc: Onem15; CommentSubject: Re: [EbenKouao/MMM-Face-Recognition-SMAI] multiple profiles (users) (#5) Been a while since looked at it but check that you have images in correct folder, and that the filenames for images are correct format/case. I think if I remember it expected them to be specific and the image name same as the login name. On Wednesday, June 21, 2023 at 08:08:59 PM PDT, Onem15<EMAIL_ADDRESS>wrote: I am currently working for a project that uses this MMM-Face-Multi-User-Recognition-SMAI but i have a problem, In the magic mirror it just displays the guest.gif even when i am logged in "[22.06.2023 10:49.47.313] [LOG] [MMM-Face-Reco-DNN] Users Jasper logged in. [22.06.2023 10:49.49.974] [LOG] [MMM-Face-Reco-DNN] Users Jasper logged out." I have the dataset and encodings setup already and the images in the public folder are all there. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID<EMAIL_ADDRESS>


Conversion from fs2.Stream to Akka Source Requires ContextShift[IO]

Hello!
The following code does not compile with the implicits and imports specified in the documentation/examples:
    AkkaSource .fromGraph(
            stream (: fs2.Stream[IO, Int])
            .toSource
      )

with the error:
value toSource is not a member of fs2.Stream[cats.effect.IO, Int]
However, this code:
  implicit val cs = IO.contextShift(ec)
    AkkaSource .fromGraph(
            stream (: fs2.Stream[IO, Int])
            .toSource
      )

compiles as expected. It would be great to add the requirement for a ContextShift[IO] to the documentation!

Hi Robin, thanks for reporting. Do you mind creating a pull request?

Sorry for the delay, just seeing this now. Does !64 work?


Able to enter day number to 39, month number to 19

When the mask is enabled, user can enter from keyboard day number more than 31 (to 39), month number more than 12 (to 19). After that, date is calculating as in picture below

It would be nice to know the explanation behind this. I'm very curious to know what edge cases this applies to. Thanks. :)

I encountered the same issue when using the moment.js parser, in order to be able to use another date formatter with a masked date input.
My hypothesis (I'm far from a specialist of this plugin) is that the mask syntax is very restrictive:
From my little experience, I think it allows the following rules when defining a mask (using JQuery.datetimepicker.setDateFormatter({... formatMask: function(value) { ... })):

A '9' represents any digit,
A digit D which value is lower than 9 represents any digit value lower or equal to this digit value D
A 'm' represents a digit or a letter
A '*' represents any character,
A specific character stays 'as is'

I have a similar implementation using moment.js like the one given in this XDSoft example.
In this example, I think that the formatMask is used to convert the date format into a mask definition.
So, for instance, an ISO 8601 date format like mine (moment.js syntax): 'YYYY-MM-DDTHH:mm:ss'  is converted into '9999-19-39T29:59:59' (XDSoft syntax equivalent should be 'Y-m-dTH:i:s' I think).
Here, you can see that the day of month is represented by 39, the month is represented by 19, and the hour in the day is represented by 29.
If one defines the month with 12, it would restrict the second digit to be 2 at most, preventing tor represented months 03,04,05,06,07,08 and 09 in which the second digit is >2.
The same problem occurs with the day of month which can go over 31 up to 39 and the hour in the day which can go over 24 up to 29.
In conclusion, I think that the mask definition syntax is not powerful enough and would greatly benefit to directly use the date format as a mask.
So, the ISO 8601 mask up here could be defined like:

'Y-m-dTH:i:s' (using the XDSoft date format syntax) or alternatively
'YYYY-MM-DDTHH:mm:ss' (using the moment.js date format syntax)
instead of the currently used '9999-19-39T29:59:59' syntax.


HTTP Error 503. The service is unavailable.

Hello,
I'm trying to run AzureNamingTool as Stand-Alone Site (IIS on W2012 R2 + ASP.NET Core Runtime 8.0.1 Hosting Bundle).
I'm getting the error Service Unavailable - HTTP Error 503. The service is unavailable.
In the Event Viewer this error appears (and the App Pool stops):
Faulting application name: w3wp.exe, version: 8.5.9600.16384, time stamp: 0x5215df96
Faulting module name: coreclr.dll, version: <IP_ADDRESS>001, time stamp: 0x65684720
Exception code: 0xc00000fd
Fault offset: 0x0000000000099df7
Faulting process id: 0x12b0
Faulting application start time: 0x01da5a14e673207f
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\8.0.1\coreclr.dll
Report Id: 2512dbda-c608-11ee-8134-0050569b1778
Faulting package full name:
Faulting package-relative application ID:
The AppPool has the Load User Profile set to True (otherwise a .NET Runtime error appears in the Event Viewer related to Category: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager)
Any help would be appreciated.
Thank you.

Hello,
I managed to solve it by myself: the Application Pool permissions on the folder were missing.


young adult bios

Leaders: Kish Larson & Camden Kerby
Kish is from Denton, Texas (outside of Dallas). She moved to SLC a year and a half ago to get involved with what the Lord is doing in the Salt Lake Valley. She went to Texas A&M University, and she currently works at Huntsman Cancer Institute as an exercise physiologist-think medical personal training. Kish has been at Lifestone since June of 2018 and is loving it. She serves in kids, youth, and with the young adults. For fun, Kish enjoys anything active--hiking, camping, sports, etc.--as well as reading and crocheting. Her favorite thing about Life Groups is building relationships with people and really being involved with the discipleship process of introducing people to Jesus and helping them grow in their relationship with Him.
Camden came to Salt Lake City via New Mexico a little over a year ago, and is currently studying music at Salt Lake Community College. He discovered Lifestone with his family in January 2018, and was quickly drawn in by a genuine community of believers rooted in the Word and swimming in God’s love. Soon thereafter he was roped into playing for the worship team, where he currently serves. In his spare time, you can find Camden hiking, reading, or banging his head on a piano.
New to the concept of Lifegroups when he first joined, Camden has come to appreciate their unique ability to foster meaningful relationships between believers. Church is where we worship, but Lifegroups are where we see God’s love fully realized.

@keelyjay I can add these to Contentful, but as per #554, we don't show bios on the site anymore.


Each rebuild adds new rules without removing the old ones

Each rebuild seems to add new rules to a component without removing the old ones, this results in this output in my devtools:

This makes it impossible to remove CSS properties from a component without restarting ember-cli.

If you open the vendor.css. Does it actually contain the these doubled rules?

ya, I'm having the same issue. Ever change is added in the vendor.css file, but when including the pod-styles in the app.scss file, there is only the latest change in the there.

I spoke to soon. This happened to me when I was using scss, but my component style was css. https://github.com/ebryn/ember-component-css/blob/master/lib/component-css-postprocessor.js#L82

@buschtoens yes, all the component styles are doubled in vendor.css, I'm using ember-cssnext maybe I got a bug in there?

I have the same problem, using SASS. Is there a solution to this?

I was having that issue when I had the extension of ".css" rather the ".scss" on an individual pod components style. See the code link I mentioned earlier.

Ah thanks, that was it… But now I'm (still?) having the class name again added each time ember-cli reloads the app (cf. #69)

@jandillmann ya. I just noticed that issue myself.

Possibly related: #101

#101 is definitely related.
Looks like https://github.com/ebryn/ember-component-css/blob/master/lib/component-css-postprocessor.js#L67 and https://github.com/ebryn/ember-component-css/blob/master/lib/component-css-postprocessor.js#L84 are called on each rebuild.
This means that the class gets reopened multiple times which ends up adding the same class multiple times, additionally the CSS gets appended multiple times too.
I fixed the multiple class problem in a branch here: https://github.com/topaxi/ember-component-css/tree/dont-duplicate-class-names
Although I think this should be fixed differently as this doesn't solve the append on each rebuild. But I don't know Broccoli.js and ember-cli enough to do this.
@ebryn or @stefanpenner any hints?

I know nothing of how this add on works, other then it monkey patches many intervals and undoes some of my perf work.

Fixed as of 0.2.0-beta.1


Send (Pay Invoice) fails because it requires confirmation.

Whenever I try to pay and invoice, it waits forever. Turns out it's because it's waiting for a confirmation. When I manually run the lncli command, it works after I answer yes to confirm payment:
lncli --chain=litecoin sendpayment --pay_req=lnltc1206840n1pd63qxdpp5c8eqppn32evp4a9nz5j5uhy2ngsljkufa3y2r2v5kacp32ycm49qdqqcqzjqnp08nc0yf7jrwyrjt2zfs3t6uy55gpmhwepwv2xarxcnyscv7u757s784jsg8h5xxvygv9jrezmhxfe92hqgfzge65ryjwcdhww8ljgqlfveuu
Description:
Amount (in satoshis): 120684
Destination: 0304b3a9d0f8446a50944d9e317185460361d3bdbd563214faa751585ba46428a5
Confirm payment (yes/no): yes
{
	"payment_error": "",
	"payment_preimage": "3fd57e68c232bc3f73eee6dfa5152b9d8d884e4aa30bd9403e93ea37fa82272e",
	"payment_route": {
		"total_time_lock": 1498102,
		"total_amt": 120684,
		"hops": [
			{
				"chan_id":<PHONE_NUMBER>343166464,
				"chan_capacity": 16500871,
				"amt_to_forward": 120684,
				"expiry": 1498102,
				"amt_to_forward_msat": 120684000
			}
		],
		"total_amt_msat": 120684000
	}
}

added --force parameter to command. needs testing.

@rootzoll testing OK. closing ticket recommended.


[FEATURE] Live migration tooling

Is your feature request related to a problem? Please describe.
A clear solution for migration from Kafka to KoP currently doesn't exist.
Describe the solution you'd like
Add a live migration system so users could migrate from Kafka to KoP.
Describe alternatives you've considered
We can provide offline migration tooling, which wouldn't be as user friendly.
Additional context
None

I think that it depends on your application.
For instance if you are not keeping data for much time it is easy to attach your producers to the new cluster (Pulsar) and add new consumers on the new cluster.
When the data from the old cluster is consumed you can drop it.
But if you have higher requirements then you have to design something specific

Thanks @eolivelli! I have a design doc that we've gone through internally, but I'd love your (and anybody else in the community's) take on it as well! It's my oversight to not have shared it earlier here.
Link to the doc: https://docs.google.com/document/d/1MCpJEJEkIuMW-0IK7ubNOvE1x2hjATv52KmiAQdhgrE


Simply static lifetime implementation

Implements #1300.
Please merge this pull request as I really need this feature.

Another improvement can be done here - regarding constructors. I sometimes want to write the CreateInstance* functions manually due to have more than one implementation class for the runtime class.

@kennykerr @oldnewthing

I can't make sense of what optimizations this does.
This breaks the current system to implement something that already is doable.
Just put the method you want to implement on the factory_implementation as non-static.
Which is what you do, so all this saves is the empty class with unimplemented methods?
I can't see how this is helpful.

@Link1J
Static lifetime is a feature that ensures that the factory object is only created. This is useful for bundling additional state with the static class that needs to be initialised on demand.

Just put the method you want to implement on the factory_implementation as non-static.

Yes, that is already possible. However, when you use enable component optimisations[^1], it does not compile because the wrapper code in Class.g.cpp always accesses implementation::Class, implying that the functions must be present on it, which conflicts with static lifetime as you really want to put the static methods as non-static ones on the factory to access the state. Therefore, at the moment you need to manually write forwarder methods as noted here.
[^1]: Component optimisations provide 'inline' wrappers for static methods on the projected type instead of calling through the interface like usual.

Sorry, I've not had a moment to look at this.

It feels a little hinky to rely on "call a static method on a null this kind of works..."
So you goal is to eliminate the "if you are using component optimizations [which everybody should be] then you will need to write forwarder methods" part?

It feels a little hinky to rely on "call a static method on a null this kind of works..."

Yes, but it seems to be the simplest way to solve this problem. Also, note that there is no undefined behaviour because the method has to be static and C++ allows calling static methods of a type through a pointer or reference of type.

Actually, it is. -> dereferences its left operand. Dereferencing a null pointer is UB.

Actually, it is. -> dereferences its left operand. Dereferencing a null pointer is UB.

Okay, but it works so not going to care. It's not like C++/WinRT has no UB already.
The alternate option would be to manually add the check for static lifetime in every single function.

Okay, but it works so not going to care.

That's hard to prove (and by "hard" I mean "impossible"). I will admit that this is almost guaranteed to remain inconsequential with MSVC, given that it has to support MFC sporting its infamous CWnd::GetSafeHwnd() implementation. But Clang will most certainly be far less dovish in exploiting UB.

It's not like C++/WinRT has no UB already.

If that is the case, the reasonable response should be to remove the UB, not to add to it.

Putting the following does not work, as only one branch is syntactically valid at a given time. Still think the nullptr trick is the best solution here.
 if constexpr (winrt::impl::has_static_lifetime_v<test_component::factory_implementation::StaticClass>)
 {
     winrt::make_self<test_component::factory_implementation::StaticClass>()->Method();
 }
 else
 {
     test_component::factory_implementation::StaticClass::statics_type::Method(); // could cause an error in case the first branch is the chosen one.
 }

The entire point of if constexpr is allowing the branch not being picked to have invalid code

The entire point of if constexpr is allowing the branch not being picked to have invalid code

All the branches should still be syntactically valid, unless the expressions are based on a template parameter (see these two examples: https://godbolt.org/z/MPc8KjxWd and https://godbolt.org/z/MPc8KjxWd). In this case I cannot turn those functions into templates, however.

Even without static lifetime, you still may want to put static methods on the factory as static, so that you can have multiple implementations of the implementation type with different names.


converting image to byte array

Hi
this is not an issue, it's a question since I couldn't find the tool
what tool was used to convert an image to this array here:
T-Dongle-S3/example/Factory /logo.h
Thanks

https://github.com/Xinyuan-LilyGO/T-Display-S3/tree/main/tools

Thank you @lewisxhe for the tool.
After many trials I found out that the process to push images on the T-dongle-S3 device is this :

Use MS Paint to save your image into Bitmap 24bits format (.bmp).
- The image must have a 2:1 ratio (width must be exactly twice the height)
Open this bmp file using Image2Lcd v2.9
Enter the following parameters:

Output file type = C array
Scan mode = Horizontal
BitsPixel = 16 bits TrueColor (the first one in the list)
Max Width and Height = 160 x 80 (click the arrow to apply)
Include head data : NOT checked
Scan right to left : NOT checked
Scan bottom to top : NOT checked
MSB first : checked
"16 bit Color" tab => R:5 G:6 B:5

Save the image with .h extension (the file should have about 1600 lines of 16 bytes)
- The file name you choose will also be the variable name in your program

Then, for example, the TFT.ino example project can be modified to add the image file to the headers and to add a new case item diplaying this new image:
case N:
tft.pushImage(0, 0, 160, 80, (uint16_t *)gImage_yourimage);
break;


syntax highlighting not persistent

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.69.2
OS Version: 12.2.1 (Mac)

Issue:

I have been having issues with my syntax highlighting, I looked around for a while and could not find the issue I used Start Extension Bisect and still no luck.
The odd part is it's completely random and at times all I need to do is restart vscode but that does not seem to work anymore.
I am ok with doing anything I need to do just trying to put this issue out there just incase anyone else is having the same problem

Steps to Reproduce:

Create a CPP file and start programming eventually it will happen
It is random

Screenshots:

After multiple restart attempts

I suggest you use the Inspect Editor Tokens and Scopes command and compare the information you get from code elements whose colors change when the problem occurs. Maybe the C++ extension stops providing semantic Tokens to VS Code and colouring falls back to using TexMate Scopes.

Will do @gjsjohnmurray hasn't happened since yesterday as soon as it does ill run it!

@Puwya I believe this might be caused by an extension providing semantic highlighting to C++ files. How do things look if you disable semantic highlighting using "editor.semanticHighlighting.enabled": false?

Hey, @alexdima I am seeing no difference right now but also the bug hasn't come up again ill try both your test case and @gjsjohnmurray.
Just to be clear this "editor.semanticHighlighting.enabled": false is simply to undo an extension that has it enabled

Also, you might be right @alexdima since the past to days I haven't written in C++, and it never happens when I am working on js or any other language not that I have seen at least.

:+1: Thank you for the extra information. Please keep an eye out in case you end up narrowing down, it might be a problem with the C++ extension. If that's the case, please create an issue at https://github.com/Microsoft/vscode-cpptools/issues

Alright guys I found something that is very interesting, taking a look at some old cpp code it happened again. As soon as it did I loaded Inspect Editor Tokens and Scopes suggested by @gjsjohnmurray

and oddly enough I got a loading forever icon

I thought I was doing something wrong so I tried it on a file on the right and it seemed to work instantly

this is what I saw

Also in desperate measures I remembered what @alexdima mentioned which was toggling "editor.semanticHighlighting.enabled": false but that also showed no difference

Finally after closing that specific file only (I am talking about the tab) and then reloading vscode was how I was able to get it to fix its highlighting and able to bring up the inspector

I guess the old cpp code is blocking or crashing the C++ extension's language server, so it no longer provides semantic Tokens for any file.
Please report this to the extension authors. The Report Issue option from the Help menu can assist you in doing this. They probably need the text of the old file which triggers the problem.

/causedByExtension

This issue is caused by an extension, please file it with the repository (or contact) the extension has linked in its overview in VS Code or the marketplace for VS Code. See also our issue reporting guidelines.
Happy Coding!

I'm sorry I don't understand what extension is causing this @gjsjohnmurray and how did we determine it was an extension that's causing this

Extensions are responsible for code coloring. For a few core languages those extensions are built in, in the sense that they are bundled with VS Code. C++ isn't one of those. It sounds like you have identified a particular cpp file that triggers your problem. If possible, share that file with the authors of the C++ extension.

:+1: Please report this directly to the C++ extension. It looks like the semantic tokens provider they register starts to hang at one point and stops returning results. This is made visible by the "Loading..." message in the hover that never completes. When you reload the window, we restart the extension host and that seems to bring them back to a good state. So, definitely caused by an extension.


SOLR-16938 Auto configure tracer without a  tag in solr…

….xml
https://issues.apache.org/jira/browse/SOLR-16938

Description
Enable OTEL based on presence of system property. also use config params for otel init, but not if the respective system properties are already defined.
Solution
Please provide a short description of the approach taken to implement your solution.
Tests
Please describe the tests you've developed or run to confirm this patch implements the feature or solves the problem.
Checklist
Please review the following and check all that apply:

[ ] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[ ] I have created a Jira issue and added the issue ID to my pull request title.
[ ] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[ ] I have developed this patch against the main branch.
[ ] I have run ./gradlew check.
[ ] I have added tests for my changes.
[ ] I have added documentation for the Reference Guide

@janhoy if you have a few mins could you please take a look.
The proposed approach is to attempt to init otel if the OTEL_SERVICE_NAME property exists. I am open to suggestions here if there is anything better. if it will attempt and fail there is a log message that points to enabling module.
The other part of this PR is passing the init params to the OtelTracerConfigurator and using them to set some system properties if they are not already set. this should fill in the plugin config gap.


data collect - Save current configuration params

@VHolonec are you going to add the rest of the implementation (besides saving users will want to load. Also, there is nothing done for the viewer) in a separate PR or in this one?

@VHolonec are you going to add the rest of the implementation (besides saving, users will want to load. Also, there is nothing done for the viewer) in a separate PR or in this one?

For viewer I will add the implementation in separated PR. Also for load configuration is another implementation.


choco uninstall python does not really uninstalls python

choco uninstall python does not really uninstalls python from the system.
Expected Behavior
I expected python to be removed from the system.
Current Behavior
PS C:\Users\vagrant> choco uninstall -y python
Chocolatey v0.12.1
Uninstalling the following packages:
python

python v3.10.2
 Skipping auto uninstaller - No registry snapshot.
 python has been successfully uninstalled.

Chocolatey uninstalled 1/1 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Possible Solution

Steps to Reproduce (for bugs)

choco install -y python (this installed 3.10.2)
choco uninstall -y python

Context

Your Environment

Package Version used: 3.10.2
Operating System and version: Windows 2022
Chocolatey version: 0.12.1
Install/uninstall gist:

Oh, python is a "stub" package that depends on python3. Is there a way to uninstall python that triggers a python3 uninstall?

As you noticed as well, python is a stub package or as we call them a meta package. Unfortunately, it is not a true meta-package, as those would have also removed the dependency (this is based on the naming).
To also remove the python3 package when uninstalling python you need to pass in the argument --remove-dependencies as well. See https://docs.chocolatey.org/en-us/choco/commands/uninstall for what is available when calling choco uninstall.
From a packaging perspective, there isn't much we can do about this (short of creating duplicate packages), I'll be closing this issue now.


Namespace conflicts with $scope

Hi,
When i use the translate-namespace attribute inside a div, all the ng-model value inside this div are undefined in my angular controller.
ex :
    <div translate-namespace="MAP">
     <form name="form">
        <input type="text" ng-model="country">
     </form>
    </div>

$scope.country is undefined, but when i remove the translate-namespace attribute, $scope.country has a value. Are you aware about this bug ? Do you have a fix for it ?
Thanks

I don't see that issue - could you check your whole setup please or post a Plnkr of it.
Here is a variant of what I've understood - contains a controller-only variable "valueIntern" and also includes partial loading - seems to work fine:
http://plnkr.co/edit/FqCf4wV0Ft2Vyxzf1SUL?p=preview

Closed due inactivity.


Add upstream matchers

https://github.com/SamVerschueren/tsd/releases/tag/v0.24.0
expectNever and expectDocCommentIncludes I guess?

@mrazauskas in case you missed this 😀

Thanks for reminder. I just wrote a longest essay explaining why I am sceptical about these APIs, but managed to close browser window by accident. All is gone. That’s for good ;D Here is a short version:

eslint-plugin-jsdoc looks like way better choice instead of expectDocCommentIncludes. I don’t see testing here, it is pure linting.
motivation behind expectNever was to have a replacement for assert-never. That is a one-liner which is meant to be shipped with production code. To me this sounds plain wrong (;

Of course, these judgements are only related with tsd-lite.

In general, I think that it would be nice to have shorthand matchers for primitive types like: expectNever, expectNumber, expectString, etc. That also means spending some time writing extra docs. Happy to land a PR.
Currently I try to focus on the work-in-progress type testing library. It has these matchers already since early spring. Reworking parser at the moment. The more I can focus on this, the sooner it will be shipped to the world ;D

Fair enough! 👍
expectNever seems kinda useful (to ensure you're exhaustive), although I have no immediate use cases.

Sure. If there is a use case, I am more than happy to rethink. Ah.. Probably I should add a note to the readme. Will do.
Closing for now (;

For a moment I though this could be a use case for expectNever (takes from Jest’s type tests):
expectType<'incomplete' | 'return' | 'throw'>(returnValue.type);
expectType<unknown>(returnValue.value);

if (returnValue.type === 'incomplete') {
  expectType<undefined>(returnValue.value);
}

if (returnValue.type === 'return') {
  expectType<boolean>(returnValue.value);
}

if (returnValue.type === 'throw') {
  expectType<unknown>(returnValue.value);
}

// final check to be sure that all members of the union are covered
expectNever(returnValue.type);

The test will fail, because the type is still 'incomplete' | 'throw' | 'return'. To make this work one has to return from if blocks, but then all has to be wrapped in a function:
const check = (returnValue: ReturnValue) => {
  expectType<unknown>(returnValue.value);

  if (returnValue.type === 'incomplete') {
    expectType<undefined>(returnValue.value);
    return;
  }

  if (returnValue.type === 'return') {
    expectType<boolean>(returnValue.value);
    return;
  }

  if (returnValue.type === 'throw') {
    expectType<unknown>(returnValue.value);
    return;
  }

  expectNever(returnValue);
};

For my eye previous snipped is easier to read. Also its first line ensure exhaustive check.

what about
if (returnValue.type === 'incomplete') {
  expectType<undefined>(returnValue.value);
} else if (returnValue.type === 'return') {
  expectType<boolean>(returnValue.value);
} else if (returnValue.type === 'throw') {
  expectType<unknown>(returnValue.value);
} else {
  // final check to be sure that all members of the union are covered
  expectNever(returnValue.type);
}

?

Yep. This works. I though about it after posting ;D


NAS-131311 / 25.04 / Grab app lifecycle / migration logs in debug

Jira URL: https://ixsystems.atlassian.net/browse/NAS-131311

Jira URL: https://ixsystems.atlassian.net/browse/NAS-131311

This PR has been merged and conversations have been locked.
If you would like to discuss more about this issue please use our forums or raise a Jira ticket.


Allow to add datas to OSM POI without sending them

Eg: to add private pictures to POI

Duplicate of #138


Replace image refresh bug

Why: Image processing is now performed in the background. When replacing an image in the item edit form, it loads the page before processing is performed and cannot render the image.
How: Modified the ItemShowImageBox to show an indeterminate progress circle until the image is finished processing. To do this it will make 3 calls, 5 seconds apart until it fails or receives an image_ready as the image_status, at which point it will render the image as before. This required several changes, including creating an image_status field on item and changing the data that is sent from the v1 api and the chain of calls prior to this component, such as the ItemJsonDecorator.

:+1:

:+1:


Update CubemapToEquirectangular.js

Avoids warning:
THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead.

Excellent! Thank you!


How to control either inactive or active item width only.

The goal is to make the width of active item double the width of the inactive item.
By default, inActiveSlideScale changes the width and height of the inactive item.
I would like to change only the width scale.

See custom interpolations and #594.


Package installation fails in Windows

Background Info
The package.json file in this package contains the following lines, among others:
  "scripts": {
    "build": "NODE_ENV=production webpack",

My computer is running Windows 7 Professional 64-bit.
The Problem
When I run $ npm install (which runs $ npm build, which maps to the command shown above), the Windows Command Prompt tries to run a command named NODE_ENV. The Windows Command Prompt does not find such a command; so, it shows the following error message:
'NODE_ENV' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: `NODE_ENV=production webpack`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\SomeUser\AppData\Roaming\npm-cache\_logs\2017-11-25T07_30_29_787Z-debug.log
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

A Solution... for Windows (at least)
The above error can be avoided by changing the build command to the one shown below, which uses set and &&.
  "scripts": {
    "build": "set NODE_ENV=production && webpack",

With that change in place, I can build the package at the Windows Command Prompt with no errors.
Although that fixes the build process in Windows, it may break it on Mac/Linux (I don't know whether it does or not).
A Possible Solution... for Windows, Mac, and Linux
There is an NPM package called cross-env that I think could be used to solve this problem.
The package's README says:

cross-env makes it so you can have a single command without worrying about setting or using the environment variable properly for the platform. Just set it like you would if it's running on a POSIX system, and cross-env will take care of setting it properly.

This issue is fixed in commit 648f315d62dcfb5275db110c755c94a89feabe48 (part of Pull Request #61).

Fixed by https://github.com/patientslikeme/react-calendar-heatmap/pull/61


Fix typo in comment string to stop LCOV exclusion block.

Signed-off-by: Thomas Denewiler<EMAIL_ADDRESS>

Good catch
Thanks!!


Some missing backports

Backport of:

https://github.com/openshift-knative/eventing-kafka/commit/664a5ee52105bd97f52a83e32b74bbc949aeff29
https://github.com/openshift-knative/eventing-kafka/commit/934191abb604076a2dfeee9a84f01a0304a6253f

/lgtm
/approve


Fix CUDNN GPU tests

Description
Currently, the GPU tests do not use the CUDNN_VERSION environment variable supplied by the CUDA base image used by the GPU test containers. This PR mitigates this by only manually setting the cuDNN version if it currently does not already exist in the environment.
Taking this functionality out of #14513 and into its own PR to ensure the issues I'm experiencing in #14513 are not related to this CUDNN_VERSION variable problem.

Thanks for fixing these @perdasilva
@mxnet-label-bot Add [CI, pr-awaiting-merge]

The PR has been merged.
Thank you for the fix!


[TVMScript] Use tir::Evaluate if expression is in statement context

For the previous version of the parser, this was special-cased for some intrinsic operators.  After the new TVMScript was enabled in https://github.com/apache/tvm/pull/12496, any PrimExpr that appears in the body of a statement is silently ignored.  This commit updates the parser to instead wrap the bare PrimExpr in a tir::Evaluate node.
This change effectively allows expression statements in TVMScript, which are converted to tir::Evaluate nodes during parsing.

This PR is in response to CI failures found in https://github.com/apache/tvm/pull/13130, when writing TVMScript that used the T.assume() builtin without wrapping in T.evaluate().  I am updating that PR to use T.evaluate() in all new unit tests, but wanted to add this as a more general update.  With how TVMScript borrows heavily from Python's syntax, neither the pre-#12496 behavior of raising an error for expression statements, nor the post-#12496 behavior of ignoring expression statements felt expected as a user.

LGTM! I was thinking about the same thing but holding back a bit because I dont want to change TIR too often, but it is definitely a positive change and I really love it

Thank you!  It's definitely a lot easier to add parsing/printing sugar to TVMScript than to change the TIR in C++.

Thanks for the great update! This helps a lot with the usability of TVMScript :-)  Let's get it in ASAP!


[Doc Feature][Generic App Share to Stage Capability][2507277]

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
98
3
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 1aa75b3:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/assets/images/share-apps-in-teams-meeting.PNG
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
98
3
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
98
3
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 9d9e220:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/assets/images/share-apps-in-teams-meeting.PNG
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
98
3
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 518daae:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/assets/images/share-apps-in-teams-meeting.PNG
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
98
3
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 13a9fff:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/assets/images/share-apps-in-teams-meeting.PNG
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
99
1
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
99
1
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 995b1f6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/in-meeting-dialogbox.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/plusbutton.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/PreMeeting.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/share-apps-in-teams-meeting.PNG
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
99
1
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 16c3b0a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/in-meeting-dialogbox.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/plusbutton.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/PreMeeting.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/share-apps-in-teams-meeting.PNG
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
99
1
link
:white_check_mark:

msteams-platform/whats-new.md
91
35
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 2dc0192:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/in-meeting-dialogbox.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/plusbutton.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/PreMeeting.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/share-apps-in-teams-meeting.PNG
:white_check_mark:Succeeded
View

msteams-platform/whats-new.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
99
2
link
:white_check_mark:

msteams-platform/whats-new.md
91
35
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit f588df7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/in-meeting-dialogbox.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/plusbutton.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/PreMeeting.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/share-apps-in-teams-meeting.PNG
:white_check_mark:Succeeded
View

msteams-platform/whats-new.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit c72f6d2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/in-meeting-dialogbox.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/plusbutton.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/PreMeeting.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/share-apps-in-teams-meeting.PNG
:white_check_mark:Succeeded
View

msteams-platform/whats-new.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
99
2
link
:white_check_mark:

msteams-platform/whats-new.md
91
35
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
99
2
link
:white_check_mark:

msteams-platform/whats-new.md
91
35
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit a185cba:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/in-meeting-dialogbox.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/plusbutton.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/PreMeeting.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/share-apps-in-teams-meeting.PNG
:white_check_mark:Succeeded
View

msteams-platform/whats-new.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
99
2
link
:white_check_mark:

msteams-platform/whats-new.md
91
35
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 9b7ceeb:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/in-meeting-dialogbox.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/plusbutton.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/PreMeeting.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/share-apps-in-teams-meeting.PNG
:white_check_mark:Succeeded
View

msteams-platform/whats-new.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
98
3
link
:white_check_mark:

msteams-platform/whats-new.md
91
35
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 9442da3:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/plusbutton.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/PreMeeting.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/share-apps-in-teams-meeting.PNG
:white_check_mark:Succeeded
View

msteams-platform/whats-new.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Update browser-extension.md

Indicate aproximate release date

It's not that straightforward. We need to address compatibility issues with the old devtools and plugin API.


Add API to be able to transition directly to a state in the Anim Component

Similar to the older Animation Component API
myAnimStateGraphLayer.transitionTo(someStateName, optionalBlendTime);

I can see where this could be handy as a complete reset but I can imagine it be tough to implement if there are other transitions active with conditions that are valid as well 🤔 What should happen in that scenario?

I think we discussed this initially, and decided to keep the transition data driven, which means by setting up transition including the blend time and other properties in the Editor / data, vs calling it directly from code. It makes it complicated to understand and debug the project if transitions can be triggered by two different ways, especially in a way that the graph does not allow.

Addressed in https://github.com/playcanvas/engine/pull/3237


Add support for C++ scoped enums

This PR adds support for C++ scoped enumerations, (enum class). Addresses https://github.com/cython/cython/issues/1603.
Workarounds exist for wrapping external C++ enum classes.  These are reported in the issue above. However, they don't solve the following problems:

The names of the enum values leak into the outer scope as described in https://github.com/cython/cython/issues/1603#issuecomment-571415849.
Converting between Python values and scoped enums requires further awkward workarounds -- see an example of our workaround here.

This PR addresses the above by adding "true" support for scoped enums.

[x] Enum classes are defined using cdef enum class syntax
[x] Adds a new CppScopedEnumDefNode node type
[x] Adds a new CppScopedEnum PyrexType
[x] Adds a new CppScopedEnumScope for the enum values
[x] Adds utilities enum.from_py and enum.to_py for converting between Python int-like objects and enum values
[x] Adds support for cpdef enum class, which generates a Python Enum similar to cpdef enum
[x] Docs

Please note: this is my first time contributing to Cython - please forgive coding faux pas on my part :-)

Does it make sense to use is_enum for C enums and is_cpp_enum for scoped C++ enums? Seems like a simpler way of describing the difference to innocent readers. :)

Thanks @da-woods and @scoder for the detailed reviews. I've removed a lot of the code duplication for the parsing, as well as just extending the existing CEnumDefNode and CEnumDefItemNode to handle scoped enumerations.
One remaining issue from my perspective is naming: CEnumDefNode suggests that it can be used in C mode, whereas scoped enums can only be used in C++ mode - any suggestions for naming here?

@scoder @da-woods this is complete and ready for review from my perspective.

I'd go back and double-check @scoder's code-style comments though - I think you've accidentality managed to undo most of them somewhere along the way

@scoder Does this PR require any further work towards getting merged?

Thanks!

Thank you all for the incredible work on implementation and reviewing process!  I'm so excited to try this out!  :rocket: :partying_face: :tada:

This code is generated for the cpdef_scoped_enums_import test. Is it correct?
    namespace Namespace {
        enum class Cheese {
            cheddar = 1,
            camembert = 2
        };
    }
[...]
static enum Namespace::Cheese __pyx_v_30dotted_import_scoped_enum_test_c;
static enum Namespace::Cheese __pyx_v_30dotted_import_scoped_enum_test_d;
[...]
  enum Namespace::Cheese __pyx_t_5;

Note how it says enum instead of enum class in the variable declarations.
I stumbled over this when looking at the appveyor build results because the Py3.4 builds are failing with these errors:
dotted_import_scoped_enum_test.cpp(1308): error C3431: 'Cheese': a scoped enumeration cannot be redeclared as an unscoped enumeration
dotted_import_scoped_enum_test.cpp(1309): error C3431: 'Cheese': a scoped enumeration cannot be redeclared as an unscoped enumeration
dotted_import_scoped_enum_test.cpp(1755): error C3431: 'Cheese': a scoped enumeration cannot be redeclared as an unscoped enumeration

They are using an old MSVC version which doesn't even recognise the -std=c++11 option, so the most likely reason is that it's simply handling this incorrectly, but I thought I'd ask, just to be sure that we can't improve this somehow. Newer MSVC versions seem to accept this code quite happily.

Yes, I believe that's correct. See
https://en.cppreference.com/w/cpp/language/elaborated_type_specifier
Specifically:

the enum keyword must be used to refer to an enumeration type (whether scoped or unscoped)

@scoder it's a question of removing the "enum" from here: https://github.com/cython/cython/blob/master/Cython/Compiler/PyrexTypes.py#L4052
I can certainly put in a PR that will do that, but I guess it's worth bringing up that elaborated type specifiers are useful to disambiguate between types and non-types of the same name. I'm not sure whether this is a concern in Cython-generated code. Happy to do whatever you feel is best here.

@scoder Any thoughts here?

My view would be either:

leave it (disable the test for Python 3.4)
change enum (for this usage) -> __PYX_ENUM_DECL (or similar) which is defined as empty for Python 3.4 and enum for everything else.

Given that the elaborated type specifiers seem to be marginally useful then I think it makes sense to keep them where possible.

Thanks @da-woods. Happy to look into using a __PYX_ENUM__DECL