One volume broke?

System Setup
Master:
./weed master -ip=chi-hp-goliath3 -defaultReplication=002 -metrics.address=chi-hp-db4:9091
Volumes:
./weed -logdir=./logs/ volume -dir=data -max=100 -mserver=chi-hp-goliath3:9333 -ip=chi-hp-weed1 -port=8883 -index=leveldb
./weed -logdir=./logs/ volume -dir=data -max=100 -mserver=chi-hp-goliath3:9333 -ip=chi-hp-weed2 -port=8883 -index=leveldb
./weed -logdir=./logs/ volume -dir=data -max=100 -mserver=chi-hp-goliath3:9333 -ip=chi-hp-weed3 -port=8883 -index=leveldb

OS version:  Centos 7
output of `weed version: version 30GB 1.41 linux amd64

*The issue
One specific volume (volume 14) seems to have corrupted. When running the HTTP GET on FIDs for that volume, Seaweed returns an empty byte array and outputs "read /fid isNormalVolume true error: not found" on the voume server console.
This is a screen of when the corruption seems to have taken place (seems to be during a commit):

On the commit after that, there was an "error writing JSON", commited volume 14 and started erroring out with isNormalVolume true error...

We replaced the broken volume with a backup in order to fix the issue. We tried loading volume 14 on a different environment without replication and it had the same behavior (empty gets) as production. We also tried deleting the ldb folder to regenerate it but it was still returning
empty files and erroring.
Here is the ldb folder zipped: 14.zip
Here is the idx: prod14idx.zip
The data is around 24GB so not pratical to share here.
We also noticed that memory usage on the volume machines changed pattern when the incident happened:

Please let us know any more information you need.

It appears the file load fine but fail to save. Here's the .toString() of the save request for the http client we're using:
Response{protocol=http/1.1, code=500, message=Internal Server Error, url=http://chi-hp-weed1:8883/14,21b2ee4a43dc0d}

Try to use weed fix to re-generate the idx files.

We ran weed fix on volume 14, ran with a single volume server (all other volume servers offline) and it still returns a 500 Internal Server error.

the idx file content shows the keys do not exist. So the idx and level db index is behaving correctly. You can verify that with see_idx command in the unmaintained folder.

For a more actionable case, on a different volume (volume 12), we have some cases of files which are present in both the see_data and the see_idx, but seaweed still returns 404.
For example fid 12,296b6099cc92eb:
see_dat_12.txt
12,296b6099cc92eb offset<PHONE_NUMBER>0 size 133768 cookie 99cc92eb appendedAt 2019-09-28 17:48:02.058541505 -0400 EDT
see_idx_12.txt
key:296b60 offset:2322731860 size:133768
Gameserver logs:
[11:17:47 INFO]: [GameManager] Received world creation request for sb_dyn_nosave_92d940ad-10e8-4d9d-a795-adcf5fd6b0c6...
[11:17:47 INFO]: [GameManager] Loading world sb_dyn_nosave_92d940ad-10e8-4d9d-a795-adcf5fd6b0c6 from seaweed with fid 12,296b6099cc92eb...
[11:17:47 INFO]: [GameManager] [SeaweedFS] Picked volume url chi-hp-weed1:8883 for fid 12,296b6099cc92eb
[11:17:47 INFO]: [GameManager] [SeaweedFS] readFileAsync res Response{protocol=http/1.1, code=404, message=Not Found, url=http://chi-hp-weed1:8883/12,296b6099cc92eb}
 -- exception excluded --
[11:17:47 ERROR]: [GameManager] Specworld boot failure for Minikloon to 92d940ad-10e8-4d9d-a795-adcf5fd6b0c6, error: ERROR_ON_GAMESERVER

You can see above the 404 returned.
seaweedfs logs
I1001 11:17:47 25996 volume_server_handlers_read.go:92] read /12,296b6099cc92eb isNormalVolume true error: entry not found: offset 6407560 found id<PHONE_NUMBER>0293054064 size<PHONE_NUMBER>, expected size 132230
The .dat for volume 12 seems to be maxed out, the OS reporting 34,392,304 btes on it. see_dat doesn't error out for that volume.

The root problem is that the fileId is assigned once and used many times to update. It's recommended that whenever to update anything, assign a new file id and delete the old file id.

The root problem is that the fileId is assigned once and used many times to update. It's recommended that whenever to update anything, assign a new file id and delete the old file id.

@chrislusf , But as I can see, in filer mode, if we save to a exists entry, it just update it other than delete it then assign a new file id.
weed/filer2/filer.go: UpdateEntry
f.store.UpdateEntry(ctx, entry)
So us also encounter same file not found error, and it need manually run "weed fix" to fix it.
Any idea to automatic detect this error and run weed fix automatically?

@bash99 The chunks are assigned to new file id before UpdateEntry
Need a reproducible case.


Fix Fr Traduction for Tsukuyomi

Thanks for this pull request, but this just got finished by @mooondark in #154, which is why you're conflicting.  If you're looking to do more French translations, you might want to coordinate with them so you don't step on each other's toes.


retrying_file_system does not use exponential backoff

In tensorflow-0.10.0rc0/tensorflow/core/platform/cloud/retrying_file_system.cc,
the retry logic does not insert a delay between successive attempts.
Status CallWithRetries(const std::function<Status()>& f) {
int attempts = 0;
while (true) {
attempts++;
auto status = f();
if (!IsRetriable(status) || attempts >= kMaxAttempts) {
return status;
}
LOG(ERROR) << "The operation resulted in an error and will be retried: "
<< status.ToString();
}
}

Yes-  this retry logic does look pretty basic.
@davidj-github  Could you please explain a bit more about the problem you are having.
@rinugun  Is there another backoff mechanism at a lower level (e.g. in an RPC layer?) or does this just retry 4 times without sleeping?

I was reviewing the code and noticed that it does not conform to Google's recommendation to insert a delay between retries.

@davidj-github I agree this is not usually very desirable behavior.  If it's not causing you an immediate problem, then I assume there's no great urgency here?  I'll let the authors of this module comment further.

That's correct, there is no backoff, it simply retries 3 times, so that there is at most 4 attempts including the original one.
The underlying layers do not attempt any retries.
The reason for the lack of a backoff was that the actual Google Cloud Storage errors don't require it -- very infrequently GCS can return an internal error for a read or write operation and an immediate retry typically succeeds.
That said, I don't mind having a backoff if it's recommended.

I would like to work on this

Updating CallWithRetries to do exponential backoff #4501 .
Could you all please review?

Schlumberger-Private
The Cloud storage documentation for exponential backoff recommends adding a random term to the sleep time. See https://cloud.google.com/storage/docs/exponential-backoff
From: Balachander Ramachandran<EMAIL_ADDRESS>Sent: Tuesday, September 20, 2016 10:36 PM
To: tensorflow/tensorflow<EMAIL_ADDRESS>Cc: David Judson<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: [Ext] Re: [tensorflow/tensorflow] retrying_file_system does not use exponential backoff (#4066)
Updating CallWithRetries to do exponential backoff #4501https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_tensorflow_tensorflow_pull_4501&d=CwMCaQ&c=uGuXJ43KPkPWEl2imVFDmZQlhQUET7pVRA2PDIOxgqw&r=7r_lgzfgEAaM8ykY8TCz9g&m=1VZnPLf14kYsDIRR9L1U0Fbl0Mf2CCC0FDUL4Im_wcA&s=wMRcLblp4zkClmvOBbhBMqSZyuKK3CXrbBaX9p43BoE&e= .
Could you all please review?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_tensorflow_tensorflow_issues_4066-23issuecomment-2D248502364&d=CwMCaQ&c=uGuXJ43KPkPWEl2imVFDmZQlhQUET7pVRA2PDIOxgqw&r=7r_lgzfgEAaM8ykY8TCz9g&m=1VZnPLf14kYsDIRR9L1U0Fbl0Mf2CCC0FDUL4Im_wcA&s=XxeUsnSilLQMvLPmR3DAa1j5359E7fWd_Vx0QCxcml0&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_ATdHG-5F0xVwTbyWpqRS5JI4Z1fpiVkVvMks5qsKYmgaJpZM4JuaF2&d=CwMCaQ&c=uGuXJ43KPkPWEl2imVFDmZQlhQUET7pVRA2PDIOxgqw&r=7r_lgzfgEAaM8ykY8TCz9g&m=1VZnPLf14kYsDIRR9L1U0Fbl0Mf2CCC0FDUL4Im_wcA&s=2LRsfLEwulq84LcMiXDzcqj-icQnZwIhsDCmZyjiQ8Y&e=.

@davidj-github @rinugun
Proposed changes to incorporate the above random sleep for milliseconds
#include <chrono>
#include <random>
#include <thread>

void WaitBeforeRetry(const int delay_seconds) {
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> dist(1, 1000);

    const int delay_milliseconds = delay_seconds * 1000;
    const int random_milliseconds = dist(gen);
    const int delay = std::min(delay_to_milliseconds + random_milliseconds,
                                                kMaximumBackoffSeconds);

    std::this_thread::sleep_for(std::chrono::milliseconds(delay));
}

Status CallWithRetries(const std::function<Status()>& f,
                       const int initial_delay_seconds) {
  int retries = 0;
  while (true) {
    auto status = f();
    if (!IsRetriable(status) || retries >= kMaxRetries) {
      return status;
    }
    LOG(ERROR) << "The operation resulted in an error and will be retried: "
               << status.ToString();
    WaitBeforeRetry(initial_delay_seconds << retries);
    retries++;
  }
}

@davidj-github @rinugun @prb12 what do you guys think?

I'm curious, is random delay better than the fixed delay that was
implemented in https://github.com/tensorflow/tensorflow/pull/4501? The
random sub-second sleep seems to be adding a particular complexity to the
retry logic, I wonder if this is justified and what the expected wins are.
On Sat, Sep 24, 2016 at 6:43 PM, Balachander Ramachandran <
<EMAIL_ADDRESS>wrote:

@davidj-github https://github.com/davidj-github @rinugun
https://github.com/rinugun @prb12 https://github.com/prb12 what do
you guys think?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/4066#issuecomment-249397475,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABnZstqsh-CSWZmdEk4EI9lQ0CKYIw1Zks5qtdHYgaJpZM4JuaF2
.

From the Google Cloud storage documentation -

random_number_milliseconds is a random number of milliseconds less than or equal to 1000. This helps to avoid cases where many clients get synchronized by some situation and all retry at once, sending requests in synchronized waves. The value of random_number_milliseconds is recalculated after each retry request.

I could only find this text in Google Analytics docs (
https://developers.google.com/analytics/devguides/reporting/core/v4/errors),
is that also mentioned somewhere for the Google Cloud Storage docs?
Anyways, I agree that it might be potentially useful. I have a few comments
re the code snippet:

not sure  is supported in the TF code, but you could use
Env::Default()->SleepForMilliseconds() from env.h instead
other minor comments, probably could be discussed during a code review

Thanks
Alex
On Sat, Sep 24, 2016 at 8:38 PM, Balachander Ramachandran <
<EMAIL_ADDRESS>wrote:

From the Google Cloud storage documentation -
random_number_milliseconds is a random number of milliseconds less than or
equal to 1000. This helps to avoid cases where many clients get
synchronized by some situation and all retry at once, sending requests in
synchronized waves. The value of random_number_milliseconds is recalculated
after each retry request.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/4066#issuecomment-249400674,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABnZsg-D-NAn5ghCaT9yHj-szBG8u23Sks5qtey6gaJpZM4JuaF2
.

It is documented here - https://cloud.google.com/storage/docs/exponential-backoff

@davidj-github @rinugun @prb12 have updated the PR(#4501) to include the random millisecond delay. Please review!

shouldnt this be marked closed?


Can you add a player tracking system?

Maybe this https://github.com/PichotM/pTracker

There will be something like that.
It will be integrated with the ban/whitelist system.

Whitelist system is fantastic if the discord is compatible. Even now it's great.


Added 2103C Language Pack link

Added 2103C Language Pack link (https://software-download.microsoft.com/download/pr/LanguageExperiencePack.2103C.iso)

Hi @pietermsft - This pull request was opened in the public repo. PMs should work in the private repo, per the Microsoft Docs contributor guide. It looks like you have worked in the private repo before. Would you make this content update in the private repo, also? Thank you! We'll close this PR.


postgres node should have configuration support to accomodate key and certificate

I need to connect to my postgres database with postgres using certificate and key.
Something like this.
psql -U postgres -h 10.x.x.x "sslmode=require sslcert=/test/secure/x509/certs/postgres.cert sslkey=/test/secure/x509/keys/postgres.key.pem"
I donot know if current postgres node has this capablity?
How can I achieve this capability using node-red postgres node.
If not, can we get this configuration supported to pass certificate and key values.

Hi, thanks for raising an issue. The issue template you have ignored describes our contribution process. This repo is for the core of node-red, not 3rd-party nodes.
If you check out our contribution guidelines you'll see we prefer to handle this sort of thing on the forum or slack team. If its a general how-to type question, you could ask a question on Stack Overflow and tag it node-red.
This allows the whole Node-RED user community to help, rather than rely on the core development team.
Thanks!

As per the template you have deleted please raise requests and ideas for enhancements via the discourse forum or slack channels (links in the template).
Which node is this referring to ? As it is not one of the nodes in the core of Node-RED this is not the issue list it should be reported on. Please raise the issue on the appropriate git project - or ask on the discourse forum for guidance where that may be.

Thanks for the quick response, its referring to node-red.
I am using postgres node to connect to my postgres database using certificate and key.
Nodered version used is v.0.20.5.

Just to be clear - this is not the right place to get support on this issue. Please use the links I provided above.


[Direct Line] Post Activity does not work with long ID string?

System Information

SDK Language: .NET, Node.js and REST

Bot Info

Bot name: BotUnderTest
Bot handle: test_autobot
App ID: 7245165b-6994-405a-9808-41831260a39b
Connected channels: Direct Line, Skype, Web Chat

Issue Description
I have created a bot and enabled Direct Line, Skype channels for it. When we send Direct Line V3 Post Activity Request to this bot, it should return ActivityID if request is successful. But when I send Post Activity Request with {"from":{"id": "29:1aEE-Lh9aHoASsa6UkOISDj7etmVA_MP5zKzVHsghq55UZsotTmrANA9xLOf2yd4I"}}, it returns message "Invalid from field".  Here is my direct line post activity request-response,
Request,
Request Type: POST
URL: https://directline.botframework.com/v3/directline/conversations/DxX3iQ547YW8FOk75tPWnD/activities
Headers:
Accept: application/json, text/json, text/html
Content-Type: application/json
Authorization: Bearer EPcHCXu9oag.dAA.RAB4AFgAMwBpAFEANQA0ADcAWQBXADgARgBPAGsANwA1AHQAUABXAG4ARAA.xy-uuBob0wE.52ianqKphVk.GgCTY5RDrVl5ykSDqAPmFBBebclCRtcXNyM5HlVvDxQ
Body JSON payload (raw):
{"type":"message","textFormat":"plain","text":"Hi","from":{"id": "29:1aEE-Lh9aHoASsa6UkOISDj7etmVA_MP5zKzVHsghq55UZsotTmrANA9xLOf2yd4I","name":"TestUser"}}
Response,
Status: 400 Bad Request
Body: { "error": { "code": "MissingProperty", "message": "Invalid 'from' field" } }
But if we remove any 4 characters from id field in Body Payload (e.g. last 4 characters) and make request with {"from":{"id": "29:1aEE-Lh9aHoASsa6UkOISDj7etmVA_MP5zKzVHsghq55UZsotTmrANA9xLOf2"}}, then it will make successful post activity request and returns ActivityID in response. Here is the successful request-response,
Request,
Body JSON payload (raw):
{"type":"message","textFormat":"plain","text":"Hi","from":{"id": "29:1aEE-Lh9aHoASsa6UkOISDj7etmVA_MP5zKzVHsghq55UZsotTmrANA9xLOf2","name":"TestUser"}}
Response,
Status: 200 OK
Body: { "id": "6KfPYl7Xc4Y73iQkHjwD9i|0000001" }
Direct Line post activity request should work even with long id string. id string used in above request is generated from Skype channel But it should also work with Direct Line Request. As per my observation, this is the problem of length id string that we are sending in body payload.
Direct Line Documentation for Post Activity,
https://docs.microsoft.com/en-us/bot-framework/rest-api/bot-framework-rest-direct-line-3-0-send-activity
You can also use these samples to reproduce,
https://github.com/Microsoft/BotBuilder-Samples/tree/master/Node/core-DirectLine
https://github.com/Microsoft/BotBuilder-Samples/tree/master/Node/core-DirectLineWebSockets
Steps to Reproduce the Issue

You can send POST request as mentioned above in PostMan tool or make request in these direct line sample for your own bot.
To make request you need conversationID and Authorization token that you can generate by enabling direct line for your bot and follow this direct line sample.

Expected Behavior
Direct Line Post Activity Request should work with id as mentioned above and it should return ActivityID in response.
Actual Results
Direct Line Post Activity Request returns bad request and invalid from field when we use id as mentioned above.

@nwhitmont : I am also facing same issue. is it fixed?

The reason here is because the from.id in your example is 68 characters, and the limit is 64 bit value encoded (see comment in #306)


TRSv2-519: DAC link to first error

Codecov Report
Patch and project coverage have no change.

Comparison is base (893854f) 42.92% compared to head (9ff1136) 42.92%.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #334   +/-   ##
========================================
  Coverage    42.92%   42.92%
========================================
  Files           97       97
  Lines         5848     5848
  Branches       677      677
========================================
  Hits          2510     2510
  Misses        3338     3338

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


About the installation

Hey,
I have tried the github way of installing repositories:
python setup.py install
it says installed but i cannot import :
import devol
It says:
ImportError: No module named 'devol'
when trying to execute the demo notebook
What could be going wrong?

I think I've fixed the issue, it was an error on our side with the code, I've forked the repo and I'm just running a 2 generation test, if all goes well I'll create a pull request and this will be fixed. The test run should finish in about 40 minutes.

I have the same issue. I am using Google Colaboratory and I got Import errors No module named devol using Python2  and cannot import name 'DEvol' using Python3.

Are you sure you're using the correct installations of python/pip? Does pip show devol show anything?


Testing support for ApolloClient

@digitalbuddha on slack suggested something like this:
MockApolloClient.addResponse(jsonStream).build()
Instead of pulling in Json from other graphql tools it would be nice if we can feed the response directly into the apolloClient who can then return mock responses.

I guess we should take a look at https://github.com/square/retrofit/tree/master/retrofit-mock

I'm not sure if that is right pattern. Retrofit uses proxy methods to
implement an interface. Okhttp does not have that same setup. Maybe
something there though...
On Apr 18, 2017 5:26 PM, "Ivan Savytskyi"<EMAIL_ADDRESS>wrote:

I guess we should take a look at https://github.com/square/
retrofit/tree/master/retrofit-mock
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apollographql/apollo-android/issues/430#issuecomment-294987424,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEUX3It5X09sfAUNkey-gpyGf0XSfa5Cks5rxSp0gaJpZM4NAOeW
.

Why not using: https://github.com/square/okhttp/tree/master/mockwebserver ?
( we prefer WireMock but it's heavier )

That's what we're doing now but it would be nice to have first class
testing support for stunning responses.
On Jul 31, 2017 8:37 AM, "Cristian Garcia"<EMAIL_ADDRESS>wrote:

Why not using: https://github.com/square/okhttp/tree/master/mockwebserver
?
( we prefer WireMock but it's heavier )
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apollographql/apollo-android/issues/430#issuecomment-319054914,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEUX3FST6Uz__fazCif-YFl_PFfA1d9gks5sTcqYgaJpZM4NAOeW
.

Any updates on how we can do this? I've been trying to find a way to stub responses with mockito and a JSON file I've saved but I can't quite pull this off. I could try MockWebServer but I agree some more first class support for stubbing would be nice.

I suppose without the JSON file this is helpful: https://github.com/apollographql/apollo-android/issues/678


Add NavigationExperimental to UIExplorer on Android too

@facebook-github-bot shipit

On master there seem to be 2 NavigationExperimental examples in UIExplorer.
Also @ericvicenti The appbar doesn't have a different styling on Android. Is it intentional?

I haven't had time to fix the NavigationHeader styles for Android, plus people may decide to use ToolbarAndroid instead

merged


[style](runtime filter)  Some minor update in the runtime filter.

Proposed changes
Issue Number: close #xxx

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

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 51.54 seconds
stream load tsv:          504 seconds loaded<PHONE_NUMBER>9 Bytes, about 141 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          28.9 seconds inserted 10000000 Rows, about 346K ops/s
storage size:<PHONE_NUMBER>3 Bytes


feat(slack): improve slack notification (use blocks)

Minor updates to slack notification, self merge


Batch rework

Batches now use completable futures.

What's the performance impact of this pr? i.e. does it improve or degrade?
Also instead of a long getLastBlockChangeTime why not use a hash instead?
Could be something like int getBlockHash or void blockHash(MessageDigest).
If all we need to know is that the blocks have changed, a hash tells that, and there won't be issues with placing a block back after it being broken within the same tick for example.

I haven't benchmarked it yet because I'm a bit busy, but I expect performance to degrade slightly. Partially because it will actually try to send light updates now, and partially because AbsoluteBlockBatch uses one CompletableFuture in a way that doesn't quite sit right with me.


Improved the description meta tag for index.html

Improved the description meta tag
fixed issue #1387

Issue:

Great thank you!
@all-contributors please add @aaroosh-07 for code


[Bug] The mapping task cannot be cancel

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
First, I re-associated a lost flink task to the streampark platform via the maping function, then when I clicked cancel, I found that the task was not canceled and the status of streampark changed from running to failed
StreamPark Version
2.0.0
Java Version
No response
Flink Version
1.4.5
Scala Version of Flink
2.11
Error Exception
null

Screenshots
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@MonsterChenzhuo  thanks a lot for your feedback,  I will take a look asap.

@MonsterChenzhuo  Is the missing flink task generated by streampark or a flink task submitted manually？


Make Foundation.Data ResponseRepresentable

This extension allows Bytes data like mysql blob to be ResponseRepresentable, so that stored data like images or audio files can be served as binary file.

Sorry fixed spacing.

thanks :)


More succint use of Try

Thanks for your time @oranda, looks good to me! @raulraja do you consider it better style? If so I can merge it.

Yes, LGTM


[Improvement] Improve script update-java-doc-version.sh to support modify python doc and other version change.

What would you like to be improved?
It's known that update-java-doc-version.sh only support changed java document version, according to https://github.com/apache/gravitino/pull/5405, more are needed to change when upgrading the Gravitino version, so we ought to change the script to adapt to the requirement.
How should we improve?
No response

What other information needs to be changed? I run the script and only the following files were changed

index.md;
manage-relational-metadata-using-gravitino.md

for more, please see the changes in #5405  @Abyss-lord


Add test for support of union with consistent type as extensible enum

In particular this:
union KnownErrorCode {
  // This is not found
  "NotFound",
  InvalidName: "Invalid",
  string
}

should generate an extensible enum once https://github.com/Azure/typespec-azure/issues/3813 is done.
Was discussed with @johanste and @bterlson
Full picture on Loop

I have a pr in progress redesigning the unions test cases #429 this should be covered there


installation: use of /usr/sbin/service

BETTER Uses /usr/sbin/service foo consistently everywhere to restart
daemons instead of deprecated /etc/init.d/foo.

This fixes some troubles seen on Travis CI in higher maint-1.2
branches.

Signed-off-by: Tibor Simko<EMAIL_ADDRESS>

LGTM


kernel: Unitialized memory usage during init

Describe the bug
During initialization the kernel is using un-initialized memory (the used area seems to be stack in z_cstart() dummy_thread). See valgrind's log below.
The error was discovered investigating a newly appeared (after a rebase) random crash which is difficult to reproduce.
To Reproduce
Steps to reproduce the behavior:

mkdir build; cd build
cmake ../samples/hello_world/ -DBOARD=native_posix -GNinja
ninja
valgrind --track-origins=yes zephyr/zephyr.exe
see error report
Press Ctrl+C

Expected behavior
No un-initalized memory usage by the kernel.
Impact
Unknown.
Logs and console output
==1421238== Thread 2:
==1421238== Conditional jump or move depends on uninitialised value(s)
==1421238==    at 0x830A355: sliceable (sched.c:447)
==1421238==    by 0x830A705: z_reset_time_slice (sched.c:477)
==1421238==    by 0x830A8AB: k_sched_time_slice_set (sched.c:494)
==1421238==    by 0x830CA44: z_sched_init (sched.c:1319)
==1421238==    by 0x82FDEFF: prepare_multithreading (init.c:409)
==1421238==    by 0x82FE1DA: z_cstart (init.c:549)
..
==1421238==  Uninitialised value was created by a stack allocation
==1421238==    at 0x82FE08A: z_cstart (init.c:508)
==1421238==

Environment (please complete the following information):

OS: Linux
Toolchain: gcc 11.3.0
Commit SHA or Version used: 14d59b3b56a04376f4cab8e77ae010cca56d2b9b (todays main)

CC @andyross @ceolin @npitre

The issue was introduced by 5879d2d6c174509c3d569b05eddab68c31d3634d


How to abort loading

Help Request/Question
Hi! I populate grid from server response through ajax request. It can be that this operation is very slow and the user wants to abort it (does not want to wait the response).
Is it possible to abort loading procedure on the grid? Because now if I abort the ajax request the grid is stays at loading state (masked and loading... message).
Thank you for your help in advance.
Best regards,
Rómeó Nagy

Ok, I found a solution.
In the controller need to handle fail branch because in case of abort, jQuery goes toward to the error handler with a message of "abort".
loadData: function(filter) {
...
var data = $.Deferred();
$.when($.ajax(...)).then(function(response) { // DONE
data.resolve(response);
...
}, function(error) { // ERROR
var message = getErrorMessage(error);
if (message === "abort") {
data.resolve([]);
...
}
});
return data.promise();
}
So basically when abort happened we resolve the data with empty array which results an empty grid.


How is the URL formed when clicking CTRL + S on Typescript Playground

Hello All. Does anyone know what library or package is used to compress and persist all information in the current playground code into the encoded link?

I go to https://www.typescriptlang.org/play (which I use almost every single day and I LOVE it)
test some stuff out
CTRL + S

Now I see the URL is updated with all the information encoded and probably compressed as well. For example https://www.typescriptlang.org/play?#code/MYewdgziA2CmB00QHMAUByAFraSAEAZgE4gC2eALtniFbEXhAJYAms6AlANxA
My question is, how exactly is this happening Is it custom compression logic or any library is used to achieve it? I have a similar requirement and would love to know how this is achieved. Thanks in advance.

https://github.com/microsoft/TypeScript-Website/blob/0995425273ba42a547f5952de1f4ef93fc5b1dfb/packages/playground-handbook/copy/en/URL Structure.md?plain=1#L11

That's awesome thank you.


Fix rosa failure to edit scaling machinepool

Closes #821
ROSA v1.2.40 is now available, so we should be able to use the latest release once again.

@ryanemerson just checking in to see, if this was working for you in a workflow run.

I had just tested manually before, but here's a :green_circle: run: https://github.com/ryanemerson/keycloak-benchmark/actions/runs/9512954085


cached_property is called when importing library

RobotFramework incorrectly calls cached_property when importing a Python library using the cached_property method.
I found a previous issue on this topic, #4838, and it seems that the issue has been solved in 6.1.1. But in fact, the issue still exists. Please check the following steps, explanations, and suggestions.
Steps:

Python version 3.11.6
RobotFramework version is 6.1.1.
Create a python file named test.py as below, two methods decorated by cached_property, one will print some message, and the other will raise a RuntimeError.

from functools import cached_property

class TestCached:
    @cached_property
    def cached_property_with_print(self):
        print(f"This is in cached_property_with_print")

    @cached_property
    def cached_property_with_error(self):
        raise RuntimeError("This is in cached_property_with_error")

Create a robot file named test.robot as below, using the Import Library to import test.TestCached class.

*** Settings ***
Documentation       demo cached_property issue

*** Test Cases ***
1: import library with cached_property
    Import Library    test.TestCached

Run the test.robot and the console output is shown as below.

==============================================================================
Testcase
==============================================================================
Testcase.Test :: demo cached_property issue
==============================================================================
1: import library with cached_property                                This is in cached_property_with_print
[ WARN ] Imported library 'test.TestCached' contains no keywords.
1: import library with cached_property                                | PASS |
------------------------------------------------------------------------------
Testcase.Test :: demo cached_property issue                           | PASS |
1 test, 1 passed, 0 failed
==============================================================================
Testcase                                                              | PASS |
1 test, 1 passed, 0 failed
==============================================================================

From the console output, the cached_property_with_print was called, but there is no RuntimeError.(This is why issue #4838 was treated as solved)

Explantions:

Check the source code of RobotFramework, file robot.running.testlibraries, line 340-354:

class _ClassLibrary(_BaseTestLibrary):

    def _get_handler_method(self, libinst, name):
        for item in (libinst,) + inspect.getmro(libinst.__class__):
            # `isroutine` is used before `getattr` to avoid calling properties.
            if (name in getattr(item, '__dict__', ())
                    and inspect.isroutine(item.__dict__[name])):
                try:
                    method = getattr(libinst, name)
                except Exception:
                    message, traceback = get_error_details()
                    raise DataError(f'Getting handler method failed: {message}',
                                    traceback)
                return self._validate_handler_method(method)
        raise DataError('Not a method or function.')

The condition if (name in getattr(item, '__dict__', ()) and inspect.isroutine(item.__dict__[name])) cannot filter out the cached_property method. The inspect.isroutine will give True for the cached_property instance. So the cached_property method will be called by line method = getattr(libinst, name). When this line met error, a DataError will be raised to it caller.

Check the source code of RobotFramework, file robot.running.testlibraries, line 271-276:

    def _try_to_get_handler_method(self, libcode, name):
        try:
            return self._get_handler_method(libcode, name)
        except DataError as err:
            self._adding_keyword_failed(name, err, self.get_handler_error_level)
            return None

When the error is raised from line return self._get_handler_method(libcode, name), then the line self._adding_keyword_failed(name, err, self.get_handler_error_level) will be executed. The _adding_keyword_failed will add error message to the syslog file (refer the syslog as below). So there is no error message shown in console output or log file. This is why issue #4838 is considered resolved. In that case, no error raised to console output mislead us.

check syslog:

20231027 22:53:04.080 | DEBUG | Started keyword 'BuiltIn.Import Library'.
20231027 22:53:04.087 | INFO  | Imported library class 'test.TestCached' from 'test.py'.
20231027 22:53:04.090 | INFO  | In library 'test.TestCached': Adding keyword 'cached_property_with_error' failed: Getting handler method failed: This is in cached_property_with_error
20231027 22:53:04.090 | DEBUG | Details:
Traceback (most recent call last):
  File "...functools.py", line 1001, in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
  File "...test.py", line 11, in cached_property_with_error
    raise RuntimeError("This is in cached_property_with_error")
RuntimeError: This is in cached_property_with_error
20231027 22:53:04.090 | INFO  | In library 'test.TestCached': Adding keyword 'cached_property_with_print' failed: Not a method or function.
20231027 22:53:04.090 | INFO  | In library 'test.TestCached': Adding keyword 'property_with_print' failed: Not a method or function.

Suggestions:
For the file robot.running.testlibraries, line 346, and inspect.isroutine(item.__dict__[name])):, add one more condition and callable(item.__dict__[name]). This property and cached_property instance are not callable, so this condition can filter out them. Then the if condition would look like:
if (name in getattr(item, '__dict__', ())
    and inspect.isroutine(item.__dict__[name])
    and callable(item.__dict__[name])):

Hope this issue can be solved and help someone.

Thanks for a report and good example. I should have investigated #4838 in more detail and create a test for cached_property instead of trusting it to be a standard non-data descriptor that we already have tests for. More precisely, the problem is that our tests for non-data descriptors validate that possible errors accessing them are handled properly, when we shouldn't access cached_property the first place. I don't know can we avoid accessing non-data descriptors in general, but cached_property is easy to special case.


Create glow_pcb_8266.yaml

as per Paulus' request not to have Home-Assistant in the name i've given it the following name.  This change is the yaml for the all in one PCB version of Glow running on an ESP8266.

Let's have a talk soon, since there are a lot of changes going on with the project, it might also be a good time to take up the Glow PCB further 😉


Update tags in fn_tutorial.fsm

Q
A

Bug fix?
no

New feature?
no

Needs wipe?
no

Description:

Replace the "KP_liberation_fob_vehicle" found in the lines 494 and 505 for the right variable "KPLIB_param_fobVehicle"

Content:

[ ] Content part

Successfully tested on:

[x] Local MP
[ ] Dedicated MP

Done, I found two more variables in this file. Can u check it again?


Polyfill for Object.assign

I've had another user who wants to Safari to use Sir Trev, so again everything works nicely save for Scribe, which sort of works but then just stops when trying to apply styling.
After having a further nosy around, the devs at Scribe pretty much state no safari, no IE but it to you want to support 'older' browsers then there's a list of polyfills of which currently only Object.assign is listed.
So my thought was if Sir Trev is already using the file input API poly fill, could the Object.assign be added in as well and then harmony across browser could (possibly) be achieved?
I would look further into it but time really isn't on my side at the moment and others might have  better/quicker thoughts on this?

Totally agree. I want IE support. unfortunately it looks like it has to be fixes to scribe rather than only shims.
I'm coming off a project very soon. So going to have some time to finally get 0.6 out and then look at the cross browser approach, as we've currently got a cross browser solution working, but want to improve it a little. I think it'll be some fixes to scribe in a fork, and then a shim js file in sir-trevor dist which is loaded prior to sir-trevor if cross browser is needed. The reasoning for this is
There's a good fork at https://github.com/kencheeto/scribe
I made a fork of some of their changes too, which i'm using successfully in ie11 and other browsers. https://github.com/madebymany/scribe/kencheeto-ie-fixes
0.6 includes this shim. So i'd suggest adding it yourself in the wrapper app for now.
You'll also find scribe has been updated to v3. So it's feels like it's had a spur of interest from within guardian again. One of the changes has been to remove lodash, which will give us a smaller footprint in the future.

Ahh, that'll help since I'm not a great fan of lodash.
(Yes I know I use jQuery but thats about the only library I use, otherwise I'd go mad from trying to learn every single additional library and the mad quirks they have along with another level of abstraction before you give up and make a wonky bodge in javascript..).
Now, if only we could ECMA6 on all browsers........ (though I need to learn more for that too sigh)

Awesome, thanks a lot!


[CB2S] Issue with power readings

hello to everyone, i have a Smart Plug marked Elivco LSPA9, thanks to this website  i know that it has a BL0937 power meter connected with pin 34, 7, 6. I already flashed it with libretuya-esphome and i can turn on/off but i can't read the power meter. This is my yml config if someone could help me
esphome:
  name: elivcolspa9cb2s

libretuya:
  board: cb2s
  framework:
    version: dev

# Enable logging
logger:

# Enable Home Assistant API
api:
  password: ""

ota:
  password: ""

# Enable web server
web_server:
  port: 80

wifi:
  ssid: ""
  password: ""
  manual_ip:
    static_ip: x.x.x.188
    gateway: x.x.x.1
    subnet: x.x.x.0

  # Enable fallback hotspot in case wifi connection fails
  ap:
    ssid: "Elivcolspa9Cb2SFallbackHotspot"
    password: "IHxBKsc7WQM4"

switch:  # the socket relay
  - platform: gpio
    pin: D7
    id: plug_1
    name: 'Plug 1'
    restore_mode: RESTORE_DEFAULT_OFF  # attempt to restore state and default to OFF if not possible to restore

binary_sensor:  # the button
  - platform: gpio
    pin:
      number: D4
      inverted: true
    id: button
    internal: true  # don't expose it to HASS, only use it locally
    on_release:
      then:
        - switch.toggle: plug_1  # toggle the relay

sensor:
  - platform: hlw8012
    model: BL0937  # note that the model must be specified to use special calculation parameters
    voltage_divider: 1600  # adjust it according to the actual resistor values on board
    sel_pin:
      number: D6
      inverted: true  # the logic of BL0937 is opposite from HLW8012
    cf_pin: D1
    cf1_pin: D0
    current:
      name: 'Plug 1 Current'
    voltage:
      name: 'Plug 1 Voltage'
    power:
      name: 'Plug 1 Power'
    energy:
      name: 'Plug 1 Energy'
      # convert it to kWh
      filters:
        - multiply: 0.001
      unit_of_measurement: 'kWh'
      accuracy_decimals: 4
    update_interval: 60s
    change_mode_every: 3

p24 = pin 16 on the BK7231N qfn32 which is virtually mapped to arduino D3 in libretuya.

also p6 and p7 are not D0 and D1
cb2s.json
			},
			"13": {
				"IC": 24,
				"ARD": "D8"
			},
			"14": {
				"IC": 23,
				"ARD": "D9"

There's no pin 34, so I believe this is a typo.
@descipher If you take a look at the docs here, you can see that D0 and D1 are indeed P6 and P7.
Since yesterday, you can actually use the P* pins directly in esphome config (make sure you have the latest commits for both esphome and LibreTuya).

Sorry guys, i don't understand, is there an error in my config? Or this type of power meter is not supported?
Thanks

You can try adding a basic pulse_counter component, and see if it reports anything:
sensor:
  - platform: pulse_counter
    pin:
      number: D0
      mode: input
    name: "D0 Pulse Counter"
    update_interval: 10s
  - platform: pulse_counter
    pin:
      number: D1
      mode: input
    name: "D1 Pulse Counter"
    update_interval: 10s

(adjust the pin numbers as needed)

Tried with your suggests but i receive 0 pulses/min in the two pins, so i think the problem might be in pulse_counter also

Thanks to the help of @catalin2402 i successfully read the current/voltage/power from that BL0937
I will post the updated yaml soon, the trick was to invert cf and cf1 pin

more precise: inverted signal on CF and CF1

Like promised it is the yaml
sensor:
  - platform: hlw8012
    model: BL0937  # note that the model must be specified to use special calculation parameters
    voltage_divider: 780  # adjust it according to the actual resistor values on board
    current_resistor: 0.00107
    # initial_mode: "CURRENT"
    # change_mode_every:<PHONE_NUMBER>
    update_interval: 10s
    sel_pin:
      number: P24
      # mode:
      #  input: true
      #  pullup: true
      inverted: true  # the logic of BL0937 is opposite from HLW8012
    cf_pin:
      number: P7
      inverted: true
      mode:
        input: true
        pulldown: true
    cf1_pin:
      number: P6
      inverted: true
      mode:
        input: true
        pulldown: true
    current:
      name: 'Plug 1 Current'
    voltage:
      name: 'Plug 1 Voltage'
    power:
      name: 'Plug 1 Power'
    energy:
      name: 'Plug 1 Energy'
      # convert it to kWh
      filters:
        - multiply: 0.001
      unit_of_measurement: 'kWh'
      accuracy_decimals: 4


Make ExtendedTimeStep getitem more robust

I run into the following error running drqv2 training. I am not sure if it's caused by python version difference (I'm on python 3.7.11).
Traceback (most recent call last):
File "train.py", line 229, in main
workspace.train()
File "/home/desaixiecvc/github/drqv2original/train.py", line 136, in train
self.replay_storage.add(time_step)
File "/home/desaixiecvc/github/drqv2original/replay_buffer.py", line 50, in add
value = time_step[spec.name]
File "/home/desaixiecvc/github/drqv2original/dmc.py", line 33, in getitem
return getattr(self, attr)
File "/home/desaixiecvc/github/drqv2original/dmc.py", line 33, in getitem
return getattr(self, attr)
TypeError: getattr(): attribute name must be string
getitem first get spec.name (a string) as attr, and returns the index of the attr in ExtendedTimeStep. Then, when retrieving the item with the index (int), getitem gets called again with the index as attr, which caused the error. I added a type check on attr to solve this.

Thanks


Provide PolicyViolationContext to Ansible Tower

Signed-off-by: Chunxi Luo<EMAIL_ADDRESS>https://github.com/open-cluster-management-io/enhancements/pull/73

@ChunxiAlexLuo could you please update the upstream design document with the API changes around the compliance message? Then we can tag QE to be aware of it for their test development.

@ChunxiAlexLuo could you please update the upstream design document with the API changes around the compliance message? Then we can tag QE to be aware of it for their test development.

@mprahl opened a upstream design document update PR for this https://github.com/open-cluster-management-io/enhancements/pull/79


add support for ccc.de

Sample URL: http://media.ccc.de/browse/congress/2013/30C3_-5443-en-saal_g-201312281830-introduction_to_processor_design-_byterazor.html#video

Works for me already:
youtube-dl 'http://media.ccc.de/browse/congress/201
3/30C3_-_5443_-_en_-_saal_g_-_201312281830_-_introduction_to_processor_design_-_byterazor.html#video'
[generic] 30C3_-_5443_-_en_-_saal_g_-_201312281830_-_introduction_to_processor_design_-_byterazor: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 30C3_-_5443_-_en_-_saal_g_-_201312281830_-_introduction_to_processor_design_-_byterazor: Downloading webpage
[generic] 30C3_-_5443_-_en_-_saal_g_-_201312281830_-_introduction_to_processor_design_-_byterazor: Extracting information
[download] Destination: C3TV - Introduction to Processor Design-30c3-5443-en-Introduction_to_Processor_Design_h264-iprod.mp4
[download]  15.3% of 73.22MiB at  1.84MiB/s ETA 00:33

But being able to download the hq-versions would be nice.

Exactly. youtube-dl ought to defalt to the HQ version.
Btw, the link to to the HQ mp4 is directly available on the site. Maybe youtube-dl can simply download that. (But rename it to a better name.)

That's because it doesn't have its own extractor. It searches the page for the first MP4-link and downloads it.

Thank you for the report. youtube-dl 2<IP_ADDRESS> and newer add (the long overdue) proper support for CCC. See our FAQ if you need help updating.


[FLINK-22428][docs][table] Translate timezone page into Chinese

What is the purpose of the change
Translate timezone page into Chinese
Brief change log

Translate timezone page into Chinese

Verifying this change

doc change, no need to vierfy

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)

Address @leonardBang  's comments.


uv python install consumes a lot of memory

While investigating #10057 and rerunning the uv python install command to get a shorter test case I noticed uv became slower and slower the more I used it. It seems to read and rewrite a _sysconfigdata__linux_x86_64-linux-gnu.py file which keeps getting bigger and bigger for every run.
$ uv --version
uv 0.5.11
$ uv python uninstall --all
Searching for Python installations
No Python installations found
$ time (for i in {1..25}; do uv python install 3.12.8; done)
Installed Python 3.12.8 in 1.06s
 + cpython-3.12.8-linux-x86_64-gnu

real	0m27.687s
user	0m17.309s
sys	0m8.580s
$ cd /home/jon/.local/share/uv/python/cpython-3.12.8-linux-x86_64-gnu/lib/python3.12/
$ du -hs _sysconfigdata__linux_x86_64-linux-gnu.py
2.3G	_sysconfigdata__linux_x86_64-linux-gnu.py

Tested some old versions. Looks like it was introduced in uv 0.5.9.

That's a lot of backslashes :)
I guess the bug is somewhere here, but I can't see it.
https://github.com/astral-sh/uv/blob/cf14a62de7bf1330c904d23135afe214cf61619c/crates/uv-python/src/sysconfig/parser.rs#L161

Noooooooo


Support for Online Learning?

@L-M-Sherlock, you mentioned that you plan to implement the online learning version of the FSRS optimizer in Anki. (https://github.com/open-spaced-repetition/fsrs-vs-sm15/issues/36#issuecomment-1686492460)
But does this version support online learning? I am asking this I didn't see any mention of experience replay in this repo.

To implement it, we need to integrate the scheduler into Anki at first. By the way, online learning doesn't mean that it must have experience replay. The main feature of online learning is it could optimize its current weights by the new reviews on the fly.

There are two ways for auto-optimization: Online Learning and Periodic Retraining. I prefer the latter because it is easier to implement and more stable.


Element.classList.contains but Array.prototype.includes?

Don't you think this will be confusing that Element.classList.contains, but Array.prototype.includes?
From the link that you provided you don't want to name this method contains because of bug MooTools had 3 years ago? If i create a new library "NewLib.js" that has bug with Array.prototype.includes would you change the name again? It doesn't sound reasonable to me.

This proposal has landed in the language; both String.prototype.includes and Array.prototype.includes exist; in practice this hasn't been a problem.


Add alias support for OCI Charts

Just want to reopen this issue https://github.com/helm/helm/issues/10013

see: https://github.com/helm/helm/issues/10013#issuecomment-1843652102


[INFINITY-2236] Remove Kafka upgrade.doc (There is no upgradesFrom field in 2.0.0 GA)

Remove the upgrade.md document for the moment (2.0.0 GA release does not have any upgradesFrom field, so this document will be misleading) till it is fixed.
#1529
#1449
#1429

This document is intended for use by people consuming the beta releases.  None of those people are on 1.10, and therefore cannot use the new upgrade capabilities.  We need to make sure people using the beta-kafka or beta-confluent-kafka packages know they need to closely review their config options.

@triclambert instructions for upgrade in DC/OS 1.9 are not done yet.


C API: added quiche_config_enable_pacing(..)

A config option to completely disable pacing was introduced in #1348.
This PR adds the corresponding C API function:
// Configures whether to enable pacing (enabled by default).
void quiche_config_enable_pacing(quiche_config *config, bool v);

Mrged, thanks @maxsharabayko!


Could not find a declaration file for module '@viselect/react'

What is the problem?
TS cant find typings
What is the current behavior?
Could not find a declaration file for module '@viselect/react'. <EMAIL_ADDRESS>implicitly has an 'any' type.
  Try `npm i --save-dev @types/viselect__react` if it exists or add a new declaration (.d.ts) file containing `declare module '@viselect/react';`

Please provide the steps to reproduce and create a CodeSandbox.

What is the expected behavior?
Working TS typings.
Your environment:
Toolset (e.g. webpack, vite, vue-cli...): webpack, nx
Version (@viselect/<insert package>): @viselect/react 3.3.0
Browser:  Chrome latest
OS:  macOS Ventura

package.json's types points to "types": "./dist/index.d.ts", which does not exist, it is inside src/ folder so that should be solution

I see that vanilla version has the same issue

Thanks, should be fixed in v3.3.1 - don't mind the failed pipeline, I'm working on it. I published the patch manually :)

Wow, that was quick. Thanks! :)


create new KSM ECDH Key types with kw + content encryption variations

Currently the ECDH KMS key types in the framework are limited to NIST P curved keys as KW + AES content encryption.
With the addition of XChacha ECDH keys, update the KMS key types to support X25519 KW mixed with either AES or XChacha20Poly1305 content encryptions

fixed in #2478 and #2486


View tests don't include any helpers

With RSpec 3.4 / Rails 4.2, I needed to mock controller-defined helpers.
Now, with RSpec master / Rails 5, it appears I need to mock all helpers, including built-ins (model_url, etc).
Is this intentional?  #1076 makes it clear that leaving out Controller Helpers is intentional.  Not including any helpers at all, however, might a little extreme?
FWIW, here are the changes I needed to make to my View spec:
 describe 'search/print/_property.html.haml', type: :view do
   it 'displays the page' do
     property = build(:property)
+
+    # rails 5/rspec master doesn't include Helper classes and built-ins (Rails 4.2/rspec 3.4 did)
+    view.class_eval('include ApplicationHelper')
+    view.class_eval('include SearchHelper')
+    # even the built-in helpers!
+    allow(view).to receive(:property_path).and_return("/property/#{property.property_id}")
+
+    # rpsec intentially wants us to stub all controller-defined helpers
     # https://github.com/rspec/rspec-rails/issues/1076#issuecomment-59842447
     allow(view).to receive(:search_params).and_return(Search::Params.new({}))
     allow(view).to receive(:client_state).and_return(Search::Params.new({}))
+
     render 'search/print/property', property: property
     assert_select ":match('href', ?)", "/property/#{property.property_id}"
   end

Rails 5 support is in a pre beta state, but cc @samphippen

this seems like it should work... I'm gonna have to investigate.

It's worth noting view tests are not really a thing anyone writes in rails without RSpec, so there's probably some fail here.

I can't reproduce this with the latest RSpec master and Rails 5.0.0.beta2 - the url helpers are both available in the template context and the spec context. Recommend closing unless some new information comes to light.

@bronson if you can give us a rails app to clone, which demonstrates the issue, we'll happily fix. In the meantime, I'm going to close.

OK.  It's still happening in my app on beta2.  If nobody else is seeing this, it's probably something obscure with my app.
If anyone else runs into it, I'll take the time to isolate it.  Otherwise, happy to leave it closed.

FYI running into this problem as well with route/url helpers. Investigating where the problem comes from at the moment.

@pschambacher if you can give us a reproduction case I'm more than happy to debug!

@samphippen I'd need some time but basically having a view test and calling my_model_path or my_model_url seems to explode. We're knee deep in the code atm so I'll either provide a fix or a repro later :smile:

@bronson are you using the rails-controller-testing gem? Removing it fixed our problem (but now we're getting errors on assigns and render_template obviously :smile: )

I think I might have a solution with this PR.

Yes, I am using rails-controller-testing.
Want to hear something weird?  When I updated to Rails beta 2 and Rspec 3.5.0.beta1, this problem went away.  I deleted the lines in green above, and everything still works.
@pschambacher, are you using the latest gems?

And rails-controller-testing 0.1.0.

Yeah I am. Using rails master actually.

Just tried my app on beta2, both with and without rails-controller-testing...  Everything appears to work fine, and the helpers are included again.
Kinda smells like a good ol' ActiveSupport autodependency ordering issue?  Your PR sounds plausible to me but I'm afraid I'm not seeing the issue anymore.

Ugh, it is indeed intermittent.  It just started happening again, no code changes.  You're right, putting require: false on rails-controller-testing fixes the issue (for non-controller tests).
I tried using your branch in my gemfile but I'm getting 'assigns has been extracted to a gem' errors.
 gem 'rails-controller-testing', github: 'pschambacher/rails-controller-testing', require: false

Is there anything else I need to do?

@bronson there's something weird here. You should use rails-controller-testing v0.1.0 with require false (your comment says that it's using my fork) and use rspec-rails from my fork and branch.

Ah, you're right.  Since then, I've tweaked our few controller tests to not need rails-controller-testing anymore.

Adding require: false to rails-controller-testing fixed the issue for me too. Thanks!
gem 'rails-controller-testing', require: false

I must be missing something here. I have the same problem. And adding require: false fixes the view spec problem - but then controller specs don't work. The gem github page says "rspec-rails will automatically integrate with this gem once 3.5.0 and Rails 5 are released." - so it seems like the idea is just to require it.

I can't seem to reproduce with a fresh Rails app, but I am getting this same problem. I'm on rspec-rails 3.5.2 and have rails-controller-testing 1.0.1 installed. Setting gem "rails-controller-testing", require: false fixes my view tests but breaks my controller tests.
I'll report back here if I can get a working repro.

@nickrivadeneira did you find a solution to it. Running into the same issue

@ankitagupta12 Unfortunately not. Like bronson, I changed my tests to not need rails-controller-testing.

I have a solution. First, set require: false in the Gemfile. Then, add require 'rails-controller-testing' to your spec helper file sometime before require 'rspec/rails'. Both controller specs with assigns and view specs with helpers now work for me.
Obviously, the optimal solution is to remove the assigns altogether, but one thing at a time.


Added upstream changes

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: atomist-bot:x: lievendocloYou have signed the CLA already but the status is still pending? Let us recheck it.

Pull request auto merged by Atomist.

1 approved review by @lievendoclo, @cdupuis
3 successful checks

[atomist:generated] [atomist:merge-on-approve]


Investigate the addition of a rosez container daemon

The daemon should start on first execution if the container is not running, using docker run. After that point, the execution should use docker exec. Related to #58.

Added in #76


Add pymomentum

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

CI is not running atm. Please see linked issue for details
xref: https://github.com/conda-forge/status/issues/184

@conda-forge-admin please restart CI

Looks like CI is clearing up here

Looks like CI is running again

@conda-forge-admin please restart CI


updated name of the YARP port from HDE

After having merged https://github.com/robotology/human-dynamics-estimation/pull/367 it will be necessary to merge also this PR in order to use the yarpmanager applications since the name of the YARP ports exposed by the devices in HDE are changed.

@S-Dafarra @GiulioRomualdi I don't know if there is, or if it would make sense to have, a minimum required version for the dependency, such that avoid installing non-compatible configuration files. In that case we might add
find_package(HumanDynamicsEstimation 3.0.0 REQUIRED)

after realeasing human-dynamics-estimation v3.0.0 (https://github.com/robotology/human-dynamics-estimation/issues/373)

cc @mebbaid

@S-Dafarra @GiulioRomualdi I don't know if there is, or if it would make sense to have, a minimum required version for the dependency, such that avoid installing non-compatible configuration files. In that case we might add
find_package(HumanDynamicsEstimation 3.0.0 REQUIRED).

after realeasing human-dynamics-estimation v3.0.0 (robotology/human-dynamics-estimation#373)

Good point, the dependency is specified in https://github.com/robotology/walking-teleoperation/blob/da230ab1177698cb2dc9032916b585a33deacc30/cmake/WalkingTeleoperationFindDependencies.cmake#L147-L148

I missed that, so we can:

add the dependency on v3.0.0. (even if its not out yet)
wait to merge it until release is done
not add the dependency, or add it later

As discussed at today meeting we will avoid adding the dependency.

I rebased the branch and reverted the modification to the Xprise files.


How to Resume subscription after fully expired?

@MichaelHoughton  As per doc - "If a user has cancelled their subscription and you wish to resume it, use the resume method. The user must still be on their grace period in order to resume a subscription"

You have to start a new one.

But if  User is in trial Period and if they cancel subscription and resume again than trial will be lost?

@sagar-mi - if they are still within their trial period, they will be in the grace period, so the subscription can be renewed with:
$user->subscription('main')->resume();

Refer to Resuming Subscriptions in the docs - https://laravel.com/docs/5.5/billing

@MichaelHoughton As per doc - "If the user cancels a subscription and then resumes that subscription before the subscription has fully expired, they will not be billed immediately"  But when i use resume method before fully expire than trial period lost means its directly charge to user instead it should charge when trial period will be over.

From the cancel method:
        // If the user was on trial, we will set the grace period to end when the trial
        // would have ended. Otherwise, we'll retrieve the end of the billing period
        // period and make that the end of the grace period for this current user.
        if ($this->onTrial()) {
            $this->ends_at = $this->trial_ends_at;
        } else {
            $this->ends_at = Carbon::createFromTimestamp(
                $subscription->current_period_end
            );
        }

So if the user cancels within its trial, the grace period will end after the trial. If he then resumes during this the trial will be kept on the subscription.
If the user instead cancels their subscription it will continue to run until its billing period ends. If after that the user resumes its subscription during the grace period, the trial will be reset and end immediately (since it was already over anyway probably).


RealTime Tech updates section using web scraping

hey @CSEdgeOff , I would like to contribute on a new section "Realtime tech news updates " by using web scraping technology .
Readers often interested in current news on technology and gadgets mainly students, so if we add one section in blog page it will be more interactive and dynamic .
Can you please assign this task to me.
Regards
Sushanth Hebri

Currently this is static website how would you implement this in the static webpages.

Ok , its possible if we have servers.


[chore] Remove the following conferences from all framework.dev sites

Acceptance criteria
Remove from all three sites (react, angular and vue)

[ ] DevOps Days Brazil
[ ] DevOps Days India
[ ] Pass Data Community Summit
[ ] Data Science Global Summit
[ ] Cyber Security Cloud Conference
[ ] World of no code conf
[ ] Global summit for node.js 23
[ ] Node congress
[ ] DevOps day LA
[ ] SXSW
[ ] Web3 Tech Summit
[ ] JavaLand 2023
[ ] CSS day conf

Change the following images

[ ] replace the XtremeJS logo with one that does not reference the year
[ ] replace Remix conf logo with one that does not reference the year

You should leave the following:

World of no code conf
Global summit for node.js 23 (but rename to remove the node version/year)
Node congress
Web3 Tech Summit
CSS day conf

@dustinsgoodman
I updated the list 👍


Bump governance and identity-api-user versions

$subject

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6325891696

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/6325891696
Status: success


Show alert notification information

Show notification information on an alert. You can see when it last alerted, what receiver/s, and the result as alertmanager saw it, and time to next alert.
This could then be added to an alert page

A very useful view per alert would be "what do I call from amtool to create a replica of this alert?"


Between validator options check

In Between validator constructor it will throw an exception if min or max option is not defined, but only if number of options are 2. Why?
$validator = new \Zend\Validator\Between(['min' => 0, 'max' => 2]); // this works
$validator = new \Zend\Validator\Between(['min' => 0]); // this doesn't work

$validator = new \Zend\Validator\Between(['min' => 0, 'inclusive' => true]); // this works
$validator = new \Zend\Validator\Between(['min' => 0, 'foo' => 'bar']); // this works
$validator = new \Zend\Validator\Between(['bar' => 'foo', 'foo' => 'bar']); // this works

Another questions is: why should we check these options when there are default options?

Why?

The if construct is wrong.

why should we check these options when there are default options?

This is a good question!

I was checking this issue and I saw that the behaviour described by @thomasvargiu is now false since #174. For the cases :
$validator = new \Zend\Validator\Between(['min' => 0, 'inclusive' => true]);
$validator = new \Zend\Validator\Between(['min' => 0, 'foo' => 'bar']);
$validator = new \Zend\Validator\Between(['bar' => 'foo', 'foo' => 'bar']);

There is now a Undefined index error when we try to run these as shown in #183.
We can easily fix these but I agree with the two of you that the constructor's behavior is not that clear. And it seems to me that we need to define precisely how should work the constructor.


Initial map not load on Chrome in mac

When I go to https://clima.cbe.berkeley.edu/ using Chrome on a iMac the initial map with the weather files is not loading. See the screenshot below.  On the same computer (iMac, 24-inch, M1, 2021 MacOS Montery v 12.6.3) is working on Safari.
I tried to use Chrome in incognito and it is still not working.
I tried it on a Chrome in MacBook Air and it is working.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser: chrome: Version 112.0.5615.49 (Official Build) (arm64)

Thank you for raising this issue. Unfortunately, I do not have an iMac that I can use it for testing but I can confirm that on my MacBook Air, the map is loading both on Safari, Chrome and Brave, and both in normal and in incognito mode.


One X Player mini 5800u (Gamescope Issue) Maybe?

Hello
ok so when im using Gamescope in gamepadui mode,  I enable performance overlay slider It all works but when it display's up it wont default to top left of screen Rather it pops up in the middle Center screen (slightly to one side) which is obviously annoying when trying to get frame data while playing, the odd thing is when I plug a mouse in or enable the in built mouse button on OneXplayer the gamescope always defaults to top left and then if I leave mouse still for say 2-4 secs the overlay will return to Center Screen..
feels like maybe DPI or resolution issue due to OneXplayer screen being portrait..
Not sure TBH Need help... i can provide screens if it will help
Thanks

This is a known issue with left rotated displays. A bug report has been submitted to mangohud and we're waiting on a resolution.

Thanks for the Hasty Reply...
ok yeah good to know so next update may have a fix? also will I have to re-flash OS, Confirmed in holo iso the issue is not present but holo iso lacks a lot of support for oneXplayer e.g. left orange display switch button isn't converted into steam button.. that's why I'm here on Chimera which I prefer, just want this gamescope to work As indented, if anyone does have quick fix to this known issue I'm all ear's... otherwise happy to wait for resolution

https://github.com/ChimeraOS/gamescope-session/blob/b33ae30a470bb7c5ce025b4ae2cba5ae8fe01a4a/usr/share/gamescope-session/gamescope-session-script#L13

ok so I know its known issue but I did some digging to try find a temp solution Found this Vid: https://www.youtube.com/watch?v=bNf2VIq4od8
where about is the config file if any... I would love to just Force it to bottom right If possible, any help be much appreciated since I'm very new to Chimera OS...
Thanks Again

If you'd like to test a fix, try running these commands in a terminal. This will not hold through the next version update s o you'll need to run it again  later.
sudo frzr-unlock
sudo pacman -S base-devel
mkdir mango && cd mango
curl -o PKGBUILD https://raw.githubusercontent.com/ChimeraOS/chimeraos/fix-mangoapp/pkgs/50-mangohud/PKGBUILD
curl -o resolution.patch https://raw.githubusercontent.com/ChimeraOS/chimeraos/fix-mangoapp/pkgs/50-mangohud/resolution.patch
makepkg -si

You Legend 10/10 fixed it... all working as intended now... about entering into terminal to save some time next update, Is it possible to paste Code in I have tried SHIFT+INSERT or CTRL+SHIFT+INSERT and few others but no luck...
Thanks for the help pastaq
p.s tried to do it on console in desktop mode due to Easy Paste ability but it lacked sudo permissions I believe...

Keen to Donate to such a kind soul I see your very well loved by this community cheers for all the help

about entering into terminal to save some time next update, Is it possible to paste Code in I have tried SHIFT+INSERT or CTRL+SHIFT+INSERT and few others but no luck...

Ctrl+shift+v for pasting into terminals


tests/kernel/threads/no-multithreading: kernel.threads.no-multithreading failing on nrf52_pca10040 and qemu_x86 with boot delay

Execution log:
***** delaying boot 1000ms (per build configuration) *****
***** USAGE FAULT *****
  Illegal load of EXC_RETURN into PC
***** Hardware exception *****
Current thread ID = 0x00000000
Faulting instruction address = 0x401af3

Platforms tested: nrf52_pca10040: arm, sam_e70_xplained:arm

This seems to have risen due to enabling the interrupts in main(). commit id : 17e9d623b417d7a0e9b32ca9b5c4b6cd89062ec0
This is seen because the userspace is enabled and it seems to have found some issue in the implementation of scheduler. @andyross can you please look into this.

fails on xtensa as well, in qemu:
***** Booting Zephyr OS v1.13.0-rc1-113-gdb55ce579 *****
It works
===================================================================
PROJECT EXECUTION SUCCESSFUL
 ** FATAL EXCEPTION
 ** CPU 0 EXCCAUSE 29 PS 0x00060720 PC 0x60001069 VADDR 0x0000004c
 **  A0 0xa0000a6d  SP 0x60001b20  A2 0x63ffff80  A3 0x60001cec
 **  A4 0x63ffffa0  A5 0x00000004  A6 0x00000000  A7 0x00000000
 **  A8 0x00000000  A9 0x60001af0 A10 0x00000001 A11 0x00000001
 ** A12 0x60001cec A13 0x00000001 A14 0x63ffffa0 A15 0x00000000
 ** SAR 0x00000001
Current thread ID = 0x00000000
Faulting instruction address = 0xdeaddead

do not think this is related to userspace.

@nashif yep this is not a userspace related issue at all. But I am not able to exactly pin point the issue here. Maybe the timer interrupt is causing something (a very crude guess).

on nrf52_pca10040
***** Booting Zephyr OS v1.13.0-rc1-126-g8c92433190 *****
It works
===================================================================
***** MPU FAULT *****
  Instruction Access Violation
***** Hardware exception *****
Current thread ID = 0x00000000
Faulting instruction address = 0x20000b48

can't reproduce it on sam_e70_xplained

with mpu disable on nrf52 I get:
***** Booting Zephyr OS v1.13.0-rc1-126-g8c92433190 *****
It works
===================================================================
***** USAGE FAULT *****
  Illegal use of the EPSR
***** Hardware exception *****
Current thread ID = 0x00000000
Faulting instruction address = 0x20000b00

I can reproduce on mimxrt1050_evk and frdm_kw41z, but not on frdm_k64f

@MaureenHelm can you try #9740?

It fixes both mimxrt1050_evk and frdm_kw41z.

The test case still fails on nrf51_pca10028 even after the fix #9740.
Latest commit: 19b7eaaa65f6354a831f02372a9e79eab0198bc0
Execution log:
 ******* delaying boot 1000ms (per build configuration) ****
***** HARD FAULT *****
***** Hardware exception *****
Current thread ID = 0x00000000
Faulting instruction address = 0x8000

It also fails on qemu_x86 with the latest RC2 tag.
Error console log:
***** delaying boot 1000ms (per build configuration) *****
***** General Protection Fault
***** Exception code: 0x0
Current thread ID = 0x00000000
eax: 0x00000000, ebx: 0x00009500, ecx: 0x00000000, edx: 0x00000000
esi: 0x00003560, edi: 0x004037c8, ebp: 0x004037f0, esp: 0x0040380c
eflags: 0x00000096 cs: 0x0008
call trace:
eip: 0x00001b80
Terminate emulator due to fatal kernel error

this is because of the delayed boot

The test still crashes on 1.13 RC3 (8250b3e544131392bff2c794b85b7b93d9388587) with delayed boot of 1000ms:
Tested on: qemu_xtensa, Altera Max10, qemu_nios2, minnowboard, quark_se_c1000_devboard and quark_d2000_crb.
Execution log:
 ** FATAL EXCEPTION
 ** CPU 0 EXCCAUSE 29 PS 0x00060120 PC 0x60001099 VADDR 0x0000004c
 **  A0 0xa0000a8d  SP 0x60001e50  A2 0x63ffff60  A3 0x6000201c
 **  A4 0x0000000f  A5 0x009184e7  A6 0x4e72a000  A7 0x00000000
 **  A8 0x00000000  A9 0x60001e20 A10 0x00000001 A11 0x00000001
 ** A12 0x6000201c A13 0x00000001 A14 0x00000000 A15 0x00000000
 ** SAR 0x00000003
Current thread ID = 0x00000000
Faulting instruction address = 0xdeaddead

As mentioned, BOOT_DELAY requires a working k_busy_wait(), which in the general case requires a working timer driver (though AFAIK x86 shouldn't be one of those -- it can do it with the TSC alone), which won't work without interrupts.  We should probably add an appropriate depends-on to kconfig to enforce this.
Are there circumstances other than CONFIG_BOOT_DELAY where this is failing?

Do not think this should be tracked under the same bug, this issue always existed it seems, i can reproduce this on qemu_xtensa on the same commit the test was introduced.
CONFIG_BOOT_DELAY is test related, so I am lowering the priority of this.

can't reproduce


Add example and simple docs to Collections.list

As per issue #3112.

@srenatus, re: the expected output as comments.  Do you mean in addition to the "expected output" in the section above it? (I'm assuming so, and am happy to do it, but wanted to be super-clear.)

I thought something that might not be a complete program, but had the output near the code, like

Create a new empty List of type String

       let my_list = List[String]()
       env.out.print("A new empty list has " + my_list.size().string() + " nodes.")

Outputs:
A new empty list has 0 nodes.

Etc. What golang does with its "testable examples" feature isn't a bad model, I think. But that's something we should probably discuss more widely - this is just my opinion as a bit of a bystander. And as-is, it's already an improvement. Curious what others think :smiley:

A complete program where possible with tradeoffs in mind is the ideal in my mind.

I could put specific snippets in the doc-comments on each function, and keep the standalone full example at the top?

@andrewharmellaw this is still in-progress yes?

@SeanTAllen I'm going to add a few more examples as suggested in @chobeat's comment on issue #3112. I'm not sure if you want the extra, per-function examples as suggested by @srenatus. I could do the first thing, and create a separate Issue for the second? Thoughts?

However you want to approach it is fine by me. Whenever you have something you want to get a final review and merged, drop a note and let us know or change this PR to a draft until you are ready to have it reviewed for merging.

@andrewharmellaw yup your call. As mentioned, as-is this is a very useful improvement! :smiley: thank you

👍 I've had no wi-fi on the train the last two days so I've been delayed. I'll split the plans discussed here into multiple Issues, thenget this to a solid state and flag it so it can be merged and not stay open for ages.

By the way, how do I flag the PR as draft? (I'm assuming it's via a label, but I can't add them.)

By the way, how do I flag the PR as draft? (I'm assuming it's via a label, but I can't add them.)

Only people with comitter access can assign labels. But there's other means, like

changing the title
leaving a comment
adding a note to the PR message on top (editing it)

I don't know if we have (want?) a convention there.

When you open a PR you can set it as a draft.

Ooh I didn't know that. Thanks, @SeanTAllen

@andrewharmellaw you'll need to rebase against master for this PR before it can be merged. If you are familiar with squashing commits with git, that would be a nice thing to do as well. Otherwise we can squash on merge but then the commit comment will be whatever we write.

Thanks folks. I’ll rebase and squash. The WiFi on the train has been flakey
so I’ve not managed to do this. Fingers crossed for tomorrow...
On Sat, 30 Mar 2019 at 00:16, Sean T Allen<EMAIL_ADDRESS>wrote:

@andrewharmellaw https://github.com/andrewharmellaw you'll need to
rebase against master for this PR before it can be merged. If you are
familiar with squashing commits with git, that would be a nice thing to do
as well. Otherwise we can squash on merge but then the commit comment will
be whatever we write.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ponylang/ponyc/pull/3120#issuecomment-478185896, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABe0RLAnfa7bU-ndy9RDRcyeyUM3RjO6ks5vbqz5gaJpZM4cGij1
.

--
Andrew Harmel-Law
twitter: @al94781 http://twitter.com/al94781
blog: the-music-of-time.blogspot.com
flickr: flickr.com/photos/andrewbrucelaw

I marked as DO NOT MERGE until @andrewharmellaw has rebased and squashed. Just to make sure it doesn't get accidentally done.

Ho @SeanTAllen . My final commit for issue #3112 has been made. In the interests of time (and my terrible relationship with rebase / squash) it makes sense to just squash when you merge. The title of this PR (which perhaps a reference to the issue) will be more then enough.  I'll meanwhile hop over and open another separate issue for @srenatus's suggested additions.  Apologies this one took so long.

I'm squashing and pushing this remotely.

Final commit: https://github.com/ponylang/ponyc/commit/2c1e5ae14bc3313773de2510940bc53e73445771


Rounding up calculated height value to non-decimal number to prevent scrollbar from showing

Describe the bug
When, for example, the height is calculated by using "heightCalculationMethod: 'lowestElement'", and because of css the calculated value is a decimal number (say 1436.3348343943), the iframe height seems to be rounded to 1436 instead of 1437. Because it is rounded down a scrollbar is shown inside the iframe (when the iframe height is 100%). This scrollbar scrolls 1px or something, which renders it completely useless and annoying (because the parent page cannot be scrolled).
To Reproduce
See above. I am unsure what css cause a non-rounded value but most likely this is line height of font size related.
Expected behavior
Rounding up the calculated height value so a scrollbar is not shown.
Desktop (please complete the following information):

Version: 4.3.6

Smartphone (please complete the following information):

Version: 4.3.6

Additional context
Possible fix.
Change file iframeResizer.contentWindow.js, line 980:
lowestElement: function getBestHeight() {         return Math.max(           getHeight.bodyOffset() || getHeight.documentElementOffset(),           getMaxElement('bottom', getAllElements())         )       },
to
lowestElement: function getBestHeight() {         return Math.ceil(Math.max(           getHeight.bodyOffset() || getHeight.documentElementOffset(),           getMaxElement('bottom', getAllElements())         ))       },
Please note the added Math.ceil()-function.
Perhaps this should also be applied to the other results, and instead fix it on line 1053:
currentHeight =         undefined === customHeight ? getHeight[heightCalcMode]() : customHeight
to
currentHeight =         undefined === customHeight ? Math.ceil(getHeight[heightCalcMode]()) : customHeight
I'm happy to provide additional details.

This will be fix in The upcoming V5. Would love some feedback if you want to give it a go. #1212

@davidjbradshaw if you have an npm alpha version published for this package and iframe-resizer-react, I would be glad to give v5 a test run 😄

Thanks for your quick reply! I've just seen the implemented fix for V5. Looks like it's better than my suggestion - so no additional feedback there. Any timeframe when V5 is being officially released or "it's ready when it's ready"?

@RenoLooijmans sorry for slow response, have been unwell for the last few days.
I've just published the alpha of version 5 to NPM. It is now split into two different packages.
@iframe-resizer/parent
@iframe-resizer/child

in addition I have created jQuery and React plugins for the parent page as well. If you want to try either of these they can be used instead of the @iframe-resizer/parent
@iframe-resizer/react
@iframe-resizer/jquery

I'm still putting together the first draft of a new documentation website, but you can find details of all the changes here.
https://github.com/davidjbradshaw/iframe-resizer-docs/blob/master/src/content/docs/upgrade.md
A number of the config options have been revised, but if your not using any then the basic setup is unchanged.
Please let me know if you have any questions.

@davidjbradshaw no worries there! I'm already happy it's being dealt with :-).
I'm away for the next week myself, so I'll definitely have a look at it when I am back.
Get well soon.

Thanks, very rough docs now online at https://davidjbradshaw.github.io/iframe-resizer-docs/

Wonderful!  @davidjbradshaw one example that would great to add to the docs would be loading the @iframe-resizer/child script from a cdn.  That’s how I currently load the script in the content window

That's a fair point, currently I plan to add examples for CommonJS and ES Modules, so can do a CDN example as well.

Just moved doc site to http://iframe-resizer.github.io/docs/

@jlarmstrongiv added jsDeliver CDN

Hey @davidjbradshaw what’s this about

To use iframe-resizer in a closed source website or application, you need to purchase a one time license key. See the pricing page for details.

Where can I see the pricing?  I saw ua-parser-js do the same thing recently.  I’m building a small app with (probably won’t make money, but you never know), so I guess I would need to look into a business license.
I can’t legally try out v5 until that’s clarified.

Hey @jlarmstrongiv if you would like to help me test this and provide feedback, then I'll be happy to give you a free license, once we have a full release version.. For now you can use the key ALPHA-TEST with the fifth alpha build.
Still need to build the licensing bit out, but yes your use case will be covered, that was one of the original design goals of this project.

Still need to build the licensing bit out, but yes your use case will be covered, that was one of the original design goals of this project.

Thank you for clarifying @davidjbradshaw

Hey @jlarmstrongiv if you would like to help me test this and provide feedback, then I'll be happy to give you a free license, once we have a full release version.. For now you can use the key ALPHA-TEST with the fifth alpha build.

That sounds good to me!  I’ll update the react and cdn versions and let you know how it goes

For now you can use the key ALPHA-TEST with the fifth alpha build

Just a couple followup questions about the key actually.
I assume the answer is no from the code I read in the v5-dev branch, but will the libraries phone home?  If so, I’d have privacy concerns for European users.
I assume from the usage examples that the API key does not need to be kept secret?

This is going to be pretty simple and I couldn't afford the server infrastructure to have it phone home. The current version is used on a surprisingly large amount of the world's top websites.

The current version is used on a surprisingly large amount of the world's top websites.

I sure hope they will pay to help maintain it then!  I’m curious how your pricing experiment with iframe-resizer and how Faisal Salman’s experiment with ua-parser-js will go

In the meantime, I received this error trying to use @iframe-resizer/react:
File<EMAIL_ADDRESS>is not a module.ts(2306)

I did see that the types were included in the node_modules as the docs said, though they seem to be structured in a way that ts doesn’t like.

Yeah those types were my best guess, I'm not much of a TS coder. Any chance you could have a quick look and make a PR on the v5-dev branch?

I had a chat with the guy behind fullpage.js, who was able to turn that into a full time job. But I expect his market is mainly WordPress templates.

Yeah those types were my best guess, I'm not much of a TS coder. Any chance you could have a quick look and make a PR on the v5-dev branch?

I took a stab at it.  These days, I code 95% of my projects in TypeScript and ESM so the PR reflects that.  I wasn’t able to get it to play nicely with the module or namespace syntax.

I had a chat with the guy behind fullpage.js, who was able to turn that into a full time job. But I expect his market is mainly WordPress templates.

I can see that.  I like that he still offers one-time payments.  Everything turning to subscriptions these days is rather painful.

Thanks for the PR, I left a comment on it, looking at the changes I spotted an issue in the old version that might have been the issue. I had not changed the module name from iframe-resizer-react to @iframe-resizer/react. I think it was just lifted from the old module, with the deprecated options removed.
I still need to build a test page in the example folder for react and write some tests for it. I'm glad to hear it worked for you as I have literally never even ran it yet! It was there to test the build and deploy scripts.

The full page guy said the subscription option was pretty much unused. I don't think it makes a lot of sense for things like this.

Thanks for the PR, I left a comment on it, looking at the changes I spotted an issue in the old version that might have been the issue. I had not changed the module name from iframe-resizer-react to @iframe-resizer/react. I think it was just lifted from the old module, with the deprecated options removed.

Oh! 😂 Why didn’t I see that?  Must not have been awake yet first thing this morning when I looked at it.  You’re right—updating the module name @iframe-resizer/react fixes it (I tested it locally).

I still need to build a test page in the example folder for react and write some tests for it. I'm glad to hear it worked for you as I have literally never even ran it yet! It was there to test the build and deploy scripts.

I wouldn’t go that far 😅 I’m more of a one-error-at-a-time kind of guy.  Once the types are fixed, I’ll move onto the next error (or hopefully it works)

@jlarmstrongiv Hopefully this should now work in Alpha.8 release

@davidjbradshaw I tried out the alpha release:
I’m getting the TypeScript error Property 'license' does not exist on IframeResizer
In the console, I’m getting:
Warning: Failed prop type: The prop `forwardRef` is marked as required in `l2`, but its value is `undefined`.

As well as
[iframeResizer][Host page: null] Ignored: [object Object]

Apart from the other miscellaneous logs, it seems to work so long as I pass it the license key

@jlarmstrongiv
Good spot on license, added to types for both Parent and React. These two type files are really very different and both came from PRs by different people. I don't really understand the difference. My guess is the one on Parent should be more like the one on react.
The strange ignore message was due to it seeing something come in via postMessage that it was not expecting. I've change this so it will display objects, as we non longer have to worry about IE not supporting this and lowered the level so it will only show in dev builds.
The above release as Alpha.9
The forwardRef one is down to it being marked as required via the PropTypes library. However, I'm not really sure why it is even there. I expect it comes from a PR at some point in the past. It's been a few years since I did a lot of React and I'm bit unsure why it is there. Do you have any ideas?
Will dig in more when I get time to go through this backlog of issues
https://github.com/davidjbradshaw/iframe-resizer-react/issues

Figured out the PropType thing, seems that was down to me following esLint's incorrect advice.... I've removed it and also added an old PR that I had missed from iframe-resizer-react to add a getIframeElement()` method.

@davidjbradshaw here’s an example on how react-aria implemented an optional useRef https://github.com/adobe/react-spectrum/issues/834, which includes several example implementations.  The idea is being able to pass an existing ref if it’s given, or create one if not.

@davidjbradshaw incoming warning on the previous major version of iframe-resizer-react:
Warning: IframeResizer2: Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.

With the recently released<EMAIL_ADDRESS>(released 6 hours ago), I checked out the v5-dev branch and it may still be used with prop-types?

I just saw that yesterday, I’ve updated it to remove DefaultProps and I guess PropTypes could go as well as it is not really being used anyway.

@jlarmstrongiv website is now fully done, was wondering if you had any feedback on it?
https://iframe-resizer.com
Just need to tie up a few last bits, so hope to be live by the end of this week.

@davidjbradshaw I’m traveling right now, but I’ll be able to give it a good review on Wednesday/Thursday when I get back home.  If the packages are ready to be released, I can try updating my website to use them too.  I look forward to the upcoming launch 🚀

@jlarmstrongiv Thanks packages should be ready later this week, I will let you know.
I will also need your email address to send you a key

Great @davidjbradshaw !  Let me know when the packages are published, and I’ll do both at the same time.  My email is my GitHub username @gmail.com

@jlarmstrongiv just sent you an email

@RenoLooijmans your original issue is now fixed in v5.0.0-RC.1


wandb crash

[ ] I have marked all applicable categories:

[x] exception-raising bug
[ ] RL algorithm bug
[ ] system worker bug
[ ] system utils bug
[ ] code design/refactor
[ ] documentation request
[ ] new feature request

[x] I have visited the readme and doc
[x] I have searched through the issue tracker and pr tracker
[x] I have mentioned version numbers, operating system and environment, where applicable:import ding, torch, sys
print(ding.__version__, torch.__version__, sys.version, sys.platform)

I try to use wandb in docker. In first time, it tell me that protoc version must >= 3.19. So I recompile it with version 3.19.6. After that, it crash with another error:
Traceback (most recent call last):
  File "/opt/conda/lib/python3.7/site-packages/wandb/sdk/wandb_init.py", line 1152, in init
    run = wi.init()
  File "/opt/conda/lib/python3.7/site-packages/wandb/sdk/wandb_init.py", line 601, in init
    manager._inform_init(settings=self.settings, run_id=self.settings.run_id)
  File "/opt/conda/lib/python3.7/site-packages/wandb/sdk/wandb_manager.py", line 208, in _inform_init
    svc_iface._svc_inform_init(settings=settings, run_id=run_id)
  File "/opt/conda/lib/python3.7/site-packages/wandb/sdk/service/service_sock.py", line 38, in _svc_inform_init
    self._sock_client.send(inform_init=inform_init)
  File "/opt/conda/lib/python3.7/site-packages/wandb/sdk/lib/sock_client.py", line 211, in send
    self.send_server_request(server_req)
  File "/opt/conda/lib/python3.7/site-packages/wandb/sdk/lib/sock_client.py", line 155, in send_server_request
    self._send_message(msg)
  File "/opt/conda/lib/python3.7/site-packages/wandb/sdk/lib/sock_client.py", line 152, in _send_message
    self._sendall_with_error_handle(header + data)
  File "/opt/conda/lib/python3.7/site-packages/wandb/sdk/lib/sock_client.py", line 130, in _sendall_with_error_handle
    sent = self._sock.send(data)
BrokenPipeError: [Errno 32] Broken pipe

Here is my code snap:
def main(cfg, seed=0):
    cfg = compile_config(
        cfg,
        SyncSubprocessEnvManager,
        DQNPolicy,
        BaseLearner,
        SampleSerialCollector,
        InteractionSerialEvaluator,
        AdvancedReplayBuffer,
        save_cfg=True
    )
    print('mario', cfg)

    # Set wandb
    wandb.init()

How to solve this error and run wandb successful? Docker's default protoc version is 3.13.

Hi,
It seems that the wandb of the latest version (0.15.5) does not support protobuf>3.20 if the python version is 3.7.
However, the DI-engine docker is base on pytorch base image with python version 3.7, which causes this compatibility problem.
Here are two solutions.

try pip install protobuf==3.20, so that wandb is compatible but tensorboadX is not.
use python 3.8 or 3.9 instead.


libnm_dbus keyfile: Rewrite the keyfile generation

Each NmSettingXXX class is responsible to provide function as
to_keyfile() which return HashMap<String, zvariant::Value>.

Changed Interfaces to automatically set unknown interface/port
as ethernet as Python API did. With a warning message of course.

Test is no good way testing this gen_conf, will include in later
patches.

Wait other PR, then add support of user, ieee802.1x.

The user and IEEE 802.1x  supports are included.
For the coming LLDP support, no change is required for supporting keyfile.

Force merging and move on


[W6.4b][W15-B3]See Jia Min Jasmine

Added more non-functional requirements to Developer Guide

@JasmineSee
Some comments added. Please ack & close the PR after reading comments.

Noted and acknowledged. Thanks for the comments.


crates.io publishing

@naomijub
https://github.com/edn-rs/edn-derive/issues/34
following up on this.
I've linked my github to crates.io
Name
    Kevin Nakamura
GitHub Account
    Grinkers
 Email
<EMAIL_ADDRESS>Verified!

However I think it'd be best to link github itself with an action to publish based on releases? Not individuals.

good call, I have granted access to crates.io

good call, I have granted access to crates.io

I think you'll need to add a token to the repo in the secrets? I've never published to crates.io, so I don't know how it all works.

https://github.com/edn-rs/edn-rs/issues/158
No need if there's not many releases.


Reintroducing Action exporter integration

Motivation and Context

This change reintroduces all the action service changes that have recently been reverted.
What has changed

How to test?

Links

/deploy baileyw

/deploy baileyw

No longer required

No longer required