Some doubts and questions

I understand that for some reasons you might not have been able to release your complete code but I would highly appreciate if you could help me answering some questions about your implementation.

The validation set on server, how much data it has and is it taken from original training (before partitioning) or test set?
Do you train your DQN network with one optimization step after each communication round (after pushing the latest experience into replay memory) or multiple steps? Do you wait for the memory to collect some experience or train DQN even with 1 entry? What is the DQN training batch size?
what is the optimization algorithm and learning rate used to train the DQN network?
What is the frequency of updating the target network (from the learning DQN)?
do you use learning rate decay as in FedAvg? Does it match their numbers?
Do you use a discounting factor for reward (\gamma in your paper)?

Thank you in advance!

I understand that for some reasons you might not have been able to release your complete code but I would highly appreciate if you could help me answering some questions about your implementation.

The validation set on server, how much data it has and is it taken from original training (before partitioning) or test set?
Do you train your DQN network with one optimization step after each communication round (after pushing the latest experience into replay memory) or multiple steps? Do you wait for the memory to collect some experience or train DQN even with 1 entry? What is the DQN training batch size?
what is the optimization algorithm and learning rate used to train the DQN network?
What is the frequency of updating the target network (from the learning DQN)?
do you use learning rate decay as in FedAvg? Does it match their numbers?
Do you use a discounting factor for reward (\gamma in your paper)?

Thank you in advance!

Hi, did you get any answers?

I understand that for some reasons you might not have been able to release your complete code but I would highly appreciate if you could help me answering some questions about your implementation.

The validation set on server, how much data it has and is it taken from original training (before partitioning) or test set?
Do you train your DQN network with one optimization step after each communication round (after pushing the latest experience into replay memory) or multiple steps? Do you wait for the memory to collect some experience or train DQN even with 1 entry? What is the DQN training batch size?
what is the optimization algorithm and learning rate used to train the DQN network?
What is the frequency of updating the target network (from the learning DQN)?
do you use learning rate decay as in FedAvg? Does it match their numbers?
Do you use a discounting factor for reward (\gamma in your paper)?

Thank you in advance!

Hi, did you get any answers?

I haven't, unfortunately.

I understand that for some reasons you might not have been able to release your complete code but I would highly appreciate if you could help me answering some questions about your implementation.

The validation set on server, how much data it has and is it taken from original training (before partitioning) or test set?
Do you train your DQN network with one optimization step after each communication round (after pushing the latest experience into replay memory) or multiple steps? Do you wait for the memory to collect some experience or train DQN even with 1 entry? What is the DQN training batch size?
what is the optimization algorithm and learning rate used to train the DQN network?
What is the frequency of updating the target network (from the learning DQN)?
do you use learning rate decay as in FedAvg? Does it match their numbers?
Do you use a discounting factor for reward (\gamma in your paper)?

Thank you in advance!

Hi, did you get any answers?

I haven't, unfortunately.

hi, basing on the understanding for this paper, I have reproduced the whole code of this paper. Although i still have some little bug about it, the final result can be got. I will release the whole code in the future. After that, we can discuss about it

I understand that for some reasons you might not have been able to release your complete code but I would highly appreciate if you could help me answering some questions about your implementation.

The validation set on server, how much data it has and is it taken from original training (before partitioning) or test set?
Do you train your DQN network with one optimization step after each communication round (after pushing the latest experience into replay memory) or multiple steps? Do you wait for the memory to collect some experience or train DQN even with 1 entry? What is the DQN training batch size?
what is the optimization algorithm and learning rate used to train the DQN network?
What is the frequency of updating the target network (from the learning DQN)?
do you use learning rate decay as in FedAvg? Does it match their numbers?
Do you use a discounting factor for reward (\gamma in your paper)?

Thank you in advance!

Hi, did you get any answers?

I haven't, unfortunately.

hi, basing on the understanding for this paper, I have reproduced the whole code of this paper. Although i still have some little bug about it, the final result can be got. I will release the whole code in the future. After that, we can discuss about it

Cool! If you've ever decided to implement it using FedSim I can help setting up.

I understand that for some reasons you might not have been able to release your complete code but I would highly appreciate if you could help me answering some questions about your implementation.

The validation set on server, how much data it has and is it taken from original training (before partitioning) or test set?
Do you train your DQN network with one optimization step after each communication round (after pushing the latest experience into replay memory) or multiple steps? Do you wait for the memory to collect some experience or train DQN even with 1 entry? What is the DQN training batch size?
what is the optimization algorithm and learning rate used to train the DQN network?
What is the frequency of updating the target network (from the learning DQN)?
do you use learning rate decay as in FedAvg? Does it match their numbers?
Do you use a discounting factor for reward (\gamma in your paper)?

Thank you in advance!

Hi, did you get any answers?

I haven't, unfortunately.

hi, basing on the understanding for this paper, I have reproduced the whole code of this paper. Although i still have some little bug about it, the final result can be got. I will release the whole code in the future. After that, we can discuss about it

Cool! If you've ever decided to implement it using FedSim I can help setting up.

Thx！I have developed the code based on Open-Ai's gym and this repository. I will try my best to achieve that! :)

firewood1996

Hi, thanks for letting us know! Would you mind sharing your implementation with OpenAI gym so far so that maybe I can help debug it?

firewood1996

Hi, thanks for letting us know! Would you mind sharing your implementation with OpenAI gym so far so that maybe I can help debug it?

thx! but there is just a few problems, i think i can handle it :), i wiil try my best!

firewood1996

Hi, thanks for letting us know! Would you mind sharing your implementation with OpenAI gym so far so that maybe I can help debug it?

thx! but there is just a few problems, i think i can handle it :), i wiil try my best!

Cool!

firewood1996

Hi, thanks for letting us know! Would you mind sharing your implementation with OpenAI gym so far so that maybe I can help debug it?

thx! but there is just a few problems, i think i can handle it :), i wiil try my best!

Cool! Looking forward to seeing your code!

firewood1996

Hi there, I am wondering in your implementation, during the training of DDQN, did you choose only 1 client in each communication round? If that's the case, then only 1 device would report its local weights to the server and thus there would be no FedAvg in the server. I have implemented this scheme, but the results were horrible. I doubt the accuracy would improve using this scheme because for every round, the selected 1 device cannot benefit from observing the weights update from other devices. Would you mind sharing your experiences? Thank you!

According to the paper, they sorted the Q value of the total 100 clients, and then selected 10 clients which were with bigger Q value than others. While training the Q network, they just use the biggest Q value to train. I have tried many ways, but the performance still does not achieve the goal which was mentioned in the paper. Actually, I strongly suspect that DDQN can actually work.

Using DDQN means that it costs much of the time to train. If you just have only one GPU, you must train the model over more than one day. Moreover, if you use the PCA, it will cost more time.
The federated learning model is able to converge with or without the DQN. Therefore, the DQN model training early rewards and late rewards are unlikely to produce very large jumps. The environment in which traditional reinforcement learning operates, such as Gym, does not converge at all in the early training period, which is different from that of federated learning.

I have given up on continuing to optimize using reinforcement learning, as the many methods tried do not achieve the results mentioned in the paper. And knowing that now the authors still haven't open sourced it shows that there are many problems.
I am very sorry that I really do not have the means to achieve. If you have new ideas, you can discuss with me.

firewood1996

Hi there, I am wondering in your implementation, during the training of DDQN, did you choose only 1 client in each communication round? If that's the case, then only 1 device would report its local weights to the server and thus there would be no FedAvg in the server. I have implemented this scheme, but the results were horrible. I doubt the accuracy would improve using this scheme because for every round, the selected 1 device cannot benefit from observing the weights update from other devices. Would you mind sharing your experiences? Thank you!

@firewood1996 hi, thanks a lot for sharing your experiences! I have implemented the DQN based on flsim, but still cannot reproduce the training performance. Based on my experiments I strongly agree with you that the "FL model will converge with or without DQN". In another word, during the training of DQN, even selecting the same device for every round, the testing accuracy will improve as more communication rounds go.  I also believe that the DQN is not suitable for this type of device selection problem because of the strong dependency between actions.
In case you are interested, you can find our implementation, short presentation, slides and report here. https://github.com/tian1327/flsim_dqn

@firewood1996 hi, thanks a lot for sharing your experiences! I have implemented the DQN based on flsim, but still cannot reproduce the training performance. Based on my experiments I strongly agree with you that the "FL model will converge with or without DQN". In another word, during the training of DQN, even selecting the same device for every round, the testing accuracy will improve as more communication rounds go. I also believe that the DQN is not suitable for this type of device selection problem because of the strong dependency between actions.
In case you are interested, you can find our implementation, short presentation, slides and report here. https://github.com/tian1327/flsim_dqn

I have read about your work, it is a very excellent work!!! And I strongly agree with your opinion that DQN is not suit and the reward setting also does not reveal the intrinsic connections between different clients. By the way, would you mind add my QQ<PHONE_NUMBER>) to discuss more about FL?

Sure, I don't use QQ. Would you pls send your wechat ID to my email address here<EMAIL_ADDRESS>Thanks

Dear @tian1327 and @firewood1996,
I hope you can find some clear answers to our questions regarding this project very soon 🚀.
I'm interested to know about your attempts. In case you'll have some updates I would be thrilled to get to know them.
Best of luck!

Dear @tian1327 and @firewood1996, I hope you can find some clear answers to our questions regarding this project very soon 🚀. I'm interested to know about your attempts. In case you'll have some updates I would be thrilled to get to know them.
Best of luck!

Feel free to check our implementation and results (code, report, slide, Youtube) here:  https://github.com/tian1327/flsim_dqn


increase size for root fs of ardana deployer

otherwise CI fails due to not enough free disk space

Wasn't it ephemeral disk that had to be resized?

No, I also made that mistake first, the emphemeral disk was already 70GB, but this value constrained the root lv to 44G.

https://github.com/SUSE-Cloud/automation/blob/master/scripts/jenkins/cloud/ansible/roles/setup_root_partition/tasks/main.yml#L181

Bypassed requirement for 2nd review.

I had to increase the emphemeral disk size of the flavor to 90G so 54G is smaller than 65% of the whole disk. (See doc fix https://github.com/SUSE-Cloud/automation/pull/3964 .) I did this as root on a compute of engcloud by deleting the flavor and recreating it with: openstack flavor delete cloud-ardana-job-lvm-compute; openstack flavor create --disk 90 --public --property hw_rng:allowed='True' --ram 8192 --vcpus 2 cloud-ardana-job-lvm-compute


Not working anymore

stopped working on youtube as of today

Can confirm. MacOS 14.1 (23B74). Opera One(version: 103.0.4928.47) (arm64)
When launched just shows black screen:

Here is how the popup looks like for me with Tampermonkey disabled:

me toooooooooooooo

Same

Same

same

Same over here.

same


Handle missing fees data

Handle temporary absence of fees data by skipping fees data load when fees file is not found.

Coverage decreased (-0.3%) to 99.691% when pulling d63948fa8882c394ca7b011c7c3e8253ea7a86a2 on virginiacc:missing-fees-data into bd383a3281bd5e4798a2f1edbc7454462224fc39 on cfpb:master.

@chosak Thanks for reviewing! I made the suggested change & added a comment about the fees exception in https://github.com/cfpb/owning-a-home-api/pull/127/commits/0fe0f6eb25da82ac24443d2b3990a1b3ea6ce922.


Migrate ergoCub FT to have one NWS for each part

Fix part of  https://github.com/robotology/robots-configuration/issues/485 by using the convention discussed in https://github.com/icub-tech-iit/documentation/issues/271 . For consistency and for having a remapper for each part with FTs, I could also have introduced right_arm-FT_remapper.xml and left_arm-FT_remapper.xml files, but I avoided to do that for keeping the PR as simple as possible.
One thing that I had to modify, otherwise the new devices could have problem, were the attach and detach level, for which I followed https://github.com/robotology/robots-configuration/issues/377 as it seems the only documented convention available.
I am not sure if I modified all the root .xml  files that included the strain configuration files, but I am not sure if we can delete the one that are not necessary? In this way mantainance of these files is easier.

fyi @GiulioRomualdi @mebbaid @lrapetti @S-Dafarra

I converted this to draft as we still need to test on the robot.

Something to look into:
[ERROR] |yarp.device.multipleanalogsensorsremapper| Impossible to find sensor name l_leg_ft_sensor , exiting.
[ERROR] |yarp.device.multipleanalogsensorsremapper|     Names of available sensors are:
[ERROR] Device left_leg-FT_remapper cannot execute attach
[ERROR] Cannot run attach action on device left_leg-FT_remapper
[ERROR] |yarp.device.multipleanalogsensorsremapper| Impossible to find sensor name r_leg_ft_sensor , exiting.
[ERROR] |yarp.device.multipleanalogsensorsremapper|     Names of available sensors are:
[ERROR] Device right_leg-FT_remapper cannot execute attach
[ERROR] Cannot run attach action on device right_leg-FT_remapper
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[INFO] |yarp.os.Port|/ergocub/right_leg/FT/measures:o| Port /ergocub/right_leg/FT/measures:o active at tcp://<IP_ADDRESS>:10041/
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD right_leg-eb6-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD right_leg-eb6-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD right_leg-eb6-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] embObjMultipleFTsensors: BOARD left_leg-eb8-j0_3 (IP <IP_ADDRESS>)   getTemperatureSensorMeasure() fails data for index: 0  not found
[ERROR] ParametricCalibratorEth:  Torso_Calibrator : number of joints of device to calibrate ( 2 ) does not match the number of joints in calibrator config file ( 3 )
[ERROR] Right_Arm_Calibrator cannot perform 'check hardware fault' operation because joint number 9 is out of range [].
[ERROR] Left_Arm_Calibrator cannot perform 'check hardware fault' operation because joint number 9 is out of range [].

The log: dry-run_log_ergoCubSN000_dev.txt.

Related PR's:

https://github.com/robotology/yarp/pull/2967?notification_referrer_id=NT_kwDOADkJ1rI2NDI1NjQ5MzYwOjM3MzgwNzA#event-9221325302
https://github.com/robotology/icub-main/pull/871?notification_referrer_id=NT_kwDOADkJ1rI2NDI1NzgwNTY2OjM3MzgwNzA#event-9221459344

This PR and the CI revealed three bugs that will be fixed by the following PRs:

https://github.com/robotology/yarp/pull/2967
https://github.com/robotology/icub-main/pull/871

Re-running the CI.

Feel free to put the PR in ready for review if it's working on the robot.

Just tested on the real robot, it is working fine, @GiulioRomualdi also tested it with the logger.

Hi @traversaro, would it make sense to do the same for the imus?


Adding customer_stopped_control_plane_node.json

Adding an SL template for when SRE detect that a cluster owner has deliberately stopped a control plane node.

I think we used https://github.com/openshift/managed-notifications/blob/master/osd/recover_master_node_is_required.json so far - should we remove it ? or do we think of different usecases for both ?
In the meantime, I will create a shift-improvment card to work on improving managed-notification as it starts being in a state where it is difficult to search/find SLs you're looking for.

/lgtm /approve

/lgtm


npm install vue-materail removes 637 packages

When using the Neutronium-Vue project template...
[...]\View\Main>npm install vue-material
+<EMAIL_ADDRESS>removed 637 packages and updated 1 package in 35.528s

I've used npm before, this is not what I expected (seriously violates principle of least astonishment). I'm assuming this has something to do with how the template is packaged. Please provide some guidance on the proper way to include extra node packages without destroying everything. Thanks!

I think this happened because npm was rolling back "failed" install. Turns out I do not have python installed which is required for npm to (at least) install node-sass.
Trying running npm install windows-build-tools first!

installing this first does the trick: https://www.npmjs.com/package/windows-build-tools maybe add this to documentation (although it may be obvious to others... it wasn't for me).

@fizxmike thanks for reporting issue and updating status. I don't think thougth that this issue is related to neutronium itself. From what I understand it seems to be related on how to install node-sass (and resolves its Python dependency).

@David-Desmaisons I agree.


Where do I find documentation for tagger fields?

Where do I find information on the fields that are available for the tagger. I.E. the fields that would go here:
<tagger class="com.norconex.importer.handler.tagger.impl.KeepOnlyTagger">
     <fields>id,title,keywords,description,content,document.reference, document.contentType</fields>
</tagger>

I'm specifically looking for the status code of the webpage (200, 404, etc...) and the origin of the url (So, if the url was http://www.example.com/page/welcome I'd want http://www.example.com)
I can't find any information online and I've been searching for hours

The fields obtained vary for each document/site.  There are a few ways to find out what was extracted.  You can use the FilesystemCommitter and have a look at generated files.  A better approach is probably to use the DebugTagger.  You can have that tagger multiple times (before and after parsing, other taggers, transformers, etc).  It will print out what has been gathered so far.
For example, you can add the following just before your KeepOnlyTagger so you can list all fields so far using the INFO log level:
  <tagger class="com.norconex.importer.handler.tagger.impl.DebugTagger" logLevel="INFO"/>

Does that answer?

Hi, essiembre, that doesn't exactly answer my question. I already have the DebugTagger on and I am not seeing any information related to the status of the url. This is the only information I see from the DebugTagger (I've emitted information for privacy):
INFO  [DebugTagger] Content-Length=16191
INFO  [DebugTagger] collector.referrer-link-tag=a.href
INFO  [DebugTagger] collector.referrer-reference=...
INFO  [DebugTagger] Server=Microsoft-IIS/8.5
INFO  [DebugTagger] X-Powered-By=ASP.NET
INFO  [DebugTagger] Cache-Control=private
INFO  [DebugTagger] collector.referenced-urls=...
INFO  [DebugTagger] X-AspNet-Version=4.0.30319
INFO  [DebugTagger] collector.is-crawl-new=true
INFO  [DebugTagger] collector.referrer-link-text=Our Process
INFO  [DebugTagger] Date=Mon, 13 Nov 2017 16:29:17 GMT
INFO  [DebugTagger] Vary=Accept-Encoding
INFO  [DebugTagger] document.reference=...
INFO  [DebugTagger] collector.content-type=text/html
INFO  [DebugTagger] Content-Encoding=gzip
INFO  [DebugTagger] document.contentEncoding=utf-8
INFO  [DebugTagger] document.contentFamily=html
INFO  [DebugTagger] collector.content-encoding=utf-8
INFO  [DebugTagger] Content-Type=text/html; charset=utf-8
INFO  [DebugTagger] document.contentType=text/html
INFO  [DebugTagger] collector.depth=1
INFO  [DebugTagger] title=...
INFO  [DebugTagger] collector.referrer-link-text=Our Process
INFO  [DebugTagger] description=...
INFO  [DebugTagger] keywords=...
INFO  [DebugTagger] document.reference=...
Do you have any other ideas on how I can get that information to be added to the document data?
Here is my config in case that information would help:
`

<!-- Decide where to store generated files. -->
<progressDir>./results/progressdir</progressDir>
<logsDir>./results/logsDir</logsDir>

<crawlers>
    <crawler id="Name">

        <!-- Requires at least one start URL (or urlsFile).
       Optionally limit crawling to same protocol/domain/port as
       start URLs. -->
        <startURLs stayOnDomain="true" stayOnPort="true" stayOnProtocol="true">
            <url>url 1</url>
            <url>url 2</url>
        </startURLs>

        <!-- === Recommendations: ============================================ -->

        <!-- Specify a crawler default directory where to generate files. -->
        <workDir>./results/workDir</workDir>

        <!-- Put a maximum depth to avoid infinite crawling (e.g. calendars). -->
        <maxDepth>100</maxDepth>
        <maxDocuments>10000</maxDocuments>
        <!-- We know we don't want to crawl the entire site, so ignore sitemap. -->
        <sitemapResolverFactory ignore="false"/>
        <metadataFetcher class="com.norconex.collector.http.fetch.impl.GenericMetadataFetcher">
            <validStatusCodes>200</validStatusCodes>
        </metadataFetcher>
        <!-- What to do with orphan documents.  Orphans are valid
                 documents, which on subsequent crawls can no longer be reached when
                 running the crawler (e.g. there are no links pointing to that page
                 anymore).  Available options are:
                 IGNORE (default), DELETE, and PROCESS.
                 -->
        <orphansStrategy>DELETE</orphansStrategy>
        <!-- Be as nice as you can to sites you crawl. -->
        <delay default="1000"/>
        <!-- Document importing -->
        <importer>
            <preParseHandlers>
                <!-- If your target repository does not support arbitrary fields,
           make sure you only keep the fields you need. -->
                <!-- <tagger class="com.norconex.importer.handler.tagger.impl.RenameTagger">
                    <rename fromField="document.contentEncoding" toField="content_encoding" overwrite="true"/>
                    <rename fromField="document.contentType" toField="content_type" overwrite="true"/>
                    <rename fromField="CONTENT" toField="content" overwrite="true"/>
                </tagger> -->
                <tagger class="com.norconex.importer.handler.tagger.impl.DebugTagger" logLevel="INFO"/>
            </preParseHandlers>

            <postParseHandlers>
                <!-- If your target repository does not support arbitrary fields,
           make sure you only keep the fields you need. -->
                <tagger class="com.norconex.importer.handler.tagger.impl.KeepOnlyTagger">
                    <fields>title,keywords,description,content,document.reference, document.contentType, collector.referrer-link-text</fields>
                </tagger>
                <tagger class="com.norconex.importer.handler.tagger.impl.DebugTagger" logLevel="INFO"/>
                <tagger class="com.norconex.importer.handler.tagger.impl.ForceSingleValueTagger">
                    <singleValue field="title" action="keepFirst"/>
                </tagger>
                <tagger class="com.norconex.importer.handler.tagger.impl.RenameTagger">
                    <rename fromField="document.reference" toField="url" overwrite="true"/>
                    <rename fromField="document.contentType" toField="content_type" overwrite="true"/>
                    <rename fromField="collector.referrer-link-text" toField="referrer_link_text" overwrite="true"/>
                </tagger>
            </postParseHandlers>

        </importer>

        <!-- Decide what to do with your files by specifying a Committer. -->
        <!-- <committer class="com.norconex.committer.core.impl.FileSystemCommitter">
            <directory>./results/crawledFiles</directory>
        </committer> -->

        <referenceFilters>
            <filter class="com.norconex.collector.core.filter.impl.ExtensionReferenceFilter" onMatch="exclude" caseSensitive="false">
                png,gif,jpg,jpeg,js,css,json,svg, xlsx, xls, pptx, ppt
            </filter>
            <filter class="com.norconex.collector.core.filter.impl.RegexReferenceFilter" onMatch="exclude">
                .*/runtime/.*
            </filter>
            <filter class="com.norconex.collector.core.filter.impl.RegexReferenceFilter" onMatch="exclude">
                .*/design/.*
            </filter>
            <filter class="com.norconex.collector.core.filter.impl.RegexReferenceFilter" onMatch="exclude">
                .*/templates/.*
            </filter>
            <filter class="com.norconex.collector.core.filter.impl.RegexReferenceFilter" onMatch="exclude">
                .*/error/.*
            </filter>
        </referenceFilters>

        <committer class="com.norconex.committer.cloudsearch.CloudSearchCommitter">
            <fixBadIds>true</fixBadIds>
            <documentEndpoint>url goes here</documentEndpoint>
            <!-- <accessKey></accessKey>
            <secretAccessKey></secretAccessKey> -->
        </committer>

    </crawler>
</crawlers>

`

If it is to track deleted/bad documents, it is handled automatically. As long as you do not delete the crawl cache (i.e., you "workdir"), a document that can no longer be reached will trigger a deletion request for that document on CloudSearch. So you will only get "200" ones in it.  Do you have evidence to the contrary?
If you want to track bad links so you can fix them on your site or similar reasons, you can create a report each time by using URLStatusCrawlerEventListener.

Hmm... Okay, I have been deleting the workdir before each crawl so maybe that's the issue. What if a page is a 302 (redirect)_ and not a 400 error, will it still delete them? The client that I'm working with handles their 404s by redirecting to an error page. So, broken pages actually return a 302. I can't seem to get those to be deleted. But, maybe it's because I've been delete the working directory.

Deletions are tracked on incremental crawls only.   That is, the crawler will only send deletion requests for documents that we previously OK, and turned bad on subsequent crawl.  It uses an internal cache to figure that out (crawl store). When you clean the workdir, you delete that cache, so everything is "fresh" and you will not get deletion requests on a fresh run.
In addition to handling deletions, incremental crawls will only send the valid documents that have changed to your Committer.

Thanks, essiembre that's what I realized. Everything is actually working fine now, I just can't delete my old documents because, like you said, I delete the workdir. But, luckily the cloudsearch domain I'm using is just for testing purposes. Thanks for you help!

No problem!  FYI, ticket #211 has a feature request to send deletion requests to the Committer for documents with bad status.  Once implemented, that new feature will not work for documents that are no longer discoverable through crawling so most 404 will not be caught.  One workaround for occasions when you need to start crawling from scratch would be to create a seed file with all URLs extracted from your search engine. This would have all of them crawled for potential deletions and would clean up your search index.  Can you see this being useful/practical?

Hey, sorry! I just saw your reply, yes I can see that as being a very useful feature. Thanks for putting in the request


Be able to use -dumpmachine on our toolchain

This little patch allows us to call cc from our toolchain with the -dumpmachine argument. By this way, we are able to recognize, at least, the assembler produced by our toolchain. It's related to mirage/ocaml-solo5#128 and mirage/ocaml-gmp#22.

Not needed for ocaml-solo5/ocaml-gmp.


[Improvement] GravitinoConnectorFactory.java writes to a static field is not thread-safe

What would you like to be improved?
GravitinoConnectorFactory.java:65: warning: [StaticGuardedByInstance] Write to static variable should not be guarded by instance lock 'this'
GravitinoPlugin.catalogConnectorManager = catalogConnectorManager;
See https://errorprone.info/bugpattern/StaticGuardedByInstance
How should we improve?
No response

@justinmclean  Which branch is this issue on? I'm not seeing this in main branch.

It's on the main branch here:
https://github.com/datastrato/gravitino/blob/ca4a8ab1c4907a7e7d35097de66c878a4fb3fdb9/trino-connector/src/main/java/com/datastrato/gravitino/trino/connector/GravitinoConnectorFactory.java#L65
You'll note that is inside a  synchronized block and catalogConnectorManager is static.

@justinmclean Assuming I add add a nested sychronized block here such as:
           synchronized (GravitinoPlugin.class) {               GravitinoPlugin.catalogConnectorManager = catalogConnectorManager;             }
This could potentially cause a deadlock if multiple threads are creating connectors. I know this block was added to facilitate testing, could there be a better implementation to intialize GravitinoPlugin? I might need some pointers here. I'm just getting familiar with the project so I might be totally off.
Thanks.


✨ feat: add option for body cleaning

This adds the option to simply clear the incoming and outgoing bodies instead of returning/raising an error. Useful for usage with strongly typed ORMs like prisma (https://github.com/elysiajs/elysia/issues/358). This works both ways, also incoming requests don't have to worry about getting rejected when providing sufficient data, it will simply be stripped and put into the expected schema so there is no way of leaking unexpected data into the handler.

Thanks for merging 🥳 <3


build: modularize tsconfig.json and fix husky hooks

What is the motivation for this pull request?

build: modularize tsconfig.build.json from tsconfig.json
chore: fix husky hooks

What is the current behavior?

tsc does not type check tests
pre-commit broken due to invalid commands

What is the new behavior?

tsc type checks tests
pre-commit fixed

Checklist:

[x] Conventional Commits

Codecov Report

Merging #3 (316b688) into master (4bbc9cc) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master        #3   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines           22        22
  Branches         1         1
=========================================
  Hits            22        22

Continue to review full report at Codecov.

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


Integration tests for Drop Database and More Tag Scenarios

This PR rounds out the Database Commands by testing Drop Database.  It also adds numerous tag query scenarios.

+1 all good on the test code.


Why no callbacks for function (s *DB) Exec ?

Bump. Would like to be able to trace this function using callbacks.


No such file or directory: 'distances/distances_x_1024.npy'

please see our readme file, you can run python create_distance_maps.py

谢谢您的解答，祝您生活愉快！
---- Replied Message ----
| From | Xincheng @.> |
| Date | 08/14/2024 17:33 |
| To | @.> |
| Cc |<EMAIL_ADDRESS>|
| Subject | Re: [xcyao00/FOD] No such file or directory: 'distances/distances_x_1024.npy' (Issue #9) |
please see our readme file, you can run python create_distance_maps.py
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


Distributed tensorflow

NOTE: Issues that are not bugs or feature requests will be closed. Please ask usage questions on StackOverflow.
You must complete this information or else your issue will be closed

Have I written custom code (as opposed to using a stock example script provided in TensorFlow)?:Yes
TensorFlow installed from (source or binary)?:binary
TensorFlow version:1.0.0
Bazel version (if compiling from source):No
CUDA/cuDNN version:No
GPU Model and Memory:No
Exact command to reproduce:

Describe the problem clearly
I am trying to apply distributed tensorflow and want to distribute my task on two pc.
pc1 ip: <IP_ADDRESS>->>>>ps
pc2 ip:<IP_ADDRESS>->>>worker
Code snippet:
tf.train.ClusterSpec({
"worker": [
"<IP_ADDRESS>:2223"
],
"ps": [
"<IP_ADDRESS>:2222"
]})

cluster = tf.train.ClusterSpec({"local": ["<IP_ADDRESS>:2222","<IP_ADDRESS>:2223"]})
server = tf.train.Server(cluster, job_name="local", task_index=0)
with tf.device("/job:ps/task:0"):
weights = {

    'wc1': tf.Variable(tf.random_normal([5,5, 5, 1, 32])),

    'wc2': tf.Variable(tf.random_normal([5,5, 5, 32, 64])),

    'wd1': tf.Variable(tf.random_normal([1216, 1024])),

    'out': tf.Variable(tf.random_normal([1024,n_classes]))
}

biases = {
    'bc1': tf.Variable(tf.random_normal([32])),
    'bc2': tf.Variable(tf.random_normal([64])),
    'bd1': tf.Variable(tf.random_normal([1024])),
    'out': tf.Variable(tf.random_normal([n_classes]))
}

with tf.device("/job:worker/task:0"):
def conv3d(x, W, b, strides=1):
    x = tf.nn.conv3d(x, W, strides=[1, strides, strides,strides, 1], padding='SAME')
    x = tf.nn.bias_add(x, b)
    return tf.nn.relu(x)

def maxpool3d(x, k=3):
    return tf.nn.max_pool3d(x, ksize=[1,2,2,2,1], strides=[1,2,2,2,1], padding='SAME')

# Create model
def conv_net(x, weights, biases, dropout):
    x = tf.reshape(x, shape=[1,20,149,239, 1])

    conv1 = conv3d(x, weights['wc1'], biases['bc1'])
    print ("conv1",conv1)
    conv1 = maxpool3d(conv1, k=3)
    print ("max1",conv1)
    conv2 = conv3d(conv1, weights['wc2'], biases['bc2'])
    print ("conv2",conv2)
    conv2 = maxpool3d(conv2, k=3)
    print ("max2",conv2)
    fc1 = tf.reshape(conv2, [-1, weights['wd1'].get_shape().as_list()[0]])
    print ("fc1",fc1)
    fc1 = tf.add(tf.matmul(fc1, weights['wd1']), biases['bd1'])
    fc1 = tf.nn.relu(fc1)
    print ("relu",fc1)
    fc1 = tf.nn.dropout(fc1, dropout)

    out = tf.add(tf.matmul(fc1, weights['out']), biases['out'])
    print ("out",out)
    return out

x = tf.placeholder(tf.float32)
y = tf.placeholder(tf.float32)
keep_prob = tf.placeholder(tf.float32)

# Construct model
pred = conv_net(x, weights, biases, keep_prob)
print ("pred",pred)
cost = tf.reduce_mean(tf.nn.softmax(logits=pred))
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)
correct_pred = tf.equal(tf.argmax(pred, -1), tf.argmax(y, -1))
accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))
init = tf.global_variables_initializer()

print ("time1",time.clock())
saver = tf.train.Saver()

with tf.Session('grpc://<IP_ADDRESS>:2222') as sess:
sess.run(init)
Command line on ps machine->> python train3d5.py --job_name="ps" --task_index=0
Command line on ps machine->> python train3d5.py --job_name="worker" --task_index=0
Please provide a solution how to distribute training in tensorflow.
We also using hadoop multi-cluster.
Source Code / Logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full-traceback. Large logs and files should be attached. Try to reproducible test-case code the bare-minimum necessary to generate the problem
Error on worker machine:
CreateSession still working for response from worker: /job:local/replica:0/task:1

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!
That said, you might find the following useful:

Distributed TensorFlow guide
Integrating TensorFlow with your ecosystem talk
github.com/tensorflow/ecosystem


Persist column for bulk upload errors

Context

At the moment we do not persist the column for bulk upload errors
For the summary for bulk upload errors we need to display the column
Persisting the column makes the query for the summary trivial
If not persisted we'd have to select a substring in query to extract the column then add it to the grouping which makes things a little more complicated and brittle in my opinion

Changes

Add a new column called col to bulk_upload_errors table
When extracting errors persist the column to database

Do we need to persist cell? Could it be a method on the model?

Might be able to drop it. as I wasn't on planning on having col but then turned out it was useful. i don't think the redundancy/duplication is particularly expensive and kind of happy to keep it for now and drop it later if it turns out its not very useful


Error: User rate limit exceeded. File: application. Line: 326

Are you requesting a feature or reporting a bug?
A bug Report
If reporting a bug, is there already an issue open for this same bug?
No, this is a new one due to Quota "SIZE" restrictions not specified in:
"https://developers.google.com/apps-script/guides/services/quotas"
What is the current behavior?
The thing is that I`ve tried to copy a entire folder of 1.4TB and in here the TIME RESTRICTION is not affecting but the "QUOTA TOTAL SIZE" what I mean is that the whole folder was copied only 600gb so far, so after this quotas hits the mark of 600gb the copy process will stop and then in the Spreadsheet will come up this error " Error: User rate limit exceeded. File: application. Line: 326 " and then it will end and in an endless loop giving the same error, and the file " NO DELETE " will get screw unless I pause "MANUALLY BEFORE IT HITS THE 600GB MARK" to avoid the quota exception until next day so the process can continue itself.
What is the expected behavior?
Pause before it hits the quota size limit to avoid the process to be corrupted, and continue next day once the Quota is restarted.

Thats a good idea

I hope someone with skillful programmer can solve this issue


Update UG find commands

I propose the following sections but feel free to change it if you feel there are better ways to split. Do try to fit the UG convention as much as possible:

Find Modules
Find Lectures
Find Videos


[PE-D][Tester D] Delete command does not appropriately handle the case when the index is larger than java integer max value

Overview
The error message displayed when the delete index is<PHONE_NUMBER> vs when it is<PHONE_NUMBER> is different.
At index<PHONE_NUMBER> it says

index provided is invalid

but at<PHONE_NUMBER> it says

command not found

It suggests that at delete<PHONE_NUMBER> the value overflows and becomes negative, so the command registers it as a negative delete index, which consequently results in a different error message.
Steps to reproudce

Run HackLink as indicated in UG
Type delete<PHONE_NUMBER> and press Enter
You will get the output:

The person index provided is invalid

Now type delete<PHONE_NUMBER>
Yow will get a different output:

Invalid command format!

Expected behaviour

Error saying ."The person index provided is invalid" in both cases.

Actual behaviour

Invalid Command format error for  delete<PHONE_NUMBER> which shouldn't be the case.

Screenshots

Potential solution
I think this bug reflects the issues of handling the delete index as an integer, and it might be a good idea to change it so that index parameter accepts values up until one that is definitely unreachable (eg: more than the world's population).
If not possible to change the limit, I think it should be included as a known bug in the UG / in the delete error message constraints.

Labels: type.FunctionalityBug severity.Low
original: ararchch/ped#7

descriptive title: :heavy_check_mark:
enough details: :heavy_check_mark:
severity/type labels chosen are not too far off: :heavy_check_mark:
non-confrontational tone: :heavy_check_mark:
points out a potentially problematic behavior (or a good way to improve the product): :heavy_check_mark:

Good report

can put this as known limitation in UG

Intentional sabotage using unrealistic index that would not be used in hackathon


Canonical way to retrieve user attributes in type safety manner

There is Object getAttribute(String name) method for retrieving of user profile attributes.
Is there any recommended way how to access the attributes in safety way? The reason for asking is that we have inherited this code in Saml-plugin in Gerrit Code Review project:
private static String getAttribute(SAML2Profile user, String attrName) {
    List<?> names = (List<?>) user.getAttribute(attrName);
    if (names != null && !names.isEmpty()) {
      return (String) names.get(0);
    }
}

and this attempt to read ID:
private static String getAttributeOrElseId(SAML2Profile user, String attrName) {
    String value = getAttribute(user, attrName);
    if (value != null) {
      return value;
    }
    return user.getId();
  }

This code is apparently not correct, as we received this CL: [1] to fix the type detection, in case the attribute type is not a list: [1], with this attempt to fix it:
  private static String getAttribute(SAML2Profile user, String attrName) {
    String value = String.valueOf(user.getAttribute(attrName));
    if (value != null) {
      return value.replace("[", "").replace("]", "");
    }
  }

But this sounds like a hack to me. Is there any canonical ways?
Could a Utility#extractUserProfileAttribute(String) (or some such) method be provided? Looking at the code, there is InternalAttributeHandler that is type aware, or there is AbstractJwtProfile#getAudience() method:
public List<String> getAudience() {
        final Object audience = getAttribute(JwtClaims.AUDIENCE);
        if (audience instanceof String) {
            return Collections.singletonList((String) audience);
        } else if (audience instanceof String[]) {
            return Arrays.asList((String[]) audience);
        } else if (audience instanceof List) {
            return (List<String>) audience;
        } else {
            return null;
        }
    }

[1] https://gerrit-review.googlesource.com/c/plugins/saml/+/238118

You could probably refactor AbstractJwtProfile#getAudience() and extract a method out of it to move it up the parent hierarchy. Something like this:
public static List<String> extractAttributeValues(String name) {
        final Object value = getAttribute(name);
        if (value instanceof String) {
            return Collections.singletonList((String) value);
        } else if (value instanceof String[]) {
            return Arrays.asList((String[]) value);
        } else if (value instanceof List) {
            return (List<String>) value;
        } else {
            return null;
        }
    }

Then modify getAudience() to call this with the right claim, and then use this method where you need it. You're welcome to submit a pull request.
Also, in the future please discuss such changes on the dev mailing list before opening up issues.
Thanks in advance :)

We have many options here. One thing to know is that a ProfileDefinition is used to generate the profile: https://github.com/pac4j/pac4j/blob/3.8.x/pac4j-saml/src/main/java/org/pac4j/saml/credentials/authenticator/SAML2Authenticator.java#L68
In the profile, we have user attributes and authentication attributes.
In SAML2, the user attributes are always a list of values. The identifier of the profile and the mapped attributes can be defined.
I tend to think the audience is more an authentication attribute and should be added as this.

Looking at restore() in https://github.com/pac4j/pac4j/blob/master/pac4j-core/src/main/java/org/pac4j/core/profile/InternalAttributeHandler.java it does not always return a list of values for an attribute.


Implement support for unlit

For #81 (ghc-split), we need #82 (build-perl), which in turn requires unlit. Hence we need unlit, the unliterizer tool (turns lprl literate perl files into prl files when used in build-perl).

What is the purpose of ghc-split? Any chance to get rid of it and associated dependencies given that we now have the full power of Haskell in the build system?

The ghc-split.prl file looks quite complicated, we probably don't want to do translate this in Haskell now.
I think GHC uses ghc-split for splitting objects when executed with -split-objs flag.

Yes. translating ghc-split.lprl looks like a non trivial task. Eep. to get it right :)
The best I found was this SO answer1, which links to the GHC manual2.

This means there is a temporary workaround: you can set splitObjects to return False locally and see how far this will get you in the build.

That's what I just did.
Now I'm stuck at gmp again(?).
| Copy gmp.h -> libraries/integer-gmp/gmp/gmp.h
| Copy .libs/libgmp.a -> libraries/integer-gmp/gmp/libgmp.a
| Successfully build custom library 'integer-gmp'
/----------
| Running Gcc Stage1 (package = integer-gmp):
|     input: libraries/integer-gmp/cbits/wrappers.c
| => output: libraries/integer-gmp/stage1/build/cbits/wrappers.o
\----------

/----------
| Running Ld (stage = Stage1, package = integer-gmp):
|     input: libraries/integer-gmp/stage1/build/cbits/wrappers.o (and 5 more)
| => output: libraries/integer-gmp/stage1/build/HSinteger-gmp-<IP_ADDRESS>.o
\----------

shakeArgsWith         0.002s    0%
Function shake        0.028s    0%
Database read         0.320s    0%
Database compression  0.087s    0%
With database         0.009s    0%
Running rules       148.557s   99%  =========================
Total               149.002s  100%
Error when running Shake build system:
* utils/hpc/stage1/build/tmp/hpc-bin
* libraries/integer-gmp/stage1/build/libHSinteger-gmp-<IP_ADDRESS>.a
* getDirectoryFiles  [libraries/integer-gmp/gmp/objs/*.o]
libraries/integer-gmp/gmp/objs: getDirectoryContents: does not exist (No such file or directory)

Looks like we are missing a need [integerGmpLibrary] before getDirectoryFiles.

The strange thing is, it's actually being built right before that step. I think we just somehow do not end up putting the object files into objs. I'll have to look into where the original Makefile did that, and we missed it.

I see. To get more informative error messages I think we better insert an appropriate need before every invocation of getDirectoryFiles.

Great. It's exactly the TODO comments I left in Rules/IntegerGmp.hs:105+.


When will you publish codes about object detection?

hello, thank you for your work, it's a good work. When will you publish the codes about object detection?  Thank you!

Thanks for your interest in our work! Since the RepSurf codebase for the task of obejct detection borrowed heavily from the work Group-Free 3D Object Detection via Transformers, we have to contact its owner before releasing our code for object detection, so we cannot ensure the release. But we would publish it if it is allowed by the owner.

这是来自QQ邮箱的假期自动回复邮件。

您好，我最近正在休假中，无法亲自回复您的邮件。我将在假期结束后，尽快给您回复。

Ok，thanks for your reply.  If not allowed, would you release the settings of the backbone for task of object detection?

Hi, we will try our best to release the code of object detection. For training settings, we followed the work of GroupFree3D. For more details of RepSurf on the backbone, we hope to show them in our detection code. Thanks again for your interest!

You're so welcome. Thanks for your attempt.

Hi authors,
Just want to follow up on this issue. Could you please provide more details of the RepSurf backbone for detection?  Thanks!


Modernize gem

Changes

Change default branch from master to main
Include latest approved PRs
Use Bundler instead of historical rubygems
rdoc -> md

Resolved with PR #4


No license.

Not a lawyer and all that aside, does a license have to be supplied to use this code in personal and commercial application?
"If you cannot find any license information, then you cannot copy or modify it for any reason other than
personal use."
http://programmers.stackexchange.com/questions/148146/open-source-code-with-no-license-can-i-fork-it
Maybe MIT?

Thanks.  I have added licensing terms (MIT) to the file.


ReachabilityManager's reach produces true when unreachable block executes.

Hi, thanks for sharing the code!
I was messing around and found something that I think is a bug. Take a look at this line. Shouldn't unreachableBlock produce an event with false value?

Good catch! I think I mixed this up on https://github.com/artsy/eidolon/commit/3d7be3f69de67b975924fcdac9d4da96ec39bbd8 and we never caught it, thanks!

This will be fixed once https://github.com/artsy/eidolon/pull/571 is merged. Thanks again!


documentation: need examples!

Need to write some clear examples and some general documentation!

Documention is live. Could use some more examples of the json interaction and some screenshots of the widget plugin in action.


Print PDF in Viewer module is not working aptly

I made a test with branch master, and another test in demo application, in both tests I could print but the document was unformatted.

@mcqueide, the issue is under investigation at the moment. We'll let you know in case of any updates.

@mcqueide
This issue has been fixed in the latest commit. Now, when you click print Viewer will create PDF file and open a print dialog.


linux: add braces to multi-statement if

Fixes a bug where err was being overwritten and not properly checked. Raised in #749.

LGTM

LGTM2

Thanks Kári, landed in 80d9d86.


Cannot remove prerelease version of package

I've created PR here DefinitelyTyped/DefinitelyTyped#41418, which fails CI build check as the package version is prelease one (previously it was tagged as alpha, now as rc): 1.0.0-rc.2.
The check fails because of strict version check, which does not coerce prelease versions as in https://github.com/npm/node-semver/blob/70d9fb3f1c128227a3cd911867edb07a54260cad/classes/semver.js
Is that version check outcome expected (I'd close the issue) or should it be somehow addressed?
Thanks!
Somehow similar, already tracked issue:
https://github.com/microsoft/types-publisher/issues/696

This should be fixed, but it's not the same as #40 (nee microsoft/types-publisher#696), since there we want allow deletion of subdirectories without deprecating the whole thing. Here we want to allow deprecation with the specified target version being coerced according to semver rules.

Thanks, closing!


Set supported python version to >=3.9 - 577

[Auto generated]
Number: [#577]

ocp-addons-operators-cli[pull_request][9b72-11ef-9d06-7d0956a69dc0][PR 577]: Closing issue for PR: Set supported python version to >=3.9.
PR was closed.


fix(docs): Let's Encrypt example

What does this PR do?
Without the volumeMount the init fails, because /data doesn't exists.

You're right @mhmxs
Thanks for this PR !


Feat/gate io perpetual derivative

Before submitting this PR, please make sure:

[x] Your code builds clean without any errors or warnings
[x] You are using approved title ("feat/", "fix/", "docs/", "refactor/")

A description of the changes proposed in the pull request:
This PR create GateIo perpetual to the latest standards. It also creates the PerpetualDerivativePyBase, which brings the ExchangePyBase approach to the perpetual exchanges.
Tests performed by the developer:

Test cases for the new code

Tips for QA testing:
gateioperpetual do not have " _fetch_last_fee_payment ", so i use "pass" under this function
Everything about this connector should be tested, plus please ensure that the other perpetual connectors can start correctly — no need to thoroughly test them.
Proposal link:https://snapshot.org/#/hbot-prp.eth/proposal/0x7d64419612adf2cbba88ccbc5aff333c192410709672a6d45226dab5bc03a889
https://forum.hummingbot.org/t/hip-cex-connectors-revamp/212

Hi @yancong001 good day,
Kindly rebase your PR from master to the development branch please. Thank you

Upon compiling this feature branch it was observed, after creating a password, there was an error in the terminal An error occurred when fetching trading pairs for gate_io_perpetual, this also appears when you restart the bot and enter your password. Connecting Gateio_perp API Keys there was an Unhandled error in background task that was observed.
Note: Unable to check balance and create a strategy.
Terminal error
2022-10-19 13:18:17,308 - 512040 - hummingbot.core.utils.trading_pair_fetcher - ERROR - An error occurred when fetching trading pairs for gate_io_perpetual.Please check the logs
Traceback (most recent call last):
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/core/utils/trading_pair_fetcher.py", line 62, in fetch_all
    self._fetch_pairs_from_connector_setting(connector_setting=conn_setting)
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/core/utils/trading_pair_fetcher.py", line 38, in _fetch_pairs_from_connector_setting
    connector = connector_setting.non_trading_connector_instance_with_default_configuration()
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/client/settings.py", line 266, in non_trading_connector_instance_with_default_configuration
    connector = connector_class(**kwargs)
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/connector/derivative/gate_io_perpetual/gate_io_perpetual_derivative.py", line 69, in __init__
    super().__init__(client_config_map)
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/connector/perpetual_derivative_py_base.py", line 31, in __init__
    super().__init__(client_config_map)
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/connector/exchange_py_base.py", line 70, in __init__
    self._auth: AuthBase = self.authenticator
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/connector/derivative/gate_io_perpetual/gate_io_perpetual_derivative.py", line 75, in authenticator
    return GateIoPerpetualAuth(
TypeError: __init__() got an unexpected keyword argument 'time_provider'

Client error
2022-10-19 13:24:58,547 - 512100 - hummingbot.core.utils.async_utils - ERROR - Unhandled error in background task: __init__() got an unexpected keyword argument 'time_provider'
Traceback (most recent call last):
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/core/utils/async_utils.py", line 9, in safe_wrapper
    return await c
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/client/command/connect_command.py", line 72, in connect_exchange
    await self._perform_connect(connector_config)
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/client/command/connect_command.py", line 184, in _perform_connect
    err_msg = await self.validate_n_connect_connector(connector_name)
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/client/command/connect_command.py", line 160, in validate_n_connect_connector
    err_msg = await asyncio.wait_for(
  File "/home/ubuntu/miniconda3/envs/hummingbot/lib/python3.8/asyncio/tasks.py", line 483, in wait_for
    return fut.result()
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/user/user_balances.py", line 84, in add_exchange
    market = UserBalances.connect_market(exchange, client_config_map, **api_details)
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/user/user_balances.py", line 44, in connect_market
    connector = connector_class(**init_params)
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/connector/derivative/gate_io_perpetual/gate_io_perpetual_derivative.py", line 69, in __init__
    super().__init__(client_config_map)
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/connector/perpetual_derivative_py_base.py", line 31, in __init__
    super().__init__(client_config_map)
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/connector/exchange_py_base.py", line 70, in __init__
    self._auth: AuthBase = self.authenticator
  File "/home/ubuntu/Hummingbot/pull_request/5798/hummingbot/connector/derivative/gate_io_perpetual/gate_io_perpetual_derivative.py", line 75, in authenticator
    return GateIoPerpetualAuth(
TypeError: __init__() got an unexpected keyword argument 'time_provider'

Steps to reproduce:

Clone and Compile feature branch
Start bot and create password
Exit bot to view terminal error
Restart bot and connect Gateio_perp API Keys
Observe log pane for error.

logs_hummingbot.log

thanks,i solved the problem and i tested it again, it is ok now, please test it again

An open position was created and observed on the exchange but was not recognized or failed to display the position in the output pane when you check status in the client. Stopping and starting the bot and check status for the position also fails to display the open position.
Expected behavior: when there is an open position on the exchange that is created and call check status on the client, it should show your open position in the output pane.
Steps to reproduce:

Create Perpetual_mm strategy
Start bot and wait for created positions
Check exchange to confirm position
Do status check to display the same position

  Stop Start bot and status check
Conf_Logs_Gatio_perp.zip

hi, i tested it but it looks like succeed,i can see the position.I think there may be some delay in display

hi @arnelhbot , i solved "two open positions" problem,but "minimize delay" I don't know how to solve it now

@yancong001 thank you for the update, we ran several attempts of GitHub Run pre-commithooks of diff however we are getting failed test below:

hi @arnelhbot , I've noticed that this is a common problem and exists in other PR Run pre-commithooks of diff(https://github.com/hummingbot/hummingbot/actions/workflows/workflow.yml).
I think this issue is best resolved by the hummingbot official members

@yancong001 please review that the isort is failing, when you commit that process has to run and order your imports

@yancong001 the issues are related with flake8. Before you commit you will receive an error message with all the things that you have to fix related with the formatting of the code. Please check if you didn't uninstall this plugin to commit without issues or reinstall the conda environment and push a fix with all the changes.

Bounty has been paid. Thank you for your contribution!


[BOT] update schema

done via this GitHub Action

@effigies
since #534 I am getting these weird PRs (see previous case https://github.com/bids-standard/bids-matlab/pull/535)
Before I start digging, if you have a hunch on what could now be causing this (a hunch of the the type: I have seen this before), let me know.


Unpin gVisor version

Type of change

[x] New feature (non-breaking change that adds functionality);

Checklists
Development

[x] All necessary variables have been defined, with defaults if applicable;
[x] The HCL code is formatted;
[ ] An AMI has been created in some AWS account, and the AMI is working as expected;

Code review

[x] This pull request has a descriptive title and information useful to a reviewer. There may be a screenshot or screencast attached;
[x] This pull request is no longer marked as "draft";
[x] Reviewers have been assigned;
[ ] Changes have been reviewed by at least one other engineer;

@marcinwyszynski should we merge this?

Honestly IDK, please take ownership of this.

@adamconnelly do you remember this history of this? I think it was unpinned, then we pinned it, then this one unpins it again.
I assume there was a version that broke something and we were frightened it happens again, but we unpin here again?

@peterdeme it should be fine to unpin it. We originally pinned it because we thought that it had caused an issue we were seeing with our public workers, but it actually turned out to be caused by a Kernel update rather than a problem with gVisor.


Add opentok 2.6.2 defs

ps: I define types inside of declare module, although the guidelines state to move them outside and prefix. If that's still the case let me know and I'll prefix types but I think that works very well with recent Flow.

@GAntoine alright, let me take a look.

Updated my PR. I am not entirely sure what to test in such simple annotations (e.g. no generics etc..), so I've added quite a lot of tests. If you feel like it's over the top, please advise and I'll refine tests.

🕺


Add Swift Package Manager Support

Background
Swift Package Manager functionality is currently broken in master.
This PR resolves this.
Implementation
SPM requires all public headers be located in a single directory, since .h files are nested in many folders.
I have added symbolic links to a new include folder to satisfy this requirement whilst retaining the current folder structure for compatibility with the current Podspec, etc.
Header files will need to be kept in sync with the symlinks in future.
To achieve this, you could cd into the include directory from the command line, delete all symlinks, then run
ln -s ../**/*.h . # Run this from Leanplum-SDK/Classes/include

Testing steps
I have tested this in my own project and everything works as expected.
Is this change backwards-compatible?
Yes, to my knowledge since SPM never worked in this project.

Since we are using storyboards in our SDK we will have to wait for swift 5.3 and new swift package manager to allow us to bundle resources with our package.

Hey @milos1290 ! I've updated the PR with a version compatible with resources (in Xcode 12).
Would you be opposed to keeping the<EMAIL_ADDRESS>for developers such as myself who don't rely on the view controllers and would like to use SPM before September?


Enhancement: add more options to todo task add

There are a few additional properties available to the todoTask lately so let's include them in our command todo task add Graph - todoTask properties
Options to add

Option
Description

--categories [categories]
Comma-separated list of categories associated with the task.

--completedDateTime [completedDateTime]
The date and time when the task was finished. This should be defined as a valid ISO 8601 string. 2021-12-16T18:28:48.6964197Z

--startDateTime [startDateTime]
The date and time when the task is scheduled to start. This should be defined as a valid ISO 8601 string. 2021-12-16T18:28:48.6964197Z

--status [status]
Indicates the state or progress of the task. The possible values are: notStarted, inProgress, completed, waitingOnOthers, deferred.

Additional examples
Add a task to Microsoft To Do with several categories
m365 todo task add --title "New task" --listName "My task list" --categories "Red category,Important"

Add a task to Microsoft To Do with a status and set a reminder for the task
m365 todo task add --title "New task" --listName "My task list" --status "inProgress" --isReminderOn

Remarks
When you specify the values for categories, consider the following. Each category can correspond to the displayName property of an outlookCategory that the user has defined. It is permissible to use distinct names.

We already have an option --reminderDateTime so I wonder if --isReminderOn would be useful here.

True, isReminderOn doesn't appear to be doing a lot. I've removed that option for this enhancement and for set (#4602) as well.

Awesome, all yours!


PC console paper assignment

This lets Program Chairs assign papers among themselves.
They can also sort the papers to see their own assignments at the top.
Requires https://github.com/iesl/openreview/pull/1568

No, the tag invitations for this can not be created through the builder right now. You could use the script in https://github.com/iesl/openreview-scripts/pull/1119 for this.


Add support to merge hy1 files

Somewhat addressed on b53cd7b.
CTDCAL should support the merging of bottle files, such as those for bio casts, different rosettes, or alternative fitting routines.

[ ] Test

Removed CLI option from current goals of this issue, since CTDCAL doesn't have a "vanilla write to hy1" function (which will be addressed during the refactoring as export_hy1 is broken up).


Added support for patch JDK version, like 11.0.14+1

Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

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

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

@dblock should fix https://github.com/opensearch-project/OpenSearch/pull/2301


luci-mod-status: firmware version should include revision number

Steps to reproduce:

Go to: Status -> Overview
Notice that the Firmware version field does not include a revision number.

Actual behavior:

Firmware version doesn't include the revision number.

Expected behavior:

Firmware version should include the revision number.

Additional Information:
The output of ubus call system board was changed in https://github.com/openwrt/procd/commit/0f88a52dc8a5451bd7f1f33ffff3b1ba3db98174 which introduced this problem. First discovered and discussed on the forum at https://forum.openwrt.org/t/strange-firmware-version-string/213745
Here's the SNAPSHOT at point in time of writing this which doesn't work:
{
        "kernel": "6.6.57",
        "hostname": "labmouse",
        "system": "AMD Ryzen 7 3700X 8-Core Processor",
        "model": "VMware, Inc. VMware Virtual Platform",
        "board_name": "vmware-inc-vmware-virtual-platform",
        "rootfs_type": "ext4",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "description": "OpenWrt SNAPSHOT",
                "revision": "r27893-b6bbc76c0b",
                "target": "x86/64",
                "builddate": "1729635115"
        }
}

and here's a device I run r27687 on which does work
{
        "kernel": "6.6.54",
        "hostname": "JetFuel",
        "system": "ARMv8 Processor rev 4",
        "model": "Linksys MX4200v1",
        "board_name": "linksys,mx4200v1",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "revision": "r27687-b62e6f5beb",
                "target": "qualcommax/ipq807x",
                "description": "OpenWrt SNAPSHOT r27687-b62e6f5beb"
        }
}

DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='SNAPSHOT'
DISTRIB_REVISION='r27893-b6bbc76c0b'
DISTRIB_TARGET='x86/64'
DISTRIB_ARCH='x86_64'
DISTRIB_DESCRIPTION='OpenWrt SNAPSHOT r27893-b6bbc76c0b'
DISTRIB_TAINTS=''

To get to parity as before I assume we would need to change boardinfo.release.description to boardinfo.release.description + ' ' + boardinfo.release.revision at https://github.com/openwrt/luci/blob/c85af3d7618b55c499ce4bf58e3896068bd413ae/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js#L41, I'm a bit unsure where the stable versions end up but if it's baked in to the description as "description": "OpenWrt 24.10" (assuming that'll be the next stable version) that should work.

Yeah.👍 if we depend on the new file, this is likely a good update. Feeling up for a PR?

Maybe the OpenWrt side change should be fixed, the commit sort of implies that the intention was to provide the same data and there's probably other downstream users affected by this as well.

Unfortunately, I didn't know that information was missing here.
The question is whether I should fix this in the procd as suggested by @jow- or in the LuCI as suggested by @dannil.
I would fix this in the procd. And would replace PRETTY_NAME  with the information from  OPENWRT_RELESE ?
Does the value CONFIG_VERSION_CODE is having the correct value SNAPSHOT?
I don't have access to any system at the moment as I'm travelling. So can someone send me the output of /usr/lib/os-release and /etc/openwrt_release, then we can compare and check what the correct value is.

Now I was too hasty. I have just seen that these two values DISTRIB_DESCRIPTION in /etc/openwrt_release and OPENWRT_RELEASE in /usr/lib/os-release  are the same, so I will create a Patch and use OPENWRT_RELEASE in procd to fix this.

I don't have access to any system at the moment as I'm travelling. So can someone send me the output of /usr/lib/os-release and /etc/openwrt_release, then we can compare and check what the correct value is.`

@feckert if you still need it.
root@labmouse:~# cat /usr/lib/os-release
NAME="OpenWrt"
VERSION="SNAPSHOT"
ID="openwrt"
ID_LIKE="lede openwrt"
PRETTY_NAME="OpenWrt SNAPSHOT"
VERSION_ID="snapshot"
HOME_URL="https://openwrt.org/"
BUG_URL="https://bugs.openwrt.org/"
SUPPORT_URL="https://forum.openwrt.org/"
BUILD_ID="r27893-b6bbc76c0b"
OPENWRT_BOARD="x86/64"
OPENWRT_ARCH="x86_64"
OPENWRT_TAINTS=""
OPENWRT_DEVICE_MANUFACTURER="OpenWrt"
OPENWRT_DEVICE_MANUFACTURER_URL="https://openwrt.org/"
OPENWRT_DEVICE_PRODUCT="Generic"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="OpenWrt SNAPSHOT r27893-b6bbc76c0b"
OPENWRT_BUILD_DATE="1729635115"

root@labmouse:~# cat /etc/openwrt_release
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='SNAPSHOT'
DISTRIB_REVISION='r27893-b6bbc76c0b'
DISTRIB_TARGET='x86/64'
DISTRIB_ARCH='x86_64'
DISTRIB_DESCRIPTION='OpenWrt SNAPSHOT r27893-b6bbc76c0b'
DISTRIB_TAINTS=''

I'm going to leave the issue open for visibility - at least until the patch is merged.

@feckert did you also send a PR to repo also?

24.10 has now been branched without this fix being merged to procd and at least since 19.07 it hasn't had stable branches so backporting doesn't seem trivial in that repo. How do we go about solving this issue now?

Stay the course. There are a few rc to go yet.

@feckert any update on the patch?

@feckert did you also send a PR to repo also?

No. I only send this to patchwork

@feckert any update on the patch?

No. Sorry
@systemcrash Lets highlight the core maintainer to merge the procd fix for this issue.
@jow- @hauke Could anyone merge this into procd? To Fix this issue?

@feckert I will take care of that. Just one question the PRETTY_NAME was never used? It got dropped?

@feckert I will take care of that. Just one question the PRETTY_NAME was never used? It got dropped?

@Ansuel Correct PRETTY_NAME was never used in the old implementation.
Before my change procd reads the variable DISTRIB_DESCRIPTION from /etc/openwrt_release.
After my change procd reads the varialbe PRETTY_NAME from /usr/lib/os-release.
This is not correct. Unfortunately, I overlooked that. The same information can be found in the variable OPENWRT_RELEASE in /usr/lib/os-release. The patch for procd fixes this. So we have the same information available as before.

Fixed procd pushed. This will be magically fixed once updated packages gets built.

@Ansuel Thank you for taking care of this.

Thanks @Ansuel


feat: Retain Windows newlines after sorting package.json strings

Perfect! Thanks!

:tada: This PR is included in version 1.21.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix: correct type

overview
This is a very simple PR
I was referring to the example and found a type error, so I fixed it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


add codecov for oasis.

What this PR does / why we need it:
add codecov token for oasis.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Specify your PR reviewers:

/cc @gyliu513
Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:

/lgtm


Assistant and "Hey/Ok Google" hotwords doesn't work after a restart.

Pixel launcher, themes and everything else is working perfectly. But every time I restart my phone I can't use the assistant neither by launching it manually on the phone or with the hotwords. What I need to do is change the default assistant app to "None" and then back to "Google" and re-enable voice match and it works perfectly after that.

I apologize for the problem, it is fixed now, you will get it via next update

This should be fixed on pixelily v2
feel free to reopen or create new issue if doesn't


Added support for building everything on Windows

An optional extra parameter that allows Windows build machines to build the Xamarin platforms:
.\build.ps1 -PlatformProjects Everything

This is optional and only available on Windows. It uses MSBuild and requires the iOS build host.

how can I contribute


adjust sel alert test in cit api 2.0 test to align with new event format

modify test case to align with the new event format
Jenkins: depend on https://github.com/RackHD/on-tasks/pull/391 https://github.com/RackHD/on-core/pull/250

BUILD RackHD #1195 : ABORTED

** BUILD build-config-setup  #1052: SUCCESS
** BUILD CIT  #665: ABORTED


Can't run ostorlab from a docker container ?

I have a Debian 12 OS, in this OS I have a docker container from this project :
https://github.com/bugy/script-server
So my goal is to run ostorlab from that tool. I installed ostorlab in the container but when I try to run it I have this error message :
ERROR: Error using docker.
Is it not possible to run ostorlab from a container ?
Regards,
Monkey

You can run it from a container, however it needs access to the docker API. You can either do so by mounting the docker socket file, which I known works, or docker-in-docker, which I haven't tested.

We have updated the documentation to show to how to run it from docker.


DNS resolver configuration in reverse proxy should respect /etc/resolv.conf for k8s etc.. container runtime.

Describe the bug
When I deploy this image on my Kubernetes cluster, the reverse proxy fails due to a DNS lookup error.
I didn't notice this problem because I didn't test it on kubernetes when I tested 2.0.0 in #119 🙇 .
Expected behavior
The system should resolve the hostname for Kratos in the internal network, applicable not only to Docker locally but also to other container runtimes.
Nginx should prioritize using /etc/resolv.conf, and default to <IP_ADDRESS> only if this configuration file is unavailable.
I confirmed /etc/resolv.conf is also available in the container on Docker for Desktop.
# cat /etc/resolv.conf
nameserver <IP_ADDRESS>
options ndots:0

Kubernetes:

Version 1.21

kratos-admin-ui

Version 2.0.0

Related context
It seems nginx-ingress-controller is also taking same approach.

I will make a PR if I find some spare time in the coming days.

@dfoxg I made a PR #124 ! Could you please test it?

Thanks for that contribution! I just released v2.0.1 🎉


Simplified Options._get_fields(); refs #24328.

lgtm

Looks very nice. +1

I'm working on a larger refactor to _get_fields(), so please don't commit.

Great! Is your work already on a pull request? Where is it?
Le lun. 16 févr. 2015 à 11:40, Anssi Kääriäinen<EMAIL_ADDRESS>a écrit :

I'm working on a larger refactor to _get_fields(), so please don't commit.
—
Reply to this email directly or view it on GitHub
https://github.com/django/django/pull/4142#issuecomment-74488901.

Closing per Anssi's comment.


Not able to see git log for a specific file

VSCode Version: 1.8.1
OS Version: windows-10

Steps to Reproduce:

Open a git project.
Try to do git log -p
It's not working. Is there a support of external installer to have this option?

Are you running git log -p in integrated terminal? From what I can tell it works.

Closing as we need more info to investigate this issue.
@komal436 If this is still a problem, please produce some addition information about the problem and how we can reproduce it.
Thanks


Ad Slot not working on mobile

Hi,
I am using this component with react-responsive component to display google ads on desktop and mobile.
My component is not working on mobile, I can't find the ad slot when I append ?googfc to my url.
My usage of this component is like
import GoogleAd from 'react-google-publisher-tag';

<GoogleAd
    path="/-----/-----"
    format={"RECTANGLE"} />

<GoogleAd
    path="/-----/-----"
    format={"VERTICAL"} />

<GoogleAd
    path="/-----/-----"
    mobile={true}
    format={"HORIZONTAL"} />

The first two are working while the 3rd one is not. First one is a 300x250, 2nd one is a 300x600 and 3rd one is 320x50. I also tried using the 3rd component as
<GoogleAd
    path="/-----/-----"
    mobile={true}
    format={"MOBILE"} />

Using mobile for format, which is not documented yet but I saw that it has been done in the code.
And pointers on what could be going wrong ?

I am sorry but documentation is out of date. I will update it today. There is no mobile parameter. It was mess in the old version. You can use these sizes (or you can use your own):
export const Dimensions = {
  [Format.HORIZONTAL]: [[970, 90], [728, 90], [468, 60], [234, 60]],
  [Format.RECTANGLE]: [[336, 280], [300, 250], [250, 250], [200, 200], [180, 150], [125, 125]],
  [Format.VERTICAL]: [[300, 600], [160, 600], [120, 600], [120, 240]],
  [Format.MOBILE]: [[320, 50]],
  '300x600': [[300, 600], [160, 600]],
  '336x280': [[336, 280], [300, 250]],
  '728x90': [[728, 90], [468, 60]],
  '970x90': [[970, 90], [728, 90], [468, 60]],
};

As you can see the horizontal dimension have no MOBILE size (320x50).
First of all do not forget to write correct dimensions into the your google publisher tag account.
There is one more condition: holder of the AD needs to have a min width equal 320px. If you wont to turn off this feature you need to set property responsive={false};
Let me know if is it working for you?
Sometimes you are not able to see any ad because the adsense are not going to send you any.

Adding the width to ad container worked for me, closing this one, thanks.


lxc/config: Prevent adding multiple routed NIC devices

Signed-off-by: Sascha Bast<EMAIL_ADDRESS>

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

Hi @my5t3ry , thanks for this, but I think it would be better to validate this in the LXD server rather than in the client. That way if someone is using our API they still get the benefit of the validate. Also we don't put device specific validation into the client.
Instead, can you take a look at adding this here https://github.com/lxc/lxd/blob/master/lxd/device/nic_routed.go#L43 using the d.inst.ExpandedConfig() function to iterate through the instance's other devices looking for conflicting devices.

@my5t3ry also its useful to link your PR to the issue its fixing by adding Fixes #<issue number> in the description.
I presume this is for https://github.com/lxc/lxd/issues/7943

@my5t3ry also as per the https://github.com/lxc/lxd/issues/7943 issue , we don't want to prevent adding multiple routed NIC types to an instance, but only to prevent adding multiple routed NICs using the auto gateway mode.

thank you for the review. i got it, and will try to complete it at some throughout the weekend :)

Hi @tomponline, i have a question regarding the procedure for committing changes to an active pull request. Does it make more sense to commit the changes one by one to get a better overview, and then squash them when the request is technically accepted? Or just squash the changes that need to be reviewed before pushing, like I did for the last review iterartions? thanks : )

@my5t3ry the way we normally do this is to have a commit for each logical change, rather than one single merge commit or lots of little commits showing the iteration of development.

Well, that ipv4 and ipv6 configuration do not interfere should have been clear to me. Your code is great ; )

jenkins: test this please

@my5t3ry thanks, looks good, couple of typos to fix, and am running it through our jenkins CI system now to see if it picks up any issues.

jenkins: test this please

thanks @my5t3ry !


{AKS} Refactor 10th part of the update sub-command in acs module

Description

Refactor updating auto upgrade channel.

Unit Test Coverage:

"covered_lines": 1712,
"num_statements": 1727,
"percent_covered": 99.13144180660105,
"missing_lines": 15,
"excluded_lines": 0

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

AKS


Document Happy_eyeballs.timer changes

Thanks. CI failures look unrelated (eventually some 4.12.1 and 32 bit trouble? //cc @kit-ty-kate @talex5)


Could not find valid Experiment ID when executing mlflow run

System information

Have I written custom code (as opposed to using a stock example script provided in MLflow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): MacOS Sierra 10.12.6
MLflow installed from (source or binary):  binary
MLflow version (run mlflow --version): mlflow, version 0.2.1
Python version:  Python 3.6.6 :: Anaconda, Inc.
npm version (if running the dev UI): N.A
Exact command to reproduce:

(rr-sample-reg) ip-10-10-180-57:rr-sample-regression arinto$ mlflow experiments create life_sat_lr
Created experiment 'life_sat_lr' with id 1
(rr-sample-reg) ip-10-10-180-57:rr-sample-regression arinto$ export MLFLOW_EXPERIMENT_ID=1
(rr-sample-reg) ip-10-10-180-57:rr-sample-regression arinto$ mlflow run /Users/arinto/repository/github/rr-sample-regression -e main -P lr_feature="Employment rate as pct"

Describe the problem
I try to organize runs into experiment following this documentation but mlflow run shows exception. I'm not using tracking server at the moment.
Source code / logs
Exception stack from mlflow run
(rr-sample-reg) ip-10-10-180-57:rr-sample-regression arinto$ mlflow run /Users/arinto/repository/github/rr-sample-regression -e main -P lr_feature="Employment rate as pct"
=== Fetching project from /Users/arinto/repository/github/rr-sample-regression ===
=== Work directory for this run: /Users/arinto/repository/github/rr-sample-regression ===
=== Created directory /var/folders/fd/h7tg23rd2p3cx7mnp7j47_gw0000gn/T/tmpyzpx3_w9 for downloading remote URIs passed to arguments of type 'path' ===
Traceback (most recent call last):
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/bin/mlflow", line 11, in <module>
    sys.exit(cli())
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/cli.py", line 108, in run
    storage_dir=storage_dir)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/projects.py", line 285, in run
    storage_dir=storage_dir, git_username=git_username, git_password=git_password)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/projects.py", line 248, in _run_local
    _run_project(project, entry_point, work_dir, parameters, use_conda, storage_dir, experiment_id)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/projects.py", line 415, in _run_project
    source_type=SourceType.PROJECT)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/tracking/__init__.py", line 257, in start_run
    entry_point_name, source_type)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/tracking/__init__.py", line 222, in _do_start_run
    source_version=(source_version or _get_source_version()), tags=[])
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/store/file_store.py", line 150, in create_run
    if self.get_experiment(experiment_id) is None:
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/store/file_store.py", line 116, in get_experiment
    raise Exception("Could not find experiment with ID %s" % experiment_id)
Exception: Could not find experiment with ID 1

What is your MLFLOW_TRACKING_URI environment variable set to? Maybe this is pointing to a different location than where you created the experiment. The other problem could be if you ran these commands in different directories.

MLFLOW_TRACKING_URI is empty.
(rr-sample-reg) arinto-mbp-tvlk:rr-sample-regression arinto$ echo $MLFLOW_TRACKING_URI

It seems that I need to set it up to mlruns (since I'm not using tracking server at the moment)

Ah, I see. Maybe that mlruns directory needs to exist first. Make sure you run the create experiment command in the same directory where you have mlruns also.

Here's my latest observation

Creating the experiment will create folder $PROJECT_ROOT\mlruns\$EXPERIMENT_ID
However, that folder is erased after I executed mlflow run .....

I do not set MLFLOW_TRACKING_URI environment variable and relied on the default: mlruns
Here's the command line execution supporting my latest observation.
(rr-sample-reg) arinto-mbp-tvlk:rr-sample-regression arinto$ mlflow experiments create another_exp
Created experiment 'another_exp' with id 1
(rr-sample-reg) arinto-mbp-tvlk:rr-sample-regression arinto$ ls mlruns
0	1
(rr-sample-reg) arinto-mbp-tvlk:rr-sample-regression arinto$ mlflow run /Users/arinto/git/rr-sample-regression -e main -P lr_feature="Student skills as avg score"
=== Fetching project from /Users/arinto/git/rr-sample-regression ===
=== Work directory for this run: /Users/arinto/git/rr-sample-regression ===
=== Created directory /var/folders/fd/h7tg23rd2p3cx7mnp7j47_gw0000gn/T/tmp7_kl3llb for downloading remote URIs passed to arguments of type 'path' ===
Traceback (most recent call last):
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/bin/mlflow", line 11, in <module>
    sys.exit(cli())
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/cli.py", line 108, in run
    storage_dir=storage_dir)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/projects.py", line 285, in run
    storage_dir=storage_dir, git_username=git_username, git_password=git_password)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/projects.py", line 248, in _run_local
    _run_project(project, entry_point, work_dir, parameters, use_conda, storage_dir, experiment_id)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/projects.py", line 415, in _run_project
    source_type=SourceType.PROJECT)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/tracking/__init__.py", line 257, in start_run
    entry_point_name, source_type)
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/tracking/__init__.py", line 222, in _do_start_run
    source_version=(source_version or _get_source_version()), tags=[])
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/store/file_store.py", line 150, in create_run
    if self.get_experiment(experiment_id) is None:
  File "/Users/arinto/anaconda3/envs/rr-sample-reg/lib/python3.6/site-packages/mlflow/store/file_store.py", line 116, in get_experiment
    raise Exception("Could not find experiment with ID %s" % experiment_id)
Exception: Could not find experiment with ID 1
(rr-sample-reg) arinto-mbp-tvlk:rr-sample-regression arinto$ ls mlruns
0

Ah thanks for reporting the issue @arinto & investigating @mateiz, I think the problem is that we remove the mlruns directory from the working directory for the run if it exists here, and in this case the working directory for the run is the same as the tracking directory. I believe @juntai-zheng also hit this issue.
@mateiz I think a fix here could be to just not remove the "mlruns" & "outputs" directories - users who want to run in a pristine directory containing only their project files can pass the --new-dir flag to mlflow run.

@arinto a workaround for now is to run the create experiment and mlflow run commands from a directory other than (/Users/arinto/repository/github/rr-sample-regression) the one containing the project itself, or running mlflow run with the --new-dir flag

Ok, thanks for the workaround! It works! Should we keep this bug? Seems like it's low priority bug.

@arinto I think we should fix the issue, would you be interested in making a PR? I'd be happy to review & merge it :)

@smurching : so what is the correct behaviour ?
When we execute mlflow run in current working directory, we should not wipe out existing tracking directory?
Any UT that emulate this scenario?
I'm still occupied with another task, hence could not deep dive to the code at the moment. A pointer to the existing UT will speed up understanding of the code.

@arinto good question, yeah we shouldn't remove the tracking directory (mlruns) from the working directory for project execution. I think we just need to remove the shutil.rmtree calls here. We do have a unit test for mlflow.projects._fetch_project (the utility method that fetches projects into a working directory / currently removes the mlruns directory, see here). We could add a test that creates an mlruns folder within a temp directory, attempts to fetch the temp directory, and verifies that the fetched directory's contents match the original as we do here

Cool, will close this issue since PR is merged.


User authentication system

Basic user login/signup/authenticaion system.
TODO: implement page permissions determined by chapter

Chapter detail edit page authentication check is setup