feat: add admin.placeholder option to Relationship field

Description
Adds the ability to define a custom placeholder for Relationship fields, in line with other fields.

[x] I have read and understand the CONTRIBUTING.md document in this repository.

Type of change

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

Checklist:

[ ] I have added tests that prove my fix is effective or that my feature works
[x] Existing test suite passes locally with my changes
[x] I have made corresponding changes to the documentation

I haven't added a test, let me know if it's required and I'll have a crack at it.


Improve GetInnerVertex() by querying local fragment only

What do these changes do?

The current implementation of GetInnerVertex() is to query all the fragment, it's not needed as we only need the inner vertex

Merged. Nice catch!


rspec run_callbacks(:commit)  for create action is not working ?

I am writing a test case for after_commit callback:
after_commit :notify_user, :on => :create

When I am executing test case without putting condition :on => :create, it works. But when try to run with condition :on => :create then after_commit callback is not executing, it skipped.
Here below is the testcase which is not working
describe "after commit" do
 after do
   subject.run_callbacks(:commit)
 end
 it "should receive notify_user when created" do
   subject.should_receive(:notify_user)
 end
end

And which version of RSpec?
I can't remember if we have should_receive, is this coming from Mocha?

I am using Rails 4.2.8.

On 08-Oct-2020, at 4:27 PM, Phil Pirozhkov<EMAIL_ADDRESS>wrote:
Which version of Rails are you using?
Typically, you should use https://github.com/grosser/test_after_commit https://github.com/grosser/test_after_commit for Rails 4, and the same is baked in Rails 5+ rails/rails#18458 https://github.com/rails/rails/pull/18458
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/rspec/rspec-rails/issues/2395#issuecomment-705493425, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOZYRQWTCVWKVPOXUCLMBXDSJWLKDANCNFSM4SIS75LA.

RSpec 3.9

On 08-Oct-2020, at 4:30 PM, Phil Pirozhkov<EMAIL_ADDRESS>wrote:
And which version of RSpec?
I can't remember if we have should_receive, is this coming from Mocha?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/rspec/rspec-rails/issues/2395#issuecomment-705494547, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOZYRQUCL64QQZMRNZ7V2RLSJWLTDANCNFSM4SIS75LA.

I'd say give test_after_commit a shot.
Provide a snippet of the model/spec.
Anyway, this question is more suitable for StackOverflow, not our bug tracker.

Yes, it worked with them gem. Thanks for your time!!
On Thu, Oct 8, 2020, 4:36 PM Phil Pirozhkov<EMAIL_ADDRESS>wrote:

I'd say give test_after_commit a shot.
Provide a snippet of the model/spec.
Anyway, this question is more suitable for StackOverflow, not our bug
tracker.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rspec/rspec-rails/issues/2395#issuecomment-705497385,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOZYRQX4F2UIW7MJYQY6ZULSJWMKTANCNFSM4SIS75LA
.


[ bug Report ] SKELETON and MUMMY enemies unaffected by SHOTGUN blasts like how they used to be

TombEngine version
v<IP_ADDRESS> (Latest Release)
Tomb Editor version
v1.7.2
Describe the bug
Both the SKELETON and MUMMY Enemies no longer react to being shot with a Shotgun causing em to fall down, which makes levels with Skeletons impossible to kill unless using explosive weaponry as with mummies
To Reproduce
Activate a MUMMY or SKELETON and shoot with a shotgun, see how they do not react to it like how they used to.
Expected Behaviour
SKELETON should fall back, if falling into a pit should kill it, MUMMY should fall back onto the ground and then get back up again.
Additional Content
No response
Minimal reproduction project
https://drive.google.com/file/d/1yyIGKHDoM3HMtYP_a5mV4pQvDA7r9u4t/view?usp=sharing - It's just the Level, nothing special required to get it running as it only contains one room, lara object, mummy object, skeleton object and a shotgun with ammo to test.

Fixed in 369e1ca96706a34cf70232c1f27fb01da38e6c80


Separate SearchBar for Java code area and smali code area

For doing so some classes were renamed and the class hierarchy was changed:

The CodePanel has been split up into one panel for Java Classes (with smali tab) and one for text based reources (without smali tab).
CodePanel has been renamed to CodeContentPanel (as the new CodePanel now is only a CodeArea + scrollable SearchBar)
The CodeArea for Java code and Smali code now use the same abstract base class AbstractCodeArea.

Good. One thing: looks like settings (like font size) not apply to smali tab on creation. To reproduce: change font size in settings-> open another not yet opened class -> go to smali tab -> still old font size.
P.S. Is it really usefull to view smali in separate tab? For me side by side view will be much better because it allows to see and compare at a same time both java code and smali.
Like in Bytecode Viewer (jadx was added recently :+1:)
Or maybe we need option to switch from tabs to split view.


Optional links to the presentations

Add in the schedule the possibility to attach a link to the slides of each presented paper at the workshop/conference

The links to the slides are available as attributes of the paper themselves, so they can be found there when showing the schedule on the website.


Feature Request: Date filter

It would be really nice to a rudimentary date filter.

Absolutley!

Would be nice to be able to select a range of dates or to start from a current date (like what's done on google scholar).


Add security BBEs for FTP

Description:
Need to write security BBEs for FTP (SFTP).

Reduce the priority as SFTP related configuration already exists in the Module.md


Pixel Streaming in Carla

Is it possible to play pixel streaming, plug-in of Unreal Engine in Carla. Has anyone tried it?

Hi,
Pixel Streaming is not integrated with CARLA: you can use it, but it won't interact with CARLA.


scipy.signal.correlate has an error in the documentation, examples section

There is an error in the fourth line of the examples section of the documentation for scipy.signal.correlate.

from scipy import signal
sig = np.repeat([0., 1., 1., 0., 1., 0., 0., 1.], 128)
sig_noise = sig + np.random.randn(len(sig))
corr = signal.correlate(sig_noise, np.ones(128), mode='same') / 128

It should be sig instead of np.ones(128) as the aim is to cross correlate the signal with the noisy signal, not with an array of ones. The plot used in the documentation is also generated with sig instead of np.ones(128), the title for this plot also references cross-correlating with sig not np.ones(128).

ax_corr.set_title('Cross-correlated with rectangular pulse')

https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.correlate.html

the aim is to cross correlate the signal with the noisy signal,

For this particular example, I don't think that's actually the aim -- the aim is to "Implement a matched filter using cross-correlation". Here the matched filter is the 128-sample boxcar for each of the original 8 values of interest in the signal (each of which is in the middle of a 128-sample bump). Perhaps it's not totally clear, but I think it's doing something reasonable.
What you propose to do -- computing the cross-correlation of the noisy signal with the original, complete, expanded signal -- could be used to demonstrate a different application of cross-correlation (it should have peak at lag zero, indicating that the signal hasn't shifted in time or anything). PR welcome to improve the docs

I've added the new example computing the cross-correlation of the noisy signal and the original signal to the documentation.


contract violation exceptions due to incorrect "method overloading" or bug in contracts gem

@alexanderdean @fblundun, this Ruby code is not doing what you think it's doing:
    # Better name for track unstruct event
    #
    Contract SelfDescribingJson, Maybe[@@ContextsInput], Timestamp => Tracker
    def track_self_describing_event(event_json, context=nil, tstamp=nil)
      track_unstruct_event(event_json, context, tstamp)
    end

    # Better name for track unstruct event
    # set the timestamp to the device timestamp
    Contract SelfDescribingJson, Maybe[@@ContextsInput], Maybe[Num] => Tracker
    def track_self_describing_event(event_json, context=nil, tstamp=nil)
      track_unstruct_event(event_json, context, tstamp)
    end

We are still investigating exactly what's going on, but this "method overloading" (as it where) is not supported in Ruby, and we're observing Contract violation exceptions in a non-insignificant number of cases because the Ruby runtime - seemingly randomly - picks up the contract associated with the second method definition, not the first one.
I will post any additional findings on this ticket as we uncover them, but I thought I'd report the issue immediately as it is having a huge impact on our data completeness and correctness.
FWIW, in case it turns out to be a Ruby version issue... we discovered this problem on ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux-gnu] using snowplow-tracker-0.6.1 and contracts-0.11.0.
Also, the same "idiom" is being used for the following methods on the same SnowplowTracker::Tracker class, so they may suffer from the same problem:
   2     def track_page_view(page_url, page_title=nil, referrer=nil, context=nil, tstamp=nil)
   2     def track_struct_event(category, action, label=nil, property=nil, value=nil, context=nil, tstamp=nil)
   2     def track_self_describing_event(event_json, context=nil, tstamp=nil)
   2     def track_unstruct_event(event_json, context=nil, tstamp=nil)

For some reason, and under certain circumstances, the wrong version of the "contracted" method gets used:
    __contracts_ruby_original_track_self_describing_event_j8n89uw3imu6
    __contracts_ruby_original_track_self_describing_event_j8n89uw3ja02

... and the same for the others:
[2] pry(main)> ls SnowplowTracker::Tracker
Object.methods: yaml_tag
Contracts::MethodDecorators#methods:
  Contract  method_added  singleton_method_added
SnowplowTracker::Tracker.methods: __contracts_engine  functype
SnowplowTracker::Tracker#methods:
  Contract
  __contracts_ruby_original_add_emitter_j8n89uw5l01a
  __contracts_ruby_original_build_context_j8n89uw17fz0
  __contracts_ruby_original_flush_j8n89uw4choh
  __contracts_ruby_original_get_event_id_j8n89uw1dd2p
  __contracts_ruby_original_get_timestamp_j8n89uw1gxne
  __contracts_ruby_original_set_color_depth_j8n89uvt8xek
  __contracts_ruby_original_set_domain_user_id_j8n89uvu66sn
  __contracts_ruby_original_set_fingerprint_j8n89uvt48k5
  __contracts_ruby_original_set_ip_address_j8n89uvufti1
  __contracts_ruby_original_set_lang_j8n89uvug6ls
  __contracts_ruby_original_set_network_user_id_j8n89uvv3h7v
  __contracts_ruby_original_set_platform_j8n89uvs7o4e
  __contracts_ruby_original_set_screen_resolution_j8n89uvt3buf
  __contracts_ruby_original_set_subject_j8n89uw48hrx
  __contracts_ruby_original_set_timezone_j8n89uvu8zrj
  __contracts_ruby_original_set_user_id_j8n89uvscull
  __contracts_ruby_original_set_useragent_j8n89uvvc6iu
  __contracts_ruby_original_set_viewport_j8n89uvt3b3k
  __contracts_ruby_original_track_ecommerce_transaction_item_j8n89uw2d52j
  __contracts_ruby_original_track_ecommerce_transaction_j8n89uw21iui
  __contracts_ruby_original_track_ecommerce_transaction_j8n89uw28f5c
  __contracts_ruby_original_track_j8n89uw1j4gx
  __contracts_ruby_original_track_page_view_j8n89uw114l2
  __contracts_ruby_original_track_page_view_j8n89uw28f5z
  __contracts_ruby_original_track_screen_view_j8n89uw3jqut
  __contracts_ruby_original_track_self_describing_event_j8n89uw3imu6
  __contracts_ruby_original_track_self_describing_event_j8n89uw3ja02
  __contracts_ruby_original_track_struct_event_j8n89uw3du4a
  __contracts_ruby_original_track_struct_event_j8n89uw3j7hp
  __contracts_ruby_original_track_unstruct_event_j8n89uw48thj
  __contracts_ruby_original_track_unstruct_event_j8n89uw4fq1q
  add_emitter
  flush
  functype
  get_event_id
  set_color_depth
  set_domain_user_id
  set_fingerprint
  set_ip_address
  set_lang
  set_network_user_id
  set_platform
  set_screen_resolution
  set_subject
  set_timezone
  set_user_id
  set_useragent
  set_viewport
  standard_nv_pairs
  track_ecommerce_transaction
  track_page_view
  track_screen_view
  track_self_describing_event
  track_struct_event
  track_unstruct_event
instance variables: @__contracts_engine
class variables:
  @@AugmentedItem                   @@recognised_transaction_keys
  @@base_schema_path                @@required_augmented_item_keys
  @@context_schema                  @@required_item_keys
  @@ContextsInput                   @@required_transaction_keys
  @@default_encode_base64           @@schema_tag
  @@EmitterInput                    @@Transaction
  @@Item                            @@unstruct_event_schema
  @@recognised_augmented_item_keys  @@version
  @@recognised_item_keys
[3] pry(main)> _

Thanks @pvdb - keep us posted on what you find out! No need to include Fred - he left Snowplow over a year ago.

time permitting, I may document our findings in a bit more detail @alexanderdean, but TL;DR: closing ticket for now, as it was due to some weird interplay between the contracts gem and the daemons gem which we use to run our Ruby trackers... there's no bug as such, as it turns out.

Thanks for letting us know @pvdb !


Apply more rigid criteria on valid substitutions

Current internalisation code identifies substitutions as every \equals term with only a variable on either side.
Not all such cases are actually useful or even valid "substitutions"

X:Bool \equals \notBool(X:Bool)  (easy to solve by ==Bool)
X:UserSort \equals f(Y:UserSort)  (valid substitution)
X:UserSort \equals f(X:UserSort)  (not a substitution)
X \equals f(Y) ;  Y \equals g(Z) ; Z \equals h(X)  (substitutions need a direction, and here we probably need a topo-sort of all LHS and RHS terms in substitutions to discard this case as circular)

Related: #297

https://gist.github.com/jberthold/984a5a8d87c6ce9c0b5b97ddd3a2e9f2 contains a draft design to improve the predicate internalisation and address #409 .
We propose to modify the predicate type is modified to embrace unsupported cases (by threading them through to the output) and check all substitution-like equations  together to ensure consistency of the entire substitution (no cycles, no ambiguous substitution).
Once a proper acyclic substitution Map Variable Term is extracted, we can choose to apply this substitution directly to the term, or provide its equations to the SMT solver as an additional known truth.


Commands not working for linux powershell

From windows powershell the commands are working properly but not from Linux powershell where unblock-file is not recognized and I am getting type Initialization error while calling
$kcsb = New-Object Kusto.Data.KustoConnectionStringBuilder($clusterUrl, $databaseName)

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

ID: c2df80c7-1cca-9c8d-0ed5-05b387e1850f
Version Independent ID: d3f5e3ed-dc62-ca1a-c821-4ca25453fa0f
Content: Kusto .NET Client Libraries from PowerShell - Azure Data Explorer
Content Source: data-explorer/kusto/api/powershell/powershell.md
Service: data-explorer
GitHub Login: @orspod
Microsoft Alias: orspodek

@nisinha Thanks for your feedback! We will investigate and update as appropriate.

@nisinha - can you please share the $PSVersionTable output (since support for posix systems for Unblock-file was added in pwsh 7)?

@grawcho . This is output of the below command.
Name                           Value

PSVersion                      7.1.3
PSEdition                      Core
GitCommitId                    7.1.3
OS                             Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

@grawcho - Did you get a chance to look into this.

@shsagir  - FYI

Thx. We are currently investigating the issue.

I provided a workaround for @nisinha when we spoke, essentially use native powershell script query without the SDK, i'm still investigating the issue.

@nisinha, @grawcho Thanks for the update. Since there is not doc change at this time I'm closing the issue. Please open a PR if your investigation required a docs change.
#please-close


Implement list_network management command

TODO:

list_network <node network address>
use Node API to query data
if node network address is not a PV address learn current PV address from it and use the PV address as a source after it
list all known nodes (identifier and address) in the following order: PV, CVs, other online nodes, offline nodes
for online nodes list last block number on the node
use thenewboston_node.business_logic.blockchain.api_blockchain.APIBlockchain to access blockchain on the remote node

I updated the description with "use thenewboston_node.business_logic.blockchain.api_blockchain.APIBlockchain to access blockchain on the remote node"


Cuts off links that span two lines

Links that span spill over onto the second line are cut off when being recognized and thus reported as dead.

Some links sometimes also span over multiple lines > 2 and are equally not recognised.

Thanks for the report/request. But it's hard to detect... Maybe someone is interested and can come up with a regex that works?

Replacing all line breaks (e.g. \n) in the text before passing it to the regex should work?
Specifically, we could do so in the extract_url function, I believe. Will try this out and submit a PR, if it works.


font icon not rendered in chrome

MacBook-Pro:~ admin$ flutter --version
Flutter 1.12.1-pre.62 • channel master • git@github.com:flutter/flutter.git
Framework • revision 851d6996e7 (6 hours ago) • 2019-11-14 17:14:26 -0800
Engine • revision 77c3512ec8
Tools • Dart 2.7.0

Hi @lyf571321556
could you please provide your updated  flutter doctor -v
and describe the issue more in details?
Also, to better address the issue, would be helpful
if you could post a minimal code sample to reproduce the problem
Thank you

==> flutter doctor -v
[✓] Flutter (Channel master, v1.11.1-pre.50, on Mac OS X 10.15.1 19B88, locale
zh-Hans-CN)
• Flutter version 1.11.1-pre.50 at /Users/liuyanfeng/Library/flutter
• Framework revision 3d65c21a97 (2 days ago), 2019-11-14 10:29:17 -0500
• Engine revision 7d6e376d83
• Dart version 2.7.0
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /Users/liuyanfeng/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling
support)
• Platform android-29, build-tools 29.0.2
• ANDROID_HOME = /Users/liuyanfeng/Library/Android/sdk
• Java binary at:
/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/bin/java
• Java version Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
! Some Android licenses not accepted.  To resolve this, run: flutter doctor
--android-licenses
[✓] Xcode - develop for iOS and macOS (Xcode 11.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.2, Build version 11B52
• CocoaPods version 1.8.4
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[!] Android Studio (not installed)
• Android Studio not found; download from
https://developer.android.com/studio/index.html
(or visit https://flutter.dev/setup/#android-setup for detailed
instructions).
[✓] IntelliJ IDEA Ultimate Edition (version 2019.2.3)
• IntelliJ at /Applications/IntelliJ IDEA.app
• Flutter plugin version 40.2.4
• Dart plugin version 192.7402
[✓] Connected device (2 available)
• Chrome     • chrome     • web-javascript • Google Chrome 78.0.3904.97
• Web Server • web-server • web-javascript • Flutter Tools
dart code :
ListTile(
leading: new Icon(Icons.language,
color: index == currentPageIndex
? Theme.of(context).primaryColor
: null),
trailing: Icon(Icons.keyboard_arrow_right),
title: Text("Language"),
)
ui in chrome:

What command do you use to run the app? Please also provide command-line arguments.

It would be useful for us to have the console log in Chrome DevTools and the command you ran to launch the app.

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


Microphone Source.cs doesn't work if there is another microphone in scene.

Hello.
Case 1. All work's well, I am heard clearly.
Case 2. I tried to create another microphone to record video
            microphoneSource = gameObject.AddComponent<AudioSource>();
            microphoneSource.mute =
            microphoneSource.loop = true;
            microphoneSource.bypassEffects =
            microphoneSource.bypassListenerEffects = false;
            microphoneSource.clip = Microphone.Start(null, true, 10, AudioSettings.outputSampleRate);
            yield return new WaitUntil(() => Microphone.GetPosition(null) > 0);
            microphoneSource.Play();

After that, when I try video call I've got audio translation like a stutter. In my speech (as the opponent hear) lost half sounds.
Case 3. I add a speech recognition system. Which takes the microphone to control. And after that opponent doesn't hear me with error
2020.12.15 13:12:19.537 6031 6203 Error AudioRecord start() status -38
2020.12.15 13:12:19.538 6031 6203 Error org.webrtc.Logging WebRtcAudioRecord: Start recording error: AUDIO_RECORD_START_STATE_MISMATCH. AudioRecord.startRecording failed - incorrect state :1

So I think there is some bug in Microphone Source.cs which can't get an available working microphone, or even Unity Scene Microphone and demands only hardware microphone. Can it be fixed?
Best regards,
Mike

It seems that capturing the microphone as you are doing interferes with WebRTC doing that at the same time. I don't think this is something we can fix easily - audio capturing is completely handled by WebRTC (or webrtc-uwp, depending on the platform) and MicrophoneSource is just a thin wrapper over it.


Denmark date of birth century

In the Denmark extractor, the year is extracted like so:
https://github.com/reducktion/socrates-java/blob/44623316fcda5b10adac93e3c1c99480aff1fa6c/src/main/java/com/github/reducktion/socrates/extractor/DenmarkCitizenExtractor.java#L41-L46
However, it's a bit more complicated than that. As with many other countries we implemented, they have a way to determine what century the date is from. In this case, another digit from the ID is taken into account. Here's the PHP version:
$year = $twoDigitYear < 70
        ? Carbon::createFromFormat('Y', "19$twoDigitYear")->format('Y') // concatenating 19 + the two digits
        : Carbon::createFromFormat('y', (string) $twoDigitYear)->format('Y');

if (($seventhDigit === 4 || $seventhDigit === 9) && $year <= 1936) {
        $year += 100;
} elseif ($seventhDigit > 4) {
        $year > 1957 ? $year -= 100 : $year += 100;
}

This is not the only country that handles two digit format years like that - you can go ahead and check how we handled those in the PHP package, as we made sure to cover all these cases in tests as well 👍

I investigated the topic a bit further and it seems that we are missing that validation indeed.
I'll take a look at it!
Thanks! 👍

Just re-read the article in wikipedia and noticed that for IDs issued after 2007 the check digit validation might fail, but the ID can still be valid.

since October 2007 personal identification numbers do not always validate using the check digit.

Maybe we should drop it entirely 🤔
Ideas?

Just re-read the article in wikipedia and noticed that for IDs issued after 2007 the check digit validation might fail, but the ID can still be valid.

since October 2007 personal identification numbers do not always validate using the check digit.

Maybe we should drop it entirely 🤔
Thoughts?

This was something that some danish people confirmed as well and is a limitation of their system . However, we are still to find a CPR with that problem. The chances of extracting the wrong year based on a two digit format are way higher. In my opinion it's well worth the risk.

I think we should keep the date validation. I was wondering about the check digit, do you think we should keep it as well? Have you had problems with it?

So far we haven't. The socrates-php algorithm was adapted from a JS package which me and @SLourenco use on the front end of the application we both work in (and it requires high availability and accuracy for its use case) and it has the check digit working fine so far :thinking:

Very well! Let's leave as it is right now then and re-evaluate if necessary.


feat(extensions): add editor extension window

Planning to add editor tools to make it easier to work with Sacados, this will include a simple window that will help to see and interact with containers (without actually having a real UI of that container)
Which will help for prototypes, debugging and more!
Here's a simple look of what it could look like (this is from the previous version of Sacados before the rework, adapted to work with it):

Changed layout of the Inspector with this listview look:


Two identical POST requests in flask lead to a method not allowed error in the second request. Issue traced back to Werkzeug 2.1

Calling the same endpoint twice with a post request leads to:
<IP_ADDRESS> - - [05/Apr/2022 17:41:14] "POST / HTTP/1.1" 200 -
<IP_ADDRESS> - - [05/Apr/2022 17:41:14] "{}POST / HTTP/1.1" 405 -

Minimal repo here: https://github.com/ImreC/werkzeug-flask-bug. Running this creates a single endpoint which accepts method POST. Calling this endpoint with no body works fine. Calling it with any body (f.e. {}) works fine the first time, but returns a 405 Method not allowed error the second time. With Werkzeug 2.0.3 this behavior does not occur.
Environment:

Python version: 3.8 (also tested on 3.10)
Werkzeug version: 2.1.1 (also confirmed in 2.1.0)

If you post data, your view needs to read that data. Werkzeug's development server is not capable of draining this. In 2.1, HTTP/1.1 mode, with keep-alive behavior, was enabled by default, which means a request that doesn't actually read the input sent with it gets prepended to the start of the next request.
Production servers do not have this issue. If you read the data in the request, the development server will not have this issue.
The development server is a wrapper around Python's http.server, a bug can be reported to them if you think it should be fixed there.

Ok, this will be easily resolved. Thanks for clarifying! Was very confusing behavior without knowing what was going on


Stop leaving behind *.orig files

Closes ticket #101.
Ticket #101 reads:

update-translations.py script leaves behind *.orig files.
After running python3 ../bitcoin-maintainer-tools/update-translations.py tons of *.orig files remain in the repo.
They are ignored by Git due to the .gitignore but they are not subjects for make clean or make distclean.
[...]

Guesses ticket #101.

What do you mean by guesses? If you haven't even tested if you change works, please don't open a PR..

remove_orig_files() is called in two places after this. Is this on purpose?

remove_orig_files() is called in two places after this. Is this on purpose?

yeah

It doesn't seem necessary as the files aren't created twice, right?

right
pushing this:
diff --git a/update-translations.py b/update-translations.py
index 603bd8a..93ec4a8 100755
--- a/update-translations.py
+++ b/update-translations.py
@@ -57,7 +57,7 @@ def remove_current_translations():
     '''
     for (_,name) in all_ts_files():
         os.remove(name)
-    remove_orig_files()
+    remove_orig_files()  # TODO interim, remove eventually

 def remove_orig_files():
     for (_,name) in all_ts_files(suffix=ORIGINAL_SUFFIX):

@hebasto nailed it

oof, sloppy me
On Mon, Oct 17, 2022 at 10:35 AM Hennadii Stepanov @.***>
wrote:

@.**** commented on this pull request.
Approach ACK 478bb5e
https://github.com/bitcoin-core/bitcoin-maintainer-tools/commit/478bb5ef90acba7bd1bc8dca03eee805d0973c37
.
The following comment needs to be updated as well
https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/478bb5ef90acba7bd1bc8dca03eee805d0973c37/update-translations.py#L54-L58
—
Reply to this email directly, view it on GitHub
https://github.com/bitcoin-core/bitcoin-maintainer-tools/pull/126#pullrequestreview-1143723274,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMRS4W2J7VF5EAWDHJIPR73WDUFWJANCNFSM5M2V2XFA
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

Done, hopefully, @hebasto. Thank you kindly.
On Mon, Oct 17, 2022 at 10:35 AM Hennadii Stepanov @.***>
wrote:

@.**** commented on this pull request.
Approach ACK 478bb5e
https://github.com/bitcoin-core/bitcoin-maintainer-tools/commit/478bb5ef90acba7bd1bc8dca03eee805d0973c37
.
The following comment needs to be updated as well
https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/478bb5ef90acba7bd1bc8dca03eee805d0973c37/update-translations.py#L54-L58
—
Reply to this email directly, view it on GitHub
https://github.com/bitcoin-core/bitcoin-maintainer-tools/pull/126#pullrequestreview-1143723274,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMRS4W2J7VF5EAWDHJIPR73WDUFWJANCNFSM5M2V2XFA
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

@hebasto happy for this to be merged as-is?

@hebasto happy for this to be merged as-is?

Yes.


environ["SERVER_PORT"] could be "None"

The benchmark appears to be broken in my test, which reports an ValueError caused by trying to convert "None" to int.
(Also reproduced in a cleanly installed Docker container.
So a simple fix might be adding conditional statements for SERVER_PORT and url_scheme.

Just noticed tests were changed in https://github.com/abersheeran/a2wsgi/commit/e2a7bfde6e93b04f74c846b6fb9a6d67b1b438bc... So should the line in benchmark.py also add :80, or to change asgi.py like in the present PR?

https://www.python.org/dev/peps/pep-3333/#environ-variables In the WSGI standard, SERVER_PORT is a required value.
This is a problem with the old version of httpx you are using, not a2wsgi. Please upgrade the httpx version to the latest 0.16 and run the script again.

https://www.python.org/dev/peps/pep-3333/#environ-variables In the WSGI standard, SERVER_PORT is a required value.
This is a problem with the old version of httpx you are using, not a2wsgi. Please upgrade the httpx version to the latest 0.16 and run the script again.

Sorry, it is indeed not a bug on a2wsgi side.
But I was actually using httpx 0.16.1:
$ pip3 show httpx | grep Version
Version: 0.16.1

And I could not find in which commit httpx fixed the problem you mentioned. Could you please kindly point it out?

You can see this line https://github.com/encode/httpx/blob/0.16.1/httpx/_models.py#L121. The port should be automatically completed by another library. If httpx 0.16 does not work properly in your environment, please check the version of rfc3986.

By the way, you can try the library version specified in poetry.lock. It should be able to pass all test cases.

I'm sorry, I just tried running this script. But found the same error as you. Maybe it's that after upgrading httpx some time in the past, I never tried to run it again. This is a problem with httpx. I will submit a PR for httpx to fix this error. Thanks for your feedback.

https://github.com/encode/httpx/pull/1469 Done.

Awesome!


Test multiple Home Assistant releases and the dev branch

@th3w1zard1, interestingly this new workflow already highlights that we broke something for older HA versions!

@basnijholt I'm happy it does.
A lot of it shouldn't pass, they just happened to pass consistently during the test phase. so it became my guideline for the order of operation.
I noticed when assert failed usually fired off errors such as the ones in the pytest listed here. Although none of those seem to be related to the test_state_change_handlers code I wrote, as it looks like it's erroring in the setup stage?
I ended up using raise ValueError() during testing as it usually pinpointed the line when assert wouldn't.

Could it be related to the python version each core is running?

It's possible we still have the runaway timer issue present in 1.10.0. _AsyncSingleShotTimer never calls the reset() function we pass as an argument.

How does one test this PR on their own system?

Logs make no sense, none are even close to the hundreds I saw when writing that test.

I'm 99% sure it's the test itself that generates the error and nothing a user will see on their side. We still use a few unsafe methods to run that test. But it's very odd that it's failing in the setup stage??

I'm 100% sure it's the test now.
ERROR:homeassistant:Error doing job: Exception in callback _async_track_state_added_domain.<locals>._async_state_change_dispatcher(<Event state_...brightness=50>) at /home/runner/work/adaptive-lighting/adaptive-lighting/core/homeassistant/helpers/event.py:465:   File "/opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete

this is directly due to using async_set to change the brightness and bypass hass's state_changed event.

It occured to me we no longer need to use async_set as I already removed the other examples. What was I thinking.
I removed it and committed the change here.

@basnijholt it should work correctly on all versions of hass core now. Could you run the test again please?

OK great! So I should revert https://github.com/basnijholt/adaptive-lighting/pull/552/commits/8d01b6ec4ea8b97feb8dabf8b737be604755dffd

Looks like it's fixed

Great! I reverted.
This simple change is pretty cool and useful I think 😄


Twine should close ref request channels on close

While the graceful stop command waits for every message to be closed and/or unregistered, a common case with websocket is a page being closed or refreshed, causing a hard close. This leaves open channels for all ref requests being waited on.
close op should iterate over all messages, and if a chan is open, close it.

Fixed in 26d9d1926c6927de6d3a95c90593c68e0384cb94


nifi: 1.16.1 -> 1.16.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/nifi/versions.
meta.description for nifi is: "Easy to use, powerful, and reliable system to process and distribute data"
meta.homepage for nifi is: "https://nifi.apache.org"
meta.changelog for nifi is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.16.3 with grep in /nix/store/f9md8izm4li6f7wlc7lydfgk3v6bmz7j-nifi-1.16.3
found 1.16.3 in filename of file in /nix/store/f9md8izm4li6f7wlc7lydfgk3v6bmz7j-nifi-1.16.3

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
nifi

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/f9md8izm4li6f7wlc7lydfgk3v6bmz7j-nifi-1.16.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A nifi https://github.com/r-ryantm/nixpkgs/archive/38b167bc31b7a6b85086bd170c490728ccc0cdca.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/f9md8izm4li6f7wlc7lydfgk3v6bmz7j-nifi-1.16.3
ls -la /nix/store/f9md8izm4li6f7wlc7lydfgk3v6bmz7j-nifi-1.16.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

nifi

Maintainer pings
cc @Izorkin for testing.

Hmm, the src is 404 now, also for me.  https://hydra.nixos.org/log/c0j5cj5d0rfzwbr4lvbxh6g3dsnm381a-nifi-1.16.3-bin.tar.gz.drv

The URL used now is apparently just for the latest version.  We should switch to https://archive.apache.org/dist/nifi/

Fixed directly in 9f43cb37527.


Document v1 -> v2 migration

The doc should be high level view and outline the following:

Impacted components (e.g. ocp pipelines installs, api server, db, etc.??)
What should be the Deprecation policy (will require confirmation from PM, what to deprecate, etc.)
What onus is on end user vs us for sdk migrations (e.g. do we need to provide docs? etc.)

Migrated to Jira: https://issues.redhat.com/browse/RHOAIENG-1696


Inform hijacked user by email

Optional: Send an email to the user when hijacked.

I don't think this should be added to django-hijack core, as it is very application-specific:

mail templates are very specific;
some Django setups use specialized mailing frameworks;
rate limitation will be an issue.

You can just add a signal handler with send_mail() in it.

@Zopieux agreed.

It could be a good idea to drop a line in the docs about that, though! With a small code sample of the signal handler + Django send_mail.

Yes, or creating small specific apps for all these use cases. Aiming to keep the core of hijack secure, robust and clean.

django-hijack-emailnotification, for #27
django-hijack-bootstrap-notifictation, for #4
django-hijack-admin, for #84
...


Push function

the .pyc files and __pycache__ files should never be committed.

the function should be moved to a class member function of the OCI class (like I started in #5)

there are still 3 .pyc files in this PR that have to be removed.

deleted


SSH key could not be found

Once I start the application I get this warning in the Notification area:

I have a Pageant running and the key loaded there. I am able to push to my remote Git repository using git-bash and the key in Pageant:
MINGW64 ~/.password-store (master)
$ echo $GIT_SSH
C:\Program Files\PuTTY\plink.exe

MINGW64 ~/.password-store (master)
$ git remote -v
origin<EMAIL_ADDRESS>(fetch)
origin<EMAIL_ADDRESS>(push)

MINGW64 ~/.password-store (master)
$ git push --set-upstream origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 243 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To .../password-store.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

On startup, pass-winmenu will check the protocol of your password store's default remote to see if it uses SSH. If that is the case, it'll look for an SSH key in the location configured in pass-winmenu.yml. If it finds an SSH key, it'll use that key when you click Push to remote or Pull from remote in the notification icon menu.
This message is there to inform you that, since it couldn't find your SSH keys, pass-winmenu will not be able to do this. I should probably make it more clear that it's not trying to suggest that your repository is set up incorrectly.
If you don't use the built-in push/pull functions, you can simply disable the notification by setting no-ssh-key-found to false under notifications.
I realise that this isn't exactly the best way to handle this, but I can't immediately come up with a better solution, so I'm open to any suggestions.

I did assume only the Push/Pull functionality would be affected. I was not sure why the keys were not found as they are located in %userprofile%\.ssh. It turns out there were not exactly named as the program expected.
I renamed the keys to match the expected file names and the warning no longer appears. Still, when triggering the Push/Pull functionality, I get this error:

My keys have a passphrase, I wonder if that is the cause of this error.
Also, I order to be able to use git push and git pull in git-bash I needed to setup the GIT_SSH environment variable to point to plink.exe. Could this help in this case?
MINGW64 ~/.password-store (master)
$ echo $GIT_SSH
C:\Program Files\PuTTY\plink.exe

I did assume only the Push/Pull functionality would be affected. I was not sure why the keys were not found as they are located in %userprofile%.ssh. It turns out there were not exactly named as the program expected.

This is something worth looking into. SSH keys are hard to identify since they can be named pretty much anything, with or without a file extension, so I just went with the default names as ssh-keygen generates them.
It might be useful to add a config variable such as ssh-key-matches, which could be an array of regex strings to be matched against all files found in ssh-key-search-locations. All matching files are considered to be private keys and should be tried.
Which would end up looking somewhat like this
# A list of paths to search for SSH keys to use when connecting to a remote.
ssh-key-search-locations: ['%userprofile%\.ssh']
# A list of regex strings matched against all files found in the directories
# given by 'ssh-key-search-locations'. Matching files are considered to be
# SSH keys and will be tried when connecting to a remote.
ssh-key-matches: ['id_.*(?!.pub)$', 'sshkey\.private']

My keys have a passphrase, I wonder if that is the cause of this error.

It most likely is. I haven't implemented passphrases yet, since I'd have to add some hooks to request the passphrase from the user, as well as creating a window where they can enter their passphrase.

I see. So delegating the SSH connection and key handling to PuTTY/Pageant might not be straight forward. Pageant has already the key loaded and handles the passphrase.

So delegating the SSH connection and key handling to PuTTY/Pageant might not be straight forward.

I believe so. LibGit2Sharp allows you to define your own SSH credentials provider, which must return the path to a private key file, the path to its public key file, and a password (if applicable).
That means the keypair must be requested from Pageant and saved to some temporary files, after which LibGit2Sharp can be pointed to those files. However, at this point you're storing unencrypted SSH keys on your disk, which is obviously not desirable if you've gone through the effort of password-protecting your keys and setting up an SSH agent.
It's not impossible, but it's no small task either.
On the other hand, extending pass-winmenu so it can request SSH key passwords (and remember them for a set amount of time) itself should be possible, though that does leave users with the issue of having to enter their SSH key password twice; once for SSH/git/etc, and once for pass-winmenu.
Despite this, adding support for passphrases is probably a good idea, since it still helps out those who encrypt their SSH keys but do not run an SSH agent.

I ran into another issue with LibGit2Sharp's SSH implementation; turns out the error you got is more likely being caused by the SSH server and client being unable to agree on a key exchange algorithm. If you check the sshd logs on the remote, you'll probably see something like this:
Unable to negotiate with [host] port [port]: no matching cipher found. Their offer: aes256-cbc,rijndael-cbc@lysator.liu.se,aes192-cbc,aes128-cbc,arcfour128,arcfour,3des-cbc [preauth]

As you can see, LibGit2Sharp only offers some rather questionable ciphers, which, on modern SSH servers, are not enabled, and often not even available anymore.
At this point I think it's probably a better idea to stop trying to make SSH through LibGit2Sharp work, and instead just allow users to configure pass-winmenu to rely on an installed Git for fetching from/pushing to the remote. If a user enables this feature, LibGit2Sharp will still be used for all offline actions such as committing or rebasing, but for fetching and pushing, native Git will be called. This means that if you're using a special configuration (unusual credentials provider, SSH agent, etc), then as long as it works from the commandline, it will work for pass-winmenu too.

I've added the native Git feature, so I'll consider this fixed. Feel free to open a new issue if you continue running into synchronisation issues.


Tax Setting Page - sorting is not available for tax column

Describe the bug
Sorting is not working for tax column

Tax Column Sorting not  Available


Error : Failed to connect 30 times. Aborting

Appium - 2.1.0
Flutter - 3.10.6
Dart - 3.0.6
robotframework - 6.1.1
robotframework-appiumflutterlibrary  - 1.0.0
Appium-Flutter-Finder   - 0.4.0
I got this error since update appium 2 and flutter 3. It was work well when I use appium 1.
I try downgrade appium, but didn't work.
If I use appiumlibrary, automation and appium work well.
this from robotframework log.html
WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Failed to connect 30 times. Aborting. Stacktrace: UnknownError: An unknown server-side error occurred while processing the command. Original error: Failed to connect 30 times. Aborting.     at getResponseForW3CError (C:\Users\IDN MEDIA\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\lib\protocol\errors.js:1073:9)     at asyncHandler (C:\Users\IDN MEDIA\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\lib\protocol\protocol.js:491:57)
this from appium log
[FlutterDriver] Attempt #29
[ADB] Using 'adb.exe' from 'C:\Users\IDN MEDIA\AppData\Local\Android\Sdk\platform-tools\adb.exe'
[debug] [ADB] Running 'C:\Users\IDN MEDIA\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 start-server'
[AndroidDriver] Retrieving device list
[debug] [ADB] Trying to find a connected android device
[debug] [ADB] Getting connected devices
[debug] [ADB] Connected devices: [{"udid":"emulator-5554","state":"device"}]
[AndroidDriver] Looking for a device with Android '10.0.0'
[debug] [ADB] Setting device id to emulator-5554
[ADB] Getting device platform version
[debug] [ADB] Running 'C:\Users\IDN MEDIA\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s emulator-5554 shell getprop ro.build.version.release'
[debug] [ADB] Current device property 'ro.build.version.release': 10
[AndroidDriver] Using device: emulator-5554
[debug] [FlutterDriver] C:\Users\IDN MEDIA\AppData\Local\Android\Sdk\platform-tools\adb.exe -s emulator-5554 forward tcp:35073 tcp:35073
[debug] [FlutterDriver] Error: Command failed: C:\Users\IDN MEDIA\AppData\Local\Android\Sdk\platform-tools\adb.exe -s emulator-5554 forward tcp:35073 tcp:35073
[debug] [FlutterDriver] 'C:\Users\IDN' is not recognized as an internal or external command,
[debug] [FlutterDriver] operable program or batch file.
[debug] [FlutterDriver]
[debug] [FlutterDriver]     at ChildProcess.exithandler (node:child_process:419:12)
[debug] [FlutterDriver]     at ChildProcess.emit (node:events:514:28)
[debug] [FlutterDriver]     at maybeClose (node:internal/child_process:1091:16)
[debug] [FlutterDriver]     at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5)
[FlutterDriver] Connecting to Dart Observatory: undefined
[FlutterDriver] {}
[FlutterDriver] Check Dart Observatory URI no URI found in the device log
[FlutterDriver] Failed to connect 30 times. Aborting.
[debug] [FlutterDriver] Deleting Flutter Driver session
[debug] [AppiumDriver@bae3] Event 'newSessionStarted' logged at<PHONE_NUMBER>561 (22:36:57 GMT+0700 (Western Indonesia Time))
[debug] [AppiumDriver@bae3] Encountered internal error running command: Error: Failed to connect 30 times. Aborting.
[debug] [AppiumDriver@bae3]     at Object.wrappedLogger.errorAndThrow (C:\Users\IDN MEDIA.appium\node_modules\appium-flutter-driver\node_modules@appium\support\lib\logging.js:115:34)
[debug] [AppiumDriver@bae3]     at connectSocket (C:\Users\IDN MEDIA.appium\node_modules\appium-flutter-driver\lib\sessions\observatory.ts:132:11)
[debug] [AppiumDriver@bae3]     at processTicksAndRejections (node:internal/process/task_queues:95:5)
[debug] [AppiumDriver@bae3]     at async Promise.all (index 1)
[debug] [AppiumDriver@bae3]     at FlutterDriver.createSession (C:\Users\IDN MEDIA.appium\node_modules\appium-flutter-driver\lib\sessions\session.ts:43:47)
[debug] [AppiumDriver@bae3]     at AppiumDriver.createSession (C:\Users\IDN MEDIA\AppData\Roaming\npm\node_modules\appium\lib\appium.js:374:35)
[HTTP] <-- POST /session 500 96906 ms - 648
[HTTP]
Anyone can help? Thanks

solved this issue,


Add new queries for different types of ANC encounters.

@AronNovak I had forgotten that you already reviewed this so I pushed some new work here instead of creating a new PR - sorry for the extra headache.
Here's what's new in the latest commits:

On the encounters report: ANC CHW totals are correct (we were considering NULL values as CHW when they should have been Health Center)
On the registration report: Added a limit date to be able to check registration from a moment in time (like ANC report)
Added a TOTAL row in each of the registration tables.

I have checked these at various dates on the existing metrics table and they all check out (or at least close enough as historical databases weren't take on exactly midnight)
could you give this another review?


System.InvalidOperationException on trying get mime message.

Hi @danzuep. I want to get MimeMessage while processing arrived message to get attachments and text from it and get error:
System.InvalidOperationException: 'The ImapClient is currently busy processing a command in another thread. Lock the SyncRoot property to properly synchronize your threads.'
Here's my code to reproduce:
using MailKit;
using MailKitSimplified.Receiver.Services;

using var imapReceiver = ImapReceiver.Create("imapHost:imapPort")
    .SetCredential("login", "applicationPassword");

try
{
    await imapReceiver.ConnectAuthenticatedImapClientAsync();
    await imapReceiver.ConnectMailFolderAsync();

    await imapReceiver.MonitorFolder
       .SetMessageSummaryItems(MessageSummaryItems.Full | MessageSummaryItems.BodyStructure | MessageSummaryItems.UniqueId)
       .SetIgnoreExistingMailOnConnect(false)
       .OnMessageArrival(OnArrivalAsync)
       .IdleAsync();
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

async Task OnArrivalAsync(IMessageSummary messageSummary)
{
    try
    {
        var mimeMessage = await imapReceiver.ReadMail.GetMimeMessageAsync(messageSummary.UniqueId);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}

Or did I miss something and need to receive messages in a different way?

I recently saw a ticket with the same error in the MailKit repository, maybe this will somehow help in solving the problem

I've got a simple deep copy fix working for the idle client, but it won't work for var mimeMessage = await messageSummary.GetMimeMessageAsync(); as that uses a readonly MailFolder assigned by MailKit in a Fetch function. I'll keep looking.

Oh, got you.
Thanks for samples. I keep several idle clients for different emails at the same time, so I have to create them without using DI.

I got await messageSummary.GetMimeMessageAsync(); working as well now in a new branch.

Update to the latest version to get the fix.

Thank you for the quick solution. But I wonder, how it works in MailKit ImapIdle using one ImapClient for idling and fetching. Or I miss  something?

This code from sample works without any problem
async Task FetchMessageSummariesAsync (bool print)
		{
			IList<IMessageSummary> fetched;

			do {
				try {
					// fetch summary information for messages that we don't already have
					int startIndex = messages.Count;

					fetched = client.Inbox.Fetch (startIndex, -1, request, cancel.Token);
					break;
				} catch (ImapProtocolException) {
					// protocol exceptions often result in the client getting disconnected
					await ReconnectAsync ();
				} catch (IOException) {
					// I/O exceptions always result in the client getting disconnected
					await ReconnectAsync ();
				}
			} while (true);

			foreach (var message in fetched) {
				if (print) {
					var mimeMessage = await client.Inbox.GetMessageAsync (message.UniqueId);
					Console.WriteLine ("{0}: new message: {1}", client.Inbox, mimeMessage.TextBody);
				}
				messages.Add (message);
			}
		}

It's a good idea but it could raise some other issues.

It relies on exception handling to run, normally not a good practice.
If anyone tries to download the IMessageSummary returned using the internal IMailFolder it will throw another exception.

I keep several idle clients for different emails at the same time, so I have to create them without using DI.
This could be a good use-case for the Factory Method Design Pattern. Please let me know if you'd like to make one and submit a merge request.


[win alpha] kitematic tries to install VirtualBox, in a Hyper-V enabled System

System used:

win 8.1 pro ... hyper-v enabled

Just started: KitematicSetup-0.7.0.exe
It starts to download VirtualBox. .... I did kill the program.

It's not possible to run VB and Hyper-V at the same time.

docker-machine already knows, how to use hyper-v, so kitematic can use the same code / mechanism.

expected behaviour.

kitematic needs to check, if any hypervisor is already active. There may be several.
Even if eg: hyper-v is not active at the moment, it may be activated at the pc boot time with a boot-profile

see: http://www.hanselman.com/blog/SwitchEasilyBetweenVirtualBoxAndHyperVWithABCDEditBootEntryInWindows81.aspx
that's the mechanism I use atm.

So IMO there should be a user interaction, that asks the user, what should happen.

install VB and tell the user, that it can't run at the same time as hyper-v if on win-pro or higher.
reboot and / or activate a hypervisor that is capable to run boot2docker.

@pmario Really appreciate the feedback on this. No promises on Hyper-V support atm, especially during the alpha period.
@jeffdm we should definitely add a check to detect Hyper-V is enabled (if they have it, hyper-v will always be on I believe unless you manually disable it). Only one hypervisor can run at a time.

Hi,
I have the exact same problem. My laptop has Hyper-V with several VM's due to other projects and also one with Boot2Docker in order to do some testing and demos with Docker Hub. And it works fine! At this moment, for me, uploading my Hyper-V Vm's to Azure and replacing Hyper-V for VirtualBox it's not an option...
I was about to test Kitematic because I saw the DockerCon livefeed and it seemed really cool but got stuck due to the VirtualBox install... I understand that at this moment it might be difficult to enable the setup to detect other already installed hypervisor but at least there could be a setup flag (command line flag) that we could use in order to skip the VirtualBox detection and installation.
Docker and Microsoft are building a very strong partnership and this Summer it's expected lots of new developments on that area. You should really consider this issue because it's a definitely show-stopper for lots of people.

@jeffdm we should definitely add a check to detect Hyper-V is enabled (if they have it, hyper-v will always be on I believe unless you manually disable it). Only one hypervisor can run at a time. What do you think? Will this work?

IMO it also has to work if Hyper-V is installed and manually disabled, because it may be enabled at any time. So VB may brick the system. ... I personally don't want any software, to automatically install 3rd party software, without me acknowledging it. (I always have a look at the "advanced install" option, even if I click the "easy install" button afterwards ;)

A possibility (hack) to get it going: http://agup.tech/2015/08/14/hacking-at-kitematic-with-hyper-v-on-windows-10/  until PR Added ability to work with Hyper-v #1491  gets merged.

@pmario Out of curiosity, what is the difference between your code and https://github.com/docker/kitematic/pull/1491 ?

Hi @FrenchBen. That's not my code. It's a story told by Anurag Gupta and I posted it here, as an info for others and me, how one could hack together a working windows app for hyper-v users.  ...
#1491 is a better solution, but also has some hardcoded stuff. eg: The virtual network driver name, ..
Imo #777 "Proposal: Add support for multiple machines", imo would be a better option but may be the slowest one to implement. Except all the resources are thrown together and the issues are resurrected.
------------- (rant - OT kind of)
I'm having a look at Kitematic from time to time (every 2 month) and need to stop here.

since I can't disable VBox installation, I need to stop the install process!
This behaviour breaks the whole Toolbox for me. I'd like to use a windows installer, for the docker related stuff, but I simply can't, without unwanted side effects.
For me it seems hyper-v is a technology, you better don't bet on. Toolbox defs seem to be happy with iMacs and MS has enough to do, to catch up with the technology in general. ---- (end of rant)

@pmario You can actually download the components individually if the Toolbox isn't doing it for you - Each of them above components have a github release area.
Toolbox bundles all of the items for you and makes Virtualbox a requirement since 'machine management' isn't available yet and thus becomes a hard requirement to have the proper version of Virtualbox installed.
I agree that the hard-coding of the different interface for the HyperV patch isn't ideal, I may discuss it with the PR owner once I get a bit of time to go over all of the steps and possible enhancements.
Thanks for the feedback!

@pmario  @FrenchBen I look forward in forking the repository in order to change the install process(to be able to install docker without vbox), but for now I wanted to create a way so that you can use docker with hyper-v. I know I did some hardcoding, but I haven't find a way to create a virtual switch from command line yet to drop the hardcoding. Please do let me know the repository. Looking forward to make this available out of the box with hyper-v.
Any other feedback would be very welcome.
Regards,
Radu

I'm about to install dev dependencies to build Kitematic. ... slow internet :)
@floradu88

I know I did some hardcoding, but I haven't find a way to create a virtual switch from command line yet to drop the hardcoding.

Have a look here:  https://blogs.technet.microsoft.com/heyscriptingguy/2013/10/09/use-powershell-to-create-virtual-switches/
There are commands to look up existing vswitches eg:  Get-VMSwitch -SwitchType External .. IMO we need internet access in order to pull images from docker hub. ...
If VMSwitches exist: Get-VMSwitch will get them. ... So there seem to be plenty of options to list and use existing ones. ... creating new ones seems to be simple too. As a user I would want, that the install process lets me choose the name. (but there should be a sensible default, to just hit enter :)

I believe most of these to be fixed in the latest Docker for Mac/Windows+Kitematic.

two years , and problem exist on win 8.1 pro with hyper-v enabled.


FormulaValue.FromJson parse error when reading Arrays

FormulaValue.FromJson incorrectly parses JSON arrays. It builds a table, but the table is malformed. This behavior is observable in the WebDemo here.
Screenshots below from Web Demo and debugging:

I would expect the following as result: Table({anotherval:Blank(),val:"val"},{anotherval:"anotherval",val:Blank()})
Apparently, the JSON to FormulaValue converter considers only the first record for the record type:
https://github.com/microsoft/Power-Fx/blob/093347f1a393baeb3461a544635c1fac5e0a2373/src/libraries/Microsoft.PowerFx.Core/Public/Values/FormulaValueNewJson.cs#L121
I'll check few extra things and will get back to you soon.

Question: if you expect the converter to only consider the first record for the type, does that mean that we should expect it wouldn't be able to support "jagged" arrays or arrays where the members are Objects of an inconsistent type? I think that is probably a reasonable assumption/limitation to impose, just confirming.


Fix fix some problem of skip_localhost_auth_check in FE config

Proposed changes
Issue Number: close #xxx
Problem summary
According code comment https://github.com/apache/doris/pull/18816
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Change the highlight in preview window

Hi,
When we open the preview window to preview a tag, the tag is highlighted using Vim's highlight group, which confuses with searched keyword highlight. Could we use a separate highlight group for the previewed tag? It could link to Vim's search highlight group by default.
Thanks!

Fine, PR is welcome.

Just did a simple search. It seems that it is already supported?
https://github.com/skywind3000/vim-preview/blob/fb770cc06bacb43b19e84afadcd19103f4ca2cda/autoload/preview.vim#L428

good


feat: Added Edabit Object Details in javascript.json File

Closes Issue No : #425
PR Description:

Added Edabit Object Details in product.json File for Practice and Learn with Different Level of Problems using JavaScript

Hi @jayk-gupta . Please review on this .

Hi @jayk-gupta .Are you active on GSSOC'23 Open source program. Still, you did not looking into my PR and Unassigned pending Issues.Kindly respond to my Quote. Because of you are looking into latest Issues also.This is not correct fair Thought.

Thanks for Merged @jayk-gupta . Please look into Some Unassigned Issues.If selectable, Please assign to me as soon as possible. Because of almost 1 month completed for raised that Issues.


Unable to start xcuitest server says 404

Not exactly sure what this is about, but when I try to star tan xcuitest I get the very unhelpful message:
$ mobile-center test run xcuitest --app-path XTCiOSSample.ipa --app "kamikkel/XTCiOSSample-xcuitest" --devices 9847d512 --test-series "master" --locale "en_US" --test-ipa-path ddp/Build/Products/Debug-iphoneos/integrationTestsUITests-Runner.ipa
Preparing tests... done.
Validating arguments... done.
Creating new test run... failed.
Error: {"message":"","code":"Not Found"}

Exit code 3.
If I run with --debug I can see that it is not about my local files, but I get a 404 from the server:
Preparing tests... done.
Validating arguments... done.
logFilter, request: WebResource {
  rawResponse: false,
  queryString: {},
  url: 'https://bifrost-staging.trafficmanager.net/v0.1/apps/kamikkel/XTCiOSSample-xcuitest/test_runs',
  method: 'POST',
  headers:
   { 'Content-Type': 'application/json; charset=utf-8',
     'user-agent': 'mobile-centerCli/0.11.0 NodeJS/v6.11.0 linux/4.10.0-33-generic',
     'x-api-token': '0c52f44bcdf73aa2369f576bd57edeb88e2b3114',
     'internal-request-source': 'cli',
     'diagnostic-context': '08fc66c5-293c-48a2-b340-535e545c35fc',
     'cli-command-name': 'test run xcuitest' },
  body: null }
/ Creating new test run... Response status code: 404
Body: {"message":"","code":"Not Found"}
Creating new test run... failed.
Error: {"message":"","code":"Not Found"}

@kamstrup I note that you're logged into the staging environment which doesn't have devices. Is that what may be going on?

I think that me being logged into staging was probably the issue. The fix could be to print a more helpful error message - maybe something like Unable to upload test to ${url}: Resource not found.
That would have indicated that I was uploading to staging (or for other users - the wrong app or user).

This has been opened for a while and no action is happening - going to close.


add "improve consistency" to improve-crosscutting

see "Mustersprache" @lilienth
see "Consistency" or "conceptual integrity"

In the era of distributed systems, the term "consistency" feels a bit over-used to me. Thus I'd rather use a different term or at least clarify the specific semantic upfront.

I blogged about this term:
https://www.innoq.com/de/blog/whats-in-a-name-consistency/


Storage

abstract
This PR pins and upgrades https://github.com/alicebob/miniredis and fixes tests that have been affected by broken miniredis implementations recently. See also

https://github.com/alicebob/miniredis/commit/1f80df1c333b37a62eda288e37f173ebaa30085d
https://github.com/alicebob/miniredis/issues/10

checklist

[x] Make sure you read and understood the CONTRIBUTING.md.
[x] Make sure you applied sufficient labels, milestone and assignee.
[x] Make sure all TODOs are addressed.
[x] Make sure there is sufficient documentation.
[x] Make sure there are sufficient tests.
[x] Make sure all commits are squashed before merging.
[x] Make sure to delete the feature branch after merging.

Current coverage is 90.08% (diff: 100%)

Merging #231 into master will increase coverage by 0.18%

Powered by Codecov. Last update 6b5c0bc...a325e7d

LGTM


Removed mem allocations from sgd

Removed mem allocations from the main sgd loop, should save some hours of training. Also collectgarbage every 1000 iterations probably not needed any more.

Thanks. I will merge this PR. I think this code is cool than previous code.
However, In my machine, this code is bit slower than previous code.
maybe cause is line 25,26 (copy from CPU to GPU in loop).


Bulletproofs epic

Use of bulletproofs is an Achilles tendon of RGB protocol: they are required to prevent hidden inflation with the use of Pedersen commitments - but today there is no a single bulletproofs implementation without a significant tradeoffs.
This issue is created to put a modest proposal for this ongoing problem.
Bulletproofs implementations
First, I'd like to start with the analysis of existing bulletproof implementations:

Grin bulletproofs: grin_secp256k1zkp. Implementation is node by a Grin (mimblewimble) team in a fork of secp256k1-zkp on top of some preliminary work from Blockstream in the original secp256k1zkp C library - and not maintained anymore... It is the only implementation which is used in production with a value-containing network; though the value in that network is highly questionable. Andrew Poelstra (one of Bulletproofs co-author) also indicated that the implementation is diverged from Bulletproofs standard and he is not sure whether it is not buggy at all. Today RGB Core uses a fork of this implementation lnpbp_secp256k1zkp created with the only aim to prevent unpredictable changes from the Grin library we have no influence on.
Dalek bulletproofs: bulletproofs. Implementation by ZCash guys, including infamous person who tried to sue Peter Todd. Not maintained; uses different curve (Ristretto255, based on Curve25519/Edwards26619) but fast and pure rust.
Elements: a new effort by Blockstream to implement newer version of bulletproofs (named bulletproofs++) in C as a part of secp256k1zkp ElementsProject library. The work there lasts for the last 4 years - but the most recent PRs finally demonstrate some sort of activity which may indicate that soon this work might be merged (in 1 week - or in another 4 years). One may play the wheel of fortune and bet on the deadlines here:

https://github.com/ElementsProject/secp256k1-zkp/pull/205
https://github.com/ElementsProject/secp256k1-zkp/pull/207
This implementation was never used anywhere - but I assume someday it would get into Liquid (will require a hardfork though).

Sanket: bulletproofs-pp, a proof-of-concept pure rust implementation of the Bulletproofs++ by the same person who works on C version at Blockstream as described above.

Comparison

Library
Standard
Production
Language
Curve
Speed
Maintained
Team

Grin
non-standard
yes
C -> Rust
Secp256k1
slow
no
Grin

Dalek
standard
no
Rust
Ristretto255
ultrafast
no
ZCash

Elements
new standard
planned
C
Secp256k1
slow
yes
Blockstream

Sanket
new standard
not recommended
Rust
Secp256k1
slow
no
Blockstream

Discussion & proposal
From the above it is quite clear that this is a choice without a choice: each of the solutions is worse than the rest - no matter which one you will pick. C-libraries are, BTW, probably non-WASM compatible, etc.
My proposal is the following: avoid the choice by doing two things:

leverage the fact that bulletproofs data are not part of the consensus commitments in RGB and can be replaced later;
for now keep the revealed amounts when doing consignment transfers, i.e. do not conceal them.

With that, we keep all bulletproof and Pedersen commitment business logic in RGB untouched - and can use any bulletproof library no matter how insecure it is! The moment we will see that the situation has changed, we release a new version which will construct a proper bulletproofs and conceal all historic data once and forever.
TL;DR: In RGB we can keep the zk data revealed - in this case bulletproofs are not created. Later we can conceal them - and at that time the bulletproof is constructed. It can be done by a different person than the current owner, i.e. by some future owner for all historical data. I.e. we do not need to select specific bulletproof implementation today for the RGB release.
Appendix A
Previous bulletproof-related issues to feel the pain of the choice from previous years:

https://github.com/RGB-WG/rgb-core/issues/127
https://github.com/RGB-WG/rgb-core/issues/126
https://github.com/RGB-WG/rgb-core/issues/9
https://github.com/RGB-WG/rgb-core/issues/85
https://github.com/RGB-WG/rgb-core/issues/78
https://github.com/RGB-WG/rgb-core/issues/75

Wow, this is an excellent overview, and your insight into a path forward is quite sensible. I appreciate your thinking towards moving things along by making tradeoffs, while designing a pathway to maintain privacy once a better solution is found.
How difficult would it be to fork the Dalek library so it runs on secp? The work doesn't need to be upstreamed if it's unmaintained and isn't copyleft.
Also, Peter Todd got sued by Zcash??? Do you have any links so I can get more background on that situation?

How difficult would it be to fork the Dalek library so it runs on secp?

Like rewriting it from scratch, so it is a non-go.

Also, Peter Todd got sued by Zcash??? Do you have any links so I can get more background on that situation?

I prefer not to comment on this situation in a public space knowing how much these ppl can be abusive with their litigations.


russian symbols not supported by UTF-8

OS: Win10 x64, system language: russian (Windows-1251)
=== NOTION ENHANCER CUSTOMISATION LOG ===
ERROR (report this to dragonwocky#8449 on discord)
'utf-8' codec can't decode byte 0x80 in position 9: invalid start byte
=== END OF LOG ===

...not sure what to do about this yet. Russian symbols don't seem to be supported by UTF-8.

The error that appears frequently in apps is that the user directory C:\Users\ This one\ ... is using cyrillic letters (e.g. "Андрей"). For some reason Windows names the folder exactly "Андрей", which is causing the error. UTF-8 obviously supports Russian symbols, it's a fact. But python/script/node.js/etc may not. Also, the user reports that the encoding is Win-1251 which differs from UTF-8. Might be related to the problem.
There are 2 workarounds one might try (At your own risk).

The first is to set the system to use UTF-8 system-wide . For that, tick the checkbox Control Panel -> Region -> Administrative -> Change System Locale -> Use Unicode for worldwide language support.
In Russian: Панель управления -> Регион -> Администрация  -> Сменить язык системы (или вроде того)
I'm personally using it all the time and the only apps that are broken are some old cranky app and games installers, everything else is just perfect.
The second is to create a new user for yourself and then reinstall everything, and please, don't use Russian letters in the name. A lot of problems are caused by that. AFAIK you can't rename the user folder without creating a new account.

I don't use Russian in my system so the script runs just fine, but if the author wants, I can look into it / test something.

Thanks! The first way works
Appreciate it

The first is to set the system to use UTF-8 system-wide . For that, tick the checkbox Control Panel -> Region -> Administrative -> Change System Locale -> Use Unicode for worldwide language support.
In Russian: Панель управления -> Регион -> Администрация  -> Сменить язык системы (или вроде того)
I'm personally using it all the time and the only apps that are broken are some old cranky app and games installers, everything else is just perfect.

Note:
In Russian: Панель управления - Региональные стандарты - Дополнительно - Изменить язык системы - Использовать Юникод (UTF-8) для поддержки языка во всем мире

Thanks @Nek-12,
This may or may not be fixed by the Node.js rewrite I'm working on, would be awesome if when it's done you could test for things like that.

The error that appears frequently in apps is that the user directory C:\Users\ This one\ ... is using cyrillic letters (e.g. "Андрей"). For some reason Windows names the folder exactly "Андрей", which is causing the error. UTF-8 obviously supports Russian symbols, it's a fact. But python/script/node.js/etc may not. Also, the user reports that the encoding is Win-1251 which differs from UTF-8. Might be related to the problem.
There are 2 workarounds one might try (At your own risk).

The first is to set the system to use UTF-8 system-wide . For that, tick the checkbox Control Panel -> Region -> Administrative -> Change System Locale -> Use Unicode for worldwide language support.
In Russian: Панель управления -> Регион -> Администрация  -> Сменить язык системы (или вроде того)
I'm personally using it all the time and the only apps that are broken are some old cranky app and games installers, everything else is just perfect.
The second is to create a new user for yourself and then reinstall everything, and please, don't use Russian letters in the name. A lot of problems are caused by that. AFAIK you can't rename the user folder without creating a new account.

I don't use Russian in my system so the script runs just fine, but if the author wants, I can look into it / test something.

Hello, I'm a Chinese user and have the same problem. But I can't find the settings you said in your first method. I also don't know how to change my system language into English. Can you tell me the Chinese version of the path of the settings? Some pictures about where the settings are would also be fine.

@caiweihan,

Hello, I'm a Chinese user and have the same problem. But I can't find the settings you said in your first method. I also don't know how to change my system language into English. Can you tell me the Chinese version of the path of the settings? Some pictures about where the settings are would also be fine.

I will be using Google Translate, so the wording may be different
Hello, note that the option is only available on Windows 10.

Press Win+R or open search.
Type control and press enter
If you see large icons, switch to small (look for the button on the screenshot)

Press Region ( google translated: 地区 )
Select the second tab

Click on the bottom button with a shield (translated: 更改系统区域设置 )
Tick the box highlighted on the screenshot
7.1 OPTIONAL: If ticking the box doesn't work, try changing the value in the drop-down menu just above the box to English (like on the screenshot below)

8. Reboot your computer


bigquery: query is invalid, even though it works in the UI

Trying to run this query that works in the UI:
SELECT
  SUM(cost) AS cost
FROM
  `project-id.test_code.projects_hourly`
WHERE
  cost > 0
  AND project_id = "project-id"
  AND TIMESTAMP_TRUNC(end_hour, MONTH) >= (TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), MONTH))

I am using a sql builder to parameterize my queries.
What I see in my logs as the constructed queries & parameters:
DBUG[03-30|22:36:49] SELECT SUM(cost) AS cost FROM projects_hourly WHERE (cost > ? AND project_id = ? AND TIMESTAMP_TRUNC(end_hour, MONTH) >= ?)
DBUG[03-30|22:36:49] params                                   key="[0 project-id TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), MONTH)]"

I am using this code to create the bigquery query.
	q := bq.Query(statement)
	q.Parameters = toBQParameters(params)
	q.UseStandardSQL = true
	q.DefaultProjectID = ProjectID
	q.DefaultDatasetID = DatasetID
	q.Dst = nil
	q.WriteDisposition = bigquery.WriteTruncate

When I fmt.Printf("%#v\n", q), this is what it is:
&bigquery.Query{client:(*bigquery.Client)(0xc4204cf720), QueryConfig:bigquery.QueryConfig{JobID:"", Dst:(*bigquery.Table)(nil), Q:"SELECT SUM(cost) AS cost FROM projects_hourly WHERE (cost > ? AND project_id = ? AND TIMESTAMP_TRUNC(end_hour, MONTH) >= ?)", DefaultProjectID:"project-id", DefaultDatasetID:"test_code", TableDefinitions:map[string]bigquery.ExternalData(nil), CreateDisposition:"", WriteDisposition:"WRITE_TRUNCATE", DisableQueryCache:false, DisableFlattenedResults:false, AllowLargeResults:false, Priority:"", MaxBillingTier:0, MaxBytesBilled:0, UseStandardSQL:true, Parameters:[]bigquery.QueryParameter{bigquery.QueryParameter{Name:"", Value:0}, bigquery.QueryParameter{Name:"", Value:"project-id"}, bigquery.QueryParameter{Name:"", Value:"TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), MONTH)"}}}}

But after running the query:
job, err := q.Run(ctx)
// check err
status, err := job.Wait(ctx)
// check err
err = status.Err()
// kaput

The resulting error is:
{Location: \"query\"; Message: \"Invalid timestamp: 'TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), MONTH)'\"; Reason: \"invalidQuery\"}

Any pointers as to what's happening? Am I not allowed to use functions in the query parameters? Thanks in advance.

It seems like instead of setting the QueryConfig.Parameters and setting QueryConfig.Q with completed statement works. Why is that? The validation is strange.
DBUG[03-30|23:02:59] SELECT SUM(cost) AS cost FROM projects_hourly WHERE (cost > 0 AND project_id = "project-id" AND TIMESTAMP_TRUNC(end_hour, MONTH) >= TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), MONTH))
DBUG[03-30|23:02:59] params                                   key=[]

&bigquery.Query{client:(*bigquery.Client)(0xc4204a8de0), QueryConfig:bigquery.QueryConfig{JobID:"", Dst:(*bigquery.Table)(nil), Q:"SELECT SUM(cost) AS cost FROM projects_hourly WHERE (cost > 0 AND project_id = \"project-id\" AND TIMESTAMP_TRUNC(end_hour, MONTH) >= TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), MONTH))", DefaultProjectID:"project-id", DefaultDatasetID:"test_code", TableDefinitions:map[string]bigquery.ExternalData(nil), CreateDisposition:"", WriteDisposition:"WRITE_TRUNCATE", DisableQueryCache:false, DisableFlattenedResults:false, AllowLargeResults:false, Priority:"", MaxBillingTier:0, MaxBytesBilled:0, UseStandardSQL:true, Parameters:[]bigquery.QueryParameter{}}}

@tonglil My understand is that parameters don't understand that the string is a call to a function, so it thinks you are trying to compare a timestamp to a literal string.
Is it possible for you to pass a time.Time instead?

Thanks. I will pass a time.
Would be good if the docs say that functions are not supported as parameters.


virtcontainers: hotplug memory with kata-runtime update command.

Add support for using update command to hotplug memory to vm.
Connect kata-runtime update interface with hypervisor memory hotplug
feature.
Fixes #625
Signed-off-by: Clare Chen<EMAIL_ADDRESS>

@clarecch Could you proceed this w/o the alignment query from guest? It can be fixed in a follow up PR which would depend on querying memory alignment from the guest. That will speed up the development of this feature.

@bergwolf

Could you proceed this w/o the alignment query from guest

Do you mean the memory section alignment? I have open a issue for that, which is going to implement querying memory block size from the agent https://github.com/kata-containers/agent/issues/354. Is it exactly what you mean?

The jenkins-ci-centos-7-4 failed with:
Summarizing 3 Failures:

[Fail] CPUs and CPU set updating cpus and cpuset of a running container [It] should have the right number of vCPUs
/tmp/jenkins/workspace/kata-containers-runtime-centos-7-4-PR/go/src/github.com/kata-containers/tests/integration/docker/cpu_test.go:432

[Fail] memory constraints run container and update its memory constraints [It] should have applied the constraints
/tmp/jenkins/workspace/kata-containers-runtime-centos-7-4-PR/go/src/github.com/kata-containers/tests/integration/docker/mem_test.go:157

[Fail] docker volume remove bind-mount source before container exits [It] should exit cleanly without leaking process
/tmp/jenkins/workspace/kata-containers-runtime-centos-7-4-PR/go/src/github.com/kata-containers/tests/integration/docker/volume_test.go:175

I know the memory constraints failed is because of memory hot remove. But I can't figure out why the first and the third testcase failed. Pls tell me!

@clarecch
Stderr: Error response from daemon: Cannot update container 2b4090f7c82e239c210f8d8efd5b7f0615386459f934276a53e726e4e66f3114: /usr/local/bin/kata-runtime did not terminate sucessfully: rpc error: code = Unknown desc = failed to write 0-1 to cpuset.cpus: write /sys/fs/cgroup/cpuset/docker/2b4090f7c82e239c210f8d8efd5b7f0615386459f934276a53e726e4e66f3114/cpuset.cpus: invalid argument

@devimc
Stderr: Error response from daemon: Cannot update container 2b4090f7c82e239c210f8d8efd5b7f0615386459f934276a53e726e4e66f3114: /usr/local/bin/kata-runtime did not terminate sucessfully: rpc error: code = Unknown desc = failed to write 0-1 to cpuset.cpus: write /sys/fs/cgroup/cpuset/docker/2b4090f7c82e239c210f8d8efd5b7f0615386459f934276a53e726e4e66f3114/cpuset.cpus: invalid argument

This failed because now we have both udev and onlinecpumem RPC working.

udev has some probability to make some of CPUs online. Making onlineCPUResources return error. See https://github.com/kata-containers/agent/blob/master/grpc.go#L145
Then onlineCPUMem will return. See https://github.com/kata-containers/agent/blob/master/grpc.go#L206
And can't update the parent cgroup cpuset. See https://github.com/kata-containers/agent/blob/master/grpc.go#L235

@linzichang Since we handle device online ourselves, I don't think we should let udev service run in the guest. That means we should disable udev service if systemd is the init process when building the rootfs image.
Another approach is to simply remove the onlineCPUMem call, and add cpu/memory requirements in the CreateContainer grpc. Then the agent can manage cpu/memory assignment and wait for requested amount of resources (if any is specified) to be ready with a timeout.
@sboeuf @devimc @WeiZhang555 wdyt?

Does the hot add memory should be aligned to memory section size and hot remove memory should return fail  break the OCI compatibility? It seems that the CI failed due to CRI-O compatibility. If so, maybe we should find some way to keep OCI compatible.

I think in order to keep the OCI compatible we could:

For hot remove memory should return fail, we don't return fail, just do nothing and update the container memory cgroup.
For hot add memory should be aligned to memory section size, it's much more complicated. We can premise the vm_memory =  vm_reserved_memory + all_container_memory + vm_residual_memory.

vm_memory is the total memory of vm.
vm_reserved_memory is the minimal memory vm should use to keep running. Let's make it to be 1G size first.
all_container_memory is the sum of all container memory limit.
vm_residual_memory is the residual memory of vm except for vm_reserved_memory and all_container_memory.

Let's explain it with a case:
When we start katacontainer with docker run -ti ubuntu, we will have the vm_memory=2G, vm_reserved_memory=1G, all_container_memory=0（container has no memory limit）， so vm_residual_memory=2G-1G=1G. We can do many things with vm_residual_memory.

When we update a memory with adding 300M or create a container with 300M memory, we don't have to hotplug memory with qmp(wich will keep us from making memory section align judgement), just update the memory limit of container, so vm_residual_memory will decrease 300M, all_container_memory will add 300M, others remain no change.

When we delete a container with a memory limit of 300M, all_container_memory will decrease 300M, vm_residual_memory will add 300M, which can slove vm memory recycling problem of https://github.com/kata-containers/runtime/pull/580#issuecomment-417006097 @devimc

When vm_residual_memory draines, for example remains 100M. If we want to add a new container with 300M or update a exist container with 300M, the vm_residual_memory is not enough. We can hotplug memory with 2*128MB(two memory section aligned memory), so vm_memory will increase 256MB, vm_residual_memory will increase  256MB, which will have 356MB in total to create a container or update container memory.

In this way we can solve hotplug memory align problem and vm memory recycling problem etc. WDYT
This idea is originally from @linzichang
If CI is not failed for OCI compatibility, we can implement this feature in https://github.com/kata-containers/runtime/pull/580. Let's move on this PR first.

@devimc I think your idea is reasonable for memory slot, but not properly for the chucks of memory to hotplug. With the help of vm_residual_memory I had mentioned, users can update any size of memory as they want. Kata-runtime will do the job to make the hotplug memory to be aligned with memory section size. So the chucks of memory should not be configurable.

I made some change to make kata-runtime update interface OCI compatible. It seems the CI has no problem now. Let's push on this PR. PTAL!

@bergwolf @jodh-intel PTAL

Please fix the CI error. Add a function to gRPCProxy.

@bergwolf In https://github.com/kata-containers/runtime/blob/a5f05bf3e131722b3c2df1dea88e61700a801136/virtcontainers/kata_agent.go#L1259 , why test err != golangGrpc.ErrClientConnClosing? I think k.client.Close() only return nil or golangGrpc.ErrClientConnClosing. Will this test make the code always success?

@linzichang
golangGrpc.ErrClientConnClosing means the client is in closing state and we do not care about that error so it is ignored.

It ready to read memory block size of guest from agent and check hot add memory to be aligned with memory block size of guest.

I think the CI has no problem now, PTAL

The CI is green now.

The CI is green and conflict is solved. PTAL

The CI is green and conflict is solved. PTAL @jodh-intel @devimc @bergwolf

lgtm

@bergwolf of course

Codecov is stuck. Merge this because this PR updates some tests. If coverage drops, @clarecch please add more tests, thank you!


[Question] Does global discovery work out of the box?

I have a question around discovery:
Is it just supposed to work globally? Should I see something other than my own albums in the discover tab or do I need do have someone on my local network for this to work?

@brasilikum sure, it works out of the box, but there is no constant userbase yet. To make sure everything is ok try to run another Pathephone instance somewhere on the internet (or locally, even without internet connection), share some music and wait for a while.

Would it make sense to have one machine constantly running just so people do not have the same experience I have?
That might help to overcome the initial lack of users, as it is less likely that people start using it if there is nothing available.
I am talking a 5$ machine for a month or something until there is at least one person online at a time. Would that be enough?

@brasilikum it's a reasonable idea indeed, once Pathephone will be ready for daily usage as a desktop player we'll probably create some kind of a bootstrap server.

I tried on a second mac on the same network and I could not get it to work. As the image shows, it is uploading and downloading but the album does not show up on the other mac.
I had it open for ca 20 minutes, that should be enough for something to show up, no?

@brasilikum it depends. IPFS is a very unpredictable technology in terms of 1-1 communication. In my own experience, it took about a minute. At the same time, there were situations when I was unable to discover albums at all.

Ok, in this case it sounds like a solution has to be found upstream.
I understand that it is out of your range, but for the usecase of pathephone it seems like a very unfortunate limitation.
BTW I just discovered the first albums that were not mine


Allow fractional reagent counts.

Right now reagent counts are purely integers. This would be way too clunky in game, so it's probably better to allow fractionals.
Definitely shouldn't use floating point numbers though. Fixed point to two or three decimal places is probably best.

I'm working on this


Loopback interface not  brought up

Loopback interface was s not brought up when wemoved
to clone method of creating namespace. e. Adding it.
Also taking care of PR R comments.
Signed-off-by: Jana Radhakrishnan<EMAIL_ADDRESS>

LGTM


No validation error is displayed

Hi,
When calling _formKey.currentState!.fields["filePicker"]!.invalidate("Validation error"); (assuming _formKey is a GlobalKey<FormBuilderState> and the filePicker field is a FormBuilderFilePicker) or otherwise using the validator: property of FormBuilderFilePicker, no error message appears on the field.
Do I have to tinker my own solution or am I missing something?

Same here.
FormBuilderFilePicker(
    name: 'pdf_file',
    maxFiles: 1,
    type: FileType.custom,
    allowedExtensions: const ['pdf'],
    decoration: const InputDecoration(
        labelText: 'PDF File *',
    ),
    validator: FormBuilderValidators.required(context),
),

Validation fails but border doesn't change nor does the error message show.
I managed to get it working by using the:
decoration: InputDecoration(
   labelText: 'PDF File *',
   errorText: errorText,
),

method.
This may solve the issue for you. However it's not ideal when working with dynamic forms like I am at all...

Any plans fixing this? :confused:


Retrieve CSRF token before each request

Hello,
Let's say my POST request needs a username, password and a CSRF token. The username/password can be fed from text files, but the CSRF token will be different each time and should be retrieved at runtime from a separate URL (for example, by doing a CURL request and extracting it with regex). I want to try all combinations of username/password, with a fresh CSRF token included in each request.

Is this possible with ffuf?
If so, how does it work with the "cluster" mode, where every combination of username/password must be tested?
Is it possible to have multiple dynamically generated values (say there are 2 CSRF tokens, extracted from the same URL or different URLs)?

Many thanks

Hi @chcore, not actually! You can do it using a bash script and then sending one request with FFUF, but honestly it don't makes sense, ffuf is powerful to send multiple requests.
I recommend you to do it with Burp Intruder 👀
Happy hacking!

Thank you for your answer @bsysop,
I agree that it wouldn't make sense to execute just one request at a time with ffuf. I was hoping with my question that I would find in ffuf an efficient CLI alternative to Burp Intruder, at least for my simple needs.
Thanks again

That would be great, probably in the future, but it's pretty hard to implement all that considering just the CLI
FFUF is not that kind of "easy" tool to use, more features means more complexity, which is not bad necessarily 👀 .
Happy hacking!

Adding some comments to this, for the future possible implementation :)
The setup for this its a bit complex, a bit hard to explain how to use (you need to debug before really using it) and for sure not easy to maintain, but for sure is interesting.
SQLMAP

It allow you to get the CSRF token from another URL
--csrf-token don't works with --threads, so it limit the concurrency (but I think they could fix this at some point)

SQLMap can handles cookies too, it capture from the original page and send to the second (if you want), but its far away from perfect.

BURP (PRO only maybe)

You can configure MACROS (amazing feature btw), allowing to "capture" any string (using REGEX) from page A to send to target B.

Implementation suggestion:
Sometimes you could need more than just a CSRF token.. it could be cookies or a simple string to use in the headers, so probably the best implementation could be something like:
[...]
-preflight-request https://target.tld/ -capture-regex 'your_string_extraction_regex_here':REGEX -H "Header: REGEX"
[...]

That way you could use for CSRF tokens, Cookies, headers, anything you want.


Isn't it better to set the frame.src property after adding the eventlistener to listen for messages?

In the previous (jQuery)version of oidc.js the src property of the frame that is created to silently load the token in the background is set after the eventlistener that listens for the message from the iframe has been set.
In the latest code the frame is created, and the src property is set before add the listener.
This could be a problem if the token retrieval is very fast and the message from the IFrame is sent before the eventlistener is active.

Possibly -- feel free to submit a PR (and sign the CLA, too please).

Okay, I have never made a pull request so I have to figure out how to do this. :-)
And where can I sign the CLA?

I have made a pull request for this issue, but I still don't know where and how to sign the CLA.

:) no worries.

clone the repo
create a new branch
do just the one thing you want to fix on that branch
use that branch for the PR

As a newbie to Github I'm already stuck on the "clone the repo" step.
The "Clone in Desktop" button only opens the Github for Windows app.
I will take a look at this later, because I have some work to do right now.