CouchdDB default.ini [log] level = none continues to log everything

Description
CouchDB logs every request, even when log level is set to none.
Steps to Reproduce
set [log] level = none in default.ini, and check with
tail -f /var/log/couchdb/couchdb.log
Expected Behaviour
Do not log anything?
Your Environment
Ubuntu 18.04
Couchdb 2.3.1
4 node replication

CouchDB Version used:
Browser name and version:
Operating System and version:

Additional context
Im seeing 30 messages per second being logged, averaging 1.5gb per day rolled over.  The minimum verbose log's level is "emergency"

that is good information. In the default.ini file it certainly lists "none" as a valid log options, so perhaps that should be updated.  I will try "emergency".

You right, "none" should be a valid option, my bad. Thank you for the reporting.

I tried emergency and it didnt resolve the problem. I expected to only see messages begining with [emerg] or [emergency].
I dont know the cause, but ill throw my config out there. I havent spent much time optimizing so much as opening up the number of connections and extending timeouts.
; Upgrading CouchDB will overwrite this file.
[vendor]
name = The Apache Software Foundation
[couchdb]
uuid =
database_dir = ./data
view_index_dir = ./data
; util_driver_dir =
; plugin_dir =
os_process_timeout = 50000 ; 5 seconds. for view servers.
max_dbs_open = 5000
delayed_commits = true
; Method used to compress everything that is appended to database and view index files, except
; for attachments (see the attachments section). Available methods are:
;
; none         - no compression
; snappy       - use google snappy, a very fast compressor/decompressor
; deflate_N    - use zlib's deflate, N is the compression level which ranges from 1 (fastest,
;                lowest compression ratio) to 9 (slowest, highest compression ratio)
file_compression = snappy
; Higher values may give better read performance due to less read operations
; and/or more OS page cache hits, but they can also increase overall response
; time for writes when there are many attachment write requests in parallel.
attachment_stream_buffer_size = 4096
; Default security object for databases if not explicitly set
; everyone - same as couchdb 1.0, everyone can read/write
; admin_only - only admins can read/write
; admin_local - sharded dbs on :5984 are read/write for everyone,
;               local dbs on :5986 are read/write for admins only
default_security = admin_local
; btree_chunk_size = 1279
; maintenance_mode = false
; stem_interactive_updates = true
; uri_file =
; The speed of processing the _changes feed with doc_ids filter can be
; influenced directly with this setting - increase for faster processing at the
; expense of more memory usage.
changes_doc_ids_optimization_threshold = 1000
; Maximum document ID length. Can be set to an integer or 'infinity'.
;max_document_id_length = infinity
;
; Limit maximum document size. Requests to create / update documents with a body
; size larger than this will fail with a 413 http error. This limit applies to
; requests which update a single document as well as individual documents from
; a _bulk_docs request. Since there is no canonical size of json encoded data,
; due to variabiliy in what is escaped or how floats are encoded, this limit is
; applied conservatively. For example 1.0e+16 could be encoded as 1e16, so 4 used
; for size calculation instead of 7.
;max_document_size =<PHONE_NUMBER> ; bytes
;
; Maximum attachment size.
; max_attachment_size = infinity
;
; Do not update the least recently used DB cache on reads, only writes
;update_lru_on_read = false
;
; The default storage engine to use when creating databases
; is set as a key into the [couchdb_engines] section.
default_engine = couch
;
; Enable this to only "soft-delete" databases when DELETE /{db} requests are
; made. This will place a .recovery directory in your data directory and
; move deleted databases/shards there instead. You can then manually delete
; these files later, as desired.
;enable_database_recovery = false
[couchdb_engines]
; The keys in this section are the filename extension that
; the specified engine module will use. This is important so
; that couch_server is able to find an existing database without
; having to ask every configured engine.
couch = couch_bt_engine
[cluster]
q=8
n=3
; placement = metro-dc-a:2,metro-dc-b:1
; Supply a comma-delimited list of node names that this node should
; contact in order to join a cluster. If a seedlist is configured the _up
; endpoint will return a 404 until the node has successfully contacted at
; least one of the members of the seedlist and replicated an up-to-date copy
; of the _nodes, _dbs, and _users system databases.
; seedlist = couchdb<EMAIL_ADDRESS>[chttpd]
; These settings affect the main, clustered port (5984 by default).
port = 5984
bind_address = <IP_ADDRESS>
backlog = 512
docroot = ./share/www
socket_options = [{sndbuf, 262144}, {nodelay, true}]
server_options = [{recbuf, undefined}]
require_valid_user = false
; List of headers that will be kept when the header Prefer: return=minimal is included in a request.
; If Server header is left out, Mochiweb will add its own one in.
prefer_minimal = Cache-Control, Content-Length, Content-Range, Content-Type, ETag, Server, Transfer-Encoding, Vary
;
; Limit maximum number of databases when tying to get detailed information using
; _dbs_info in a request
max_db_number_for_dbs_info_req = 1000
; authentication handlers
; authentication_handlers = {chttpd_auth, cookie_authentication_handler}, {chttpd_auth, default_authentication_handler}
; uncomment the next line to enable proxy authentication
; authentication_handlers = {chttpd_auth, proxy_authentication_handler}, {chttpd_auth, cookie_authentication_handler}, {chttpd_auth, default_authentication_handler}
; prevent non-admins from accessing /_all_dbs
;admin_only_all_dbs = false
[database_compaction]
; larger buffer sizes can originate smaller files
doc_buffer_size = 524288 ; value in bytes
checkpoint_after = 5242880 ; checkpoint after every N bytes were written
[view_compaction]
; larger buffer sizes can originate smaller files
keyvalue_buffer_size = 2097152 ; value in bytes
[couch_peruser]
; If enabled, couch_peruser ensures that a private per-user database
; exists for each document in _users. These databases are writable only
; by the corresponding user. Databases are in the following form:
; userdb-{hex encoded username}
enable = false
; If set to true and a user is deleted, the respective database gets
; deleted as well.
delete_dbs = false
; Set a default q value for peruser-created databases that is different from
; cluster / q
;q = 1
; prefix for user databases. If you change this after user dbs have been
; created, the existing databases won't get deleted if the associated user
; gets deleted because of the then prefix mismatch.
database_prefix = userdb-
[httpd]
port = 5968
bind_address = <IP_ADDRESS>
authentication_handlers = {couch_httpd_auth, cookie_authentication_handler}, {couch_httpd_auth, default_authentication_handler}
secure_rewrites = true
allow_jsonp = false
; Options for the MochiWeb HTTP server.
;server_options = [{backlog, 128}, {acceptor_pool_size, 16}]
; For more socket options, consult Erlang's module 'inet' man page.
;socket_options = [{recbuf, undefined}, {sndbuf, 262144}, {nodelay, true}]
socket_options = [{sndbuf, 262144}]
enable_cors = true
enable_xframe_options = false
; CouchDB can optionally enforce a maximum uri length;
; max_uri_length = 8000
; changes_timeout = 60000
; config_whitelist =
; max_uri_length =
; rewrite_limit = 100
; x_forwarded_host = X-Forwarded-Host
; x_forwarded_proto = X-Forwarded-Proto
; x_forwarded_ssl = X-Forwarded-Ssl
; Maximum allowed http request size. Applies to both clustered and local port.
max_http_request_size =<PHONE_NUMBER> ; 4GB
; [httpd_design_handlers]
; _view =
; [ioq]
; concurrency = 10
; ratio = 0.01
[ssl]
port = 6984
; [chttpd_auth]
; authentication_db = _users
; [chttpd_auth_cache]
; max_lifetime = 600000
; max_objects =
; max_size = 104857600
; [mem3]
; nodes_db = _nodes
; shard_cache_size = 25000
; shards_db = _dbs
; sync_concurrency = 10
; [fabric]
; all_docs_concurrency = 10
; changes_duration =
; shard_timeout_factor = 2
; uuid_prefix_len = 7
; request_timeout = 60000
; all_docs_timeout = 10000
; attachments_timeout = 60000
; view_timeout = 3600000
; partition_view_timeout = 3600000
; [rexi]
; buffer_count = 2000
; server_per_node = true
; [global_changes]
; max_event_delay = 25
; max_write_delay = 500
; update_db = true
; [view_updater]
; min_writer_items = 100
; min_writer_size = 16777216
[couch_httpd_auth]
; WARNING! This only affects the node-local port (5986 by default).
; You probably want the settings under [chttpd].
authentication_db = _users
authentication_redirect = /_utils/session.html
require_valid_user = false
timeout = 600 ; number of seconds before automatic logout
auth_cache_size = 50 ; size is number of cache entries
allow_persistent_cookies = true ; set to false to disallow persistent cookies
iterations = 10 ; iterations for password hashing
; min_iterations = 1
; max_iterations =<PHONE_NUMBER>
; password_scheme = pbkdf2
; proxy_use_secret = false
; comma-separated list of public fields, 404 if empty
; public_fields =
; secret =
; users_db_public = false
; cookie_domain = example.com
; CSP (Content Security Policy) Support for _utils
[csp]
enable = true
; header_value = default-src 'self'; img-src 'self'; font-src *; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline';
[cors]
credentials = false
; List of origins separated by a comma, * means accept all
; Origins must include the scheme: http://example.com
; You can't set origins: * and credentials = true at the same time.
origins = *
; List of accepted headers separated by a comma
; headers =
; List of accepted methods
; methods =
; Configuration for a vhost
;[cors:http://example.com]
; credentials = false
; List of origins separated by a comma
; Origins must include the scheme: http://example.com
; You can't set origins: * and credentials = true at the same time.
;origins =
; List of accepted headers separated by a comma
; headers =
; List of accepted methods
; methods =
; Configuration for the design document cache
;[ddoc_cache]
; The maximum size of the cache in bytes
;max_size = 104857600 ; 100MiB
; The period each cache entry should wait before
; automatically refreshing in milliseconds
;refresh_timeout = 67000
[x_frame_options]
; Settings same-origin will return X-Frame-Options: SAMEORIGIN.
; If same origin is set, it will ignore the hosts setting
; same_origin = true
; Settings hosts will return X-Frame-Options: ALLOW-FROM https://example.com/
; List of hosts separated by a comma. * means accept all
; hosts =
[native_query_servers]
; erlang query server
; enable_erlang_query_server = false
; Changing reduce_limit to false will disable reduce_limit.
; If you think you're hitting reduce_limit with a "good" reduce function,
; please let us know on the mailing list so we can fine tune the heuristic.
[query_server_config]
; commit_freq = 5
reduce_limit = true
os_process_limit = 100
; os_process_idle_limit = 300
; os_process_soft_limit = 100
; Timeout for how long a response from a busy view group server can take.
; "infinity" is also a valid configuration value.
;group_info_timeout = 5000
[mango]
; Set to true to disable the "index all fields" text index, which can lead
; to out of memory issues when users have documents with nested array fields.
index_all_disabled = false
; Default limit value for mango _find queries.
default_limit = 2500
[indexers]
couch_mrview = true
[uuids]
; Known algorithms:
;   random - 128 bits of random awesome
;     All awesome, all the time.
;   sequential - monotonically increasing ids with random increments
;     First 26 hex characters are random. Last 6 increment in
;     random amounts until an overflow occurs. On overflow, the
;     random prefix is regenerated and the process starts over.
;   utc_random - Time since Jan 1, 1970 UTC with microseconds
;     First 14 characters are the time in hex. Last 18 are random.
;   utc_id - Time since Jan 1, 1970 UTC with microseconds, plus utc_id_suffix string
;     First 14 characters are the time in hex. uuids/utc_id_suffix string value is appended to these.
algorithm = sequential
; The utc_id_suffix value will be appended to uuids generated by the utc_id algorithm.
; Replicating instances should have unique utc_id_suffix values to ensure uniqueness of utc_id ids.
utc_id_suffix =
Maximum number of UUIDs retrievable from /_uuids in a single request
max_count = 1000
[attachments]
compression_level = 8 ; from 1 (lowest, fastest) to 9 (highest, slowest), 0 to disable compression
compressible_types = text/*, application/javascript, application/json, application/xml
[replicator]
; Random jitter applied on replication job startup (milliseconds)
startup_jitter = 5000
; Number of actively running replications
max_jobs = 5000
;Scheduling interval in milliseconds. During each reschedule cycle
interval = 60000
; Maximum number of replications to start and stop during rescheduling.
max_churn = 20
; More worker processes can give higher network throughput but can also

You right, "none" should be a valid option, my bad. Thank you for the reporting.

I knew this already -- I checked the source before I even thought about opening an issue  :-p.  Just havent had time to debug the issue myself today so I was hoping someone could point out an easy solution.

As far as I can see you don't have [log] section in the config you've pasted.
Fwiw I just checked and level = none works for me. Do you happened to have other .ini files in your setup? Can you check, please, if by any chance you have a log's config override in any of them?

oh snap.  I dont think it all pasted in, but I think you are right.  Here is the relevant section.
[log]
; Possible log levels:
;  debug
;  info
;  notice
;  warning, warn
;  error, err
;  critical, crit
;  alert
;  emergency, emerg
;  none
;
level = emergency
here is what I see in fauxton
log	file	/var/log/couchdb/couchdb.log
level	info
writer	file
But my default.ini says stderr, not file.  so strange.  wonder where this config is being pulled from.

found it.
grep -rnw '/opt/couchdb/' -e '= info'
/opt/couchdb/etc/default.d/10-filelog.ini:4:level = info
/opt/couchdb/share/docs/couchdb.1:17712:level = info
/opt/couchdb/share/server/main.js:920:    var path = info.path;
/opt/couchdb/share/server/main-coffee.js:920:    var path = info.path;
/opt/couchdb/share/www/docs/_sources/config/logging.rst.txt:80:            level = info
is this documented anywhere?

is this documented anywhere?

The ability to override config - yes, sure [link]
This particular setup, though, I expect to be ubuntu's package specific.
Glad this worked out for you.


Implement a simple data availability protocol in Mir

To be used as the availability layer in the Eudico Filecoin client.
Should be extensible to Narwhal.
Estimated duration: 3 weeks

Resolved by
https://github.com/filecoin-project/mir/pull/171 , https://github.com/filecoin-project/mir/pull/189 , and other related PRs in the Mir repository.


IOS-Crash: After Using function

I got a Problem on my iPhone X - Simulator.
I implemented all the things and my project also knows the import of react-native-firebase-mlkit.
But after I want to use the function, the app crashes and I dont get the Error. I use the same function like in the example. The difference is that im using react-native-image-picker to get the uri of my image.
"dependencies": {
"react": "16.6.3",
"react-native": "0.58.6",
"react-native-firebase-mlkit": "^0.6.2",
"react-native-image-picker": "^0.28.0"
},

await RNMlKit.deviceTextRecognition(this.state.image) it crash at this point of time, in ios and android is working fine.

to use this library you need to setup firebase in AppDelegate.m
1.add #import <Firebase.h>
2.- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[FIRApp configure];
return YES;
}


docs: update adopters

Checklist

[x] I agree to follow this project's Code of Conduct.
[x] I have read, and I am following this repository's Contributing Guidelines.
[x] I have updated the documentation.

Changelist
Added Éphémère Creative as an adopter.

Thank you very much, Raphael!


fix(nsis): run app as normal user

Fixes: #9835
Reference: https://devblogs.microsoft.com/oldnewthing/20190425-00/?p=102443

Don't want to solve merge conflicts, waiting for https://github.com/tauri-apps/tauri/pull/9915 to get merged first

I could give it a try, didn't work on no std rust before, but guess it wouldn't be harder than nsis 😂

Don't worry I think the existing functions there can guide you but If you need help, just let me know


storage in database is done before selecting top

is this what we want or we save only the data after selecting the top?

it was ok


Changes to TextEditor.onDidChange and TextBuffer.onDidChange coming in Atom 1.23

Hi! Thanks for maintaining the chinese-translator package!
In Atom v1.23, we will some changes that may affect your package.
The methods TextEditor.onDidChange and TextBuffer.onDidChange will now call their callbacks less frequently. Previously, these callbacks would get called once for each individual change to the buffer. So if you had 5 cursors and typed a character, they would get called 5 times. Now, they will only get called once, and the event that is passed to them will contain information about all 5 of the changes that have occurred.
The same properties that have always existed on the TextBuffer.onDidChange events (oldRange, newRange, oldText, and newText) will still be there, and they will now reflect the sum of all changes that have occurred. But now there will be an additional property called changes, which will contain an array of more fine-grained objects describing the individual changes. We encourage you to use this property instead of the old ones.
Effects on this package
It looks like this package calls the changed methods in the following places:

TextEditor.onDidChange

here

We found these calls using a regex search, so this list might be incomplete, and it might contain some false positives.
What to do about the change
It is likely that you do not need to do anything. The old event properties will continue to work.
However, you may be able to handle changes more accurately and efficiently by using the changes field of the events rather than the old properties. The changes field does not exist in Atom 1.22 unless you use the TextBuffer.onDidChangeText method. In Atom 1.23 and above though, .onDidChange and .onDidChangeText will become identical, having both the old properties and the new changes property.
Please let me know if you have any questions. I would be happy to help!

As 5731f8c passed the tests, it seems that the API changes does not affect this package.


filter_coords refuses to filter out everything

When an empty list is explicitly passed to circuit.diagram, rather than filter out out everything, the diagram filters out nothing.
This behavior wasn't what I expected, and made debugging marginally harder.
I was constructing filter coord lists based on conditions about the det regions, which happened to be empty for one
In that case, the diagram was populated with all detecting regions, rather than showing that no detecting regions matched the criteria I used to construct the filter coords (which happened to be none of them, which is what I expected / wanted to be shown)
# MWE
circuit = stim.Circuit.generated("surface_code:rotated_memory_x", distance=5, rounds=5)
filter_out_everything = []
circuit.diagram('detslice', filter_coords=filter_out_everything)

This is unfortunately the intended behavior.
The coordinate filter is a prefix match. When you specify an empty list, you are doing the equivalent of saying "include everything whose coordinates start with the empty list". Same as str.startswith("") this returns true for all items. It's sortof a useless corner case, but it's forced by various consistency properties w.r.t. going from n+1 to n coordinates on the prefix.

Ah I was using the ability to give it detector labels, i'd forgotten that filter_coords was originally a filter for the coords...
Possibly a good reason to separate out filter_dem_targets given they're not prefix-y


Sorting Not working

Hi
while search ,  Based on VID i'm sorting  but in result set in  between some of the records are missing
my code is
$GLOBALS['obj_video_store'] ->search((new \Search\Query('VID <'.$_GET['lastRecordId']))->limit(10)->sort('VID'));
can you tell me what mistake i'm doing here, Please.

Hi Tom,
I'm facing some issues while sort based on date
While sorting , result set is incorrect

I'll try and take a look this weekend!

Can someone help me?
I am trying to Sort the results based on the Search API. everything is working fine, but don't know who to pass the Sort parameter ASC and DESCENDING along with SORT call.
$obj_query = (new \Search\Query('createdon > ' . $timex))
->fields(['channeldesc', 'channeltitle','voicedesc','uploadedby'])
->limit($items_per_page)
->offset($offset)
->sort('createdon',Query::ASC);
Can someone help, what I should be substituting in the place of "Query::ASC" to get sorted in Ascending order?
Thank you!

Tom -- can you please let me know how I should pass ASC and DESC to the sort function?
if I give sort ('createdon','DESC') its not working.
please help.
Thank you.

Hey there,
Sorry - snowed under at the moment. Will take a look ASAP


Fix total number of signatures in last block when block contains only rejected transactions

Addressed in PR#943


Tiller prom docs

Reformat and fix order of sections + adding docs for tiller/prometheus
NONE

@MattiasGees addressed your comments, plz have another look at it

/approve


i'm not sure issue is modal component but every time i got error when close modal

Sometimes i got error Uncaught (in promise) DOMException: String contains an invalid character
if close or re-open modal ?
any idea where and why that come ?

Hi @jouniikaheimo
Please include code samples, otherwise, it's difficult to help resolve the issue.
I'll re-open the issue once more information is provided.


fix model-router plugin

Ⅰ. Describe what this PR did
Ⅱ. Does this pull request fix one issue?

fixes #1424
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 43.52%. Comparing base (ef31e09) to head (25af32f).
Report is 167 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1432      +/-   ##
==========================================
+ Coverage   35.91%   43.52%   +7.61%
==========================================
  Files          69       76       +7
  Lines       11576    12320     +744
==========================================
+ Hits         4157     5362    +1205
+ Misses       7104     6622     -482
- Partials      315      336      +21

see 69 files with indirect coverage changes


Cannot Import react, react-dom, redux or react-redux on electron-renderer target

I'm having a bug here. Loading react fails on electron-renderer target.

React, redux and many cannot be loaded on electron.
Reproducing the error is complex, so I just provide an npm module to test it using npm install && electron .
But the idea is simple, I compile webpack when I startup my electron application, and then I open an html file with that script, but react redux and many others just fail. Yet extend, shallow-copy or electron doesn't.

Here it's the repository
Of course, changing the target to web or node "solves" the issue, except when doing import { X } from 'electron' doesn't work anymore.
The code is commented everywhere, hope it helps.
My Operative system is: Windows 10 x64
My Node Version is: 6.9.4
My NPM Version is: 3.10.10
My Webpack Version is: 2.2.1

context: path.resolve(__dirname, '..'),
- entry: path.resolve(__dirname, '..', 'src', 'renderer', 'main.js'),
+ entry:  './src/renderer/main.js',
// you already set the app root via context
options: {
-  presets: [ 'latest' ]
+  presets: [ ['latest', { modules: false }] ]
  // disables babel transpiling ES2015 Modules => CJS
}

Ok, I changed those parts on the renderer on the repository, but the error is still there.
I also changed in webpack/renderer.js:
-    target: 'electron',
+    target: 'electron-renderer',

And removed electron as a dependency on package.json (it shoudn't be needed):
-    "electron": "^1.4.15"

Found a solution:
-         descriptionFiles: [path.resolve(__dirname, '..', 'package.json')],

It seems than description files option doesn't go well as an absolute path.

@holywyvern Does it work now ? :)

Yup, it does, the solution was to remove the descriptionFiles option and let webpack choose the default option.

kk :), can please close the issue then?


false positive with: no-backbone-get-set-outside-model

Using RouteParams from Angular2 will cause a false positive:
export class HeroDetailComponent implements OnInit {
    @Input()
    public hero: Hero;

    constructor(
        private heroService: HeroService,
        private routeParams: RouteParams) {
    }

    public ngOnInit(): void {
        let id: number = +this.routeParams.get('id');
        this.heroService.getHero(id).then((h: Hero) => this.hero = h);
    }

    public goBack(): void {
        window.history.back();
    }
}

The: routeParams.get('id') part will flag the rule: no-backbone-get-set-outside-model

Hi @bruno-garcia thanks for the information.
I think I am going to close this issue with 2 comments:

The point of the no-backbone-get-set-outside-model rule is to make sure that you don't invoke dynamically dispatched methods that the compiler cannot enforce correctness on. For example, the compiler will not complain if you type route.params.get('id'), route.params.get('ID'), route.params.get('Id') but only one of those invocations will actually work at runtime. The design advice is to define a statically typed "getId(): number" method on the RouteParams object so the compiler can enforce these calls. So, in my opinion the rule actually has found an issue in your code that you should fix (but see my second point :) )

The static type analyzer in tslint does not work, so it is impossible for a tslint to know if this.routeParams is a Backbone Model or if it is some Angular object. It tells us 'any' 99% of the time. This makes it impossible to know the type of routeParams, so we assume that any method that looks like a Backbone get is a Backbone get. tslint will fix this issue with this bug, but it is an architectural issue on their side: https://github.com/palantir/tslint/issues/680

How do you feel about this response? Do you think it is fair for me to close this item?

Loud and clear. Hopefully palantir/tslint#680 will be done soon.
Until then I'll disable this rule.
Thanks,


add protocol option for testing

Been getting Bypass to work with ExTwilio. While doing so, ExTwilio was sending requests to https://localhost:port when it should just be sending it to http://localhost:port. This adds a protocol option so that individuals can specify either "https" or "http" depending on their environment.
fixes #109

Alright, changes are up.

@BenMorganIO great, but now it looks like the new protocol function isn't being called anywhere? We should call it in the base_url function, I believe?

There we go!


Working around missing edge events

I've got a button attached to a gpio pin on an Orange Pi PC (Allwinner H3). I'm reading alerts from the pins using gpipzero with the lgpio backend, with debouncing enabled in lgpio. What I'm seeing is that sometimes when pressing the button briefly, I get the falling edge (the button is active-low), but not the rising edge. With gpio_zero's hold_repeat feature, this means the button will generate button presses continuously...
I confirmed (with some printing inside gpiozero) that in this case lgpio is not reporting the trailing rising edge. I suspected that maybe the debouncing code in lgpio might be supressing this edge (because it is considered a bounce), but looking at the code, it seems this case is explicitely handled by emitting the edge anyway after it was stable for the debounce time.
I then tried reproducing this with gpiomon, which should use the same /dev/gpiochip0 interface and directly shows events emitted by the kernel, and saw at least one instance where the trailing event was not emitted by the kernel:
pi@orangepipc:/usr/lib/python3/dist-packages/gpiozero$ sudo gpiomon 0 201
event:  RISING EDGE offset: 201 timestamp: [   18236.142590527]
event: FALLING EDGE offset: 201 timestamp: [   18236.902041694]
event:  RISING EDGE offset: 201 timestamp: [   18236.958867611]
event: FALLING EDGE offset: 201 timestamp: [   18237.374040611]
event:  RISING EDGE offset: 201 timestamp: [   18237.417619736]
event:  RISING EDGE offset: 201 timestamp: [   18237.906252111]
event: FALLING EDGE offset: 201 timestamp: [   18239.228219987]
event:  RISING EDGE offset: 201 timestamp: [   18239.367462945]
event: FALLING EDGE offset: 201 timestamp: [   18239.856171404]
event:  RISING EDGE offset: 201 timestamp: [   18239.867241946]
event: FALLING EDGE offset: 201 timestamp: [   18240.377663613]
event:  RISING EDGE offset: 201 timestamp: [   18240.589072571]
event: FALLING EDGE offset: 201 timestamp: [   18241.446177321]
event:  RISING EDGE offset: 201 timestamp: [   18241.526287071]
event: FALLING EDGE offset: 201 timestamp: [   18241.921043155]
event:  RISING EDGE offset: 201 timestamp: [   18241.961417655]
event: FALLING EDGE offset: 201 timestamp: [   18242.575939655]
event:  RISING EDGE offset: 201 timestamp: [   18242.633683114]
event: FALLING EDGE offset: 201 timestamp: [   18242.633828864]
event:  RISING EDGE offset: 201 timestamp: [   18242.633980780]
event: FALLING EDGE offset: 201 timestamp: [   18244.282714114]
event:  RISING EDGE offset: 201 timestamp: [   18244.325010073]
event: FALLING EDGE offset: 201 timestamp: [   18244.942461906]
^Cpi@orangepipc:/usr/lib/python3/dist-packages/gpiozero$ sudo gpioget 0 201
1

This shows  a number of button presses. At the end, the button is depressed, but the last edge is FALLING. Then checking the value of the GPIO pin (without touching the button again) shows that the value is indeed 1 (i.e. button depressed).  Also note that there are two consecutive RISING edges in the output somewhere as well.
This suggests that the kernel is indeed not emitting all events. I could not find proper documentation about the gpiochip interface to figure out if the kernel gives any guarantees about this, but I suspect not.
Maybe lgpio could and should handle this case by periodically re-checking the value of the pin and emitting extra events if it turns out the kernel has omitted an event? I'm not sure how often or when to check, though, I guess that depends a bit on the guarantees that the kernel does give (maybe just one check a "short while" or maybe directly after each edge is sufficient, if the cause of dropping edges is that only one edge/ISR can be queued at the same time). I'm not sure if this is indeed the best place to fix this, but it would probably be convenient for lgpio users if lgpio handled this...

I will have a look.  Not sure when but hopefully within a week.
The one thing I don't want is problems in this area.  They are so tricky to debug and generally even trickier to fix and prone to introduce new errors.  The debounce logic, watchdog logic, and the attempt to maintain time order between disparate GPIO triggers is interwoven.
The gpiochip interface certainly drops edges and complete cycles if the edges are too close together.  It's slightly sad that pigpio sampling performs better at high interrupt rates.

The one thing I don't want is problems in this area. They are so tricky to debug and generally even trickier to fix and prone to introduce new errors. The debounce logic, watchdog logic, and the attempt to maintain time order between disparate GPIO triggers is interwoven.

Yeah, agreed, this stuff is complex and hard...
FWIW, I just noticed I did not have lgpio debouncing enabled at all (because it was not working for me, see #19), but had my own running on top (but that only dropped activating edges, so certainly did not cause this issue).

Using lgpio version 0.2.2 without debounce (=0) I get the same result as in the first post. But with debounce set to 1 (=1µs) there are no missing edges.
Tested on Raspberry Pi 3 running Debian 12 Bookworm (Raspberry Pi OS) kernel 6.6 with following Python code:
import lgpio as lg

# open default gpio chip
h = lg.gpiochip_open(0)
# claim gpio10 and configure it
lg.gpio_claim_alert(h, 10, lg.BOTH_EDGES, lg.SET_PULL_UP)
# set debounce for gpio10 to 1µs
lg.gpio_set_debounce_micros(h, 10, 1)

# define callback function
def clb(chip, gpio, level, tick):
     print(chip, gpio, level, tick)

# hock up callback function with gpio10
cb1 = lg.callback(h, 10, lg.BOTH_EDGES, clb)

The missing events would be an overflow of the kernel event buffer - so a burst of events is being captured by the kernel faster than they can be processed by userspace.
It occurs to me that the problem was raised when lgpio was using uAPI v1, and that could be contributory.
With uAPI v1 the most recent event would be discarded when the buffer overflowed.  This is a problem as the final event after an overflow may not reflect the state of the line at the end of the burst (it may still be correct if an even number of events from the burst is discarded).
This was fixed in uAPI v2 where an overflow results in the oldest event being discarded.  This is far kinder to userspace debounce algorithms.  Having said that, uAPI v2 also supports debounce itself so there is no longer any need to perform debounce in userspace.
You would need to repeat the problem in a test case to be sure of the root cause and the correctness of any fix.  Got any tests?

The gpiochip interface certainly drops edges and complete cycles if the edges are too close together. It's slightly sad that pigpio sampling performs better at high interrupt rates.

If pigpio sampling is polling the hardware directly, and that is the impression I get from "sampling", then that is akin to saying it is slightly sad that the sun will come up tomorrow.
It is not surprising that accessing hardware directly is faster than anything that can be managed across the kernel/userspace interface due to the unavoidable context switching.  But then messing with hardware directly isn't very portable, so swings and roundabouts.
With uAPI v2, you can influence the size the buffer in the kernel to try to prevent buffer overflow and so loss of events.  Having said that, if the long term interrupt rate is higher than userspace can process them then no amount of buffering will help.  Similarly if interrupts arrive faster than the kernel interrupt handler can capture them.  If you need that level of performance you should go in-kernel rather than userspace.


Added hamburger menu to make navbar responsive

This PR completes the task of making the navbar responsive by making hamburger menu.
Fixes issue #38

@Wafmulla Thank you very much for your contribution! 🏆
@all-contributors please add @Wafmulla  for code and design


[AOT] Failure when the path to the temp folder contains accentuated characters and/or spaces

Android framework version
net8.0-android
Affected platform version
8.0.11
Description
On Windows, when building with AOT enabled, and the user home folder has an accentuated character and/or a space, the build fails with:
C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.145\targets\Microsoft.Android.Sdk.Aot.targets(109,5): Precompiling failed for E:\Net2022files\WinNavUno5\WinNavUno5\obj\Release\net8.0-android\android-x64\linked\_Microsoft.Android.Resource.Designer.dll with exit code 1.
The specified response file can not be read [E:\Net2022files\WinNavUno5\WinNavUno5\WinNavUno5.csproj]

Steps to Reproduce
Build an app with AOT enabled, with a user folder with accentuated characters and/or spaces.
Did you find any workaround?
Changing the user folder path to be without spaces and accentuated characters.
Relevant log output
binlog (14).zip

@jeromelaban very odd. So the temp folder path has an accented character in it?
@akoeplinger any idea who works on the \mono-aot-cross.exe ? Looks like an issue in that area.
[WinNavUno5.dll] Running: C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64\8.0.11\Sdk\..\tools\mono-aot-cross.exe --response="C:\Users\Werner König\AppData\Local\Temp\tmp12E0.tmp"

It is odd indeed.
I noticed this particular behavior when accounts are created using MS Entra Online-only accounts, where the tooling does not "normalize" the folder to 7-bits ASCII and uses the user's original name instead of the SAMAccount field.
My own name has an accent in it, and it's also causing all sorts of issues which I avoid by changing the folder from the get-go...

would you mind trying with dotnet 9? there were some related fixes in that area.


Use Yard Docs

remove default RDoc args - this broke builds for people on RPM-built thing #44 - they didn't have Darkfish pre-installed and things broke
add some whitespace
break some long lines

Details about YARD

more explicit
has no :nodoc: (for reasons)
it's Markdown, GFH (GitHub-flavored)
supports having a configuration file checked in (see below)

Generated docs online
The main place people go for gem docs is the dynamically default-configured generated ones at https://www.rubydoc.info
Here's this gem, rendered: https://www.rubydoc.info/gems/multipart-post
On rubydoc.info: I believe these are regenerated on new versions of the gem becoming available)
rubydoc.info will probably not respect any locally-configured settings files. To gain most benefit, keep the defaults.

Awesome, thanks so much!


Blank screen

Just built using latest cmmits
now I get a boot screen with what ever it says(whats the point btw)   then a blank screen with backlight always on.. it is recieving but no ideas  whats going on
also NO FM radio again

Same here; black screen during boot.
FM radio only works when Dual Watch is disabled (with firmware from yesterday)
Thank you again for your great work,
Peter.

For me a3d603e works, except FM radio.
Also, what's the point of the boot screen? Shows up even if ponmsg is disabled.

For me a3d603e works, except FM radio. Also, what's the point of the boot screen? Shows up even if ponmsg is disabled.

Indeed it seems a little strange to still have a boot screen when ponmsg is set to none. It's ever weirder in my case since I'm not running it on UV-K5(8) or UV-K6 but on UV-5R ;)

lol, argue amongst yourselves for a while, busy for a while today. I'll take a look at the blank bug later.

Depends if you behave, or not !

At the time of opening this the other was not showing up in the issues list

Everyone is just really quick on the draw, I get it :smile:

Depends if you behave, or not !

Okay okay, I'll behave!! Just please... don't take away my Quansheng! :cry: :laughing:

Well, I now load the entire eeprom contents into memory at boot up, this takes time for the little CPU to do, so while it's busy doing that I stick something (or nothing) onto the screen.

It's ever weirder in my case since I'm not running it on UV-K5(8) or UV-K6 but on UV-5R ;)

Think of it as an upgrade, old radio made new.

It's ever weirder in my case since I'm not running it on UV-K5(8) or UV-K6 but on UV-5R ;)

Think of it as an upgrade, old radio made new.

Sure thing, I like it already, just have to remove the old markings and I'm good to go :)

Ran multiple builds to see if I could find the culprit that causes my blank screen.... it happened when contrast menu is enabled!

Confirmed on my end as well.

You found it !
I fixed it !

Applause for finding it, feel free to go pop some balloons ..
https://s1.radiosondy.info

Well done to you 2!
Maybe off-topic in this issue but about the debated message, an idea would be to force the display of POnMsg and load the eeprom while it is displayed?

I was thinking about that, I'd need to precede reading the full eeprom contents with first reading just the battery calibration from eeprom, otherwise there would be no battery data to use to display calibrated battery details.
Reducing code size is currently a priority though rather than adding more.

Done the power-on screen.

Well, I now load the entire eeprom contents into memory at boot up

I was wondering what was the advantage of doing this, if you have a few moments for light up my lantern?

Before, the CPU had to continually read the eepom every time it needed any channel details (frequency, name etc) - that takes time and was slowing it all down, particularly when scanning channels.
Now that I have the entire eeprom contents in memory, the CPU has direct and immediate access to all channel, config and calibration data in an instant. no having to go through reading the eeprom each and every time.
The CPU still has to write any changes back to eeprom, ie when the user edits, adds, deletes a channel or menu setting of any kind, but nothing can be done about that.

Yes, it makes sense, well seen!
There is enough RAM to store all EEPROM  datas !? Too bad they couldn't be so generous with the size of the flash memory...

Yes, the EEPOM is 8kB in size, the CPU has 16kBs of RAM, so it fits OK.
The CPU has 64kB of flash (top couple of K used by the bootloader though. but, if the CPU's are anything like the STM32 CPU's, it MIGHT actually have 128kB flash, but that's a big MIGHT. Some STM32 cortex CPU's are sold as having 64kB flash, but actually have 128kB flash. The STM32 CPU's I've always used do.

The famous STM32F103C8T6 that is in fact an STM32F103CBT6, my experience with bluepill boards with clone chips make me think it's even a huge MIGHT

To return to the loading of parameters in RAM I have to check but I think it's like that on the RT-890 OEFW stock (otherwise I'll steal you the idea 😈)
Thank you for these explanations !


[BUG] Missing <IP_ADDRESS> tag

What is the bug?
The repo is missing a <IP_ADDRESS> release tag.
Do you have any additional context?
Trying to lock https://github.com/opensearch-project/opensearch-build/blob/main/manifests/1.1.0/opensearch-1.1.0.yml to a stable ref.

Created the <IP_ADDRESS> release tag https://github.com/opensearch-project/performance-analyzer-rca/tree/<IP_ADDRESS>


v1.0.0

@OlivierDehaene curious about the reason for reverting the vllm update as part of this?

Initial tests were fine but LLama v2 70b was not happy about it.

Thanks for the explanation


project folders are reported as ignored files that are tracked

RM 2017.1.5 idea-gitignore 2.0.4
This is new in 2.0.4.  On project open it alerts about ignored tracked files and the details dialog shows just the project folder name.

I have this issue as well. The project folder doesn't expand to show any files, and the list of commands below is blank:

Same here with Intellij IDEA 2017.2.1 and .ignore 2.0.4

I did the following to keep this message from showing up:
Open .gitignore file and select "Add unversioned files" that is shown to me at the top. After that I deleted the newly added lines in the .gitignore so the does not have any changes. The next time I opened the project the message did not show op. Can maybe someone try this and confirm that it is a work around?

Do you guys have a .dockerignore file in your project? I'm wondering if the plugin is confusing that with a .gitignore file.

I'm facing the same problem (IDEA 2017.2.1 and .ignore 2.0.4). I don't have a .dockerignore file

Same problem here, but I tried what tobske suggested above and it seems to have worked!

I confirm this problem. IDEA 2017.2.1, .ignore 2.0.4, I have only a .gitignore file.

Possible duplicate issue
https://github.com/hsz/idea-gitignore/issues/400

Duplicate of #400


TUM-CAMP-tutorials-contribution: DAF3D and Quicknat

Fixes # .
Description
@Al3xand1a and @ge96lip create these 2 tutorials for 2 networks that were recently accepted in MONAI core:
DAF3D[1] and Quicknat[2]
We would like to have your feedback to improve the contribution. Thank you in advance!
For any questions send us an email to<EMAIL_ADDRESS>[1]DAF3D:
Wang, Y., Dou, H., Hu, X., Zhu, L., Yang, X., Xu, M., ... & Ni, D. (2019). Deep attentive features for prostate segmentation in 3D transrectal ultrasound. IEEE transactions on medical imaging, 38(12), 2768-2778.
https://github.com/wulalago/DAF3D/blob/master/README.md
[2]QuickNAT:
Roy, A. G., Conjeti, S., Navab, N., Wachinger, C., & Alzheimer's Disease Neuroimaging Initiative. (2019). QuickNAT: A fully convolutional network for quick and accurate segmentation of neuroanatomy. NeuroImage, 186, 713-727.
https://www.sciencedirect.com/science/article/abs/pii/S1053811918321232
Checks

[x] Avoid including large-size files in the PR.
[ ] Clean up long text outputs from code cells in the notebook
[x] For security purposes, please check the contents and remove any sensitive info such as user names and private key.
[x] Ensure (1) hyperlinks and markdown anchors are working (2) use relative paths for tutorial repo files (3) put figure and graphs in the ./figure folder
[ ] Notebook runs automatically ./runner.sh -t <path to .ipynb file>

Hi @vgonzalezd ,
As the module had been merged into MONAI core, could you please help update and complete this PR?
Thanks in advance.

Just a heads up, you can review notebook changes like this using GitNotebooks.
e.g. this pull request https://gitnotebooks.com/Project-MONAI/tutorials/pull/1440
It allows inline comments on code and markdown, and it's free for public repos so I thought I'd share..


More useful error message than "No such file or directory"

I have a profile that if I backup returns this error message:
error: opening file failed: `Os { code: 2, kind: NotFound, message: "No such file or directory" }`

How can I understand better the issue, i.e. of which file or directory it is talking about?
The log file at DEBUG level isn't helpful in this regard:
# [...]

2024-10-03T02:38:22.758907955Z [DEBUG] (1) rustic_core::archiver::tree_archiver: changed   tree: "/home/jack/Documents" 2.1 kiB
2024-10-03T02:38:22.7590611Z [DEBUG] (1) rustic_core::archiver::tree_archiver: changed   tree: "/home/jack" 149 B
2024-10-03T02:38:22.759243073Z [DEBUG] (1) rustic_core::archiver::tree_archiver: changed   tree: "/home" 144 B
2024-10-03T02:38:27.20479552Z [DEBUG] (1) rustic_core::archiver::tree_archiver: changed   tree: "" 144 B

We added a new RusticError API, the errors should be much more concise now.
https://github.com/rustic-rs/rustic_core/releases/tag/rustic_core-v0.6.0
In case there are still problems, feel free to reopen.


Add first version of the library

Basically a port of the https://github.com/ami-iit/resolve-robotics-uri-py API to C++, taking the logic from the corresponding logic of iDynTree. I also took the occasion to play a bit with pixi.

Merging otherwise the CI will not run, feel free to comment on the PR even after merge.


Migrate to GitHub Actions.

Travis CI has a new pricing model which places limits on open source.

https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing
https://www.jeffgeerling.com/blog/2020/travis-cis-new-pricing-plan-threw-wrench-my-open-source-works

Many projects are moving to GitHub Actions instead, including Jazzband projects:

https://github.com/orgs/jazzband/projects/1
https://github.com/jazzband-roadies/help/issues/206

This is based on https://github.com/jazzband/contextlib2/pull/26.

@jezdez why we are moving from Travis to Github actions? I'm not sure I understand why this change is coming from.
Travis worked OK here.

@galuszkak Good question, I should have added a bit more description in the pull request above, lemme add that back. See above!
So in short there are a few reasons: Travis-CI is limiting the number of CI hours for OSS projects massively and requires applying for those credits proactively ahead of time (while also sunsetting travis-ci.org in favor of its commercial travis-ci.com). Given the number of projects in the Jazzband org, it was just a matter of time for this repo to hit throtteling, which would have shown up as much slower processing of jobs (read: waiting days for them to run). Some other Jazzband projects had already been affected negatively in waiting for releases to happen.
Additionally I'm using this chance to clear house a bit, by reducing the maintenance effort needed on my side by reducing the number of CI services. We have or had Circle, Semaphore, Travis, AppVeyor and GitHub Actions. The plan is to have only GitHub Actions going forward.

@jezdez thanks, appreciate context you had given. I wasn't aware of it. This make perfect sense.


Model viewer uses wrong UV coordinates

Description
The model viewer uses wrong UV causing glitched texture.
I was testing some asset that I did in blender.
Exported without any materials but with UV map, and the baked texture saved as a png.
When importing the model and adding the texture through the UI, the texture placement is false.
See the example below:
From https://modelviewer.dev/editor/ :

From my code using ThreeJS(r3f) :

The ThreeJS code :
const { nodes, materials, animations } = useGLTF('/test1-c.glb')
const texture = useTexture('/textures/test1.png');
texture.flipY = false;
texture.colorSpace = SRGBColorSpace;
let textureMaterial = useMemo(() => new MeshStandardMaterial({
     map: texture,
 }), []);

 return (
     <group dispose={null}>
         <group name="Scene">
             <mesh name="Table001" geometry={nodes.Table001.geometry} material={textureMaterial} position={[-61.321, 0, -10.449]} />
         </group>
     </group>
 )

The files:
test1.zip
Version

model-viewer: v3.3.0

Browser Affected

[X] Chrome, version: 119.0.6045.200
[X] Edge, version: 120.0.2210.61
[ ] Firefox (Couldn't test)
[ ] IE (Couldn't test)
[ ] Safari (Couldn't test)

OS

[ ] Android (Couldn't test)
[ ] iOS (Couldn't test)
[ ] Linux (Couldn't test)
[ ] MacOS (Couldn't test)
[X] Windows

AR

[ ] WebXR
[ ] SceneViewer
[ ] QuickLook

Interesting - can you repro in MV itself or just the editor? I'm hoping this is just an editor bug.

Hi… here the same… i noticed, that the editor mirrors the texture.
Two week ago everything worked fine. I also have problems to assign other (fixed) textures manually.

Sounds like it may have been a regression in three.js. I'm going to need a lot of detail to hunt down the problem. Can you share a Glitch with your attempt at assigning textures manually that didn't work? And can you share some detailed repro steps for the mirrored texture in the editor?

Hi elalish,
i made a screenshot, so I hope you can see the problem. On the left side you can see the reference gib Project (made from Substance) with the selected Material Chanel (its mirrored but looks good). On the right side you can see the original Texture png (in the model viewer it is mirrored).
If I use the same 3d model (same uv) but animated without textures – if then I want to reassign the textures , model viewer mirrored the textures while uploading it. But in that case the texture has to be in the right position.
It´s a bit weired… Maybe you have a better workflow for me… I want to visualize some step data. So first i use cinema4d to build a nice uv map… the I use Substance Painter to Texture the glb model (until now, everything is fine) then I use c4d again to animate the gib file because animation is not supported by Substance. Then I reassign the Textures from Substance to the animated glb file from cinema4d in the model viewer. Two weeks ago it worked – no problem at all.
First I thought it has something to do with the export settings in cinema4d "flip z"… but then I recognized that model viewer mirrored it. So I tried to mirror it in Photoshop first that it will be in the right position in the model viewer… but in that case it is not possible for me to assign the file at all…

Additionally I testet it in Babylon Sandbox… everything worked fine. Then I up the gab file from Babylon into Modelviewer… it looks right but when I Change the Texture… the model viewer mirrored the changed Texture again… so guess it has to do with the upload…

Can you do this with something simple like a textured quad? Link the file here, and then make repro steps (1...2...3...) for MV and bablyon and show screenshots of the difference? I have no ability to reproduce what you're talking about yet.

Hi elalish… here are the files… I hope you understand what I mean and can repro the steps…
Best Daniel

squad.zip

Thank you, I have a repro. I fact it repros on our example, simply by changing a texture and then setting it back. As best I can tell this seems to be some kind of three.js regression, especially since manually changing the value of texture.flipY has no effect now. FYI @mrdoob.

Okay, I found the problem - hasn't gotten into a release yet, so that's good. It's also not a three.js regression. The problem is I tried to use @daniele-pelagatti's HDR jpeg loader for all our images, but it uses ImageBitmap internally, so texture.flipY has no effect. It's pushing upside-down images because it sets FlipY to true, while I set it to false. Would be great to expose that setting in the decoder, or better yet to get HDR support built into core three.js. Meanwhile, I need to use two different image loaders.


Rendering diagonal lines

Binary Ninja Version 2.4.3041 Personal (latest dev)
I'm seeing a diagonal line rendered in the stack view. At first I thought I had a scratch on my screen. I took a screenshot of what it looks like. This is with the /usr/libexec/taskgated binary open on the _start function. The line stays in the same spot when the stack view is scrolled.

(Edit: I'm using a MacBook Pro on MacOS 10.15.7)

Fixed in build 3064


Removing whole dependencies directory on :webResourceCompile

I've configured plugin to copy dependencies to my-website/src/main/webapp/static/lib
however i've also one library which is not downloadable with bower and i keep it in lib directory.
However when I'm starting :webResourceCompile it's removing whole directory.
I would like to have a way to ignore my library.
I know that we are not able to remove only declared dependencies because it could be differ in some cases (when removing dependency from gradle) but in other case it shouldn't remove whole directory.
Any ideas on that?

Maybe I should add some options to handle that.

List option to specify dependencies that should not be removed in lib.dest directory.
lib {
    excludeFromClean = ["foo", "bar"]
}

boolean option to specify that lib.dest directory should be removed before copying.
lib {
    cleanOnUpdate = false
}

The first one is better in my opinion, but if your dependencies that are not downloadable with bower changes frequently, managing this option might be annoying.
If the second one is false, the plugin won't remove lib.dest directory on each build.
It might be enough for your case, but not cleaning destination directory might cause other problems (unused dependency might be deployed).
Maybe you should clean the directory in other way.
I'll try adding both options later and upload plugin as a SNAPSHOT version.
BTW, what is "not downloadable with bower"?
Is it downloadable with other tools such as npm?

I've added options and uploaded as 1.1.2-SNAPSHOT.
If this modification satisfies your requirement, I'll release it as v1.1.2.
You can try it with following configuration instead of plugins { ... } in your build.gradle.
buildscript {
    repositories {
        maven {
            url uri('https://oss.sonatype.org/content/repositories/snapshots/')
        }
    }
    dependencies {
        classpath 'com.github.ksoichiro:gradle-web-resource-plugin:1.1.2-SNAPSHOT'
    }
}

apply plugin: 'com.github.ksoichiro.web.resource'

God bless yoy. I've just started computer to start working on this PR :) I would check it thanks a lot. I was thinking about this solution.
Not downloadable is for example tinymce which is coming as bower package but language packs for translation are not downloadable (they mentioned some automatic translation downloading, however it's not working and they said it wouldn't - that is what i've been told). That's why we have manually downloaded tinymce from bower and added some language packs inside. Quick and dirty i know. However I can imagine more situations like that can happen. I think this would nice option to be able to exclude directories from cleanup or just disable cleanup.

This works great. What I expected.
However I've noticed some strange behaviour.
My test setup is:
buildscript {
    repositories {
        jcenter()
        maven {
            url uri('https://oss.sonatype.org/content/repositories/snapshots/')
        }
    }
    dependencies {
        classpath 'com.github.ksoichiro:gradle-web-resource-plugin:1.1.2-SNAPSHOT'
    }
}

apply plugin: 'base'
apply plugin: 'com.github.ksoichiro.web.resource'

webResource {
  base {
    src 'src/main'
    dest 'src/main/webapp/static'
  }

  lib {
    excludeFromClean = ["tinymce"]
  }

  bower {
    dependencies {
      install name: "bootstrap", version: "latest"
      install name: "angular", version: "latest"
    }
  }
}

I've directory strucutre:
src/main/webapp/static/
├── lib
│   ├── bootstrap
│   └── tinymce
└── lib2
    ├── bootstrap
    └── tinymce

lib is target directory (lib2 is my copy to make tests easier). tinymce is a directory i like to keep.
I'm doing copy:
cp -R src/main/webapp/static/lib2/tinymce/ src/main/webapp/static/lib/tin2

now my structure is like this:
src/main/webapp/static/
└── lib
    ├── bootstrap
    ├── tin2
    └── tinymce

after gradle clean webResourceCompile I would expect to tin2 directory be removed. But it's not always true. (no errors here).
However when I'm run gradle clean webResourceCompile --info it's always true. I've look into your implementation and found nothing.
It's looking like some thread race...

Thanks for checking.
I've confirmed the issue that tin2 is not always removed.
When it's not removed, webResourceCopyBowerDependencies task is skipped as UP-TO-DATE, isn't it?
I think it is Gradle task's behavior:

Note that if a task has an output directory specified, any files added to that directory since the last time it was executed are ignored and will NOT cause the task to be out of date. This is so unrelated tasks may share an output directory without interfering with each other. If this is not the behaviour you want for some reason, consider using TaskOutputs.upToDateWhen()

Maybe I should handle upToDateWhen() to solve this issue.
I'll look into it further.

could be, but it's not so important for now. I found that just interesting. However quotation is seams to be right here.

I'm ready to close this issue.

Thanks for your comment.
OK, as you say it's not so important.
I'll release this change (new options) and close this issue later.

I've released it as v1.1.2.
Closing the issue.


Changes to loading and saving

Fix for #154 and #464.
Load and Create
Previously, the various DockerClient.load(...) methods all wrapped the /images/create docker API endpoint, not the /images/load endpoint as the method name implies. In fact, no methods in DockerClient wrapped /images/load.
This PR:

Deprecates all existing DockerClient.load(...) methods;
Creates two DockerClient.create(...) methods, the implementations of which perform the functions that DefaultDockerClient.load(...) used to perform;
Creates a new DockerClient.load(ImageStream) method, the implementation of which calls /images/load.

Save

There was no reason to use the AuthConfig when calling /images/{name}/get. The method DockerClient.save(String, AuthConfig) has been deprecated.
The other save method, DockerClient.save(String) has been changed to DockerClient.save(String...). This is to make use of the two related APIs /images/{name}/get and /images/get?names=name1&names=name2....

Current coverage is 50.23% (diff: 15.00%)

Merging #494 into master will decrease coverage by 0.31%

@@             master       #494   diff @@
==========================================
  Files            83         83
  Lines          3219       3235    +16
  Methods           0          0
  Messages          0          0
  Branches        456        460     +4
==========================================
- Hits           1627       1625     -2
- Misses         1443       1459    +16
- Partials        149        151     +2

Powered by Codecov. Last update 3c985eb...0ac3f68

@mattnworb The client will support both now. I think @johnflavin was just trying to make the method names match the API endpoint names. Does that make sense?

I think I misunderstood why the existing DockerClient.load(..) methods were being marked as deprecated. Is it simply that some of the existing methods are confusing in that they do not match the names of the Docker Remote API methods that they call, so they are deprecated to point people to use the better-named methods?

also the TravisCI errors look completely unrelated.

@mattnworb

Is it simply that some of the existing methods are confusing in that they do not match the names of the Docker Remote API methods that they call, so they are deprecated to point people to use the better-named methods?

Yup

@mattnworb Any idea why travis fails for those two docker versions?

@davidxia I think some assumption we made in our script that installs a specific docker version in travis's environment must have changed or been broken by them


save public key and secret keys in files

From @joehand on January 18, 2017 23:43

save public key to .dat/key_ed25519_pub with base64 encoding
save private key to .dat/key_ed25519 with base64 encoding
save private content key to .dat/key_content_ed25519 with base64 encoding

we may not need the content key, depending on use case. If leveldb is nuked, content feed will change keys anyways. But then we can't replicate the same feed (may not be able to anyways).
Copied from original issue: joehand/dat-next#83

From @yoshuawuyts on January 20, 2017 13:25
In Normcore we call these KEY and PRIVATE_KEY
https://github.com/yoshuawuyts/normcore/blob/master/index.js#L35-L36. I
kinda like your approach better because it explains what the protocol is
rather than making it magicky, tho the words are a bit more complex. Guess
given it's internals it shouldn't matter anyway, right?
On Thu, Jan 19, 2017 at 1:59 AM Joe Hand<EMAIL_ADDRESS>wrote:

This will be mostly in dat-node.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/joehand/dat-next/issues/83#issuecomment-273650829,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACWleuMawtDc2gLvt_i1Xn7Br2AOuCT7ks5rTrVxgaJpZM4LniF-
.

This will be mostly in dat-node.

From @karissa on January 23, 2017 20:24
+1

See discussion in https://github.com/datproject/dat-node/pull/80. It'd be good to have use cases for this before implementing. I don't quite understand if/how we need to also use the content secret key. It doesn't seem like the metadata/archive secret key is useful by itself.
Moving to next milestone unless there are major objections.

Done via SLEEP + dat-storage.


⚠ Bofrost.at has degraded performance

In 77f2792, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2658 ms

Resolved: Bofrost.at performance has improved in 2f130ad after 13 minutes.


Support for OpenSearch backend

This issue documents approaches on how to make audit logs accessible for OpenSearch.
Option 1: Reconfigure Fluent Bit output section to have a structure like:
[OUTPUT]
   Name opensearch
   Match *
   Host <IP_ADDRESS>
   Port 9200
   Index fluent-bit
   Type _doc

Source 1
Source 2
Source 3
Option 2: Extend gardener-extension-audit with another backend of type OpenSearch to send audit logs to:
type AuditBackendOpenSearch struct { ... }

In my opinion option 2 might be necessary.


New prelude

This reworks how baselib (now called specr) and the prelude work together.
Remarks:

std::result::Result is mandatory in Align because of type Result<T> = ... from the prelude/main.md, or do we want to return TerminationInfo::Ub incase of errors?
Size::from_bytes has been implemented as infallible, as we intended for the future.

Should be ready to review now! :)


Export Table Data

Hi Istvan,
I appreciate you for this wonderful work!!
In our project currently we are using Angular UI-Grid where inbuilt export functionality is there to export the table data in pdf, csv etc format, Is that feature is also available in mdDataTable or we have to write custom code to achieve this functionality.
Could you please shade some light on it how we can achieve this functionality with minimal complex code..
Thanks & Regards,
Dhiraj

Hi @Dhiraj1411 ,
Thanks for your question.
Short answer:
There is no export functionality at the moment.
Longer answer:
Given the table support different type of sources as an input (simple array, ajax results), not all of these sources could have this export functionality, or just in a limited format. Furthermore you can have custom data cells which could contain html elements which are not really exportable or doesn't make too much sense to export.

With a simple array and data (non-html data cells) it will be easy because the table has all the data and it's just a simple code to go through every row and write it in a csv format.

With lazy-load a.k.a ajax input source, it will be trickier, but still not impossible. The data in this case is not available immediately, so it would require some time to go through the paged dataset and collect all the information (if it's even possible, since there can be millions of rows as well) it needs to generate the export.

First of all I'd be interested which one you need and depending on it I might build that feature in in the following 1-2 days.
If you want to build it on your own, you have an easy way of doing it, since you have the data in your application. You just pass all the information you have to the table which takes care of the visualization and manages the features you turned on with your setup.


ListDatumResponse should have a datum_info field instead of datum_infos

ListDatumResponse currently has a datum_infos field, while DatumInfos (and all other *Infos messages) have a datum_info (singular) field

stale


[iPhone 12 mini][Safari] Popover not centered

Steps to reproduce:

Open Popover Basic (iPhone, Safari)
Click on Trigger

Modal dialogue is not centered

could not reproduced


Pin to vendor consul image and core-config-seed-go

Signed-off-by: Jeremy Phelps<EMAIL_ADDRESS>

recheck

recheck

recheck


Connect to IdentityServer4 from WebForms App

Dear, IdentityServer developers.
I start using IdentityServer to share logged users' info between web applications.
Our solutions' stack has plenty of ASPX WebForms-based applications and few projects based on asp.vnext.
We also have plans to improve old projects using self-hosting owin architecture.
IdentityServer4  works good with new (asp.vnext) applications but another projects always get error:  unauthorized_client The client application is not known or is not authorized.
So, please, could  you show example of using IdentityServer4 authentication pipeline with ASPX Web Form (or just with owin-based applications)?
Here're source codes
Server (like in samples):
public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
        }

        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole();
            loggerFactory.AddDebug();

            app.UseIISPlatformHandler();

            app.UseCors(policy =>
            {
                policy.WithOrigins("http://localhost:28895", "http://localhost:7017");
                policy.AllowAnyHeader();
                policy.AllowAnyMethod();
            });

            JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();
            app.UseIdentityServerAuthentication(options =>
            {
                options.Authority = "http://localhost:22530/";
                options.ScopeName = "api1";
                options.ScopeSecret = "secret";

                options.AutomaticAuthenticate = true;
                options.AutomaticChallenge = true;
            });

            app.UseMvc();
        }

        // Entry point for the application.
        public static void Main(string[] args) => WebApplication.Run<Startup>(args);
    }

public class Clients
    {
        public static IEnumerable<Client> Get()
        {
            return new List<Client>{
               ///////////////////////////////////////////
                // MVC Implicit Flow Samples
                //////////////////////////////////////////
                new Client
                {
                    ClientId = "mvc_implicit",
                    ClientName = "WebApplication1",
                    ClientUri = "http://identityserver.io",

                    Flow = Flows.Implicit,
                    RedirectUris = new List<string>
                    {
                        "http://localhost:44077/signin-oidc"
                    },

                    AllowedScopes = new List<string>
                    {
                        StandardScopes.OpenId.Name,
                        StandardScopes.Profile.Name,
                        StandardScopes.Email.Name,
                        StandardScopes.Roles.Name,

                        "api1", "api2"
                    }
                }
            }
         }
       }

And client (web forms)
[assembly: OwinStartup(typeof(WebApplication1.Startup))]

namespace WebApplication1
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.UseCookieAuthentication(new CookieAuthenticationOptions()
            {
                AuthenticationType = "Cookies"
            });

            app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
            {
                Authority = "http://localhost:22530/",
                ClientId = "mvc_implicit",
                RedirectUri = "http://localhost:13270",
                ResponseType = "id_token token",

                SignInAsAuthenticationType = "Cookies"
            });

        }
    }
}

and in page
public partial class About : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Request.IsAuthenticated)
            {
                HttpContext.Current.GetOwinContext().Authentication.Challenge(
                    new AuthenticationProperties
                    {
                        RedirectUri = "/Contact.aspx"
                    },
                    OpenIdConnectAuthenticationDefaults.AuthenticationType);
            }
        }
    }

I'll be pleased to any example or link.
Thanks.

We have a web forms sample client using IdSvr3, but the client code would look the same regardless which one you're using. https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/Clients/WebFormsClient

Thanks, solved.
The reason of

unauthorized_client The client application is not known or is not authorized

was in RedirectUrl disparity between client on IdentityServers' list and RedirectUrl option in
OpenIdConnectAuthenticationOptions.

Is the implicit flow the only option for a ASP.NET WebForms web application? Can hybrid flow be used?
We are currently migrating old web applications to use IdentityServer 4 in order to provide single-sign between with ASP.NET WebForms and ASP.NET Core MVC web applications.

You can use hybrid flow of course. The question is rather how much custom code you have to write. Katana's OIDC middleware already does a lot for you (but not everything).

@leastprivilege OK I will research if implementing Hybrid flow instead of Implicit flow in our Webforms applications is useful for us, currently I don't have the full picture why chosing Hybrid instead of Implicit is preferred.
My guess (which probably isn't entire true) it that it's more secure to use Hybrid since the Implicit flow exposes id_token and access_token to the end-user browser, this is something that Hybrid flow doesn't do by default...

yes - absolutely.

@BlackMoon Hello, I know I am asking a year later, but can you tell me how did you solve the issue and if possible share the code that you used for the client

I store available clients in external jsonsettings file - clients.json
 {             "ClientId": "eco.webforms",             "ClientName": "ECO-Control",             "RequireConsent": false,             "AllowRememberConsent": false,             "RedirectUris": [ "http://eco", "http://eco.aquilon.ru" ],             "PostLogoutRedirectUris": [ "http://eco.aquilon.ru" ],             "AllowedScopes": [ "openid", "connectionString" ]         },
Custom scope - [ConnectionString]
Then override some dependencies
public IServiceProvider ConfigureServices(IServiceCollection services)
{
...
#region clients (from clients.json)
builder.Services.AddSingleton<IEnumerable>(provider => provider.GetService<IOptions<List>>().Value);
builder.Services.AddTransient<IClientStore, InMemoryClientStore>();
builder.Services.AddTransient<ICorsPolicyService, InMemoryCorsPolicyService>();
#endregion
        #region resources
        builder.AddInMemoryIdentityResources(accounts.Configuration.Resources.GetIdentityResources());
        #endregion

        #region users --> empty list
        builder.AddProfileService<Services.ProfileService>();
        builder.Services.AddSingleton(new List<InMemoryUser>());
        builder.Services.AddTransient<IResourceOwnerPasswordValidator, InMemoryUserResourceOwnerPasswordValidator>();
        #endregion

...
}
Client WebForms App -
OpenIdConfiguration config = ConfigurationManagerWrapper.GetSection("openid");
if (config != null)
{
options.AuthenticationType = config.SignInAsAuthenticationType;
options.ExpireTimeSpan = TimeSpan.FromSeconds(config.ExpirationTime);
            if (!string.IsNullOrEmpty(config.CookieName))
                options.CookieName = config.CookieName;
        }

        app.UseCookieAuthentication(options);

        // если задан OpenId
        if (config != null)
        {
            JwtSecurityTokenHandler.InboundClaimTypeMap.Clear();

            app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
            {
                AuthenticationType = config.AuthenticationType,
                SignInAsAuthenticationType = config.SignInAsAuthenticationType,
                Authority = config.Authority,
                ClientId = config.ClientId,
                RedirectUri = config.RedirectUri,
                ResponseType = config.ResponceType,
                Scope = config.Scope,
                UseTokenLifetime = config.UseTokenLifetime,

                Notifications = new OpenIdConnectAuthenticationNotifications()
                {
                    RedirectToIdentityProvider = n =>
                    {
                        switch (n.ProtocolMessage.RequestType)
                        {
                            // if signing in, check domain binding
                            case OpenIdConnectRequestType.AuthenticationRequest:

                                Uri redirectUri = new Uri(n.ProtocolMessage.RedirectUri);
                                n.ProtocolMessage.RedirectUri =  n.ProtocolMessage.RedirectUri.Replace(redirectUri.Host, n.Request.Uri.Host);

                                break;

                            // if signing out, add the id_token_hint
                            case OpenIdConnectRequestType.LogoutRequest:

                                var idTokenHint = n.OwinContext.Authentication.User.FindFirst("id_token");
                                n.ProtocolMessage.IdTokenHint = idTokenHint?.Value;

                                break;
                        }
                        return Task.FromResult(0);
                    },

                    SecurityTokenValidated = n =>
                    {
                        ClaimsIdentity ci = n.AuthenticationTicket.Identity;
                        ci.AddClaim(new Claim("id_token", n.ProtocolMessage.IdToken));

                       //

                        n.AuthenticationTicket = new AuthenticationTicket(
                            new ClaimsIdentity(ci.Claims, n.AuthenticationTicket.Identity.AuthenticationType, "name", "role"),
                            n.AuthenticationTicket.Properties);

                        return Task.FromResult(0);
                    }
                }
            });

            app.UseStageMarker(PipelineStage.Authenticate);`

`

Thanks for the reply, my problem was that the redirect Uri was not configured correctly at the server side. So silly!!

@BlackMoon If you can help with one more thing I'd be grateful. When you request to Login to the SSO, you get redirected from localhost/About to the SSO page. What part of the code is responsible for that ?
I am using the sample provided at https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/Clients/WebFormsClient

This is default behaviour of
ASPNet Cookie Authentication mechanism.
You can change default behaviour in app.UseCookieAuthentication middleware (overriding options/events)

code path in

https://github.com/IdentityServer/IdentityServer3.Samples/blob/master/source/Clients/WebFormsClient/Startup.cs

Hi,
I am too late, but after reading all I have found that sample for webform is present in Identity Server 3 samples but I also found that Identity Server 3 isn't maintained any more.
can you please suggest how can I implement SSO in webforms

Hi!
It will take some time (1-2 days) to find out SSO implementation in WebForms
On Thu, 22 Nov 2018 at 16:20, Engineerumair<EMAIL_ADDRESS>wrote:

Hi,
I am too late, but after reading all I have found that sample for webform
is present in Identity Server 3 samples but I also found that Identity
Server 3 isn't maintained any more.
can you please suggest how can I implement SSO in webforms
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IdentityServer/IdentityServer4/issues/78#issuecomment-441028718,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFxVOPVQZHq5hXuniDW-2ki87BPN8yBAks5uxqSDgaJpZM4IOP8T
.

--
С уважением, Романов Роман Валерьевич +7 (999) 897-61-74, +7 (917)
256-61-03 skype: black_m7

@BlackMoon what do you mean by taking 1 - 2 days? I found webforms in Identity Server 3 but there isn't any client on webform on Identity Server 4.
and please let me know that what kind of Identity Server 4 application is more suitable for existing old king of webform aspx pages?

It was several years ago when I implemented sso in web forms, so I need
time to find sources in archive backups
On Thu, 22 Nov 2018 at 19:32, Engineerumair<EMAIL_ADDRESS>wrote:

@BlackMoon https://github.com/BlackMoon what do you mean by taking 1 -
2 days? I found webforms in Identity Server 3 but there isn't any client on
webform on Identity Server 4.
and please let me know that what kind of Identity Server 4 application is
more suitable for existing old king of webform aspx pages?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IdentityServer/IdentityServer4/issues/78#issuecomment-441079321,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFxVOPetlc3a8fU3EsZHViJRr7AJX8_7ks5uxtG2gaJpZM4IOP8T
.

--
С уважением, Романов Роман Валерьевич +7 (999) 897-61-74, +7 (917)
256-61-03 skype: black_m7

@BlackMoon can we use direct openID to implement SSO in webforms?

As far as I remember, these steps are necessary:

Convert Web form site to web forms application
Add OWIN support to app
In Startup, Configure(IAppBuilder) - put right-ordered OpenId middlewares
In web.config - remove authorization- Forms

четверг, 22 ноября 2018 г. пользователь Engineerumair написал:

@BlackMoon https://github.com/BlackMoon can we use direct openID to
implement SSO in webforms?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IdentityServer/IdentityServer4/issues/78#issuecomment-441086631,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFxVOKKhcFaZ0Yo_oUAixf6I8f3RN0Qaks5uxtmdgaJpZM4IOP8T
.

--
С уважением,
Романов Роман Валерьевич
+7 (999) 897-61-74,
+7 (917) 256-61-03
skype: black_m7

How to convert webform site into webform application?

To convert pages and classes to use partial classes in a Web
application project
https://msdn.microsoft.com/en-us/library/aa983476.aspx
четверг, 22 ноября 2018 г. пользователь Engineerumair написал:

How to convert webform site into webform application?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IdentityServer/IdentityServer4/issues/78#issuecomment-441109335,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFxVOCicTP_SOM0iMLh9nwWGy3BcF8guks5uxvzdgaJpZM4IOP8T
.

--
С уважением,
Романов Роман Валерьевич
+7 (999) 897-61-74,
+7 (917) 256-61-03
skype: black_m7

@BlackMoon I don't need to convert my website into application because it is already an application
I need to confirm that, can I directly use openID for Single Sign On rather than create an Identity server 4 application and hosting.
I want the existing application should use openID to have single sign on for google and facebook

Fine. So your app can deal with OpenId
For Google/Facebook add into
Configuration (IAppBuilder) -
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
..........
}
);
And set
None
in web.config
On Fri, 23 Nov 2018 at 16:39, Engineerumair<EMAIL_ADDRESS>wrote:

@BlackMoon https://github.com/BlackMoon I don't need to convert my
website into application because it is already an application
I need to confirm that, can I directly use openID for Single Sign On
rather than create an Identity server 4 application and hosting.
I want the existing application should use openID to have single sign on
for google and facebook
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IdentityServer/IdentityServer4/issues/78#issuecomment-441243594,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFxVOKxcfR097ZuBcEtXD3z94CS-R1AHks5ux_qZgaJpZM4IOP8T
.

--
С уважением, Романов Роман Валерьевич +7 (999) 897-61-74, +7 (917)
256-61-03 skype: black_m7

I used Identity Server to create custom SSO server inside my company’s
intranet and for Oracle- based authentication
On Fri, 23 Nov 2018 at 20:17, Роман<EMAIL_ADDRESS>wrote:

Fine. So your app can deal with OpenId
For Google/Facebook add into
Configuration (IAppBuilder) -
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
..........
}
);
And set
None
in web.config
On Fri, 23 Nov 2018 at 16:39, Engineerumair<EMAIL_ADDRESS>wrote:

@BlackMoon https://github.com/BlackMoon I don't need to convert my
website into application because it is already an application
I need to confirm that, can I directly use openID for Single Sign On
rather than create an Identity server 4 application and hosting.
I want the existing application should use openID to have single sign on
for google and facebook
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IdentityServer/IdentityServer4/issues/78#issuecomment-441243594,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFxVOKxcfR097ZuBcEtXD3z94CS-R1AHks5ux_qZgaJpZM4IOP8T
.

--
С уважением, Романов Роман Валерьевич +7 (999) 897-61-74, +7 (917)
256-61-03 skype: black_m7

--
С уважением, Романов Роман Валерьевич +7 (999) 897-61-74, +7 (917)
256-61-03 skype: black_m7

If I don't need custom SSO then what is the better solution?

Install
Microsoft.Owin.Security
Microsoft.Owin.Security.Cookies
Microsoft.Owin.Security.Google
Microsoft.Owin.Security.Facebook
Register your App on remote openId Server.
You'll be provided back with proper URL, key and other options
Inject openId middlewares in request pipeline
app.UseExternalSignInCookie
app.UseGoogleAuthentication
.......
and other necessary providers
пятница, 23 ноября 2018 г. пользователь Engineerumair написал:

If I don't need custom SSO then what is the better solution?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IdentityServer/IdentityServer4/issues/78#issuecomment-441292825,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFxVOLPEs5_Yx61QeqIgdHFwTxD2hwPGks5uyDJIgaJpZM4IOP8T
.

--
С уважением,
Романов Роман Валерьевич
+7 (999) 897-61-74,
+7 (917) 256-61-03
skype: black_m7

@BlackMoon Where can I find remote Identity Server

Google guidelines-
https://developers.google.com/identity/protocols/OpenIDConnect
Facebook - https://developers.facebook.com/docs/facebook-login/
суббота, 24 ноября 2018 г. пользователь Engineerumair написал:

@BlackMoon https://github.com/BlackMoon Where can I find remote
Identity Server
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IdentityServer/IdentityServer4/issues/78#issuecomment-441345813,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFxVOFH8-dcWelpE9u8tSQZXKClTONkFks5uyN7XgaJpZM4IOP8T
.

--
С уважением,
Романов Роман Валерьевич
+7 (999) 897-61-74,
+7 (917) 256-61-03
skype: black_m7

I too am needing to figure out Webforms with IdentityServer so am struggling to get the IdentityServer3 sample project working. I finally got the solution down to only a couple remaining errors but this one I just can't figure out. Is "Item1" from Startup.cs line 63 deprecated? Screenshot below.


Update recipe for new TILEDBSOMA_PATH handling

As pointed out by @jdblischak on #12 with regard to changes made on https://github.com/single-cell-data/TileDB-SOMA/pull/1189:
https://github.com/single-cell-data/TileDB-SOMA/pull/1189/files#diff-66aed70e28174320f1db4eaccedcab15d85d14b96fb0c2e9f03417e6fc07df92R47
Context: https://github.com/single-cell-data/TileDB-SOMA/issues/1242

I'm pretty sure this change needs to be made after the next release of TileDB-SOMA, right? IIUC the current release of the Python client doesn't support TILEDBSOMA_PATH.
Also, I thought the plan under consideration was to allow the Python client to support both strategies, ie the user could set TILEDBSOMA_PATH or use --libtiledbsoma, in which case the conda recipe wouldn't need to be udpated

Thanks for the feedback @jdblischak ! :)

https://github.com/single-cell-data/TileDB-SOMA/pull/1253 FYI

Superseded by https://github.com/single-cell-data/TileDB-SOMA/pull/1253


how to open *.z files

when i extract the logo.bin it gives me a lots of files names like "logo_000.raw.z"
"logo_001.raw.z"
how can i open thats files?
sorry for my bad English

Unpack it
cat logo_000.raw.z | pigz -d > logo_000.raw.bin ffmpeg -vcodec rawvideo -f rawvideo \     -pix_fmt bgra -s 1080x2408 -i "logo_000.raw.bin" \     -f image2 -vcodec png "img-001.png"


Make it easier to use the mongo bundle in a command

Due to this being a bundle getting a configured mongo client in a command is challenging because there is no environment. It would be nice to have a way to get the client object from the bundle when only in possession of the MongoConfiguration object.

Changes to support this are now on develop.  An command has been added to the example application for reference.