If all the files(html, js) are from remote server, how to use iosrtc plugin?

I would like to use iosrtc plugin, but all the files which include html/js files are from remote server, how could I use the plugin?
Thanks,
Wilson

Sorry, no Cordova generic questions here. Please ask in a Cordova forum.


[AMORO-1898] 0.4.x fix move files to stale hive location for Mixed Hive Table

Why are the changes needed?

Close #1898 .
Brief change log

move files to the location stored in iceberg properties instead of to the hive location
support check and fix hive location before committing

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before making a pull request

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

a cherry-pick of #1911


[SidePanel] Address gaps in SidePanel to support reconciliation with Graphite SlidingDrawer

What package is this for?

[x] React
[ ] Angular

Summary
Following gaps have been identified while incorporating SidePanel in graphite's SlidingDrawer(default theme).

Docked footer buttons: Footer buttons always don't dock to bottom of the panel.

Footer buttons presently support only callbacks(onPrimaryButtonClick and `onSecondaryButtonClick')  but need addition props to be exposed like icons, disabled, kind, etc.

actionItems prop should also support passing <ButtonGroup/> component.

Addition of a busy state to disable panel header and footer Cancel button when it's set true.

Additional context
SlidingDrawerVsSidePanel.xlsx
Specific timeline issues / requests
Targeted for MAS-8.9 release.

@JordanWSmith15  @davidicus

@JordanWSmith15 Discussing the items listed out on this issue:

This should be an easy css fix of just applying margin-top: auto;. @kalyanixraut and I have already discussed.
Jordan, when we discussed I had thought you wanted to lock this down to these primary, secondary buttons. If that is changed we will need to support existing markup but add an additional "danger" button callback that will render that when appropriate. We should also update the design spec.
Action items just renders what is passed. I think this will just require a proptype update.
This is additive so will not mess with SemVer. Can be added as additional prop and passed to the appropriate components.

@kalyanixraut @davidicus I am OK with skipping 2, for now, as I don't have a use case for danger state, icons, etc. 1, 3 and 4 are much more important.

@kalyanixraut @davidicus I am OK with skipping 2, for now, as I don't have a use case for danger state, icons, etc. 1, 3 and 4 are much more important.

Hi @JordanWSmith15 , @davidicus , if we are skipping 2, then user won't be able to disable the buttons or show loading. I think these are must-to-have features for SlidingDrawer's footer buttons. And is linked to point#4 busy state.
Earlier we had button comp passed by app developers and with that they had the full control over its props to disable/loading/kind etc now with SidePanel introduced into SlidingDrawer, can we have a new prop added to SidePanel as overrides: PropTypes.shape({     primaryButton: PropTypes.node,     secondaryButton: PropTypes.node,   })
while still keeping the existing onPrimaryButtonClick and onSecondaryButtonClick callbacks?
Or, add disabled prop to SidePanel's secondary button, loading prop to primary button and a new prop as loading to sidepanel(for point#4), which when set to true will automatically make secondary button disabled and show primary button with loading.

@kalyanixraut Spoke with Diana, and we should go with this:

Or, add disabled prop to SidePanel's secondary button, loading prop to primary button and a new prop as loading to sidepanel(for point#4), which when set to true will automatically make secondary button disabled and show primary button with loading.

All we need to do is add 2px white separation between the secondary and primary button. This is actually a bug for all the current buttons in the component. The design has the 2px in it: https://pages.github.ibm.com/ai-applications/design/components/sidepanel/usage


Added cubemap support for React and react reference chaining glsl-pipeline feature.

I added cubemap react support and a tiny feature could change the way of GlslPipelineReact render when I tried to replicate devlook in react. Here are some updates:

I did conditional statement whenever the React.Ref has an instance of GlslPipeline in it, use it. Here is the code that I made in glsl-pipeline-react.tsx:

const pipeline = React.useMemo(() => {
        // Apply the same glsl if ref given the same glsl-pipeline reference
        let glsl: GlslPipelineClass;

        // Check if ref.current exists and instance of GlslPipeline class
        if (ref && (ref as React.RefObject<GlslPipelineClass>).current instanceof GlslPipeline) {

            // Assign to existing GlslPipeline
            glsl = (ref as React.RefObject<GlslPipelineClass>).current as GlslPipelineClass;

            // Apply uniforms if exists
            if(uniforms) {
                glsl.uniforms = uniforms;
            }

            // Apply options if any
            if(props) {
                glsl.options = props;
            }

        } else {
            // Else initialized new GlslPipeline
            glsl = new GlslPipeline(gl, uniforms, props);
        }

        glsl.load(fragmentShader, vertexShader);

        return glsl;
    }, [fragmentShader, vertexShader, gl, uniforms, props, ref]);

Added react_devlook example along with Typescript supported.

I also did update the npmjs version using changeset. If you approved all these reviews and merged, could you please run the command here to publish to npmjs and push to Github as well? Simply run these
# Run Release script from root to publish package to npmjs
yarn release

# Push to Github for the latest updates
git push origin main

The package unfortunately relies on other major peerDependencies packages, therefore the package has been updated to 5.0.0 . A major change needed for this package to work.

Cool thank you! Question, is there a way to bump only the minor versioning? instead the mayor?
Let me know when you are finish and ready to test and merge

Q: you mean I merge here in github, then pull the changes locally and then run:
# Run Release script from root to publish package to npmjs
yarn release

# Push to Github for the latest updates
git push origin main

Cool thank you! Question, is there a way to bump only the minor versioning? instead the mayor?
Let me know when you are finish and ready to test and merge

I believe it was issued by others as well on this:
https://github.com/atlassian/changesets/issues/555
Anyway, it couldn't be too harm to try manually, right? Could you try to do it on your end before yarn release?

Q: you mean I merge here in github, then pull the changes locally and then run:

# Run Release script from root to publish package to npmjs

yarn release

# Push to Github for the latest updates

git push origin main

That is correct 👍🏼 I believe you're the owner of this package that can publish to the npmjs if I'm not mistaken 😊

All done! @patriciogonzalezvivo . The package has been updated to a minor version. All you need to do is these commands in your local when merged.
# Run Release script from root to publish package to npmjs
yarn release

# Push to Github for the latest updates
git push origin main

You're the best! Thank you! 🥳


⚡ Ignore zero duration timeout

Resolves #2022.
New Pull Request Checklist

[x] I have read the Documentation
[x] I have searched for a similar pull request in the project and found none
[x] I have updated this branch with the latest main branch to avoid conflicts (via merge from master or rebase)
[x] I have added the required tests to prove the fix/feature I'm adding
[x] I have updated the documentation (if necessary)
[x] I have run the tests without failures
[x] I have updated the CHANGELOG.md in the corresponding package

Additional context and info (if any)
I've found that the IOHttpClientAdapter uses Stopwatch to integrate with receiveTimeout, which might cause infinity awaits if the stream has no response forever. This might be the root cause of #1739.
https://github.com/cfug/dio/blob/78f3813a8d8948887198ef628e5a2e2039489b03/dio/lib/src/adapters/io_adapter.dart#L194-L200

Can we make the timeouts in the options class non-nullable and initialize them with zero? That would make a couple things more readable.

Can we make the timeouts in the options class non-nullable and initialize them with zero? That would make a couple things more readable.

You mean zero-timeout is better than non-timeout or sth? I'm okay with both of them though.

Specifically the RequestOptions.*Timeout - that would avoid the options.*Timeout ?? Duration.zero in all adapters.

Specifically the RequestOptions.*Timeout - that would avoid the options.*Timeout ?? Duration.zero in all adapters.

Ah, then I think we cannot do this because we compose options into RequestOptions like Options.xxx ?? BaseOptions.xxx. If we change the nullability, the fallback becomes invalid.

The RequestOptions are used to communicate between DioMixin and adapters right? We should be able to handle this in the DioMixin in a single place.

I've tried to do this but configs are extended and mixin with multiple classes. It's relatively unactionable at the moment. You can give it a try if you want to.


Unturned <IP_ADDRESS> currently not supported?

Oxide version: 2.0.3271
Game name and version: Unturned <IP_ADDRESS>
OS version: Windows Server 2012

Problem:
No plugin is loaded and one error at load
Failed to load extension Oxide.Core.CSharp (ReflectionTypeLoadException: The cla
sses in the module cannot be loaded.)
  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
  at System.Reflection.Assembly.GetExportedTypes () [0x00000] in <filename unkno
wn>:0
  at Oxide.Core.Extensions.ExtensionManager.LoadExtension (System.String filenam
e) [0x00000] in <filename unknown>:0

It should be working fine in the latest snapshot (not released yet).

What is the reason why the latest snapshot is not released?

Because we generally do not release new builds right away unless it's for a game we fully support, otherwise we'd wait for a few more changes to be added.


[Docs] API Policy Documentation

Background: https://airtable.com/tblD3oZPLJgGhCmch/viw1DKmbKhg2MIECH/recmFhn9cddYlgXfx
Description:
Team: Andrew Woods, Rafi Shamim, Eric Harmeling, Raphael 'kena' Poss
Github Tracking Issue:

Removing roadmap label. It's also unlikely we'll have time to handle this ahead of the 20.1 release.


Smallest issue of all time: "reptilian" only has one L

There are two usages in the code of reptillian whereas it should actually be reptilian.
I am too lazy to submit a PR for this.

Thanks for the report. This is now fixed in the latest version of dev


[doc] build switches

Is your feature request related to a problem? Please describe.
I have a feeling that apart of OT Core developers, it is hard for OT users to know how and which switches to set in the building process. It is also confirmed by the number of support questions we receive.
Describe the solution you'd like
Creating the README.md file inside openthread/examples directory, that would describe all the switches, their usage, and default values. Additionally, the short description of extra features for a specific platform such as nRF52840 could be listed there in a separate section - or alternatively, extra flags could be listed within the README.md of the platform directory, but with unified form (for each platform) - for user convenience.
Such documentation should clearly describe that the final configuration is in openthread-core-config.h and switches just enable/disable the commonly used modules/functionalities.
If this is something desirable, I can try to prepare some initial draft when I'll find a time. However it is nothing critical, I guess.
Describe alternatives you've considered
Don't change the current approach and improve documentation inside the platform only, documentation on OpenThread.io, implementing something like menuconfig and remove common-switches...
Describe the ideal, beautiful world
Table with description of each common-switch should contain information about how much RAM/ROM size their add compared to the default build without any flags e.g. for nRF52840.

@LuDuda, sounds like a great idea!

Hello, I have just created draft PR. Please take a look.
https://github.com/openthread/openthread/pull/5484


Mac OS - Program not installed in the Mac OS application file structure

Looks like the correct location is Xenon.app/Contents under the /Applications folder.

Finally found some documentation: https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW1
See Listing 2-3

Now it is


[Feature request] Local filesystem as backend for test purpose

Can you use S3Proxy with the filesystem backend, as the goofys tests do?

Use minio as S3 backend for local testing.


send GPS data to Geo-Dashboard WSO2 iot server

Description:
Hi,
I have a GPS NEO-6M module and a raspberry pi 3.
I want send GPS data to Geo Dashboard in wso2 iot server.
How can I do this?

How can add location tab to raspberry pi type device??


Assume: Profile name needs quoting when updating .aws/config

After assuming a role, awstools updates the .aws/config file to set the default region. However, it does not quote the profile name which contains a space: [profile <account> <role>].
We encountered this when using credstash which is based on AWS' boto3 Python library. In the docs, it confirms that profile names need quoting:
https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html#configuration-file
Without quotes, the default region is not picked up.
The source seems to be:
https://github.com/sam701/awstools/blob/3799e52318b0b3bcd8c42b40a671a6badffdb81f/cred/cred.go#L25

Pull Request: https://github.com/sam701/awstools/pull/30

@ferdinand-beyer thanks for contribution


Question - How do I pass "RegExp Object ??"

Regarding page.evaluate method...
I want to use "replace" method. But I can not pass RegExp objects....
example)
const result = await page.evaluate(x => {
return Promise.resolve(8 * x);
}, 7);
console.log(result); // prints "56" <=SUCCESS!!
const result = await page.evaluate(x => {
const a = "apple"
return Promise.resolve(a.replace(x, "banana"));
}, "apple");
console.log(result); // prints "banana" <=SUCCESS!!
const result = await page.evaluate(x => {
const a = "apple"
return Promise.resolve(a.replace(x, "banana"));
}, /apple/);
console.log(result); // prints "apple" <= failure...
Thanks!

If I'm understanding you correctly-
You need the evaluation to give a result and then do something with the result.
const element = await page.$('selector')
const elementText = await element.evaluate(e => e.innerText)
const result = elementText * 8
console.log(result)
Or all in one line-
const result = await element.evaluate(e => e.innerText) * 8
console.log(result)
const elementText = await element.evaluate(e => e.innerText)
const result = elementText .replace('banana', 'apple')
console.log(result)

If I'm not mistaken, the object that you pass should be serializable. Since there is no canonical representation for a regex expression, this won't work.

You could specify the regex pattern as a string, pass the string, and then pass that string to new Regexp(pattern_string) inside your  page.evaluate() function body.


fix: bedrock llm error when evaluating rag qa validate_api_key

Add a conditional statement to check whether validate_api_key exists for the ChatModel Object from Langchain #348

This issue should be already resolved with the fix of this PR.

Hey @arm-diaz
Thank you so much for helping us improve ragas with your PR ❤
Now since it's Christmas and all we wanted to send you a postcard and a couple of stickers as our way of saying thank you for your contribution. If you are interested could you shoot an email at<EMAIL_ADDRESS>and I'll tell you more?
Cheers 🙂
Jithin

Hey,
Thank you! I will get in touch with that email. Sorry for disappearing the last couple of days/weeks. I was super busy.
I'll test and review again the framework against bedrock this week.
Have a great Christmas and holiday season!


Warning and Error are the same color.

I'm on vscode.
This is a really big problem.

@daltonmenezes


Sporadic unknown_error : normal errors

Occasionally, when using Cookie auth, the /_all_docs endpoint returns 401, and logs an unusual error. I have observed this on both the /_users and /_replicator databases. Unknown if it happens on non-system databases.
Expected Behavior
I would expect a normal response
Current Behavior
Two log samples (both from CouchDB 2.2.0 running in Docker):
[notice] 2018-09-10T19:41:21.627729Z nonode@nohost <0.718.0> 631255b1ec localhost:6004 <IP_ADDRESS> undefined GET /_users/_all_docs?include_docs=true 401 ok 1
[error] 2018-09-10T19:41:21.639919Z nonode@nohost <0.719.0> ec87d65d26 req_err(2525593956) unknown_error : normal
[<<"chttpd:catch_error/3 L353">>,<<"chttpd:handle_req_after_auth/2 L319">>,<<"chttpd:process_request/1 L300">>,<<"chttpd:handle_request_int/1 L240">>,<<"mochiweb_http:headers/6 L124">>,<<"proc_lib:init_p_do_apply/3 L247">>]
[notice] 2018-09-10T19:46:18.065472Z nonode@nohost <0.719.0> 1e9079ba74 localhost:6004 <IP_ADDRESS> undefined GET /_replicator/_all_docs?include_docs=true 401 ok 3
[error] 2018-09-10T19:46:18.069496Z nonode@nohost <0.720.0> f23a984706 req_err(2525593956) unknown_error : normal
[<<"chttpd:catch_error/3 L353">>,<<"chttpd:handle_req_after_auth/2 L319">>,<<"chttpd:process_request/1 L300">>,<<"chttpd:handle_request_int/1 L240">>,<<"mochiweb_http:headers/6 L124">>,<<"proc_lib:init_p_do_apply/3 L247">>]
Steps to Reproduce (for bugs)
As stated above, this is a sporadic error.  It doesn't always happen, but the requests that generated the above errors:
GET /_users/_all_docs?include_docs=true HTTP/1.1
Host: localhost:6004
Accept: application/json
Content-Type: application/json
Cookie: AuthSession=YWRtaW46NUI5NkM4RTE6pxr5rMbRBHJgbCdnRzQO0JBuzcI
User-Agent: Kivik CouchDB driver/2.0.0-prerelease (Language=go1.8.7; Platform=amd64/linux)
GET /_replicator/_all_docs?include_docs=true HTTP/1.1
Host: localhost:6004
Accept: application/json
Content-Type: application/json
Cookie: AuthSession=YWRtaW46NUI5NkNBMEE6UJcyxbwz2W6vinTcScdUNX5iQcw
User-Agent: Kivik CouchDB driver/2.0.0-prerelease (Language=go1.9.7; Platform=amd64/linux)
Context

Your Environment
I have observed this on CouchDB 1.7.1, 2.0.0, 2.1.2, and 2.2.0, but only in Travis-CI on my Kivik project. I have been unable thus far to reproduce this locally on any version.
I will continue to try to find a reliable reproduction case.

Interesting find, @flimzy
I have seen this error before as well. But don't have a good explanation for it yet. I wonder how it correlates with Erlang versions. For example, have you seen it on some Erlang versions (20.0) happen more than on others

I've been testing against the official Docker images for CouchDB 1.7.1 through 2.2.0, which corresponds with Erlang OTP/17 through Erlang OTP/19, respectively.  I have seen the error on every version, and have not noticed a higher occurrence on any specific version, but I also likely would not have noticed if one version happened more than the other, since a single failure will cause my test suite to report a failure.

I'd like to fix this in 2.3.0, but without more info from @nickva on a possible reason, I'm going to move it out of this milestone.

I tried to repro using this very simple test:
  test "https://github.com/apache/couchdb/issues/1600", _ctx do
    sess = Couch.login("adm", "pass")
    target_db = "_users" # also tried _replicator here
    for _i <- 0..10000 do
      resp = Couch.Session.get(sess, "/#{target_db}/_all_docs?include_docs=true")
      assert resp.status_code == 200
    end
  end

but it ran to completion on several attempts.
@nickva do you recall whether you saw that error from a containerized or bare metal couch?
@flimzy how many documents were in your _users and _replicator dbs when you saw that issue? Since you were using the official docker images, were those just single node "clusters"?

@flimzy without a solid reproducible test case, I'm afraid I have to remove this from the 2.3.0 milestone.
We'd love to get back to this once there's a reliable, reproducible test case.

Another repro on this: saw it when enabling maintenance mode on a node.

Also getting this error on 2.3.0 after upgrade
[error] 2019-02-14T09:43:19.449719Z<EMAIL_ADDRESS><0.21732.2> 98da3606d3 req_err(1125717067) unknown_error : normal
    [<<"chttpd:catch_error/3 L356">>,<<"chttpd:handle_req_after_auth/2 L322">>,<<"chttpd:process_request/1 L303">>,<<"chttpd:handle_request_int/1 L243">>,<<"mochiweb_http:headers/6 L128">>,<<"proc_lib:init_p_do_apply/3 L247">>]
[error] 2019-02-14T09:43:23.700648Z<EMAIL_ADDRESS><0.1825.2> d9b3af3f17 req_err(1125717067) unknown_error : normal
    [<<"chttpd:catch_error/3 L356">>,<<"chttpd:handle_req_after_auth/2 L322">>,<<"chttpd:process_request/1 L303">>,<<"chttpd:handle_request_int/1 L243">>,<<"mochiweb_http:headers/6 L128">>,<<"proc_lib:init_p_do_apply/3 L247">>]
[error] 2019-02-14T09:43:24.430878Z<EMAIL_ADDRESS><0.16651.1> 707829a6c5 req_err(1125717067) unknown_error : normal
    [<<"chttpd:catch_error/3 L356">>,<<"chttpd:handle_req_after_auth/2 L322">>,<<"chttpd:process_request/1 L303">>,<<"chttpd:handle_request_int/1 L243">>,<<"mochiweb_http:headers/6 L128">>,<<"proc_lib:init_p_do_apply/3 L247">>]
[error] 2019-02-14T09:43:26.462755Z<EMAIL_ADDRESS><0.17367.1> 388d47a1f1 req_err(1125717067) unknown_error : normal
    [<<"chttpd:catch_error/3 L356">>,<<"chttpd:handle_req_after_auth/2 L322">>,<<"chttpd:process_request/1 L303">>,<<"chttpd:handle_request_int/1 L243">>,<<"mochiweb_http:headers/6 L128">>,<<"proc_lib:init_p_do_apply/3 L247">>]
[error] 2019-02-14T09:43:26.551631Z<EMAIL_ADDRESS><0.4304.2> 7d1044c05c req_err(1125717067) unknown_error : normal
    [<<"chttpd:catch_error/3 L356">>,<<"chttpd:handle_req_after_auth/2 L322">>,<<"chttpd:process_request/1 L303">>,<<"chttpd:handle_request_int/1 L243">>,<<"mochiweb_http:headers/6 L128">>,<<"proc_lib:init_p_do_apply/3 L247">>]
[error] 2019-02-14T09:43:27.180748Z<EMAIL_ADDRESS><0.17700.1> e34e436ed1 req_err(1125717067) unknown_error : normal
    [<<"chttpd:catch_error/3 L356">>,<<"chttpd:handle_req_after_auth/2 L322">>,<<"chttpd:process_request/1 L303">>,<<"chttpd:handle_request_int/1 L243">>,<<"mochiweb_http:headers/6 L128">>,<<"proc_lib:init_p_do_apply/3 L247">>]
[error] 2019-02-14T09:43:27.262753Z<EMAIL_ADDRESS><0.4690.2> 8c27bdd1dd req_err(1125717067) unknown_error : normal
    [<<"chttpd:catch_error/3 L356">>,<<"chttpd:handle_req_after_auth/2 L322">>,<<"chttpd:process_request/1 L303">>,<<"chttpd:handle_request_int/1 L243">>,<<"mochiweb_http:headers/6 L128">>,<<"proc_lib:init_p_do_apply/3 L247">>]

Using single node setup, with >300K DB's. Disabled cookie authentication, but still getting these errors.
allow_persistent_cookies = false
authentication_handlers = {couch_httpd_auth, default_authentication_handler}

Looks as this related to disk speed and request rate.
After disk data is cached into disk memory, issue "chttpd:handle_req_after_auth/2 L322"  goes away.
Will make same test on SSD disk

On SSD disk i not have more error like
chttpd:handle_req_after_auth/2 L322

Looks as issue related to disk performance.

We have this issue on SSD's (as mentioned in comment 20 days ago)

Same issue here, also an SSD on a VPS. Version 2.2.0. Started yesterday morning, never had this error message before.
@sergey-safarov How did you measure disk speed and request rate exactly?

Same problem:
Ubuntu 18.04.2 LTS (on SSD)
Docker-ce 18.09.6
image: "apache/couchdb:2.3.1"

@wohali Another repro on this: saw it when enabling maintenance mode on a node.

Theory : Some update events are not delivered when node is in MM.
The chttpd_auth_cache server listens for changes to users database. So it can evict updated entries from the cache. The changes listener is implemented using fabric:changes/4. The fabric:changes iterates over all shards for users database and calls start_update_notifier/1 for every shard. The start_update_notifier/1 is implemented as follows:
start_update_notifier(DbNames) ->
    {Caller, Ref} = get(rexi_from),
    Notify = config:get("couchdb", "maintenance_mode", "false") /= "true",
    State = #cb_state{client_pid = Caller, client_ref = Ref, notify = Notify},
    Options = [{parent, Caller}, {dbnames, DbNames}],
    couch_event:listen(?MODULE, handle_db_event, State, Options).

The notification about a database update is not send if node is in the maintenance mode. The failure mode is as follows:

put node in the MM
cause changes listener restart (it would be restarted automatically after config:get("httpd", "changes_timeout", "60000")) milliseconds.
update user
we would miss db_update event (because Notify would be false)
the ets_lru cache backing chttpd_auth_cache would still be holding old entry.

@iilyak Theory : Some update events are not delivered when node is in MM.

However it wouldn't explain why errors are happening only with system databases.

Same issue, CouchDB 2.3.1, SSD disk

Yes, to me I continue seeing similar error logs (and with non-system databases) and I still suspect it's due to dropped client connections.

We also see these errors…

Same issue on 2.3.0. Also we see that connections to couchdb are timeouted (5s timeout).

We get the same errors since we use proxy authentification... all request work... but if we use some with feed=continuous we get that error. I think the problem is that the proxy is not keeping the connection alive and its the same as killing a curl request. Still needs a lot of testing but it keeps coming.

Seeing the same issue on our 3-node 2.3.1 cluster.
A bunch of logs like the following:
Nov 01 15:00:56 na5 d89aee6fe164[937]: [error] 2019-11-01T15:00:56.954747Z<EMAIL_ADDRESS><0.19841.787> 3707979fa5 req_err(1125717067) unknown_error : normal
Nov 01 15:00:56 na5 d89aee6fe164[937]:     [<<"chttpd:catch_error/3 L356">>,<<"chttpd:handle_req_after_auth/2 L322">>,<<"chttpd:process_request/1 L303">>,<<"chttpd:handle_request_int/1 L243">>,<<"mochiweb_http:headers/6 L128">>,<<"proc_lib:init_p_do_apply/3 L247">>]
Oct 30 16:37:58 na5 d89aee6fe164[937]: [error] 2019-10-30T16:37:58.197437Z<EMAIL_ADDRESS><0.19845.207> f1628abb46 req_err(1125717067) unknown_error : normal
Oct 30 16:37:58 na5 d89aee6fe164[937]:     [<<"chttpd:catch_error/3 L356">>,<<"chttpd:handle_req_after_auth/2 L322">>,<<"chttpd:process_request/1 L303">>,<<"chttpd:handle_request_int/1 L243">>,<<"mochiweb_http:headers/6 L128">>,<<"proc_lib:init_p_do_apply/3 L247">>]

hello
I'v got the same issue on a CouchDB single node with 3 VCPU Intel(R) Xeon(R) CPU E7- 4830  @ 2.13GHz and 4 Go ram
couchdb "2.3.0"
Red Hat Enterprise Linux Server release 7.2 (Maipo)
We have an mobile application with 150 users wich use CouchDB and embed a PouchDB database with http synchronisation in longpulling mode with the couchdb instance
There is approximatively 100 simultanous synchronisation with the cookies authentification.
data reside on a disk cached by a sanshare connection with a lot of cache memory
errors :
[<<"chttpd:catch_error/3 L356">>,<<"chttpd:handle_req_after_auth/2 L322">>,<<"chttpd:process_request/1 L303">>,<<"chttpd:handle_request_int/1 L243">>,<<"mochiweb_http:headers/6 L128">>,<<"proc_lib:init_p_do_apply/3 L247">>]
[<<"chttpd:catch_error/3 L356">>,<<"chttpd:handle_req_after_auth/2 L322">>,<<"chttpd:process_request/1 L303">>,<<"chttpd:handle_request_int/1 L243">>,<<"mochiweb_http:headers/6 L128">>,<<"proc_lib:init_p_do_apply/3 L247">>]
[<<"chttpd:catch_error/3 L356">>,<<"chttpd:handle_req_after_auth/2 L322">>,<<"chttpd:process_request/1 L303">>,<<"chttpd:handle_request_int/1 L243">>,<<"mochiweb_http:headers/6 L128">>,<<"proc_lib:init_p_do_apply/3 L247">>]
[<<"chttpd:catch_error/3 L356">>,<<"chttpd:handle_req_after_auth/2 L322">>,<<"chttpd:process_request/1 L303">>,<<"chttpd:handle_request_int/1 L243">>,<<"mochiweb_http:headers/6 L128">>,<<"proc_lib:init_p_do_apply/3 L247">>]
[<<"chttpd:catch_error/3 L356">>,<<"chttpd:handle_req_after_auth/2 L322">>,<<"chttpd:process_request/1 L303">>,<<"chttpd:handle_request_int/1 L243">>,<<"mochiweb_http:headers/6 L128">>,<<"proc_lib:init_p_do_apply/3 L247">>]

FYI reviewing the history of this, I don't see anyone reporting this issue against CouchDB 3.x.

@janl no noticeable problems from the application side, it's just generating like 10MBs of log per day...

I have recently started noticing these normal errors too. This seems to be causing problem on application side where the application has to retry the query.

Whoops, sorry, didn't mean to close this.

Now i stop pouchdb replications before user logout and all ok. No errors in couch log, all works fine. Obviously couchdb generate errors  and hold connection opened when user with opened live replications sent DELETE request to _session.

I think at least in my case these errors are simply a result of the client dropping its connection to CouchDB.

This is the current best likely reason for this issue, unless anyone else has reasons this may be occurring.
@iilyak 's theory is not applicable because we see this without any node in MM.
Suppressing these logging comments is probably the only thing that needs to happen here, anyone want to have a go at a PR?

I am facing the same issue, is there any update on this issue?

@style95 what version of CouchDB are you running?
3.1.2 and 3.2.1 should have this fix for this already https://github.com/apache/couchdb/pull/3102
NOTE: There are 3.2.1 packages available in the usual repos, and the source available at https://dlcdn.apache.org/couchdb/source/3.2.1/apache-couchdb-3.2.1.tar.gz . We just haven't updated the website as we're waiting on the Windows packaging.

@nickva Thank you for sharing.
I am using CouchDB v2.3.1, considering upgrading it to 3.2.1.


Unable to load brush toolstate data back to image

Prerequisites
Version -
cornerstone-tools: "^6.0.8"
cornerstone-core: "^2.6.1"
Description
We have a sample application with a DICOM Viewer where we have the Brush tool added. We want to store the brush toolstate data and apply it to another image. But we are unable to figure out the exact way to do so.
Steps

We load the image to the viewer and draw over some area using the brush tool.

Then try to save the tool state data like shown below :
const { state } = cornerstoneTools.getModule('segmentation');
const series = state.series;
-- save the data --

Next, we want to load another image and apply the brush toolstate data to it.

Can anyone please provide more inputs on how to proceed.
Any inputs will be appreciated, thank you.

can i work on this ?


Supervised Finetuning - How to mask loss for prompts

How can I mask the loss in supervised fine-tuning for prompts similar to how it is done in the LLAMA-2 paper?
Specifically, I have a dataset of prompts and ideal answers. When fine-tuning my model with a SFTTrainer using a ConstantLengthDataset (similar to the StackExchange example), how can I ensure that prompts are not considered in the loss?

This PR is related https://github.com/lvwerra/trl/pull/456

@BramVanroy If I understand correctly, the DataCollatorForCompletionOnlyLM already partially solves this issue. However, when using a ConstantLengthDataset, it would detect only the first ### Response: and treat consecutive ### Prompt: ... ### Response as part of the first response.

Indeed, there's also a PR for ChatCompletion masking as you have found. Linking here for completeness' sake. https://github.com/lvwerra/trl/pull/456

Hi @jvhoffbauer
Yes, I second what @BramVanroy said, you might be interested to use DataCollatorForCompletionOnlyLM , feel free to directly chime in #456

Yes, happy to help if it makes sense!

FYI, here is the section on the docs on how to FT on completions only using DataCollatorForCompletionOnlyLM: https://huggingface.co/docs/trl/main/en/sft_trainer#train-on-completions-only

Solved by https://github.com/huggingface/trl/pull/456


Move shared service tests to a nightly build

Resolves issue https://github.com/microsoft/AzureTRE/issues/2358
What is being addressed
In order to shorten the time the main build runs for, move shared service tests into a separate nightly workflow.

/test-force-approve
Github Workflow change - no point running tests on


Add curated link to https://medium.com/@alltopstartups/this-personal-kanban-approach-is-the-simplest-way-to-give-up-multitasking-and-get-real-work-done-c126c9ad25b1

Add link to this short article on personal kanban.

I like the article. I am on the fence about whether its appropriate on BSSw.io primarily because its not in any way related to software development. Its possible to apply what it describes to someone's life who may be dominated by software development type tasks but the word software doesn't even appear in the article. I think if the curated article we write filled in these gaps a bit, it would be useful.

There is a fine line between productivity software development and "personal productivity".  The personal productivity space is huge, with lots of resources and (often conflicting) advice.  Generally, I think personal productivity topics that directly relate to software development productivity (like the use of Agile/Kanban) are okay.  But I don't think we want BSSw to develop a strong, disconnected personal productivity presence.  My two cents.

I think this article has merit. I actually think I'll give some of the ideas a try. I also googled and found this that could maybe also be cited. I haven't used a kanban board much and think it would be very helpful. I say we put in the personal productivity area and consider adding the following to the same curated article:
https://hackernoon.com/personal-kanban-part-1-why-todo-lists-don-t-work-3b5c6dc78708

directly relate to software development productivity (like the use of Agile/Kanban)

By that logic, wouldn't anything that involves the use of a keyboard relate to software development productivity? 😆

I do like this article because it improves developer productivity by helping them visualize and use their time in a more efficient way....I am on the fence about if this one needs to be a curated link on bssw, primarily because the sticky notes explanation is a common one used in most youtube videos on kanban.

The point is the personal part of it: applying Kanban to your personal life, not just to particular projects.  I admit this does not come across strongly in the article.  Maybe we should find a better resource to point to for "personal kanban"?  Maybe the book mentioned in the article? (I haven't read it).  Maybe something else.

medium.com is technically a paywall (although it does allow a certain number of free articles a month.) We should have a policy on linking to this type of site.

It is interesting to see a software engineering practice applied to personal activities, but I don't think it's relevant to software engineering per se.

Okay, I've changed my vote on this particular article.  I have decided that it not substantial enough a presentation of what personal kanban actually is to be the right article to point to as curated content about personal kanban.
This article has prompted a discussion about paywalls and openness (#414), which I think we need to have separately from this particular article.
And, I think that the personal kanban topic is a border case as to whether it is in scope for BSSw.  And that is a discussion that we need to have in order to decide whether we're going to feature any personal kanban resource.
I propose to close this ticket (current voting is +1 -2 and two confused) and start a new ticket to discuss whether personal kanban is in scope.  There are a couple of comments here relevant to that discussion, and @pagrubel suggested another resource which I think is more promising than the medium.com article if we decide to develop something on this topic.

"and @pagrubel suggested another resource which I think is more promising than the medium.com article if we decide to develop something on this topic."

Follow on new issue was created #418


Cannot access internet, DNS resolves to Kubernetes DNS timesout

This is my virtual machine config
apiVersion: virt.virtink.smartx.com/v1alpha1
kind: VirtualMachine
metadata:
  labels:
    virtlink.io/os: linux
    virtlink.io/vm: "{{ .Values.virtualMachine.name }}"
  name: "{{ .Values.virtualMachine.name }}"
spec:
  instance:
    # TODO: Set up cpu
    # https://github.com/smartxworks/virtink/blob/main/docs/dedicated_cpu_placement.md
    memory:
      size: "{{ .Values.memory }}"
    interfaces:
      - name: pod
    disks:
      - name: image
      - name: cloud-init
  volumes:
    - name: image
      containerRootfs:
       # CDI Image for ubuntu jammy
        image: "{{ .Values.image }}"
        size: 10Gi
    - name: cloud-init
      cloudInit:
        userData: |-
          #cloud-config
          hostname: {{ .Values.virtualMachine.name }}
          password: ubuntu
          chpasswd: { expire: False }
          package_update: true
          package_upgrade: true
          ssh_authorized_keys:
            - {{ .Values.virtualMachine.sshKey }}
  networks:
    - name: pod
      pod: {}

Network Debugging Logs
ubuntu@node-01:~$ dig +short google.com
;; communications error to <IP_ADDRESS>#53: timed out
;; communications error to <IP_ADDRESS>#53: timed out
;; communications error to <IP_ADDRESS>#53: timed out
;; no servers could be reached

ubuntu@node-01:~$ cat /etc/resolv.conf
# This is /run/systemd/resolve/stub-resolv.conf managed by man:systemd-resolved(8).
# Do not edit.
#
# This file might be symlinked as /etc/resolv.conf. If you're looking at
# /etc/resolv.conf and seeing this text, you have followed the symlink.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "resolvectl status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs should typically not access this file directly, but only
# through the symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a
# different way, replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver <IP_ADDRESS>
options edns0 trust-ad
search lab-c7a83719-938d-4836-9071-7efa3a790d23--978000.svc.cluster.local svc.cluster.local cluster.local

# Checking DNS IP configured via DHCP
ubuntu@node-01:~$ cat /run/systemd/resolve/resolv.conf
# This is /run/systemd/resolve/resolv.conf managed by man:systemd-resolved(8).
# Do not edit.
#
# This file might be symlinked as /etc/resolv.conf. If you're looking at
# /etc/resolv.conf and seeing this text, you have followed the symlink.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs should typically not access this file directly, but only
# through the symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a
# different way, replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver <IP_ADDRESS>
search lab-c7a83719-938d-4836-9071-7efa3a790d23--978000.svc.cluster.local svc.cluster.local cluster.local

Other pods can access the internet with the same core DNS configuration.
kubectl run netshoot --image=nicolaka/netshoot --rm -it --restart=Never --command -- dig +short google.com
<IP_ADDRESS>
pod "netshoot" deleted

With this configuration the VM is created but it has not internet. Because DNS resolution is not working. The DNS IP retrieved from DHCP is <IP_ADDRESS> (kube-dns) service IP.
I am getting timeout errors, whenever trying to resolve a domain name from the VM.
Note, I am able to SSH into the VM (because it connected to my pod network).
Note: If I add <IP_ADDRESS> to /etc/resolv.conf. I am able to access the internet

Please confirm:

You can access <IP_ADDRESS> IP in the VM
You can access internet in canonical Pods
You can access internet in the VM Pod

You can access <IP_ADDRESS> IP in the VM
No

ubuntu@node-01:~$ nc -zv <IP_ADDRESS> 53
nc: connect to <IP_ADDRESS> port 53 (tcp) failed: Connection refused
ubuntu@node-01:~$

You can access internet in canonical Pods
Yes,

Using netshoot

kubectl run netshoot --image=nicolaka/netshoot --rm -it --restart=Never --command -- dig +short google.com
<IP_ADDRESS>
pod "netshoot" deleted

Use the ssh example from virtlink readme

export VM_NAME=ubuntu-container-rootfs
export VM_POD_NAME=$(kubectl get vm $VM_NAME -o jsonpath='{.status.vmPodName}')
export VM_IP=$(kubectl get pod $VM_POD_NAME -o jsonpath='{.status.podIP}')
kubectl run ssh-$VM_NAME --rm --image=alpine --restart=Never -it -- /bin/sh -c "apk add openssh-client && ssh ubuntu@$VM_IP"
---
kubeclt exec.... commands
apk add curl
/ # curl google.com
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE>

301 Moved

The document has moved
here.

/ #

You can access internet in the VM Pod
No

Tried with my custom images as well as the image from the example from readme.md

/ # vi /etc/resolv.conf
/ # cat /etc/resolv.conf
nameserver <IP_ADDRESS>
search default.svc.cluster.local svc.cluster.local cluster.local
options ndots:5
/ # dig
sh: dig: not found
/ # curl google.com
curl: (6) Could not resolve host: google.com
/ #

The strange thing is that though from using the example from readme, the VM pod does not resolve google.com, but when I ssh into the VM (using the readme commands). I am getting internet.
ubuntu@ubuntu-container-rootfs:~$ curl google.com
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE>

301 Moved

The document has moved
here.

ubuntu@ubuntu-container-rootfs:~$

Another strange behaviour is that, as stated earlier the VM pod of my custom image, does not resolve internet as shared above which has similar behaviour to the readme example. But custom CDI image (ubuntu 22.04) does not resolve internet.
I do observer that during that start just for 15-20 seconds the VM has internet, then it suddenly stop working.
ubuntu@node-01:~$ curl google.com
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE>

301 Moved

The document has moved
here.

ubuntu@node-01:~$ curl google.com
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE>

301 Moved

The document has moved
here.

ubuntu@node-01:~$ curl google.com
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE>

301 Moved

The document has moved
here.

ubuntu@node-01:~$ curl google.com
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE>

301 Moved

The document has moved
here.

ubuntu@node-01:~$ curl google.com
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE>

301 Moved

The document has moved
here.

ubuntu@node-01:~$ curl google.com
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE>

301 Moved

The document has moved
here.

ubuntu@node-01:~$ curl google.com
curl: (6) Could not resolve host: google.com
ubuntu@node-01:~$ curl google.com
curl: (6) Could not resolve host: google.com
ubuntu@node-01:~$

You can try reproducing the behaviour with the below spec
apiVersion: virt.virtink.smartx.com/v1alpha1
kind: VirtualMachine
metadata:
  labels:
    app.kubernetes.io/managed-by: Helm
    virtlink.io/os: linux
    virtlink.io/vm: node-01
  name: node-01
spec:
  instance:
    cpu:
      coresPerSocket: 1
      sockets: 1
    disks:
    - name: image
    - name: cloud-init
    interfaces:
    - bridge: {}
      mac: 52:54:00:f3:73:66
      name: pod
    memory:
      size: 2Gi
  networks:
  - name: pod
    pod: {}
  resources: {}
  runPolicy: Once
  volumes:
  - containerRootfs:
      image: sharadregoti/vm-kubernetes:ubuntu-jammy-v1.29-v0.1.0
      size: 10Gi
    name: image
  - cloudInit:
      userData: |-
        #cloud-config
        hostname: node-01
        password: ubuntu
        chpasswd: { expire: False }
        package_update: true
        package_upgrade: true
    name: cloud-init

I'm getting a little bit confused here.

The strange thing is that though from using the example from readme, the VM pod does not resolve google.com, but when I ssh into the VM (using the readme commands). I am getting internet.

Are you saying that you can access internet from the official example VM? If so, it could means there's something wrong with you custom image, maybe something related to network configs or DHCP things.
From the spec you shared, you were using the Pod network? If so, it's expected that you cannot access the internet from the VM pod, since Virtink would move VM pod's MAC and IP to the VM.

The issue was with my custom VM image. After trying a new approach it worked.


[WIP] Add localized contents to posts and comments

Due to new localization support in post and comments we have to change content from a string to a dictionary.

@onurakpolat can you give this a quick look? There is some duplication I would like to discuss with you how these things are usually managed in the iOS SDK as I am not familiar with the project yet (contents parsing in TGAttachment and TGComment).

@nilsen340 will do. Lets discuss today.


Article needs clarification and updating

The article's wording is not in line with the latest version of the app.
For example: The article refers to "Daily peak usage" while the latest version of the app uses the term "Daily peak utilization"
Also: Both screenshots of the "Daily peak usage" visual show that the visual's Y axis lists the number of cores (in this case 8) and the Utilization graph is scaled to fit this. In the new app it seems that the graph's Y axis is scaled to according to the Utilization graph. This needs clarification: Does the Utilization graph display the percentage of available CPU utilized?
In the attachment the Utilization peaks at about 45. Does this mean that 45% of available processing was used?
If so I suggest that "Utilization" in the legend be changed to "Utilization %'.
The article's description of this graph should also clarify the meaning of Utilization.

The description of the graph "Peak utilization - 15m intervals" also needs clarification.
Refer to the attached screenshot:

The article does not explain the details of this graph:

This scale of the Y-axis is unclear.
What does the 100% line mean?

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

ID: e6f52eeb-717d-9a67-b775-c17c5cf916e4
Version Independent ID: 2c804bb2-1cf3-462e-730b-ecfbae2a5e9e
Content: Power BI Premium Gen2 Metrics app (preview) - Power BI
Content Source: powerbi-docs/admin/service-premium-gen2-metrics-app.md
Service: powerbi
Sub-service: powerbi-premium
GitHub Login: @davidiseminger
Microsoft Alias: davidi

The app's visual labels don't match the documentation.
In Utilization by Workspace and Artifact:
There's confusion as to what "Total Utilization (s)" vs "Contribution (s)" means.
Is there an updated doc for the new report layout and terms?

Please, please: Add the current version number to the Help > Release Notes page. Currently no way to know which version we are using and it seems like the report is updated regularly. For those that are installing from App Source, as of 11/17/2021 version number is 1009. Add it to your reports!
Thank you @KesemSharabi !!

Also, the article states "The release notes page contains the release notes for each new version of the app. As the app updates automatically, it's a good idea to review the release notes from time to time."
https://docs.microsoft.com/en-us/power-bi/admin/service-premium-gen2-metrics-app#release-notes
Does the app actually update automatically?

Please reword this:

CPU
View the top CPUs that consumed Power BI items over the past two weeks

Hi @jgibbycsc,
I updated the Install the Gen2 metrics app article.
Hope this helps,
Kesem


Help - What does the site show?

So when looking at my profile it says 0 for everything. I want to know what it counts.

It counts the number of views your profile/repositories get, have you added the counter to your READMEs?

Oh that's what it does? I haven't added it because I wasn't sure what the stats showed at first. I'll probably add it

Yeah, no way to fetch profile views from GitHub API so you need to add an image to your READMEs. You can learn how to setup here - https://docs.ghprofile.me/features/view-counter
I'm going to add some modal prompts that mentions the required image, thanks for reporting the UX issue.

Thanks for the help


Blog on Github APIs

Checklist

Please note that in case of below checklist not updated accordingly, the maintainers have the right to immediately close your pull request.

[x] You created a branch from dev branch.
[x] You PR is raised on dev branch and not onmaster.
[x] Blog follows Blog Guidelines.
[x] You have read the Contribution Guidlines before creating this PR.
[x] Checked for any duplicate blog entry.
[x] Checked for all grammatical errors in the blog.
[x] You have not published the blog content anywhere else on the internet on platforms like medium, dev.to etc.
[x] The content is not copy-pasted from anywhere else on the Internet.

Author Details for Blog Post Entry

id: Kapil Bansal
bio: "A python developer and open source enthusiast."
github: "devkapilbansal"
linkedin: "devkapilbansal"

@pareek-narendra please review this.

Related #233


How to do a new resource module submission

The text in NewResourceModuleSubmissions.md is not update to date on how a resource module should be submitted today. It should not be transferred as previously stated.
The below text is thoughts/suggestion on how the new text should read, and is up for discussion by the community. This is based on information found in the DscResources repository.

The new way to do a resource module submission is that the owner of the resource module repository is allowed to add the repository to the list of resource modules under DscResources (by updating .gitmodules).
The reason that the module no longer should be transferred is supportability. The maintainer (owner) and the community will contribute and give support to the resource module (in the owners repository) on a voluntary basis. But, if not otherwise mentioned in the resource module documentation it should be considered unsupported.
Prior to listing in DSC Resource repository under DscResources

The repository must pass the Quality Governance.
The community accepts, at a community call, that a resource module follows the guidelines set out for a High Quality Resource Module.

No resource modules should be added to xDscResources since experimental ('x') convention is deprecated. The resource modules listed today under xDscResources is meant to be converted to the new naming convention (the name suffixed with 'Dsc') and moved to DscResources when they meet the criteria for a resource module submission.

All, I have updated the issue description in this issue. Please read an give your thoughts so we can update the text accordingly.
One more thing to discuss by the community. The Quality Governance specify that the maintainer/owner of a resource module should have a Skype call each month, when at the same time the supportability says that a module is unsupported unless otherwise mentioned in the documentation. Having a Skype call would indicate that the resource module that is submitted must have that kind of support.
/cc @mgreenegit @kwirkykat @mbreakey3

One of the steps in sending in a PR for a module submission is to run
git submodule add https://github.com/PlagueHO/<reponame> DscResources/<reponame<

We should have a specific ISSUE_TEMPLATE for new module submission.
See example for multiple issue templates here; https://github.com/PowerShell/vscode-powershell/tree/master/.github/ISSUE_TEMPLATE


Fix OpenGL linkage on macOS to use framework link.

This commit fixes the output of the MaterialXTargets.cmake to have proper system linkage for OpenGL in the cmake config.
Without this change, downstream projects on a Mac like USD cannot build against MaterialX properly.
There was an issue introduced in b50dea8ef6c6eda52f7ecabafeb45272a48cfe11 where the output started being like so
set_target_properties(MaterialXRenderGlsl PROPERTIES
  INTERFACE_COMPILE_DEFINITIONS "GLAD_GLAPI_EXPORT"
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "MaterialXRenderHw;MaterialXGenGlsl;OpenGL::GL;-framework Foundation;-framework Cocoa;-framework Metal"
)

Prior to that commit it would end up being a hardcoded path to the SDK which is also not great, because it means any SDK update would make the file unusable.
/Library/Developer/CommandLineTools/SDKs/MacOSX13.5.sdk/System/Library/Frameworks/OpenGL.framework;
Switching to -framework like the rest of the system links fixes that and makes it portable regardless of what SDK paths are on a system

This looks like a good improvement, thanks @dgovil!
Since we're currently focusing on MaterialX 1.39 for release this summer, would you mind retargeting this pull request to the dev_1.39 branch, and we can review it there?

Changed the target to dev_1.39

@dgovil It should be fine to create a new 1.38.10 release as well, if there are important fixes that need to be included in the 1.38.x series, but so far we've been focused on the 1.39 release this summer.  Let us know if you believe this change is important enough to warrant an additional 1.38.10 release, and we can bring that up in the next MaterialX TSC.

I think it might be worth having a 1.38.10 to back port some fixes like this. My worry is this one makes it harder for macOS devs to use 1.38.9, and I'm not sure they'd be ready to move to 1.39
I can bring it up in the next TSC meeting.


fix: update deploy scripts and remove webpack config

Coverage remained the same at 87.954% when pulling ea0b48275564809aa9b9d6e1c34fc9f2348b2bcf on abutterworth/arch-1029-delete-storybook into bb0cb72c47d0183b8413aed4e0bc45d47e43cd08 on arch-1029/delete-storybook.


Range of detections.shape

In Tracker.update file at line 36 "for i in range(detections.shape[0]):"
AttributeError: 'list' object has no attribute 'shape'
Could you please help me on this, Thank you.

In object_track.py,

if (len(centers) > 0):
tracker.update(centers)

The variable centers need to be ndarray.
So, the exception shows you feed list into function update of tracker.


Ability to parse multiple maintenance windows from Zayo maintenance notification

Environment

circuit_maintenance_parser version: v2.2.2

Return multiple maintenance windows in the event where a vendor sends us multiple activity dates. This feature should allow multiple maintenance windows to be returned as separate fields rather than one big window. Currently, multiple windows from vendor are being clumped into one large window (earliest start time + latest end time found).
Proposed Functionality
The proposed functionality of this would be allowing maintenance windows to only be active for the window that the vendor specifies, not all the time in between the earliest start time and latest end time. This increases availability of network resources in the event where operators move traffic away from network links during maintenance windows.
Use Case
An example email (sanitized) that we would receive:
                # Some Zayo notifications may include multiple activity dates.
                # For example, given:
                #
                # 1st Activity Date
                # 01-Nov-2021 00:01 to 01-Nov-2021 05:00 ( Mountain )
                # 01-Nov-2021 06:01 to 01-Nov-2021 11:00 ( GMT )
                #
                # 2nd Activity Date
                # 02-Nov-2021 00:01 to 02-Nov-2021 05:00 ( Mountain )
                # 02-Nov-2021 06:01 to 02-Nov-2021 11:00 ( GMT )
                #
                # 3rd Activity Date
                # 03-Nov-2021 00:01 to 03-Nov-2021 05:00 ( Mountain )
                # 03-Nov-2021 06:01 to 03-Nov-2021 11:00 ( GMT )

By testing the email file against circuit-maintenance-parser, we should be getting multiple maintenance objects rather than just one with the earliest start time and latest end time:
#circuit-maintenance-parser --data-file ~/zayo_test_email.eml --data-type html --provider-type zayo

Circuit Maintenance Notification #0
{
  "account": "Test",
  "circuits": [
    {
      "circuit_id": "ZAYO/TEST/CIRCUIT",
      "impact": "OUTAGE"
    }
  ],
  "end":<PHONE_NUMBER>,
  "maintenance_id": "TTN-0001234567",
  "organizer"<EMAIL_ADDRESS>  "provider": "zayo",
  "sequence": 1,
  "stamp":<PHONE_NUMBER>,
  "start":<PHONE_NUMBER>,
  "status": "CONFIRMED",
  "summary": "Zayo Third-Party Provider will implement maintenance to perform temporary fiber relocation in order to proactively avoid outages.",
  "uid": "0"
}

Circuit Maintenance Notification #1
{
  "account": "Test",
  "circuits": [
    {
      "circuit_id": "ZAYO/TEST/CIRCUIT",
      "impact": "OUTAGE"
    }
  ],
  "end":<PHONE_NUMBER>,
  "maintenance_id": "TTN-0001234567",
  "organizer"<EMAIL_ADDRESS>  "provider": "zayo",
  "sequence": 1,
  "stamp":<PHONE_NUMBER>,
  "start":<PHONE_NUMBER>,
  "status": "CONFIRMED",
  "summary": "Zayo Third-Party Provider will implement maintenance to perform temporary fiber relocation in order to proactively avoid outages.",
  "uid": "1"
}

Circuit Maintenance Notification #2
{
  "account": "Test",
  "circuits": [
    {
      "circuit_id": "ZAYO/TEST/CIRCUIT",
      "impact": "OUTAGE"
    }
  ],
  "end":<PHONE_NUMBER>,
  "maintenance_id": "TTN-0001234567",
  "organizer"<EMAIL_ADDRESS>  "provider": "zayo",
  "sequence": 1,
  "stamp":<PHONE_NUMBER>,
  "start":<PHONE_NUMBER>,
  "status": "CONFIRMED",
  "summary": "Zayo Third-Party Provider will implement maintenance to perform temporary fiber relocation in order to proactively avoid outages.",
  "uid": "2"
}

@aliex-13 could you provide an anonymized email example with this format?

@chadell
Feel free to assign this issue to either of us

Fixed in #214 by @csessh


check_availability op from console causes on-demand downloads

Not urgent for now, but, creating an issue to keep track of this design deficiency:
check_availability does checks at widending intervals, but capped at 72h 15m, 30m, 60m, 120m, ..., MAX(72h)

this means, we on-demand download a small set of layers that's required for  check_writability (source code) every 72h, even if the project is completely unused
https://github.com/neondatabase/cloud/blob/a772defc5b31a2eadbf1e0bdbb748d5a99611cc0/goapp/internal/consoleliveconfig/declaration.go#L41
https://github.com/neondatabase/cloud/blob/0b3bdb4efd6d4c7d6c5c3760379215c75dfae826/helm/zenith-console/templates/api-configmap.yaml#L81-L83

Grafana dashboard that showcase the problem:
https://neonprod.grafana.net/d/-KOr2qAVq/basic-layer-map-info?orgId=1&from=1676570636316&to=1676573425813

Closing until it becomes an issue


Add github actions

@sodiumoxide/owners Hi. Would you please enable Github Actions so we can switch from TravisCI and AppveyorCI to GA? TravisCI is stuck.

github actions are already active, they are going to execute after they are merged. I've pushed a branch to trigger an execution and the results can be found here: https://github.com/sodiumoxide/sodiumoxide/actions/runs/325103665
Right now it's failing with:
  --- stderr
  thread 'main' panicked at 'Failed to find configure script! Did you clone the submodule at `libsodium-sys/libsodium`?: Os { code: 2, kind: NotFound, message: "No such file or directory" }', libsodium-sys/build.rs:219:89
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed

I've resubmitted this PR with some minor fixes in #439 and the actions are running there, but it seems we are unable to merge this until either travis is working again or the "Required" tag is removed.

the "Required" tag is removed

Seems like it's useless in the branch settings because we duplicate them in bors.toml.


Modifies EncryptionLevel to Off instead of NotSupported

Resolves #707

@pangjunrong could you help out with this merge? If there are additional steps I need to take then please let me know. Or could you refer me to somebody else to help get this merge approved?

So I spent some time understanding the underlying mechanisms for the different encryption options from [MS-SSTDS]: Tabular Data Stream Protocol Version 4.2 (specifically <IP_ADDRESS>) and came across several possible issues with using EncryptionLevel::Off, such as tiberius #320.
I think the most comprehensive way forward would be to account for all possible DB setups — in your case, the expected connection might not be encrypted but EncryptionLevel::Off is necessary because a TLS handshake is still expected during PRELOGIN. For someone else, their setup might not support TLS at all and having EncryptionLevel::Off might lead to a timeout as the client attempts a secured handshake.
May I propose that when encrypt=false, we do EncryptionLevel::Off and otherwise we default to EncryptionLevel::Unsupported?
For the merge to be approved, you will need @wangxiaoying

Thanks @boersmamarcel for the PR!
I agree with @pangjunrong that we might want to have both EncryptionLevel::Off and EncryptionLevel::NotSupported supported.


Token refreshing without Heroku

Hey guys, the V2 tutorial only gives us an option to refresh our tokens via the Heroku app. However, what about if we're not able to use Heroku. Is there an alternative? I'd really like to get an automated token refreshing process in place so as to ensure continued functionality.

Thanks for the question!
The Heroku option is currently the only open-source option we have.
But I’d really love to see the community create alternative methods in various languages and open-source them so we could think them in the README. It’d be great to see supported options in Wordpress, .NET, etc.

Yes that would be super useful, at the moment I can't seem to find any information on how to refresh apart from via the command line, which is fine for the odd occasion but not very useful for a production environment.

The process of getting and refreshing the access tokens is outlined in the Instagram Basic Display API docs: https://developers.facebook.com/docs/instagram-basic-display-api/guides/long-lived-access-tokens/
I think there is an example in there on using curl from the command line.

In general, a token refresh service would need to do the following things (this is assuming running on a server somewhere):

Accept and store a valid API token as a starting point
Periodically make a request to the IG refresh_token endpoint and update the current token value (every < 60 days)
Provide some way of serving the current token value to the page where instafeed is being run.

If this is running on the same server that is running the site you want to use instafeed on, then the simplest thing is to just include the token value in the page rendered by the server - that way there's no extra request to fetch the token, etc.
The Heroku option is really optimised for "works for most people, is free, requires next-to-no coding". It's by no means the best or most efficient way if you can do some server-side work!

I should also mention that we've been in contact with the developer of instant-tokens.com, which is another service designed to work with instafeed.js. As far as I know it does do everything needed, but it's centralised and not currently open-source, so I can't vouch for its security or suitability for a production environment. We'll update the readme if it that changes.

Hey guys, just wanted to follow up on this with our implementation, which may or may not be useful for others.
So, we register our account over at instant-tokens.com, which does the heavy lifting of refreshing the short lived token every 60 days. We then use a AJAX call to hit the supplied instant-tokens.com url (which returns the access token as JSON). We can then parse the JSON to target exactly what we need, in this case Token.
$.ajax({
    type: 'get',
    dataType: 'json',
    url: 'https://ig.instant-tokens.com/users/XXXXX/instagram/XXXXX/token?userSecret=XXXXX',

    success: function (response) {
        var feed = new Instafeed({
            target: 'carousel-instagram',
            accessToken: response.Token, // Access token from json response
    });
    feed.run();
});

It's worth pointing out that as of a few days ago Heroku is now suspending instagram-token-agent apps immediately after they're created.
https://github.com/companionstudio/instagram-token-agent/issues/13

Hey guys, just wanted to follow up on this with our implementation, which may or may not be useful for others.
So, we register our account over at instant-tokens.com, which does the heavy lifting of refreshing the short lived token every 60 days. We then use a AJAX call to hit the supplied instant-tokens.com url (which returns the access token as JSON). We can then parse the JSON to target exactly what we need, in this case Token.
$.ajax({
    type: 'get',
    dataType: 'json',
    url: 'https://ig.instant-tokens.com/users/XXXXX/instagram/XXXXX/token?userSecret=XXXXX',

    success: function (response) {
        var feed = new Instafeed({
            target: 'carousel-instagram',
            accessToken: response.Token, // Access token from json response
    });
    feed.run();
});

Today I was getting suspended by Heroku immediately after deployment, so I switched to this method,
it worked quickly and well for me, thank you!

Hey guys, just wanted to follow up on this with our implementation, which may or may not be useful for others.
So, we register our account over at instant-tokens.com, which does the heavy lifting of refreshing the short lived token every 60 days. We then use a AJAX call to hit the supplied instant-tokens.com url (which returns the access token as JSON). We can then parse the JSON to target exactly what we need, in this case Token.
$.ajax({
    type: 'get',
    dataType: 'json',
    url: 'https://ig.instant-tokens.com/users/XXXXX/instagram/XXXXX/token?userSecret=XXXXX',

    success: function (response) {
        var feed = new Instafeed({
            target: 'carousel-instagram',
            accessToken: response.Token, // Access token from json response
    });
    feed.run();
});

Today I was getting suspended by Heroku immediately after deployment, so I switched to this method,
it worked quickly and well for me, thank you!

Hi! I could really use a quick hand from the experts here! I want to implement instafeed.js to my personal website and am discovering that it's not as simple as it once was!
I've set up a developer account at Facebook and for Instagram. I have an account at instant-tokens.com and have my instant token URL.
The Ajax code shared above is helpful but I've had to try to convert it to vanilla javascript. I do so as a JS beginner, so I'm getting an error from instafeed.min.js:
"Uncaught (in promise) Error: accessToken must be a string or function, got null (object)"
Can you take a look and tell me where I've gone wrong? I'm sure the structure of my code is wrong.
Thank you!
Danielle

Or, if you don't have jQuery on your site/don't want to add it, just do it using fetch! It is 2020 after all 😄
fetch('https://ig.instant-tokens.com/users/XXXXXX/instagram/XXXXXX/token?userSecret=XXXXX')
  .then(resp => resp.json())
  .then(data => {
    const feed = new Instafeed({
            accessToken: data.Token, // Access token from json response
    });
    feed.run();
})

Thanks @t1mwillis & @kaleidografik

Hello,
You can now link directly to a JS file using https://Instant-Tokens.com which automatically sets a JS variable named InstagramToken with your Instagram Access Token.
<script src="https://ig.instant-tokens.com/users/XXXXXX/instagram/XXXXXX/token.js?userSecret=XXXXX"></script>
https://github.com/codingbadger/instant-tokens.com/issues/2
Cheers
Barry

Just very easily used Instant-Tokens.com - Unlike the Heroku method I wasn't required to go through Facebook developers, does that mean this method isn't limited to the 200 user per hour restrictions?

@Matra-Simca Instant-Tokens.com uses its own Facebook application so is still bound by the same rate-limiting rules however the limit is not a per-user limit it is calculated as 240 times the number of users.
Glad you had a good experience with instant-tokens.com :-)

Thanks @codingbadger - it's definitely a straightforward solution - sorry I'm still not clear in practial terms of how the rate-limiting works. Who is the user in this case, is it the end user viewing the feed, or the Instagram account linked to instant-tokens.com? Or have I misundertood completely!
Ideally I want to add two different configurations of Instafeed on different pages, it seems like this would require the same token being used in each case, so I'm wary of doubling the use rate if the practical limit is relatively low.

Instant-tokens.com is well below any rate-limiting being imposed by Instagram. As an example over 125,000 calls were made to the Instagram API via the Intstant-Tokens.com Application and it has really only scratched the surface of any limits.

Thanks @codingbadger - Instant-Tokens definitely seems to be the better solution. However, I cannot get it to work in my actual application. It works fine and appears to be working correctly for me within a codepen, but I get the error Uncaught Error: Error from Instagram: The access_token provided is invalid. in the console. The token is populating correctly, and again, all looks to be working correctly in Codepen, but i'm not sure why it wouldn't work within my own website. Any thoughts?

Can you raise an issue in https://github.com/codingbadger/instant-tokens.com/issues and provide the sample code.
Thanks

From: mikelivingston04<EMAIL_ADDRESS>Sent: Wednesday, July 29, 2020 7:32:14 PM
To: stevenschobert/instafeed.js<EMAIL_ADDRESS>Cc: Barry Mooring<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [stevenschobert/instafeed.js] Token refreshing without Heroku (#654)
Thanks @codingbadgerhttps://github.com/codingbadger - Instant-Tokens definitely seems to be the better solution. However, I cannot get it to work in my actual application. It works fine and appears to be working correctly for me within a codepen, but I get the error Uncaught Error: Error from Instagram: The access_token provided is invalid. in the console. The token is populating correctly, and again, all looks to be working correctly in Codepen, but i'm not sure why it wouldn't work within my own website. Any thoughts?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/stevenschobert/instafeed.js/issues/654#issuecomment-665830209, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAIKAXBXAHXVOAKKC2QQOILR6BTK5ANCNFSM4MHX7MQA.

@codingbadger
Here is the issue: https://github.com/codingbadger/instant-tokens.com/issues/6.
Not sure why the coding formatting didn't work for my code. My apologies.

Thank you so much everyone. Finally integrated Instagram on my site🙏.

A few days before I would release a website for a client, this happened: Facebook has disabled the Instant Tokens Application
Any alternative would appreciated!

A few days before I would release a website for a client, this happened: Facebook has disabled the Instant Tokens Application
Any alternative would appreciated!

This is such a shame, hopefully @codingbadger can get the service back up and running shortly.

The Instant Tokens Application has been reinstated by Facebook after an appeal.

I made a simple node.js script that refresh set of tokens. You can run the script with github actions to refresh them regularly.
This is an example repo that refresh in 3 days interval. Interval can be changed in workflow file (.github/workflows/tokenRefresh.yml).
https://github.com/abdullahoguk/refresh-instagram-tokens

I made a simple node.js script that refresh set of tokens. You can run the script with github actions to refresh them regularly. This is an example repo that refresh in 3 days interval. Interval can be changed in workflow file (.github/workflows/tokenRefresh.yml). and token list can be specified in tokens.js.
https://github.com/abdullahoguk/refresh-instagram-tokens

Is this working? I can only see the log file date being updated every 3 days. The tokens.js hasn't been updated since the initial commit.

Yes It's working. The tokens itself is not changing. tokens.js is a list of tokens to be reissued for batch refreshing purpose. When I debug the token, it says issued on Wednesday (3 days ago). I updated the readme for usage.

@kris-g
Yes It's working. The tokens itself is not changing. tokens.js is a list of tokens to be reissued for batch refreshing purpose. When I debug the token, it says issued on Wednesday (3 days ago). I updated the readme for usage.


Cleanup page.php indentation

It looks like the indentation on page.php template is slightly off.
I've cleaned it up in this commit.
Issue #1170

Moved into another pull request #1173


trade space for time by storing edges in their own hacked vector

This adjust the node data model to have a string for the node sequence, a hacked vector for the edges, and another for the path steps.
It will take more memory, but it also removes a few bytes used for recording the length of the various parts of each node.

Hey, if you're doing engineering on the odgi graph, I'll once again suggest that we make libbdsg a dependency of odgi so that we can keep the implementations from going out of sync. Otherwise, the odgi graph implementation in libbdsg is going to go stale, which is especially not great since we just submitted a preprint, and people are going to start paying attention to it soon.

I agree. I was going to do this and then start flipping out different
libbdsg implementations.
On Sat, Apr 25, 2020, 18:53 Jordan Eizenga<EMAIL_ADDRESS>wrote:

Hey, if you're doing engineering on the odgi graph, I'll once again
suggest that we make libbdsg a dependency of odgi so that we can keep the
implementations from going out of sync. Otherwise, the odgi graph
implementation in libbdsg is going to go stale, which is especially not
great since we just submitted a preprint, and people are going to start
paying attention to it soon.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/vgteam/odgi/pull/104#issuecomment-619409052, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AABDQEJFFBS3V7D2YMAPR43ROMIP7ANCNFSM4MQZEQZQ
.

I'd like to use libbdsg, but the repo has become very large and I'm unable to build it due to pybind11 configuration problems. I see that I have to run a complex build process to update the python bindings.
What's going on there?


Output panel contains scrollbar remnant even when empty

VSCode Version: 1.29.0-exploration
OS Version: Windows 10 1803 17134.407

Steps to Reproduce:

Open panel
Switch to Output if not already
Look at panel's Right hand side and see scrollbar remnant

Does this issue occur when all extensions are disabled?: Yes

Pretty sure this is by design, empty editors have a scrollbar too even when not scrollable.

But the Output panel is non-editable? And all the other panels have like this overlay scrollbar in a sense.  I saw this with the Problems panel too

I know this is an implementation detail but Output panel uses the Editor underneath hence it is shown. @alexandrudima Is there a way to not to show the scroll bar in such cases?

That is not the scrollbar, but the overview ruler. There is an option to not draw that border called overviewRulerBorder.

As @alexandrudima said this is a overview ruler and output panel is an editor behind and may be some extension authors or users might be depending on it, I am not going to change it.


Support INSERT INTO statement

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Support the INSERT INTO expression, e.g.
INSERT INTO t1(e,c,b,d,a) VALUES(103,102,100,101,104)
Executing with datafusion-cli:
DataFusion CLI v14.0.0
❯ CREATE TABLE abc AS VALUES (1,2,3), (4,5,6);
0 rows in set. Query took 0.004 seconds.
❯ SELECT * FROM abc;
+---------+---------+---------+
| column1 | column2 | column3 |
+---------+---------+---------+
| 1       | 2       | 3       |
| 4       | 5       | 6       |
+---------+---------+---------+
2 rows in set. Query took 0.005 seconds.
❯ INSERT INTO abc(column1, column2, column3) values (7,8,9);
NotImplemented("Unsupported SQL statement: Some(\"INSERT INTO abc (column1, column2, column3) VALUES (7, 8, 9)\")")

Additional context
The ability to insert values via the cli throughout a sessions forms the basis of a lot of sqllogictests we want to incorporate into testing. See https://github.com/apache/arrow-datafusion/issues/4248

Anything involving arrow is going to be non ideal with multiple "INSERT INTO" statements.
I suggest we implement support for INSERT INTO statements (and possibly https://github.com/apache/arrow-datafusion/issues/4396) as part of the test harness rather than in DataFusion itself


5.2. Version

Hello, we need help with 5.2. Version willing to agree on bounty.
cReepas

Hello, we solved windows 5.2. but we have issues with ESXi do you have source exe file?
It would help us. thank you.
https://t.me/+7BzX4ESQwgs3OTdk


Keepalive watchdog timeout on slow connections

What version of gRPC and what language are you using?
I have a server in Golang (grpc v1.29.1) and a client in C# (grpc v.2.29.0)
What operating system (Linux, Windows,...) and version?
Windows 10
What runtime / compiler are you using (e.g. python version or version of gcc)
Go 1.13.5, MSVS 2019
What did you do?
I have a server in Golang and a client in C#.
I want to quickly detect the lack of connection to the server.
So in C# I set the keepalive parameters for the channel:
var timeout = 10000;
var options = new List<ChannelOption>
{
  new ChannelOption("grpc.keepalive_time_ms", timeout),
  new ChannelOption("grpc.keepalive_timeout_ms", timeout),
  new ChannelOption("grpc.keepalive_permit_without_calls", 1),
  new ChannelOption("grpc.http2.max_pings_without_data", 0),
  new ChannelOption("grpc.http2.min_time_between_pings_ms", timeout)
};

Then this channel is used to establish a one-way server stream and to invoke unary RPC calls
(stream is created in async task, also RPC calls are async tasks).
Data is sent sporadically via stream, mainly I call RPC.
Everything works well but the problem starts if the connection between the client and server is slow.
In this situation, if RPC returns more data, the request takes a long time and stream (on which nothing is sent) gets a "keepalive watchdog timeout" error.
How to solve this problem ?

I checked and the error occurs even without using stream. Single RPC is enough. Here is a minimal example:
Server in go: hello server modified to return more data:
package main

import (
	"context"
	"log"
	"math/rand"
	"net"

	pb "grpcerror/helloworld"

	"google.golang.org/grpc"
)

const (
	port = ":50051"
)

// server is used to implement helloworld.GreeterServer.
type server struct {
	pb.UnimplementedGreeterServer
}

// SayHello implements helloworld.GreeterServer
func (s *server) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.HelloReply, error) {
	log.Printf("Received: %v", in.GetName())
	return &pb.HelloReply{Message: createRandString(1024 * 100)}, nil
}

func createRandString(n int) string {
	const letterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	b := make([]byte, n)
	for i := range b {
		b[i] = letterBytes[rand.Intn(len(letterBytes))]
	}
	return string(b)
}

func main() {
	lis, err := net.Listen("tcp", port)
	if err != nil {
		log.Fatalf("failed to listen: %v", err)
	}
	s := grpc.NewServer()
	pb.RegisterGreeterServer(s, &server{})
	if err := s.Serve(lis); err != nil {
		log.Fatalf("failed to serve: %v", err)
	}
}

Client in C#: calling the server RPC in loop:
using Grpc.Core;
using Helloworld;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace GreeterClient
{
	internal class Program
	{
		public static async Task Main(string[] args)
		{
			int timeout = 3000;
			var options = new List<ChannelOption>
			{
				new ChannelOption("grpc.keepalive_time_ms", timeout),
				new ChannelOption("grpc.keepalive_timeout_ms", timeout),
				new ChannelOption("grpc.keepalive_permit_without_calls", 1),
				new ChannelOption("grpc.http2.max_pings_without_data", 0),
				new ChannelOption("grpc.http2.min_time_between_pings_ms", timeout)
			};

			Channel channel = new Channel("<IP_ADDRESS>:50051", ChannelCredentials.Insecure, options);

			var client = new Greeter.GreeterClient(channel);
			String user = "you";

			for (int i = 0; i < 100; i++)
			{
				var reply = await client.SayHelloAsync(new HelloRequest { Name = user });
				Console.WriteLine("Greeting: " + reply.Message);
			}
			channel.ShutdownAsync().Wait();
			Console.WriteLine("Press any key to exit...");
			Console.ReadKey();
		}
	}
}

I started the server on the local network. For the server I set the transmission limit to 5KB / s (via the NetLimiter 4 application).  After several calls, the client reported "keepalive watchdog timeout" error.

@Green7  would you be able to provide a runnable reproduction in form of a VS project (ideally as a github repository). That would make it easier to reproduce the issue and decide what next.
Also, from the description you've provided it's not clear to me that there is actually any problem.
If a keepalive ping fails to be delivered on time, the connection will be terminated (and you'll need to reconnect) and that is working as expected. So without further evidence, it seems that the http2 pings are just delayed more than their allowed timeout and the connection dies - in which case you can try to reconnect and try again (or you can increase your GRPC_ARG_KEEPALIVE_TIMEOUT_MS)
See here for more info https://github.com/grpc/grpc/blob/master/doc/keepalive.md
Does this also happen on linux or is it windows specific?
Does this only happen on C# client vs Go server or also with other servers (e.g. C# server).

@jtattermusch
Here is repo with test projects https://github.com/Green7/GrpcWatchdogTimeout  (You must change the server address in the client code).
I started the server on a Windows 10 virtual machine with https://www.netlimiter.com installed. The send/receive limit for the server application was set to 5KB/s. The limit may be higher, but then you have to wait longer for the error.

If a keepalive ping fails to be delivered on time, the connection will be terminated (and you'll need to reconnect) and that is working as expected.

Yes, I can reconnect but in this situation I have to authenticate again, initiate streams, repeat the aborted operations, etc. A lot of unnecessary operations when nothing really happened. The worst thing is that the user must wait a long time for the result of the operation because I start it again instead of finishing it.

in which case you can try to reconnect and try again (or you can increase your GRPC_ARG_KEEPALIVE_TIMEOUT_MS)

Increasing GRPC_ARG_KEEPALIVE_TIMEOUT_MS does not solve the problem. In my application I need to detect disconnected connections as soon as possible. If I increase GRPC_ARG_KEEPALIVE_TIMEOUT_MS, the disconnection detection time will increase.

Does this also happen on linux or is it windows specific?
Does this only happen on C# client vs Go server or also with other servers (e.g. C# server).

I tested only on Windows.
I tested all configurations: server in c # and golang and client in c# and golang. Problem has always occurred, but it appears that he is less frequent in Golang.

TBH I don't understand what is the behavior you're asking for.

you are explicitly enabling a feature that sends pings on a connection and is supposed to kill the connection if those pings are not delivered on time (so that you can detect a disconnect)
at the same time you are complaining about that feature killing your connection and that you need to restart your RPC, but that is exactly what you configured for.

So it looks like you're asking for the impossible - you either set a tight keepalive timeouts and detect a broken connection quickly OR you set a more lenient keepalive timeout and make your connections less likely to disconnect due to a missed keepalive. For obvious reasons, there's no way to have both at the same time. There is also no "magic" algorithm that would allow you to detect stalled connections quickly without any false positives (in general it's impossible to know know if the peer/network is just slow or if the connection has become broken - both situations look the same to the client).
I'm going to close this issue as  "working as intended" because there's no evidence of erroneous behavior.

I had the impression that keep alive ping should only be sent if there is no other activity.
This is what the golang documentation suggests:
https://github.com/grpc/grpc-go/blob/f5cae43845b8b054a2173bb83c660ef944f7c71b/Documentation/keepalive.md

When there's no activity on a connection (note that an ongoing stream results in no activity when there's no message being sent), after Time, a ping will be sent by the client

But in my case there is activity: the client receives the data sent by the server, and at this point the connection is interrupted by client keep alive watchdog. So the connection works but is interrupted by the watchdog.
Should it work like that?

@yashykt  can you please answer the last question?

Sorry I was about to answer this last week, but my attention got diverted

https://github.com/grpc/grpc/blob/b16ce8d621a3ed470dfdb5bdc769ac9036f4ef76/src/core/ext/transport/chttp2/transport/chttp2_transport.cc#L2573 on receiving bytes, gRPC Core does reset the keepalive timer but if the ping was already sent out, then it won't reset the watchdog timer and it will expect to have received the ping ACK within the timeout duration.

It might make sense for gRPC to reset the watchdog timer too on receiving bytes

Given that currently, gRPC does not currently reset the watchdog timer on receiving bytes, it might make sense to write some application level logic to mimic pings.

@yashykt you're probably right. Here is part of my log (keepalive_time_ms and keepalive_timeout_ms set to 3000):

16:04:48.480217 tcp_windows.cc:253: win_read
16:04:51.479674 writing.cc:125: CLIENT: Ping sent
16:04:51.479826 chttp2_transport.cc:2823: Start keepalive ping
16:04:54.324056 tcp_windows.cc:216: READ
16:04:54.328248 chttp2_transport.cc:798 state WRITING -> IDLE [finish writing]
16:04:54.479675 Keepalive watchdog fired. Closing transport.

So  at 16:04:51.47 we sent ping, at 16:04:54.32 we received the data and right after that watchdog was fired.
Is there a chance that this will be corrected?
I think that:
grpc_timer_cancel(&t->keepalive_watchdog_timer);
chttp2_transport line 2574 would solve the problem.
Unfortunately I don't have a C ++ environment ready to compile and check this patch.

@Green7 I'll put it in my queue :)

@yashykt thank you :) I'm waiting for the update.

@yashykt Any progress ?

It'll probably be after I am able to merge in https://github.com/grpc/grpc/pull/23313

would be great.

@yashykt @Green7 what is the latest on the attempt to reset the watchdog timer when any data is received.

I just checked my test app with the latest C# version (2.34.0) and problem still exist. From what I can see (I'm not 100% sure)  there are no code changes in chttp2_transport for solving this problem.
@yashykt please could you say something about it?

I'm sorry for the delay. This item keeps getting pushed back. At this point, it might be better for someone else to jump in on this.
FYI, on reading https://github.com/grpc/proposal/blob/master/A8-client-side-keepalive.md, the original algorithm does not specify resetting the timeout on receiving bytes as an optimization, so it might be something that needs to be discussed with other languages too.
Also, to be clear, gRPC Core's implementation already follows the guidance of the keepalive timer being measured from the last byte read. Resetting the keepalive timer should be sufficient to deal with slow connections. If the round trip latency itself is a problem here, then we can simply increase the keepalive timer period.
(Note that I'm not arguing against resetting the watchdog timer. I'm simply noting that the problem that we are trying to solve in this case seems to be better solved by just increasing the timer period.)

(Note that I'm not arguing against resetting the watchdog timer. I'm simply noting that the problem that we are trying to solve in this case seems to be better solved by just increasing the timer period.)

As I wrote before: Increasing timer period does not solve the problem. In my application I need to detect disconnected connections as soon as possible. If I increase timer period, the disconnection detection time also will increase  :(

How is this kept closed? even if the issue persists. I just get it with slow network connections. very strange...

Is there workaround for this issue?

@Green7 how did you solve an issue? Patched with your changes?
@yashykt if no fix is planned, can you please expose some API allowing cancelling watchdog timer periodically while data is transmitted over slow network?

@ElderOrb Unfortunately, I didn't find a solution. I chose the period timer to work as best as possible. I haven't checked the changes in the sources, maybe something has been improved?

@ElderOrb Unfortunately, I didn't find a solution. I chose the period timer to work as best as possible. I haven't checked the changes in the sources, maybe something has been improved?

Tried most recent version available via nuget - still same issue. Thinking about switching to streaming call and pass file in chunks - maybe it will make keepalive timer to behave properly..


Problem about

Hi I was trying to create the .CTensor file using the command provided in wiki, but for some reason my files cannot be read properly. Attached is a screenshot of the error, and a screenshot of the text files of image and label names. Could you please help me with it? What might the potential errors be? Thanks!

Hi,
could you attach your cmake output? It looks like it didn't find libjpeg
and/or libpng.
Thanks!
Clemens
yc67<EMAIL_ADDRESS>schrieb am Sa., 26. Nov. 2016, 08:15:

Hi I was trying to create the .CTensor file using the command provided in
wiki, but for some reason my files cannot be read properly. Attached is a
screenshot of the error, and a screenshot of the text files of image and
label names. Could you please help me with it? What might the potential
errors be? Thanks!
[image: 2016-11-26 1 12 21]
https://cloud.githubusercontent.com/assets/23995909/20638754/963dc604-b375-11e6-9318-9eea995823a9.png
[image: 2016-11-26 1 14 20]
https://cloud.githubusercontent.com/assets/23995909/20638760/bd2aea1c-b375-11e6-8d0f-0d62110bc09b.png
[image: 2016-11-26 1 14 38]
https://cloud.githubusercontent.com/assets/23995909/20638761/becd8c80-b375-11e6-82a4-c2f440a4eea2.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cvjena/cn24/issues/49, or mute the thread
https://github.com/notifications/unsubscribe-auth/AEeWtKn7Qmzj8SWwQEP1oAoNfPfYuCLkks5rB9xzgaJpZM4K81F_
.

Hi, my cmake output is a long list of words and would be quite hard to read. I made sure that I had the libjpeg and libpng activated at the command "ccmake .". Also, when I tried to run the .CTensor command line with one single image, it prints no error, as shown in the attachment.
Thanks!

Here is a screenshot of part of my cmake output. Thanks!


Carrie banner and links

@tarjelavik I think these changes are working ok. The hyperlink in the banner didn't really look like a link, so I have added "click here", unless there is a better way of going around it?

@tarjelavik kan jeg merge den nå eller ønsket du å gjøre noe mer?

Bare merge. Må lage en komponent for lenke i banner. Tar det i egen sak.


Add option for always visible action buttons in side panels.

Fixes #37714 by adding a settings config option to keep side menu title bar action buttons visible whenever their panel is expanded.

@JacksonKearl Great job. Yeah, unfortunately there's no way to get around touching all those subclasses. I took care of the merge conflicts and did minor refactoring in the PanelViewlet. Thanks! 🍻

Renamed setting to workbench.view.alwaysShowHeaderActions. https://github.com/Microsoft/vscode/issues/44044


Firebase data is received in iOS simulator and some devices, but NOT on others ?

hi, another seeming showstopper.
Has anyone seen this issue, where the Firestack (Firebase) iOS lib runs perfectly fine on simulator and fine on some iOS devices, but receives no data at all on other iOS (real) devices ?

Yes! I saw this.


Add harvey t47

thanks @Harveyt47 I will close this PR so it doesn't get merged with the other files getting changed.


fix typo error in the Adding a new test section

While you're at it, can you also fix the typo in the link under "Test preprocessor" as well?

While you're at it, can you also fix the typo in the link under "Testing preprocessor" as well?

I added it, but I'll combine commits and add some conventional commits
(I'll make new pr for it)


Spike: Embedding Google Form QT onto the platform - technical discussion

Meeting arranged for Thursday :+1:


Exception: KeyError: 'donut'

Hello, first of all I would like to thank you for your fantastic work!
I run the RetinaNet object detection model in Google Colab to detect persons only:
detector = ObjectDetection()
detector.setModelTypeAsRetinaNet()
detector.setModelPath( "drive/My Drive/Instagram/00_Models/resnet50_coco_best_v2.0.1.h5")
detector.loadModel()
custom_objects = detector.CustomObjects(person=True)

and
detections = detector.detectCustomObjectsFromImage(custom_objects=custom_objects, input_image = input_path, output_image_path = output_path, minimum_percentage_probability = 20)
This worked perfectly fine until I tried to detect people on this picture.
This is the error message I get:

KeyError: 'donut'
During handling of the above exception, another exception occurred:
ValueError                                Traceback (most recent call last)
 in ()
12   os.makedirs("drive/My Drive/Instagram/02_Boxed/" + bild_liste[0].split("/")[-2] + "/", exist_ok=True)
---> 13   detections = detector.detectCustomObjectsFromImage(custom_objects=custom_objects, input_image = input_path, output_image_path = output_path, minimum_percentage_probability = 20)

Interestingly enough, everything works fine if i'm trying to perform object detection with numpy array output:
_ ,detections = detector.detectCustomObjectsFromImage(custom_objects=custom_objects, input_image = input_path, output_type="array")
Is it possible that there is a spelling mistake in RetinaNets object types? Should it be called "donot" instead of "donut"?

Yes it is a spelling mistake. You can correct the typo in your installation of ImageAI by editing the code base of the installation.

Also see #114

can pull this fix: https://github.com/OlafenwaMoses/ImageAI/pull/69


How to integrate useForm and useUndoable?

Does the following code work? like https://mantine.dev/form/use-form/
There's a bug in the way it works.

redo undo -> useEffect form.values -> setCount //  cause rerender
redo , has bug

  const form = useForm({
    initialValues: initialValues,
  })

const [count, setCount, { undo, redo, past, canRedo, canUndo, future }] =
    useUndoable(initialValues)

  useEffect(() => {
    setCount(form.values)
    console.log('form.values', form.values)
  }, [form.values])

  console.log('当前values', form.values)

  const onUndo = () => {
    if (!canUndo) return
    const nextState = past.at(-1)
    if (!nextState) return

    undo()
    console.log('onUndo', nextState)

    form.setValues(nextState)
  }
  console.log('past', past)

  console.log('future', future)

  const onRedo = () => {
    if (!canRedo) return
    const nextState = future.at(-1)
    if (!nextState) return
    redo()

    form.setValues(nextState)
  }

https://github.com/xplato/useUndoable/assets/124666577/3459b78a-54d8-4b11-8b08-0cf4d14a7dc0

Hi @vaynevayne! I apologize for the delay in my getting to this issue. Would you possibly be able to create a Codesandbox (or alternative) so that I can debug this?
Off the top of my head, I'd say this could potentially be problematic due to to multiple state instances being used (useUndoable as one, useForm as the other). There's a bit more info in the README in the React Flow section: https://github.com/xplato/useUndoable#integration-with-react-flow-v10

Closing due to inactivity


Hit Test Redesign + new Input

Sample
Hit Test
Summary

Add support for Enhanced Input System
Change key binding from Left Mouse Click to Left Shift + Left Mouse Click
Change UI Instructions
Add Standalone Blueprint that can be added into any scene.
Update Readme

Tests
Windows
ArcGIS Maps SDK Version
Maps SDK 1.4 w/ UE 5.0

Forgot to upload an image to show the variables. So that is there now and changed some wording based on that.


HTML view appears to leak comment

Description
The text selected does not appear in the generated PDF and appears to be not intended to be included in the paper. Might be related to the missing support for package inconsolata.
(Optional:) Please add any files, screenshots, or other information here.

(Required) What is this issue most closely related to? Select one.
Formula
Internal issue ID
35c8ec76-497b-4468-a297-76ab2b705ac3
Paper URL
https://browse.arxiv.org/html/2312.17249v1
Browser
Firefox/121.0
Device Type
Android

That is unfortunate.
The authors rely on an internal macro from todonotes.sty which isn't yet emulated in latexml:
\usepackage[disable]{todonotes}  %
\makeatletter
\newcommand*\iftodonotes{\if@todonotes@disabled\expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi}  %
\makeatother

the latexml binding needs \if@todonotes@disabled connected to the disable package option to get this correctly. Should be an easy fix.


Crashes on 1.19.3 in dev

MidnightLib: 1.1.0
Minecraft: 1.19.3
Quilt Loader: 0.18.1-beta.64
QFAPI: 5.0.0-beta.4+0.73.0

Just replaced the file on modrinth with a fixed version, since this doesn't affect users.
Clean your gradle cache and reload gradle to receive the fix.
Sorry for the long delay.