[DOCS]: Regarding reseting onboarding

Description
Hi, I am playing with the tool and one thing I am not able to figure out was, if I want to reset everything and go back to onboarding page, how can I do it. For example, right now i set this up for an individual and now I want to change this experience for a team.

There was no description on how you are using AnythingLLM so ill provide the ususal suspects:
Docker

When you started the container you attached some STORAGE location from the HOW_TO_USE_DOCKER.md file we have. To reset everything, delete that folder

Desktop
Mac: /Library/Application Support/anythingllm-desktop You can just delete this whole folder. On reboot it will be re-created
Windows: C:\Users\usr\AppData\Roaming\anythingllm-dekstop - same as above
Linux: ~/.config/anythingllm-desktop
Local Development

yarn prisma:reset
make sure no LLM_PROVIDER, EMBEDDING_ENGINE, or VECTOR_DATABASE env keys are set.

Ah thanks. Ya I was running on Docker. I deleted everything inside the folder but not the .env file. Though if anythingllm.db is wiped of completely, it will take me to the initial step.


Url patterns marked as safe in template

Hi,
Thanks for all the work you've done on django-robots.
I suggest to mark the urlpatterns as safe in template to allow patterns including chars like &.
Ex:
Before:
User-agent: *
Allow: /bar/?foo=1&foobar=2
Disallow: /bar/?foo=1&foobar=2

After:
User-agent: *
Allow: /bar/?foo=1&foobar=2
Disallow: /bar/?foo=1&foobar=2

plz do fix the conflict :)

@pierreben do you mind to fix the conflict?

@pierreben awaesome!

@pierreben thanks for your contribution. merging this

You're welcome, it was my pleasure.


Persist data with Room

URL of codelab:
Specify the language of the codelab if it is not English:
In which task and step of the codelab can this issue be found?
Describe the problem
Steps to reproduce?

Go to "https://developer.android.com/codelabs/basic-android-kotlin-compose-persisting-data-room?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-6-pathway-2%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-persisting-data-room#5"
Click on "Create the ItemDao"
Query SQL should be @Query("SELECT * from items WHERE id = :id"), the table name is items not item

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

duplicated


Enable interacting with Widgets in Floating Overlay

Re-using the reposition object enables interaction with the child widget as the overlay entry does not need to be rebuilt.
There are a few other issues relating to refreshing the page when using Flutter Web as state maintained in the FloatingOverlay. Adding a UniqueKey() solves the null issues for the overlay context that is lost but also means that the RouteObserver no longer works. :-S
Fixes: #5

Hi! I'm really sorry for taking so long to answer!
Could you please give me more insight into what you meant by "refreshing the page"? Consider posting a screen recording or something like that.
I would also really appreciate it if you took the time to create two more screen recordings to update this PR with the previous behaviour and the new behaviour.
I've not personally used Flutter Web to publish anything, so I'm really unfamiliar with some of the things you may be aware of. It would greatly help me and this package in future features.


Simplify MultiprocessIterator

This PR simplify MultiprocessIterator by using multiprocessing.pool.Pool.

@okuta This conflicts with #3076. Can you check?

This PR fixes #2909 . But we use #3076 .

Sorry, it seems I was too late to write my comments.
If I understand correctly, this PR just replaces of hand-written worker management by pool. But my PR is almost rewrites original implementation. So I don't think merging them makes sense. Notable differences are:

Instated of polling-based queue management, my implementation uses conditional variables.
In my implementation the prefetch thread runs independently from __next__ call in the main thread. It may complicate reset implementation, but I think I managed to achieve a simple mechanism using a counter.

I honestly like my own implementation, but this PR can be reasonable conservative choice. If you find any flaws in my codes, I'm happy to fix those.

Thank you for your comment.
I am reviewing your PR. Your PR has good features.


Remove and ignore parameters.yml

I used platformsh/platformsh-example-symfony as a starting point to create a Symfony project. When I analyzed my project using SensioLabs Insight, it complained that my parameters.yml was checked in to version control.
I didn't even consider the possibility that parameters.yml would be checked in to version control, especially since Symfony Standard ignores it.
Seeing that parameters.yml is automatically created on composer install and often contains credentials, I would argue that it shouldn't be included in the example Platform.sh Symfony project.
If I made any mistakes in this pull request, I'd be happy to correct them.

Thanks, @yhoiseth.  You're right, there's not much point to including that file.  However, it currently is still somewhat used.  See https://github.com/platformsh/platformsh-example-symfony/blob/2.8/app/config/config.yml#L2
If you run composer install --no-interactive (as we do), and that file doesn't exist, it will get regenerated with default values.  That's largely fine, but the default file is set to use the smtp mailer set to localhost rather than the mail function.  We don't support smtp to localhost, only mail().  So that would result in a broken mail configuration.
The solution would be to specify the mailer explicitly in either parameters_platform.php or in app/config.yml, before the transport gets used (toward the end of the config.yml file).  Off hand I'm not sure which would be better from a Symfony perspective.
Can you update this PR to do one or the other?  That would allow us to remove that parametes.yml without any ill-effects.

@Crell Thanks for your feedback. I wasn't aware of the issue with smtp to localhost.
I've added a line to parameters_platform.php as you suggested.

Looks good, thanks!

We should do the same for the 3.0 branch (which is actually 3.1, but whatever).  Can you replicate this PR there?

@Crell As far as I can tell, parameters.yml is already ignored in the 3.0 branch, and doesn't exist in the repository.
However, the mailer configuration is missing from parameters_platform.php.
I would think that the current config (without mailer config in parameters_platform.php) has been tested and found to work. Is that a reasonable assumption, or do you think it may be broken?

Hm.  I've not tried the mailing support for the Symfony 3.x branch, actually.  Let's go ahead and just add that config line to that branch to be sure.

@Crell See #24


Installing 2.9.4 in Atom 1.40.1

[ ] I have reset Atom to defaults prior to submitting report.
[x] I have not reset Atom to defaults prior to submitting report.

Description

Terminal fails to install the latest version 2.9.4 from within Atom Editor on a system which has previously installed Terminal using APM outside the Atom Editor.
Steps to reproduce

Launch Atom, head to Install
Search for PlatformIO Terminal and hit install
Install fails with this error:

Expected behavior:
Actual behavior:
Reproduces how often:
Versions

> atom --version

> apm --version

OS name and version: Windows 10 x64 Professional
Platformio-ide-terminal version: 2.9.4
Additional Information

How to fix this issue

When the error message pops up within Atom, copy the path highlighted in the picture above.
Paste it into your file explorer and navigate to the folder.
Delete the folder 'PlatformIO-IDE-Terminal'
Restart Atom and attempt re-installation (it may already show up as installed)

@JamoDevNich the issue was upstream with Atom 1.40.0 and apm, if you upgraded to 1.40.1 from 1.40.0 it may explain any problems getting there, but it works fine if you go from 1.39.1 to 1.40.1
See https://github.com/platformio/platformio-atom-ide-terminal/issues/770 and more specifically https://github.com/atom/atom/issues/19780


Fix missing and wrong default values in cluster-autoscaler.md

I faced this mismatch info issue twice, so I checked the document and submit this PR.
Fact check:
random - this is the default expander, and should be used when you don't have a particular need for the node groups to scale differently
src: https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders

skip-nodes-with-local-storage is now default to false.
Src: https://github.com/kubernetes/autoscaler/blob/90e28918dbf3deb4ed5b1ae6e202fbd4cac43d1a/cluster-autoscaler/cloudprovider/azure/examples/cluster-autoscaler-aks.yaml#L170
I created two kubenet AKS and both give the same result.

@MGoedtel

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


fix: just return content with devFlag + html content

fix #161.#160

see https://github.com/vuejs/vite/issues/161#issuecomment-630469635


How to do search in datatable and showing related results only using this plugin

I am using paginate v2 plugin for getting data into data table from the MongoDB server. I am successfully getting the result into data table with server-side pagination. But with using this plugin, my search is not working . Its doing nothing when I do a search but in default search array, I am getting the value in the console .I also tried to populate but It's giving me  Cannot read property 'count' of undefined error. Please help me with a searching option.
here is my nodejs code.
app.get('/gettable',(req,res)=>{
    console.log(req.query);
user.paginate({},{
        page:Math.ceil(req.query.start / req.query.length) + 1,
        limit:parseInt(req.query.length),
        populate:{
            match:{
                name:'Graiden Waller'
            }
        }
    },function(err,result){
        /* console.log(result); */
        var mytable = {
            draw:req.query.draw,
            recordsTotal:0,
            recordsFiltered:0,
            data:[],

        }
        if(err) {
            console.log(err);
            res.json(mytable);
        } else {
            if(result.totalDocs > 0) {
                mytable.recordsTotal = result.totalDocs;
                mytable.recordsFiltered = result.totalDocs;

                for(var key in result.docs) {
                    mytable.data.push([
                        result.docs[key]['name'],
                        result.docs[key]['lastname'],
                        result.docs[key]['email'],
                        result.docs[key]['pass'],
                        result.docs[key]['birthdate'],
                        result.docs[key]['zipcode'],
                        result.docs[key]['phonenumber'],
                    ]);
                }
              }
               res.json(mytable);
  }

 });

So as per populate,I should get the 'Graiden Waller' named row but in console it's giving me error of cannot read property 'count ' undefined.

@aravindnc how? can you tell me, please?

@romulo94 Can you tell me your query.


🐛 File not found in /tmp/resting_preproc_sub-{sub}_ses-{ses}/func_gather_0/_scan_{scan}/selectrest

Describe the bug

Traceback (most recent call last):
  File "/home/jon/.local/lib/python3.7/site-packages/nipype/pipeline/plugins/multiproc.py", line 69, in run_node
    result['result'] = node.run(updatehash=updatehash)
  File "/home/jon/.local/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 482, in run
    self, report_type='postexec', is_mapnode=isinstance(self, MapNode))
  File "/home/jon/.local/lib/python3.7/site-packages/nipype/pipeline/engine/utils.py", line 156, in write_report
    result = node.result  # Locally cache result
  File "/home/jon/.local/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 195, in result
    return _load_resultfile(self.output_dir(), self.name)[0]
  File "/home/jon/.local/lib/python3.7/site-packages/nipype/pipeline/engine/utils.py", line 364, in load_resultfile
    **modify_paths(outputs, relative=False, basedir=path))
  File "/home/jon/.local/lib/python3.7/site-packages/nipype/pipeline/engine/utils.py", line 482, in modify_paths
    val, relative=relative, basedir=basedir)
  File "/home/jon/.local/lib/python3.7/site-packages/nipype/pipeline/engine/utils.py", line 502, in modify_paths
    raise IOError('File %s not found' % out)
OSError: File /tmp/resting_preproc_sub-9002_ses-1/func_gather_0/_scan_rest/selectrest/bids/sub-9002/ses-1/func/sub-9002_ses-1_task-rest_bold.nii.gz not found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 239, in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
  File "/home/jon/.local/lib/python3.7/site-packages/nipype/pipeline/plugins/multiproc.py", line 72, in run_node
    result['result'] = node.result
  File "/home/jon/.local/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 195, in result
    return _load_resultfile(self.output_dir(), self.name)[0]
  File "/home/jon/.local/lib/python3.7/site-packages/nipype/pipeline/engine/utils.py", line 364, in load_resultfile
    **modify_paths(outputs, relative=False, basedir=path))
  File "/home/jon/.local/lib/python3.7/site-packages/nipype/pipeline/engine/utils.py", line 482, in modify_paths
    val, relative=relative, basedir=basedir)
  File "/home/jon/.local/lib/python3.7/site-packages/nipype/pipeline/engine/utils.py", line 502, in modify_paths
    raise IOError('File %s not found' % out)
OSError: File /tmp/resting_preproc_sub-9002_ses-1/func_gather_0/_scan_rest/selectrest/bids/sub-9002/ses-1/func/sub-9002_ses-1_task-rest_bold.nii.gz not found

To Reproduce
Steps to reproduce the behavior:

try to run this repository on Brainlife

OR

Clone this repository
Locally recreate the Brainlife directory structure
Run ./main

Expected behavior

C-PAC runs the default pipeline on the single subject in bids.
Versions

C-PAC: v1.7.0
Container Platform :

Singularity: 2.5.2-HEAD.b258b6514

Additional context

Brainlife uses bl2bids to create a local directory called bids that looks like this
├── bids
│   ├── dataset_description.json
│   └── sub-9002
│       └── ses-1
│           ├── anat
│           │   ├── sub-9002_ses-1_T1w.json
│           │   └── sub-9002_ses-1_T1w.nii.gz -> ../../../../../5f185b023f121164d2bf5080/5d797315b0578272dd90df95/t1.nii.gz
│           └── func
│               ├── sub-9002_ses-1_task-rest_bold.json
│               └── sub-9002_ses-1_task-rest_bold.nii.gz -> ../../../../../5f185b023f121164d2bf5080/5e546c4b5b9d90232672dae5/bold.nii.gz

Possibly resolved in 2dc608c; testing now

Resolved in 2dc608c


Espressif targets (ESP32) seem to be broken

Describe the bug
Current Zephyr version (3.7.99) seems to have broken compilation for Espressif targets such as the regular ESP32 (xtensa) and the newer ESP32C3 (risc-v).
To Reproduce

west build -b xiao_esp32c3 samples/hello_world --pristine
See error

Expected behavior
The project or sample should build just fine. It was working on 3.7.0-rc3.
Impact
It prevents Espressif builds to compile.
Logs and console output
The build throws many errors, but they can be reduced to the following:
modules\hal\espressif\components\driver\gpio\include\driver\gpio.h:327:32: error: unknown type name 'gpio_num_t'; did you mean 'gpio_isr_t'?
  327 | esp_err_t gpio_isr_handler_add(gpio_num_t gpio_num, gpio_isr_t isr_handler, void *args);
...
modules/hal/espressif/components/spi_flash/esp_flash_spi_init.c:349:32: warning: implicit declaration of function 'ESP_FLASH_HOST_CONFIG_DEFAULT' [-Wimplicit-function-declaration]
  349 |     memspi_host_config_t cfg = ESP_FLASH_HOST_CONFIG_DEFAULT();
...
modules\hal\espressif\components\hal\esp32c3\include\hal\gpio_ll.h:670:28: error: 'GPIO_NUM_5' undeclared (first use in this function)
  670 |     HAL_ASSERT(gpio_num <= GPIO_NUM_5 && "gpio larger than 5 does not support deep sleep wake-up function");

Environment (please complete the following information):

OS: Windows 23H2
Zephyr 3.7.99, SDK version 0.16.8.
Commit SHA: ca48767be48 (HEAD -> main, origin/main, origin/HEAD) boards: byteSENSI-L: add gnss support

Additional context
I noticed it a week ago but decided to wait a bit for hotfixes. Those ended up not comming, hence why I'm opening this issue.
Since no one has opened an issue yet I suppose it really might be a problem on my side, but my fork has been synced today with the source.

@alexpaschoaletto just checked with latest main, all good.

Can you run a west update and verify that doesn't fix things? This sounds like a local build issue.

Indeed that was the problem. I forgot to run west update. Thank you for your help and sorry for the false alarm.

@alexpaschoaletto just checked with latest main, all good.

Just out of curiosity, did you just build successfully or have you also ran on a board? The build problem has gone away here, but for the regular ESP32 (xtensa esp32_devkitc_wroom) now it is stuck on a reset loop with this message:
ets Jun  8 2016 00:22:57

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3ffb0000,len:6312
load:0x40080000,len:32560
entry 0x4008378c
I (29) boot: ESP Simple boot
I (29) boot: compile time Sep  3 2024 18:32:14
W (29) boot: Unicore bootloader
I (30) spi_flash: detected chip: generic
I (32) spi_flash: flash io: dio
I (35) boot: chip revision: v1.0
E (38) boot: You are using ESP32 chip revision (1) that is unsupported. While it may work, it could cause unexpected behavior or issues.
E (50) boot: Proceeding with this ESP32 chip revision is not recommended unless you fully understand the potential risk and limitations.
E (62) boot: If you choose to continue, please enable the 'CONFIG_ESP32_USE_UNSUPPORTED_REVISION' in your project configuration.
E (73) boot: HW init failed, aborting
Fatal exception (0): IllegalInstruction
epc1=0x400d139a, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000

It happened with other samples aswell. While one can obviously tell what seems to be the problem from the error, I still find it somewhat intriguing. It doesn't look like related to Zephyr but to the Espressif toolchain one, however, so I'll be closing this issue shortly if no one has anything left to say.
Thanks again for the help!

The reason is that your ESP32 is old revision. In your prj.conf, enable this:
CONFIG_ESP32_USE_UNSUPPORTED_REVISION=y.

Funny, I read the two first lines and the third one just had the answer right there.
Excuse me for a moment while I proceed to the corner of shame. And thank you once again.

@alexpaschoaletto haha, no problem at all. The boot loop in there does not help. Will update that not to loop.


[Gov v3] add grace period for preparing ballot

Minimum delegation time always needs to be greater than 0 on all chains that use collateral delegation to establish voting power. This is to prevent a malicious user from using a flashloan to artificially inflate their amount delegated and then calling takeVotePowerSnapshot().

This PR should not be merged as it really does not prevent flashloan usage. The minDelegationTime > 0 should be setted on the Pool that's used for vote counting, not here:

this PR and it does not seem to protect against the flashloan attack described. This is because a flashloan can still be used when calling takeSnapshot to artificially increase the vote power when the snapshot is taken. Preventing takeSnapshot and prepareBallotWithSnapshot from being executed in the same block does not prevent the snapshot from being inflated. If it was possible to detect that a flashloan was being used that would stop the attack, so for example using tx.origin == msg.sender (i.e. being called by an EOA) would be one option. However, this is not a strong control as account abstraction might bypass this check at some point in the future.  It is quite difficult to mitigate at the Election Module level, because the potential to use a flashloan to attack it largely depends on the source of the vote power. In the case of v3 governance, where delegated collateral is used as the sole source of vote power, a strong control is to ensure that minDelegationTime > 0 for any pool that has vote power. This works because the collateral cannot be delegated and undelegated atomically, so flashloans do no work. We recommend adding strong warnings in the comments of the takeSnapshot and setSnapshotContract  stating that atomic inflation attacks are possible with snapshot functionality, so developers should implement a mitigation if additional snapshot contracts are used.


Release for Scala 2.12

Hi,
Any plans to release for Scala 2.12?
Scala 2.13 and Spark 3 would be good to have support for.
Thanks,
Janek

Just change Scala and Spark versions in build.sbt and rebuild the package with sbt compile && sbt package
Scala 2.12 and Spark 2.4.0 worked for me.

Does Qubole have any plans to release a build like that to spark-packages?

Hey, any update on this topic?

Scala 2.12 support would be nice. For myself, i'm using GCP DataProc with an image of Apache Spark 3.1.3 and Scala 2.12.14.
https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-release-2.0
Having sparklens as a supported listener solution in this environment with an emailed report would be really nice, because my organization tends to restrict FW rules aggressively that makes it very difficult to utilize many of the UI based diagnostic tools.

Anyone tried building sparklens with Spark 3.5.1? First I had to build and publish sbt-spark-package 0.2.4 locally but then I get this error:
[error] /Users/antonioye/code/sparklens/src/main/scala/com/qubole/sparklens/helper/HDFSConfigHelper.scala:28: object SparkHadoopUtil in package deploy cannot be accessed in package org.apache.spark.deploy


Fix equals/hashcode of IOContext

It also modernizes it. Actualy this class should be changed to be "record", then equals/hashCode is autogenerated and more performant by using invokedynamic.
This was found by @rmuir in #13196

Looks like a good candidate for a record class alright, but that can come separate to the bug fix.

Will open a PR directly after this was merged. The change to "record" kills almost half of the code. I just have to restore the missing ctors.


append filename to errors thrown from UglifyJS.

When options contains fromString: true, Uglify chooses ‘?’ to represent the filename, which clearly isn’t of any value. So we just append it, for ember-cli's writeError to correctly print.

Shipped in 1.0.0.

danke

Hello :)
This requires a slight change.
'?' is still considered a string, so we will not see the actual filename printed on the console.
hence we need something like:
e.filename = e.filename || relativePath;
e.filename = (e.filename === '?') ? relativePath : e.filename;

Is there any workaround for this?  I have been unable to get my ember-cli app to do a production build for a while now.  It builds fine in development.
Build failed.
File: ? (1:7)
Unexpected token: name (es)

@blisst https://github.com/ef4/broccoli-uglify-sourcemap/pull/6 has been released

Yayyyyy thank you so much!


(maint) Update install script URL

Description Of Changes
This is a minor change to update the URL used by the install script. We use ch0.co domain, so this is just a cosmetic change.
Motivation and Context
Being consistent with our shortlinks.
Testing
Clicked the link and it goes to the same URL as the old link.
Operating Systems Testing
N/A
Change Types Made

[ ] Bug fix (non-breaking change).
[ ] Feature / Enhancement (non-breaking change).
[ ] Breaking change (fix or feature that could cause existing functionality to change).
[ ] Documentation changes.
[ ] PowerShell code changes.

Change Checklist

[ ] Requires a change to the documentation.
[ ] Documentation has been updated.
[ ] Tests to cover my changes, have been added.
[ ] All new and existing tests passed?
[ ] PowerShell code changes: PowerShell v2 compatibility checked?

Related Issue
N/A

@pauby no objections from me for this to go in.  If you can update this branch on the head of develop, we can get this merged.

@gep13 that has been done now.

@mwallner I'm not sure if this URL is part of the work you are doing under #551?

not really, upgrading the buildscript doesn't influence what's packed/bundled with Boxstarter at all, but this needed to be done anyway 🤗


aurbuild: preserve PKGDEST

Right now all the script does is check if the variable is set; it does not pass it on to makepkg, and values in /etc/makepkg.conf take priority (via source).

I've simply set PKGDEST to the repository pool via https://github.com/AladW/aurutils/commit/7660f1a87a6dba5b1ec5d3f812074da1e9fc8818
If you're not building to the repository, then why use it?


Cores download empty zips on unsupported platforms

The mac app hangs when installing N64 cores, need to quit the app to do anything.  Assume its related.

The mac app hangs when installing N64 cores, need to quit the app to do anything.  Assume its related.


Relax nokogiri gemspec pinning

Dependencies conflicts with knife-ec2:
Bundler could not find compatible versions for gem "nokogiri":
  In Gemfile:
    foodcritic (= 3.0.3) ruby depends on
      nokogiri (~> 1.5.4) ruby

    knife-ec2 (= 0.8.0) ruby depends on
      nokogiri (1.6.1)

#217 was merged, closing.


Questions and general guidance

Hi,
It's the first time I'm trying to run this type of analysis, I guess I'd need to guidance. The test I'd like to run involves testing if the convergence is present among species with a defined phenotype in a set of single-copy OGs. Reading your very helpful wiki there are a few things that I should specify, but are not very clear to me.

--foreground specifying the a tab-delimited file in which I specify an id (my choice?), and a corresponding species if (or a regexp). But I'm a bit confused because in the PEPC dataset all the sequences in foreground.txt have the same id in the first column:

1	Alternanthera_pungens_AY950665
1	Amaranthus_hypochondriacus_Z68125
1	Bienertia_sinuspersici_DQ538352
1	Cyperus_sanguinolentus_FM208046
1	Eleocharis_vivipara_AB085948
1	Fimbristylis_littoralis_FM208037
1	Flaveria_australasica_Z25853
1	Setaria_italica_AF495586
1	Sorghum_bicolor_X17379
1	Suaeda_aralocaspica_DQ538353
1	Suaeda_eltonica_DQ538354
1	Zea_mays_X15239

also, are the sequences that I want to test the convergence all listed in the foreground.txt?

There are other flags that can be applied such as --max_arity  or --fg_exclude_wg don't quite understand when to use them and which value to set. It seems like arity (k) is the number of branches I want to compare, if I set 2, csubst will only give pairwise comparisons, but if I set a higher number it will output the results up to that number. For example, if I have 10 species to compare and I set --max_arity to 10, the csubst_cb_10.tsv will show if the convergence happened among all the 10 species, correct?

Which threshold to use and how to interpret the results? If I use a threshold like in one of your example: --cutoff_stat 'OCNany2spe,2.0|omegaCany2spe,5.0', does this mean that all the results in csubst_cb_k.tsv will indicate the branches under convergence? Is there any associate pvalue, or something similar?

Enough question atm.
Thanks a lot for your help
Best
F

But I'm a bit confused because in the PEPC dataset all the sequences in foreground.txt have the same id in the first column:

The same ID works fine with --fg_exclude_wg no. However, if you prefer to assign different IDs to individual lineages, you do not need the --fg_exclude_wg specification. While both settings lead to a similar analysis, there are subtle differences. For instance, in the first scenario, convergence within a lineage comprising multiple species is analyzed, which isn't the case in the second scenario.

also, are the sequences that I want to test the convergence all listed in the foreground.txt?

If I've understood you correctly, all genes of interest should indeed be listed in this file. Failing to do so makes it challenging to identify foreground branch combinations in the CSUBST output files.

For example, if I have 10 species to compare and I set --max_arity to 10, the csubst_cb_10.tsv will show if the convergence happened among all the 10 species, correct?

The csubst_cb_10.tsv file will show if there is convergence among all 10 species, but this is contingent on a couple of conditions. This outcome is expected if all 10 species are independent (with no sister pairs) and if there is a 9- or 10-way convergence that meets the thresholds for a higher-order convergence analysis (--cutoff_stat).

If I use a threshold like in one of your example: --cutoff_stat 'OCNany2spe,2.0|omegaCany2spe,5.0', does this mean that all the results in csubst_cb_k.tsv will indicate the branches under convergence?

It is important to note that not all results in csubst_cb_K.tsv will necessarily indicate branches under convergence. Only a subset of branch combinations in this file may meet the specified thresholds, and it could include non-convergent combinations as well. However, all convergence metrics are provided in the file, so you can verify each one.

Is there any associate pvalue, or something similar?

No, currently not supported.

Hi @kfuku52,
Thanks a lot. Now it's much more clear. Regarding the output. It looks extremely complex, with many values. Can you give me some tips on where to start? if I want to show a pattern of convergence in a paper for example, which values would be the best to report?
Thanks a lot
F

Yes, please check this document out.
https://github.com/kfuku52/csubst/wiki/Interpreting-csubst-outputs

Hi @kfuku52
I'm assigning foreground lineages the same id: 1. To be more precise I also set as foreground the parent nodes of the teminal branches when foreground leaves are monophiletic. and executing this command:
csubst analyze \
                --alignment_file $OG.csubst.fasta \
                --rooted_tree_file $OG.csubst.tree \
                --foreground $OG.foreground.txt \
                --fg_exclude_wg no \
                --fg_stem_only no \
                --cutoff_stat 'OCNany2spe,2.0|omegaCany2spe,5.0' \
                --max_arity 10 \
                --exhaustive_until 1

Unfortunately csubst will only generate arity of 2, which is something I don't want, because I might have more than 2 internal branches that converge.

For example, in this gene tree I'd like to test also the roots of the 3 highlighted branches.
If I then assign to all the branches highlighted a different id and I execute csubst without --fg_exclude_wg, increasing --exhaustive_until, csubst will test all branches.
I do I fix that?
Cheers
F

Could you please clarify by visually indicating the branches you wish to analyze? I want to ensure I fully understand your question.

I'd want to test convergence among the clades highlighted in pink. The three of them have the same phenotype that I'd like to test for convergence.
F

Then your command seems correct. Please note that CSUBST does not produce outputs for K>=3 if there is no convergent combinations at K=2.

Yes, but I have a lot of branches it seems odd it only finds pairs never a triplet. At the moment it processed 170 genes, and not a single triplet?
Odd

Please send your data if you want me to check it.

Thanks a lot!
OG_10275.foreground.txt
OG_10275.csubst.tree.txt
OG_10275.csubst.fasta.txt
F

There is only one (1/176) convergent branch combination that satisfies --cutoff_stat 'OCNany2spe,2.0|omegaCany2spe,5.0' at K=2. Please note that at least 2 branch combinations are required to proceed to the K+1 search.

branch_id_1
branch_id_2
dist_bl
dist_node_num
branch_num_fg
branch_num_mg
is_fg
is_mf
is_mg
omegaCany2any
omegaCany2dif
omegaCany2spe
omegaCdif2any
omegaCdif2dif
omegaCdif2spe
omegaCspe2any
omegaCspe2dif
omegaCspe2spe
dNCany2any
dNCany2dif
dNCany2spe
dNCdif2any
dNCdif2dif
dNCdif2spe
dNCspe2any
dNCspe2dif
dNCspe2spe
dSCany2any
dSCany2dif
dSCany2spe
dSCdif2any
dSCdif2dif
dSCdif2spe
dSCspe2any
dSCspe2dif
dSCspe2spe
OCNCoD
OCSCoD
OCN_linreg_residual
OCS_linreg_residual
N_sub_1
N_sub_2
S_sub_1
S_sub_2
OCNany2any
OCNany2dif
OCNany2spe
OCNdif2any
OCNdif2dif
OCNdif2spe
OCNspe2any
OCNspe2dif
OCNspe2spe
OCSany2any
OCSany2dif
OCSany2spe
OCSdif2any
OCSdif2dif
OCSdif2spe
OCSspe2any
OCSspe2dif
OCSspe2spe
ECNany2any
ECNany2dif
ECNany2spe
ECNdif2any
ECNdif2dif
ECNdif2spe
ECNspe2any
ECNspe2dif
ECNspe2spe
ECSany2any
ECSany2dif
ECSany2spe
ECSdif2any
ECSdif2dif
ECSdif2spe
ECSspe2any
ECSspe2dif
ECSspe2spe

68
71
0.0995
6
2
0
Y
N
N
6.0697
0.4132
44.6273
1.3437
0.6687
333.0791
8.9314
162.6748
44.6695
22.1525
1.4071
170.195
19.7146
9.9032
164.2055
22.4753
0.1951
170.5806
3.6497
3.4054
3.8137
14.6714
14.8106
0.493
2.5164
0.0012
3.8187
16.9493
1.6683
0.6952
0.0757
4.975
2.4457
1.6663
2.0483
2.4159
0.1346
2.2813
0.2514
0.1183
0.1332
2.1645
0.0163
2.1481
0.2263
0.0848
0.1415
0.0848
0.0848
0
0.1415
0
0.1414
0.1091
0.0957
0.0134
0.0128
0.0119
0.0008
0.0963
0.0837
0.0126
0.062
0.0249
0.0371
0.0058
0.0057
0.0001
0.0562
0.0192
0.037

Also, your foreground specification doesn't look what you've described.

What command did you execute?

I used your command as is.

This is what I get with:
csubst analyze --alignment_file $OG.csubst.fasta --rooted_tree_file $OG.csubst.tree --foreground $OG.foreground.txt --fg_exclude_wg no --fg_stem_only no --cutoff_stat 'OCNany2spe,2.0|omegaCany2spe,5.0' --max_arity 10 --exhaustive_until 1
csubst_cb_2.tsv.txt
If I execute this command with the input I sent you I never found a single triplet in ~170 genes.

The output looks identical to mine.

If you confirm me that this configuration does what I'd like to do I'm ok with that.

Your foreground specification doesn't look what you've described. See the tree above.

Ooooh, I think I know what you mean. My figure and your! yes I think I send you another gene tree. Sorry my bad!
I'll keep the analyses running this way then. Is that ok if I update you later on the outcome?
Thanks a lot
F

Sure!

Hi @kfuku52,
I finish to run csubst on my genes. Can I ask you few questions on how to interpret the data?
Maybe I can send you an email?
Cheers
F

No worries, I'll explain the plan. I have this phenotype and I want to identify candidate genes in a dataset of single-copy OGs.
I'm doing 3 analyses.

BUSTED-PH - Species w/ phenotype Vs no-phenotype
RELAX - Species w/ phenotype Vs no-phenotype
CSUBST - Species w/ phenotype

The first question would be: what is the best threshold for CSUBST. If I'm interpreting correctly the wiki here, in the paper you used OCNany2spe = 3.0 and omegaCany2spe = 3.0 while the default for CSUBST is OCNany2spe = 2.0 and omegaCany2spe = 5.0. Since there's no pvalue associated to these values I'm not sure what threshold I should pick.
Because I didn't know the answer I explored the data and I did the following test. RELAX returns me a list of OG that show a putative signal of relaxation, intensification or no shift. My hypothesis is the following: In the genes with no shift in the selective pressure I don't expect to have strong convergence, when the relaxation occurs this can be due to a selective pressure that is not present anymore, genes accumulate more mutations that do not necessarily have a pattern of convergence, while the when the intensification occur genes are more likely to experience convergence.
To test that I've run csubst with OCNany2spe = 1.0 and omegaCany2spe = 1.0, and divided the genes into no-shift, relaxed and intensified, and then I checked if there's a shift in the distribution of omegaCany2spe between the groups.
I obtained 2047 with no-shift, 1224 with relaxation and 122 with intensification and it looks like the 122 genes with intensification had a significant shift in the distribution (p-value = 0.005) compared to both, with a median of 19.45 for both no-shift and relaxed vs 55.27 for the intensified genes.
Does this make sense? How can I further refine the csubst analysis? Is this approach somehow correct?
Cheers
F

Thresholds should be adjusted based on the analysis type. For branch pair analysis (K = 2), I recommend using thresholds of OCNany2spe >= 3.0 and omegaCany2spe >= 3.0. For higher-order convergence analysis (K >= 3), setting OCNany2spe >= 2.0 and omegaCany2spe >= 5.0 could be beneficial.
It is logical to anticipate a link between intensified selection and adaptive convergence, and your analysis methodology seems solid. To enhance the robustness of your findings, it would be advisable to compare the dS_C values among the three groups. A higher dS_C in the intensified selection group may indicate an artifact. Conversely, similar dS_C values across groups would strengthen the validity of your claims.

Hi,
I checked dSCany2spe the medians for no-shoft and Relaxed is 0.3678, while in the Intensified group is lower, 0.143. The difference is slightly significant, with P = 0.046 one-sided, where no-shift and Relaxed are higher than Intensified. So, the opposite is as in cases where artifacts are present, if I understood correctly.
F

Sounds good, but as I understand it, the one-sided test should aim to determine whether the intensified group exhibits a higher dS_C compared to the other two groups, to investigate the potential presence of artifacts, unless there are specific hypotheses suggesting that the intensified group could have a lower dS_C.

Yes, the wilcoxon test two-sided/one-sided (greater) shows no significance, if there's a difference is where dSCany2spe is higher in the no-shift and Relaxed groups compared with Intensified.


SNOW-1665707: Move general.py into src/…/modin/plugin/extensions/

Which Jira issue is this PR addressing? Make sure that there is an accompanying issue to your PR.

Fixes SNOW-1665707

Fill out the following pre-review checklist:

[ ] I am adding a new automated test(s) to verify correctness of my new code

[ ] If this test skips Local Testing mode, I'm requesting review from @snowflakedb/local-testing

[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency
[ ] If this is a new feature/behavior, I'm adding the Local Testing parity changes.

Please describe how your code solves the related issue.
Move general.py into src/…/modin/plugin/extensions/. Also, re-organize the properties/methods in the file to match pandas documentation.

It's hard for me to know what the real changes are in this version. Can we decouple this into smaller PRs?

Unfortunately, diff is doing a very bad job. Just look at the complete new file, and you'll find that now the methods/properties are following the same order as the pandas docs and their pandas categories are added as comments.


Allow hotkey to work when Atom window is not in focus

I'm not sure if it's possible to do within Atom, but it'd be awesome if the hotkey were global, rather than specific to Atom.

This is a great idea (I think I should also consider using it), but this is not the scope of this project, but the scope of OS/atom. I think if it is OS-specific, we can launch another project doing it. For OSX, we can make Atom to access a permission on accessibility.

I think this is out of this atom-package scope. Closing it. If you have a good reference atom package that does this feature, please let me know and reopen this issue. Thanks!


Auto merge Dependabot PRs

Resolves stripe-samples/accept-a-payment#1195
Hi. I made changes to automerge.yml so that it auto-merge only when the CI of a Dependabot's PR is successfully completed.
The changes below are a little irrelevant to the original issue but needed to work CI and tests correctly:

Fixed typo (ref/heads/main -> refs/heads/main): by this fix, pushes to the main branch should trigger CI runs.
Fixed tests: it seems the redirect URL from Stripe has been changed and caused CI failures.

original: checkout.stripe.com/pay/cs_test
changed: checkout.stripe.com/c/pay/cs_test

The changes to the original PR
I have applied changes to the original PR (commit: 3401fad). Let me explain it.
Before applying this change, on an auto-merge workflow run page, it was difficult to figure out which CI triggered the auto-merge (example on my fork). Also, on an auto-merged Depeendabot PR page, there was no reference to the auto-merge workflow run (example on my fork).
I think that is a little confusing and this is the motivation for the changes.
To make it easier to trace the whole workflow, I moved the job in the automerge.yml into ci.yml. With this change, we can see the relationship between the tests and auto-merge on the workflow summary page like this:

A working example
I tested this on my fork repository. The working example is this: https://github.com/hibariya/accept-a-payment/actions/runs/3254365963

Let me close this PR for now and re-open another one to remove a couple of irrelevant changes here :pray:


KAFKA-15307: update/note deprecated configs

First pass at identifying deprecated configs listed in https://kafka.apache.org/21/documentation/streams/developer-guide/config-streams
There might be some discussion to be had regarding what to say about why these are deprecated.
Also, in the StreamsConfig.java line 1355, some logic throws errors when EXACTLY_ONCE, EXACTLY_ONCE_BETA, and RETRIES are used. Should that be updated as well, considering that there are new pieces of config with the @Deprecated annotation?
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

There might be some discussion to be had regarding what to say about why these are deprecated.

Not sure if we need to put this into the docs? If we want to say something about it, we could add a link to the corresponding KIP, ie, "Deprecated via KIP-xxx" -- the KIP will contain the necessary information.
What we should do in any case is, link to configs that should be used instead of the deprecated ones (seems we cannot do this in this PR though, as some new config are still missing in the doc -- or we add them in this PR directly)

Also, in the StreamsConfig.java line 1355, some logic throws errors when EXACTLY_ONCE, EXACTLY_ONCE_BETA, and RETRIES are used. Should that be updated as well, considering that there are new pieces of config with the @Deprecated annotation?

Yes, very good idea to extend this code and also log an error if other deprecated configs are used.

There might be some discussion to be had regarding what to say about why these are deprecated.

Not sure if we need to put this into the docs? If we want to say something about it, we could add a link to the corresponding KIP, ie, "Deprecated via KIP-xxx" -- the KIP will contain the necessary information.
What we should do in any case is, link to configs that should be used instead of the deprecated ones (seems we cannot do this in this PR though, as some new config are still missing in the doc -- or we add them in this PR directly)

Also, in the StreamsConfig.java line 1355, some logic throws errors when EXACTLY_ONCE, EXACTLY_ONCE_BETA, and RETRIES are used. Should that be updated as well, considering that there are new pieces of config with the @deprecated annotation?

Yes, very good idea to extend this code and also log an error if other deprecated configs are used.

happy to add those new config in this PR -- shall I also add that StreamsConfig.java logic update in this PR, or separate it out since it's a code update rather than a docs one?

happy to add those new config in this PR

Great.

shall I also add that StreamsConfig.java logic update in this PR, or separate it out since it's a code update rather than a docs one?

Guess both ways work, but I tend to think splitting out a new PR might be better.

Here's the new PR: https://github.com/apache/kafka/pull/14448

tagging @mjsax here, made some edits in response to the last roung

Thanks for the PR @Cerchie! Merged to trunk.

Hi @mjsax @Cerchie FYI this causes some javadoc build issues:
streams/src/main/java/org/apache/kafka/streams/StreamsConfig.java:661: warning - Tag @link: reference not found: JMX_REPORTER"jmx.reporter"
streams/src/main/java/org/apache/kafka/streams/StreamsConfig.java:575: warning - invalid usage of tag {@code default.windowed.key.serde.inner
streams/src/main/java/org/apache/kafka/streams/StreamsConfig.java:583: warning - invalid usage of tag {@code default.windowed.value.serde.inner
streams/src/main/java/org/apache/kafka/streams/StreamsConfig.java:661: warning - Tag @link: reference not found: JMX_REPORTER"jmx.reporter"
streams/src/main/java/org/apache/kafka/streams/StreamsConfig.java:660: warning - invalid usage of tag {@code auto.include.jmx.reporter
streams/src/main/java/org/apache/kafka/streams/StreamsConfig.java:661: warning - Tag @link: reference not found: JMX_REPORTER"jmx.reporter"
streams/src/main/java/org/apache/kafka/streams/StreamsConfig.java:661: warning - Tag @link: reference not found: JMX_REPORTER"jmx.reporter"

Thanks @gharris1727
@Cerchie -- can you add fixed into #14448 ?


Add plugin to Flask Extensions page

[x] An approved Flask extension requires a maintainer. In the event an extension author would like to move beyond the project, the project should find a new maintainer including full source hosting transition and PyPI access. If no maintainer is available, give access to the Flask core team.
[x] An approved Flask extension must provide exactly one package or module named flask_extensionname. They might also reside inside a flaskext namespace packages though this is discouraged now.
[x] It must ship a testing suite that can either be invoked with make test or python setup.py test. For test suites invoked with make test the extension has to ensure that all dependencies for the test are installed automatically. If tests are invoked with python setup.py test, test dependencies can be specified in the setup.py file. The test suite also has to be part of the distribution.
[x] APIs of approved extensions will be checked for the following characteristics:
an approved extension has to support multiple applications running in the same Python process.
it must be possible to use the factory pattern for creating applications.
[x] The license must be BSD/MIT/WTFPL licensed.
[x] The naming scheme for official extensions is Flask-ExtensionName or ExtensionName-Flask.
[x] Approved extensions must define all their dependencies in the setup.py file unless a dependency cannot be met because it is not available on PyPI.
[ ] The extension must have documentation that uses one of the two Flask themes for Sphinx documentation.
[x] The zip_safe flag in the setup script must be set to False, even if the extension would be safe for zipping.
[x] An extension currently has to support Python 2.6 as well as Python 2.7

At some point in recent history I translated the existing docs from Markdown to Sphinx. They are still kinda gross, but there they are.
What do you think?


Update README.md

thanks

@justinwoo You might want to fix the description of the repo that also mentions tree-parser-nix.

thanks


Slippage for Margin Trades

Currently slippage is not used for Margin Trades. We need to implement similar functionality to the existing slippage setup from Swap/Spot page. This should be included for opening a Margin Trade, Increasing Position Size, and Closing Margin Trade.

[x] Add slippage slider to TradeDialog component
[x] Implement minReturn param on opening Margin Trade
[x] marginTrade contract call (and ensure ABI is up to date)
[ ] Add minReturn support to Increasing Position Size
[ ] Add minReturn support to Closing Margin Trade

XD Design for each action:
https://xd.adobe.com/view/f742b57d-92fc-44b4-4f93-49ade24a3795-8173/screen/abc54b60-f646-4757-bee9-a912c65da92e/specs/

Increasing and closing positions doesn't have minReturn (slippage) on SC side.


Admin can configure address service area predicates

Description
Extends the v2 predicate configuration UI to support address service area predicates. Released behind the PREDICATES_MULTIPLE_QUESTIONS_ENABLED feature flag.
Checklist
General

[x] Added the correct label: < feature | bug | dependencies | infrastructure | ignore-for-release >
[ ] Created tests which fail without the change (if possible)

New Features

[ ] Conditioned new functionality on a FeatureFlag
[ ] Wrote browser tests with the feature flag off and on, etc.

Issue(s) this completes
Fixes https://github.com/civiform/civiform/issues/4046

Codecov Report

Merging #4134 (2c23c3d) into main (3c194d3) will decrease coverage by 0.05%.
The diff coverage is 80.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main    #4134      +/-   ##
============================================
- Coverage     79.40%   79.36%   -0.05%
- Complexity     2517     2520       +3
============================================
  Files           312      312
  Lines         10236    10263      +27
  Branches        677      682       +5
============================================
+ Hits           8128     8145      +17
- Misses         1845     1852       +7
- Partials        263      266       +3

Impacted Files
Coverage Δ

...pp/services/question/types/QuestionDefinition.java
95.93% <ø> (ø)

...services/program/predicate/PredicateGenerator.java
77.86% <75.00%> (-5.61%)
:arrow_down:

server/app/services/applicant/question/Scalar.java
95.71% <100.00%> (+0.06%)
:arrow_up:

...redicate/LeafAddressServiceAreaExpressionNode.java
100.00% <100.00%> (ø)

...program/predicate/LeafOperationExpressionNode.java
100.00% <100.00%> (ø)

...erver/app/services/program/predicate/Operator.java
98.30% <100.00%> (+0.09%)
:arrow_up:

...vices/program/predicate/OperatorRightHandType.java
100.00% <100.00%> (ø)

server/app/services/question/types/ScalarType.java
100.00% <100.00%> (ø)

...applicant/ReadOnlyApplicantProgramServiceImpl.java
97.00% <0.00%> (-0.90%)
:arrow_down:

...rs/applicant/ApplicantProgramBlocksController.java
87.15% <0.00%> (ø)

... and 1 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Codecov Report

Merging #4134 (891d42b) into main (ad9f64d) will decrease coverage by 0.21%.
The diff coverage is 53.42%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main    #4134      +/-   ##
============================================
- Coverage     79.36%   79.15%   -0.21%
- Complexity     2531     2533       +2
============================================
  Files           314      314
  Lines         10349    10384      +35
  Branches        693      701       +8
============================================
+ Hits           8213     8219       +6
- Misses         1857     1883      +26
- Partials        279      282       +3

Impacted Files
Coverage Δ

...s/admin/AdminProgramBlockPredicatesController.java
43.90% <0.00%> (-0.36%)
:arrow_down:

...pp/services/program/ProgramQuestionDefinition.java
85.00% <ø> (ø)

...am/ProgramQuestionDefinitionNotFoundException.java
50.00% <0.00%> (-50.00%)
:arrow_down:

...erver/app/services/program/ProgramServiceImpl.java
85.20% <0.00%> (-0.72%)
:arrow_down:

...pp/services/question/types/QuestionDefinition.java
95.93% <ø> (ø)

...services/program/predicate/PredicateGenerator.java
73.84% <54.54%> (-9.64%)
:arrow_down:

server/app/services/program/ProgramDefinition.java
88.03% <71.42%> (-1.21%)
:arrow_down:

server/app/services/applicant/question/Scalar.java
95.71% <100.00%> (+0.06%)
:arrow_up:

...redicate/LeafAddressServiceAreaExpressionNode.java
100.00% <100.00%> (ø)

...program/predicate/LeafOperationExpressionNode.java
100.00% <100.00%> (ø)

... and 4 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Codecov Report

Merging #4134 (103b027) into main (ebf60e2) will increase coverage by 0.13%.
The diff coverage is 74.07%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main    #4134      +/-   ##
============================================
+ Coverage     79.34%   79.48%   +0.13%
- Complexity     2531     2547      +16
============================================
  Files           314      314
  Lines         10342    10395      +53
  Branches        693      700       +7
============================================
+ Hits           8206     8262      +56
+ Misses         1857     1848       -9
- Partials        279      285       +6

Impacted Files
Coverage Δ

...s/admin/AdminProgramBlockPredicatesController.java
43.90% <0.00%> (-0.36%)
:arrow_down:

...pp/services/program/ProgramQuestionDefinition.java
95.00% <ø> (+10.00%)
:arrow_up:

...pp/services/question/types/QuestionDefinition.java
95.93% <ø> (ø)

...ces/program/predicate/PredicateExpressionNode.java
47.36% <28.57%> (-5.76%)
:arrow_down:

...erver/app/services/program/ProgramServiceImpl.java
88.12% <60.00%> (+2.20%)
:arrow_up:

...services/program/predicate/PredicateGenerator.java
81.67% <77.41%> (-1.80%)
:arrow_down:

server/app/services/program/ProgramDefinition.java
89.31% <92.85%> (+0.07%)
:arrow_up:

server/app/repository/VersionRepository.java
84.66% <100.00%> (ø)

...rvices/applicant/predicate/PredicateEvaluator.java
81.25% <100.00%> (ø)

server/app/services/applicant/question/Scalar.java
95.71% <100.00%> (+0.06%)
:arrow_up:

... and 14 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Bug: not cleaning certain messages

So, I wanted to clear all of the messages of a chat room but whenever I do //clean (or !clean), it doesn't delete certain messages (like with symbols) and sometimes, it won't even delete normal messages.

# !clean
Search through amount of messages and remove any sent by the bot. If the bot has Manage Messages permission in the channel, the bot will also remove message that invoked bot commands (messages that were commands for the bot, !play, !np, etc).
Note: amount is not how many messages to remove, it's how many messages to search through to remove.

So basically it's not supposed to clear all messages.

Oh, I never knew that.


Restructure the azure inc folder

Move the inc folder to be under inc/azure/core.  This allows us to have a structured include where azure-core includes are accessed by "azure/core/..../<....header.hpp....>
ex:
Previously
#include "context.hpp"
now
#include "azure/core/context.hpp"

sdk/core/azure-core/inc/azure.hpp → sdk/core/azure-core/inc/azure/core/azure.hpp

I lost count of the number of "cores" 😁
Seems excessive.
Should it be a lot flatter, like this instead?
sdk/core/inc/...?
Why do we have /azure/core/ under /inc/ and why do we have an /azure-core/ subdirectory?

Why do we have /azure/core/ under /inc/ and also have an /azure-core/ subdirectory?

yeah, i also have the same question. sdk/core/inc/azure/core/foo/bar seems good enough.

sdk/core/azure-core/inc/azure.hpp → sdk/core/azure-core/inc/azure/core/azure.hpp

I lost count of the number of "cores" 😁
Seems excessive.
Should it be a lot flatter, like this instead?
sdk/core/inc/...?
Why do we have /azure/core/ under /inc/ and also have an /azure-core/ subdirectory?

This layout follows our track2 design guidelines.
https://azure.github.io/azure-sdk/policies_repostructure.html#sdk-directory-layout
Core does end up with core repeated a few times.  This is unfortunate but it does keep us consistent with all other languages.  I don't see good enough reasons to break from the design guidelines.
ex:
https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/core/azure-core/src/main/java/com/azure/core
https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/core/azure-core/azure/core
As to each core's purpose:
We are planning to ship the SDK as packages.  The first "core" is the service.  The second "core" is the package.  The third "core" is for layout of headers in the inc folder.  The structure provides good completion experience when typing out includes.  Makes it very easy to know you are including a storage header azure/storage/blobs vs a core header azure/core/.
sdk/core/azure-core/inc/azure/core/azure.hpp
sdk/<service>/<package>/inc/...
is
sdk where sources reside in track2
core the service team, in this case the AzureSDK team
azure-core the package name
The inc folder then creates a structure that will lay out the include files into system inc directory accordingly.  Everything is under azure, hence the azure under the inc folder.
ex:
inc/azure/core the include folder for core "services"
inc/azure/storage/blobs/ the include folder for "storage blobs"

Thanks @RickWinter, that's starting to make more sense now.
Unlike Python, Java, (and now C++), I envy that .NET get's away with not having the extra /azure/core/
https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/core/Azure.Core


CronJob for medusa purge not in the correct namespace

What happened?

The k8ssandra operator is installed in the k8ssandra-operator namespace
My cluster and the backups are done in the cluster namespace
A CronJob is created automatically in the k8ssandra-operator. This cronjob will start a purge process in the operator namespace instead of in the cluster namespace
A medusa task is created by this cronjob in the wrong namespace

Did you expect to see something different?

The cronjob need to start the purge on the cluster namespace

How to reproduce it (as minimally and precisely as possible):

Install k8ssandra on the k8ssandra-operator namespace
Create a cluster in another namespace
The CronJob is created
A medusa task is created in the wrong namespace

Environment

K8ssandra Operator version:
1.15.0

Kubernetes version information:

Client Version: v1.29.4
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.29.2

Kubernetes cluster kind:

AKS

K8ssandra Operator Logs:

2024-04-26T09:20:20.161Z        ERROR   Reconciler error        {"controller": "medusatask", "controllerGroup": "medusa.k8ssandra.io", "controllerKind": "MedusaTask", "MedusaTask": {"name":"purge-backups-20240426092008","namespace":"k8ssandra-operator"}, "namespace": "k8ssandra-operator", "name": "purge-backups-20240426092008", "reconcileID": "2b82f272-8107-4378-a34b-81a0465d9d4e", "error": "CassandraDatacenter.cassandra.datastax.com \"dc1\" not found"}

datacenter dc1 is in the cluster namespace not in k8ssandra-operator

in addition, I would propose to make this CronJob optional, or at least configurable
this is what we are doing in our current setup
apiVersion: batch/v1
kind: CronJob
metadata:
  name: cassandra-backup-purge
  namespace: cassandra
spec:
  schedule: "30 2 * * *"
  successfulJobsHistoryLimit: 0
  failedJobsHistoryLimit: 1
  startingDeadlineSeconds: 10
  jobTemplate:
    spec:
      backoffLimit: 0
      template:
        metadata:
          labels:
            app: cassandra-backup-purge
        spec:
          restartPolicy: Never
          serviceAccountName: cassandra-backup-purge
          imagePullSecrets:
            - name: container-registries
          containers:
            - name: cassandra-backup-purge
              image: bitnami/kubectl:1.29
              imagePullPolicy: Always
              resources:
                limits:
                  ephemeral-storage: 20Mi
                  memory: 300Mi
                requests:
                  cpu: 100m
                  ephemeral-storage: 1Mi
                  memory: 100Mi
              command:
                - sh
                - -c
                - |
                   # Purge obsolete backups
                   kubectl apply -f - <<EOF
                   apiVersion: medusa.k8ssandra.io/v1alpha1
                   kind: MedusaTask
                   metadata:
                     name: purge-backups-$(date +%Y%m%d%H%M%S)
                     namespace: cassandra
                   spec:
                     cassandraDatacenter: dc1
                     operation: purge
                   EOF
                   # Purge obsolete backup jobs
                   for i in $(kubectl -n cassandra get medusabackupjobs.medusa.k8ssandra.io -o go-template --template '{{range .items}}{{.metadata.name}} {{.metadata.creationTimestamp}}{{"\n"}}{{end}}' | awk '$2 <= "'$(date -d'now-30 days' -u +"%Y-%m-%dT%H:%M:%SZ")'" { print $1 }'); do kubectl -n cassandra delete medusabackupjobs.medusa.k8ssandra.io ${i}; done
                   # Purge obsolete Medusa tasks
                   for i in $(kubectl -n cassandra get medusatasks.medusa.k8ssandra.io -o go-template --template '{{range .items}}{{.metadata.name}} {{.metadata.creationTimestamp}}{{"\n"}}{{end}}' | awk '$2 <= "'$(date -d'now-30 days' -u +"%Y-%m-%dT%H:%M:%SZ")'" { print $1 }'); do kubectl -n cassandra delete medusatasks.medusa.k8ssandra.io ${i}; done

Key points:

specifying CJ time
successfulJobsHistoryLimit: 0
Purge obsolete (more than 30d) backup jobs as we are using MedusaBackupSchedule for backups
Purge obsolete (more than 30d) Medusa tasks

Hi @adejanovski,
I'm running v1.17.0 and the MedusaTask still gets created in the operator namespace.
If I understand this correctly, this means that dcConfig.Meta.Namespace is not set?
thanks!

Hi @zehweh, yeah sadly we still have a bug there. You can indeed specify the dc namespace explicitly as a workaround, and know that in v1.18.0 we will replace the CronJobs with the MedusaBackupSchedule now able to schedule purges as well.
Sorry for all the trouble with these CronJobs, it's been buggy all along 😕

Thanks for the quick reply.
I guess I can wait for v1.18.0 :)

Hi @adejanovski,
I've seen the new API additions you made but I'm not sure how to apply them.
I'm running v1.20.2 and the CronJobs are still there (and the MedusaTasks still get created in the operator namespace).
Do I have to remove
  medusa:
    purgeBackups: true

in the K8ssandraCluster manifest and manually create a MedusaBackupSchedule
like this?
apiVersion: medusa.k8ssandra.io/v1alpha1
kind: MedusaBackupSchedule
metadata:
  name: purge-schedule
  namespace: k8ssandra-operator
spec:
  backupSpec:
    cassandraDatacenter: dc1
  cronSchedule: '* * * * *'
  operationType: purge

thanks again!


Cassandra row level encryption

Currently shotover can support a basic example form of row level (or cell level) encryption. This issue will track the outstanding tasks required to bring it up to a production grade quality.

Closing because we are using https://github.com/shotover/shotover-proxy/projects/12 to track this


Drop Fedora 22 from testing on Jenkins

Fedora 22 has reached an end of life on 19th July, 2016, so we should consider dropping it from Jenkins.

Only the src flavor or completely? It still helps us discerning flakes and spotting if we break runtime compatibility.

For now I just disabled the src flavor for Fedora 22.

I was rather thinking about dropping it completely. I'm not sure what do you mean by runtime compatibility - accidentally requiring the newer version of some library than as listed in documentation about dependencies?
And flakes are flakes, I don't think they will magically resolve themselves by upgrading the distro to the latest and greatest.
All in all, I just don't think that it is worth to support a distro that is not supported by its creators.

I tend to agree with @krnowak; but on @lucab's point about tracking
compatibility, perhaps we could base that around some LTS distro?
On 10 August 2016 at 17:28, Krzesimir Nowak<EMAIL_ADDRESS>wrote:

I was rather thinking about dropping it completely. I'm not sure what do
you mean by runtime compatibility - accidentally requiring the newer
version of some library than as listed in documentation about dependencies?
And flakes are flakes, I don't think they will magically resolve
themselves by upgrading the distro to the latest and greatest.
All in all, I just don't think that it is worth to support a distro that
is not supported by its creators.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/coreos/rkt/issues/3051#issuecomment-238903884, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACewN4e5iYzXJWH9jwdb9z2D6XbZ7okxks5qee4ugaJpZM4JhMOC
.

runtime compatibility

Spotting whenever we start depending on something new implicitly (glibc, systemd, transitive dependencies, etc)

I don't think they will magically resolve themselves

I was not speaking about solving them, I was saying that it is nice to have a baseline (ie. other non-flaking builds) to spot flakes.

Then it sounds like ubuntu trusty (14.04) and xenial (16.04) may be good replacements for fedora 22. But I'm not sure - trusty may be a bit too old, and xenial - too new. ;)


Install script fails with Apple Silicon

The folder /usr/local/bin doesn't' exist with Apple Silicon
https://brew.sh/2021/02/05/homebrew-3.0.0/
See also
Apple Silicon is now officially supported for installations in /opt/homebrew. [formulae.brew.sh](https://formulae.brew.sh/) formula pages [indicate for which platforms bottles (binary packages) are provided](https://github.com/Homebrew/formulae.brew.sh/pull/408) and therefore whether they are supported by Homebrew. Homebrew doesn’t (yet) provide bottles for all packages on Apple Silicon that we do on Intel x86_64 but we welcome your help in doing so. Rosetta 2 on Apple Silicon still provides support for Intel x86_64 in /usr/local.

/remove-lifecycle stale

/remove-lifecycle stale

We agreed in the planning to provide a Brew formula/tap for KubeOne and recommend users to use it instead of the script. Additionally, we'll try to make the tap as part of the upstream Brew repository.
/retitle Create a Brew formula/tap for KubeOne


Error cannot startup in HA (KeyError: 'auth_type')

Describe the bug
Integration won`t start (installed via standart Integrations, not HACS). Before HA update everything works fins for a long time. Cannot do anything write now.
Expected behavior
Just working...
Screenshots

Home Assistant Version

Home Assistant 2021.10.2 (Core, Container)

uh.. i get it, sorry https://www.home-assistant.io/blog/2021/10/06/release-202110/


Forklift buffers data to mongo before inserting it into presto

As a data curator, I want to be able to ingest large datasets quickly so that they can provide value to the public with a quick turnaround.
Acceptance Criteria

[ ] On dataset:update, create a new table in mongo for the dataset
[ ] As data flows into forklift, it is first persisted into the above mongo table with a transaction id and partitionID as a keys
[ ] If mongo is inaccessible forklift inserts this data directly into presto
[ ] On EOF or configurable N messages consumed (for a transaction) Forklift will use the presto connector of mongo to insert data from mongo into presto, deleting the old data from mongo as it succeeds
[ ] The last completed Transaction ID's are stored in an association table with their dataset:partition tuple so they can be referenced on restart

Tech Notes

This should limit the need for compaction on new datasets as this will perform the same operation since all data will be first inserted into mongo.
This card is attempting to make it possible for forklift to handle multiple partitions
When writes to mongo are unsuccessful, do exponential backoff and do not consume messages from kafka

Going in a different direction.


Add rule panel.

Add a rule panel that pops up when you join a server with a button on the lobby and in the information tab that lets you reopen it.

Done in https://github.com/space-wizards/space-station-14/pull/3475


Add checking insecure flag when creating pipeline resources.

Changes
This is for https://github.com/tektoncd/pipeline/issues/1314.
when creating ClusterResource insecure flag is not checked currently.
so this PR added checking insecure flag and if this is true, user can create ClusterResource without cadata.
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[ ] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[ ] Commit messages follow commit message best practices

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes
If insecure flag is true, user can create ClusterResource without cadata.

/ok-to-test

/retest

@hrishin Thank you for your review :thumbsup: !

/lgtm

@hrishin @sbwsg @vdemeester Thank for reviews !!


Fix radius in components example

The example was previously computing diameter, not radius.

Looks correct. Thanks :)


Make more precise variable type check

Fixes https://github.com/PrestaShop/PrestaShop/issues/10259

QA approved :+1:


test: convert router v1 JSON test configs to v2 YAML

Description: This pull request converts all v1 JSON config test snippets to v2 YAML. There are multiple reasons for this:

One way to load configs (parseRouteConfigurationFromV2Yaml)
v1 API is deprecated. This makes testing v2 changes easier, so that one does not have to muck with the v1 to v2 translation code (i.e. #4616)
Remove another dependency on v1 API/JSON code
Consistency of YAML/JSON in these tests.

notes

1 test,TestBadCorsConfig,  was removed in the process. It doesn't appear to violate any V2 API constraints so when passed through V2 parsing the test fails to throw any exceptions.
2 tests, BadRouteEntryConfigMissingPathSpecifier and BadRouteEntryConfigNoRedirectNoClusters, were swapped to use EXPECT_DEATH instead of EXPECT_THROW_WITH_MESSAGE. The exceptions previously thrown were part of rds_json.cc when converting v1 to v2.

Besides the above mentions, no test assertions were modified, only the test data to conform to v2.
Risk Level: Low
Docs Changes: No functional changes
Release Notes: No functional changes
Pt. 1/2 of #4616
Signed-off-by: Derek Argueta<EMAIL_ADDRESS>

hmm the two tests I switched to EXPECT_DEATH fail in the release build since they're not release asserts.
[  FAILED  ] BadHttpRouteConfigurationsTest.BadRouteEntryConfigMissingPathSpecifier
[  FAILED  ] BadHttpRouteConfigurationsTest.BadRouteEntryConfigNoAction

These seem like good test cases to retain, but wasn't sure whether to

switch them to expect assertions
modify config_impl.cc to throw an exception in these cases (these are covered by Protobuf validation, but those aren't tested here. Should I be using a different config load function that will run protobuf validations?)
remove these tests, relying on protobuf validation (don't think this would be right, as we should still exercise these paths)

@derekargueta you are a hero, that's all I have to say.

So my update here: still a bit stuck on those 2 tests, trying to get them to throw exceptions again. It seems that the protobuf validation get's executed when running MessageUtil::Validate so I added that to parseRouteConfigurationFromV2Yaml after MessageUtil::loadFromYaml. When I try running that on route configs I get
bazel-out/darwin-fastbuild/bin/source/common/protobuf/_virtual_includes/utility_lib/common/protobuf/utility.h:226:10: error: use of undeclared identifier 'Validate'
    if (!Validate(message, &err)) {

Validate appears to come from Protobuf? Can't find its declaration/definition anywhere in Envoy source. I added the .pb.h files and bazel dependences, as specified by the docstring for MessateUtil::validate but still no go.
So my question (I suppose for @snowp) is am I moving in the right direction? Do we want to validate protobuf constraints as part of config tests? If we don't run validation, then malformed configs pass to config_impl.cc perfectly fine, just with default values I suppose.

FWIW the HCM config tests (my next target) are in a similar state - v1 JSON test configs that will throw errors during the v1-v2 translation phase, not protobuf validation.

Figured out how to apply proto validation here, so we should be green-light for test parity without relying on the exceptions thrown during the v1->v2 translation.

/retest


https://ocaml.janestreet.com/ocaml-core/v0.14/files/ doesn't contain version 0.14.1

It only has https://ocaml.janestreet.com/ocaml-core/v0.14/files/parsexp-v0.14.0.tar.gz

I agree, it does not. Should it?
@cwong-ocaml, github is the main / the only place that contains the minor releases right now, correct?

Yes, that sounds correct. Minor release versions are only pushed to github/opam.


Revert "Issue#3812#3818 Introducing json, and cache working directories for sepcmd"

Reverts chipsalliance/Surelog#3827

This PR is not the culprit either


Set-CHostsEntry overwrites entires with different ip versions

Set-CHostsEntry -IPAddress ::1 -HostName localhost -Path hosts_test.txt
Set-CHostsEntry -IPAddress <IP_ADDRESS> -HostName localhost -Path hosts_test.txt

PS C:\Users\fakui> Set-CHostsEntry -IPAddress ::1 -HostName localhost -Path hosts_test.txt
ADVERTENCIA: Creating hosts file at: hosts_test.txt

    Directorio: C:\Users\fakui

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----          1/8/2020     12:48              0 hosts_test.txt

PS C:\Users\fakui> Set-CHostsEntry -IPAddress <IP_ADDRESS> -HostName localhost -Path hosts_test.txt
PS C:\Users\fakui> cat .\hosts_test.txt
<IP_ADDRESS>                                      localhost
PS C:\Users\fakui>

The above code results in only the last entry being put into the hosts file. Entries with different IP versions (ipv6 and ipv4) and the same hostname are allowed to be placed in the same hosts file. Set-CHostsEntry instead deletes any entries with the same hostname regardless of ip version.

https://github.com/webmd-health-services/Carbon/blob/047ead474813d493da2747d5dd4ae44f3cffe990/Carbon/Functions/Set-HostsEntry.ps1#L103 maybe change that by
if( ($HostName -eq $hn) -and ($HostName.AddressFamily -ne ([Net.IPAddress]$hn).AddressFamily) )


error occurs

Configure project :
Evaluating root project 'mewpoke' using build file '/tmp/mewpoke/build.gradle'.
Building version: 1.0.2-49-g2456894
All projects evaluated.
Selected primary task 'build' from project :

FAILURE: Build failed with an exception.

What went wrong:
Method com/github/jengelman/gradle/plugins/shadow/internal/DependencyFileCollection.getBuildDependencies()Lorg/gradle/api/tasks/TaskDependency; is abstract

Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output. Run with --scan to get full insights.

Thanks for reporting
Here this fix https://github.com/criteo/mewpoke/commit/d6487ca9bebefdb7ffa1d9e1592b8125ad7ac3d2


[ja] Follow the upstream for content/ja/community/static/cncf-code-of-conduct.md

This is a Feature Request
What would you like to be added
Follow the upstream for content/ja/community/static/cncf-code-of-conduct.md
Why is this needed
In cncf/foundation, the Japanese coc has been updated. Therefore, the cncf-coc in k/website also needs to be updated

https://github.com/cncf/foundation/pull/631

Comments
/area localization
/language ja
/assign

/triage accepted


Release v1.10:

Updates the changelists and other related files for upgrade.
Note that upgrade is not supported from versions prior to 1.8.

Removes hardcoded schema name (madlib) from some of the tests.

If the upgrade from versions prior to v1.8 is not supported then we should delete the corresponding changelist files to avoid confusion.

If the upgrade from versions prior to v1.8 is not supported then we should delete the corresponding changelist files to avoid confusion.

Sounds good, I'll add a warning as well. Actually, should we even allow the user to attempt an upgrade from old versions?

IMO, if we're not supporting upgrade from prior to v1.8 then we should
force users to follow an upgrade chain.
On Fri, Feb 3, 2017 at 12:39 PM, Orhan Kislal<EMAIL_ADDRESS>wrote:

Sounds good, I'll add a warning as well. Actually, should we even allow
the user to attempt an upgrade from old versions?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-madlib/pull/95#issuecomment-277356393,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACIkB-M2V6hMHhuNdoet047NV7PxTdP5ks5rY5CagaJpZM4L1gBj
.


Implemented iteration over unsolicited responses during IDLE.

The Handle returned by the idle() method now has iter() / iter_keepalive() / iter_timeout() methods that allow iterating over unsolicited responses until an errors occurs. The error is not reported to the user though. Not sure what would be a good way to do that.

This change is

Oooh, this is awesome! I've wanted this for a while. Let me do a read-through and leave any notes I may have.

I left some notes in-line, but overall this looks pretty good! I'm not sure what to do with errors though. Maybe FallibleIterator is worth looking into?

FallibleIterator is probably better indeed. I didn't know about it.

Ok, I made a better implementation with FallibleIterators, and I fixed the timeout handling. I still don't empty the unsolicited response queue though. Maybe it's better to just add in the doc for idle() that if the user doesn't want old unhandled responses, he has to clear the queue before calling idle().

I'm going to close this in favor of #130.


timeSelected event is receiving the wrong date time in day view

It looks like the time/date that's passed into the timeSelected event is the same event no matter which ever hour you click on it, I had a look at the template and it is correctly passing the tm.time but for some reason it looks more like it's the current date time as opposed to the selected hour's date time

Looks like I made a novice error and my parameter variable was different rather than selectedTime I had selectedDate in my attached handler function. Very delicate.


Raise a helpful error if projectID is missing when making a request?

Right now, if I run the following code on an unconfigured machine, I get a scary back-end error...
// (We're not running on App Engine or Compute Engine).
var gcloud = require('gcloud');
var dataset = gcloud.datastore.dataset();  // <-- Here is the issue (projectId === undefined)

dataset.get(datastore.key(['Person', 1], function(result) {
  console.log(result);
});

Seems like if we can't auto-discover the project ID or credentials, we fail with a very long error.
Could we update things so that we raise a specific exception saying "You tried to make a request with a null project ID, meaning we couldn't figure out the project ID and you also didn't tell us the project ID..."

It might also be useful to automatically pull the project ID from the one set in the Cloud SDK (see ~/.config/gcloud/properties which sometimes has a default project ID in config-file format).

I think it would be nice to fail sooner at the var dataset = gcloud.datastore.dataset() point, because by then, we'll know "whatever API request you try, it ain't gonna work."

OK so you're saying at the time you create a Dataset, if we couldn't figure out the project ID by then, we should raise an exception ? SGTM.

The actual API call that was made in your example was:
{ method: 'POST',
  uri: 'https://www.googleapis.com/datastore/v1beta2/datasets/{projectId}/lookup',
  headers: { 'Content-Type': 'application/x-protobuf' } }

(note the {projectId})
Even if you ran it in an environment where google-auth-library could have detected the projectId and credentials, it still would fail because that placeholder was never replaced.
Before I figure out the right way to solve this, I want to see if we should stand by this: our docs say a projectId is always required. The project id can be detected by google-auth-library, but we still require it in our library to form API calls to the right path, among various other places.
Do we want to push for a completely projectId-configuration-free experience? I can try to extract the logic from the auth library, or send a PR to expose it.
However, if we're okay to require projectId, then I'll just throw if we don't get one or one wasn't inherited.

Hm, this might be a good time to clarify the whole project ID / dataset ID thing...
In the future, each project will be able to have multiple dataset IDs (we'll likely call them databases). If you "leave it out" we should just substitute the default Dataset ID (which happens to be the project ID).
If we can guess the project ID, I'd really like that... So, some code...
var gcloud = require('gcloud');
// project ID is either null or auto-detected...
// null is OK here, we could still set it further down the line...

var dataset = gcloud.datastore.dataset();
// By this point we should have a dataset ID == project ID.
// If that's not auto-detected or set by now, we should holler.

If we wanted to explore the idea of being able to configure datastore (which I personally like but, as @ryanseys says, it's a breaking change...), this might be....
var gcloud = require('gcloud');
// Auto-detect a project ID, or leave as null.
// null is OK here, we could still set it further down the line...

var datastore = gcloud.datastore();
// pull the ID out of gcloud, or let users specify which ID it is.
// If there's no ID by this point, we should holler, as I don't think there's anything you can do...

var dataset = datastore.dataset();
// dataset ID should be datastore's project ID or specified by the user.
// No need to holler here as that already happened above.

The inheritance of a project ID from a datastore to a child dataset makes sense to me.
If we can rely on env vars to tell us if we're running on G[AC]E, then this will be super easy. If anything is async, it's terribly difficult.

GAE Dev: No magic.
GAE Prod: Env var name: GAE_LONG_APP_ID
GCE: ??

How google-auth-library checks if the user is running on GCE: https://github.com/google/google-auth-library-nodejs/blob/ce7f97409908856e2386a650e2fa4de6b2a8211a/lib/auth/googleauth.js#L158
There's a similar endpoint where we can get the projectId. The problem is that it's an async call, which complicates things.

We wouldn't want to do the async call on require('gcloud'), since the user hasn't asked us to do anything yet.
We can't do it at var datastore = gcloud.datastore();, as this makes a formerly non-async call have async side effects.
We have to do it the last possible chance, for example, on datastore.get(). Our code would have to be re-worked quite a bit to inject the new logic (if necessary) before all API calls. And even then, throwing async exceptions aren't ideal (which we would have to do if we couldn't find a projectId).

Summing all of that up, I propose we continue to require a projectId:
var gcloud = require('gcloud');
var dataset = gcloud.datastore.dataset(); // throws.
var dataset = gcloud.datastore.dataset({ projectId: 'asdf' });

Is this where promises could come in handy? Have a promise for the project ID and evaluate it when needed ?

For Google Compute Engine Linux instances that are "v20131120 or newer" we can run:
$ sudo dmidecode -s bios-vendor | grep Google

on the instance and it should output:
Google

Source: https://cloud.google.com/compute/docs/instances#dmi

Yikes -- sudo required? :-/

I tried it without sudo and got command not found so yeah, probably. :(

Makes sense to require a projectId. If they want a "configuration free" experience, they can put projectId: GCLOUD_PROJECT_ID in their code, and just make sure their instances have that env var configured always. I don't think this is asking too much. The other advantage to this is there is no surprises as to what project is used when they do run their code. If they forget to specify it, they will get an error. Sounds reasonable to me.

regarding autodetect, ~/.config/gcloud/properties  is only for some Linux
systems...For ex, will not work in devshell, a GCE jenkins instance via
Bitnami and or Windows 32 and Windows 64 bits...
Most/all of them have different ways of find this info if it exists...
Ugly code for now, but this gives you some implementation in Java:
See setupInitialCommands in
https://github.com/ludoch/gcloud-maven-plugin/blob/master/src/main/java/com/google/appengine/gcloudapp/AbstractGcloudMojo.java
On Tue, May 19, 2015 at 1:50 PM, Ryan Seys<EMAIL_ADDRESS>wrote:

Makes sense to require a projectId. If they want a "configuration free"
experience, they can put projectId: GCLOUD_PROJECT_ID in their code, and
just make sure their instances have that env var configured always. I don't
think this is asking too much. The other advantage to this is there is
no surprises as to what project is used when they do run their code. If
they forget to specify it, they will get an error. Sounds reasonable to me.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/gcloud-node/issues/570#issuecomment-103664255
.

And getAppId() in this file...
On Tue, May 19, 2015 at 5:33 PM, Ludovic Champenois <
<EMAIL_ADDRESS>wrote:

regarding autodetect, ~/.config/gcloud/properties  is only for some Linux
systems...For ex, will not work in devshell, a GCE jenkins instance via
Bitnami and or Windows 32 and Windows 64 bits...
Most/all of them have different ways of find this info if it exists...
Ugly code for now, but this gives you some implementation in Java:
See setupInitialCommands in
https://github.com/ludoch/gcloud-maven-plugin/blob/master/src/main/java/com/google/appengine/gcloudapp/AbstractGcloudMojo.java
On Tue, May 19, 2015 at 1:50 PM, Ryan Seys<EMAIL_ADDRESS>wrote:

Makes sense to require a projectId. If they want a "configuration free"
experience, they can put projectId: GCLOUD_PROJECT_ID in their code, and
just make sure their instances have that env var configured always. I don't
think this is asking too much. The other advantage to this is there is
no surprises as to what project is used when they do run their code.
If they forget to specify it, they will get an error. Sounds reasonable to
me.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/gcloud-node/issues/570#issuecomment-103664255
.

The use case I'm thinking of here is "hey just take this code and run it in your environment, no changes needed, everything will just work". But I can understand if that's either a) too magical , or b) not feasible.

Yeah I mean, we could do it easily synchronously but it would block the event loop and doing it asynchronously doesn't make sense for some of our use cases, meaning we would have to callback errors at the latest possible moment (once we've made a http request or two to determine they aren't on GCE and can't hit a metadata server). I believe the trade-off isn't worth it and the magic is too much. Let's remember that Node.js isn't really about magic. That's some of the appeal of the language.
I vote that we document everywhere that we need them to give us a project ID and if they don't, we throw an error. I think it's simple and understandable and no magic.

I vote that we document everywhere that we need them to give us a project ID and if they don't, we throw an error.

So we're officially saying that the following tweak is completely unacceptable?
"I vote that we document everywhere that we need them to give us a project ID and if they don't, we try to figure it out. If we can't, we throw an error."

I still say throw if it's not given. @ryanseys has the best solution:

If they want a "configuration free" experience, they can put projectId: process.env.GCLOUD_PROJECT_ID in their code, and just make sure their instances have that env var configured always.

IMO, that's actually better than GCE auto-detecting your projectId, since before I push to GCE, I have to manually specify my projectId if I wish to test my project. So it would actually be an inconvenience to remove what I was doing before I push to prod.

OK cool - could we put that in the docs somewhere that that's the recommended way to deal with that?

Sure, I'll add some docs for it.


Magneto hard fork

Signed-off-by: Antoine Toulme<EMAIL_ADDRESS>PR description
Adds the blocks and the changes for the Magneto hard fork.
Fixed Issue(s)
Fixes #2314
Changelog

[x] I thought about the changelog and included a changelog update if required.

Also update ProtocolScheduleBuilder#validateClassicForkOrdering, looks to be missing Thanos as well there.

Thanks Danno, addressed your comments now.

This test should keep it from occurring again if we follow the pattern of ^F old fork block->do what was there.
https://github.com/hyperledger/besu/pull/2317

Let's get #2317 in first.

Merged #2317 into this PR.


Issue with sorting and missing characters inside Symbols list

=== Symbols and abbreviated terms

[ stem:[x] ]:: Square brackets are used to enclose IPA phonetic symbols.

{ stem:[x] }:: Curved brackets are used to enclose phoneme symbols and tones of the Jyutping system.

< stem:[x] >:: Angle brackets are used to enclose graphemes as the orthography writes them.

IPA:: International Phonetic Alphabet

LSHK:: The Linguistic Society of Hong Kong

CTL:: Chao Tone Letter

Output (HTML + Word):

There are 2 bugs here:

The stem:[x] has disappeared from 2 of the 3 bracket types.
The symbol list becomes randomly sorted

If I do:
<stem:[x]>:: Angle brackets are used to enclose graphemes as the orthography writes them.

The first < will not be rendered.

Replaced xpath with traverse for generating sortable snippets of symbols, the xpath was clearly generating strange side-effects.
Sortable key needs to exclude brackets.

Greek letters also need to appear in correct sort order: they are not being converted correctly.


OLED bitmap creation

Hey @foostan ,
Thank you so much for this awesome keyboard - I've build it yesterday and it works very well.
I was wondering if there is any documentation on how to create a custom logo for the OLED?
I've found an example on how to do it for the ErgoDox Inifinity OLED but the approach leaves the crkbd oled blank :(
Thank you so much for this keyboard.
Raphael

@nicolai86 I was under the impression that since this uses a really similar OLED setup to the Helix's (ssd1306.h/c present in both repos), the instructions for Helix should apply here.
Give the Helix firmware guide a shot, if you haven't already.

but it didn't work unfortunately

Really?
Please show me error messages and logs.

@foostan So I'm trying to use the helix FontConverter
When I run it on a 128x32 bmp file I get
python img2hex.py /tmp/aws.bmp
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
0x78, 0x3C, 0x3C, 0x3C, 0x1E, 0x1E,
0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E,
0x3E, 0x7E, 0xFC, 0xFC, 0xF8, 0xF0,
0xE0, 0x00, 0x00, 0x00, 0x00, 0x1C,
0xFC, 0xFC, 0xFC, 0xFC, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0xF8, 0xFC, 0xFC, 0xFC,
0xFC, 0xFC, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF0, 0xFC, 0xFC, 0xFC, 0xFC, 0x1C,
0x00, 0x00, 0x00, 0xC0, 0xF0, 0xF8,
0xF8, 0xFC, 0x3C, 0x3E, 0x1E, 0x1E,
0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E,
0x3C, 0x3C, 0x38, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
Traceback (most recent call last):
  File "img2hex.py", line 31, in <module>
    b = 1 if im[fontw*rowc+fontwc][fonth*(colmax-1)-fonth*colc+fonthc][0]<128 else 0
IndexError: index 128 is out of bounds for axis 0 with size 128

When I run it on a 64x32 bmp I get a similar error:
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x18, 0x0C, 0x0C, 0x0C, 0x0C,
0x1C, 0xF8, 0xF8, 0xE0, 0x00, 0x00,
0x78, 0xF8, 0xE0, 0x00, 0x00, 0x00,
0xC0, 0xF8, 0x38, 0xF8, 0xE0, 0x00,
0x00, 0x00, 0x80, 0xF8, 0xF8, 0x18,
0x00, 0x40, 0xF0, 0xF8, 0x9C, 0x0C,
0x0C, 0x0C, 0x0C, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
Traceback (most recent call last):
  File "img2hex.py", line 31, in <module>
    b = 1 if im[fontw*rowc+fontwc][fonth*(colmax-1)-fonth*colc+fonthc][0]<128 else 0
IndexError: index 64 is out of bounds for axis 0 with size 64

I've tried pasting the above matrix anyways into logo_reader.c but the display just remains black if I do that.

I tried using the image from logo_reader.c and generate an image with this: http://javl.github.io/image2cpp/ , but I can't get it to generate the image displayed on the OLED... :(

Okay, slowly making progress. I can feed the font from glcdfont.c into http://javl.github.io/image2cpp/ , select 128x80 and read vertical

This means I probably have to modify my understanding on how this entire thing works: the font contains the glyphs which makup the image. This might help me figure out how to modify it...

okay, http://teripom.x0.com/ can load the font from glcdfont.c and it allows me to edit it too. Downloading the modified glcdfont.c allows me to update the everything :)

Made this thing https://github.com/joric/qle


qt59.qtwebengine: failing build on master/unstable

The qt59.qtwebengine build is currently failing on master.
applying patch /nix/store/v43m6ldid8561n9q5zxa5rw97jhb6d35-fix-build-with-pulseaudio-13.0.patch
patching file src/core/config/linux.pri
Hunk #1 FAILED at 162.
1 out of 1 hunk FAILED -- saving rejects to file src/core/config/linux.pri.rej

To Reproduce

nix-build -I nixpkgs=channel=nixpkgs-unstable -A qt59.qtwebengine

Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 5.3.6, NixOS, 20.03pre198214.4cd2cb43fb3 (Markhor)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.1`
 - channels(root): `"nixos-20.03pre198214.4cd2cb43fb3"`
 - channels(fabian): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Additional context
The failing patch was added by #68735.
cc: @worldofpeace
Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
- qt59.qtwebengine
# a list of nixos modules affected by the problem
module:

Can reproduce:
❯ nix-build '<nixos>' -A qt59.qtwebengine                                                                                ~
warning: 'https://standard.cachix.org' does not appear to be a binary cache
these derivations will be built:
  /nix/store/95ankvcb1nvfnby7njqb2xcsyrc85ajd-qtwebengine-5.9.7.drv
building '/nix/store/95ankvcb1nvfnby7njqb2xcsyrc85ajd-qtwebengine-5.9.7.drv'...
qmakePrePhase
unpacking sources
unpacking source archive /nix/store/ssm1zfxzwj2safw9rss05rm35cb19f6p-qtwebengine-opensource-src-5.9.7.tar.xz
source root is qtwebengine-opensource-src-5.9.7
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file qtwebengine-opensource-src-5.9.7/include/QtWebEngineWidgets/qtwebenginewidgetsversion.h
patching sources
applying patch /nix/store/gxrdmfr2lpwm4zd72xwgisbchzylsfw9-qtwebengine-no-build-skip.patch
patching file qtwebengine.pro
Hunk #1 succeeded at 12 (offset 7 lines).
applying patch /nix/store/v43m6ldid8561n9q5zxa5rw97jhb6d35-fix-build-with-pulseaudio-13.0.patch
patching file src/core/config/linux.pri
Hunk #1 FAILED at 162.
1 out of 1 hunk FAILED -- saving rejects to file src/core/config/linux.pri.rej
builder for '/nix/store/95ankvcb1nvfnby7njqb2xcsyrc85ajd-qtwebengine-5.9.7.drv' failed with exit code 1
error: build of '/nix/store/95ankvcb1nvfnby7njqb2xcsyrc85ajd-qtwebengine-5.9.7.drv' failed

cc @dtzWill

Very sorry for the breakage, see PR mentioned above for fix on master and a bit of discussion.
Hopefully this can be resolved soon!

qt59 was removed on master


RingBuffer.isPublished() incorrect in case of multiple producer RingBuffer

Hi,
RingBuffer.isPublished() returns false for sequences that have been published after the buffer wraps around once when multiple producer.
Here's a sample test case:
	@Test
	public void test() {
		RingBuffer<Void> buffer = RingBuffer.createMultiProducer(new EventFactory<Void>() {

			@Override
			public Void newInstance() {
				return null;
			}
		}, 2);

		buffer.publish(buffer.next());

		assertTrue("Sequence 0 should be published!!!", buffer.isPublished(0));

		buffer.publish(buffer.next());
		buffer.publish(buffer.next());

		assertTrue("Sequence 2 should be published!!!", buffer.isPublished(2));
		assertTrue("Sequence 0 should still be published!!!", buffer.isPublished(0));
	}

Regards,
Victor.

There is a long and sordid history* to that method and why it works the way that it does, mostly to do with a hack in one of our applications.  The main issue is that the method is misnamed and badly documented.  The upshot is that you probably shouldn't use that method.  I'm going to deprecate it to discourage its use.

The method should really be named isAvailable as the use is to determine if a entry can be read for a given sequence.  Once the ring buffer is wrapped past a particular sequence number then the value for that sequence number is no longer is available.  Its use cases are very narrow and if used incorrectly could result in race conditions.

I didn't actually need it so it's fine by me.
Regards,
Victor.


Make @sap/cds a peer dependency

Like w/ all other plugins, @sap/cds should be installed by the application, not by the plugin.
Also, support upcoming cds 8.  Please check if this works.

chgeo

I tried cds v8, but i was getting error in build. Error was coming because attachments repository uses cds v7, so during build i was getting version mismatch.

@yashmeet29 thanks for testing.
Can you make sure this gets resolved? All plugins need to work w/ cds 8 !


package.json - remove redundant .MI file extension association

Must have missed this on a prior cleanup, this time I won't forget

Also, change the DDS language name to PF to match the others or change all to a format of DDS-{DDS TYPE}.


⚠ Bofrost.es has degraded performance

In ba2e9ab, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1495 ms

Resolved: Bofrost.es performance has improved in 2af3c7d after 7 minutes.


UIINREACH-217 - Fix test failures caused due to changes in STCOM-1079

Purpose
Fix test failures caused due to changes in STCOM-1079
Refs
https://issues.folio.org/browse/UIINREACH-217

Sorry I missed this, @Terala-Priyanka! I thought I had grep'ed through all the modules in platform-complete for instances of data-tast but somehow I missed this one!