EPG not matching Shows

telly release with the issue:

1.1
Last working telly release (if known):
Operating environment (Docker/Windows/Linux/QNAP, etc.):

Unraid Docker
Description of problem:
Show's don't get matched in plex, and when I set to record them they default to a movies library. Movie's get matched properly. IPTV service being used: IrisTV
Contents of telly.config.toml [if you're using a version above 1.1]:
# THIS SECTION IS REQUIRED ########################################################################
[Discovery]                                    # most likely you won't need to change anything here
  Device-Auth = "telly123"                     # These settings are all related to how telly identifies
  Device-ID = 12345678                         # itself to Plex.
  Device-UUID = ""
  Device-Firmware-Name = "hdhomeruntc_atsc"
  Device-Firmware-Version = "20150826"
  Device-Friendly-Name = "telly"
  Device-Manufacturer = "Silicondust"
  Device-Model-Number = "HDTC-2US"
  SSDP = true

# THIS SECTION IS REQUIRED ########################################################################
[IPTV]
  Streams = 2               # number of simultaneous streams that the telly virtual DVR will provide
                            # This is often 1, but is set by your iptv provider; for example,
                            # Vaders provides 5
  Starting-Channel = 10000  # When telly assigns channel numbers it will start here
  XMLTV-Channels = true     # if true, any channel numbers specified in your M3U file will be used.
# FFMpeg = true             # if this is uncommented, streams are buffered through ffmpeg;
                            # ffmpeg must be installed and on your $PATH
                            # if you want to use this with Docker, be sure you use the correct docker image
# if you DO NOT WANT TO USE FFMPEG leave this commented; DO NOT SET IT TO FALSE

# THIS SECTION IS REQUIRED ########################################################################
[Log]
  Level = "info"            # Only log messages at or above the given level. [debug, info, warn, error, fatal]
  Requests = true           # Log HTTP requests made to telly

# THIS SECTION IS REQUIRED ########################################################################
[Web]
  Base-Address = "<IP_ADDRESS>:6077"   # Set this to the IP address of the machine telly runs on
  Listen-Address = "<IP_ADDRESS>:6077" # this can stay as-is

# THIS SECTION IS OPTIONAL ========================================================================
#[SchedulesDirect]           # If you have a Schedules Direct account, fill in details and then
                             # UNCOMMENT THIS SECTION
#  Username = ""             # This is under construction; Vader is the only provider
#  Password = ""             # that works with it fully at this time

# AT LEAST ONE SOURCE IS REQUIRED #################################################################
# DELETE OR COMMENT OUT SOURCES THAT YOU ARE NOT USING ############################################
# NONE OF THESE EXAMPLES WORK AS-IS; IF YOU DON'T CHANGE IT, DELETE IT ############################
[[Source]]
  Name = ""                 # Name is optional and is used mostly for logging purposes
  Provider = "Iris"       # named providers currently supported are "Vaders", "area51", "Iris"
# IF YOUR PROVIDER IS NOT ONE OF THE ABOVE, CONFIGURE IT AS A "Custom" PROVIDER; SEE BELOW
  Username = "XXX"
  Password = "XXX"
  # THE FOLLOWING KEYS ARE OPTIONAL IN THEORY, REQUIRED IN PRACTICE
  Filter = "CANADA"
  FilterKey = "group-title" # FilterKey normally defaults to whatever the provider file says is best,
                            # otherwise you must set this.
  FilterRaw = false         # FilterRaw will run your regex on the entire line instead of just specific keys.
  Sort = "group-title"      # Sort will alphabetically sort your channels by the M3U key provided

# END TELLY CONFIG  ###############################################################################

Command line used to run telly [if applicable]:

Docker run command used to run telly [if applicable]:
tellytv/telly:dev-ffmpeg

telly or docker log:
time="2019-02-23T02:33:50Z" level=info msg="Loading M3U from http://irislinks.net:83/get.php?username=REDACTED&password=REDACTED&type=m3u_plus&output=ts"
time="2019-02-23T02:33:51Z" level=info msg="Loading XMLTV from http://irislinks.net:83/xmltv.php?username=REDACTED&password=REDACTED"
time="2019-02-23T02:33:57Z" level=info msg="Loaded 214 channels into the lineup from Iris"
time="2019-02-23T02:33:57Z" level=info msg="telly is live and on the air!"
time="2019-02-23T02:33:57Z" level=info msg="Broadcasting from http://<IP_ADDRESS>:6077/"
time="2019-02-23T02:33:57Z" level=info msg="EPG URL: http://<IP_ADDRESS>:6077/epg.xml"
time="2019-02-23T02:46:21Z" level=info msg="Serving channel number 10008"
time="2019-02-23T02:47:21Z" level=info msg="Serving channel number 10132"
time="2019-02-23T02:49:50Z" level=info msg="Serving channel number 10132"
time="2019-02-23T03:28:07Z" level=info msg="Serving channel number 10132"
time="2019-02-23T03:30:13Z" level=info msg="Serving channel number 10043"
time="2019-02-23T03:30:41Z" level=info msg="Serving channel number 10203"
time="2019-02-23T03:31:28Z" level=info msg="Serving channel number 10000"
time="2019-02-23T13:12:34Z" level=info msg="Serving channel number 10008"
time="2019-02-23T13:33:19Z" level=info msg="Serving channel number 10132"
time="2019-02-23T13:34:06Z" level=info msg="Serving channel number 10132"
time="2019-02-23T14:40:31Z" level=info msg="telly is preparing to go live (version=<IP_ADDRESS>, branch=dev, revision=0d28df61af33f5f0779427d8ad24d62a719e478c)"

time="2019-02-23T14:40:31Z" level=info msg="Loading M3U from http://irislinks.net:83/get.php?username=REDACTED&password=REDACTED&type=m3u_plus&output=ts"
time="2019-02-23T14:40:32Z" level=info msg="Loading XMLTV from http://irislinks.net:83/xmltv.php?username=REDACTED&password=REDACTED"
time="2019-02-23T14:40:45Z" level=info msg="Loaded 214 channels into the lineup from Iris"
time="2019-02-23T14:40:45Z" level=info msg="telly is live and on the air!"
time="2019-02-23T14:40:45Z" level=info msg="Broadcasting from http://<IP_ADDRESS>:6077/"
time="2019-02-23T14:40:45Z" level=info msg="EPG URL: http://<IP_ADDRESS>:6077/epg.xml"
time="2019-02-23T15:33:53Z" level=info msg="telly is preparing to go live (version=<IP_ADDRESS>, branch=dev, revision=0d28df61af33f5f0779427d8ad24d62a719e478c)"

time="2019-02-23T15:33:53Z" level=info msg="Loading M3U from http://irislinks.net:83/get.php?username=REDACTED&password=REDACTED&type=m3u_plus&output=ts"
time="2019-02-23T15:33:55Z" level=info msg="Loading XMLTV from http://irislinks.net:83/xmltv.php?username=REDACTED&password=REDACTED"
time="2019-02-23T15:34:06Z" level=info msg="Loaded 214 channels into the lineup from Iris"
time="2019-02-23T15:34:06Z" level=info msg="telly is live and on the air!"
time="2019-02-23T15:34:06Z" level=info msg="Broadcasting from http://<IP_ADDRESS>:6077/"
time="2019-02-23T15:34:06Z" level=info msg="EPG URL: http://<IP_ADDRESS>:6077/epg.xml"

Additional information:
Show not matched:

Show defaulting to Movie library when recording:

Movie matched:

This is an issue between guide data and Plex.  telly just passes guide data through from provider to Plex, so if the required tag [dd_progid] Plex uses to identify a thing as Movie/TV is not present there's nothing telly can do.
Telly 1.5 can source guide data from Schedules Direct, which provides very complete data, but for earlier versions the solution is to find a better guide source; if it is possible to use Plex' built-in guide that can be a solution as well.

Thanks. I noticed 1.1 also has a section for schedules direct & iptv-epg.. I'll take a look at them. You can close this issue.

In 1.1, Schedules Direct is only used for filling in existing EPG data, and then only for Vader sources.  It's not a general-purpose EPG source.


DOC: update Outputs section in serverless template reference

Affected pages
reference/main-concepts/serverless/template.yaml

Done as part of v1.17.0 release


Exceptions When Running sunpower-pvs-exporter (but I can still get stats from curl localhost:9110)

2020-09-18 15:18:51,857 Listening on port 9110...
Traceback (most recent call last):
File "/usr/lib/python3.7/wsgiref/handlers.py", line 138, in run
self.finish_response()
File "/usr/lib/python3.7/wsgiref/handlers.py", line 180, in finish_response
self.write(data)
File "/usr/lib/python3.7/wsgiref/handlers.py", line 274, in write
self.send_headers()
File "/usr/lib/python3.7/wsgiref/handlers.py", line 332, in send_headers
self.send_preamble()
File "/usr/lib/python3.7/wsgiref/handlers.py", line 255, in send_preamble
('Date: %s\r\n' % format_date_time(time.time())).encode('iso-8859-1')
File "/usr/lib/python3.7/wsgiref/handlers.py", line 453, in _write
result = self.stdout.write(data)
File "/usr/lib/python3.7/socketserver.py", line 799, in write
self._sock.sendall(b)
BrokenPipeError: [Errno 32] Broken pipe
Exception happened during processing of request from ('<IP_ADDRESS>', 36896)
Traceback (most recent call last):
File "/usr/lib/python3.7/wsgiref/handlers.py", line 138, in run
self.finish_response()
File "/usr/lib/python3.7/wsgiref/handlers.py", line 180, in finish_response
self.write(data)
File "/usr/lib/python3.7/wsgiref/handlers.py", line 274, in write
self.send_headers()
File "/usr/lib/python3.7/wsgiref/handlers.py", line 332, in send_headers
self.send_preamble()
File "/usr/lib/python3.7/wsgiref/handlers.py", line 255, in send_preamble
('Date: %s\r\n' % format_date_time(time.time())).encode('iso-8859-1')
File "/usr/lib/python3.7/wsgiref/handlers.py", line 453, in _write
result = self.stdout.write(data)
File "/usr/lib/python3.7/socketserver.py", line 799, in write
self._sock.sendall(b)
BrokenPipeError: [Errno 32] Broken pipe
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.7/wsgiref/handlers.py", line 141, in run
self.handle_error()
File "/usr/lib/python3.7/wsgiref/handlers.py", line 368, in handle_error
self.finish_response()
File "/usr/lib/python3.7/wsgiref/handlers.py", line 180, in finish_response
self.write(data)
File "/usr/lib/python3.7/wsgiref/handlers.py", line 274, in write
self.send_headers()
File "/usr/lib/python3.7/wsgiref/handlers.py", line 331, in send_headers
if not self.origin_server or self.client_is_modern():
File "/usr/lib/python3.7/wsgiref/handlers.py", line 344, in client_is_modern
return self.environ['SERVER_PROTOCOL'].upper() != 'HTTP/0.9'
TypeError: 'NoneType' object is not subscriptable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.7/socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python3.7/socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python3.7/socketserver.py", line 720, in init
self.handle()
File "/usr/lib/python3.7/wsgiref/simple_server.py", line 133, in handle
handler.run(self.server.get_app())
File "/usr/lib/python3.7/wsgiref/handlers.py", line 144, in run
self.close()
File "/usr/lib/python3.7/wsgiref/simple_server.py", line 35, in close
self.status.split(' ',1)[0], self.bytes_sent
AttributeError: 'NoneType' object has no attribute 'split'

FYI I'm using the version installed from "pip install sunpower-pvs-exporter"


Use timeouts on API requests

Feature Request
Is your feature request related to a problem? Please describe.
With yesterday's incident on Cloud API, we've seen that some of our code got stuck. Looking at the logs, these seemed to happen when we use the library. And looking at the repo, it seems that there are no timeouts. So we think, this was why.
Describe the solution you'd like
Customizable (or general but a bit high) timeout value on all requests to API.
Describe alternatives you've considered
An alternative would be trying to understand if a library is stuck on code, which seems suboptimal.
Teachability, Documentation, Adoption, Migration Strategy
As far as I can tell, everything uses Client._requests_session, so it could be initialized with timeouts on Client.__init__().

Agreed, we should add a timeout option, I'll look into this.


Use actions/checkout to clone Kyverno

Related Issue(s)
Related to #243
Description
Replace the parsing of environment variables and git clone with arguments to the actions/checkout action.
The action logs the commit hash as its final output. The last group in the log can be expanded to see the referenced branch. For example, a run on a push to the release-1.7 branch shows:
Checking out the ref
  /usr/bin/git checkout --progress --force -B release-1.7 refs/remotes/origin/release-1.7
  Switched to a new branch 'release-1.7'
  branch 'release-1.7' set up to track 'origin/release-1.7'.

/usr/bin/git log -1 --format='%H'
'db440c1b10d91c29d0e28f279705d248ced5c4a7'

Checklist

[x] I have read the policy contribution guidelines.
[x] I have added test manifests and resources covering both positive and negative tests that prove this policy works as intended.

Thanks for this contribution. We require DCO sign-off if you can re-sign and do a force push.

Done!

Sorry to do this after you've already looked at this PR, but I added one more commit that changes the command to run Kyverno. It should be slightly more resilient to changes in the upstream project. 🙇🏻


Use OIDC/SAML backwards to pass valid jwt token/roles/user to other Oauth/SAML compatible apps protected by Caddy reverse proxy

Hi there
I know you can do OIDC/SAML as a forward auth provider, but I was wondering if caddy sec can pass a session backwards via OIDC/SAML
Im trying to avoid multple logins, just use the fantastic Caddy/Caddy Security login once (I know that's a Keycloak thing) .. I just like caddy because it's one stop shopping
It might be possible, I've successfully passed custom headers from the JWT token to automatically login certain compatible tools like cloudbeaver
https://github.com/dbeaver/cloudbeaver/wiki/Reverse-proxy-header-authentication
but most apps support OIDC/SAML .. and you can't just pass headers like that for a SSO.. ish behaviour without OIDC/SAML inbound as a forward_auth
Example apps, Superset/PGAdmin etc
I usually just disable the app accounts, and have users share one account, but ideally, id like to segregate them by caddy sec role, without the overhead of external Identity Provider (IdP) like Okta, Auth0
thanks in advance

@TedSheckler2021 , please reach out to me on LinkedIn and let's have Google Meet to discuss it.


Hi-perf Publisher, and unit tests

Decision needs about where to put the code in InGax.cs
Subscriber to follow later; integration tests to follow once Subscriber is in.

Looks like you need to run generateprojects.sh (after carefully making sure that won't destroy stuff) to satisfy AppVeyor. Will review code now though.


kernel/cpu: add safety comments

Add safety comments for the inline assembly blocks.
This is part of the effort to resolve https://github.com/coconut-svsm/svsm/issues/228 and enable undocumented_unsafe_blocks clippy lint.

Sorry, I accidentally merged this. It is already reverted, but please open a new PR with these changes and resume the discussions there.

Sorry, I accidentally merged this. It is already reverted, but please open a new PR with these changes and resume the discussions there.

Re-opened here #553


Make the app fail earlier (or not start at all) if the DB is down.

Also send an appropriate error message.
This issue was opened after a short discussion on #21 with @dougperkes.

Fixed by #24


key and blob are reserved words in MySQL, so everything fails: table creation, retrieval, etc.

Environment
unstorage 1.14.1
node v20.18.0
mysql 8.0.33
Reproduction
import { createDatabase } from 'db0'
import mysql from 'db0/connectors/mysql2'

const db = createDatabase(
  mysql({
    database: createDatabase(mysql({ uri: process.env.DATABASE_URL })),
  }),
)

Describe the bug
key and blob are reserved words and cannot be used in mysql without escaping them first.
It throws errors for example in this line of code:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARCHAR(255) NOT NULL PRIMARY KEY,
        value LONGTEXT,
        blob BLOB,

And errors in other places like this:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key = 'foo'' at line 1

Additional context
Column names can be escaped with the "`" character though it might be inconvenient in Javascript because it breaks template strings. Alternatively the columns can use other non-reserved words.
Logs
No response

Thanks for report.


chore(deps): update dependency rxjs to v6

This Pull Request updates dependency rxjs from v5.4.3 to v6.1.0

Release Notes
v6.1.0
Compare Source
Bug Fixes

audit: will not crash if duration is synchronous (#3608) (76b7e27), closes #2743
delay: fix memory leak (#3605) (96f05b0)

Features

isObservable: a new method for checking to see if an object is an RxJS Observable (edb33e5)

v6.0.0
Compare Source
Bug Fixes

audit: will not crash if duration is synchronous (#3608) (76b7e27), closes #2743
delay: fix memory leak (#3605) (96f05b0)

Features

isObservable: a new method for checking to see if an object is an RxJS Observable (edb33e5)

v5.5.10
Compare Source

v5.5.9
Compare Source

v5.5.8
Compare Source

v5.5.7
Compare Source

v5.5.6
Compare Source
Bug Fixes

Observable: rethrow errors when syncErrorThrowable and inherit it from destination. Fixes #2813 (541b49d)

v5.5.5
Compare Source
Bug Fixes

Observable: rethrow errors when syncErrorThrowable and inherit it from destination. Fixes #2813 (541b49d)

v5.5.4
Compare Source
Support Added

Bazel: Add files to support users that want Bazel builds with RxJS (12dac3b)

v5.5.3
Compare Source
Bug Fixes

Revert "fix(scheduler): prevent unwanted clearInterval (#3044)" (ad5c7c6)
Revert "fix(scheduler): prevent unwanted clearInterval (#3044)" (64f9285)
debounceTime: synchronous reentrancy of debounceTime no longer swallows the second value (#3218) (598e9ce), closes #2748
dependency: move symbol-observable into devdependency (4400628)
IteratorObservable: get new iterator for each subscription (#2497) (1bd0a58), closes #2496
Observable.toArray: Fix toArray with multiple subscriptions. (#3134) (3390926)
SystemJS: avoid node module resolution of pipeable operators (#3025) (0f3cf71), closes #2971 #2996 #3011
tap: make next optional (#3073) (e659f0c), closes #2534
TSC: Fixing TSC errors. Fixes #3020 (01d1575)
typings: the return type of project of mergeScan should be ObservableInput (23fe17d)

Chores

TypeScript: Bump up typescript to latest (#3009) (2f395da)

Code Refactoring

asap: Remove setImmediate polyfill (5eb6af7)
distinct: Remove Set polyfill (68ee499)
groupBy: Remove Map polyfill (74b5b1a)

Features

Observable: unhandled errors are now reported to HostReportErrors (#3062) (cd9626a)
reorganize: move ./interfaces.ts to internal/types.ts (cfbfaac)
reorganize: internal utils hidden (70058cd)
reorganize: add rxjs/create exports (c9963bd)
reorganize: ajax observable creator now exported from rxjs/ajax (e971c93)
reorganize: all patch operators moved to internal directory (7342401)
reorganize: export noop and identity from rxjs (810c4d0)
reorganize: export Notification from rxjs (8809b48)
reorganize: export schedulers from rxjs (abd3b61)
reorganize: export Subject, ReplaySubject, BehaviorSubject from rxjs (bd683ca)
reorganize: export the pipe utility function from rxjs (4574310)
reorganize: hid testing implementation details (b981666)
reorganize: move observable implementations under internal directory (2d5c3f8)
reorganize: move operator impls under internal directory (207976f)
reorganize: move top-level impls under internal directory (c3bb705)
reorganize: moved symbols to be internal (80783ab)
reorganize: operators all exported from rxjs/operators (b1f8bfe)
reorganize: websocket subject creator now exported from rxjs/websocket (5ac62c0)

BREAKING CHANGES

webSocket: webSocket creator function now exported from rxjs/websocket as websocket.
IteratorObservable: IteratorObservable no longer share iterator between
subscription
utils: Many internal use utilities like isArray are now hidden under rxjs/internal, they are implementation details and should not be used.
testing observables: HotObservable and ColdObservable, and other testing support types are no longer exported directly.
creation functions: All create functions such as of, from, combineLatest and fromEvent should now be imported from rxjs/create.
types and interfaces: Can no longer explicitly import types from rxjs/interfaces, import them from rxjs instead
symbols: Symbols are no longer exported directly from modules such as rxjs/symbol/observable please use Symbol.observable and Symbol.iterator (polyfills may be required)
deep imports: Can no longer deep import top-level types such as rxjs/Observable, rxjs/Subject, rxjs/ReplaySubject, et al. All imports should be done directly from rxjs, for example: import \{ Observable, Subject \} from 'rxjs';
schedulers: Scheduler instances have changed names to be suffixed with Scheduler, (e.g. asap -> asapScheduler)
operators: Pipeable operators must now be imported from rxjs
like so: import { map, filter, switchMap } from 'rxjs/operators';. No deep imports.
ajax: Ajax observable should be imported from rxjs/ajax.
Observable: You should no longer deep import custom Observable
implementations such as ArrayObservable or ForkJoinObservable.
_throw: _throw is now exported as throwError
if: if is now exported as iif
operators: Deep imports to rxjs/operator/* will no longer work. Again, pipe operators are still where they were.
error handling: Unhandled errors are no longer caught and rethrown, rather they are caught and scheduled to be thrown, which causes them to be reported to window.onerror or process.on('error'), depending on the environment. Consequently, teardown after a synchronous, unhandled, error will no longer occur, as the teardown would not exist, and producer interference cannot occur
distinct: Using distinct requires a Set implementation and must be polyfilled in older runtimes
asap: Old runtimes must polyfill Promise in order to use ASAP scheduling.
groupBy: Older runtimes will require Map to be polyfilled to use
groupBy
TypeScript: IE10 and lower will need to polyfill Object.setPrototypeOf
operators removed: Operator versions of static observable creators such as
merge, concat, zip, onErrorResumeNext, and race have been
removed. Please use the static versions of those operations. e.g.
a.pipe(concat(b, c)) becomes concat(a, b, c).

5.5.6 (2017-12-21)
Bug Fixes

Observable: rethrow errors when syncErrorThrowable and inherit it from destination. Fixes #2813 (541b49d)

5.5.5 (2017-12-06)
Support Added

Bazel: Add files to support users that want Bazel builds with RxJS (12dac3b)

5.5.4 (2017-12-05)
Bug Fixes

scheduler: resolve regression on angular router with zones (#3158) (520b06a)
publish: re-publish after having built with proper version of TypeScript. (f0ff5bc, closes#3155)

5.5.3 (2017-12-01)
Bug Fixes

concatStatic: missing exports for mergeStatic and concatStatic (#2999) (cae5f9b)
scheduler: prevent unwanted clearInterval (#3044) (7d722d4), closes #3042
SystemJS: avoid node module resolution of pipeable operators (#3025) (d77e3d7), closes #2971 #2996 #3011
typings: fix subscribe overloads (#3053) (1a9fd42), closes #3052

5.5.2 (2017-10-25)
Bug Fixes

package: fixed import failures in Webpack (#2987) (e16202d)
typings: improved type inference for arguments to publishReplay (#2992) (0753ff7), closes #2991
typings: ensure TS types for zip and combineLatest are properly inferred. (b8e6cf8)
typings: publish variants will properly return ConnectableObservable(#2983) (d563bfa)

5.5.1 (2017-10-24)
Bug Fixes

build: Remove module and es2015 keys to avoid resolution conflicts (5073139)
ajaxobservable: fix operator import path (d9b62ed)

v5.5.2
Compare Source
Bug Fixes

concatStatic: missing exports for mergeStatic and concatStatic (#2999) (cae5f9b)
scheduler: prevent unwanted clearInterval (#3044) (7d722d4), closes #3042
SystemJS: avoid node module resolution of pipeable operators (#3025) (d77e3d7), closes #2971 #2996 #3011
typings: fix subscribe overloads (#3053) (1a9fd42), closes #3052

v5.5.1
Compare Source
Bug Fixes

package: fixed import failures in Webpack (#2987) (e16202d)
typings: improved type inference for arguments to publishReplay (#2992) (0753ff7), closes #2991
typings: ensure TS types for zip and combineLatest are properly inferred. (b8e6cf8)
typings: publish variants will properly return ConnectableObservable(#2983) (d563bfa)

v5.5.0
Compare Source
Bug Fixes

build: CJS sourceMaps now inlined into sourcesContent (39b4af5), closes #2934

Features

publishReplay: add selector function to publishReplay (#2885) (e0efd13)

This PR has been generated by Renovate Bot.

Nice, a legit failure 👍


tune download should use HF_TOKEN env variable

Instead of passing in tune download --hf-token ...
I want to just do tune download ...
It's nit but tedious to pass in the token each time so HF makes available an env variable HF_TOKEN which I've set in my bashrc so I never have to think about it
https://huggingface.co/docs/huggingface_hub/en/package_reference/environment_variables
Tested on this commit git checkout 52e328337579e9b84ba7f2448b29a6de7c5d8db3 feel free to close if fixed on main

If not set, it grabs the token from env I think? https://github.com/pytorch/torchtune/blob/52e328337579e9b84ba7f2448b29a6de7c5d8db3/torchtune/_cli/download.py#L87 on your commit and on main
Very silly questions: echo $HF_TOKEN and python -c "import os; print(os.getenv('HF_TOKEN', None))" both work?

why not just use huggingface-cli login? I do that once and I never have to set HF_TOKEN again

Issue was an invalid token on my end. Sorry!


Bug: 5.7-rc7 cannot poll socket without same thread (task).

Currently in 5.7 release candidate, the socket cannot be polled without io_uring_enter in same thread which sent the socket request.
I have made a patch to address this problem. Please kindly review.
Thank you.
io_uring_poll.patch.txt

Please, send your kernel patches for io_uring to io-uring at vger.kernel.org,
that's where they should be.


OSError : Cannot open resource

I tried to generate barcode using graphical user interface made using pyqt5, it works when i run the script but when i made it as an application (.exe) when i try to generate it , it throws an traceback of
Traceback: (most recent call last)
 File "Bar.py" line 37, in <lambda>
 File "Bar.py" line 51, in testEan
 File "site packages\barcode\base.py" line 68 in save
 File "site packages\barcode\codex.py" line 261 in render
 File "site packages\barcode\base.py" line 111 in render
 File "site packages\barcode\writer.py" line 226 in render
 File "site packages\barcode\writer.py" line 356 in _paint_text
 File "site packages\PIL\ImageFont.py" line 648 in truetype
 File "site packages\PIL\ImageFont.py" line 645 in freetype
 File "site packages\PIL\ImageFont.py" line 193 in __init__
OsError : cannot open resource

My code is
import pkg_resources.py2_warn
from PyQt5 import QtCore, QtGui, QtWidgets
import barcode
from barcode.writer import ImageWriter
import shutil
import os

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(607, 503)
        self.pushButton = QtWidgets.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(-170, 220, 93, 28))
        self.pushButton.setObjectName("pushButton")
        self.horizontalLayoutWidget = QtWidgets.QWidget(Form)
        self.horizontalLayoutWidget.setGeometry(QtCore.QRect(130, 180, 311, 80))
        self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.lineEdit = QtWidgets.QLineEdit(self.horizontalLayoutWidget)
        self.lineEdit.setObjectName("lineEdit")
        self.horizontalLayout.addWidget(self.lineEdit)
        self.pushButton_2 = QtWidgets.QPushButton(self.horizontalLayoutWidget)
        self.pushButton_2.setObjectName("pushButton_2")
        self.horizontalLayout.addWidget(self.pushButton_2)
        self.pushButton_2.clicked.connect(lambda: self.testEan(self.lineEdit.text()))
        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.pushButton.setText(_translate("Form", "PushButton"))
        self.pushButton_2.setText(_translate("Form", "Generate"))

    def testEan(self, i):
        EAN = barcode.get_barcode_class('code128')
        s = '0' * (8 - len(str(i)) - 1) + str(i)
        ean = EAN(s, writer=ImageWriter())
        fullname = ean.save(str(i))
        QtWidgets.QMessageBox().about(QtWidgets.QWidget(), "Info", "Success")

if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())

### It works perfectly when i try to run it as a script but when i convert it to an standalone application it gives some error
OS           :  windows 10
Python       : 3.8.3
Pyinstaller  : 3.6
barcode      : 0.11.0

If it works with the official Python, then the problem isn't in python-barcode.
I've no idea how this "make it an exe" thing works, I assume you're using some tool to create this windows-specific package/bundle. You'd better follow their support channels to figure out why you're getting this error. Looking at the stacktrace, it seems that there's either some error loading Pillow, or that Pillow has some issue loading the font files. I'm mostly guessing here though.
I've never used this kind of tools, nor do I have any idea how these windows packages/bundles work, so I can't help.

like this is ok. you need copy DejaVuSansMono.ttf to fonts in your py directory .
image_writer = ImageWriter()
your DejaVuSansMono.ttf path
image_writer.font_path = os.path.join('fonts', 'DejaVuSansMono.ttf')
writer.py source code:
PATH = os.path.dirname(os.path.abspath(file))
self.font_path = os.path.join(PATH, "fonts", "DejaVuSansMono.ttf")
if use pyinstaller export exe , this PATH not found this ttf. reassign is ok.

adding the '--collect-data=barcode' to pyinstaller arguments fix the problem


Adding a wine setup script

Maybe we could add:
https://aur.archlinux.org/cgit/aur.git/tree/setup_dxvk.sh?h=dxvk-bin
To this repo.
If you agree, I can make a pull request.

This script originally came from here and got removed because once in a blue moon someone had unreasonable complaints about it.

What were those complains about?
Why did you choose to agree with that person?
The problem of not having such script that I'm finding is that each distro is using their own command for installing dxvk, so there's no consensus how it shall be named or how it shall behave.
So in exeCute I don't know which command to call.

You mean this: https://github.com/doitsujin/dxvk/pull/3097

@doitsujin Sorry, I feel this was a bad move.
This script is useful because it allows installing dxvk just with Wine, and more importantly in a standard way across distros.
Without it some distros now ship it anyways, others use their own script, and others skip it. So now you have no standard.

Closed as duplicate of https://github.com/doitsujin/dxvk/issues/3211.


refactor: To ensure telemetry is only enabled when both conditions are met.

Description
About #339. Based on my understanding of this issue, to ensure telemetry is only enabled when both conditions are met, thus avoiding unnecessary or incorrect configuration leading to resource waste or incorrect data collection, I believe we need to add a check for enableTelemetry being true in the if applicationInsightsID != ""{ and I want to change to 	if applicationInsightsID != "" && enableTelemetry {. But I'm not sure if my understanding is correct.
Related Issue
If this pull request is related to any issue, please mention it here. Additionally, make sure that the issue is assigned to you before submitting this pull request.
Checklist

[x] I have read the contributing documentation.
[x] I signed and signed-off the commits (git commit -S -s ...). See this documentation on signing commits.
[x] I have correctly attributed the author(s) of the code.
[x] I have tested the changes locally.
[x] I have followed the project's style guidelines.
[x] I have updated the documentation, if necessary.
[ ] I have added tests, if applicable.

Screenshots (if applicable) or Testing Completed
Please add any relevant screenshots or GIFs to showcase the changes made.
Additional Notes
Add any additional notes or context about the pull request here.

Please refer to the CONTRIBUTING.md file for more information on how to contribute to this project.

@Carpe-Wang this seems correct, can you test it and confirm the behavior is what we want?
Also need you to comment on #339 if you want it assigned to you 🙂

@microsoft-github-policy-service agree

@Carpe-Wang this seems correct, can you test it and confirm the behavior is what we want? Also need you to comment on #339 if you want it assigned to you 🙂

hey @rbtr, I had comment on #339, and I noticed #339 had assigned to me. I make some new commits about test the unit test successfully.

@Carpe-Wang can you sign all your commits please, thanks 🙂

Hey I have add GPG to commit.

@Carpe-Wang can you sign all your commits please, thanks 🙂

@nddq I have signed all my commits. I hope they meet your expectations. Please check them.

@Carpe-Wang seems like you missed a few commits

@Carpe-Wang seems like you missed a few commits
@nddq yeah, those commits were unverified because the email in my local Git configuration didn't match the email for GPG. So, I deleted them and updated the email in my local Git configuration. However, the final code is consistent.

@Carpe-Wang seems like you missed a few commits
@nddq yeah, those commits were unverified because the email in my local Git configuration didn't match the email for GPG. So, I deleted them and updated the email in my local Git configuration. However, the final code is consistent.

So what I meant is that we are looking for the Verified check across all commits, as you can see, some of them are missing that

My suggestion is that you could squash all the previous commit into a single one, sign it and the force push it to this branch 🙂 Let me know if you have any issue

@Carpe-Wang there are still unsigned commits, so we can't merge this yet 🥲

@Carpe-Wang as mentioned previously, all commits in a PR must be signed. As long as you have commits without a (Verified) badge on this page, this will not be mergeable due to signing policy.
The easy way to resolve this is to squash the 21 commits currently on your branch down to a single one. Do this via interactive rebase, eg: git rebase -i HEAD~21, leave the first one as "pick", change all the rest to "squash", and adjust the commit message appropriately.

@nddq Sorry, I've been a bit busy these days and didn't have enough time to handle it. I just did a reset --hard now. If this doesn't meet your merge requirements, I'll make the changes again.

@rbtr thank you for your comment. I haven't used rebase before. I tried a few times without much success because when I pushed, there were many commits that weren't mine. So, I opted to use reset --hard directly. Thank you for your guidance.


Update changes in main from Logiciel into Thunder

Description
This PR brings changes in main into thunder and in doing so integrates changes of Thunder with those in main so the system is integrated as a whole.
Type of change

[ ] Bug fix
[ ] New feature
[X] Refactoring
[ ] Documentation

Problem
Thunder had conflicts with main

I know this is a thunder thing, but since you can see the system integrated as a whole at this stage (before merging into thunder and then into main) I thought I'll get your opinions as well, Akshay, Richard and Vanessa, and make any changes necessary here instead of creating another branch to do so.


🚧Remove sealed from the reactable classes

Complete The Item Below

[X] I have updated the title without removing the 🚧 emoji.

Description
Remove the sealed keyword from the PushReactable and PullReactable classes.
This will allow more control for the user over the kind of data that can be used with the reactables.
An example would be high-performance scenarios.
Change the following PullReactable class methods to virtual:

Pull(Guid)
Pull(IMessage, Guid)

Change the following PushReactable class methods to virtual:

Push()
PushData(Guid)
PushMessage(IMessage, Guid)

Acceptance Criteria

[ ] Changes made to PushReactable class

[ ] Class set to sealed
[ ] Push() set to virtual
[ ] PushData(Guid) set to virtual
[ ] PushMessage(IMessage, Guid)  set to virtual

[ ] Changes made to PullReactable class

[ ] Class set to sealed
[ ] Pull(Guid) set to virtual
[ ] Pull(IMessage, Guid)  set to virtual

ToDo Items

[X] Change type labels added to this issue.  Refer to the Change Type Labels section below.
[X] Priority label added to this issue.  Refer to the Priority Type Labels section below.
[X] Issue linked to the correct project (if applicable).
[X] Issue linked to the correct milestone (if applicable).
[ ] Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

#59

Related Work
No response
Additional Information:
Change Type Labels

Change Type
Label

Bug Fixes
🐛bug

Breaking Changes
🧨breaking changes

New Feature
✨new feature

Workflow Changes
workflow

Code Doc Changes
🗒documentation/code

Product Doc Changes
📝documentation/product

Priority Type Labels

Priority Type
Label

Low Priority
low priority

Medium Priority
medium priority

High Priority
high priority

Code of Conduct

[X] I agree to follow this project's Code of Conduct.

Closed without changes
Result: Implemented in the issue below:

#59


Changing location interval or accuracy without restarting the listener

Please check the following before submitting a new issue.

[X] I have searched the existing issues.
[X] I have carefully read the documentation.

Please select for which platform(s) you need help

[X] Android
[ ] iOS
[ ] Linux
[ ] macOS
[ ] Web
[ ] Windows

Your question
Hi,
I'm trying to achieve something that should be possible with this plugin, but I'm not finding the way.
My app needs to get the user location at regular intervals (lets say 5 seconds), even when it goes to the background.
To keep the stream alive, even when in background, I tried two ways:

Using geolocator foregroundNotificationConfig
Using flutter_foreground_task package

And they both worked fine! The stream listener receives location updates even with the app on background.
HOWEVER...
I need my app to be more battery efficient, so I would like to set a different location interval when the app goes to the background.
But the only way to change the interval is to cancel the stream and start it again with different settings, and if I try to cancel and restart the stream while the app is on the background, it does not start sending locations until the app goes to the foreground again.
It is a big limitation, so I imagine I must be doing something wrong.
Also, I tested with another package (flutter location package) and I could change the interval while the app was on background (so its not an android limitation); but the location package is buggy and not well mantained, so I would rather continue using Geolocator if possible.
EDIT: The problem described only happens in Android 12+, It works as expected on lower versions.
Thanks for reading my long explanation.
Any help is highly appreciated.
Regards
Version
9.0.2

Hi @pamafe1976, thank you for reaching out with your question!
It is certainly an interesting idea to allow the listener to be updated instead of creating a new one, or to allow a new listener to be created and used from a background service.
You mention that your goal is to make your app more energy efficient. Reading through the Android docs, it seems that starting with Android 8.0 (API 26), the location polling frequency automatically gets limited to a few calls per hour when in the background. A link to the documentation is here: https://developer.android.com/about/versions/oreo/background-location-limits.
I am wondering if this suits your needs already. Or are you experiencing different behavior?

Hi @JeroenWeener,
I could, after several different attempts make it work as I intended.
My idea was that when the user is actively using the app (app in the foreground), the location is retrieved every 3 seconds with high accuracy; when the user switches to other app, or turns off the screen, the app becomes paused or iddle and the foreground service keeps the location polling alive, but lowers the interval to about 20 seconds.
There is a third situation, when the user opens the app but is not in the reference zone (out of the map) that the interval is even higher and the requested accuracy low.
I could not solve this with the geolocator itself, since each time you have to change settings, it restarts its own foreground service, and in Android 12+ this is not allowed while in background. So when the user switches app, or turns off screen, the app goes to the background, the listener is recreated and it is not started again until the app is on foreground again.
I managed to solve it by putting the geolocator position stream listener inside a flutter_foreground_task. This foreground task is never stopped, and the  getPositionStream is called without ForegroundNotificationConfig, so it does not create any service.
When the app is minimized, I just call a routine inside the ForegroundTask that cancels the stream and starts a new one, and this starts sending positions immediately.
The downside is that with this approach the geolocator stream is inside the TaskHandler of the ForegroundService created using flutter_foreground_task, so I have to send each new position to the app using a port.
Regards

Hi @JeroenWeener,
Can you please specify what additional information do you require about this issue?
Regards

Hi @pamafe1976,
Unfortunately updating the location filter settings is not supported by the native Android SDK. Which means the only way to accomplish this would be to stop the existing stream and start listening to a new stream with the updated settings.
Of course we could do this internally in the Geolocator's implementations, however this might result into unwanted behaviour for other customers. Therefore we think it is best to allow developers to stop and start the stream themselves and have full control.
To detect if the flutter app is moved to the background, you can override the didChangeAppLifecycleState (see documentation) method and use it to restart the location stream with the appropriate configuration.
Hope this helps, I will go ahead and close this issue for now. Please leave a comment if I misunderstood the problem and I would be happy to look into it again.

Hi @mvanbeusekom,
As I mentioned in my previous post, that approach works ok if you restart the geolocator stream from a foreground service created using a package such as flutter_foreground_task, but now if you use geolocator own foreground service.
Regards


Fix error due to Flixel 5.0 removing zoom from FlxGame

https://github.com/ShadowMario/FNF-PsychEngine/pull/11388


Semantic IDs for Background

First of all thanks for such a great job.
I have a problem with generating semantic images using the ReplicaCAD dataset.
Backgrounds such as the ground, walls and cabinets in the semantic image do not get any semantic id.
Is there any way to distinguish different categories of backgrounds?

Hey @BIT-DYN,
You are correct that ReplicaCAD objects have semantic ids assigned, but the stage does not. Adding annotations here isn't on our current development roadmap.
One method for you to add them would be to bake the semantic ids into per-vertex colors in the stage .glb assets. You could paint these or manually assign them in Blender. Best bet is to create a separate semantic asset with these colors baked in.
Alternatively, you can assign semantic ids to any SceneNode programmatically (see the docs). If you knew which nodes in the SceneGraph corresponded with particular objects this could be done at scene load time per-stage.


[Don't Merge] Test airflow-2.5.2rc2

Description
What is the current behavior?

What is the new behavior?

Does this introduce a breaking change?
Checklist

[ ] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

Tests ran fine. closing it.

Test succeeded. closing it. https://github.com/astronomer/astro-sdk/actions/runs/4412422326/


Fix documentation typos and code blocks indentation

Thanks for the Pull Request! This is now merged into master :)


Add Http Trace Propagation and implement extract and inject methods in ThundraTracer

Pull Request Test Coverage Report for Build 237

0 of 0   changed or added relevant lines in 0 files are covered.
63 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-0.7%) to 65.252%

Files with Coverage Reduction
New Missed Lines
%

dist/plugins/Trace.js
9
88.27%

dist/opentracing/Span.js
12
75.86%

dist/opentracing/Tracer.js
13
77.33%

dist/plugins/integrations/HttpIntegration.js
29
11.11%

Totals

Change from base Build 234:
-0.7%

Covered Lines:
1400

Relevant Lines:
1976

💛  - Coveralls


Multiple words can be in play at once

I will need steps to reproduce this issue

fixed this issue in the latest cofixed this issue in the latest commitmmit


MINOR: add missing parameter processing.guaratees to Streams docs

More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

\cc @bbejeck @vvcephei @joel-hamill

Needs cherry-pick to 1.1, 1.0, and 0.11 branches.

Merged to trunk and cherry-picked to 1.1 and 1.0 -- no need to cherry-pick to 0.11 because this section does not exist there.


[Help] RaidBoss Timeline & Text Alerts Separation

RaidBoss works however my Timelines and Test Alerts are stacked.  In the screenshot I see Text in the middle while Timelines are off to the side.  I want mine like this but can't figure out how to do that.  Can I get some help with this? Thanks.

Yeah, let me try to explain what you need to do.  You can get this by unlocking the overlay (so that there's a blue background and the test timelines appear), then resizing the plugin (by clicking and dragging the lower right corner of the overlay), and then relocking the plugin again.
Let me know if that's not clear or if that's not what you're looking for.  :)

I made a quick little video using your instructions. You can find it at https://i.imgur.com/N7xbEbj.mp4. The video assumes the user has already gotten the plugin installed and the overlay setup.

Yeah quisquous was enough to understand.  I though tthere was a way to make them 2 separate items.  Still not crazy for the placement but hey, it is what it is. =)

You can make them separate with a user/raidboss.css file and use some css to adjust where the timeline vs the triggers are, if you have some other preference.

I was able to get exactly what I wanted by editing the .css and changing
#timeline-container {   position: absolute;   top: 0px;   left: 0px; .....
to
#timeline-container {   position: fixed;   bottom: 0px;   left: 0px; .....
Real simple fix.

:+1:
Glad you got it sorted!  I would recommend pasting that block into your cactbot/user/raidboss.css file and not directly editing cactbot/ui/raidboss/raidboss.css, which will get overwritten in the next update.


ItemsControl / ListBox Issues Roll-up

Describe the bug
This is a Roll-up of Issues
Over the months the new ListBox and ItemsControl with many virtualization improvements has been put to the test. There are still some open issues with this group of controls after the rewrite that I want to summarize here. These issues are severe enough in some cases to prevent usage in production apps and also did not exist in the 0.10 version which performed almost flawlessly in general use (without virtualization).

[x] Virtualization is broken and items are not positioning correctly. It is believed some of these issues visible in the ItemsControl come from the VirtualizingStackPanel itself.

~#12432 removed as it relates more to render transform usage~
https://github.com/AvaloniaUI/Avalonia/issues/12744
https://github.com/AvaloniaUI/Avalonia/issues/13607#issuecomment-1823301673
Closed in PR #13765 👍

[x] n-th child selector does not update correctly when changing bound collections or switching items source or even scrolling in the worse-case

https://github.com/AvaloniaUI/Avalonia/issues/12381
Closed in PR #13770

[ ] ObservableCollection changes are not picked up and processed correctly. It seems to corrupt the state in some cases if the bound collection is cleared/reset OR items are added/remove.
[ ] Changes in an item view model that raise property changed events will not always update the UI (within an ObservableCollection bound to a ListBox for example)

If a child item type implements INotifyPropertyChanged and is within an ObservableCollection, any changes to the child are NOT applied to the ItemsControl. This is a problem if the app is recycling it's own content and re-using existing item instances within an existing ObservableCollection and just applying new property values.

[ ] Switching ItemsSource does not always reset state without setting to null first

https://github.com/AvaloniaUI/Avalonia/issues/11846

[ ] Selection / Focus has some broken/missing edge cases

https://github.com/AvaloniaUI/Avalonia/issues/11666
https://github.com/AvaloniaUI/Avalonia/issues/11878
https://github.com/AvaloniaUI/Avalonia/issues/12733
https://github.com/AvaloniaUI/Avalonia/issues/13676

Other

https://github.com/AvaloniaUI/Avalonia/issues/11531
https://github.com/AvaloniaUI/Avalonia/issues/12185

Expected behavior
Everything should work as well as WPF and 0.10.
Additional context
This is a rough issue for now. There are many different issues and this is a first attempt to start bringing them all together and make sense of it. Expect this issue to change quite a bit and things are narrowed down and better understood. As I find better bug reports those will be linked in as well.
See individual issues and discussions for more details.

Thanks for putting this together @robloo ! I hope to start looking into this issues next week.

@grokys I'm glad I can help a little. Great work with these controls!

ObservableCollection changes are not picked up and processed correctly. It seems to corrupt the state in some cases if the bound collection is cleared/reset OR items are added/remove.

Do we have a simple repro for this anywhere?

Not that's I've seen in the bug reports. This is just a general impression I've get and I've seen it with internal apps as well. I'll spend some time to try and find an exact repro.

I'm attempting to isolate some repro for these narrowed cases:

ItemsSource changing references in the view model (i.e. set a new ObservableCollection to the property bound to ItemsSource)
There have been a few different reports of issues here and I've seen some cases myself. However, I can't repro it in a simple test case. There is still an open bug report for somethin related though: https://github.com/AvaloniaUI/Avalonia/issues/11846

Adding/Removing items from an existing ObservableCollection isn't displaying correctly in the UI.
This one I'm not 100% sure is a stand-alone issue. It could be related to older issues and the VirtualizaingStackPanel fixes already made. Because I'm not sure this is a real problem I'm going to ignore it without further information. Also note I cannot repro it in a simple test case.

Changing existing view models within an existing observable collection (recycling).
I've seen issues with this in a real app and there are some other bug reports and comments I've seen to indicate it's a problem. For example it might be related to this somehow: https://github.com/AvaloniaUI/Avalonia/issues/13751. However, I also cannot repro this in a simple case. I will attempt to isolate it more in the actual app.
Also note that UWP/WinUI marshalled INotifyPropertyChanged automatically to the UI thread in the case of bindings and things. I don't think Avalonia does that. This MAY be a contributor as code I'm working with was ported so this type of thing can be hard to find after the fact. I'm attempting to confirm all UI updating code paths are getting run on the UI thread.
A takeaway here is if Avalonia does not automaticaly marshel INotifyPropertyChanged to the UI thread for binding perhaps it should and that could be done with the binding refactoring.

Bottom line, don't waste your time on the points I can't confirm. Those were general categories of issues I thought there were problems but it needs to be understood more.

To add: https://github.com/AvaloniaUI/Avalonia/issues/13751

#14389 #14365

Another one: #14718

adding https://github.com/AvaloniaUI/Avalonia/issues/14814

yet another: https://github.com/AvaloniaUI/Avalonia/issues/15194
@robloo we may want to update the check-list the other day to reflect current status better.

Unfortunately, some of my app's ComboBoxes are experiencing this when I upgraded to Avalonia 11.1.1 (which I had to, due to other bugs in v10) so now I'm stuck :( Any update on the 2 remaining unchecked items?


chore: rename Finset.powersetLen to powersetCard

I don't understand why this was ever named powersetLen, there isn't even the notion of the length of a Finset/Multiset.

Thanks!
bors r+


Issue 36 convert posts from 2012

I have checked in on the netlify "preview" and most of them look pretty good so...
Great job again :joy: :+1:

Gracias, Juan!


Tests for Property Existance with Renaming

This issue was imported from Closure Compiler's previous home at http://closure-compiler.googlecode.com
The original discussion is archived at:
https://blickly.github.io/closure-compiler-issues/#983

This is now possible with goog.reflect.objectProperty.
console.log(goog.reflect.objectProperty('foobar', window) in window);


Flutter is Declarative, but sadly not always.

Use case
I want control of my PageRoute as I push it, but I can't because controller is @protected in the TransitionRoute.
Example use case would be:

Many apps have a Notification button on the top right of the screen, but in order to make it easier they let users swipe left to get to the Notification Screen instead of reaching for the button.

Proposal

My Heart tells me the ideal way of Developing this in Flutter (Declarative):

onHorizontalDragStart - push the route with a controller.value of 0.1
onHorizontalDragUpdate - update route's controller.value
onHorizontalDragEnd - decide if I should push or pop

I wish everything in Flutter was the "Flutter Way" - More Control.
p.s DraggableScrollableSheet suffers from this issue as well. We don't have any control of it. Please give us more control of our widgets, please!

@icnahom
listening to dragupdate and manually updating the controller (that you are asking to have access to)
doesn't seem declarative to me, but very much imperative
are you using navigation 2.0 ?
can you provide a minimal reproducible code sample?

Hi @icnahom
Agree with @iapicca, can you please provide more details and a code sample to show what limitations you're facing, explain your proposal in detail
Thank you

@iapicca you're right. A video I saw on YouTube had me to miss understand declarative way of programming. Sorry!
@iapicca Currently I have implemented my own Stack, SlideTransition, GestureDetector, AnimationController and WillPopScope. Everything is working. But this is a work-around, and I feel like I didn't have to include all these extra lines in my codebase if I had access to the controller and had the ability to tell what to Navigator do. Like passing my own controller and pushing that route the way I wanted it.
Question to Taha and iapicca:
I want to see how you think this should be done? If one wanted to slide a new page in from the side.

Hi @icnahom
To me this looks very custom, not everybody needs this control or should have,  this could be a package and anybody can use it to get the same results.
What are your thoughts? @iapicca

@TahaTesser
in my opinion exposing the controller in TransitionRoute is dangerous and against Unidirectional Data Flow pattern

regardless the use case I'm against it
You're against a very common UX practice amongst many popular apps?

I know, and that's why Flutter allows us to provide our own controller in some places. That's the reason I love the Flutter Framework so much!
Who likes including a package for every controlless widget in Flutter? No one.


[Finance Role] Invoice Table on Project Page

Description
As finance I need to know the vendor name, date of when the invoice has been submitted, the period of performance, the amount on the invoice, and the invoice status (ie approved by program staff), and name of the Lead

[ ] We will check with Finance which default sorting order do they prefer.
[ ] Add sorting to date, Lead, and dollar amount columns, and perhaps status

@di @sandeepsajan0 I guess it is here OTF want US date format?
If that is the case I propose the following:

Create a list of the places where OTF need US date format (maybe only here?)
Create a new date format setting with a logical name. (INVOICE_SHORT_DATE_FORMAT or PROJECT_SHORT_DATE_FORMAT or something better?)
If the new date format setting is not set Hypha uses the Django date settings as now.
If the new date format setting is set Hypha uses it for the specific pages/views (see 1).


Update README.md

I have read the CLA Document and I hereby sign the CLA

It worked when opening a PR to master.


Update TwigTag to make it compatible with TemplateTag

Update TwigTag to make it compatible again with TemplateTag. See https://github.com/Setono/SyliusTagBagPlugin/issues/12.

Because TwigTag is not final this could be considered a Breaking Change.


Unbound image subresources

We should remove the use of Range in image::SubresourceLayers and image::SubresourceRange, and instead pass count of layers/mipmaps as Option<NonZero>.  This would correspond to VK_REMAINING_ARRAY_LAYERS and VK_REMAINING_MIP_LEVELS in vulkan. We could also take this opportunity to refine the terms used for fields and comments.

Hi, just to let you know I've started working on this :+1:

@hgallagher1993 I assume the issue is up for grabs again

@kvark I did completely forget about it but I started looking into this again about 2 weeks ago (it's how I found #3319 😄), I was using the reftests just to make sure everything was compiling and working so with that fix merged I plan on working on this again today. I mostly have this finished from a couple of months ago so it shouldn't take me too long I don't think.

Oh that's wonderful news! looking forward to it - this is our last blocker, pretty much.

@hgallagher1993 did you get anywhere with this?

@kvark sorry for the late reply I was traveling to my home country all day yesterday. I had actually pretty much finished this I think but running cargo run --bin quad --features dx12 on Windows leads to 20 compile errors (unrelated to my changes) so before creating the merge request for this I was going to look into fixing them as well just so I could have everything compiling properly

@kvark created the issue for the compile failures here #3334


In light mode the headings are not clearlt visible

Describe the bug

In light mode the headings are not clearlt visible.
Expected behavior

It should be clearly visible.
Screenshots (Mandatory)

Additional context (Mandatory )
Are you contributing under any open-source program ?

Yes I am contributing under GSSOC24

sir i am working on this issue

@agastya3636 now you are assigned.


Update link to new Ping Identity docs delivery system

Ping Identity docs migrated to a new system on Dec 18. Submitting this update, which should remain for a long time.

@billmath
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

I found other updates that should be made. Closing this PR and will submit a new PR from my github account after I've verified the changes internally at Ping Identity.


Show latest git commit hash in exam programming exercise

Is your feature request related to a problem?
When submitting programming exercises in exams, it is, by context, not entirely clear what the latest submission built on the server is based upon - especially as you (of course) don't really get feedback during the exam.
In the regular (homework) exercises, you have the submit history as context, in programming exams though, you don't.
Describe the solution you'd like
As a reassurance to having the submission accepted by the server, how about listing the latest accepted commit hash on the exam page?
A quick git log to check whether the latest commit has been successfully processed would help the UX as a student, especially while looking through the exam at the end to verify your own solution.
Additional context
The commit hash is currently only shown after the exam was submitted, but not while working on it.

You can already look into Bitbucket whether your submission (or commit+push) was accepted

That is true, and a viable option if you have the time - but seeing as the server already has access to that data, would it be possible to list it on the exam page in Artemis as well?
Opening Bitbucket, locating the correct project and repository and then checking the commit history is likely more steps than viable for a quick check in the stressful context of an exam, especially if the student's Bitbucket account has many repositories associated with it from other Artemis-using courses.

We could display it, but we also would like to keep the user interface clean and simple. And there is already a lot of different information displayed on the page and there are many different buttons.
One option would be to show it in the result dialog

One option would be to show it in the result dialog

That sounds like a good solution - As a modal or hover-tooltip over the result/"Build failed" indicator would also be where I as a submitting student/user would look and expect it, yes.


dcos cluster deployed fail in Azure China

Hi guys,
I used acs-engine to generate acs template and deploy to China, while at the last step, it showed the following information:
info:    Resource 'dcos-agentpublic-nsg-31045692' of type 'Microsoft.Network/networkSecurityGroups' provisioning status is Succeeded
info:    Resource 'dcos-agentprivate-nsg-31045692' of type 'Microsoft.Network/networkSecurityGroups' provisioning status is Succeeded
error:   connect EAGAIN <IP_ADDRESS>:443 - Local (<IP_ADDRESS>:17141)
error:   Error information has been recorded to /home/steven/.azure/azure.err
error:   group deployment create command failed
/home/steven/.azure/azure.err file details:
2016-11-19T16:13:31.024Z:
{ [Error: connect EAGAIN <IP_ADDRESS>:443 - Local (<IP_ADDRESS>:17141)]
stack: [Getter/Setter],
code: 'EAGAIN',
errno: 'EAGAIN',
syscall: 'connect',
address: '<IP_ADDRESS>',
port: 443,
__frame:
{ name: '__1',
line: 79,
file: '/usr/local/lib/node_modules/azure-cli/lib/commands/arm/group/group.deployment.js',
prev:
{ name: '__1',
line: 52,
file: '/usr/local/lib/node_modules/azure-cli/lib/commands/arm/group/group.deployment.js',
prev: undefined,
calls: 2,
active: false,
offset: 26,
col: 24 },
calls: 96,
active: false,
offset: 2,
col: 44 },
rawStack: [Getter] }
Error: connect EAGAIN <IP_ADDRESS>:443 - Local (<IP_ADDRESS>:17141)
<<< async stack >>>
at __1 (/usr/local/lib/node_modules/azure-cli/lib/commands/arm/group/group.deployment.js:81:45)
at __1 (/usr/local/lib/node_modules/azure-cli/lib/commands/arm/group/group.deployment.js:78:25)
<<< raw stack >>>
at Object.exports._errnoException (util.js:907:11)
at exports._exceptionWithHostPort (util.js:930:20)
at connect (net.js:865:16)
Could you please share any ideas to help on that? Thanks a lot!

It seems the default mirror issues, how can I download everything from https://dcosio.azureedge.net/dcos/testing? It seems that I can't access that directly. I want to make a mirror in China. Thanks a lot!

Deployed successfully using my mirror, open another case to see how we can using customized URL besides manually change that.


[Trigger character completion] Ruby @ is not auto-completing even though it is a trigger character

Hello completion-nvim team,
I am a current LSC user that is looking at Neovim LSP + completion.nvim. LSC is a Vim/Neovim LSP client written in Vimscript.
On issue I notice is that @ character in Ruby is not auto-completing in completion-nvim whilst in LSC it does.
Initially I created Neovim issue 12997 but I ended up closing it and have opened up this one instead.
Initially I thought Neovim LSP was not negotiating triggerCharacters from the language server, but turns it does according to:
:lua print(vim.inspect(vim.lsp.buf_get_clients()[1].server_capabilities.completionProvider.triggerCharacters))

I get { ".", ":", "@" } which is the same set of characters that LSC negotiates. Notice the @ character.
Minimal init.vim that exhibits the issue:
call plug#begin('~/.vim/plugged')
Plug 'neovim/nvim-lspconfig'
Plug 'nvim-lua/completion-nvim'
call plug#end()

lua <<EOF
local nvim_lsp = require'nvim_lsp'
local completion = require'completion'

local lsp_on_attach = function(client)
  completion.on_attach(client)
  print("LSP started.")
end

nvim_lsp.solargraph.setup {
  on_attach = lsp_on_attach,
}
EOF

The Ruby Solargraph language server needs to be installed.
Minimal Ruby file that exhibits the issue (needs to be inside a Git repository directory):
class FooBar
  def initialize
    @hello = "hello"
  end

  def baz
    @<<CURSOR-HERE>>
  end
end

foo = Foobar.new

Notice the <<CURSOR-HERE>> position.
With LSC client I get this auto-completion result:

With Neovim LSP + completion-nvim I get no auto-completion:

Maybe a configuration issue? Maybe not.
It would be appreciated if we can resolve this since it does seem a regression compared with current Vimscript LSP clients such as LSC.
Best regards.

Hey, did you have any chance to look at this ?
I know that what you want is having this autoatically, but maybe there is a way to sync the server triggerCharacters and those mentionned above.

@vigoux,
I have experimented with that option. It makes no difference. @ is not completing in completion-nvim even if I hard code it in g:completion_trigger_character.
Note, I now believe that the server triggerCharacters are correctly being negotiated by Neovim LSP as noted by:
:lua print(vim.inspect(vim.lsp.buf_get_clients()[1].server_capabilities.completionProvider.triggerCharacters))

For Ruby it lists: { ".", ":", "@" }.
So I think the trigger characters are being collected correctly. But something is not working correctly in terms of automatically completing after a trigger character has been typed in insert mode.
The comparison is against LSC which does automatically complete after the @ trigger. For those interested, this is my LSC configuration and this is my Neovim LSP + completion-nvim configuration.
Best regards.

This doesn't look right... I'll look into this.

Thanks @haorenW1025.
If there are any tests or experiments you need me to run, I will be more than happy to assist.

I'm having trouble setting up solargraph... It doesn't seems to load up even if I'm in a git repository... Do I have to add some extra configuration to get that working? Sorry I've never worked in Ruby before..

It may be better to check out a proper Ruby on Rails repository.
Checkout my toy Rails application: https://github.com/bluz71/platters
Then create the test Ruby file from above inside the base of that checked out Rails application. Your Solargraph may be looking for a Gemfile.
If that still doesn't work then run bundle install at the base directory of platters. I suspect this step isn't needed.
We want to get a reproducable test case for you.
We even need to get LSC working for you (maybe, maybe not).

Also run these commands inside the platters directory:

solargraph download-core

solargraph bundle

Note, I install Solargraph via gem install solargraph (not via nvim-lspconfig).

Thanks for the guide. I can reproduce the issue now:)

The first thing I've noticed is the completion doesn't work even if you use the omnifunc complete of built-in lsp. So this issue should only be fixed in the core repository. I'm guessing that the matching function below doesn't match the @ character therefore the completion doesn't work.
local textMatch = vim.fn.match(line_to_cursor, '\\k*$')

@haorenW1025,
Thanks for looking into this.
Ok, we need to alert Neovim upstream of this issue.
Probably best that I reopen Neovim 12997. Your participation over there in that issue will be appreciated.
We really want to fix this issue since it really does impact users, basically completions from certain trigger characters is not working. It is a Neovim LSP bug.

Neovim 12997 has been re-opened.
It is like a game of tennis, first Neovim, then completion.nvim, back to Neovim.
Should we close this issue? I suspect yes.

This is an upstream Neovim LSP <—> Solargraph issue.
Closing this issue.


proxy for virtual host

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report  <!-- Please search GitHub for a similar issue or PR before submitting -->
[ ] Feature request
[ ] Documentation issue or request
[ ] Other: <!-- Please describe: -->

Current behavior
live-server use proxy-middleware for proxy.
However, it use preserveHost:
https://github.com/ritwickdey/vscode-live-server/blob/4f51bb70e4a8c25fb349776c3ef64f4470f3ed42/lib/live-server/index.js#L255
when proxyUri is a virtual hosting, proxy will not work! see: header: host

Expected behavior

Environment
Browser:

- [ ] Chrome (desktop) version XX
- [ ] Firefox version XX
- [ ] Safari (desktop) version XX
- [ ] IE version XX
- [ ] Edge version XX

For Tooling issues:

- Live Server: <!-- Check which version is installed -->
- Platform:  <!-- Mac, Linux, Windows -->
- Visual Studio Code: <!-- `code --version` -->

Others

same with:
https://github.com/ritwickdey/vscode-live-server/issues/123
https://github.com/ritwickdey/vscode-live-server/issues/605

We can make it configurable.

does this fixed release?


check some results to prevent NullPointerExceptions

in our system we have to generate indicies on the fly which get the same entity class mapped to. This also means that basically every query can fail with an index_not_found_exception.
There might be even more places where those exceptions might occur, but those handle all known operations on spring data repositories with auto generated query methods using the @Query annotation

@karolherbst Thanks for your contribution. Can you add some unit test to validate this new implementation ?

yeah, will do it next week

Hi @karolherbst , did you have few minutes to finalise this fix ?

@VanRoy sadly no and next week I am on vacation. I still plan to do this, but time is currently a little limited at work here, sorry.

I am using version 1.0.2.RELEASE. Could you make a hot fix for this version too?

Integrated in release 2.3.1
Thanks for your help.


Claims are not being passed to resource after update to 2.0.0rc1-update1 - using Asp.net Identity

I updated to 2.0.0rc1-update1 and claims stopped being passed into resource API. I am using asp.net Identity.
Authentication is ok, I log in.
Then when I try to save something into database, I use sub claim to save the row for logged in user.
This is the method and the object ClaimsPrincipal has no claims:

I've checked jwt tokens - OK
I've checked profile service - OK
I've checked logs - OK (appended bottom)

Another thing I thought token is not passed to API, as you can see here, it is trying to access log in controller for authorization(API port is 5002):

But token is sent as seen in Fiddler request, but it still thinks it's not authorized:

My set up in Identity server is as following:
        public void ConfigureServices(IServiceCollection services)
        {

            services.AddDbContext<ApplicationDbContext>(options =>
                options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

            services.AddAuthentication();

            services.AddIdentity<ApplicationUser, IdentityRole>()
                .AddEntityFrameworkStores<ApplicationDbContext>()
                .AddDefaultTokenProviders()
                .AddIdentityServer();

            services.AddCors(options =>
            {
                options.AddPolicy("CorsPolicy",
                    builder => builder.WithOrigins(Configuration.GetSection("HostSettings:WebAppClientUrl").Value.ToString())
                    .AllowAnyMethod()
                    .AllowAnyHeader()
                    .AllowCredentials());
            });

            services.AddMvc();

            services.AddIdentityServer()
                .AddInMemoryClients(Config.GetClients(Configuration.GetSection("HostSettings:WebAppClientUrl").Value.ToString()))
                .AddInMemoryIdentityResources(Config.GetIdentityResources())
                .AddInMemoryApiResources(Config.GetApiResources())
                .AddAspNetIdentity<ApplicationUser>()
                .AddProfileService<ProfileService>()
                .AddSigningCredential(Certificate.GetCertificate(_environment, Configuration.GetSection("CertificateSettings:Thumbprint").Value.ToString()));

            ConfigureDependencyInjection(services);

            // Register the Swagger generator, defining one or more Swagger documents
            services.AddSwaggerGen(x =>
            {
                x.SwaggerDoc("v1", new Info { Title = "App API", Version = "v1" });

                //Set the comments path for the swagger json and ui.
                var basePath = PlatformServices.Default.Application.ApplicationBasePath;
                var xmlPath = Path.Combine(basePath, "IdentityServer.xml");
                x.IncludeXmlComments(xmlPath);
            });
        }

        public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
        {
            //todo this should cofigured via env:...
            loggerFactory.AddConsole(LogLevel.Debug);
            app.UseDeveloperExceptionPage();

            app.UseCors("CorsPolicy");

            app.UseIdentityServer();
            app.UseAuthentication();

            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });

            // Enable middleware to serve generated Swagger as a JSON endpoint.
            app.UseSwagger();

            // Enable middleware to serve swagger-ui (HTML, JS, CSS etc.), specifying the Swagger JSON endpoint.
            app.UseSwaggerUI(x =>
            {
                x.RoutePrefix = "docs";
                x.SwaggerEndpoint("/swagger/v1/swagger.json", "API V1");
            });
        }

And API resource set up:
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {

            services.AddDbContext<ApplicationDbContext>(options =>
                options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

            services.AddIdentity<ApplicationUser, ApplicationRole>()
                .AddEntityFrameworkStores<ApplicationDbContext>()
                .AddDefaultTokenProviders();

            services.AddCors(options =>
            {
                options.AddPolicy("CorsPolicy",
                    builder => builder.WithOrigins(Configuration.GetSection("HostSettings:WebAppClientUrl").Value.ToString())
                        .AllowAnyMethod()
                        .AllowAnyHeader()
                        .AllowCredentials());
            });

            services.AddAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme)
                .AddIdentityServerAuthentication(x =>
                {
                    x.Authority = Configuration.GetSection("IdentityServerSettings:Host").Value;
                    x.AllowedScopes = new List<string> { "Api" };
                    x.ApiSecret = "ApiSecret";
                    x.ApiName = "Api";
                    x.SupportedTokens = SupportedTokens.Both;
                    x.RequireHttpsMetadata = false;

                });

            services.AddAuthorization();

            ConfigureDependencyInjection(services);

            // Register the Swagger generator, defining one or more Swagger documents
            services.AddSwaggerGen(x =>
            {
                x.SwaggerDoc("v1", new Info { Title = "App API", Version = "v1" });

                // UseFullTypeNameInSchemaIds replacement for .NET Core
                x.CustomSchemaIds(y => y.FullName);

                ////Set the comments path for the swagger json and ui.
                //var basePath = PlatformServices.Default.Application.ApplicationBasePath;
                //var xmlPath = Path.Combine(basePath, "Api.xml");
                //x.IncludeXmlComments(xmlPath);
            });

            // Add framework services.
            services
                .AddMvc()
                .AddFluentValidation(x => x.RegisterValidatorsFromAssemblyContaining<CreateViewModelValidator>());

            services.AddMvcCore()
                .AddJsonFormatters(x => x.Converters.Add(new StringEnumConverter()));

            // Add di framework
            var container = new Container(new DependencyInjectionRegistry());
            container.Populate(services);

            services.AddAutoMapper(cfg => cfg.ConstructServicesUsing(container.GetInstance));
            Mapper.AssertConfigurationIsValid();

            return container.GetInstance<IServiceProvider>();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            app.UseCors("CorsPolicy");

            // Enable middleware to serve generated Swagger as a JSON endpoint.
            app.UseSwagger();

            // Enable middleware to serve swagger-ui (HTML, JS, CSS etc.), specifying the Swagger JSON endpoint.
            app.UseSwaggerUI(x =>
            {
                x.RoutePrefix = "docs";
                x.SwaggerEndpoint("/swagger/v1/swagger.json", "API V1");
            });

            app.UseStaticFiles();

            app.UseAuthentication();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    "default",
                    "{controller=Default}/{action=Index}/{id?}");
            });
        }

Logs:
IdentityServer> [11:43:12 DBG] Token validation success
IdentityServer> {
IdentityServer>   "ValidateLifetime": true,
IdentityServer>   "AccessTokenType": "Reference",
IdentityServer>   "ExpectedScope": "openid",
IdentityServer>   "TokenHandle": "19a8ffd69760c8979299ce6f0e4f7d8cbec4a40b3c7b278f12ff3adf1208bc73",
IdentityServer>   "Claims": {
IdentityServer>     "iss": "http://localhost:5001",
IdentityServer>     "nbf":<PHONE_NUMBER>,
IdentityServer>     "exp":<PHONE_NUMBER>,
IdentityServer>     "aud": [
IdentityServer>       "http://localhost:5001/resources",
IdentityServer>       "Api"
IdentityServer>     ],
IdentityServer>     "client_id": "angular2client",
IdentityServer>     "scope": [
IdentityServer>       "openid",
IdentityServer>       "profile",
IdentityServer>       "Api"
IdentityServer>     ],
IdentityServer>     "sub": "9b92e298-a027-4c1b-96ce-c060db7dc4b0",
IdentityServer>     "auth_time":<PHONE_NUMBER>,
IdentityServer>     "idp": "local",
IdentityServer>     "amr": "pwd",
IdentityServer>     "preferred_username"<EMAIL_ADDRESS>IdentityServer>     "email"<EMAIL_ADDRESS>IdentityServer>     "email_verified": false
IdentityServer>   }
IdentityServer> }
IdentityServer> [11:43:12 DBG] Creating userinfo response
IdentityServer> [11:43:12 DBG] Scopes in access token: openid profile Api
IdentityServer> [11:43:12 DBG] Requested claim types: sub name family_name given_name middle_name nickname preferred_username profile picture website gender birthdate zoneinfo locale updated_at
IdentityServer> [11:43:12 INF] Executed DbCommand (22ms) [Parameters=[@__user_Id_0='?' (Size = 450)], CommandType='Text', CommandTimeout='30']
IdentityServer> SELECT [uc].[Id], [uc].[ClaimType], [uc].[ClaimValue], [uc].[UserId]
IdentityServer> FROM [AspNetUserClaims] AS [uc]
IdentityServer> WHERE [uc].[UserId] = @__user_Id_0
IdentityServer> [11:43:12 INF] Executed DbCommand (17ms) [Parameters=[@__userId_0='?' (Size = 450)], CommandType='Text', CommandTimeout='30']
IdentityServer> SELECT [role].[Name]
IdentityServer> FROM [AspNetUserRoles] AS [userRole]
IdentityServer> INNER JOIN [AspNetRoles] AS [role] ON [userRole].[RoleId] = [role].[Id]
IdentityServer> WHERE [userRole].[UserId] = @__userId_0
IdentityServer> [11:43:12 INF] Profile service returned to the following claim types: sub preferred_username email email_verified
IdentityServer> [11:43:12 DBG] End userinfo request
IdentityServer> [11:43:12 INF] Request finished in 72.2538ms 200 application/json

It def doesn't help throwing a wall of code at us.
Check the logs. Look at the raw JWT tokens. Put breakpoints in relevant places - e.g. your profile service.

My profile service is ok. GetProfileDataAsync is assigning 4 claims on line context.IssuedClaims = claims; and one of them is sub.
raw JWT tokens consists of all claims.
I didn't find anything suspicious in logs, ill have a look again.

Nothing specific in logs, I got this:

IdentityServer> [11:43:12 DBG] Token validation success
IdentityServer> {
IdentityServer>   "ValidateLifetime": true,
IdentityServer>   "AccessTokenType": "Reference",
IdentityServer>   "ExpectedScope": "openid",
IdentityServer>   "TokenHandle": "19a8ffd69760c8979299ce6f0e4f7d8cbec4a40b3c7b278f12ff3adf1208bc73",
IdentityServer>   "Claims": {
IdentityServer>     "iss": "http://localhost:5001",
IdentityServer>     "nbf":<PHONE_NUMBER>,
IdentityServer>     "exp":<PHONE_NUMBER>,
IdentityServer>     "aud": [
IdentityServer>       "http://localhost:5001/resources",
IdentityServer>       "Api"
IdentityServer>     ],
IdentityServer>     "client_id": "angular2client",
IdentityServer>     "scope": [
IdentityServer>       "openid",
IdentityServer>       "profile",
IdentityServer>       "Api"
IdentityServer>     ],
IdentityServer>     "sub": "9b92e298-a027-4c1b-96ce-c060db7dc4b0",
IdentityServer>     "auth_time":<PHONE_NUMBER>,
IdentityServer>     "idp": "local",
IdentityServer>     "amr": "pwd",
IdentityServer>     "preferred_username"<EMAIL_ADDRESS>IdentityServer>     "email"<EMAIL_ADDRESS>IdentityServer>     "email_verified": false
IdentityServer>   }
IdentityServer> }
IdentityServer> [11:43:12 DBG] Creating userinfo response
IdentityServer> [11:43:12 DBG] Scopes in access token: openid profile Api
IdentityServer> [11:43:12 DBG] Requested claim types: sub name family_name given_name middle_name nickname preferred_username profile picture website gender birthdate zoneinfo locale updated_at
IdentityServer> [11:43:12 INF] Executed DbCommand (22ms) [Parameters=[@__user_Id_0='?' (Size = 450)], CommandType='Text', CommandTimeout='30']
IdentityServer> SELECT [uc].[Id], [uc].[ClaimType], [uc].[ClaimValue], [uc].[UserId]
IdentityServer> FROM [AspNetUserClaims] AS [uc]
IdentityServer> WHERE [uc].[UserId] = @__user_Id_0
IdentityServer> [11:43:12 INF] Executed DbCommand (17ms) [Parameters=[@__userId_0='?' (Size = 450)], CommandType='Text', CommandTimeout='30']
IdentityServer> SELECT [role].[Name]
IdentityServer> FROM [AspNetUserRoles] AS [userRole]
IdentityServer> INNER JOIN [AspNetRoles] AS [role] ON [userRole].[RoleId] = [role].[Id]
IdentityServer> WHERE [userRole].[UserId] = @__userId_0
IdentityServer> [11:43:12 INF] Profile service returned to the following claim types: sub preferred_username email email_verified
IdentityServer> [11:43:12 DBG] End userinfo request
IdentityServer> [11:43:12 INF] Request finished in 72.2538ms 200 application/json

If the JWT contains all the claims you want - it must be a problem at the API. Do more research in that area.

@leastprivilege problem is Api> info: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[2]
Api> Authorization failed for user: (null).
The issue is here: https://stackoverflow.com/questions/45807822/asp-net-core-2-0-jwt-validation-fails-with-authorization-failed-for-user-null
With new configuration there are no more "AutomaticAuthenticate" and "AutomaticChallenge" so for a reason cookie or token is not reaching?
Full log:
Api> Now listening on: http://localhost:6452
Api> Application started. Press Ctrl+C to shut down.
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Api>       Request starting HTTP/1.1 GET http://localhost:5002/
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Api>       Request starting HTTP/1.1 GET http://localhost:5002/
Api> info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
Api>       Executing action method Api.Controllers.DefaultController.Index (Api) with arguments ((null)) - ModelState is Valid
Api> info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
Api>       Executing action method Api.Controllers.DefaultController.Index (Api) with arguments ((null)) - ModelState is Valid
Api> info: Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ViewResultExecutor[1]
Api>       Executing ViewResult, running view at path /Views/Default/Index.cshtml.
Api> info: Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ViewResultExecutor[1]
Api>       Executing ViewResult, running view at path /Views/Default/Index.cshtml.
Api> info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2]
Api>       Executed action Api.Controllers.DefaultController.Index (Api) in 2002.8964ms
Api> info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2]
Api>       Executed action Api.Controllers.DefaultController.Index (Api) in 2002.8964ms
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Api>       Request finished in 2297.5692ms 200 text/html; charset=utf-8
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Api>       Request finished in 2297.5692ms 200 text/html; charset=utf-8
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Api>       Request starting HTTP/1.1 GET http://localhost:5002/favicon.ico
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Api>       Request starting HTTP/1.1 GET http://localhost:5002/favicon.ico
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Api>       Request finished in 16.0804ms 404
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Api>       Request finished in 16.0804ms 404
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Api>       Request starting HTTP/1.1 OPTIONS http://localhost:5002/api/program/getall
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Api>       Request starting HTTP/1.1 OPTIONS http://localhost:5002/api/program/getall
Api> info: Microsoft.AspNetCore.Cors.Infrastructure.CorsService[4]
Api>       Policy execution successful.
Api> info: Microsoft.AspNetCore.Cors.Infrastructure.CorsService[4]
Api>       Policy execution successful.
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Api>       Request finished in 21.4956ms 204
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Api>       Request finished in 21.4956ms 204
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Api>       Request starting HTTP/1.1 GET http://localhost:5002/api/program/getall application/json
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Api>       Request starting HTTP/1.1 GET http://localhost:5002/api/program/getall application/json
Api> info: Microsoft.AspNetCore.Cors.Infrastructure.CorsService[4]
Api>       Policy execution successful.
Api> info: Microsoft.AspNetCore.Cors.Infrastructure.CorsService[4]
Api>       Policy execution successful.
Api> info: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[2]
Api>       Authorization failed for user: (null).
Api> info: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[2]
Api>       Authorization failed for user: (null).
Api> info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[3]
Api>       Authorization failed for the request at filter 'Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter'.
Api> info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[3]
Api>       Authorization failed for the request at filter 'Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter'.
Api> info: Microsoft.AspNetCore.Mvc.ChallengeResult[1]
Api>       Executing ChallengeResult with authentication schemes ().
Api> info: Microsoft.AspNetCore.Mvc.ChallengeResult[1]
Api>       Executing ChallengeResult with authentication schemes ().
Api> info: Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler[12]
Api>       AuthenticationScheme: Identity.Application was challenged.
Api> info: Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler[12]
Api>       AuthenticationScheme: Identity.Application was challenged.
Api> info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2]
Api>       Executed action Api.Controllers.ProgramController.GetAll (Api) in 44.5326ms
Api> info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2]
Api>       Executed action Api.Controllers.ProgramController.GetAll (Api) in 44.5326ms
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Api>       Request finished in 66.5712ms 302
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Api>       Request finished in 66.5712ms 302
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Api>       Request starting HTTP/1.1 OPTIONS http://localhost:5002/Account/Login?ReturnUrl=%2Fapi%2Fprogram%2Fgetall
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Api>       Request starting HTTP/1.1 OPTIONS http://localhost:5002/Account/Login?ReturnUrl=%2Fapi%2Fprogram%2Fgetall
Api> info: Microsoft.AspNetCore.Cors.Infrastructure.CorsService[4]
Api>       Policy execution successful.
Api> info: Microsoft.AspNetCore.Cors.Infrastructure.CorsService[4]
Api>       Policy execution successful.
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Api>       Request finished in 14.7905ms 204
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Api>       Request finished in 14.7905ms 204
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Api>       Request starting HTTP/1.1 GET http://localhost:5002/Account/Login?ReturnUrl=%2Fapi%2Fprogram%2Fgetall application/json
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Api>       Request starting HTTP/1.1 GET http://localhost:5002/Account/Login?ReturnUrl=%2Fapi%2Fprogram%2Fgetall application/json
Api> info: Microsoft.AspNetCore.Cors.Infrastructure.CorsService[4]
Api>       Policy execution successful.
Api> info: Microsoft.AspNetCore.Cors.Infrastructure.CorsService[4]
Api>       Policy execution successful.
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Api>       Request finished in 15.666ms 404
Api> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Api>       Request finished in 15.666ms 404

services.AddAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme)

This should be "Bearer", not IdentityServerAuthenticationDefaults.AuthenticationScheme for APIs.

@brockallen
namespace IdentityServer4.AccessTokenValidation
{
public class IdentityServerAuthenticationDefaults
{
public const string AuthenticationScheme = "Bearer";
public const string IntrospectionAuthenticationScheme = "IdentityServerAuthenticationIntrospection";
public const string JwtAuthenticationScheme = "IdentityServerAuthenticationJwt";
public const string TokenItemsKey = "idsrv4:tokenvalidation:token";
    public IdentityServerAuthenticationDefaults();
}

}

In this section:

And API resource set up:

I saw this code:
 services.AddAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme)
                .AddIdentityServerAuthentication(x =>

So if this is an API project,. then you should be using the bearer token, not the IdentityServer cookie (especially if the API is not hosting IdentityServer). Perhaps I'm missing something about your desired setup -- it;'s just something that looked fishy to me.

@brockallen yes it is API project. Can you please give an example how it should've been set up?

We have a whole repo: https://github.com/IdentityServer/IdentityServer4.Samples

@brockallen those examples are for older versions, come on.. I checked that already, I wouldn't ask.

No -- on the dev branch is the latest.
Anyway, looks like your constant is using the value "Bearer", since it was from those exact samples.

@nukec  I am experiencing the same exact issue. Have you come to solution, yet?

@yaneyba this is not the same issue. I had this error on some other app. If it is localhost I resolved it with re-importing localhost certificate.

Any update? If you feel like there's a bug somewhere, it would be best to look at our samples or quickstarts and try to reproduce the bug there so it's easier for us all to identity it and track it.

@brockallen I am currently back on 1.1 so I will see when I have time to try 2.0 again. What was the bug on IdentityServer4.AspNetIdentity.2.0.0-rc1-update1?

It was this: https://github.com/IdentityServer/IdentityServer4.AspNetIdentity/issues/41

All set on this issue -- can we close?

Oh looks like I already asked a while ago. I'll close for now. Reopen if/when this becomes an issue again.

@brockallen
Why do you do this two different ways in your two different API samples?
IdentityServer4.Samples/Clients (AddAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme))
https://github.com/IdentityServer/IdentityServer4.Samples/blob/release/Clients/src/SampleApi/Startup.cs#L20
IdentityServer4.Samples/Quickstarts (AddAuthentication("Bearer"))
https://github.com/IdentityServer/IdentityServer4.Samples/blob/release/Quickstarts/5_HybridFlowAuthenticationWithApiAccess/src/Api/Startup.cs