Merge cf-engine-k8s to master

Pull Request Test Coverage Report for Build 5836

950 of 2484 (38.24%)  changed or added relevant lines in 70 files are covered.
11 unchanged lines in 5 files lost coverage.
Overall coverage decreased (-0.2%) to 43.408%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

azkaban-common/src/main/java/azkaban/executor/JdbcExecutorLoader.java
0
1
0.0%

az-core/src/main/java/azkaban/Constants.java
0
2
0.0%

azkaban-common/src/main/java/azkaban/imagemgmt/dto/ImageOwnershipDTO.java
8
10
80.0%

azkaban-common/src/main/java/azkaban/imagemgmt/dto/ImageRampupDTO.java
12
14
85.71%

azkaban-common/src/main/java/azkaban/imagemgmt/dto/ImageRampupPlanRequestDTO.java
17
19
89.47%

azkaban-common/src/main/java/azkaban/imagemgmt/exception/ImageMgmtInvalidInputException.java
2
4
50.0%

azkaban-common/src/main/java/azkaban/imagemgmt/exception/ImageMgmtValidationException.java
2
4
50.0%

azkaban-common/src/main/java/azkaban/imagemgmt/models/BaseModel.java
14
16
87.5%

azkaban-common/src/main/java/azkaban/imagemgmt/models/ImageVersion.java
30
32
93.75%

azkaban-common/src/main/java/azkaban/imagemgmt/models/ImageVersionMetadata.java
10
12
83.33%

Files with Coverage Reduction
New Missed Lines
%

az-core/src/main/java/azkaban/Constants.java
1
23.08%

azkaban-common/src/main/java/azkaban/jobExecutor/AbstractProcessJob.java
2
55.67%

azkaban-common/src/main/java/azkaban/project/AzkabanProjectLoader.java
2
87.82%

azkaban-common/src/main/java/azkaban/executor/container/KubernetesContainerizedImpl.java
3
68.57%

azkaban-exec-server/src/main/java/azkaban/container/FlowContainer.java
3
16.6%

Totals

Change from base Build 5806:
-0.2%

Covered Lines:
16020

Relevant Lines:
36906

💛  - Coveralls

Pull Request Test Coverage Report for Build 5836

950 of 2484 (38.24%)  changed or added relevant lines in 70 files are covered.
11 unchanged lines in 5 files lost coverage.
Overall coverage decreased (-0.2%) to 43.408%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

azkaban-common/src/main/java/azkaban/executor/JdbcExecutorLoader.java
0
1
0.0%

az-core/src/main/java/azkaban/Constants.java
0
2
0.0%

azkaban-common/src/main/java/azkaban/imagemgmt/dto/ImageOwnershipDTO.java
8
10
80.0%

azkaban-common/src/main/java/azkaban/imagemgmt/dto/ImageRampupDTO.java
12
14
85.71%

azkaban-common/src/main/java/azkaban/imagemgmt/dto/ImageRampupPlanRequestDTO.java
17
19
89.47%

azkaban-common/src/main/java/azkaban/imagemgmt/exception/ImageMgmtInvalidInputException.java
2
4
50.0%

azkaban-common/src/main/java/azkaban/imagemgmt/exception/ImageMgmtValidationException.java
2
4
50.0%

azkaban-common/src/main/java/azkaban/imagemgmt/models/BaseModel.java
14
16
87.5%

azkaban-common/src/main/java/azkaban/imagemgmt/models/ImageVersion.java
30
32
93.75%

azkaban-common/src/main/java/azkaban/imagemgmt/models/ImageVersionMetadata.java
10
12
83.33%

Files with Coverage Reduction
New Missed Lines
%

az-core/src/main/java/azkaban/Constants.java
1
23.08%

azkaban-common/src/main/java/azkaban/jobExecutor/AbstractProcessJob.java
2
55.67%

azkaban-common/src/main/java/azkaban/project/AzkabanProjectLoader.java
2
87.82%

azkaban-common/src/main/java/azkaban/executor/container/KubernetesContainerizedImpl.java
3
68.57%

azkaban-exec-server/src/main/java/azkaban/container/FlowContainer.java
3
16.6%

Totals

Change from base Build 5806:
-0.2%

Covered Lines:
16020

Relevant Lines:
36906

💛  - Coveralls


Add protection for a null timestamp in notifier

When a policy cancels a request due to concurrency, it leaves
end_timestamp set to None which the notifier expects to be a date.
This patch adds exception handling to address this properly
Fixes: https://github.com/StackStorm/st2/issues/2923
Signed-off-by: Matt Oswalt<EMAIL_ADDRESS>

Current coverage is 76.37% (diff: 50.00%)

Merging #2985 into master will decrease coverage by 0.09%

@@             master      #2985   diff @@
==========================================
  Files           426        426
  Lines         21800      21803     +3
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits          16667      16650    -17
- Misses         5133       5153    +20
  Partials          0          0

Diff Coverage
File Path

•••••      50%
st2actions/st2actions/notifier/notifier.py

Powered by Codecov. Last update f1d7cfa...f40cc01

Please hold; working on unit test for this patch

Okay, with that, this should be ready to review.

This is a simple fix so a CHANGELOG entry is not really required but preferred. https://github.com/StackStorm/st2/blob/master/CHANGELOG.rst.

@lakshmi-kannan No problem, updated in https://github.com/StackStorm/st2/pull/2985/commits/afc1bb64e3bfdb7e5557d898a50fea1963ea765b

LGTM.


The messages endpoints should have the same response if the message is not found

Describe the bug
If the message is not found, the responses of messages and message metadata are identical but the response of messages children is different. Responses should be consistent in /api/v2/messages group.
/api/v2/messages/{messageId}
/api/v2/messages/{messageId}/metadata
{
  "error": {
    "code": "404",
    "message": "Not Found, error: message not found: 0xf4f0efc9babad540ee5a760f510804957799c72c62b559ed84c769245fd636ac: code=404, message=Not Found"
  }
}

/api/v2/messages/{messageId}/children
{
  "messageId": "0xf4f0efc9babad540ee5a760f510804957799c72c62b559ed84c769245fd636ac",
  "maxResults": 1000,
  "count": 0,
  "childrenMessageIds": []
}

Environment information:

HORNET version 2.0.0-alpha10

While I agree this behaviour does not seem consistent, this would require additional db lookups just to return 404 instead of an empty result list.
When we lookup the children of a message, we don't care about the message itself, we just iterate over our lookup tables were we store the children reference.

messages endpoints should have a consistent response, either an error message or an empty list in this situation.

While I agree this behaviour does not seem consistent, this would require additional db lookups just to return 404 instead of an empty result list. When we lookup the children of a message, we don't care about the message itself, we just iterate over our lookup tables where we store the children reference.

this issue is about error handling and user experience of node APIs. A client can pass valid ID strings via restful APIs, it doesn't know whether the ID is a messageID, a milestoneID, or others, and all the restful routes return an error if the ID is not found in the node, except /api/v2/messages/{messageId}/children.
if this API is special, can the client treat the empty list as equal to not found?

No you can't.
Even if the message exists, an empty response is still valid, because there may be no children yet.
Like Alex said, if you pass a non existing message id from client side, you are already doing something wrong. It seems like a weird overhead to at that check on node side, because it would hit the efficiency of the node implementation for something that is clearly a user error.

No you can't. Even if the message exists, an empty response is still valid, because there may be no children yet. Like Alex said, if you pass a non existing message id from client side, you are already doing something wrong. It seems like a weird overhead to at that check on node side, because it would hit the efficiency of the node implementation for something that is clearly a user error.

yes, it's about error handlings on a wrong operation. a client application can use milestone id on message endpoints by accident or misuse. if the response is like other APIs, the client lib can throw an error and tell the application that's a wrong id.
the question is if this situation happens how do users/developers investigate the problem? the client lib won't throw any error according to this design. how does the application know it's a misuse or a message has no children yet?
if you think this kind of situation won't happen on a client application then we can ignore and close this issue.

Children endpoint was removed with #1532


Update pay-as-you-go-overview.md

T-Mobile story link has changed. Updated it

@jimholtz  can you please approve this PR or add this new link for T-Mobile story in the overview?
https://customers.microsoft.com/en-us/story/1435340411391867976-t-mobile-telecommunications-power-platform


[Feature Request]: Text Embeddings Inference Reranker

Feature Description
Hello, could we get a reranking class in the vein of SentenceTransformerRerank or CohereRerank for a Text Embeddings Inference server?
Reason
We are running into performance/scaling issues with the SentenceTransformerRerank class, even with hacks like BF16 precision and BetterTransformers applied. The Huggingface TEI server should yield much higher performance and can serve many reranking calls at once.
Value of Feature
This would allow call out reranking to a self hosted API, just like the TEI embeddings class.

Yeah I just wrote my own class. Good bot.

I encounter the same issue. I think that a TEI implementation for the reranker models will be useful.  So maybe it's better to reopen the issue...

I'd love to see this as well!

@dosubot @brucethemoose Hello, as of my understanding there still no exist such a class in the newer version of LlamaIndex. We can see here in the postproseccing modules. Right?


If I do not have topic

I met the below errors when I did not specify the topic in OracleSourceConnector.properties
[2020-09-19 14:50:11,070] ERROR Stopping after connector error (org.apache.kafka.connect.cli.ConnectStandalone:121)
java.util.concurrent.ExecutionException: org.apache.kafka.connect.runtime.rest.errors.BadRequestException: Connector configuration is invalid and contains the following 1 error(s):
Missing required configuration "topic" which has no default value.
You can also find the above list of errors at the endpoint /{connectorType}/config/validate
at org.apache.kafka.connect.util.ConvertingFutureCallback.result(ConvertingFutureCallback.java:115)
at org.apache.kafka.connect.util.ConvertingFutureCallback.get(ConvertingFutureCallback.java:99)
at org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:118)
Caused by: org.apache.kafka.connect.runtime.rest.errors.BadRequestException: Connector configuration is invalid and contains the following 1 error(s):
Missing required configuration "topic" which has no default value.
You can also find the above list of errors at the endpoint /{connectorType}/config/validate
at org.apache.kafka.connect.runtime.AbstractHerder.maybeAddConfigErrors(AbstractHerder.java:560)
at org.apache.kafka.connect.runtime.standalone.StandaloneHerder.putConnectorConfig(StandaloneHerder.java:194)
at org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:115)

Not sure if this function for creating topic dynamically is implemented or not.

Hi,
Could you please write topic configuration parameter into your properties file and leave it blank ? . Like this
topic=
Thanks.


image scaling doesn't work via MDM

I looked at this https://github.com/scriptingosx/desktoppr/releases/tag/v0.3
When I try to run this via Jamf it doesn't work due to the spaces for the command.
desktoppr scale center
/usr/local/bin/desktoppr "/Library/Desktop Pictures/BoringBlueDesktop.png" scale center
Is there a info on how to do this?

The scale verb doesn’t take a file path. You set the image first with
/usr/local/bin/desktoppr "/Library/Desktop Pictures/BoringBlueDesktop.png"

and then set the scale by calling desktoppr again
/usr/local/bin/desktoppr scale center


Felix upstart job uses start-stop-daemon

Seems redundant (and possibly wrong) unless I'm missing something.  It's normal to just have the upstart script start the process directly.  Upstart then monitors the started process as a child.  I.e. the child isn't supposed to daemonize itself; upstart forks it off and then monitors it correctly.

Entirely correct.

I think this might even prevent felix from restarting after a failure, we should fix.  Assigning to @neiljerram  since he created that file and I want to make sure we're in sync.

Have we actually observed Felix not restarting?  I'm confident that it did, so this isn't really a bug at all, just a markup (and therefore definitely not a requirement for 0.16).

I have seen it not get restarted even though I don't think that upstart stops retrying; I'm not sure of the precise circumstances that need to occur though.  I have seen it restarted too.

I think there was a recent steer from @lxpollitt not to fix things that aren't broken....  So I'm inclined just to close this with no action.


Separate git and add vcs choosing

Hi! I've refactored the plugin to separate git related functionality and make it possible to add other VCS support easily and without affecting other parts of the plugin. In the company I'm working we are using custom VCS with git-like CLI. I'm not allowed to publish any patches adding support for our VCS but I really want to use your plugin at work. After my refactoring it would be much easier to add and maintain support of the our VCS without affecting the plugin itself.
I think it is good to rename all things called git-something to vcs-something. So please tell me your opinion about the PR and I will make renaming if you would be ok with the PR

Thank you for reviewing.

You put yourself forward as a contributor who will support this going forward. Obviously I will help too, but opening the plugin up to other VCS will increase the work required to maintain it.

Yeah, sure, I'm ok with it.

We add at least one more VCS with basic support. I don't care which, just something to demonstrate the viability of the refactoring. It's one thing to pull out the logic, so it's agnostic across a common interface, but this will inevitably lead to edge cases situations that question certain parts of the overall architecture.

I agree that there should be a proof that the refactoring is useful. But I'm using only git for personal projects and I don't have any experience with any other open source VCS. I definitely will test the refactoring with closed source VCS at work but I can't publish patches (I will ask for  publishing permissions one more time in a week because it's holidays here now). We could even don't merge this until I check it at work with another VCS. And if one day someone would like to add support for any other VCS I will help. Is it ok? Or adding support of any other VCS is a strict requirement to merge this PR?

Thought about this overnight and I'm a little torn on what to do.

I can't publish patches (I will ask for publishing permissions one more time in a week because it's holidays here now)

If the VCS you use is private, then there is no need to add integration to it here.

We could even don't merge this until I check it at work with another VCS. And if one day someone would like to add support for any other VCS I will help. Is it ok? Or adding support of any other VCS is a strict requirement to merge this PR?

This sounds like a good idea.
It would also be good to get a gauge what the appetite for other VCS's is. From my POV git is pretty ubiquitous and accounts for a vast majority of the VCS market share, meaning work done on this plugin benefits a lot of people. For other VCS's, the return-on-investment is much smaller.
Before we make a decision on what to do, I'd like to keep this PR open for a while and iterate on it a bit. At the moment it doesn't really provide any benefit to anyone (other than yourself) and it will make adding more git-specific features a little harder.

At the moment it doesn't really provide any benefit to anyone (other than yourself) and it will make adding more git-specific features a little harder.

That's true. But I think code became a little better because now all logic about git is at one place. Maybe you have any ideas how to make this PR more useful for plugin?
Also another idea is to make choosing VCS under option and use only git by default. What do you think?

That's true. But I think code became a little better because now all logic about git is at one place. Maybe you have any ideas how to make this PR more useful for plugin?

It's better in some regards but more effort to maintain as VCS stuff needs to go over an agnostic interface. Also some VCS' are drastically different so the interface might be wrong. If we want to add new features we need to be careful not to break other VCS's whereas at the moment we can always assume the VCS is git.
For example this PR (#339) which adds some github integration would be more difficult to write as github only works with git.
There's not much we can do about this, it will just be harder, so we need to ensure the added difficulty is worth it.

Also another idea is to make choosing VCS under option and use only git by default. What do you think?

If we're are going to support other VCS's then I think auto-detection is required, but maybe by default git is the only enabled VCS, otherwise the auto-detect might take a while if it loops through all supported VCS's

There's not much we can do about this, it will just be harder, so we need to ensure the added difficulty is worth it.

Now I see that maybe such changes is too much. Because adding multiple VCS support may be a problem and it is not necessary.
I suggest to drop this PR. I could create another PR with small refactoring. The private VCS I use at work has git-like CLI so I think small refactoring to put all git logic to one place would be enough for me.

Created small refactoring PR #437 instead of this one.


convert to accretion-style deployment sets

In tackling the same problem of "how do I manage several related stacks" multiple times from multiple different angles, I have come to really like the general pattern I arrived at with Accretion[1].
To summarize the general pattern: there are several stacks that in total constitute an application deployment. These stacks are created with random stack names and a record of the stack names and associated metadata is stored in a "deployment file".
Other approaches that I have investigated include a reliance on the caller to provide unique stack names the definition of a meta-stack that contains all related stacks under it as nested stacks. Pipeformer currently uses the later approach.
Unique Stack Names
This is the simplest and most straightforward approach, and because of this is probably the most commonly used. When tools take this approach, they do have the benefit of very explicitly identifying the application that deployed the stack, but they create some very important downsides. Most importantly, it makes it very difficult for multiple instances of an application to be deployed in the same account in the same region.
This is not an issue if the application in question should only ever have a single deployment per account/region, but in cases of things like pipeformer, where you might reasonably want dozens if not hundreds of deployments in the same account/region, this becomes problematic.
You can work around the name conflict issue to an extent by relying on the user to define a unique name, but this relies on the user to come up with unique names. Again, at the scale that I plan for pipeformer to be used, this is not a desirable pattern.
Meta-Stack
The meta-stack pattern seems like a good idea on the surface, but in working through how to maintain meta-stack trees, I have come to the conclusion that they are more trouble than they are worth.
The general idea of the meta-stack is that you have a single parent stack, that contains all other stacks as nested stacks, possibly nested arbitrarily deeply.
This creates several problems, not least of which being that bootstrapping the stack tree cleanly requires either a tiered deployment or a lot of overly clever jockeying with wait conditions.
The meta-stack pattern becomes even more complex when you look at updating a single nested stack. Because of the nested structure, every parent stack all the way up must also be updated. This can create significant complexity, especially if the target stack is more than one layer deep, and runs the risk introducing side-effects on stacks that should not have been modified.
The meta-stack pattern also makes it much more complicated to split the nested stacks up into individual components. #41
Deployment File
The deployment file pattern takes a much simpler approach by making one requirement: stack identity and relationships are defined and stored out of band.
In the accretion example, this takes the form of a file on-disk with the idea that you will then store that file in your source control system. However this data could instead be stored in a database if a more centralized mechanism is desired.
Because the stack identities and relationships are stored outside of CloudFormation, we can use random, unique, values for the stack names. This means that we can deploy arbitrarily many instances of a single application in the same account/region.
Because all stacks are maintained independently, we can define weak dependencies between them rather than hard dependencies. This means that we can much more easily separate them and deploy groups or individual stacks independently. This also means that we can handle unusual update stories (ex: for the inputs stack) independently and distinctly from all other stacks.
Some additions that I think we should make to this pattern are:

Rather than each stack having a completely independent random component, each deployment should have a unique ID that is used, along with the logical stack name, to construct the physical stack name.
We should add tags to the stacks that identify their role, application name, and deployment ID. Tying an application name lets us provide a human-friendly relationship while the deployment ID lets us make and uniquely identify separate deployments, even if they have the same application name.

[1] https://accretion.readthedocs.io/en/latest/src/cli.html#deployment-file

Closing down project: #52


⚠ Jerry Savelle Ministries International Australia has degraded performance

In a70863b, Jerry Savelle Ministries International Australia (https://jsmiaustralia.org) experienced degraded performance:

HTTP code: 200
Response time: 7831 ms

Resolved: Jerry Savelle Ministries International Australia performance has improved in 3049cd9 after .


Completion of Arbitrary Native Exe's

My group has a C# library that we use for command line parsing and we have dozens of native exe's that use this same library. It would be easy for us to have an exe dump its parameters using something like "any.exe --DumpCompletionParams", so it would be nice if PowerShell could make use of this -- but without needing to write a specialized wrapper for every exe.
But according to https://github.com/lzybkr/TabExpansionPlusPlus/blob/405c7f8502839615c1d45809d8801de586eb3b74/TabExpansion%2B%2B.psm1#L303, the CommandName parameter is not optional for native exe's.
Is there any workaround, or are we stuck having to enumerate all of the exe's that we'd like to have tab completion for?
(Continuation of https://github.com/lzybkr/PSReadLine/issues/194)

I was thinking about similar thing: generic approach to dump help for commands (like foo.exe /? and foo.exe -h) and produce tab completion.

PowerShell has a built-in extension point and it requires a command name.  The idea was that nobody should need to duplicate the parsing and dispatch logic.
TabExpansion++ just makes it easy to register those completers.
I considered other approaches, but felt that the current approach gave the best in terms of coverage for the effort involved - argument parsing and help output differ greatly in the Windows world, so a common core would be somewhat less useful.
I do accept pull request though - so if you come up with something...

Along the lines of the pull request, back to PSReadLine. :)
Am I crazy for wanting to just add a pluggable callback after this line? Any gotchas to look out for? https://github.com/lzybkr/PSReadLine/blob/master/PSReadLine/Completion.cs#L213
Something like: _tabCompletions = PluginCallbackCompleteInput(_buffer.ToString(), prevCompletions: _tabCompletions);
PluginCallbackCompleteInput could then call out to the .exe detected in _buffer and ask it what its completions are.
Date: Tue, 27 Jan 2015 08:44:18 -0800
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>CC<EMAIL_ADDRESS>Subject: Re: [TabExpansionPlusPlus] Completion of Arbitrary Native Exe's (#32)
PowerShell has a built-in extension point and it requires a command name.  The idea was that nobody should need to duplicate the parsing and dispatch logic.
TabExpansion++ just makes it easy to register those completers.
I considered other approaches, but felt that the current approach gave the best in terms of coverage for the effort involved - argument parsing and help output differ greatly in the Windows world, so a common core would be somewhat less useful.
I do accept pull request though - so if you come up with something...
—
Reply to this email directly or view it on GitHub.
	 	   		  =

That's what TabExpansion++ is really all about.  And really, what you're suggesting is part of how completion already works in PowerShell - if you define your own TabExpansion2 function, you can call into PowerShell or the replaced implementation of TabExpansion2 if your version doesn't work.
Note that if you roll your own, if you aren't that careful in your implementation, completion will be subtly broken, mostly because people are terrible at parsing/analyzing the command line and forget how complicated it can be.  In the common case, stuff will just work, but if people do tricky things on the command line, completion might get messy or do weird things - that's why I introduced the extensibility based on command names.
I've tried to keep the projects separate because completion extensions are useful in other hosts, like the ISE, and PSReadline can't work in the ISE.
There are some notable exceptions - e.g. bash completion or appending a trailing backslash on directories - those cases are involve UI and the completion replacement, so I didn't see a clean way of adding that functionality to TabExpansion++.

Yes, it seems I had overlooked the built-in TabExpansion and TabExpansion2 functions.
Based on this article, looks like redefining TabExpansion should do the trick for my use case: http://blogs.msdn.com/b/powershell/archive/2006/04/26/584551.aspx
Thanks for helping me navigate around these various hooks.
Date: Tue, 27 Jan 2015 21:21:02 -0800
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>CC<EMAIL_ADDRESS>Subject: Re: [TabExpansionPlusPlus] Completion of Arbitrary Native Exe's (#32)
That's what TabExpansion++ is really all about.  And really, what you're suggesting is part of how completion already works in PowerShell - if you define your own TabExpansion2 function, you can call into PowerShell or the replaced implementation of TabExpansion2 if your version doesn't work.
Note that if you roll your own, if you aren't that careful in your implementation, completion will be subtly broken, mostly because people are terrible at parsing/analyzing the command line and forget how complicated it can be.  In the common case, stuff will just work, but if people do tricky things on the command line, completion might get messy or do weird things - that's why I introduced the extensibility based on command names.
I've tried to keep the projects separate because completion extensions are useful in other hosts, like the ISE, and PSReadline can't work in the ISE.
There are some notable exceptions - e.g. bash completion or appending a trailing backslash on directories - those cases are involve UI and the completion replacement, so I didn't see a clean way of adding that functionality to TabExpansion++.
—
Reply to this email directly or view it on GitHub.
	 	   		  =


Plugin API subscribe called twice

Description
When adding a plugin, it seems that the subscribe method is called twice while it's not supposed to.
This is a tested behavior, so there's something to dig into.
I've tested it in CodeSandbox and locally, with Parcel 1 and 2, in dev and build.
Reproduction
https://codesandbox.io/s/infallible-ives-ycli3
Steps

Open the console
See "hey!" being logged twice

Expected behavior
The subscribe method should be called once.
Environment

OS: macOS Big Sur 11.2.3
Browser: Tested on both Firefox Developer Edition 87.0b9 and Chrome 89.0.4389.90
Autocomplete version: 1.0.0-alpha.44

This happens in autocomplete-js where we used to run reactive values (our internal mechanism to make the API reactive) twice. Therefore createAutocomplete was called twice, then calling the plugins' subscribe function.
I fixed it in 83560313e0dfcc8c47e5078916f2f860ab347f5d but haven't released yet.

Can we close this @francoischalifour?

Yep, it's released in v1.0.0-alpha.45.


Use internal call to select_server

This allows to make select_server function private in future release.

I'm not really sure what is going on with Travis right now with Erlang 18, but all of the other tests appear to be passing, so I will merge this. Thank you!


Weird error messages on 0.14.2 && Snowflake

Describe the bug
I keep getting weird error messages when I dbt compile or dbt docs generate. dbt is right -- these objects don't exist, but it isn't handling the errors well.
$ dbt compile
Running with dbt=0.14.2
Found 106 models, 71 tests, 1 snapshot, 0 analyses, 275 macros, 1 operation, 6 seed files, 23 sources

16:17:21 | Concurrency: 8 threads (target='dev')
16:17:21 |
Unhandled error while executing model.fishtown_internal_analytics.stg_dbt_invocation_env_contexts
connection never acquired for thread (52969,<PHONE_NUMBER>98144), have []
Unhandled error while executing model.fishtown_internal_analytics.stg_snowplow_web_page_contexts
connection never acquired for thread (52969,<PHONE_NUMBER>53312), have []
Unhandled error while executing model.fishtown_internal_analytics.stg_dbt_invocation_contexts
connection never acquired for thread (52969,<PHONE_NUMBER>22304), have []
Unhandled error while executing model.fishtown_internal_analytics.stg_dbt_platform_contexts
connection never acquired for thread (52969,<PHONE_NUMBER>67136), have []
Unhandled error while executing model.fishtown_internal_analytics.stg_dbt_run_model_contexts
connection never acquired for thread (52969,<PHONE_NUMBER>32640), have []
Unhandled error while executing model.fishtown_internal_analytics.stg_snowplow_events
'AttributeError' object has no attribute 'msg'
Encountered an error:
Runtime Error
  Database Error in model fct_opportunities (models/marts/sales/fct_opportunities.sql)
    002003 (42S02): 018f53e1-03a9-fa7b-0000-0e69039ebcee: SQL compilation error:
    Object 'ANALYTICS.DBT_CLAIRE.STG_CLOSE_CUSTOM_FIELDS' does not exist.

System information
Which database are you using dbt with?

snowflake

The output of dbt debug:
Running with dbt=0.14.2
dbt version: 0.14.2
python version: 3.7.4
python path<EMAIL_ADDRESS>os info: Darwin-18.7.0-x86_64-i386-64bit
Using profiles.yml file at /Users/claire/.dbt/profiles.yml

Configuration:
  profiles.yml file [OK found and valid]
  dbt_project.yml file [OK found and valid]
  profile: garage-snowflake [OK found]
  target: dev [OK found]

Required dependencies:
 - git [OK found]

Additional context
Logs sent via Slack (too long for here)

When I dbt --single-threaded compile it hits the error more gracefully:
$ ../dbt/env/bin/dbt --single-threaded compile
Running with dbt=0.15.0-a1
Found 106 models, 71 tests, 1 snapshot, 0 analyses, 275 macros, 1 operation, 6 seed files, 23 sources

16:33:48 | Concurrency: 8 threads (target='dev')
16:33:48 |
Encountered an error:
Runtime Error
  Database Error in model fct_opportunities (models/marts/sales/fct_opportunities.sql)
    002003 (42S02): SQL compilation error:
    Object 'ANALYTICS.DBT_CLAIRE.STG_CLOSE_CUSTOM_FIELDS' does not exist.
16:35:06 ~/fishtown/internal-analytics (master *)

Looks like when dbt hits the error with multiple threads, it tries to roll back the transaction that hasn't actually been opened (?).
Also happens on 0.15.0-a1, will send through debug logs on Slack now

So it seems like the steps to reproduce are:

Have a statement that tries to query a relation that doesn't exit
dbt compile with multiple threads

Expected results:

Object does not exist error handled gracefully, like this:

Encountered an error:
Runtime Error
  Database Error in model fct_opportunities (models/marts/sales/fct_opportunities.sql)
    002003 (42S02): SQL compilation error:
    Object 'ANALYTICS.DBT_CLAIRE.STG_CLOSE_CUSTOM_FIELDS' does not exist.

Other open threads are rolled back gracefully.

Actual results:

Other threads are rolled back, even though a connection hasn't yet been acquired for them, causing weird error messages.

Ok, so!

In 0.15.x, the AttributeError about .msg is fixed. We could probably squeeze it in to 0.14.3 if we really really wanted to but I don't think that's worthwhile.
This comes to us courtesy of snowflake. I have no darn idea what it means, but we shouldn't see it anymore due to the fix for 1 properly swallowing the exception:

  File<EMAIL_ADDRESS>line 1102, in _validate_client_session_keep_alive_heartbeat_frequency
    real_max = int(self.rest.master_validity_in_seconds / 4)
AttributeError: 'NoneType' object has no attribute 'master_validity_in_seconds'

From examining the stack trace, I think this stuff RuntimeError: connection never acquired for thread (52969,<PHONE_NUMBER>98144), have [] is caused by us detecting a failure in thread A, and when the error bubbles up, canceling the open connections in B. The only reasonable fix for this is to have some sort of "I am being canceled" global state value, flip the flag on cancellation, and suppress anything like this when we see that flag is True.

Also: I think we should try to fix this for 0.15.0, if we can. It's really terrible output, and the people most likely to hit it are beginners and people who are in the middle of developing new dbt models/macros that do interesting things, and all that cruft really makes it hard to debug.

just added this one to the LMA milestone


Adds test and build workflow for MacOS

Signed-off-by: Surya Sashank Nistala<EMAIL_ADDRESS>Description
Adds test and build workflow for MacOS
Issues Resolved
#52
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@9aeca94). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #76   +/-   ##
=======================================
  Coverage        ?   83.52%
  Complexity      ?      556
=======================================
  Files           ?       61
  Lines           ?     2058
  Branches        ?      146
=======================================
  Hits            ?     1719
  Misses          ?      232
  Partials        ?      107

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 9aeca94...b7a8d7a. Read the comment docs.


Need main functions or similar for entry points in conda

The conda deployment supports creating nice entry points, e.g. the ability to just call um2nc from the command line. For this to work e'll need main or similar functions defined, as entry points need to point at a function.
See this related PR where entry points were removed because there were no suitable functions:
https://github.com/ACCESS-NRI/um2nc-standalone/pull/74#issuecomment-2297854954
I started using the pattern shown below as a pretty standard approach in case it's useful
https://github.com/ACCESS-NRI/ncigrafana/blob/master/ncigrafana/parse_lquota.py#L146-L174
The corresponding entry point definition is
https://github.com/ACCESS-NRI/ncigrafana/blob/master/setup.cfg#L34
The point of this approach was to allow for the argument parsing to be tested independently of the call to main, and also allows for testing main directly in pytest, without the need for an entrypoint script (though I don't believe I actually had those tests in this case ... )

@blimlim if you want/need a post-processing script to be accessible as a command you should specify the requirements in this issue.

It would be great to have the post-processing script available as a command. Specifically we'd want an entry point to the __main__ block in conversion_driver_esm1p5.py
https://github.com/ACCESS-NRI/um2nc-standalone/blob/8aa708d4dbeaa950301173475149a4f37c11ed4a/umpost/conversion_driver_esm1p5.py#L298-L328
Which hopefully should be pretty straightforward to adapt with the pattern in your example. Should I add a PR doing this?

Yep! Thanks.


Add translatable address error message

This PR is an alternative to https://github.com/bitcoin-core/gui/pull/533 that addresses https://github.com/bitcoin-core/gui/pull/533#pullrequestreview-860261164 .
While this PR no longer provides a detailed error message, it still brings some UI improvements:
. Improve user experience by showing an error message instead of just changing the color of QLineEdit
. Currently, when an invalid address is entered in custom change address, an error message is displayed. But the same does not happen in the Pay To field or when adding a new address in the address manager. This PR standardizes error handling for all address fields.
. The message added in this PR is the same as used in the custom change address, which is already translated into several languages.

PR

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts
Reviewers, this pull request conflicts with the following ones:

#533 (gui: add more detailed address error message by w0xlt)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

A constant message seems as useless as the red background colour. Concept NACK

🐙 This pull request conflicts with the target branch and needs rebase.
Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".

There hasn't been much activity lately and the patch still needs rebase. What is the status here?

Is it still relevant? ➡ Please solve the conflicts to make it ready for review and to ensure the CI passes.
Is it no longer relevant? ➡ Please close.
Did the author lose interest or time to work on this? ➡ Please close it and mark it 'Up for grabs' with the label, so that it can be picked up in the future.

There hasn't been much activity lately and the patch still needs rebase. What is the status here?

Is it still relevant? ➡ Please solve the conflicts to make it ready for review and to ensure the CI passes.
Is it no longer relevant? ➡ Please close.
Did the author lose interest or time to work on this? ➡ Please close it and mark it 'Up for grabs' with the label, so that it can be picked up in the future.

Closing due to lack of interest.


PDF/A Format

Hello,
can I create pdf/a format using this library??
Thanks.

I believe the file generated is fully PDF/A compatible; all content and fonts are embedded in the pdf.

But how can I change format PDF-1.3 to PDF/A in the properties of pdf file. Currently, it shows PDF-1.3.

Thanks for the reply.

Ah, after doing a bit more research fR doesn't have built in support for PDF/A.  However, if your company wanted to sponsor the feature to add /A support into fluentReports it appears like this is a feature that could be added...


replace perl with awk in the bash history widget

While awk is POSIX, perl isn't pre-installed on all *nix flavors. This commit replaces perl with awk thus it eliminates the perl dependency.
This commit passed the current test suite with zero errors :

make error => all test sections 'ok'
make docker-test => Finished in 50.929904s, 4.1822 runs/s, 35.3427 assertions/s. 213 runs, 1800 assertions, 0 failures, 0 errors, 0 skips

See also:  #2777 #1934 # #3077 #2260
Test suite was executed with ruby 3.2.2, minitest 5.18.0, and tmux 3.3a. The current Dockerfile runs with older ruby and minitest versions.
Note: unlike the original perl script, which gets $HISTCOUNT from the environment, this awk script reads the initial history count from line 1 of stdin. Then follow the history list, and finally a \t. The reason for \t is to fix a small, pre-existing issue I noticed while developing this patch (see the next comment for additional information).

side note about a side issue
The commit message mentions a small issue that I uncovered while developing this PR.  I believe the issue is unrelated to this patch.
It's a small issue, mainly cosmetic: when the first element of the history list is displayed in fzf's search window, the element ends with a dandling LF character.  To reproduce this issue I removed ~/.bash_history in a terminal, then started bash in another terminal, ran a command, like ls, finally pressed C-R to start the fzf search history widget.
This commit implements a work-arond to make the dandling LF disappers from the search history window. A \t is appended to awk's input stream. The awk script interprets the dangling \n (LF) followed by \t as a record separator (RS). The end result is an empty line, which disappears in the search history window.

Thanks for the patch, but it doesn't work with the awk from macOS. To make it work, I had to use GNU awk (gawk) which must be separately installed.

I can take a look at macOS compatibility, if you're interested in this patch. Are you?
Nothing stands out to me as being gnu-ish in the awk script... it's very basic awk, tested on busybox awk, gawk --posix and mawk. But again, I can take a look at macOS. What's the version string of the failing macOS awk?

Is the failed test output by docker-test? I ran docker-test on linux only. Do I need to run docker-test also on macOS for a complete test?

if you're still interested in this patch. Are you?

I don't personally need it, but if it works and it doesn't do any harm, then why not?

What's the version string of the failing macOS awk?

$ awk --version
awk version 20200816

Is the failed test output that you included by docker-test?

No, I just manually tested it on my macbook. Everything is shown as a single item.

I tried, but failed, to make this commit work with the default awk version for macOS.  Thinking out of the box, I decided to try a bash-only solution instead, which is now PR #3310.  This PR can be closed.  It works on Linux, but fails on macOS unless GNU awk (or mawk / busybox awk) is installed.


Request: transfer fly-sass-lint to sasstools

Recently I builded sass-lint plugin for fly.
I'd like to transfer it into sasstools, to make folks easier to find out this integration option.
Of course, I'm willing to maintain it in the future (っ´ω`c)

ping @Snugug


Fix secure: false option not being respected.

With the old logic, setting secure: false would always get converted to true, since the old code would evaluate to false || true which is always true.

Hope this fix gets merged, as a working secure:false solves issue #87 ("DEPTH_ZERO_SELF_SIGNED_CERT" error for self-signed certificates in upstream servers).


New version of iteration dependence

Iteration counting inside of scene is now replaced by having optax schedule as input parameter to scene.fit. Ex:
schedule = optax.cosine_onecycle_schedule(
transition_steps=maxiter,
peak_value=1,
pct_start=0.5,
div_factor=10,
final_div_factor=.1)
scene.fit(obs, schedule, max_iter=max_iter, e_rel=e_rel)
if schedule = None (default) no schedule is used.

I like it. Did you check that it works?

Yes, I've verified that changing the scheduler has the expected effect on the fits (such as setting the scheduler to very large steps at late iterations) and that setting the scheduler=None gives identical results to manually turning off the scheduler in scene.py


Why model is  downloaded automatically

I have specified the model path
python test.py configs/tusimple_res34.py --test_model  pretrained_model/tusimple_res34.pth --test_work_dir ./tmp
but the code downloads model from
"https://download.pytorch.org/models/resnet34-b627a593.pth" to /home/xxx/.cache/torch/hub/checkpoints/resnet34-b627a593.pth
automatically

@hitbuyi
There is a pretrained flag during network initialization. You can turn it down here:
https://github.com/cfzd/Ultra-Fast-Lane-Detection-v2/blob/f666202d39aedcc624248e65dd9c0604b1c6ac8c/model/model_tusimple.py#L2-L3


Use standardized config directories for storing config.yaml

The current behavior of reading a config file from the current workdir presents a few problems, particularly on Linux:

It doesn't allow launching the app from a different path. This makes it harder for scripting and/or autostart behavior, as it requires cding into the executable directory (https://github.com/omriharel/deej/issues/48)
The executable directory might not be writable, making configuration changes difficult. This makes packaging this app for various distros difficult, as modifying any packaged files is generally not advised.
Due to the above, this app is not suitable to be available on typical paths (e.g. /bin, /usr/bin)

While these problems are centered on Linux, I'd suggest following standard practices for config file placement between different OSes as a robust way to fix such issues. https://github.com/kirsle/configdir is a cross-platform library that can handle this, and I've patched my version of deej to use this and it works without any issue. I'd contribute these changes, but since you're not accepting PRs, the best I can is to notify you of this friction on adoption on more Linux distros :slightly_smiling_face:

Hi @rsubtil, thank you for writing and for the detailed info!
I'm happy to make a change to this in the next version - the points you brought up are completely valid (and the first one can cause confusion on Windows too because it's not intuitive for everyone that they're meant to create a shortcut that starts in the correct location and then place that into their autostart directory).
I would need to ensure this is done in a backwards-compatible way, as I don't want to ask users to move their existing configuration elsewhere. This is crucial to preserve as deej is distributed in a portable manner, without an installer. I don't want to expect users to put their config file in a separate location, which is what an installer would typically do for them (also keeping in mind that unlike apps with GUIs, users are expected to open and change the config file before their first-time run - although this is going to become less of an issue with the next version too, which will be able to keep running even when connection initially fails and then allow users to edit the config from the tray option to open it)
But to avoid rambling - I think the reasonable thing to do given the circumstances of deej would be defaulting to CWD, then falling back to the XDG config path. Installers/packagers would be able to place the config in that location, but most users would still place it alongside their executable. This doesn't fully solve autostart for those users, but there are ways to work around that (such as copying the config from CWD - if one exists - over to the XDG path whenever deej starts).
I also wanted to say thanks for your understanding with regards to me preferring to make these changes in my own pace. It's really nice to receive an informative and well-intending request to consider a change, without the (often pressuring) expectation to necessarily incorporate your own version of that change. I really appreciate that - thank you.
Will of course leave this issue open until this is released, and for any further discussion.

Hello is there any update on this? Looking at this same issue with Pop!_OS. Tried the cd ~/deej/ && ./deej-release but it can't find the config it still wants to run from home directory.


source map errors with Create React App (CRA) / webpack

Have you read the FAQ and checked for duplicate open issues?
yes
If the problem is related to FairPlay, have you read the tutorial?
unrelated to fairplay
What version of Shaka Player are you using?
4.7.1
Can you reproduce the issue with our latest release version?
yes
Can you reproduce the issue with the latest code from main?
unknown
Are you using the demo app or your own custom app?
Create React App (CRA)
If custom app, can you reproduce the issue using our demo app?
n/a
What browser and OS are you using?
Vivaldi 6.5.3206.39, macOS 14.2
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
n/a
What are the manifest and license server URIs?
n/a
What configuration are you using?  What is the output of player.getConfiguration()?
n/a
What did you do?
setup
$ npx create-react-app shaka-debug
$ cd shaka-debug
$ npm install shaka-player

add this to line 1 in src/index.js:
import shaka from 'shaka-player';

start webpack
$ npm start

watch stdout
What did you expect to happen?
no source map errors in the console
What actually happened?
source map errors in the console
Failed to parse source map from 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/entries.js' file: Error: ENOENT: no such file or directory, open 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/entries.js'

Failed to parse source map from 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/find.js' file: Error: ENOENT: no such file or directory, open 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/find.js'

Failed to parse source map from 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/findindex.js' file: Error: ENOENT: no such file or directory, open 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/findindex.js'

Failed to parse source map from 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/from.js' file: Error: ENOENT: no such file or directory, open 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/from.js'

Failed to parse source map from 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/includes.js' file: Error: ENOENT: no such file or directory, open 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/includes.js'

[...]

@shaka-bot reopen

hi @avelad,
what is the reason for changing the bug report to a question?

@shaka-bot change to bug

Try to use import * as shaka from 'shaka-player'

hi @avelad,
same problem. I've never encountered this issue with other node packages.
I think there must be something wrong how shaka is packaged for npm.

Failed to parse source map from 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/entries.js' file: Error: ENOENT: no such file or directory, open 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/entries.js'

Failed to parse source map from 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/find.js' file: Error: ENOENT: no such file or directory, open 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/find.js'

Failed to parse source map from 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/findindex.js' file: Error: ENOENT: no such file or directory, open 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/findindex.js'

Failed to parse source map from 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/from.js' file: Error: ENOENT: no such file or directory, open 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/from.js'

Failed to parse source map from 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/includes.js' file: Error: ENOENT: no such file or directory, open 'shaka-debug/node_modules/shaka-player/dist/src/com/google/javascript/jscomp/js/es6/array/includes.js'

This refers to sources that don't exist.  These are polyfills built into the compiler.

I'm not sure we can do much about that, either.  The Closure compiler writes the sourcemap.
This should stop being an issue after we move to TypeScript.  In the meantime, those seem like harmless warnings you can ignore.

correction: these paths do exist inside the *.map files. I think that's the mistake.

correction: these paths do exist inside the *.map files. I think that's the mistake.

That's right.  They exist only in the source code of the Closure Compiler, not in the player repo at all.  The compiler synthesizes our sources together with ES6 polyfills, and the virtual paths of those polyfills show up in the map.

gotcha. one reason why this is maybe more than an annoyance, is that the CRA/webpack stack doesn't allow to disable source maps for single packages. so the only way to remove these warnings from stdout is to disable source maps entirely, which is not really desired while developing. stdout needs to be warning-free so compiler errors and warnings can be easily spotted while developing

Sorry for the inconvenience.  We won't be using the Closure Compiler forever.  We'll update to modern tooling as soon as we have the bandwidth for it.  Internal projects are taking more of our time right now.


Update cadl to typeSpec

CADL to TypeSpec rename. Should resolve https://github.com/Azure/azure-sdk-tools/issues/5635
Blocked by:
Updates to https://github.com/Azure/azure-sdk-tools/blob/7c10ce5ef4641263b81e775aa181d82750a83da1/src/dotnet/APIView/APIViewWeb/Languages/CadlLanguageService.cs
Updated to DataBase

I see all the updates from Cadl to TypeSpec, but if someone selects "TypeSpec" the filters should still include any existing APIViews that have a language of type "Cadl"

For that I plan to run a script to update all cadl values in the database. That will happen before this change is deployed.

Do we want to have only TypeSpec or TypeSpec | Cadl on the UI side to accomodate teams that are not yet converting to TypeSpec @weshaggard @tjprescott

My strong recommendation would be to support Cadl as an alias of TypeSpec. For example, only choose TypeSpec in the filter, but it should show APIViews that are marked as langauge TypeSpec or Cadl. While a one-time conversion will "fix" any Cadl views currently in the system, if another gets uploaded it will just be silently swallowed by the void.

If using an alias (i.e. when querying the DB you can query for both TypeSpec and Cadl) is easy enough I think that is reasonable. I wouldn't display Cadl in the UI any longer.

If using an alias (i.e. when querying the DB you can query for both TypeSpec and Cadl) is easy enough I think that is reasonable. I wouldn't display Cadl in the UI any longer.

I have gone with this approach.


fix(theme-translations): complete and modify Japanese translations

Pre-flight checklist

[x] I have read the Contributing Guidelines on pull requests.
[ ] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[ ] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation
To complete theme default translations in Japanese.
Of course, to make the Japanese document more useful and natural for developer and user!

Test Plan

Test links

Deploy preview: https://deploy-preview-_____--docusaurus-2.netlify.app/
Related issues/PRs

thanks 👍


New assignment form datepicker and placeholder text

Resolves #810. Can someone check my code composition?

Cool! - there is a small hitch though.
This will work just fine locally - but the servers run on UTC time - so the form will be midnight UTC (5pm pacific)
I think the fix for this is to override/set the default value in the template instead of the form. If you're in the template you have access to the current course object.
You might make your function accept the current course object (which has a timeline attribute) and call that function in the template

Now using placeholder text:

Sorry for the delay. I haven't been able to look at it. I'll take a look at our next Ok meeting and then merge & deploy.

@kevinlin1 the tests are failing, can you look into why?

@knrafto It's this change: https://github.com/Cal-CS-61A-Staff/ok/pull/825/commits/42079b2310488022958ad0e69c2e2fd71a9d4a47
I'm not sure how that method is meant to be used.


Centos 7: Check for Updates 404

Version
What version of the Emulator are you using. 4.0.0-preview-bugbash
Describe the bug
Give a clear and concise description of what the bug is.
Help -> Check for updates
In the Console window, here's what you get:
{ HttpError: 404 Not Found
"method: undefined url: https://github.com/Microsoft/BotFramework-Emulator/releases/download/v4.0.42244/latest-linux.yml\n\nPlease double check that your authentication token is correct. Due to security reasons actual status maybe not reported, but 404.\n"
Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.
[bug]

I can have this done today. Just need to modify the v4 build to generate latest-linux.yml


raider: 3.0.1 -> 3.0.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/ADBeveridge/raider/releases.
meta.description for raider is: Permanently delete your files (also named File Shredder)
meta.homepage for raider is: https://apps.gnome.org/Raider
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.0.2 with grep in /nix/store/zrp5g7c2fm7887ifci5i278xhr0avjwv-raider-3.0.2
found 3.0.2 in filename of file in /nix/store/zrp5g7c2fm7887ifci5i278xhr0avjwv-raider-3.0.2

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

raider

Instructions to test this update (click to expand)

Either download from the cache:
nix-store -r /nix/store/zrp5g7c2fm7887ifci5i278xhr0avjwv-raider-3.0.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nixpkgs-update-cache.nix-community.org/' \
  --option trusted-public-keys '
  nixpkgs-update-cache.nix-community.org-1:U8d6wiQecHUPJFSqHN9GSSmNkmdiFW7GW7WNAnHW0SM=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

Or:
nix build github:r-ryantm/nixpkgs/df4ac83df16ac7298ed9137374d9cbf1c26fcdec#raider

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

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

x86_64-linux

:white_check_mark: 1 package built:

raider

Maintainer pings
cc @BenediktBroich @Aleksanaa @dawidd6 @getchoo @michaelgrahamevans for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

@ofborg build raider raider.passthru.tests


Error: invalid BigNumber

Hello, I can't solve this
Error: invalid BigNumber string (argument="value", value=" ", code=INVALID_ARGUMENT, version=bignumber/5.4.2)

There isn't enough information here to look into this problem, so I'm closing this. Please let us know if you're still having this issue and we'll look into it.


how to play multi video in background???

hey, I need to play more than one set of the video in background, What should I do????

No way. Spare internet users.


Update allegro5

This PR does the following:

Adds support for the Opus codec, and adds opus and opusfile as dependencies
Updates allegro5 from <IP_ADDRESS> to <IP_ADDRESS>
Adds pkg-config files.  They're generated anyway on Unix systems, but Windows actually has a pkg-config port available.

@JesseTG,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Thanks!

No problemo.  :+1:


Can I use the previous checkpoint to train the modified model ?

I saw your paper on CVPR ~ the results are really good !!
Thanks for sharing your model :)
I wanna modify somewhere in your model,
can I use the previous checkpoint to retrain it ?
will it gets something wrong or somewhere I need to notice ~
Cause I read this issue re train using previous checkpoint
I got the "KeyError: "The name 'input/decode_image/cond_jpeg/is_png' refers to an Operation not in the graph.", but I don't know why :(

Yes. You can re-train use the checkpoints.
You need to follow TensorFlow workflow, define new graph and initialize all variables.
Then you can load our checkpoints.
The variables in the new graph with same name as in checkpoints, will use the same weights.

Thanks :) I will try ~

@YukoOhyo Even I am getting the same error:
KeyError: "The name 'input/decode_image/cond_jpeg/is_png' refers to an Operation not in the graph."
Did you solve this error? Even I am trying to load the pretrained checkpoint to train using a different data.

That error means you new graph does not contain some operations which are in the checkpoint file.
Maybe you can only load those required weights. I think there may be solutions in TensorFlow docs.

In order to re-train using previous checkpoint,
I try to change the following code in "model.py":
`self.saver = tf.train.Saver(max_to_keep=50, keep_checkpoint_every_n_hours=1)
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess=sess, coord=coord)
summary_op = tf.summary.merge_all()
summary_writer = tf.summary.FileWriter(self.train_dir, sess.graph, flush_secs=30)`
to:
`# training summary
summary_op = tf.summary.merge_all()
summary_writer = tf.summary.FileWriter(self.train_dir, sess.graph, flush_secs=30)
saver = tf.train.import_meta_graph(r'./checkpoints/color/deblur.model-523000.meta')
saver.restore(sess, tf.train.latest_checkpoint(r'./checkpoints/color/'))
self.saver = saver
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess=sess, coord=coord)`
However, I have an error of
ValueError: Can't load save_path when it is None
in the line of
saver.restore(sess, [tf.train.latest_checkpoint(r'./checkpoints/color/'))]

I saw your paper on CVPR ~ the results are really good !! Thanks for sharing your model :)
I wanna modify somewhere in your model, can I use the previous checkpoint to retrain it ?
will it gets something wrong or somewhere I need to notice ~ Cause I read this issue re train using previous checkpoint I got the "KeyError: "The name 'input/decode_image/cond_jpeg/is_png' refers to an Operation not in the graph.", but I don't know why :(

i have errors in the code when running in google colab ?
can you help me to fix this error ? or share the colab notebook to test the code ?


Fails to build on F-Droid

The latest version (1.0.3) fails to build:
* Where:
Build file '/home/vagrant/build/net.pfiers.osmfocus/build.gradle.kts' line: 40

* What went wrong:
java.lang.NullPointerException (no error message)

https://monitor.f-droid.org/builds/log/net.pfiers.osmfocus/103
could you change it that these variables are not needed?
https://github.com/ubipo/osmfocus/blob/master/build.gradle.kts#L40

Thanks for letting me know!
Fixed in 639f3d1.
Should I update something in fdroid/data or will the autoupdater still work?

Thanks! It will be picked up automatically.


added info on score cards, credit to authors

added info on score cards, credit to authors

I made the citation of pre-existing datasets more explicit.
Included the "cite macro for LaTeX", not sure which quote signs you meant around "cite".


Understanding on train,cv,test

For a given full dataset , we split the data to train test (lets say 70-30) .
Now we perform EDA, model selection on train data.
lets say we go ahead with random forest , we would like to perform cross validation score on it before trying it out on test data.
from sklearn.model_selection import cross_val_score

scores = cross_val_score(tree_reg, housing_prepared, housing_labels,
                         scoring="neg_mean_squared_error", cv=10)
tree_rmse_scores = np.sqrt(-scores)

from above, cv=10 that means 10 kfold startagey will be implemented, model will  train and tested 10 times.
For each iteration, 9/10 of train data (which is 70% of full data) becomes the new training data for model training and rest cross validation set will be used for model evaluation.
Like wish this will be repeated upto 10 times with different training and cv set.
My point is to understand that our actual training size becomes (70*(9/10) )=63%
Though once we get the mean of score accuracy, we can re-train the model on entire training data or even full dataset before making it live on production data.
Please help me if my understanding is correct.

@digitech-ai Yes you are correct, infact after you shortlist multiple training models and when you fine-tune them using search such as Grid Search or Randomized, by default these Searches actually refit on the whole dataset that you fed after finding the best hyperparameters and return the best estimator. For eg. You can look at the refit parameter of GridSearchCV in the docs here.

Thanks!


Prevent link creation from specific port ?

After digging around the source I cant seem to find a way to do this.
My use case is, I have nodes that can only be connected to (link order matters), so I am trying to find a way to prevent the drag that gets initialized from the port, is there a way to do this that I am missing?
From my experiments, it seems PortWrapper is the way to go about this, but there is no easy way to hook into it sadly.

Essentially for someone wanting to do this, you can hook into onLinkStart action, and just do any kind of validation there instead! I missed this onto my pass through the source code.


38 rewrite settings page

@gitcpy hey, check out new settngs, how do you like this?

OK
------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2024年10月26日(星期六) 凌晨0:37
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [gitcpy/diagram-zoom-drag] 38 rewrite settings page (PR #40)
@gitcpy hey, check out new settngs, how do you like this?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


Comments and annotations supports w/o breaking signature

Hi, first, thanks for all your work on pyHanko, who is really usefull.
Yeah, i know that you've written "The most lenient document modification policy (i.e. addition of comments and annotations) is not supported. "
I'm just asking if there is any chance that pyHanko will support it or perhaps do you know how to do that with another python package ?
Many thanks

I'm just asking if there is any chance that pyHanko will support it [...]

Sure, eventually I might get around to implementing it. The problem is, though, that these DocMDP policies are defined very vaguely, and "allow annotations" is a much broader operation than "allow form filling/signing". So the main effort bottleneck is in painstakingly testing interoperability with popular viewers.
Orthogonal to the implementation question, the "allow annotations" level is also pretty objectively bad in terms of security UX. That's the other main reason why I never made it a priority.

[...] or perhaps do you know how to do that with another python package ?

No, and I'll go even further: I'm not aware of any other open source project that has made a serious attempt at implementing DocMDP in general---but if you do find any, please let me know!


AMP displays logs from all containers, even ones not part of a stack

amp logs display the logs of the infrakit container, and probably all containers running on the Swarm nodes.
Not sure if it's a feature or a bug, but at least we should be able to filter them out.

For now, we capture everything on the swarm. @subfuzion please advise

yes, every logs are read by the agent and sent to nats. We could imagine have a special container label, as "amp.nologs" to do not log specific containers?

For now, logs -i should only show infrastructure nodes as pertaining to the core cluster that is created to host the swarm (including the registry node) - my original bootstrap script labeled these with host.role=cluster plus separate node.role=swarm to distinguish and filter specifically on swarm nodes only. I have no problem considering the infrakit containers to be an integral part of the cluster since they're there to manage and heal nodes and right now there's no other access to their logs. However, we can create more labels to help discriminate and filter what we want to see and, ultimately, viewing these logs will require admin authorization and probably require the use of amp cluster logs, not amp logs -i.

Sure, maybe we can add the infrastucture label to infrakit containers in the meantime. This way they'll be excluded from the default log output until we enhance our commands.

@ndegory AMP collects all logs by design, using adequate filters should be enough


add link to documentation to github project front page

add link to
http://docs.staging.spistresci.pl/
to readme on
https://github.com/SpisTresci/SpisTresci

Readme was change in Pull Request: https://github.com/SpisTresci/SpisTresci/pull/45

link to official documentation on ReadTheDocs was added
information about documentation for each instance available on docs.


Offer camera functions in scripting interface

Should offer a few helper functions to make it easy for people to create and manipulate cameras. Choosing type of camera projection, field of view, aspect ratio, etc

Doing this with concepts instead


Certificate mismatch during update

Hello,
I am seeing 2 issues with attempts to update the module.

Previous version was  0.189. The new version is 0.18. Is there a version numbering scheme change?

Get-Module -Name PSWritehtml

ModuleType Version    PreRelease Name                                ExportedCommands
----------       -------    ----------     ----                                    ----------------
Script            0.0.189                      PSWriteHTML                         {Add-HTML, Add-HTMLScript, Add-HTMLStyle, ConvertTo-Cascadi

There is a mismatch on the signatures during update -

[Admin] $ Update-Module -Name PSWriteHTML -Scope AllUsers
Install-Package: Authenticode issuer 'CN=Przemysław Kłys EVOTEC, O=Przemysław Kłys EVOTEC, L=Mikołów, C=PL' of the new module 'PSWriteHTML' with
version '1.8.0' from root certificate authority 'CN=DigiCert Trusted Root G4, OU=www.digicert.com, O=DigiCert Inc, C=US' is not
matching with the authenticode issuer 'CN=Przemysław Kłys EVOTEC, O=Przemysław Kłys EVOTEC, L=Katowice, S=Śląskie, C=PL' of the
previously-installed module 'PSWriteHTML' with version '0.0.189' from root certificate authority 'CN=DigiCert Assured ID Root CA,
OU=www.digicert.com, O=DigiCert Inc, C=US'. If you still want to install or update, use -SkipPublisherCheck parameter.

Yes
As expected during certificate change. Install-Module -SkipPublisherCheck -Force -Verbose to fix this one time issue


wheel on pypi requires 'futures' for python 3

Currently the wheel azure_storage_blob-0.37.1-py2.py3-none-any.whl requires futures even for python 3, because this expression from setup.py
(['futures'] if sys.version_info < (3, 0) else [])

is probably evaluated on python 2 when creating the wheel. There should be separate wheels for python 2 and python 3.
This also happens in azure-storage-common, by the way.

Hi @danielpanteleit, thanks for bringing up the issue!
I'll take a look at update this thread.

@zezha-msft FYI, the recommended syntax now is:
    extras_require={
        ":python_version<'3.4'": ['enum34>=1.0.4'],
    }

See https://github.com/Azure/msrest-for-python/blob/8a541abcb8bc889db91f7dc637b45dbb502f72a7/setup.py#L55-L57

@lmazuel  Thanks!


Update theory.md: Correct an explanation about sigmoid function

Vanishing gradient when using sigmoid function happens because the derivative is very close to zero for large positive or negative numbers, not because the value of the function itself is close to zero.

Thank you for your contribution! Sorry for the delay in accepting the PR


Add Alamance-Burlington School System

@MDW01 Pull request merged. Please notice that free educational license for JetBrains tools is for high and higher schools students, i.e. those who are over 13 of age. Thank you!


outDir Variable Error gh-action

The issue arises because the outDir variable is being used as if it's a command, which is not valid in Bash. Specifically, the error:
/home/runner/work/_temp/b582063b-a7dc-43dd-a8f2-10e4cdeddea9.sh: line 22: outDir: command not found
indicates that the script is trying to execute outDir as a command, likely in this part of the code:

```bash
docker run --rm -v "$(outDir):/app" textattack:latest python /app/text_attack_augmenter.py "/app/$file" "/app/$file_updated.txt" --transformations 4

Issue
The $(...) syntax in Bash is used for command substitution, i.e., to execute a command and replace it with its output. Since outDir is a variable, it does not resolve to a command, hence the error.
Fix
Replace $(outDir) with "${outDir}" to correctly reference the variable. Updated line:
docker run --rm -v "${outDir}:/app" textattack:latest python /app/text_attack_augmenter.py "/app/$file" "/app/$file_updated.txt" --transformations 4

This fix also reduces the number of iterations from 10 to 2 to ensure that it runs faster and we break it faster.

$outDir path is not absolute for Docker
Update to show:
find "$outDir" -type f -name "*.txt" | while IFS= read -r file; do
  docker run --rm -v "$(pwd)/${outDir}:/app" textattack:latest python /app/text_attack_augmenter.py "/app/$file" "/app/$file_updated.txt" --transformations 4
done

Have also set code to remove any existing files when it publishes.

Remap to /data and /app on the docker image

With the latest patch ddc1d41 the pre execution is designed to fix the flaw in the merge_all_files_with_tab_value.sh script that was creating an infinite loop.
Also the masterfile is the ONLY file that is left over after removing unusual characters from the data using a sed -i command.

If the current run returns a green tick, this is going to be expanded out for each iteration, then run through the masterfile generation for each, of course this will need to be split down into multiple jobs, and the gh-action will be quite long, but it's supposed to be an all-in-one job, currently called build, it will be used to generate the artifacts and the ML code which will be published once a month on an automation cycle.

Had to replace the gh-action code with commit 413cfe4 as there was a value removed by accident when testing. This run through should complete fine now.

The latest commit 0dc762d provides exactly what is needed to generate the ML code and the model. Now what is required is to build the model and publish that.
Instead of creating the model, expand the gh-action to cover ALL the required intents first.


Adding dropXFA option for fillForm. Refactoring fillForm options.

Adding options args seems to be the wanted approach for a while. fillFormWithFlatten() would be redundant if fillFormWithOptions() arguments are going to be modified to support the options arg.
Looking at the pdftk args, this could also be a property within options, instead of written checks for specific edge cases (ie. drop_xfa).
_defaultOptions = {
    args: [], // [ 'flatten', 'drop_xfa', ... ]
    tempFDFPath: undefined
}

Truth be told I wasn't paying close enough attention when I opened my PR. That said ...
I agree RE: fillFormWithFlatten() but I didn't want to rock the boat in terms of deprecating code. Which I realize I failed to do with fillFormWithOptions(). Current commit is a half measure but may be the safer approach?


Configure Testgrid for all DB types

Description
Testgrid should be configured for all DB types to test for the release.
Subtasks

[x] #971
[x] #972
[x] #1008
[ ] #1009

Affected Component
APIM
Version
4.2.0
Related Issues
No response
Suggested Labels
No response

Progress tracked in https://github.com/wso2/api-manager/issues/971

Hi all,
This is to give an overall update on the above task.
Currently, what we have done is creating a seperate Jenkins (TestGrid) pipelines that takes the pack from [1] (which is the public build) and run the integration tests on top of that pack. However, if we analyze deeply, we can see that the puppet configs and other configs were taken from APIM 4.1.0 related branches. So to do this correctly, we need to create respective public branches in puppet-apim, aws-apim etc repositories and do it.
On the other hand, after APIM 4.2.0 release, we need to recreate branches for APIM 4.2.0 to support U2 as well which duplicates the effort within a short time period. So, we need to decide whether we do this after GA/RC.
[1] https://wso2.org/jenkins/job/products/job/product-apim/
Thanks,
Wasura Wattearachchi

Worked on fixing the build [1]. Faced some isses and will seek help from testgrid experts.
[1] https://testgrid.wso2.com/job/U2/job/Integration-Tests/job/product-apim/job/apim-4.1.0-intg-testgrid-pipeline/

Worked on fixing issues in [1] got the initial stages working
[1] https://testgrid.wso2.com/job/RELEASE/job/Integration-Tests/job/product-apim/job/apim-master-intg-testgrid-pipeline/

Working on fixing CFN errors. Now working on a AWS key issue.

Created a puppet branch for 4.2.0
https://github.com/wso2-enterprise/puppet-apim/pull/48
Created AMI with JDk 17
us-east-1: ami-0c96797e7ae24a8ed
us-east-2: ami-02dc5b26a68b589f4

Got the build to the test running state in https://testgrid.wso2.com/job/RELEASE/job/Integration-Tests/job/product-apim/job/apim-master-420-testgrid-pipeline/7

Add JDK 17 support to the build. First JDK 17 build is running in https://testgrid.wso2.com/job/RELEASE/job/Integration-Tests/job/product-apim/job/apim-master-420-testgrid-pipeline/9/

Add a PR to fix DB config errors
https://github.com/wso2/testgrid/pull/1435
Triggered a build

Worked on fixing issues in cloudformation script
https://github.com/wso2/testgrid/pull/1437
https://github.com/wso2/testgrid/pull/1448
https://github.com/wso2/testgrid/pull/1439
https://github.com/wso2/testgrid/pull/1440
Build is fixed now.
We cannot verify the database is configurred correctly in the testGrid.
For that we have decided in introduce some debug logs in https://github.com/wso2/carbon-kernel/pull/3528
To enable logs add
logger.RDBMSDataSourceReader.name = org.wso2.carbon.ndatasource.rdbms.RDBMSDataSourceReader
logger.RDBMSDataSourceReader.level = DEBUG

and add the logger to logger section.
We need to create a new lo4j2.properties file with te above change, host in s3 and replace what's in the product in here
https://github.com/wso2/testgrid/blob/master/jobs/intg-test-resources/master-branch-releases/wso2-master-intg-test-cfn.yaml#L373
Thanks,
Lahiru


Don't replace generated command from \ to \

Hi,
we are using this component for rector, currently, we currently have issue with spaced root project, that we have:
/Users/samsonasik/www/spaced prj sample/target/rector.php

and we want to change to:
/Users/samsonasik/www/spaced\ prj\ sample/target/rector.php

and this seems generaetd as double \\:
-/Users/samsonasik/www/spaced\ prj\ sample/target/rector.php
+/Users/samsonasik/www/spaced\\ prj\\ sample/target/rector.php

is this possible to be fixed here? Thank you.

Hey @samsonasik, I don't think this is something coming from reactphp/child-process to be honest. This project is used to give commands to a child-processes which will then be executed by an underlying shell.
Taken from your conversation in https://github.com/rectorphp/rector-src/pull/4813, you're currently using escapeshellarg(), which escapes any additional backslashes as written in its documentation:

Furthermore, each streak of consecutive backslashes (\) is escaped by one additional backslash.

So it seems like this is something you have to configure in rector. I hope this helps to keep going.
I believe this should answer your question, so I will close this ticket. Happy to help if anything else comes up :+1:

@SimonFrings its fine, we currently handling with relative path, it works on windows (cmd,bash), except powershell.
We currently document the limitation at known drawback
https://github.com/rectorphp/rector-src/blob/main/build/target-repository/README.md#known-drawbacks


Feature/4919 ppa collect data

Description
Mechanism for the collection of ExposureRiskMetadata and UserMetaData
Link to Jira
https://jira-ibs.wbs.net.sap/browse/EXPOSUREAPP-4919
Screenshots
N/A

Is that only the PR for storing the data? Because the real collection of the data is missing, isn't it?

Is that only the PR for storing the data? Because the real collection of the data is missing, isn't it?

We have two type of data collection:

For User Data, the data will be taken from UI fields which is part of the other story.
For RiskExposure, we already have the data in RiskCalculationResult, we just need to store that information before submitting it.

Is that only the PR for storing the data? Because the real collection of the data is missing, isn't it?

We have two type of data collection:

For User Data, the data will be taken from UI fields which is part of the other story.
For RiskExposure, we already have the data in RiskCalculationResult, we just need to store that information before submitting it.

@naveeddotio  Which other Story?  My understanding was that this story should collect all the MVP data.

Is that only the PR for storing the data? Because the real collection of the data is missing, isn't it?

We have two type of data collection:

For User Data, the data will be taken from UI fields which is part of the other story.
For RiskExposure, we already have the data in RiskCalculationResult, we just need to store that information before submitting it.

@naveeddotio Which other Story? My understanding was that this story should collect all the MVP data.

4788-Privacy-preserving Analytics: Onboarding & Settings, task 4996 datadonation screen

Is that only the PR for storing the data? Because the real collection of the data is missing, isn't it?

We have two type of data collection:

For User Data, the data will be taken from UI fields which is part of the other story.
For RiskExposure, we already have the data in RiskCalculationResult, we just need to store that information before submitting it.

@naveeddotio Which other Story? My understanding was that this story should collect all the MVP data.

4788-Privacy-preserving Analytics: Onboarding & Settings, task 4996 datadonation screen


Bugfix/Check data type before call trim()

Check the data type before calling trim().

We have two very similar PRs... only one can survive... let battle commence!
#150
#156


Fix #204

By not reusing HTTP connection with Google API calls.

Thanks for the PR, I've gone ahead and done something similar with anonhttpc and httpc globals.


Could not authenticate issue

I originally uploaded this on twittercommunity (yesterday) and one the twitter staff claims it is likely an encoding issue. So, I have copied the main parts of the original message relevent here (removing some fluff not directed to tweetinvi.)
for the sake of history/context - this is the topic I posted - https://twittercommunity.com/t/could-not-authenticate-you/84375
---- below ----
Hi
I have Twitter API setup for a local application in C# (using Tweetinvi). Everything is in place and working.
However -
for a small amount of messages per week, I get a response of Code 32 - "could not authenticate you" - I have not changed the credentials or anything as follow up messages that enter the queue go through just fine. When I try and re-send the one in question it comes back with the same response.
Because we need these messages added to our Twitter channel, we end up logging in directly to the site and pasting the message/tweet. This works fine. Why does it not work through the API/Tweetinvi?
I have tried removing some characters in the original message and re-sending it hoping to find some clue of where the problems is. Sometimes the message still comes back with the same response. Other times, after removing a certain character(s) - it eventually is sent successfully.
For example, in one message, removing the '£' characters solved the problem. For another, it was removing a '[' near the end of the message. For another, it was removing the '[2 of 2]' at the beginning of the message. These are completely random.
All messages are under 140 characters (I believe the 'Status over 140 characters' response would be returned if the case, before the problem explained above, anyway)
I hope I have explained my problem.
Here is an example tweet (without the double-quotes) -
"[3 of 3] concessions £37 SW99 9XX"
When the error is returned (using breakpoints in Visual Studio) -  This is the url of the message
https://api.twitter.com/1.1/statuses/update.json?status=[3 of 3] concessions £37 SW99 9XX
It would be good to hear from others on this subject - and if a tweet above (using tweetinvi) worked fine for them.

With regards to the tweet example above -
"[3 of 3] concessions £37 SW99 9XX"
It works if I do
""
OR
""

I have just tested another (longer) message that fails, and sent one without the '£' and another without the squared brackets characters. The same method I applied to the previous comment. They both were sent successfully.
So, it appears to link with messages that have both a '£' and '[' and/or ']' characters in them.

I have replaced squared brackets with round brackets - and now these messages appear to be working just fine... even those with '£'
So I am not quite sure what the problem is.

Reproduced. Fails with something as simple as:
test [ £
Not just for the pound sign though, also tried:
test [ ¥
and that failed too.
Needs debugging. I wouldn't like to call whether this is a Tweetinvi or Twitter bug though :)

This is now working for me!
So perhaps it was a Twitter bug & they've now fixed it?
I only tested this again because I got the error when sending another tweet though, so if you found anything more out about this I'd love to know!

OK, so my new error was caused by a bug in my code for #497 (comma not being URL encoded) - have added a commit to that same PR to fix it, so that had nothing to do with this issue.
I have also now tried posting "test [ ¥" from my production system (still using the version of Tweetinvi I previously tested with) and still get the "Could not authenticate you." error so it looks like it is/was a Tweetinvi bug, but has already been fixed somewhere between e85aea0aab0d6757b880c2228e324d06b6285ce9 and the latest code I'm using.

All tested and working in 2.1.


Add code style workflow

@SchrodingersGat How does this work? Is it for the CI only?

Currently doesn't really do anything - but I am looking into moving away from Travis and using the newer github workflows.
This will allow for much more complex tasks, including:

Complete "deployment" testing
Better testing against specific database backends
Testing docker builds
Upload dockerfiles on release
etc

Ok sounds like a good plan. Haven't tested it myself, hopefully it meets your expectation!