How can I bind a function from a class member variable?

I have a struct called CameraComponent. Inside that struct I have a few regular bools and one SceneCamera variable, called Camera, with a series of public functions. How can I go about binding those functions to Lua through the original struct?
I have for the regular variables
type["primary"] = &CameraComponent::Primary
but it seems I can't do
type["SetOrthographic"] = &CameraComponent::Camera::SetOrthographic

What does "seems I can't do" mean? Compiler error? Runtime error? Unexpected arguments?

What does "seems I can't do" mean? Compiler error? Runtime error? Unexpected arguments?

I get an error on Camera, saying " name followed by "::" must be a class or namespace name "

Can you show me the full error? Can you post a code snippet that behaves similarly? What is Camera, here? A variable? A nested class name?

struct CameraComponent
	{
		SceneCamera Camera;
		bool Primary = true; //Could make the scene be responsible for this
		bool FixedAspectRatio = false;

		CameraComponent() = default;
		CameraComponent(const CameraComponent&) = default;
	};

auto cameraComponent_type = m_State.new_usertype<CameraComponent>("CameraComponent", sol::no_constructor, 			"primary", &CameraComponent::Primary, 			"fixedAspectRatio", &CameraComponent::FixedAspectRatio, 			"SetOrthographic", &CameraComponent::Camera::SetOrthographic);
That is the full compiler error, I'm afraid. This is how I define CameraComponent and bind it to Lua. SetOrthographic is simply a public function from the SceneCamera class.

You need type["SetOrthographic"] = &CameraComponent::SceneCamera::SetOrthographic. This will bind the function SetOrthographic to the top-level type. This may not be what you intended, so you may be better off doing new_usertype<SceneCamera>(...) and binding all the relevant camera methods, then moving on from there.
If you need to modify taken arguments, then you can use sol::property, hand-written lambdas, and more, to bind what you want. https://github.com/ThePhD/sol2/blob/develop/examples/source/property.cpp

I see. The reason I didn't define SceneCamera as its own usertype was because I didn't want the user to have to type
' GetCameraComponent().Camera.SetOrthographic() '
but rather just
' GetCameraComponent().SetOrthographic() '
I know it's a bit cheaty and I wouldn't have had this problem if I didn't have SceneCamera in its own separate class in the first place, but I wanted to know if I can get away with it. Does the first solution you offered, the one where you bind the function to the top level type give me this result?

No, because it will expect a SceneCamera type to SetOrthographic, not a CameraComponent.
You can alleviate this by just writing functions that do what you want and then binding those:
struct CameraComponent
	{
		SceneCamera Camera;
		bool Primary = true;
		bool FixedAspectRatio = false;

		CameraComponent() = default;
		CameraComponent(const CameraComponent&) = default;

		void SetOrthographic() {
			camera.SetOrthographic();
		}
	};

auto cameraComponent_type = m_State.new_usertype<CameraComponent>("CameraComponent",
			/* ... */
			"SetOrthographic", &CameraComponent::SetOrthographic);

"I have dozens, maybe even a hundred methods like this, this will take me forever!"
Sorry; there's no way I can make that desired magical syntax work. If Reflection was a real thing, maybe, but that's another 3-6 years off in C++ time.
If you never, ever bind the SceneCamera type anywhere, at all, directly and it is ONLY ever accessed through CameraComponent (for the ENTIRE application), you could get away with defining a SceneCamera extension point that, for the SceneCamera type, just gets the CameraComponent and then returns the Camera object. But this would mean every use of SceneCamera&/const SceneCamera&/SceneCamera in your function calls bound to Lua would need to actually be CameraComponents, and not SceneCameras.
If you meet those requirements and are sure you won't ever be surprised if things go poorly, well. Here's an example, you'll need to change the return types and how things are checked and such: https://github.com/ThePhD/sol2/blob/develop/examples/source/customization_convert_on_get.cpp
Good luck.


Use operation id column in MetadataConstrains to detect split mutation

The MetadataConstraints code uses the presence of a directory column to detect a split mutation.  In 4.0.0 splits mutations will set an operation id and this could be used to detect a split more precisely rather than the directory column.

I started to look at this now that the changes with #4852 were merged and it looks relatively straight forward. One thing I noticed, which might be better as a separate PR first because it also would affect 3.1, is the lack of validation for the directory column. I think it would be nice to add a check and new violation if that format is wrong. There is already a utility to do the validation: ServerColumnFamily.validateDirCol() I can work on a quick PR for that and test improvements, and another PR to use the opid in elasticity to detect splits.

I'm going to open up a PR just for main for now and include the extra directory column validation check for two reasons.

The violation codes have diverged between 3.1 vs main. In 3.1 there are only 10 violation codes and we have 16 in main. If we want to add a new violation code to 3.1 for the directory check, we either have to make it number 11 and then go try and change codes 11-16 in main (which may be error prone to try and find all the spots), or we would need to just make it code 17 in 3.1 ad skip 11 through 16. I am not sure which is best because skipping the numbers is a lot easier but a bit weird to have missing codes.
I don't think the changes in 3.1 would merge forward cleanly anyways. The metadata constraints code has diverged a bit with the changes in elasticity so it's likely there would just be merge conflicts anyways in both the metadata constraints class and the test for it so I think it would probably be simpler to anyways to just backport the change and merge forward an empty commit if we decide it is worthwhile to do that. (and figure out how to handle the error code)

For new error codes added in 3.1 we could start those at 310 or 3100 and new error codes added in 4.0 could start at 400 or 4000.


Issue with stability on the server - Internal Exception: Java.net.SocketException: connection reset.

When i downloaded the plugin Security Login.
I started to get this issue in my server, where players will get kicked after some time they have joined the server, with following error:
"Internal Exception: Java.net.SocketException: connection reset"
& shows this in console:
"INFO  Server/PlayerConnection] (Player) lost connection: Timed out"

what version of the plugin and spigot/paper (/version) are you using?
Also, what settings have you changed in the config? (have you enabled inventory hiding or location hiding)
Are you using ViaVersion or ProtocolSupport?
I can try to reproduce the issue but I am not certain that it is related to LoginSecurity

I use paper version 1.19.3
I have ViaVersion & ProtocolLib installed.
All settings in the LoginSecurity config is default.

you have not enabled inventory hiding correct?

can you elaborate on why the inventory hiding option might be an issue?

I consistently get this error with inventory hiding both enabled and disabled, possibly an issue related to paper's plugin handling

you have not enabled inventory hiding correct?

can you elaborate on why the inventory hiding option might be an issue?

the inventory hiding is the only feature that directly interacts with the player's protocol. If anything causes unexplained disconnects it aught to be there is what I think.

I consistently get this error with inventory hiding both enabled and disabled, possibly an issue related to paper's plugin handling

Interesting. I will look into it tomorrow and see if I can release a fix.

you have not enabled inventory hiding correct?

Yes, inventory hiding is set to false.


Standard set of theorems

Many thanks for this very nice, clean and useful package!
What would make easier the user's life, is to provide a standard set of theorems, just as does ntheorem (see section 2.3.6, page 8 of its documentation). In other words, to provide an actual configuration just sketched in the examples in section 3.5 of create‐theorem's documentation.

Thank you for the suggestion.
I did consider doing so. However, after some thought, I decided to keep this package as a "base" package so as to make the code cleaner, and then make the configuration another package. This is indeed how my projects are managed for now: the actual configuration is currently in projlib-theorem.sty (though not yet with documentations, my bad).
I haven't yet came up with a wonderful idea to move this part of code into create-theorem.sty, since the main focus (or the original motivation for writing this package) is on multilingual support, which I left to projlib-language.sty, and without which the main feature might not work properly. Also, to be frank, I didn't quite imagined this package to be used by users, but only class/package writers, in which they could already configure everything according to their wish and set free the users.
Nevertheless, I believe that the situation could be improved, perhaps after the package bundle ProjLib finally gets its documentation and can thus be deemed as "stable". I shall leave this issue open, and hope that everything can be done before the release of TeX Live 2024.


PyCall on windows throws shlib_ext missing error

C:\Users\Belli\Desktop>julia runme.jl
ERROR: LoadError: LoadError: LoadError: UndefVarError: shlib_ext not defined
 in include at boot.jl:250
 in include_from_node1 at loading.jl:129
 in include at boot.jl:250
 in include_from_node1 at loading.jl:129
 in reload_path at loading.jl:153
 in _require at loading.jl:68
 in require at loading.jl:51
 in include at boot.jl:250
 in include_from_node1 at loading.jl:129
 in process_options at client.jl:318
 in _start at client.jl:402
while loading C:\Users\Belli\.julia\v0.4\PyCall\src\pyinit.jl, in expression starting on line 13
while loading C:\Users\Belli\.julia\v0.4\PyCall\src\PyCall.jl, in expression starting on line 133
while loading C:\Users\Belli\Desktop\runme.jl, in expression starting on line 1

This is recent breakage on the 0.4 branch, and should be fixed by #124.
In general, you shouldn't be using Julia 0.4 at this point unless you are a developer, because it is breaking things continually.

Yes, I've noticed :)  But other things were broken on 0.3.6 which is why I
have to use 0.4
On Wed, Mar 18, 2015 at 11:20 AM, Steven G. Johnson <
<EMAIL_ADDRESS>wrote:

This is recent breakage on the 0.4 branch, and should be fixed by #124
https://github.com/stevengj/PyCall.jl/pull/124.
In general, you shouldn't be using Julia 0.4 at this point unless you are
a developer, because it is breaking things continually.
—
Reply to this email directly or view it on GitHub
https://github.com/stevengj/PyCall.jl/issues/125#issuecomment-83065650.


Update name of LCG trust anchors

Motivation:
Previous RPM package lcg-CA is no longer available, resulting in an image without any of the expected trust anchors.
Modification:
Use the ca-policy-lcg RPM package instead.
Result:
Image now contains the expected IGTF trust anchors.

Thanks Paul! Change merged into develop branch.
The change is good, but it makes me wonder why we have a Dockerfile at all for gfal2-util.
Cheers,
Mihai


[build-presets] Build SourceKit-LSP in SwiftSyntax CI tests

This would have caught rdar://101588779

@swift-ci Please smoke test


Resolved Issue #22

solution for Two sum problem

Please read the NOTE FOR CONTRIBUTORS.md file before creating a PR. This issue is already completed by @rachana-singh27 in C++ Language :)


⚠ ClamAV has degraded performance

In c551520, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 80 ms

Resolved: ClamAV performance has improved in 0907cd1.


Live tv not working

Live TV has been working for the past 3 days but today it is not.
I have installed the addon from this source https://mediafusion.elfhosted.com/.

Duplicated #147


Created the first build of mobile first page

Create a new pull request to request review

Hello @Olamarx, if possible, can you briefly describe some things that can be improved to look more profesional? I appreciate the help in advance.

Hi @pulgosodog,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project, that does not have the Getting Started section professionally written. Kindly properly write the Getting Started section professionally so that visitors can know how to clone your work.
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear. Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.
Invalid Code Review Request does not count into the code reviews limit.

Hey @Olamarx, I just updated the Getting Started as requested, please have a look.


[bug] Workspace version not supported, prints [object Object] to file names

When using Tauri in a workspace, and the version comes from the Workspace's Cargo.toml, the action ends up processing version = { workspace = true } to the filenames and this results in [object Object] being printed.
Ultimately we need to add workspace support to the toml reading. and catch if version is workspace = true and then traverse up in directories to get the Workspace's toml file.

Do you mind taking a look at my pull request?

I'm back from vacation tomorrow :)

Is there an easier way to test this locally

Not reallyyy, i sometimes copy it in a normal .js file so i can run it in nodejs but generally local reproductions never match the runner behavior somehow so i always end up (ab)using a public project of mine (open source projects don't use build minutes) for tests.


Kj/submit button placement

This PR addresses issue #131 . The questionnaire_fragment.xml used a linear layout which resulted in the submit button vanishing when the questionnaire is long. As advised in issue #131, the submit button should be pinned to the top right corner. I have used a constraintLayout to get this done.

I think if we follow Fred's suggestion in #131 we'd have to consider not rendering the submit button as part of the library at all. So, the library is in charge of the questionnaire items and collecting answers, but the application would render a button and if the user clicks that button the application will ask the library (the questionnaire fragment) what has been recorded by the user.
I think if we do keep the button (and perhaps that should be an option) in the library, then it perhaps should be another view holder type in the recycler view. Same thing with the header (questionnaire title).

I think if we follow Fred's suggestion in #131 we'd have to consider not rendering the submit button as part of the library at all. So, the library is in charge of the questionnaire items and collecting answers, but the application would render a button and if the user clicks that button the application will ask the library (the questionnaire fragment) what has been recorded by the user.
I think if we do keep the button (and perhaps that should be an option) in the library, then it perhaps should be another view holder type in the recycler view. Same thing with the header (questionnaire title).


error stripping locations from read / write procs

The following command produces an opaque error:
# bin/juttle --mode compile -e 'read file'
Error: Cannot read property 'apply' of undefined

The problem comes when the location stripper is trying to walk the AST, since the node generated for the read and write procs contains a child element (the adapter name) that has no AST node type but does have a location.
At the same time, the ASTVisitor should give more helpful errors when encountering problems in the AST.

At the same time, the ASTVisitor should give more helpful errors when encountering problems in the AST.

This facility exists from day 1, it is just disabled by default for performance reasons.


how to protect the login page after getting authenticated

Ask your question
How to protect our login page after we logged in to the web, is there any example like programmatically from this module, or i just create a custom middleware to protect manually and redirect by myself ?
Because i've tried in the demo web, I can visit login page after getting autheticated.
Thanks in advance.
Additional information
No response

Hello,
Maybe you could add condition in your login page like this
// ~/pages/login.vue
<template>
your login form
</template>

<script setup lang="ts">
const { signIn, status } = useSession()
if (status.value === "authenticated") {
    navigateTo('/')
}
</script>

If the global middleware is not enabled, you can also use:
definePageMeta({ middleare: 'auth' })

to protect the page. No need to do this yourself. Read: https://sidebase.io/nuxt-auth/application-side/protecting-pages#local-middleware
Let us know if you need any more help or hop ontop discord: https://discord.gg/9MUHR8WT9B


Uniformity by Updating colour of the buttons

Across the website all buttons have a background colour of cyan however in 3 cases purple background has been observed as shown in the screenshots.
Kindly assign this to me so that i can bring uniformity across the website by updating colour scheme of the button to cyan.

@Smartmind12 you are right but i think the they have 3 colors scheme as there home page consist of cyan,yellow and purple to make it funky😅

@Smartmind12 you are right but i think the they have 3 colors scheme as there home page consist of cyan,yellow and purple to make it funky😅

However if you see all other buttons in all pages are cyan so that is not what was targeted to make funkyness i believe😂

we did intentionally mix up the colors here to make the page more colorful 😊

we did intentionally mix up the colors here to make the page more colorful 😊

So @angiejones would you like me to add the purple colour to other buttons as well on other pages so that one button is cyan and the other is purple?!

we did intentionally mix up the colors here to make the page more colorful 😊

So @angiejones would you like me to add the purple colour to other buttons as well on other pages so that one button is cyan and the other is purple?!

Hey @angiejones Is the above solution feasible for the other pages?? Any updates on the same?


Support shoulda-context with context' and should'.

Following is a example:
context '#edit' do
    should 'show goods_items info' do
      config_pgsearch
      user = create(:user, :with_auth_token)
      token = user.user_auth_tokens.first.to_s

      goods_item = create(:goods_item,
                          category: create(:category, name: '其他'),
                          user: user)
      I18n.stub :locale, 'zh-CN' do
        get edit_api_v1_goods_item_url(format: :json, id: goods_item.id),
            params: {},
            headers: {token: token}
      end
      assert_response :success
      assert_equal '其他', content.data.goods_item.category_display_name
    end
  end

m does not care if you have an extra gem or not, it will just call the appropriate testing library, so it works perfectly fine with shoulda-context.
That being said, there must some sort of issue with your particular set up. What error are you getting?

Following is a model test example:
  ....
    context '修改记录时' do
      should '创建时允许议价, 修改时保持不变' do
        goods_item = create(:goods_item, make_offer_enabled: true)
        assert_equal true, goods_item.persisted?

        goods_item.make_offer_enabled = true
        assert_equal true, goods_item.save

        assert_equal nil, goods_item.make_offer_disabled_at  # << this line is 221
      end
   end

  ....

Got:
No tests found on line 221. Valid tests to run:

                                          test_: GoodsItem should belong to category. : m test/models/goods_item_test.rb:399
                                     test_: GoodsItem should have many notifications. : m test/models/goods_item_test.rb:399
                             test_: make_offer_enabled 修改记录时 should 创建时允许议价, 修改时保持不变. : m test/models/goods_item_test.rb:399
                                          test_: GoodsItem should have many bid_logs. : m test/models/goods_item_test.rb:399
                                            test_: GoodsItem should have many images. : m test/models/goods_item_test.rb:399
                         test_: make_offer_enabled 修改记录时 should 创建时不允许议价, 不允许修改为允许议价. : m test/models/goods_item_test.rb:399
                                          test_: GoodsItem should have many comments. : m test/models/goods_item_test.rb:399
                     test_: scopes should return all goods_item within the rectangle. : m test/models/goods_item_test.rb:399
                                            test_: GoodsItem should have many orders. : m test/models/goods_item_test.rb:399
                                   test_: GoodsItem should require address to be set. : m test/models/goods_item_test.rb:399
      test_: make_offer_enabled 修改记录时 should 参数只能是 true | false | 'true' | 'false' !. : m test/models/goods_item_test.rb:399
                                                        test_: #title should 返回默认值其他. : m test/models/goods_item_test.rb:399
                                        test_: GoodsItem should have many apply_logs. : m test/models/goods_item_test.rb:399
                                      test_: GoodsItem should require type to be set. : m test/models/goods_item_test.rb:399
                                              test_: GoodsItem should belong to area. : m test/models/goods_item_test.rb:399
                                                       test_: #Validates should 抛出异常. : m test/models/goods_item_test.rb:399
                                              test_: GoodsItem should belong to user. : m test/models/goods_item_test.rb:399
                                                      test_: #title should 返回检测的英文标题. : m test/models/goods_item_test.rb:399
                                       test_: make_offer_enabled 新记录时 should 为 false. : m test/models/goods_item_test.rb:399
                                        test_: make_offer_enabled 新记录时 should 为 true. : m test/models/goods_item_test.rb:399
test_: #display_lat display_lng should create area center_lat, center_lng and return. : m test/models/goods_item_test.rb:399
                                    test_: #pg_admin_query vs pg_query should search. : m test/models/goods_item_test.rb:399
                            test_: make_offer_enabled 修改记录时 should 创建时不允许议价, 修改时保持不变. : m test/models/goods_item_test.rb:399
                                            test_: GoodsItem should have many clicks. : m test/models/goods_item_test.rb:399
                                          test_: display_address should show address. : m test/models/goods_item_test.rb:399
                         test_: make_offer_enabled 修改记录时 should 创建允许议价, 可以修改成不允许议价一次. : m test/models/goods_item_test.rb:399
                              test_: #display_lat display_lng should return lat, lng. : m test/models/goods_item_test.rb:399
                                                           test_: #title should 返回标题. : m test/models/goods_item_test.rb:399
                                                      test_: #title should 返回检测的中文标题. : m test/models/goods_item_test.rb:399

But my test file is only 257 line, no 339 line.

@zamith m has never worked correctly with shoulda. Several issues have been raised about it (including one I opened back in May):
https://github.com/qrush/m/issues/4
https://github.com/qrush/m/issues/58

Thanks for pointing that out. As I said on the other issue, I don't really use shoulda. I'd be glad to merge a patch to fix this, if anyone is interested in picking it up, though.

@davidcpell , Seem like shoulda-context is development inactive ...

It seems like we won't be adding shoulda context, thanks for the contributions, but I'm closing this one.


[tidb]fix the tidb checkpoints to exactly once.

#2034 I fix that bug.

I used the same method, but there is another problem: when starting from checkpoint, I get an exception occasionally

Thanks @ArainChen for the great work! Before this PR could be merged, could you please rebase it with latest master branch?


feat(platform): add visualization support to projects

@jonrkarr  I have gotten the vega visualizations working, but am having a lot of rendering issues. The vega embed element has a very small size unless the window is resized, which triggers the event listener to re-render the figure that you set up on the vega component

This was tricky to workout.
My recollection is that I had to

Set the changeDetection to ChangeDetectionStrategy.OnPush
@Component({
  templateUrl: './view.component.html',
  styleUrls: ['./view.component.scss'],
  //this seems to be required oddly
  changeDetection: ChangeDetectionStrategy.OnPush,
})

Force Vega to update when visualization is opened, which I attached to an event handler for changing to the tab that the visualization is embedded in.
 public selectedTabChange($event: MatTabChangeEvent): void {
    this.selectedTabIndex = $event.index;
    if ($event.index == this.iViewChartTab) {
      if (this.vegaVisualization) {
        this.vegaVisualization.render();
      }
    }
  }

Force change detection (changeDetectorRef.detectChanges()) when visualization is opened, which I attached to an event handler for changing to the tab that the visualization is embedded in.
 public selectedTabChange($event: MatTabChangeEvent): void {
    this.selectedTabIndex = $event.index;
    if ($event.index == this.iViewChartTab) {
        this.changeDetectorRef.detectChanges();
    }
  }

Even the above isn't perfect. Vega still doesn't perfectly resize as intended all of the time.

I was wondering what that comment above the change detection was referring to. I have actually broken the visualization tab into a  separate component within the tab page, so I might need to find a way to pass the change tab event down to the component or look for some other event that can trigger the rendering.

I found a way to make it work in the dispatch app, but I don't feel I understand why it had to be that way. I tried various things until I found something that (mostly) works.

I believe you added the comment about change detection.
You could try changing the change detection in the dispatch to see if that's really necessary.

The atypical change detection probably stems from Vega not being angular ui component. Plotly might be the only other ui component like this that we're using.

:tada: This PR is included in version 4.6.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Solus need additional dependency

Hi,
I started installing ebiten to Solus Distro to try out game development. I'm getting error regarding glfw when trying to install.
github.com/go-gl/glfw/v3.3/glfw
/usr/bin/ld: cannot find -lXxf86vm
collect2: error: ld returned 1 exit status
I saw another issue similar to this with Ubuntu and fixes it with installing another dependency 'libxxf86vm-dev'.
For Solus the equivalent dependency is 'libxxf86vm-devel'
It would be helpful to add it ebiten documentation
Thank you

Thank you for pointing this out!

Thank you for pointing this out!


Masking in BERT

In the original paper of BERT it is said:

Note that the purpose of the masking strategies is to reduce the mismatch between pre-training and fine-tuning, as the [MASK] symbol never appears during the fine-tuning stage.

Let's consider a sentence "I am a Liverpool fan" which with 40% masking will be transformed into "I [MASK] a [MASK] fan". When predicting the first [MASK], will it be predicted by a phrase "I [MASK] a fan", excluding the second [MASK] or "I [MASK] a [MASK] fan", by a full sentence?
And what is the purpose of replacing 10% of masked tokens with themselves? Does it mean they will not be predicted? Or we will predict them, having themselves in the context (like predicting the first [MASK] by "I am a [MASK] fan"?
Will be very grateful for any help!

Hi,
I will try to answer your questions. Keep in mind, however that a) my knowledge of BERT only comes from the same paper you read (plus the associated source code and my personal experience re-implementing it for TF 2.0) and b) other design choices could be achieved through an alternative implementation.
That being said:

When predicting the first [MASK], will it be predicted by a phrase "I [MASK] a fan", excluding the second [MASK] or "I [MASK] a [MASK] fan", by a full sentence?

Since the training is conducted on a single forward-pass, the prediction of the first masked token will be based on the encoding of the sentence with both masked tokens. In other words, the sentence "I [MASK] a [MASK] fan" will be fed to the network, embedded, processed by the stack of Transformer encoder blocks, and in the end produce a matrix of shape (n_tokens, model_dim). Then, the masked-tokens-prediction pre-training output layer will further process this matrix and produce predicted tokens probability distributions for each and every tokens marked as masked (both the actual [MASK] ones, and those randomly shifted or not shifted at all yet set to be predicted).

And what is the purpose of replacing 10% of masked tokens with themselves? Does it mean they will not be predicted?

To start with the practical point : the masked tokens replaced with themselves are indeed predicted (and made part of the MLM loss). In other words, what happens is that the MLM loss is based both on the ability of the model to a) predict masked tokens based on context, b) rebuild input non-masked tokens based on their encoding (the case you are asking about), and c) put such tokens in doubt based on their context (the case of tokens replaced by random ones).
This point is arguable, but the idea is that we want to ensure, at the same time, that the encoding retains information on the tokens (and does not just focus on [MASK] ones) - this is the "I can predict a token identical to the input" part - AND incorporates contextual elements - this is the "I can predict the right token instead of the random input one" part. In a sense, you would hope that the model is both able to trust and doubt the input information, and produce encodings of non-masked tokens that retain and embed the valuable information needed for downward tasks (including tasks that would not imply any masked tokens).
I hope this is somehow clearer than the few lines in the paper and can help you! To be honest I struggled a lot with understanding the rationale behind the design (independently from the fact that it is relatively easy to implement).

@pandrey-fr geniously! Thanks a lot, the whole picture has become apparent to me :)

@Aktsvigun That is nice to read! You are welcome :)


prepare_expert_data missing

It seems that some codes are missing. E.g.  prepare_expert_data:
Traceback (most recent call last):
File "./lsiq_experiments.py", line 18, in
from imitation_lib.utils import prepare_expert_data, BestAgentSaver
ImportError: cannot import name 'prepare_expert_data' from 'imitation_lib.utils'

Hi!
Thanks for your interest in this repo and sorry for the late reply. I was on travel and couldn't resolve this issue before now.
Apparently, something went wrong while cleaning up the code. I fixed this issue now.


Mega Menu Dropdown hover flash of content

Expected Behavior
I've created a mega menu using foundation drop down and when I hover really quickly from "Standards" to "Advocacy" the mega menu drop down should flow smoothly. Similar to what happens between "Standards" and "Analytics".
Current Behavior
Right now when I hover really quickly from "Standards" to "Advocacy" the mega menu drop down will cause a flash
Possible Solution
I know a way to solve my problem is to set data-hover-delay to 0 although then that eliminates the user forgiveness
Test Case and/or Steps to Reproduce (for bugs)
https://codepen.io/anon/pen/RBLOwM
Checklist (all required):

[x] I have read and follow the CONTRIBUTING document.
[x] This is a bug report or a feature request.
[x] There are no other issues similar to this one.
[x] The issue title is descriptive.
[x] The template is fully and correctly filled.

@vcarneiro I am sorry, I don't know such examples. But the DropdownMenu is definitely the appropriate Foundation plugin to implement it.


Add items() function to Bicep

Closes #1427
Note: Deployment engine support for this feature hasn't yet been rolled out to all regions. It will have been by the time of the next release.

We shouldn't merge it until the runtime is deployed to all regions.


Support non-passwordless SSH keys

Short description
As an SRE I want to use my existing or specific SSH key with a password so that I can use keys without passwords

Not quite sure what this means?
"non-passwordless" i.e. encrypted keys?

Would you propose to strip the password from the key before uploading?

Maybe this isn't possible?!

It's not particularly easy, if you upload an encrypted key, then you need to store the decryption string for it (the password) pretty close by, so you've effectively stripped the key of its encryption.

This was in response to a bunch of comments about some teams that won't allow SSH keys without passwords. However, I agree this doesn't really help. Closing!


ENH: add plan patterns module

Allows motor trajectories to be determined purely from scan metadata.
@tacaswell, was the dictionary truly necessary in plan_patterns? I can't seem to recall my (our?) reasoning at this point.
Supercedes #454, which will require the tweaks mentioned in that PR - after we agree on this implementation.

Github problems today... closing this one.


[Flogo Web] After one install new activity failed all will fail

I'm submitting a ...  (check one with "x")
[X] bug report => search github for a similar issue or PR before submitting
[] feature request
[] support request
[] general question

Current behavior (how does the issue manifest): If there are error when you're importing a new activity (or if you by mistake click anywhere on the page to dismiss the install modal dialog), all subsequent imports of new activities will fail.
Expected behavior: Don't fail for new installs
Minimal steps to reproduce the problem (not required if feature enhancement):

Open Flogo Web UI
Install a new activity
Click anywhere on the page to dismiss the modal
Try installing the same (or a different activity)

What is the motivation / use case for changing the behavior? Every time this happens I need to create a new docker instance
Please tell us about your environment (Operating system, docker version, browser & web ui version, etc): Flogo Web v0.5.3
Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.5.3
Additional information you deem important (e.g. issue happens only occasionally):

Also tracked in issue #114

Okay, in that case I'm closing this one as a duplicate and will add my comments to that one :)


clean up npm artifact

Include only public files into the published module.
Current distribution includes all sorts of development files and typescript sources, as can be seen here<EMAIL_ADDRESS>This is problematic, because when I am importing ace-linters into my project, I get typescript errors from the library source, which takes precedence over the compiled code

@just-boris, thank you for your contribution! As a consequence of the nature of the current type declarations, your changes will effectively disable types altogether. I'm going to merge this as is, and then create a follow-up PR to reintroduce properly structured type declarations.


Switching to IFrame throw TypeError: Cannot call a class as a function.

What is your Test Scenario?
Test contents of Facebook Video embedded via Iframe
What is the Current behavior?
Testcafe throws an error:
1) An error occurred in Selector code:

           TypeError: Cannot call a class as a function

What is your web application and your TestCafe test code?

 import { t, Selector } from 'testcafe';

fixture('FB Video').page(
  'http://developers.facebook.com/docs/plugins/embedded-video-player/'
);

test('example', async () => {
  const fbVideoIframe = Selector(
    'iframe[src*="facebook.com"][title="fb:video Facebook Social Plugin"]'
  );

  await t.hover('h2#how-to-get-a-video-posts-url');

  await t.switchToIframe(fbVideoIframe);
});

Steps to Reproduce:

Go to my website ...
Execute this command...
See the error...

Your Environment details:

testcafe version: 0.23.2 / 0.22.0
node.js version: 8.12
command-line arguments:  testcafe chrome,firefox,safari  --skip-js-errors
browser name and version: firefox63, chrome70, safari11
platform and version: MacOS 10.13
other

Note this a derived example.
Interestingly on my site (which contains facebook video embeds) I only see the error on mobile browsers, the tests pass fine for desktop.

I've reproduced the error you described but also encountered another problem that can cause the original issue. You can see its details in a separate thread: DevExpress/testcafe-hammerhead#1834. We need to fix it before we can address the original problem.

@AndreyBelym
Hi guys. I have the same issue im my project. When do you plan to fix this?

same happening here, we got iframe with random id coming up every time. we need work around please

It's a duplicate of #3681.
This problem is fixed in<EMAIL_ADDRESS>


Android SDK Platform 29?

Godot version
3.4.5-stable
System information
Windows 11
Issue description
On https://docs.godotengine.org/en/stable/tutorials/export/exporting_for_android.html#doc-exporting-for-android, it says that for Android plugins, we should install Android SDK Platform 29.
Now that Godot 3.4.5 targets Android 31, should the documentation be updated to say Android SDK Platform 31, or is this not necessary?
Thanks 🙂  (Sorry, still trying to get my plugin working)
Steps to reproduce
See above.
Minimal reproduction project
No response

Yes this should be updated with the relevant values for 3.4, 3.5 and latest. Moving to godot-docs repo.
It probably doesn't matter too much if you installed different versions though, I think gradle will automatically install the versions it needs if missing. CC @m4gr3d


DefineConstants should be considered for CoreCompile incrementality

From @JustArchi on May 25, 2018 19:58
Let's assume that you have a C# project similar to below:
#if CUSTOM_PUBLISH
public static readonly CustomPublish = true;
#else
public static readonly CustomPublish = false;
#endif

With proper DefineConstants in csproj:
  <PropertyGroup Condition="'$(CUSTOM_PUBLISH)' != ''">
    <DefineConstants>$(DefineConstants);CUSTOM_PUBLISH</DefineConstants>
  </PropertyGroup>

If you execute following two commands:
dotnet build
dotnet publish -o out /p:CUSTOM_PUBLISH=true

Then execute out\Program.dll, CustomPublish will still be false as dotnet publish did not trigger project rebuild done previously by dotnet build which didn't use the switch. This will not happen if you execute dotnet publish command on the clean tree, without executing dotnet build firstly.
My first question, is this intended? If yes, what is the recommended way to go about this? dotnet clean, or maybe something else? I can understand the rationale behind that, but I'm not entirely sure if dotnet should act in this way.
Thank you in advance.
Copied from original issue: dotnet/cli#9349

From @livarcocc on May 25, 2018 21:17
I don't think this is an issue in the SDK. I tried on a non-sdk style project and I got the same results. This may be MSBuild's incremental check.
@rainersigwald are you aware of any such issues on MSBuild's side?

This is a general problem with the MSBuild incrementality model, but in this case we have already developed a mechanism to solve it. I'll move this to MSBuild and elaborate there.

Thanks for moving. I'll keep looking here 🙂

The core problem here is that MSBuild incrementality depends on the output file being newer than its input files. That's still the case here, because no files have changed--but the output of the compiler would change if it were to run again.
Fortunately, we have a way to deal with cases like this:
https://github.com/Microsoft/msbuild/blob/e7ea68da3ee0929a07cc36e877a32d5e444efefb/src/Tasks/Microsoft.Common.CurrentVersion.targets#L3404-L3431
We should add $(DefineConstants) to that hash, so that it causes the compiler to rerun if it doesn't match the last run.
This isn't a fully general solution to the missed-builds-on-property-changes problem. That's a much bigger issue, considered in #701.

This worked for me, thank you a lot! 🎉

@rainersigwald any objections to considering $(DefineConstants) by default? Seems quite reasonable.. or should this somehow be done by roslyn targets? (after all, it is their concern)

I think we should do it, and 16.0 is a great time for the change. But we should run it by the compiler folks.
@jaredpar would you object to us adding $(DefineConstants) to @(CoreCompileCache) so that CoreCompile is rerun if constants change (as well as source-list changes)?

That seems pretty reasonable to me. Well more it just seems correct to do this.
CC @agocke  in case I'm missing anything.


relatedTest as a general option

Is your feature request related to a problem? Please describe.
As outlined in the discussions at https://github.com/stryker-mutator/stryker-js/issues/3595 and https://github.com/stryker-mutator/stryker-js/issues/4142, we are also organizing our unit tests in a manner where each specific test file corresponds to a particular system under test. Likewise, there is also a fixed naming scheme to keep everything well-organized for the entire engineering team. However, we do not use jest, but a tap based framework where there is no such option like --findRelatedTests and dependencyExtractor.
For us, the desired coverage of a system under test should be exclusively derived from its dedicated test file, ensuring comprehensive testing of all aspects of the system under test. Coverage from other test files is considered an unintended side-effect.
Enabling the possibility to configure the intended mapping between test files and systems under test would assist us in achieving two key objectives:

Enforcement of such a testing policy, ensuring that the corresponding test file(s) independently cover all aspects of the system under test.
Optimization of mutation testing speed by executing only the intended test file(s) per mutation.

Describe the solution you'd like
The addition of a testFileMapping configuration feature, that associates mutated files with their corresponding test file(s). The existing mapping which was collected during the dryRun phase could serve as a fallback for files not explicitly listed in the testFileMapping option.
To accommodate various use cases, the file to be tested could be represented by a regular expression, especially supporting regex groups. The corresponding test files notation could utilize these groups, acting as a filter on the fallback mapping derived from the dryRun phase.
An implementation of this logic could resemble the following:
const config = JSON.parse(`{
  "testFileMapping": [{
    "file": "^custom\.js$",
    "testFile": "test/xyz/custom.test.js"
  }, {
    "file": "^(.+?)\.js$",
    "testFile": "test/$1.test.js"
  }]
}`);

// The file under mutation testing
const file = 'abc.js'

// Collection from the dryRun phase
let testFiles = [
  'test/abc.test.js',
  'test/def.test.js',
];

if ('testFileMapping' in config) {
  for (const candidate of config.testFileMapping) {
    const fileRegex = new RegExp(candidate.file);

    if (fileRegex.test(file)) {
      const testFileRegex = new RegExp(file.replace(fileRegex, candidate.testFile));

      testFiles = testFiles.filter((x) => testFileRegex.test(x));
      break;
    }
  }
}

console.log(testFiles);

// Proceeding with mutation testing of the "file" using "testFiles"

We are open to contributing a merge request if this proposal aligns with your intentions 😃
Describe alternatives you've considered
We tried out the solution proposed in https://github.com/stryker-mutator/stryker-js/issues/3595 by using the programmatic api. In terms of functionality, it achieved our goal and also reduced the testing duration to a third. However, Stryker had to be started for each individual system under test, which not only creates quite the overhead, but also a large number of individual reports that would then have to be merged back into an overall report using additonal (yet to be implemented) post-processing steps.
We have also looked at writing our own plugin, but it seems that this would require much more than just the filter, which has so far prevented us from doing so.

In case someone is interested in our current workaround using the programmatic api, here is a minimal setup of our script:
import * as extStrykerMutatorCore from '@stryker-mutator/core';

// Collection of all files under mutation testing
const files = [/* ... */];

for (const file of files) {
  // Mapping the name of the file under mutation to its corresponding test files
  let testFiles = [/* ... */];

  const stryker = new extStrykerMutatorCore.Stryker({
    // Makes the sum of the reports of the individual runs look more like a collective report of one big run
    clearTextReporter: {
      logTests: false,
      reportTests: false,
      reportScoreTable: false,
    },
    // The test runner we use
    tap: {
      nodeArgs: ['--test-reporter', 'tap'],
      testFiles,
    },
    testRunner: 'tap',
    // See above, removes info messages between the reports of the individual runs to make it look more like one big run
    logLevel: 'warn',
    mutate: [file],
    reporters : ['clear-text'],
  });

  await stryker.runMutationTest();
}

In the case that testFiles always contains exactly one entry, tap provided no added value for us and it was faster to use the commandRunner and set coverageAnalysis to off.
However, this may not be true for test runners that also consider the individual tests within the test file during the dryRun. Which is why the example above lists the test runner we normally use, so as not to give the impression that you need to use the commandRunner for this.


app: Discord & Metamask login isn't working in master

With the new UI, Both discord and metamask logins are not working. While we click on login, after authentication, it keeps saying "logging in". but doesn't gets logged in.
https://user-images.githubusercontent.com/35926530/164520443-77576acd-509f-4220-abca-254ce7396770.mp4
https://user-images.githubusercontent.com/35926530/164520476-608a24c5-f9f1-4e2f-aa64-9e5c0f19e1fa.mp4

The first video is unwatchable on my end.

Thanks, this regressed in https://github.com/webaverse/app/pull/2841 and is probably holding up deployment.
In this case I don't think we should be reverting anything since the previous integrations were, on the balance, worse than than the current state.


Move constants to their own file

Codecov Report

Merging #10 (9bc54f6) into main (588f001) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main       #10   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         5    +1
  Lines          229       229
  Branches        72        72
=========================================
  Hits           229       229

Flag
Coverage Δ

unittests
100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/pseudoprimes/constants.py
100.00% <100.00%> (ø)

src/pseudoprimes/miller_rabin.py
100.00% <100.00%> (ø)

src/pseudoprimes/pseudoprimes.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 588f001...9bc54f6. Read the comment docs.


instance not updating

there are an instance Mielecloudservice which suddenly are not show its stats in the iobroker in node anymore.
when I look at the instance it is updating all the data from the machine while running but they are not show up in nodered.
it have been working before but not now and I have not installed other nodes for some time now.
Please tell us about your environment:
Platform
linux
OS
linux
Architecture
arm
CPUs
4
Speed
600 MHz
Model
ARMv7 Processor rev 3 (v7l)
RAM
7.69 GB
System uptime
00:33:44
Node.js
v12.20.0 (There is a newer version: v12.20.1)
NPM
6.14.10
Disk size
227.98 GB
Disk free
219.21 GB
Adapters count
323
Uptime
00:33:50
Active instances
8
Hostname
raspberrypi

it made 2 of same issues don't know why

it made 2 of same issues don't know why


Mark stats_filter_test as custom setup

https://github.com/istio/istio/pull/16917/files broke new installer tests because it relies on custom setup I think (maybe there is another reason it fails though.. not sure if it requires mixer to be disabled or not)

It requires mixer to be disabled.
Does this disable the test?

@mandarjog no, it just makes it skipped when we use the new installer tests, which run with a custom setup (so it skips the step that disables mixer and fails otherwise)


add documentation on ascent/entry trajectory estimation

@mdbernard thanks for setting all this up! Here are a couple resources off the bat. I will be adding more, so let's not close this issue just yet. I was going to add this information in a bit more detail in a wiki, I had a wiki page open but now it seems the option has disappeared. Thoughts on adding that back? I think it could be a useful place to document references, and figure out ascent/entry/TLI calculations, etc.

Powerpoint slides from Launch and Entry Vehicle Design (ENAE791)

Jupyter Notebook with Planar Launch State Equations, and propagator Python example

Ah I disabled the Wiki. I didn't realize there was anything on it already. I think in order to keep things simple, we should just include links in a README.md in a doc directory containing all those files.

I'm going to add these docs directly to this repo for now. In the event that the repo size blows up, I'll create a new repo in the org containing reference docs and just link to it from a README. Ideally we'll avoid relying on storing reference docs in external locations.


[Request] Ability to hide/filter tweets based on the text content and included hashtags

Thanks for the effort in developing this app, I never got into Twitter because of the ads, but this app will make a nice alternative to Reddit on my phone.
Per the title, I would like to hide tweets based on a text/hashtag filter, as this would quite handy for filtering #sponsored posts, sensitive words, bad trends, etc. Also an option to block users from view in replies/retweets would be nice.

It might be implicit in the request already, but here just to add that it would be great to have a "Only tweets with media" option, if possible.
As a reference, here are the options given in Tweetdeck:

Tweet content (dropdown menu)

All tweets
Tweets with images
Tweets with videos
Tweets with GIFs
Tweets with any media
Tweets with links

Matching (input field)
Excluding (input field)
Retweets (dropdown menu)

included
excluded

I'm aware not everything can be implemented but I'm looking forward to be able to have a feed with images only of art users.


Feature/search in nav

Adding one more item to the nav means we need to bump up the breakpoint for the mobile nav again (to ~960px).. is there a way around this? @paulaborowska

few comments, mostly lgtm :+1: Are we releasing with a feature flag?


🐛 Bug Report: Generation crashes because finish_reason is not always present in the async delta

Which component is this bug for?
OpenAI Instrumentation
📜 Description
The async chat completion crashes because the finish_reason is absent from a delta.
It sometimes happens with the Azure OpenAI backend.
👟 Reproduction steps
Extract of the code I used:
# Instrument OpenAI
environ["TRACELOOP_TRACE_CONTENT"] = str(
    True
)  # Instrumentation logs prompts, completions, and embeddings to span attributes, set to False to lower monitoring costs or to avoid logging PII
OpenAIInstrumentor(enrich_token_usage=True).instrument()

[...]

stream: AsyncStream[ChatCompletionChunk] = await client.chat.completions.create(
    **chat_kwargs,
    stream=True,
)
async for chunck in stream:
    choices = chunck.choices
    if not choices:  # Skip empty choices, happens sometimes with GPT-4 Turbo
        continue
    delta = choices[0].delta
    yield delta

👍 Expected behavior
Even if finish_reason is absent, generation must not crash because of the instrumentation.
👎 Actual Behavior with Screenshots
The generation crashes because finish_reason is absent in a stream delta.
Short log:
File "/xxx/lib/python3.11/site-packages/opentelemetry/instrumentation/openai/shared/chat_wrappers.py", line 299, in _set_choice_counter_metrics
     "llm.response.finish_reason": choice["finish_reason"],
                                   ~~~~~~^^^^^^^^^^^^^^^^^
 KeyError: 'finish_reason'

Full log:
Traceback (most recent call last):
  File "/xxx/lib/python3.11/site-packages/opentelemetry/instrumentation/openai/shared/chat_wrappers.py", line 514, in __anext__
    chunk = await self.__wrapped__.__anext__()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/xxx/lib/python3.11/site-packages/openai/_streaming.py", line 144, in __anext__
    return await self._iterator.__anext__()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
StopAsyncIteration

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/xxx/helpers/call_llm.py", line 228, in load_llm_chat
    chat_task.result()
  File "/xxx/helpers/call_llm.py", line 400, in _execute_llm_chat
    async for delta in completion_stream(
  File "/xxx/helpers/llm_worker.py", line 113, in completion_stream
     raise e
   File "/xxx/helpers/llm_worker.py", line 102, in completion_stream
     async for chunck in _completion_stream_worker(
 Loading LLM chat
   File "/xxx/helpers/llm_worker.py", line 188, in _completion_stream_worker
     async for chunck in stream:
   File "/xxx/lib/python3.11/site-packages/opentelemetry/instrumentation/openai/shared/chat_wrappers.py", line 517, in __anext__
     self._close_span()
   File "/xxx/lib/python3.11/site-packages/opentelemetry/instrumentation/openai/shared/chat_wrappers.py", line 578, in _close_span
     _set_choice_counter_metrics(
   File "/xxx/lib/python3.11/site-packages/opentelemetry/instrumentation/openai/shared/chat_wrappers.py", line 299, in _set_choice_counter_metrics
     "llm.response.finish_reason": choice["finish_reason"],
                                   ~~~~~~^^^^^^^^^^^^^^^^^
 KeyError: 'finish_reason'

🤖 Python Version
3.11.9
📃 Provide any additional context for the Bug.
Versions:

openai v1.30.3
opentelemetry-instrumentation-openai v0.21.4

👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

Are you willing to submit PR?
None

Thanks for reporting @clemlesne! This definitely shouldn't throw an error, so I've added a guard against it (we have it across the repo but apparently this was one spot that was missing), and fixed the bug.


bark: Make bark create atomic

You can create a new client using bark create --datadir=$BARK_DATADIR.
If the creation of a new client fails we get a useless partially initiated directory. I'd prefer to not create a directory at all. This makes it easier to recover from the error

Moved to https://codeberg.org/ark-bitcoin/bark/issues/5.


ePUB created will not import into Google Books

I've tried a few of the books on the site, and while they look OK in Calibre, Google Books, nor Calibre will convert them at all. I tried the --no kindle option also. Again, the Calibre viewer seems to be fine so far, but nothing else for ePUBs. I'll continue trying other books, but I thought it might be something obvious I am missing here.

My Google Play Books won't even process the uploads correctly. I only get a "Processing failed" after a while.

Same here, Google books yields "processing failed" messages, but the funny thing is, that this does not happen every time! There are failing books and passing ones, all generated by the program. Strange.

Can you convert the EPUB with Calibre? I didn't understand.
In case, try to convert EPUB to EPUB using Calibre. Then use the Calibre's EPUB to upload to biG.

Yes, I use Calibre for all of my conversions. The OI'Relly books fail
processing every time.
I can, however, read them with other ePub readers including Calibre's own
reader and others I have downloaded for Android.
Apple's ePub reader works also. I have ALL of my stuff in Google Books and
it's a bit frustrating.
Thank you for this utility!!!
On Thu, Jun 6, 2019 at 1:11 PM Lorenzo Di Fuccia<EMAIL_ADDRESS>wrote:

Can you convert the EPUB with Calibre? I didn't understand.
In case, try to convert EPUB to EPUB using Calibre. Then use the
Calibre's EPUB to upload to biG.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lorenzodifuccia/safaribooks/issues/90?email_source=notifications&email_token=AHOGVKD2UREJHE4NVXNRS2TPZFAMBA5CNFSM4HKWRDW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXDRAXY#issuecomment-499585119,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHOGVKFJYOJXS7CND2POFDTPZFAMBANCNFSM4HKWRDWQ
.

OK all, I think I have a workaround. It's obviously not anything to do with the utility.
Here is how to make the downloaded ePub Safari Book work in Google Books:

Take the resultant .ePub from the utility and launch Calibre
Add the Book, left most green icon
Select the book and click convert.
For the Output Format, select "Mobi" (I confirmed this by downloading it to my Kindle)
Delete the book from Calibre
Add the book back as a Mobi
Select Convert again
Select ePub

The final file I was able to upload successfully to Google Books.

There are many error when checking file with epub validator. That's why google playbook cannot read.
http://validator.idpf.org/

OK all, I think I have a workaround. It's obviously not anything to do with the utility.
Here is how to make the downloaded ePub Safari Book work in Google Books:

Take the resultant .ePub from the utility and launch Calibre
Add the Book, left most green icon
Select the book and click convert.
For the Output Format, select "Mobi" (I confirmed this by downloading it to my Kindle)
Delete the book from Calibre
Add the book back as a Mobi
Select Convert again
Select ePub

The final file I was able to upload successfully to Google Books.

yes, Google Play Books accepts the epub after the workaround but in my case the few pages(chapters) got out of order and I was not able to navigate properly. So, I had to remove from google books and the only option available left was to use downloaded epub directly in apple books.
Also, after this conversion apple books says the epub is corrupted.

OK all, I think I have a workaround. It's obviously not anything to do with the utility.
Here is how to make the downloaded ePub Safari Book work in Google Books:

Take the resultant .ePub from the utility and launch Calibre
Add the Book, left most green icon
Select the book and click convert.
For the Output Format, select "Mobi" (I confirmed this by downloading it to my Kindle)
Delete the book from Calibre
Add the book back as a Mobi
Select Convert again
Select ePub

The final file I was able to upload successfully to Google Books.

yes, Google Play Books accepts the epub after the workaround but in my case the few pages(chapters) got out of order and I was not able to navigate properly. So, I had to remove from google books and the only option available left was to use downloaded epub directly in apple books.
Also, On opening the epub after conversion the apple books app prompts the epub is corrupted.

Yes, it's true Hope the developer could adjust some code and make it work with Google PlayBook.
It's better than iBook for apple....

Can you convert the EPUB with Calibre? I didn't understand.
In case, try to convert EPUB to EPUB using Calibre. Then use the Calibre's EPUB to upload to biG.

Have you tried to convert the EPUB from safaribook to EPUB with Calibre? This will fix many of the CSS/Page layout/TOC problems. Just EPUB to EPUB. Calibre will rise many error/warning, just ignore them and take the fully EPUB-spec compliant output obtained by Calibre.
I use Apple Books without problems after converting the safaribooks output to a new ebup.
If you installed calibre on your PC, maybe you can also use the command line version:
ebook-convert <safaribook>.epub <safaribook>_CLEAR.epub


Removes @author tags, use Git to know the authors :-)

[ant:checkstyle] /home/travis/build/mapfish/mapfish-print/core/src/main/java/org/mapfish/print/config/access/package-info.java:1: First sentence should end with a period.

:core:checkstyleMain FAILED

FAILURE: Build failed with an exception.

Otherwise: LGTM

Fixed :-)


Parameter Naming Inconsistancy: Option vs. Options

PS C:\> New-Variable -Name x -Value 'Read-only variable' -Option ReadOnly
PS C:\> New-Item -Path Function:\xf -Value {'Does nothing'} -Options ReadOnly | Out-Null

Expected behavior
The expected behavior is that both parameters would have been named "Option" (singular) in both cmdlets, regardless of the PS Provider, and whether or not a parameter is dynamic. Were this type of discrepancy found in more places in Microsoft delivered code, even as small as this is, it may have had a largely negative impact on PowerShell overall. I do understand that, "The data stores that the provider exposes can be as varied as Active Directory location and Microsoft Exchange Server mailboxes." Even so, this seems like a small, non-breaking change. That said, this change would require edits to About Providers, and Function provider.
Actual behavior
"Option" and "Options" are both used for the same parameter on different cmdlets (different PS Providers). Each parameter includes the identical arguments, or parameter values:  AllScope, Constant, None, Private, ReadOnly, Unspecified.
Environment data
Name                           Value
----                           -----
PSVersion                      6.2.3
PSEdition                      Core
GitCommitId                    6.2.3
OS                             Microsoft Windows 10.0.18362
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0ΓÇª}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Change from long name to short (Options -> Option) is breaking change.

I can't think of why it needs to be. We can leave an alias on the affected parameter so that it will still work with legacy code.

I agree with you, @iSazonov, in that it would be a breaking change -- I didn't think it all the way through. That said, after your comment, but prior to @vexx32's, I also thought that adding a parameter alias Options, to an Option parameter would keep things working for currently written automation that uses the Options parameter.

Alias doesn't cover all scenarios. :-( There could be an issue in parameter binding.

What scenarios wouldn't bind correctly with use of an alias?

@vexx32 Not binding, I updated my comment. See #3307

@iSazonov I don't think that scenario applies here.

Objects aren't being input to the parameter;
The casting behaviour of the input object(s) is the same (the parameter values are strings / enum);
This is not a pipeline parameter.

Am I missing something?

@vexx32 Any of this may change in the future.

Any of what? Nobody's calling for this cmdlet's design to change -- that in itself would be a far more significant breaking change in any case.
Am I missing something? I'm not seeing any real point of contention here, I'm not understanding why you think changing this is a net negative.

@vexx32 For discussion we need to collect all arguments pro and cons. :-)
Also in general for providers (that is plugins) we can not control provider parameter names.

Fair enough!
Provider or no, I think it ought to be fixed either way, really. It just changes where in the code the fix needs to be, no? 🙂

the code the fix needs to be, no?

I'm not sure yet. I did not find a description in the documentation. This is also a problem. And I did not find this code. Therefore, it is not yet clear what intentions were under the design. Provider code always very sensitive.


fix: don't recommend deprecated https config option

Summary
https: true has been deprecated in favor of server: 'https'
Pull Request checklist

[x] ~Add/update test to cover these changes~
[x] ~Update documentation~
[x] Update CHANGELOG file

From the CI failure:
error This project's package.json defines "packageManager"<EMAIL_ADDRESS>However the current global version of Yarn is 1.22.21.

Yeah Yarn v1.22.20 introduced that "message" though it doesn't explicitly say it'll fail, and v1.22.21 has an env variable that can be set to skip it - I'm looking into this around other CI failures happening related to seg faults in the browser tests; it also doesn't happen on all PRs because for some reason some job runs end up with Yarn v1.22.19 instead

fwiw too https://github.com/ackama/rails-template/pull/466 doesn't seem to be having any trouble with this and it's definitely using v1.22.21 so currently I'm not worried this is a general failure that will interfere when using package_json with modern versions of stuff


Strip the "?utm..." part from links automatically

This is a thing that has bothered me for a long time... it might be pretty niche problem but I would love if links where saved without the added parameters.

Try ClearURL!

Try ClearURLs!

Great suggestion! Thanks :)

Please add to https://better.raindrop.io/feature-requests


nightly-build/docker-compose-nexus.yml: use consul script for sec svcs

The consul svc status script from docker-edgex-consul can now be used to wait for services to be ready as defined by Consul before running their full command.
Note we use entrypoint to override a hard-coded ENTRYPOINT in the image, we can't use command like we do for the other containers (i.e. kong and vault and postgres, etc.)
Also add the vault-config volume to consul so that consul can check for the existence of the TLS files.
This PR depends on a PR in edgex-go which will enable running these entrypoint overrides in the security-secretstore-setup and security-proxy-setup images, because the current is missing curl and the latter is based on scratch and thus has no /bin/sh or curl. That edgex-go PR is here: https://github.com/edgexfoundry/edgex-go/pull/2075.
This PR also depends on https://github.com/edgexfoundry/docker-edgex-consul/pull/6 and https://github.com/edgexfoundry/docker-edgex-volume/pull/11 which together setup proper service definitions in Consul for the security services and allow one to check their status like we do with these scripts.
Testing instructions
Building the containers
In order to test this change, you first will have to build the following docker containers locally:

security-secretstore-setup-go:1.1.0-dev (from edgex-go repo)
security-proxy-setup-go:1.1.0-dev (from edgex-go repo)
docker-edgex-volume (from docker-edgex-volume repo)
docker-edgex-consul (from docker-edgex-consul repo)

NOTE: if you are building on windows you will probably need to fix your line endings if you use git for windows and have the setting which changes unix line endings to windows line endings on git checkout, and the inverse on git commit. To do that, see this comment: https://github.com/edgexfoundry/developer-scripts/pull/147#issuecomment-545252907 for how to use dos2unix and do that. See also https://github.com/edgexfoundry/developer-scripts/issues/156
To build these containers, assuming you have fixed your line endings to be Unix style, checkout the edgex-go PR (https://github.com/edgexfoundry/edgex-go/pull/2075) and in the edgex-go repo and run:
$ make docker_security_secretstore_setup docker_security_proxy_setup

Then checkout the docker-edgex-volume PR (https://github.com/edgexfoundry/docker-edgex-volume/pull/11) and in the docker-edgex-volume repo run:
$ make docker

Then do the same for docker-edgex-consul, checking out the PR (https://github.com/edgexfoundry/docker-edgex-consul/pull/6) and in the docker-edgex-consul repo run:
$ make docker

Launching containers with docker-compose
Finally, after having built all of these containers locally, checkout this PR in your local developer-scripts repo and apply this patch on top to use your local containers:
diff --git a/releases/nightly-build/compose-files/docker-compose-nexus.yml b/releases/nightly-build/compose-files/docker-compose-nexus.yml
index 634e60d..b09f220 100644
--- a/releases/nightly-build/compose-files/docker-compose-nexus.yml
+++ b/releases/nightly-build/compose-files/docker-compose-nexus.yml
@@ -31,7 +31,7 @@ volumes:

 services:
   volume:
-    image: nexus3.edgexfoundry.org:10004/docker-edgex-volume:1.1.0
+    image: edgexfoundry/docker-edgex-volume:1.1.0
     container_name: edgex-files
     networks:
       - edgex-network
@@ -42,7 +42,7 @@ services:
       - consul-data:/consul/data

   consul:
-    image: nexus3.edgexfoundry.org:10004/docker-edgex-consul:1.1.0
+    image: edgexfoundry/docker-edgex-consul:1.1.0
     ports:
       - "8400:8400"
       - "8500:8500"
@@ -109,7 +109,7 @@ services:
       - consul

   vault-worker:
-    image: nexus3.edgexfoundry.org:10004/docker-edgex-security-secretstore-setup-go:1.1.0
+    image: edgexfoundry/docker-edgex-security-secretstore-setup-go:1.1.0-dev
     container_name: edgex-vault-worker
     hostname: edgex-vault-worker
     entrypoint: >
@@ -205,7 +205,7 @@ services:
         - consul

   edgex-proxy:
-    image: nexus3.edgexfoundry.org:10004/docker-edgex-security-proxy-setup-go:1.1.0
+    image: edgexfoundry/docker-edgex-security-proxy-setup-go:1.1.0-dev
     container_name: edgex-proxy
     hostname: edgex-proxy
     entrypoint: >

and then run:
$ docker volume prune -f
$ docker-compose -f ./releases/nightly-build/compose-files/docker-compose-nexus.yml up -d

The docker volume prune is necessary in case some of the volumes on your machine are stale. It's not totally clear to me when docker will "refresh" those volumes, so I just always prune before running with a modified docker-edgex-volume container.
Confirming container status
The final part of this is the actual test to ensure that we didn't start containers until their dependencies were ready. To check this first, inspect Consul using the web UI to see that the following services are healthy:

security-secrets-setup
security-secretstore-setup
security-proxy-setup

And then check to see that the logs indicate we waited for the dependencies before launching things, i.e. your output should match something like this:
 edgex-proxy
$ docker logs edgex-proxy
+ cd /consul/scripts
+ LD_LIBRARY_PATH=.
+ export LD_LIBRARY_PATH
+ curl -s -G edgex-core-consul:8500/v1/agent/checks
+ /consul/scripts/jq -r '.[] | select(.ServiceName == "kong") | .Status == "passing"'
+ '[' true '=' false ]
+ exit 2
+ cd /consul/scripts
+ LD_LIBRARY_PATH=.
+ export LD_LIBRARY_PATH
+ curl -s -G edgex-core-consul:8500/v1/agent/checks
+ /consul/scripts/jq -r '.[] | select(.ServiceName == "kong") | .Status == "passing"'
+ '[' true '=' true ]
+ cd /consul/scripts
+ LD_LIBRARY_PATH=.
+ export LD_LIBRARY_PATH
+ curl -s -G edgex-core-consul:8500/v1/agent/checks
+ /consul/scripts/jq -r '.[] | select(.ServiceName == "security-secretstore-setup") | .Status == "passing"'
+ '[' true '=' true ]
level=ERROR ts=2019-11-05T14:23:54.433502518Z app=edgex-security-proxy-setup source=logger.go:73 msg="logTarget cannot be blank, using stdout only"
Creating directory: ./logs
level=INFO ts=2019-11-05T14:23:54.435045762Z app=edgex-security-proxy-setup source=requestor.go:40 msg="successfully loaded rootCA certificate."
level=INFO ts=2019-11-05T14:23:54.445048682Z app=edgex-security-proxy-setup source=service.go:64 msg="the service on http://kong:8001 is up successfully"
level=DEBUG ts=2019-11-05T14:23:54.481261855Z app=edgex-security-proxy-setup source=service.go:147 msg="trying to upload cert to proxy server"
level=INFO ts=2019-11-05T14:23:54.501628261Z app=edgex-security-proxy-setup source=service.go:169 msg="successfully added certificate to the reverse proxy"
level=INFO ts=2019-11-05T14:23:54.512814498Z app=edgex-security-proxy-setup source=service.go:207 msg="successful to set up proxy service for virtualdevice"
level=INFO ts=2019-11-05T14:23:54.526769015Z app=edgex-security-proxy-setup source=service.go:245 msg="successful to set up route for virtualdevice"
level=INFO ts=2019-11-05T14:23:54.5406004Z app=edgex-security-proxy-setup source=service.go:207 msg="successful to set up proxy service for scheduler"
level=INFO ts=2019-11-05T14:23:54.554741057Z app=edgex-security-proxy-setup source=service.go:245 msg="successful to set up route for scheduler"
level=INFO ts=2019-11-05T14:23:54.565040021Z app=edgex-security-proxy-setup source=service.go:207 msg="successful to set up proxy service for coredata"
level=INFO ts=2019-11-05T14:23:54.577040483Z app=edgex-security-proxy-setup source=service.go:245 msg="successful to set up route for coredata"
level=INFO ts=2019-11-05T14:23:54.586869839Z app=edgex-security-proxy-setup source=service.go:207 msg="successful to set up proxy service for metadata"
level=INFO ts=2019-11-05T14:23:54.599601208Z app=edgex-security-proxy-setup source=service.go:245 msg="successful to set up route for metadata"
level=INFO ts=2019-11-05T14:23:54.609177093Z app=edgex-security-proxy-setup source=service.go:207 msg="successful to set up proxy service for command"
level=INFO ts=2019-11-05T14:23:54.621533181Z app=edgex-security-proxy-setup source=service.go:245 msg="successful to set up route for command"
level=INFO ts=2019-11-05T14:23:54.63016803Z app=edgex-security-proxy-setup source=service.go:207 msg="successful to set up proxy service for notifications"
level=INFO ts=2019-11-05T14:23:54.642725946Z app=edgex-security-proxy-setup source=service.go:245 msg="successful to set up route for notifications"
level=INFO ts=2019-11-05T14:23:54.65363021Z app=edgex-security-proxy-setup source=service.go:207 msg="successful to set up proxy service for distro"
level=INFO ts=2019-11-05T14:23:54.665608905Z app=edgex-security-proxy-setup source=service.go:245 msg="successful to set up route for distro"
level=INFO ts=2019-11-05T14:23:54.674066765Z app=edgex-security-proxy-setup source=service.go:207 msg="successful to set up proxy service for export"
level=INFO ts=2019-11-05T14:23:54.686946874Z app=edgex-security-proxy-setup source=service.go:245 msg="successful to set up route for export"
level=INFO ts=2019-11-05T14:23:54.696107656Z app=edgex-security-proxy-setup source=service.go:207 msg="successful to set up proxy service for logging"
level=INFO ts=2019-11-05T14:23:54.708397713Z app=edgex-security-proxy-setup source=service.go:245 msg="successful to set up route for logging"
level=INFO ts=2019-11-05T14:23:54.718282543Z app=edgex-security-proxy-setup source=service.go:207 msg="successful to set up proxy service for rulesengine"
level=INFO ts=2019-11-05T14:23:54.730927746Z app=edgex-security-proxy-setup source=service.go:245 msg="successful to set up route for rulesengine"
level=INFO ts=2019-11-05T14:23:54.735125056Z app=edgex-security-proxy-setup source=service.go:296 msg="selected authetication method as jwt."
level=INFO ts=2019-11-05T14:23:54.762396676Z app=edgex-security-proxy-setup source=service.go:330 msg="successful to set up jwt authentication"
level=INFO ts=2019-11-05T14:23:54.781916606Z app=edgex-security-proxy-setup source=service.go:285 msg="acl set up successfully"
level=INFO ts=2019-11-05T14:23:54.786466747Z app=edgex-security-proxy-setup source=service.go:131 msg="finishing initialization for reverse proxy"

 edgex-vault-worker
$ docker logs edgex-vault-worker
+ cd /consul/scripts
+ LD_LIBRARY_PATH=.
+ export LD_LIBRARY_PATH
+ curl -s -G edgex-core-consul:8500/v1/agent/checks
+ /consul/scripts/jq -r '.[] | select(.ServiceName == "security-secrets-setup") | .Status == "passing"'
+ '[' true '=' true ]
level=ERROR ts=2019-11-05T14:23:50.416771419Z app=edgex-security-secretstore-setup source=logger.go:73 msg="logTarget cannot be blank, using stdout only"
Creating directory: ./logs
level=INFO ts=2019-11-05T14:23:50.418130733Z app=edgex-security-secretstore-setup source=requester.go:40 msg="successfully loaded rootCA certificate."
level=INFO ts=2019-11-05T14:23:50.468952893Z app=edgex-security-secretstore-setup source=vault.go:56 msg="vault health check HTTP status: 501 Not Implemented (StatusCode: 501)"
level=INFO ts=2019-11-05T14:23:50.496984978Z app=edgex-security-secretstore-setup source=main.go:113 msg="vault is not initialized (status code: 501). Starting initialisation and unseal phases"
level=INFO ts=2019-11-05T14:23:50.530084383Z app=edgex-security-secretstore-setup source=vault.go:67 msg="vault init strategy (SSS parameters): shares=5 threshold=3"
level=INFO ts=2019-11-05T14:23:51.115404833Z app=edgex-security-secretstore-setup source=vault.go:197 msg="successfully made request to initialize secret store"
level=INFO ts=2019-11-05T14:23:51.135781029Z app=edgex-security-secretstore-setup source=vault.go:76 msg="Vault unsealing Process. Applying key shares."
level=INFO ts=2019-11-05T14:23:51.149774698Z app=edgex-security-secretstore-setup source=vault.go:110 msg="Vault key share 1/5 successfully applied."
level=INFO ts=2019-11-05T14:23:51.158219731Z app=edgex-security-secretstore-setup source=vault.go:110 msg="Vault key share 2/5 successfully applied."
level=INFO ts=2019-11-05T14:23:51.164166551Z app=edgex-security-secretstore-setup source=vault.go:110 msg="Vault key share 3/5 successfully applied."
level=INFO ts=2019-11-05T14:23:51.171294743Z app=edgex-security-secretstore-setup source=vault.go:112 msg="Vault key share threshold reached. Unsealing complete."
level=INFO ts=2019-11-05T14:23:52.180573515Z app=edgex-security-secretstore-setup source=vault.go:56 msg="vault health check HTTP status: 200 OK (StatusCode: 200)"
level=WARN ts=2019-11-05T14:23:52.186397774Z app=edgex-security-secretstore-setup source=main.go:169 msg="WARNING: The gokey generator is a reference implementation for credential generation and the underlying libraries not been reviewed for cryptographic security.
level=INFO ts=2019-11-05T14:23:52.226837466Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/mongo/authorization, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:52.234331922Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.277067293Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.289570918Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/metadata/mongodb, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:52.293905194Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.331076635Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.339408951Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/mongo/metadata, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:52.343175676Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.378878074Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.389473924Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/rulesengine/mongodb, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:52.393995151Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.441834115Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.448433285Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/mongo/rulesengine, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:52.453473556Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.487672582Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.497018158Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/logging/mongodb, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:52.500810674Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.531826408Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.536591774Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/mongo/logging, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:52.540880412Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.617075493Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.634944389Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/coredata/mongodb, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:52.639259368Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.716829082Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.952782232Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/mongo/coredata, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:52.95986303Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:52.990809814Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.000313216Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/notifications/mongodb, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:53.007188702Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.070609635Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.076118919Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/mongo/notifications, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:53.07991196Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.114293557Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.123275298Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/exportclient/mongodb, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:53.126445278Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.15935202Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.16408111Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/mongo/exportclient, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:53.168431715Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.203197221Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.212065299Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/mongo/local, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:53.215776133Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.249105766Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.257581053Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/scheduler/mongodb, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:53.261528456Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.292080706Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.297665752Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/mongo/scheduler, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:53.300654216Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.336706662Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.347035974Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/appservice/mongodb, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:53.35133911Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.381354335Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.386306966Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/mongo/application-service, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:53.390552221Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.421472274Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.430092212Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/mongo/admin, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:53.433943468Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.464210674Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.478789121Z app=edgex-security-secretstore-setup source=password.go:133 msg="credential pair NOT found in secret store @//v1/secret/edgex/mongo/config, status: 404 Not Found"
level=DEBUG ts=2019-11-05T14:23:53.482721018Z app=edgex-security-secretstore-setup source=password.go:179 msg="trying to upload the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.542428745Z app=edgex-security-secretstore-setup source=password.go:214 msg="successfully uploaded the credential pair into secret store"
level=INFO ts=2019-11-05T14:23:53.547778224Z app=edgex-security-secretstore-setup source=certs.go:101 msg="proxy cert pair NOT found in secret store @/v1/secret/edgex/pki/tls/edgex-kong, status: 404 Not Found"
level=INFO ts=2019-11-05T14:23:53.554678717Z app=edgex-security-secretstore-setup source=main.go:233 msg="proxy certificate pair are not in the secret store yet, uploading them"
level=INFO ts=2019-11-05T14:23:53.558883652Z app=edgex-security-secretstore-setup source=main.go:240 msg="proxy certificate pair are loaded from volume successfully, will upload to secret store"
level=INFO ts=2019-11-05T14:23:53.562660874Z app=edgex-security-secretstore-setup source=certs.go:185 msg="trying to upload the proxy cert pair into secret store"
level=INFO ts=2019-11-05T14:23:53.628419153Z app=edgex-security-secretstore-setup source=certs.go:220 msg="successful on uploading the proxy cert pair into secret store"
level=INFO ts=2019-11-05T14:23:53.632395578Z app=edgex-security-secretstore-setup source=main.go:249 msg="proxy certificate pair are uploaded to secret store successfully, Vault init done successfully"

Finally, you should be able to check that you can talk to Kong over HTTPS with TLS certs that have been generated by security-secrets-setup like so:
$ docker exec -it edgex-vault /bin/sh -c "cat /vault/config/pki/EdgeXFoundryCA/EdgeXFoundryCA.pem" > edgex-ca.pem
$ $ curl --cacert edgex-ca.pem --resolve edgex-kong:8443:<IP_ADDRESS> https://edgex-kong:8443; echo
{"message":"no Route matched with those values"}

Previously, you wouldn't see the no Route matched with those values message from Kong with this command because security-proxy-setup wouldn't have run and uploaded the certificates to Kong, so instead you would see something like
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

because Kong would be responding with it's default HTTPS certificate which isn't from the certificate authority generated by security-secrets-setup.
See https://github.com/edgexfoundry/edgex-go/issues/1710 for full details on this task.

CC @tingyuz @jim-wang-intel @bnevis-i

Note this PR will also address https://github.com/edgexfoundry/developer-scripts/issues/167


k9mail get access of address book 149times in 2  minutes

Checklist

[X] I have used the search function to see if someone else has already submitted the same feature request.
[X] I will describe the problem with as much detail as possible.
[X] This issue only contains a request for one single feature, not multiple (related) features.

App version
5.913
Problem you are trying to solve
I found that k9app gets the address book 150 times in two minutes. Is this because of the app or because of the system I am using? The system I am using now is MIUI12.50
Suggested solution
Please help to confirm, thank you
Screenshots / Drawings / Technical details
No response

If you have enabled the setting "show names from address book", K-9 needs to access the address book. That's expected behavior.

If you have enabled the setting "show names from address book", K-9 needs to access the address book. That's expected behavior.

ok. got it. thanks


Ping sometimes appears outside of click range

Sometimes when pinging a tile, it seems as though if you're moving your mouse quickly - the ping could go in a different area. This was anecdotally reported but is going to be monitored here for future reference.

I can't reproduce this. Closing for now.