[feat] Add finetune code for Yi-VL model

The code is mostly modified from LLaVA

@minlik  Thank you for your PR, I will test it

Can you provide your environment? Both the official configuration of llava and the requirements. txt you provided reported errors. It would be great if you could provide a step in readme to reproduce your environment
The various errors I encountered:
- Import error
    from llava.train.llama_flash_attn_monkey_patch import replace_llama_attn_with_flash_attn
- ModuleNotFoundError: No module named 'llava'
- ImportError: cannot import name 'ShardedDDPOption' from 'transformers.trainer'
- ImportError: libcudart.so.12: cannot open shared object file: No such file or directory

Can you provide your environment? Both the official configuration of llava and the requirements. txt you provided reported errors. It would be great if you could provide a step in readme to reproduce your environment The various errors I encountered:
- Import error
    from llava.train.llama_flash_attn_monkey_patch import replace_llama_attn_with_flash_attn
- ModuleNotFoundError: No module named 'llava'
- ImportError: cannot import name 'ShardedDDPOption' from 'transformers.trainer'
- ImportError: libcudart.so.12: cannot open shared object file: No such file or directory

I have updated the requirements in the latest commit here. I suggest you reinstall the requirements.txt under VL folder, and these errors should be resolved.
- Import error
    from llava.train.llama_flash_attn_monkey_patch import replace_llama_attn_with_flash_attn
- ModuleNotFoundError: No module named 'llava'

I have added PYTHONPATH=../../:$PYTHONPATH in the training scripts to ensure python environment
- ImportError: cannot import name 'ShardedDDPOption' from 'transformers.trainer'

I use transformers==4.34.0 because transformers removed ShardedDDPOption since 4.35. I will fix it later, but for now, 4.34.0 is okay
- ImportError: libcudart.so.12: cannot open shared object file: No such file or directory

I think the error is related to the torch version and cuda version. You may need to reinstall some packages following here.
 If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure './vit/clip-vit-H-14-laion2B-s32B-b79K-yi-vl-6B-448'

How did you specify a vision_tower? Are you the same as me?

Hello,
I've been trying to run the finetune script as per the instructions in VL/scripts/finetune.sh, but I keep encountering an error that I haven't been able to resolve. The script fails to execute properly, and the error seems to originate from the llama_flash_attn_monkey_patch.py file, specifically lines 87 to 89:
output_unpad = flash_attn_unpadded_qkvpacked_func(
qkv, cu_q_lens, max_s, 0.0, softmax_scale=None, causal=True
)
The error message I receive is as follows: cu_seqlens_q must have shape (batch_size + 1)
I have followed all the setup instructions accurately and ensured that all dependencies are correctly installed.
I would greatly appreciate any guidance on the specific details of using this code or suggestions on how I might resolve this error. Is there a particular setup or dependency version that I should be aware of?
 If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure './vit/clip-vit-H-14-laion2B-s32B-b79K-yi-vl-6B-448'

How did you specify a vision_tower?  If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure './vit/clip-vit-H-14-laion2B-s32B-b79K-yi-vl-6B-448'

How did you specify a vision_tower? Are you the same as me?

I set the parameter mm_vision_tower in config.json to the local ViT path, as suggested by the previous Yi-VL model readme file. However, I just checked the latest readme file and found that the suggestion was removed. Something changed and I will look into this further, but for now, simply set the parameter mm_vision_tower in config.json to the local ViT path, and I think it will work fine.

Hello,
I've been trying to run the finetune script as per the instructions in VL/scripts/finetune.sh, but I keep encountering an error that I haven't been able to resolve. The script fails to execute properly, and the error seems to originate from the llama_flash_attn_monkey_patch.py file, specifically lines 87 to 89: output_unpad = flash_attn_unpadded_qkvpacked_func( qkv, cu_q_lens, max_s, 0.0, softmax_scale=None, causal=True ) The error message I receive is as follows: cu_seqlens_q must have shape (batch_size + 1) I have followed all the setup instructions accurately and ensured that all dependencies are correctly installed. I would greatly appreciate any guidance on the specific details of using this code or suggestions on how I might resolve this error. Is there a particular setup or dependency version that I should be aware of?
Thank you.

I think it is related to the flash-attention or transformers version. You can try to use my following environment. Alternatively, you can simply avoid using flash attention by changing train_mem.py to train.py to see whether it is okay. Moreover, I have only tested finetune_qlora.sh and finetune_lora.sh, but not the full finetune script finetune.sh, due to my GPU memory limit.
accelerate==0.26.1
bitsandbytes==0.42.0
deepspeed==0.13.1
flash-attn==2.3.3
huggingface-hub==0.17.3
peft==0.8.1
tokenizers==0.14.1
torch==2.0.1
torchvision==0.15.2
transformers==4.34.0
wandb==0.16.2

could you provide a sample of you training data?  Is the data format same as llava and just change  to <image_placeholder> ?

could you provide a sample of you training data? Is the data format same as llava and just change  to <image_placeholder> ?

Yes. See here

你好，最新的微调代码哪里可以看到呢？


updated shoal-agent spec file to work with the latest code

added steps for add/ user/group shoal, but this will raise an error if user/group already exists, wondering if we could check if before adding them
removed steps related to the previous shoal-agent.sysconfig file
includes the new shoal-agent-installation fil, otherwise will raise the unpacked file error
change the onwer of shoal_agent.log file to shoal
install python module pystun through pip command, as didn't find one could be installed through yum
create another spec file for python3

We can check /etc/group (for group) and /etc/passwd (for user) for existing entries before creating the group or user.
e.g. for group check something like this should work:
if [ $(grep -c "^shoal" /etc/group) -eq 0 ];
then
groupadd shoal
fi


nodePackages.carto: init at 1.2.0

Description of changes
Adds CartoCSS.
I use this program for OpenStreetMap to compile the openstreetmap-carto sources into a Mapnik compatible XML file.
Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1140


Update versions and a couple of improvements

@TomAugspurger : tested and seems OK.

Fixes #3
Fixes #4

LGTM.

FYI, pandas is doing a 0.23.2 release soon, but I don't think it'll break anything for the tutorial :)

There is no need to remake the image, so nothing will change.
Each time we make a new image, we should run a full tests to see that things are working. Upstream version changes are worth keeping in mind for those installing locally.


Unable to open files on FUSE-Drive | [main] [error] Error: write EPIPE

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

VS Code Version: 1.67.1
OS Version:  Linux Mint 20.3 Cinnamon

Steps to Reproduce:

Mount your Cryptomator vault (using FUSE)
Open a Textfile using VS Code
Application freezes and process has to be killed by hand

Logs:
[2022-05-16 17:20:40.203] [main] [error] [uncaught exception in main]: Error: write EPIPE
[2022-05-16 17:20:40.203] [main] [error] Error: write EPIPE
    at afterWriteDispatched (node:internal/stream_base_commons:164:15)
    at writeGeneric (node:internal/stream_base_commons:155:3)
    at Socket._writeGeneric (node:net:795:11)
    at Socket._write (node:net:807:8)
    at writeOrBuffer (node:internal/streams/writable:389:12)
    at _write (node:internal/streams/writable:330:10)
    at Socket.Writable.write (node:internal/streams/writable:334:10)
    at console.value (node:internal/console/constructor:285:16)
    at console.warn (node:internal/console/constructor:364:26)
    at p.error (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:31:3118)
    at m.error (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:31:5333)
    at St.onUnexpectedError (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:75:61862)
    at v.unexpectedErrorHandler (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:75:59135)
    at v.onUnexpectedError (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:5:354)
    at D (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:5:615)
    at process.<anonymous> (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:75:59216)
    at process.emit (node:events:402:35)
    at process._fatalException (node:internal/process/execution:170:25)
[2022-05-16 17:20:40.203] [main] [error] [uncaught exception in main]: Error: write EPIPE
[2022-05-16 17:20:40.203] [main] [error] Error: write EPIPE
    at afterWriteDispatched (node:internal/stream_base_commons:164:15)
    at writeGeneric (node:internal/stream_base_commons:155:3)
    at Socket._writeGeneric (node:net:795:11)
    at Socket._write (node:net:807:8)
    at writeOrBuffer (node:internal/streams/writable:389:12)
    at _write (node:internal/streams/writable:330:10)
    at Socket.Writable.write (node:internal/streams/writable:334:10)
    at console.value (node:internal/console/constructor:285:16)
    at console.warn (node:internal/console/constructor:364:26)
    at p.error (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:31:3118)
    at m.error (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:31:5333)
    at St.onUnexpectedError (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:75:61862)
    at v.unexpectedErrorHandler (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:75:59135)
    at v.onUnexpectedError (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:5:354)
    at D (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:5:615)
    at process.<anonymous> (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:75:59216)
    at process.emit (node:events:402:35)
    at process._fatalException (node:internal/process/execution:170:25)
[2022-05-16 17:20:40.203] [main] [error] [uncaught exception in main]: Error: write EPIPE
[2022-05-16 17:20:40.203] [main] [error] Error: write EPIPE
    at afterWriteDispatched (node:internal/stream_base_commons:164:15)
    at writeGeneric (node:internal/stream_base_commons:155:3)
    at Socket._writeGeneric (node:net:795:11)
    at Socket._write (node:net:807:8)
    at writeOrBuffer (node:internal/streams/writable:389:12)
    at _write (node:internal/streams/writable:330:10)
    at Socket.Writable.write (node:internal/streams/writable:334:10)
    at console.value (node:internal/console/constructor:285:16)
    at console.warn (node:internal/console/constructor:364:26)
    at p.error (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:31:3118)
    at m.error (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:31:5333)
    at St.onUnexpectedError (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:75:61862)
    at v.unexpectedErrorHandler (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:75:59135)
    at v.onUnexpectedError (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:5:354)
    at D (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:5:615)
    at process.<anonymous> (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:75:59216)
    at process.emit (node:events:402:35)
    at process._fatalException (node:internal/process/execution:170:25)
[2022-05-16 17:20:40.203] [main] [error] [uncaught exception in main]: Error: write EPIPE
[2022-05-16 17:20:40.203] [main] [error] Error: write EPIPE
    at afterWriteDispatched (node:internal/stream_base_commons:164:15)
    at writeGeneric (node:internal/stream_base_commons:155:3)
    at Socket._writeGeneric (node:net:795:11)
    at Socket._write (node:net:807:8)
    at writeOrBuffer (node:internal/streams/writable:389:12)
    at _write (node:internal/streams/writable:330:10)
    at Socket.Writable.write (node:internal/streams/writable:334:10)
    at console.value (node:internal/console/constructor:285:16)
    at console.warn (node:internal/console/constructor:364:26)
    at p.error (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:31:3118)
    at m.error (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:31:5333)
    at St.onUnexpectedError (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:75:61862)
    at v.unexpectedErrorHandler (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:75:59135)
    at v.onUnexpectedError (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:5:354)
    at D (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:5:615)
    at process.<anonymous> (/usr/share/codium/resources/app/out/vs/code/electron-main/main.js:75:59216)
    at process.emit (node:events:402:35)
    at process._fatalException (node:internal/process/execution:170:25)

EDIT/Additions:

Other tools like vi, nano, xed or an IDE like Rider don't have such issues. They can open/read/write files without any issues
The issue started around 1-2 months ago. Before that time VS Code had no issues to open my decrypted files

Hello all,
today I opened a text-file from my cryptomator fault with the current version of VS Code.
It worked without any issues. The issue described above does not occur anymore. I don't know the source of this issue.
Because the Editor is working again as expected, I will close the issue.
Thank you and have a good day.


replay (iterated) LOFI

Another way to avoid overcounting would be to use the buffer for updating the linearization point without updating mu or sigma. For example, at the beginning of step t we have belief state (mu_{t|t-1}, Upsilon_{t|t-1}, W_{t|t-1}) and linearized model \hat{h}{t} based at mu{t-1}. We run lofi as normal through all items in \data_{t-b:t} (a total of b+1 predict-then-update steps), yielding new belief state (mu*, Upsilon*, W*). Then we throw out Upsilon* and W* and define a new linearized model \hat{h}* based at mu*. Finally we do a single update step from (mu_{t|t-1}, Upsilon_{t|t-1}, W_{t|t-1}) using \hat{h}* and \data_t.
cf
Á. F. García-Fernández, L. Svensson, and S. Särkkä, “Iterated Posterior Linearization Smoother,” IEEE Trans. Automat. Contr., vol. 62, no. 4, pp. 2056–2063, Apr. 2017, doi: 10.1109/TAC.2016.2592681. [Online]. Available: https://web.archive.org/web/20200506190022id_/https://research.chalmers.se/publication/249335/file/249335_Fulltext.pdf

Sec E.4 of paper


VEP config changes

Removed maxentscan and human_ancestor_fasta (related to the LOFTEE VEP plugin) from the VEP requirements in the pipeline, as we no longer use either of these tools. Edits made to the:

VEP rule in both the crg and cre annotations.smk
VEP wrapper script
Config schema file
Config.yaml template

A corresponding change will also be made to the cre.vep.sh script in the cre repository, so that this change can also be applied when running the generate_reports.sh script from that repo.

Tested on exome 428 - identical results as to when the plugins were included.


Connection is lost after save

I don't remember if this is a consequence of VSCode's document management, but it's not a desired behavior. We're used to saving often so it should not trigger connection closure when one mistakenly saves a GhostText document.
Extracted from:

#291

Ok, I think I figured out why this is happening:
When the file is created it is using an untitled scheme
const file = vscode.Uri.from({
  scheme: 'untitled',
  path: `${tmpdir()}/${avoidsOverlappingFiles}/${filename}`,
});

the documentaton for onDidCloseTextDocument states:
An event that is emitted when a text document is disposed or when the language id of a text document has been changed.
The onDidCloseTextDocument event is being triggered on save because the untitled document is "closed" when it gets saved to disk as a file document.

VSCode's document management is a joke. I think I just need to avoid  using untitled://
This was also mentioned in another issue: autosave to avoid closure prompts

Can this be something like how git rebase --interactive does it? I have exported EDITOR="code --wait --add" on my terminal. When I run git rebase --interactive, it creates a file and then tells vscode to open that file. Saving the file works fine, and on closing the editor it somehow triggers continue.


support dragonfly bsd

add build target, v3.26 release dragonfly target is empty

Codecov Report

Merging #12 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master     #12   +/-   ##
======================================
  Coverage    30.7%   30.7%
======================================
  Files          34      34
  Lines        1902    1902
======================================
  Hits          584     584
  Misses       1207    1207
  Partials      111     111

Continue to review full report at Codecov.

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


[BUG] Fix SCSS imports

Yeah, I did what I was doing before an installing from a local package.  Everything built and ran, so it seems OK...


x86-32 builders hang

Probably a bug in the new callstack code.

Problem is definitely related to pics; load-all test-all with -pic=0 works without a hitch. Adding print_callstack checks to the PIC_DEBUG output causes PIC initialization to crash almost immediately. I can't pin down exactly where the stack corruption is happening yet.

win32 exits with: Process exited with error code<PHONE_NUMBER>
Apparently this is an infamous error code.
http://mcrusch.wordpress.com/2008/11/25/3221225477-autoloading/

Mac OS X 32-bit seems to work.

bump


chore(packages): license-reporter and fixed version of express

Connects to https://github.com/bucharest-gold/entente/issues/186

Pull Request Test Coverage Report for Build 91

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.154%

Totals

Change from base Build 86:
0.0%

Covered Lines:
39

Relevant Lines:
40

💛  - Coveralls


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 1849

Questions ?
Please refer to the Backport tool documentation


Can I pass a function from rhai to rust for later execution?

Is it possible to pass a function from rhai to rust for latter execution (or execution under certain circumstances)?
I need something like setTimeout in javascript.

Thanks!


KVM problem with volume snapshots kept only on the primary storage (non-managed storages)

ISSUE TYPE

Bug Report

COMPONENT NAME

volume snapshots

CLOUDSTACK VERSION

from <IP_ADDRESS> to main

SUMMARY

When snapshot.backup.to.secondary is set to false the snapshots are kept only on the primary storage. When you take more than one snapshot of a volume and delete this volume the snapshots are still active in the UI/DB but deleted from the storage. The problem with different primary storages is:

for the current NFS implementation is that the snapshots are internal, and they are deleted when you delete the volume - active in the UI/DB
for Ceph - the snapshots are deleted from the pool, but active in DB/UI
probably with the new Linstor driver the problem will be the same
for StorPool the snapshots are not deleted, but a random record is deleted from the snapshot_store_ref table and the reference to the snapshot's path is lost
with this PR - #5297 - the problem will be the same as the StorPool primary storage

STEPS TO REPRODUCE

- set `snapshot.backup.to.secondary` to `false`
- take a few snapshots of a volume
- delete the volume

The snapshots are visible in the UI, active in DB table `snapshots` and one of them is deleted in `snapshot_store_ref` DB table, because of this code in VolumeServiceImpl.deleteVolumeCallback:

                SnapshotDataStoreVO snapStoreVo = _snapshotStoreDao.findByVolume(vo.getId(), DataStoreRole.Primary);

                if (snapStoreVo != null) {
                    long storagePoolId = snapStoreVo.getDataStoreId();
                    StoragePoolVO storagePoolVO = storagePoolDao.findById(storagePoolId);

                    if (storagePoolVO.isManaged()) {
                        DataStore primaryDataStore = dataStoreMgr.getPrimaryDataStore(storagePoolId);
                        Map<String, String> mapCapabilities = primaryDataStore.getDriver().getCapabilities();

                        String value = mapCapabilities.get(DataStoreCapabilities.STORAGE_SYSTEM_SNAPSHOT.toString());
                        Boolean supportsStorageSystemSnapshots = new Boolean(value);

                        if (!supportsStorageSystemSnapshots) {
                            _snapshotStoreDao.remove(snapStoreVo.getId());
                        }
                    } else {
                        _snapshotStoreDao.remove(snapStoreVo.getId());
                    }
                }

EXPECTED RESULTS

Probably for all non-managed primary storages we should not delete the snapshots. For NFS this PR - #5297 will fix the problem with the internal snapshots.

ACTUAL RESULTS

Snapshots are deleted from the storage, but active in the UI/DB as a garbage

@rhtyd, I think there is a need to discuss how to proceed with this fix. Maybe @GabrielBrascher, @wido, and @rp- have to tell what has to be done with snapshots kept only on primary storage. Is it the right option to delete the snapshots when a volume is deleted?

Thanks @slavkap - looping @andrijapanicsb @sureshanaparti as well for feedback/discussion

For me(or Linstors POV) it make no sense (and doesn't work) to have snapshots without the volume.
So deleting would be fine for me, also in Linstor you can't delete a volume as long as it has snapshots.

@slavkap thanks, I suggest that you start a discussion thread on dev@ ML as a lot of people don't check/read Github comments (I'm guilty of that too).

Thanks all! I'll open a discussion on the ML

I will just say, that this feature (to keep snaps on primary and NOT copy them on secondary) is developed for Ceph only, and doesn't work nor was tested to work on other storage solutions. Things needs to be properly implemented/from scratch for other storage types.

@andrijapanicsb, I agree with you, but this works for StorPool and will work with the PR that I've mentioned above. I think that the problem also affects the Linstor driver without the option for bypassing secondary storage and maybe Nexenta driver (but not sure how they handle the deletion of the volume after checking their code).

Also, I think this part of the code (which is partly wrong) is not in the right place. My opinion is that the drivers should care about what happens with snapshots, not CS.

Assigned to @GutoVeronezi who has submitted a PR on the same

@rhtyd @slavkap actually PR #5297 does not solve this issue, it refers only to issue #5124. Both regards to the same feature, however, in different contexts.
(see https://github.com/apache/cloudstack/pull/5297#issuecomment-919366170)

Moved to the 4.17 milestone since we are close to the RC cut date and the PR still needs lot of effort on testing as the changes may introduce potential regressions if not tested properly

Hi @slavkap @GutoVeronezi - I see there has been recent activity on PR #5297 mentioned in this issue, does it solve this issue?

@nvazquez, I think PR #5297 doesn't fix the issue, but better @GutoVeronezi to answer

Hi, @nvazquez, PR #5297 does not solve this issue, it refers only to issue #5124. Both regards to the same feature, however, in different contexts (see https://github.com/apache/cloudstack/pull/5297#issuecomment-919366170).

Fixed on #6057


"Would you like to receive official Jupyter news?" pop-up in Jupyter notebooks

What steps did you take and what happened:
There is a small pop-up box in JupyterLab IDE with the new version of Jupyter in 2023b images, see:
I don't think we should show this to our customers since we don't expect them to update JupyterLab environment on our images and. It also appears with the notebook re-spawn, so it may be a bit annoying to a customer.
This pop-up wasn't present in 2023a.
What did you expect to happen:
Remove the notification.
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:

OpenDatahub Version: 2.4
Workbench: all
Workbench Version: 2023.2
Specific tool: jupyterlab
Notebook-Controller Version:  v1.7.0-5

Logs/Screenshots

Completed with the above PR linked.
Thanks for all the work.
Marking and closing the issue as complete.


Clarification

Hay the instructions on customization in you plugin page are a bit unintuitive, I can't figure out how to use the css classes in the timeline code. I get it maybe intuitive to someone who learned css but I don't have that unfortunately.

That is extra customization for those who know CSS
In the example below, I used the pre-made classes line-3 and body-2 for customization. You can just change the numbers or delete the square brackets if you don't want customization.
 ```timeline
 [line-3, body-2]
 + pre</br> 17th century
 + Origins of coffee
 + The modern version of roasted coffee originated in Arabia. During the 13th century, coffee was extremely popular with the Muslim community for its stimulant powers, which proved useful during long prayer sessions. By parching and boiling the coffee beans, rendering them infertile, the Arabs were able to corner the market on coffee crops. In fact, tradition says that not a single coffee plant existed outside of Arabia or Africa until the 1600s, when Baba Budan, an Indian pilgrim, left Mecca with fertile beans fastened to a strap across his abdomen. Baba’s beans resulted in a new and competitive European coffee trade.

 + 17th century
 + Europe and coffee
 + In 1616, the Dutch founded the first European-owned coffee estate in Sri Lanka, then Ceylon, then Java in 1696. The French began growing coffee in the Caribbean, followed by the Spanish in Central America and the Portuguese in Brazil. European coffee houses sprang up in Italy and later France, where they reached a new level of popularity. Now, it is de _rigueur_ for Parisians to indulge in a cup of coffee and a baguette or croissant at the numerous coffee cafes throughout Paris.
 ```


create delete button on in-memory grid

This will create a column on in-memory grid and allow user delete row directly from grid - not need to open editor dialog
screenshot:

Delete button will be hidden as default

Could you use local text for confirmation, e.g. the one in entity dialog for delete?

use local text for confirmation
Sure

This PR will be replaced by this PR  https://github.com/volkanceylan/Serene/pull/66


Select all (automatically) the new page url

Thanks for this extremely helpful extension. Though I'm pretty much satisfied except for one feature. Every time I open a new tab I have to press Command+A (Ctrl+A) before typing the web address.  Request you to pls add an additional feature in your 'Always update tab' so that the new page url automatically gets selected.
Look forward to your prompt support.
Best

Hi, please refer to #50 for full discussion on this topic.
In short, extensions have no control over this and the 'always update tab' refers to how the extension executes the redirect only. Sorry, but it's a limit of the browser and extension API.


chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-runtime-dependencies-2.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2204

Questions ?
Please refer to the Backport tool documentation


Dumpling fails to detect discs

I'm assuming this is a result of today's update in which disc detection was modified. No discs are being recognized, including ones I successfully dumped yesterday/earlier today.

Are you using Tiramisu or just straight up launching Dumpling?

I'm using the https://dumplingapp.com/ web launcher.


Update deployment-Ubuntu1510.md

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


[1.9.4] Leggings and Chestplates do not render the right parts on the player

Screenshots should speak for themselves.

Fixed!


Regenerate SDK based on pulumi v3 and pulumi-terraform-bridge v3

self merging - tests looking good - linting error is due to unused go funcs in codegen


Add configurable password constraints

one should be able to define password constraints at configuration/deployment time. we should start with minimal length constraints and add something like character classes later on. constraints should be configurable via the main configuration file (resource-server.properties at the time of writing). also, the connector(s) have to be extended to support the new behavior (like throwing an exception or something).

Moved to https://github.com/osiam/osiam/issues/60


The space before the end

https://github.com/CloudSixteen/Clockwork/blob/e2d35ad23dfa19e031c43915cc1773647f47ac9b/Clockwork/garrysmod/gamemodes/clockwork/framework/language/sh_english.lua#L228
This was the space before the end I was talking about.

make a pull request then?

@karl-police
Fixed. close this issues please.
60d9135bc3b708296b3fd1b364160808b8d5e7f7

The master branch is showing the correction: https://github.com/CloudSixteen/Clockwork/blob/master/Clockwork/garrysmod/gamemodes/clockwork/framework/language/sh_english.lua#L228
This is resolved now.


1Password Compatibility

Description
The Auth0 setup wizard on the settings page within Wordpress triggers the 1Password browser plugin. First of all it pops up and seems to believe it should fill out some hidden field. Secondly it inputs credentials into the domain and key form.

This popup appears and can simply be clicked away. It's just a little annoying. Does it react to some hidden form in the dialog behind?

The "Enter your tenant Domain:" input field is prefilled with something irrelevant. That way the user does not get to see "youraccount.auth0.com", because of that I ended up writing just the "youraccount" part and it took me some time to figure out what's wrong.
Environment

WP-Auth0 version: 3.9.0
WordPress version: 5.1
PHP version: 7.0.33-0ubuntu<IP_ADDRESS>
Browser version: Google Chrome 72.0.3626.119 (Official Build) (64-bit)
1Password Version: 7.2.4 (70204000) AgileBits Store

@oloflarsson - I've seen that on my end as well. 1Password is seeing the password field in that modal and triggering your extension. I looked through the 1Password forum and see a few posts on that saying it's not possible:
https://discussions.agilebits.com/discussion/12412/how-to-tell-extensions-to-ignore-a-form-field
https://discussions.agilebits.com/discussion/96661/disabling-1password-x-for-specific-fields-forms-web-developer-question
https://discussions.agilebits.com/discussion/54532/disable-password-prompt-for-form
When it was a text input type that popup did not show but then the token appeared, which is not what we want. One option would be to use the Universal Login page (which is recommended anyways) and turn off the prompt for the WordPress site (since the password will be on a different domain).


Strange tuple typing

function f<T extends { "0": (p1: number) => number }>(p: T): T
{
	return p;
}

var v = f([x => x]); // v is typed as [{}]. Expected [number=>number]

In your example, there isn't really a type to bind to.  You're saying T extends a type, but there's not enough information to know which type you mean.  It's like saying "pick a subtype of T, but I won't tell you which one".
The x=>x isn't enough to help figure it out either.
When the compiler hits that point, it chooses a conservative answer, like {}, to help prevent other errors from slipping through.

Could you please point to paragraph in the specification which discusses this process of choosing a conservative answer?

And one more question. If we have a tuple as a result, then we have a contextual type with a property "0" for our array literal. But at the same time, we don't have a contextual type for array element. I think this is not logical.

This isn't specific to tuples. You see the same behavior with object literals:
function f<T extends { q: (p1: number) => number }>(p: T): T {
    return p;
}

var v = f({q: x => x}); // v is typed as [{}]. Expected [number=>number]

We don't meaningfully contextually type x => x because the parameter type is just T. Arguably we should use base constraint of a type parameter when contextually typing by it, which should make all these examples "just work". @ahejlsberg ?

@RyanCavanaugh Well, at least there should be an compilation error, because [{}] is not assignable to { "0": (p1: number) => number }. Because of this IMHO this is a bug.

That's a good point

I'm debugging this now. I'll be able to give you an answer soon about what is going on.

@jonathandturner @RyanCavanaugh @osdm We do use the base constraint for contextual typing, as of recently, #3822. So there is something else amiss.

Ok, turns out we are leaking an internal compiler type that looks like {}. It happens whenever you try to infer a type for a type parameter, and the type parameter contains the anyFunctionType, but isn't directly the anyFunctionType.

I am adding a rule in the subtype relation to fix this.

Ok, the new rule is that a type with signatures is not a subtype of the anyFunctionType. It is assignable, but it's not a subtype.


Inaccurate project count

https://github.com/apache/www-site/blob/78317a9ab4ca267ef948c25b73c373920600963c/content/dev/project-requirements.md?plain=1#L8
At present there are 209 PMCs and 24 podlings (i.e. total 233). This is far short of the 350 mentioned in the text.

According to the annual report, which is currently being reviewed by infra for accuracy:

209 committees managing 366 projects
5 special committees*
24 incubating podlings

When the number is confirmed, we will make any needed adjustments accordingly, both in the annual report and on this site.

Some PMCs have quite distinct projects. For example, DB has JDO, Torque, and Derby.

On Aug 25, 2023, at 16:40, sebbASF @.***> wrote:
The issue here is what does a software project community mean?
I read it as meaning the PMC or podling.
The Commons developers maintain many distinct components, but it would be misleading to say that there are distinct communities for each.
—
Reply to this email directly, view it on GitHub https://github.com/apache/www-site/issues/307#issuecomment-1694035905, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD4M6RCYEGG4IPA3B4HXTLDXXEZWZANCNFSM6AAAAAA35YHO4Q.
You are receiving this because you are subscribed to this thread.

Craig L Russell
@.***

see https://projects.apache.org/projects.html?committee for what is counted (= what projects have been declared by PMCs)

That site is optional; not all projects have DOAPs and once created, may not be maintained.
e.g. there seems to be no DOAP for JDO

yes, what do each PMC consider as a "project" is not clear. And did they do the job to declare it to have it officially counted is another step.
We're having today again a discussion that we had 5 years ago, when we built the new project.apache.org site: I tried to document the logic as much as possible in the "About" page, but it always has been hard to define how to communicate to the PMCs to update their data

Also it looks like the algorithm for counting projects has some flaws.
It does appear to include Attic projects.

It may be true: don't hesitate to update the algorithms

On Aug 26, 2023, at 00:57, sebbASF @.***> wrote:
Some PMCs have quite distinct projects. For example, DB has JDO, Torque, and Derby.
Yes, but are these distinct communities?

FWIW, yes, these are distinct communities with their own user/dev lists, releases, and web sites. DB was established way back when umbrella PMCs were common. Now, not so much.

—
Reply to this email directly, view it on GitHub https://github.com/apache/www-site/issues/307#issuecomment-1694218886, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD4M6REHOZRM6J7KT3BXY7LXXGT53ANCNFSM6AAAAAA35YHO4Q.
You are receiving this because you commented.

Craig L Russell
@.***

I disagree with the DOAP method of counting. M&P has coordinated with Infra in the past to get the 366 number, and we will continue to work with them to come up with this stat. And anyway, based on conversations I have had with people who have assisted projects with missing DOAP files, they have no problem believing there are over 70 missing DOAP files.
M&P will keep with its current methodology of counting. Closing.

If I might get a little pedantic, Charles Vogl says[1] that a community is a group of people with a shared goal. What makes a community "distinct" is that goal, not necessarily the individuals comprising the group. So, is Apache Commons really 43 "distinct communities"? Well, yeah, sort of. It depends on how you look at it.
FWIW, looking at https://projects.apache.org/projects.html?committee I count 209 committees and 377 projects, with 55 in the attic. That would leave 28 or so projects that, presumably, have missing DOAP files, which I find completely plausible.
[1] https://www.amazon.com/Art-Community-Seven-Principles-Belonging/dp/1626568413


[SPARK-32237][SQL][3.0] Resolve hint in CTE

What changes were proposed in this pull request?
The backport of #29062
This PR is to move Substitution rule before Hints rule in Analyzer to avoid hint in CTE not working.
Why are the changes needed?
Below SQL in Spark3.0 will throw AnalysisException, but it works in Spark2.x
WITH cte AS (SELECT /*+ REPARTITION(3) */ T.id, T.data FROM $t1 T)
SELECT cte.id, cte.data FROM cte

Failed to analyze query: org.apache.spark.sql.AnalysisException: cannot resolve '`cte.id`' given input columns: [cte.data, cte.id]; line 3 pos 7;
'Project ['cte.id, 'cte.data]
+- SubqueryAlias cte
   +- Project [id#21L, data#22]
      +- SubqueryAlias T
         +- SubqueryAlias testcat.ns1.ns2.tbl
            +- RelationV2[id#21L, data#22] testcat.ns1.ns2.tbl

'Project ['cte.id, 'cte.data]
+- SubqueryAlias cte
   +- Project [id#21L, data#22]
      +- SubqueryAlias T
         +- SubqueryAlias testcat.ns1.ns2.tbl
            +- RelationV2[id#21L, data#22] testcat.ns1.ns2.tbl

Does this PR introduce any user-facing change?
No
How was this patch tested?
Add a unit test

Test build #126399 has started for PR 29201 at commit b5be044.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31013/
Test PASSed.

Test build #126399 has finished for PR 29201 at commit b5be044.

This patch fails PySpark pip packaging tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126399/
Test FAILed.

retest this please

Test build #126410 has started for PR 29201 at commit b5be044.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31024/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126410/
Test FAILed.

Could you resolve conflicts, @LantaoJin ?

Also, cc @HyukjinKwon for PySpark pip packaging failure. It seems that branch-3.0 still complains for that.

@dongjoon-hyun, I will backport https://github.com/apache/spark/pull/29117. Thanks for letting me know.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31078/
Test PASSed.

Thank you for resolving conflicts, @LantaoJin .
cc @cloud-fan

thanks, merging to 3.0!

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/126465/
Test FAILed.


Barback asset conflict message could be more clear

I've gotten stumped by failing builds twice because I had existing dart2js output in the folder when running pub build, would be great if the error message would be more clear.
Currently it just says "Transforms $transforms all emitted asset $id."
Would be great if this could say something about it conflicting with an existing file.
I'd be happy to update the string if someone has a decent suggestion for what it should be.

This issue has been moved to dart-lang/barback#30.


new-localuser vs net user /add

running win10 as client in hyper-v
the first account created during the installation of win10 is alex
create a new user name with bellow steps(remotely via PS ,not in interactive console)

$passwd = Read-Host -AsSecureString
New-LocalUser -Name display -AccountNeverExpires -PasswordNeverExpires -Password $passwd
Get-LocalUser

I can see the newly created account: display.and it is enabled.
logoff alex account in interactive console ,then try to login with display account
on the logon screen. There is no way to type the new user name (display) or choose
try to add display account to administrators group.
restart computer to login again , but still no way to type or choose display account.

########################
9. try to add a new user with net user add with bellow step
net user selfservice xxxxxx.xxxx /add
10. try to login again in interactive console , i can see the new account (selfservice) was there , I can click on it ,then type pass word .....
This is my second time met this problem.
Why I can not use the new account created by new-localuser ?
bug or I make some mistake ?

The cmdlet is not in the repo. Please discuss on forums.

Ok
Sent from myMail for iOS
Tuesday, 30 July 2019, 3:58 pm +1000 from<EMAIL_ADDRESS><EMAIL_ADDRESS>
Closed  #10247 .
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly,  view it on GitHub , or  mute the thread .


Remove newlines from translated strings

What does this PR do and why?

Removes \n from strings marked for translation. This causing issues in lingui's extract script; results varied between local and github action.
Removes lingui script from crowdin download
Removes the pre-commit hook

Unfortunately, we can't test whether this works as we need to first upload these new strings to crowdin so that the download script will download these new strings. I will test as soon as it hits main - note that there shouldn't be any adverse affects on production.
This action demonstrates that the crowdin action itself already does extraction in its script:
https://github.com/jbx-protocol/juice-interface/runs/5172363112?check_suite_focus=true
DOWNLOAD TRANSLATIONS
✔  Fetching project info
✔  Building ZIP archive with the latest translations
✔  Building translation (100%)
✔  Downloading translations
✔  Extracting archive
✔  Extracted: 'src/locales/es/messages.po'
✔  Extracted: 'src/locales/fr/messages.po'
✔  Extracted: 'src/locales/hi/messages.po'
✔  Extracted: 'src/locales/ja/messages.po'
✔  Extracted: 'src/locales/pt/messages.po'
✔  Extracted: 'src/locales/ru/messages.po'
✔  Extracted: 'src/locales/tr/messages.po'
✔  Extracted: 'src/locales/zh/messages.po'

Acceptance checklist

[x] I have evaluated the Approval Guidelines for this PR.
[x] I have tested this PR in all supported browsers.

Awesome work looking into this @aeolianeth. Nice pickup and improvement

Thanks, going to merge this as it is productivity-related 🚀
cc @peripheralist


Tutorial isn't working as expected

The tutorial at https://docs.microsoft.com/en-us/office/dev/add-ins/excel/configure-your-add-in-to-use-a-shared-runtime isn't working as expected.  The taskpane opens but the taskpane is greyed out (see attached image). The custom functions work fine however.
-Courtney

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

ID: 3a1bb1ec-f7c0-61c7-bd50-4018a2726e3a
Version Independent ID: dabd68f4-f474-1f01-0022-b2fe55eaafa3
Content: Configure your Excel add-in to share the browser runtime - Office Add-ins
Content Source: docs/excel/configure-your-add-in-to-use-a-shared-runtime.md
Product: excel
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

Thanks @TCourtneyOwen,
Can you please work with @davidchesnut to get this issue resolved?

@davidchesnut is aware of the issue as well.
-Courtney

Hi @TCourtneyOwen
This is something caused by the sideload opening the task pane briefly, then closing it. When the shared runtime opens the task pane, it then won't open properly. You can work around this by:

*File > Close (to close the workbook with the non-functioning task pane).
File > New > Blank Workbook.
Then use the drop down in the ribbon for My Add-ins to find the Developer Add-ins. You'll see the sideloaded add-in. Select it and it will work now.

Thanks,
David

Hi @TCourtneyOwen
This is something caused by the sideload opening the task pane briefly, then closing it. When the shared runtime opens the task pane, it then won't open properly. You can work around this by:

*File > Close (to close the workbook with the non-functioning task pane).
File > New > Blank Workbook.
Then use the drop down in the ribbon for My Add-ins to find the Developer Add-ins. You'll see the sideloaded add-in. Select it and it will work now.

Thanks,
David

@davidchesnut interesting, let me give that a shot.  I wonder why the taskpane tries to open

@davidchesnut interesting, let me give that a shot.  I wonder why the taskpane tries to open

That's bizarre! It works for me too when following your steps

That's bizarre! It works for me too when following your steps

@davidchesnut are you updating the tutorial to include this workaround?  Seems like we wouldn't want to have a tutorial the requires a workaround

@davidchesnut are you updating the tutorial to include this workaround?  Seems like we wouldn't want to have a tutorial the requires a workaround


Set URL parameters on RestPool

Closes #57

Codecov Report

Merging #58 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##             master    #58   +/-   ##
=======================================
  Coverage       100%   100%
- Complexity       62     63    +1
=======================================
  Files             7      7
  Lines           150    156    +6
=======================================
+ Hits            150    156    +6

Impacted Files
Coverage Δ
Complexity Δ

src/RestPool.php
100% <100%> (ø)
8 <0> (+1)
:arrow_up:

Continue to review full report at Codecov.

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


Remove LibAFL InProcess Executor Timeout

We have had internal and external issues (#74) related to the LibAFL InProcessExecutor setting a (by default, too short, but still not relevant to our use case) set of timeouts and crash handlers. This PR copies the executor and removes the timeout and crash handlers, and removes the timeout entirely (since this is handled on the Simics side for this fuzzer).

@cglosner if you have some free time, this should solve your issue if you'd like to give it a go.

Thank you!! I'll try it out in the next couple of days.


UI: Fix backup offering buttons for instances in data view

Description
This PR fixes backup offering buttons for instances in data view

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI
[ ] test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[x] Minor
[ ] Trivial

Screenshots (if appropriate):
Image before the changes for a instance with a backup offering

Image after the changes for a instance with a backup offering

How Has This Been Tested?
Assign a backup offering to an instance and check the buttons in the data view.

How did you try to break this feature and the system with this change?

@blueorangutan ui

@vishesh92 a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: https://qa.cloudstack.cloud/simulator/pr/9391 (QA-JID-403)

Verified fix in qa simulator env.

code looks good in qa but removing the offering doesn't work:

I am not sure if the icon should be added if the removal of the offering is not allowed.


Review TODOs

Quick grep revealed following todo list (340+)
$ egrep -r -i todo * | egrep -v "third_party|Pod|doxygen"
Makefile:# TODO(nnoble): the strip target is stripping in-place, instead
doc/interop-test-descriptions.md:Status: TODO
doc/interop-test-descriptions.md:### Flow control. Pushback at client for large messages (TODO: fix name)
doc/interop-test-descriptions.md:Status: TODO
doc/interop-test-descriptions.md:### TODO Tests
doc/server-reflection.md:#TODO(dklempner): link to an actual .proto later.
examples/README.md:
examples/ruby/lib/helloworld_services.rb:    # TODO: add proto service documentation here
examples/ruby/lib/route_guide_services.rb:    # TODO: add proto service documentation here
examples/ruby/route_guide/route_guide_client.rb:  # TODO: decouple sending and receiving, i.e have the response enumerator run
include/grpc/census.h:  TODO(aveitch): Instead of providing this as an argument to the rpc_start_op()
include/grpc/census.h:/* TODO(aveitch): consider if context is the right argument type to pass in
include/grpc/impl/codegen/atm_win32.h:  /* TODO(dklempner): Can we implement something better here? /
include/grpc/impl/codegen/atm_win32.h:  / TODO(ctiller): Can we implement something better here? /
include/grpc/impl/codegen/compression_types.h:  / TODO(ctiller): snappy /
include/grpc/impl/codegen/slice_buffer.h:   TODO(ctiller): inline some small number of elements into the struct, to
include/grpc++/impl/codegen/async_stream.h:    // TODO(ctiller): don't assert
include/grpc++/impl/codegen/async_stream.h:    // TODO(ctiller): don't assert
include/grpc++/impl/codegen/async_stream.h:    // TODO(ctiller): don't assert
include/grpc++/impl/codegen/async_stream.h:    // TODO(ctiller): don't assert
include/grpc++/impl/codegen/async_stream.h:    // TODO(ctiller): don't assert
include/grpc++/impl/codegen/async_unary_call.h:    // TODO(ctiller): don't assert
include/grpc++/impl/codegen/client_context.h:    // TODO(yangg) check finished
include/grpc++/impl/codegen/sync_stream.h:    // TODO(ctiller): don't assert
include/grpc++/security/server_credentials.h:  // TODO(dgq): the "port" part seems to be a misnomer.
include/grpc++/server_builder.h:  // TODO(dgq): the "port" part seems to be a misnomer.
include/grpc++/support/channel_arguments.h:  // TODO(yangg) add flow control options
setup.py:    # TODO(atash): eventually split the grpcio package into a metapackage
src/compiler/objective_c_generator.cc:  // TODO(jcanizales): Print method comments.
src/compiler/objective_c_generator.cc:  // TODO(jcanizales): Put this on a new line and align colons.
src/compiler/objective_c_generator.cc:  // TODO(jcanizales): Print documentation from the method.
src/compiler/objective_c_plugin.cc:      // TODO(jcanizales): Instead forward-declare the input and output types
src/compiler/python_generator.cc:// TODO(protobuf team): Export ModuleName from protobuf's
src/compiler/ruby_generator.cc:  // TODO(temiola): add documentation
src/compiler/ruby_generator.cc:  grpc::string doc = "TODO: add proto service documentation here";
src/core/census/context.c:  // TODO(aveitch): check that BINARY flag is correct for each type.
src/core/census/grpc_filter.c:  / TODO(ctiller): this code fails. I don't know why. I expect it's
src/core/census/grpc_filter.c:  /* TODO(hongyu): record rpc client stats and census_rpc_end_op here /
src/core/census/grpc_filter.c:  / TODO(hongyu): call census_tracing_start_op here. /
src/core/census/grpc_filter.c:  / TODO(hongyu): record rpc server stats and census_tracing_end_op here /
src/core/census/initialize.c:  / TODO(aveitch): improve this as we implement features... /
src/core/census/operation.c:/ TODO(aveitch): These are all placeholder implementations. /
src/core/census/operation.c:  / TODO(aveitch): assumes gpr_timespec implementation of census_timestamp. /
src/core/census/tracing.c:/ TODO(aveitch): These are all placeholder implementations. /
src/core/channel/http_server_filter.c:    / TODO(klempner): Track that we've seen all the headers we should
src/core/channel/http_server_filter.c:      /* TODO(klempner): We should consider preallocating common values such
src/core/channel/http_server_filter.c:      /* TODO(klempner): Should we be surfacing this to application code? /
src/core/channel/http_server_filter.c:      / TODO(klempner): We're currently allowing this, but we shouldn't
src/core/channel/http_server_filter.c:    /* TODO(klempner): We ought to generate more descriptive error messages
src/core/client_config/resolvers/zookeeper_resolver.c:    TODO: better connection management besides logs /
src/core/client_config/resolvers/zookeeper_resolver.c:  /* TODO: Replace expensive heap allocation with stack
src/core/client_config/subchannel.c:  /* TODO(ctiller): this full barrier seems to clear up a TSAN failure.
src/core/client_config/uri_parser.c:    /* TODO(ctiller): parse the authority correctly /
src/core/compression/algorithm.c:/ TODO(dgq): Add the ability to specify parameters to the individual
src/core/httpcli/httpcli.h:   TODO(ctiller): allow caching and capturing multiple requests for the
src/core/iomgr/fd_posix.c:/* TODO(klempner): We could use some form of polling generation count to know
src/core/iomgr/fd_posix.c:/* TODO(klempner): Consider disabling freelisting if we don't have multiple
src/core/iomgr/fd_posix.c:/* TODO(klempner): Batch these allocations to reduce fragmentation /
src/core/iomgr/pollset_multipoller_with_epoll.c:/ TODO(klempner): We probably want to turn this down a bit /
src/core/iomgr/pollset_multipoller_with_epoll.c:  / TODO(vpai): Consider first doing a 0 timeout poll here to avoid
src/core/iomgr/pollset_multipoller_with_epoll.c:            /* TODO(klempner): We might want to consider making err and pri
src/core/iomgr/pollset_multipoller_with_epoll.c:    /* TODO(klempner): Fall back to poll here, especially on ENOSYS /
src/core/iomgr/pollset_multipoller_with_poll_posix.c:  / TODO(ctiller): this is O(num_fds^2); maybe switch to a hash set here /
src/core/iomgr/pollset_multipoller_with_poll_posix.c:  / TODO(ctiller): inline some elements to avoid an allocation /
src/core/iomgr/pollset_multipoller_with_poll_posix.c:  / TODO(ctiller): perform just one malloc here if we exceed the inline case /
src/core/iomgr/pollset_multipoller_with_poll_posix.c:  / TODO(vpai): Consider first doing a 0 timeout poll here to avoid
src/core/iomgr/pollset_posix.c:     TODO(ctiller): can this work be localized? /
src/core/iomgr/pollset_posix.c:       * TODO(dklempner): Can we refactor the shutdown logic to avoid this? */
src/core/iomgr/pollset_posix.c:  / TODO(klempner): If we're not careful this could cause infinite recursion.
src/core/iomgr/pollset_posix.c:    /* TODO(klempner): Comment this out and fix any test failures or establish
src/core/iomgr/pollset_posix.c:  /* TODO(vpai): Consider first doing a 0 timeout poll here to avoid
src/core/iomgr/resolve_address.h:/* TODO(ctiller): add a timeout here /
src/core/iomgr/tcp_posix.c:      / TODO(klempner): Log interesting errors /
src/core/iomgr/tcp_posix.c:      / TODO(klempner): Cork if this is a partial write /
src/core/iomgr/tcp_posix.c:        / TODO(klempner): Log some of these /
src/core/iomgr/tcp_server.h:/ TODO(ctiller): deprecate this, and make grpc_tcp_server_add_ports to handle
src/core/iomgr/tcp_server_posix.c:    /* TODO(ctiller): revise this when we have server-side sharding
src/core/iomgr/timer.c:  /* TODO(ctiller): check deadline expired /
src/core/iomgr/timer.c:  / TODO(ctiller): verify that there are any timers (atomically) here /
src/core/iomgr/udp_server.h:/ TODO(ctiller): deprecate this, and make grpc_udp_server_add_ports to handle
src/core/iomgr/wakeup_fd_eventfd.c:  /* TODO(klempner): Handle failure more gracefully /
src/core/iomgr/wakeup_fd_eventfd.c:  / TODO(klempner): Actually check if eventfd is available /
src/core/iomgr/wakeup_fd_pipe.c:  / TODO(klempner): Make this nonfatal /
src/core/security/handshake.c:  / TODO(klempner,jboeuf): This should probably use the client setup
src/core/security/handshake.c:    /* TODO(klempner,jboeuf): This should probably use the client setup
src/core/security/jwt_verifier.c:  /* TODO(jboeuf): Add others as needed (jku, jwk, x5u, x5c and so on...). /
src/core/security/jwt_verifier.c:  / TODO: see what to do with claims... /
src/core/security/jwt_verifier.c:  / TODO(jboeuf): Cache the jwks_uri in order to avoid this hop next time. /
src/core/security/secure_endpoint.c:  / TODO(yangg) check error, maybe bail out early /
src/core/security/secure_endpoint.c:  / TODO(yangg) experiment with moving this block after read_cb to see if it
src/core/security/secure_endpoint.c:    /* TODO(yangg) do different things according to the error type? /
src/core/security/security_connector.c:  / TODO(jboeuf@google.com): Maybe revisit the approach which consists in
src/core/security/security_connector.h:  /* TODO(yangg): Create a grpc_server_security_connector with these. /
src/core/security/server_auth_filter.c:  / TODO(jboeuf): Implement support for response_md. /
src/core/statistics/census_interface.h:   TODO(hongyu): Figure out valid characters set for service name and command
src/core/statistics/census_log.c:  / TODO(aveitch): move this inside the do loop when current_cpu is fixed /
src/core/statistics/census_rpc_stats.c:/ TODO(hongyu): replace it with cityhash64 /
src/core/statistics/window_stats.c:   TODO: consider using doubles instead of int64. */
src/core/support/cmdline.c:  / TODO(ctiller): make this prettier /
src/core/support/time.c:/ TODO(ctiller): consider merging _nanos, _micros, _millis into a single
src/core/support/time.c:    /* TODO(ctiller): correct handling here (it's so far in the past do we
src/core/surface/call.c:  /* TODO(ctiller): share with cq if possible? /
src/core/surface/call.c:    / TODO(ctiller): This should change to use the appropriate census start_op
src/core/surface/call.c:  /* TODO(ctiller): what to do about the flush that was previously here /
src/core/surface/call.c:  / TODO(ctiller): this feels like it could be made lock-free /
src/core/surface/call.c:        / TODO(ctiller): just make these the same variable? /
src/core/surface/completion_queue.c:      / TODO(ctiller): should we use a different result here /
src/core/surface/server.c:    / TODO(ctiller): unify these two searches /
src/core/surface/server.c:  / TODO(ctiller): expose a channel_arg for this /
src/core/transport/chttp2/hpack_encoder.c: * TODO(murgatroid99): Remove this
src/core/transport/chttp2/hpack_encoder.c:  / TODO(ctiller): opportunistically compress non-binary headers /
src/core/transport/chttp2/hpack_parser.c: * TODO(murgatroid99): Remove this
src/core/transport/chttp2/hpack_parser.c:  / TODO(ctiller): limit the distance of end from beg, and perform multiple
src/core/transport/chttp2/parsing.c:    /* TODO(ctiller): check for a status like " 0" /
src/core/transport/chttp2/parsing.c:    / TODO(ctiller): check for a status like " 0" /
src/core/transport/chttp2/parsing.c:  / TODO(ctiller): when to increment header_frames_received? /
src/core/transport/chttp2_transport.c:     TODO(ctiller): tune this */
src/core/transport/chttp2_transport.c:   check our todo lists and initiate callbacks and flush writes. */
src/core/transport/chttp2_transport.c:      / TODO(ctiller): check if there's flow control for any outstanding
src/core/transport/metadata.c:    /* TODO(ctiller): GPR_ASSERT(shard->count == 0); /
src/core/transport/metadata.c:    / TODO(ctiller): GPR_ASSERT(shard->count == 0); /
src/core/tsi/ssl_transport_security.c:   TODO(jboeuf): refactor all the #if / #endif in a separate module. */
src/core/tsi/ssl_transport_security.c:/ TODO(jboeuf): I have not found a way to get this number dynamically from the
src/core/tsi/ssl_transport_security.c:/* TODO(jboeuf): Remove when we are past the debugging phase with this code. /
src/core/tsi/ssl_transport_security.c:/ Used for debugging. TODO(jboeuf): Remove when code is mature enough. /
src/core/tsi/ssl_transport_security.c:  / TODO(jboeuf): Maybe add more properties. /
src/core/tsi/ssl_transport_security.c:  / TODO(jboeuf): Add revocation verification. /
src/core/tsi/ssl_transport_security.c:        / TODO(jboeuf): Add revocation verification. /
src/core/tsi/ssl_transport_security.h:     TODO(jboeuf): Revisit the format of this parameter.
src/core/tsi/ssl_transport_security.h:     TODO(jboeuf): Revisit the format of this parameter.
src/core/tsi/ssl_transport_security.h:   Still TODO(jboeuf):
src/cpp/common/call.cc:    // TODO(yangg) handle duplicates?
src/cpp/common/call.cc:// TODO(yangg) if the map is changed before we send, the pointers will be a
src/cpp/server/server.cc:  // TODO(yangg) remove the copy here.
src/cpp/util/byte_buffer.cc:  // TODO(yangg) maybe expose some core API to simplify this
src/csharp/build_packages.bat:@rem TODO(jtattermusch): is there a better way to do this?
src/csharp/build_packages.bat:@rem TODO(jtattermusch): re-enable protoc plugin building
src/csharp/build_packages.bat:@rem TODO(jtattermusch): re-enable building Grpc.Tools package
src/csharp/doc/grpc_csharp_public.shfbproj:    Summary, Parameter, AutoDocumentCtors, Namespace, TypeParameter, AutoDocumentDispose
src/csharp/ext/grpc_csharp_ext.c:  / TODO: don't use magic number /
src/csharp/ext/grpc_csharp_ext.c:  / TODO: don't use magic number /
src/csharp/ext/grpc_csharp_ext.c:  / TODO: don't use magic number /
src/csharp/ext/grpc_csharp_ext.c:  / TODO: don't use magic number /
src/csharp/ext/grpc_csharp_ext.c:  / TODO: don't use magic number /
src/csharp/ext/grpc_csharp_ext.c:  / TODO: don't use magic number /
src/csharp/ext/grpc_csharp_ext.c:  / TODO: don't use magic number /
src/csharp/ext/grpc_csharp_ext.c:  / TODO: don't use magic number /
src/csharp/ext/grpc_csharp_ext.c:  / TODO: don't use magic number /
src/csharp/ext/grpc_csharp_ext.c:  / TODO: don't use magic number /
src/csharp/ext/grpc_csharp_ext.c:  / TODO: don't use magic number /
src/csharp/Grpc.Core/Channel.cs:            // TODO(jtattermusch): it would be useful to also provide .NET/mono version.
src/csharp/Grpc.Core/IAsyncStreamReader.cs:        // TODO(jtattermusch): consider just using IAsyncEnumerator instead of this interface.
src/csharp/Grpc.Core/Internal/AsyncCall.cs:        // TODO: this method is not Async, so it shouldn't be in AsyncCall class, but
src/csharp/Grpc.Core/Internal/AsyncCallBase.cs:            // TODO: handle the case when success==false
src/csharp/Grpc.Core/Internal/AsyncCallServer.cs:                    // TODO(jtattermusch): is this still necessary?
src/csharp/Grpc.Core/Internal/AsyncCallServer.cs:            // TODO(jtattermusch): handle error
src/csharp/Grpc.Core/Internal/ClientResponseStream.cs:            // TODO(jtattermusch): implement the semantics of stream disposal.
src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs:                // TODO(jtattermusch): we might wanna check that the metadata is readonly
src/csharp/Grpc.Core/Internal/NativeExtension.cs:            // TODO: allow customizing path to native extension (possibly through exposing a GrpcEnvironment property).
src/csharp/Grpc.Core/Internal/ServerCallHandler.cs:                // TODO(jtattermusch): we need to read the full stream so that native callhandle gets deallocated.
src/csharp/Grpc.Core/Internal/ServerCallHandler.cs:                // TODO(jtattermusch): we need to read the full stream so that native callhandle gets deallocated.
src/csharp/Grpc.Core/Internal/ServerCallHandler.cs:            // TODO(jtattermusch): what is the right status code here?
src/csharp/Grpc.Core/Internal/ServerRequestStream.cs:            // TODO(jtattermusch): implement the semantics of stream disposal.
src/csharp/Grpc.Core/IServerStreamWriter.cs:        // TODO(jtattermusch): consider just using IAsyncStreamWriter instead of this interface.
src/csharp/Grpc.Core/Metadata.cs:        // TODO: add support for access by key
src/csharp/Grpc.Examples.Tests/MathClientServerTests.cs:        // TODO: test Fib with limit=0 and cancellation
src/csharp/Grpc.HealthCheck/HealthServiceImpl.cs:                    // TODO(jtattermusch): returning specific status from server handler is not supported yet.
src/csharp/Grpc.HealthCheck.Tests/HealthClientServerTest.cs:        // TODO(jtattermusch): add test with timeout once timeouts are supported
src/csharp/Grpc.IntegrationTesting/ClientRunners.cs:            // TODO: populate user time and system time
src/csharp/Grpc.IntegrationTesting/InteropClient.cs:                // TODO(jtattermusch): we need this to ensure call has been initiated once we cancel it.
src/csharp/Grpc.IntegrationTesting/InteropClientServerTest.cs:        [Ignore("TODO: see #4427")]
src/csharp/Grpc.IntegrationTesting/InteropClientServerTest.cs:        [Ignore("TODO: see #4427")]
src/csharp/Grpc.IntegrationTesting/Payloads.cs:  ///  TODO (vpai): Fill this in once the details of complex, representative
src/csharp/Grpc.IntegrationTesting/ServerRunners.cs:            // TODO: qps_driver needs to setup payload properly...
src/csharp/Grpc.IntegrationTesting/ServerRunners.cs:            // TODO: populate user time and system time
src/csharp/Grpc.IntegrationTesting/WorkerServiceImpl.cs:                Cores = 0,  // TODO: set number of cores
src/node/interop/interop_client.js:  // TODO(mlumish): enable TLS functionality
src/node/interop/interop_server.js:  // TODO(mlumish): enable TLS functionality
src/node/test/surface_test.js:      // TODO(mlumish): Remove call.end()
src/node/test/surface_test.js:      // TODO(mlumish): Remove call.end()
src/objective-c/BoringSSL.podspec:    # TODO(jcanizales): Translate err_data_generate.go into a Bash or Ruby script.
src/objective-c/GRPCClient/GRPCCall.h:// TODO(jcanizales): Let specify a deadline. As a category of GRXWriter?
src/objective-c/GRPCClient/GRPCCall.m:  // TODO(jcanizales): Add error handlers for async failures
src/objective-c/GRPCClient/GRPCCall.m:// TODO(jcanizales): Rename to readResponseIfNotPaused.
src/objective-c/GRPCClient/GRPCCall.m:        // TODO(jcanizales): No canonical code is appropriate for this situation
src/objective-c/GRPCClient/GRPCCall.m:  // TODO(jcanizales): Add error handlers for async failures
src/objective-c/GRPCClient/GRPCCall.m:  // TODO(jcanizales): Throw/assert if value isn't NSData.
src/objective-c/GRPCClient/GRPCCall.m:  // TODO(jcanizales): Add error handlers for async failures
src/objective-c/GRPCClient/GRPCCall.m:        // TODO(jcanizales): The C gRPC library doesn't guarantee that the headers block will be
src/objective-c/GRPCClient/private/GRPCChannel.m:  // TODO(kriswuollett) Check that keys adhere to GRPC core library requirements
src/objective-c/GRPCClient/private/GRPCChannel.m:  // TODO(jcanizales): Be sure to add a test with a server that closes the connection prematurely,
src/objective-c/GRPCClient/private/GRPCChannel.m:  //TODO(jcanizales): Add NSError* parameter to the initializer.
src/objective-c/GRPCClient/private/GRPCHost.m:// TODO(jcanizales): Generate the version in a standalone header, from templates. Like
src/objective-c/GRPCClient/private/GRPCHost.m:// TODO(mlumish): Investigate whether caching channels with strong links is a good idea.
src/objective-c/GRPCClient/private/GRPCHost.m:  // TODO(jcanizales): Add unit tests for the types of addresses we want to let pass untouched.
src/objective-c/GRPCClient/private/GRPCHost.m:    // TODO(jcanizales): Add OS and device information (see
src/objective-c/GRPCClient/private/GRPCHost.m:  // TODO(jcanizales): Default to nil instead of _address when Issue #2635 is clarified.
src/objective-c/GRPCClient/private/GRPCHost.m:// TODO(jcanizales): Don't let set |secure| to |NO| if |pathToCertificates| or |hostNameOverride|
src/objective-c/GRPCClient/private/GRPCRequestHeaders.m:  // TODO(jcanizales): Throw if call or storage are nil.
src/objective-c/GRPCClient/private/NSData+GRPC.m:// TODO(jcanizales): Move these two incantations to the C library.
src/objective-c/GRPCClient/private/NSData+GRPC.m:    // TODO(jcanizales): grpc_byte_buffer is reference-counted, so we can
src/objective-c/GRPCClient/private/NSDictionary+GRPC.m:  // TODO(jcanizales): Should we use a non-copy constructor?
src/objective-c/ProtoRPC/ProtoRPC.m:  // TODO(jcanizales): Use kGRPCErrorDomain and GRPCErrorCodeInternal when they're public.
src/objective-c/ProtoRPC/ProtoRPC.m:      // TODO(jcanizales): This is done in the main thread, and needs to happen in another thread.
src/objective-c/RxLibrary/GRXConcurrentWriteable.h: * TODO(jcanizales): Let the user specify another queue for the writeable callbacks.
src/objective-c/RxLibrary/NSEnumerator+GRXUtil.m:  // TODO(jcanizales): Consider checking if container responds to objectEnumerator and return that?
src/objective-c/tests/GRPCClientTests.m: * TODO(jcanizales): Run them also against a local SSL server and against a remote server.
src/objective-c/tests/GRPCClientTests.m:    // TODO(jcanizales): The server should return code 12 UNIMPLEMENTED, not 5 NOT FOUND.
src/objective-c/tests/GRPCClientTests.m:// TODO(jcanizales): Activate this test against the remote server.
src/objective-c/tests/run_tests.sh:# TODO(jcanizales): Use xctool instead? Issue #2540.
src/objective-c/tests/RxLibraryUnitTests.m:// TODO(jcanizales): Move this to a test util library, and add tests for it.
src/php/ext/grpc/call_credentials.c:  /* TODO: handle error /
src/php/ext/grpc/server_credentials.c:  / TODO: support multiple key cert pairs. /
src/php/ext/grpc/server_credentials.c:  / TODO: add a force_client_auth field in ServerCredentials and pass it as
src/php/tests/generated_code/math.proto:// TODO: start using src/proto/math/math.proto and remove this file once
src/proto/grpc/testing/payloads.proto:  // TODO (vpai): Fill this in once the details of complex, representative
src/python/grpcio/commands.py:# TODO(atash): Remove this once PyPI has better Linux bdist support. See
src/python/grpcio/commands.py:  # TODO(atash): somehow the name that's returned from wheel is different
src/python/grpcio/grpc/_adapter/_low.py:    # TODO(atash) translate different Exception superclasses into different
src/python/grpcio/grpc/_adapter/fore.py:    # TODO(nathaniel): Metadata support.
src/python/grpcio/grpc/_adapter/fore.py:      # TODO(nathaniel): Better mapping of codes to ticket-categories
src/python/grpcio/grpc/_adapter/fore.py:  # TODO(nathaniel): Expose graceful-shutdown semantics in which this object
src/python/grpcio/grpc/_adapter/fore.py:      # TODO(nathaniel): Yep, this is weird. Deleting a server shouldn't have a
src/python/grpcio/grpc/_adapter/rear.py:  # TODO(nathaniel): Metadata support.
src/python/grpcio/grpc/_adapter/rear.py:    # TODO(nathaniel): Cover all statuses.
src/python/grpcio/grpc/_cython/_cygrpc/completion_queue.pyx.pxi:    # TODO(atash) consider making queue polling contention a hard error to
src/python/grpcio/grpc/_cython/_cygrpc/completion_queue.pyx.pxi:    # TODO(atash) consider making queue polling contention a hard error to
src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi:  # TODO(atash): the following held reference is probably never necessary
src/python/grpcio/grpc/_cython/_cygrpc/records.pyx.pxi:    # TODO(atash) ensure that everywhere a Timespec is created that it's
src/python/grpcio/grpc/_cython/_cygrpc/records.pyx.pxi:    # it'd be nice if that were documented somewhere...) TODO(atash): document
src/python/grpcio/grpc/_cython/cygrpc.pyx:# TODO(atash): figure out why the coverage tool gets confused about the Cython
src/python/grpcio/grpc/_links/service.py:  # TODO(issue 2916): This state will again be necessary after eliminating the
src/python/grpcio/grpc/_links/service.py:    # TODO(issue 2916): Eliminate this by eliminating the necessity of calling
src/python/grpcio/grpc/_links/service.py:        # TODO(issue 2916): Instead of returning:
src/python/grpcio/grpc/beta/_connectivity_channel.py:  # TODO(issue 3064): Don't poll.
src/python/grpcio/grpc/framework/alpha/_face_utilities.py:# TODO(nathaniel): This structure is getting bloated; it could be shrunk if
src/python/grpcio/grpc/framework/core/_ingestion.py:      # TODO(nathaniel): Support other subscriptions.
src/python/grpcio/grpc/framework/core/_ingestion.py:      # TODO(nathaniel): Support other subscriptions.
src/python/grpcio/grpc/framework/core/_termination.py:    # TODO(issue 3202): Don't call the local application's callbacks if it has
src/python/grpcio/grpc/framework/core/_transmission.py:    # TODO(nathaniel): Support other subscriptions.
src/python/grpcio/grpc/framework/core/_transmission.py:    # TODO(nathaniel): Support other subscriptions.
src/python/grpcio/tests/_result.py:    # TODO(atash): Dig deeper into why the following line fails to properly
src/python/grpcio/tests/interop/client.py:      # TODO(jtattermusch): This testcase sets the auth metadata key-value
src/python/grpcio/tests/unit/_adapter/_intermediary_low_test.py:  @unittest.skip('TODO(nathaniel): Expiration test!')
src/python/grpcio/tests/unit/_crust_over_core_over_links_face_interface_test.py:    # TODO(nathaniel): Add a "groups" attribute to _digest.TestServiceDigest.
src/python/grpcio/tests/unit/_crust_over_core_over_links_face_interface_test.py:    # TODO(nathaniel): Add a "cardinalities_by_group" attribute to
src/python/grpcio/tests/unit/_cython/_channel_test.py:# TODO(nathaniel): This should be at least one hundred. Why not one thousand?
src/python/grpcio/tests/unit/_junkdrawer/math_pb2.py:# TODO(nathaniel): Remove this from source control after having made
src/python/grpcio/tests/unit/_junkdrawer/stock_pb2.py:# TODO(nathaniel): Remove this from source control after having made
src/python/grpcio/tests/unit/beta/_face_interface_test.py:    # TODO(nathaniel): Add a "groups" attribute to _digest.TestServiceDigest.
src/python/grpcio/tests/unit/beta/_face_interface_test.py:    # TODO(nathaniel): Add a "cardinalities_by_group" attribute to
src/python/grpcio/tests/unit/framework/_crust_over_core_face_interface_test.py:    # TODO(nathaniel): Add a "groups" attribute to _digest.TestServiceDigest.
src/python/grpcio/tests/unit/framework/_crust_over_core_face_interface_test.py:    # TODO(nathaniel): Add a "cardinalities_by_group" attribute to
src/python/grpcio/tests/unit/framework/face/testing/event_invocation_synchronous_event_service_test_case.py:  @unittest.skip('TODO(nathaniel): implement.')
src/python/grpcio/tests/unit/framework/face/testing/future_invocation_asynchronous_event_service_test_case.py:        # TODO(bug 2039): use LONG_TIMEOUT instead
src/python/grpcio/tests/unit/framework/face/testing/future_invocation_asynchronous_event_service_test_case.py:  @unittest.skip('TODO(nathaniel): implement.')
src/python/grpcio/tests/unit/framework/interfaces/base/_control.py:    self._todo = None
src/python/grpcio/tests/unit/framework/interfaces/base/_control.py:      if self._todo is not None:
src/python/grpcio/tests/unit/framework/interfaces/base/_control.py:        raise ValueError('TODO!!!')
src/python/grpcio/tests/unit/framework/interfaces/base/_control.py:          raise ValueError('TODO!!!')
src/python/grpcio/tests/unit/framework/interfaces/base/_control.py:      if self._todo is not None:
src/python/grpcio/tests/unit/framework/interfaces/base/_control.py:        raise ValueError('TODO!!!')
src/python/grpcio/tests/unit/framework/interfaces/base/_control.py:          raise ValueError('TODO!!!')
src/python/grpcio/tests/unit/framework/interfaces/base/_control.py:      if self._todo is not None or self._remaining_elements:
src/python/grpcio/tests/unit/framework/interfaces/base/_control.py:      if self._todo is not None or self._remaining_elements:
src/python/grpcio/tests/unit/framework/interfaces/base/_sequence.py:# TODO(issue 2959): Finish this test suite. This tuple of sequences should
src/python/grpcio/tests/unit/framework/interfaces/base/test_cases.py:      # TODO(nathaniel): support and test other subscription kinds.
src/python/grpcio/tests/unit/framework/interfaces/face/_3069_test_constant.py:# TODO(issue 3069): Replace uses of this constant with
src/python/grpcio/tests/unit/framework/interfaces/face/_event_invocation_synchronous_event_service.py:  @unittest.skip('TODO(nathaniel): implement.')
src/python/grpcio_health_checking/grpc/health/v1alpha/health.py:        # TODO(atash): once the Python API has a way of setting the server
src/ruby/.rubocop.yml:inherit_from: .rubocop_todo.yml
src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb:      # TODO: add proto service documentation here
src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb:      # TODO: add proto service documentation here
src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb:      # TODO: add proto service documentation here
src/ruby/bin/math_services.rb:    # TODO: add proto service documentation here
src/ruby/ext/grpc/rb_call.c:     * TODO(yugui) Directly use st_table and call the free function earlier?
src/ruby/ext/grpc/rb_call.c:     * TODO(yugui) Directly use st_table and call the free function earlier?
src/ruby/ext/grpc/rb_call.c:  /* TODO: add check to ensure status is the correct struct type /
src/ruby/ext/grpc/rb_completion_queue.c:  / TODO: the timeout should be a module level constant that defaults
src/ruby/ext/grpc/rb_grpc.c:   TODO: find an alternative to ruby_vm_at_exit that is ok in Ruby 2.0 where
src/ruby/ext/grpc/rb_grpc.c:/* TODO: find alternative to ruby_vm_at_exit that is ok in Ruby 2.0 /
src/ruby/ext/grpc/rb_server.c:     * TODO(yugui) Unlock GVL?
src/ruby/pb/grpc/health/v1alpha/health_services.rb:        # TODO: add proto service documentation here
src/ruby/pb/test/proto/test_services.rb:      # TODO: add proto service documentation here
src/ruby/pb/test/proto/test_services.rb:      # TODO: add proto service documentation here
src/ruby/pb/test/proto/test_services.rb:      # TODO: add proto service documentation here
src/ruby/pb/test/server.rb:    # TODO: update with unique behaviour of the half_duplex_call if that's
templates/Makefile.template:  # TODO(nnoble): the strip target is stripping in-place, instead
templates/src/csharp/build_packages.bat.template:  @rem TODO(jtattermusch): is there a better way to do this?
templates/src/csharp/build_packages.bat.template:  @rem TODO(jtattermusch): re-enable protoc plugin building
templates/src/csharp/build_packages.bat.template:  @rem TODO(jtattermusch): re-enable building Grpc.Tools package
templates/tools/dockerfile/run_tests_addons.include:# TODO(jtattermusch): is zookeeper still needed?
test/core/iomgr/fd_posix_test.c:         TODO(chenw): in multi-threaded version, callback and polling can be
test/core/iomgr/tcp_server_posix_test.c:/ Tests a tcp server with multiple ports. TODO(daniel-j-born): Multiple fds for
test/core/network_benchmarks/low_level_ping_pong.c:      /* TODO(klempner): This should really be doing an extra call after we are
test/core/network_benchmarks/low_level_ping_pong.c:  /* TODO(klempner): Print more detailed information, such as detailed histogram
test/core/statistics/trace_test.c:   TODO(hongyu): Replace O(n^2) duplicate detection algorithm with O(nlogn)
test/core/support/log_test.c:  /* TODO(ctiller): should we add a GPR_ASSERT failure test here /
test/core/transport/chttp2/bin_encoder_test.c: * TODO(murgatroid99): Remove this
test/core/tsi/transport_security_test.c:   TODO(jboeuf) uncomment test cases as we fix tsi_ssl_peer_matches_name. */
test/core/util/port_windows.c:    / TODO(ctiller): consider caching this port in some structure, to avoid
test/cpp/end2end/async_end2end_test.cc:    // TODO(sreek): The expectation here should be true. This is a bug (github
test/cpp/end2end/shutdown_test.cc:// TODO(ctiller): leaked objects in this test
test/cpp/end2end/streaming_throughput_test.cc:      // TODO (vpai): Mark this blocking
test/cpp/end2end/streaming_throughput_test.cc:      // TODO (vpai): Mark this blocking
test/cpp/end2end/test_service_impl.cc:// TODO(yangg) make it generic by adding a parameter into EchoRequest
test/cpp/end2end/thread_stress_test.cc:  // TODO(yangg) make it generic by adding a parameter into EchoRequest
test/cpp/end2end/zookeeper_test.cc:// TODO(ctiller): leaked objects in this test
test/cpp/end2end/zookeeper_test.cc:  // TODO(ctiller): RPC will probably fail if not waiting
test/cpp/interop/stress_interop_client.cc:// TODO(sree): Add all interop tests
test/cpp/interop/stress_interop_client.h:// TODO(sreek): Add more test cases here in future
test/cpp/interop/stress_test.cc:// TODO(sreek): Add more test cases here in future
test/cpp/interop/stress_test.cc:      // TODO (sreek). This won't work for tests that require Authentication
test/cpp/qps/driver.cc:  // TODO(ctiller): support running multiple configurations, and binpack
test/cpp/qps/histogram.h:  // TODO: look into making histogram params not hardcoded for C++
test/cpp/qps/server.h:    // TODO(yangg): Support UNCOMPRESSABLE payload.
test/cpp/util/grpc_cli.cc:  // TODO(yangg) basic check of method string
test/cpp/util/metrics_server.h: * test service can use this to export Metrics (TODO (sreek): Only Gauges for
test/cpp/util/metrics_server.h:// TODO(sreek): Add support for other types of Gauges like Double, String in
test/distrib/python/run_distrib_test.sh:# TODO(jtattermusch): this shouldn't be required
test/distrib/ruby/Gemfile:# TODO(jtattermusch): don't hardcode the absolute path the local gem source
tools/dockerfile/grpc_interop_java/Dockerfile:# TODO(temiola): simplify this if/when a simpler process is available.
tools/dockerfile/test/csharp_jessie_x64/Dockerfile:# TODO(jtattermusch): is zookeeper still needed?
tools/dockerfile/test/cxx_jessie_x64/Dockerfile:# TODO(jtattermusch): is zookeeper still needed?
tools/dockerfile/test/cxx_jessie_x86/Dockerfile:# TODO(jtattermusch): is zookeeper still needed?
tools/dockerfile/test/node_jessie_x64/Dockerfile:# TODO(jtattermusch): is zookeeper still needed?
tools/dockerfile/test/php_jessie_x64/Dockerfile:# TODO(jtattermusch): is zookeeper still needed?
tools/dockerfile/test/python_jessie_x64/Dockerfile:# TODO(jtattermusch): is zookeeper still needed?
tools/dockerfile/test/ruby_jessie_x64/Dockerfile:# TODO(jtattermusch): is zookeeper still needed?
tools/gce/linux_worker_init.sh:# TODO(jtattermusch): why is RVM needed?
tools/http2_interop/goaway.go:  // TODO(carl-mastrangelo): make an enum out of this.
tools/http2_interop/http2interop.go:    // TODO: make an enum out of this
tools/http2_interop/http2interop.go:    // TODO: make an enum out of this
tools/http2_interop/http2interop.go:    // TODO: make an enum out of this
tools/http2_interop/http2interop_test.go:   // TODO(carl-mastrangelo): maybe this should be some other error.  If the server picks
tools/profiling/latency_profile/run_latency_profile.sh:# TODO(ctiller): consider rewriting report generation in C++ for performance
tools/run_tests/build_package_python.sh:# TODO: all the artifact builder configurations generate a grpcio-VERSION.tar.gz
tools/run_tests/build_package_ruby.sh:# TODO: all the artifact builder configurations generate a grpc-VERSION.gem
tools/run_tests/run_interop_tests.py:    # TODO: status_code_and_message doesn't work against node_server
tools/run_tests/run_interop_tests.py:    # TODO: this relies on running inside docker
tools/run_tests/run_interop_tests.py:  # TODO(jtattermusch): this file path only works inside docker
tools/run_tests/run_interop_tests.py:    # TODO(jtattermusch): figure out a cleaner way to to this.
tools/run_tests/run_interop_tests.py:# TODO(adelez): implement logic for errors_allowed where if the indicated tests
tools/run_tests/run_interop_tests.py:          # TODO(carl-mastrangelo): Reenable after https://github.com/grpc/grpc-go/issues/434
tools/run_tests/run_stress_tests.py:    # TODO(jtattermusch): figure out a cleaner way to to this.
tox.ini:# TODO(atash): we currently ignore cygrpc.pyx due to an insufficiency in Cython's coverage plug-in. Discussion is ongoing.
vsprojects/coapp/openssl/grpc.dependencies.openssl.autopkg:     // TODO(jtattermusch): Visual Studio 2010 and 2012 Express (v100 and v110 toolsets) don't support x64,
vsprojects/README.md:    * this builds all .proto files in /test/ in-place.  there might be a better place to put them that mirrors what happens in the linux build process (todo)

GA is a significant step, but it is not an end point where we call the product done.
No need to get to TODO-Zero for this milestone.

We still should track TODOs, even if not for GA. I reckon there was an app that hooked into GitHub to turn TODOs into issues automatically.

At some point I stopped writing TODO(nathaniel) and started writing TODO(<link to filed issue>). Life got so much better for me that I would recommend we adopt the practice codebase-wide.

This sounds like a much more tractable approach. The bug in its current form is not very actionable (ironically) so I am closing this instead of letting it languish..

I suggest as A.I. writing a lint test that files with TODO() can't be part of a PR diff. That should both educate all contributors on the practice and reduce fast the already-existing TODO()s.

I think that is more trouble than it's worth, since the TODOs are not ranked, prioritized and so on, this will just end up being a nag that people will ignore..
@ctiller / @nicolasnoble to weigh in on the suggestion.
My 2c is to switch to the model @nathanielmanistaatgoogle suggests going forward and tackling these TODOs the old fashioned way.

Updated my comment with backslashes before the <s and >s so they actually showed up :)

It's a thing we could change. Right now for core at least I could come up
with a list of several hundred more pressing things.
On Mon, Dec 19, 2016, 8:51 PM Jorge Canizales<EMAIL_ADDRESS>wrote:

Updated my comment with backslashes before the s so they actually
showed up :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/issues/5349#issuecomment-268154402, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJpudexR3HE1XbGuYX7GKB8Sp9K_m45sks5rJ17DgaJpZM4Hf-0X
.


Move sec_group_rule check to before the cmd prep

In response to a comment made by noahl, I have moved made a change.  This is to prevent needless cmd preparation when the sec_group_rule already exists.

test this please

test this please

test this please

test this please

test this please

@vhe182
Tested happy path and it works. :white_check_mark:
Test for invalid machine_type=m1.smaller returns incorrect error message. :x:
Says "Flavor" while it should've been "Machine type"
./pkb.py --cloud=OpenStack --machine_type=m1.smaller \
         --image='05c07bf1-59be-453a-b9d7-dd4dcc28a6b8'
         --openstack_network=private --openstack_floating_ip_pool=public \
         --benchmarks=cluster_boot --num_vms=1

Returns expected error message:
  File "/opt/PerfKitBenchmarker/perfkitbenchmarker/providers/openstack/os_virtual_machine.py", line 178, in _CheckFlavor
    self._IssueCommandCheck(cmd, 'Flavor', self.machine_type)
  File "/opt/PerfKitBenchmarker/perfkitbenchmarker/providers/openstack/os_virtual_machine.py", line 232, in _IssueCommandCheck
    raise errors.Config.InvalidValue(msg)
InvalidValue: Flavor m1.smaller could not be found. For valid flavor run "openstack flavor list".

Please fix with another commit, do not amend this one. Make sure other error messages are correct as well. :)

I'm on it.  Thanks for pointing that out.

Thanks!


fix(uv): lockfile translation of pep735 dependency groups with uv 0.4.27

@ewianda maybe you have an opinion on this ? :)

This looks good to me . ❤  the additional test


Adjust CSS style for Select options where size > 1

I noticed in our gui when a select options has a size attribute it should vertically become higher by size=N items  (or at least to a reasonable height).  It does not, it stays at only one item high and tries to show a scrollbar.  The CSS property culprit is app.css:{select:  height: 2.4rem}.  I can't find this anywhere and also I'm not sure what might be the best fix.  It would be nice if 2.4rem only applied to selects of size one.  Does anyone know about this?  thanks...

I see what you are talking about - there is foundation rule that limits the height of select box. I would suggest to not use size= attribute at all - this way it's going to be a normal drop down.

Ok ..


blockquote content is treated as inline instead of block

Description
I understand this is somewhat opinionated, but most of the Markdown implementations I've worked with (including GItHub itself) treat the inside of the blockquote marks as paragraphs. This SO answer highlights the difference between blockquote & q, where q means a piece of quoted text inline in a sentence, suggesting paragraphs inside blockqute. The expected/actual below spells this out in more depth. I can provide the parsed output (expected & actual) if that's desired.
I'd be happy to submit a PR for fixing this as well, similar to #3116.
Steps to reproduce
Create a file with the following MD content:
> Test paragraph
>
> Another test paragraph

Expected result
Blockquote should be parsed like this:

Test paragraph

Another test paragraph

Actual result
It's parsed closer to this:

Test paragraph

Another test paragraph

Environment
Tinacms Package Versions
├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ ├──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├──<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>
Tools

Tool
Version

browser

os

node

npm

Yeah I wouldn't consider this a bug exactly but we're leaning on Plate (a plugin system built on top of slate) for a few of our elements and this is one of them. It doesn't support anything other block-like elements inside block quotes (and list items for that matter).
If it's something we want to support we need to make updates in 2 places:

Fix it on the @tinacms/mdx side, so it doesn't strip out the elements. You can see this logic at work here
Update the frontend blockquote logic, we're getting a lot of this for free from Plate so that'd be the bulk of the work I'd say. Right now we're just importing it straight into our plugins list.

This is somewhat in the same boat as list items, and I'd wonder if we add support for nesting block-like elements in blockquotes do we need to do the same for list items, and list items are one thing I'd really rather not handle on our own since they're a fair bit more complex. Still, if it's a popular enough request it'd be worth it.

@jeffsee55 Oh, interesting, didn't realize the problem was in the editor. I had been dealing primarily with the mdx package that I assumed the issue was how it was parsed there. The first part seems pretty easy, given what I had to do for the previous mdx issues. It's the second part that seems complicated. I can dig into it a bit and see how much work it actually would be. Maybe this is more of an upstream issue in Plate and can be resolved there.

Unrelatedly, where is the react-tinacms-editor package hosted? There are a lot of references to it in the docs but it seems like with the move to Plate, it's not actually needed for the rich text editor to work. Is that correct?

Maybe this is more of an upstream issue in Plate and can be resolved there.

I believe it's intentional from their perspective to not allow that type of formatting, I personally have seen mixed levels of support for this. In a true rich-text editor most examples I see daily don't support this: Slack, Notion, Discord, other CMSs I've used in the past. And while Github does support it, it's not really a rich-text editor since you write the raw markdown yourself.
Still, since Tina supports markdown as an open format, you might be right about the importance of supporting it.... 🤔
I'd say let's go for it aside from the list items consideration. For some reason it feels like the behavior across those kinds of blocks should be consistent. The blockquote plugin in Plate is actually pretty small. The list one is a bit of a beast though.

Unrelatedly, where is the react-tinacms-editor package hosted

That was previously a part of this repo, but it's no longer maintained. The only reason it's not fully deprecated just yet is because the new rich text editor doesn't support "raw" markdown, so you couldn't use it with a type: "string" just yet, though that support will be landing soon. TLDR: yeah you can ignore that package.

I can at least say that this came up because I'm migrating from WordPress and that's how their blockquotes are formatted. It makes sense to me semantically from an HTML perspective because if you're quoting from something large enough to be offset by a
, it's made up of one or more paragraphs; otherwise, you'd use q for an inline quote.
I'll dig into it, see how difficult this will be. I will point out that getting this working would mean the rendering itself would change for consumers, which may or may not be desirable.

Yeah it's definitely more semantically correct, it was just a matter of what we get for free and don't need to maintain. We've got a fair bit in the pipeline that we're working on so if you're up for taking a stab at it we'd definitely be happy to have this. I wouldn't worry about the list item stuff I mentioned.

I will point out that getting this working would mean the rendering itself would change for consumers

Since we control rendering for the most part via the TinaMarkdown component this isn't too bad. It'll just be a

 so probably not a big deal.
I haven't thought through any other potential issues bue one other consideration is handling our autoformatting. We allow you to insert a block by typing > . When you do that we populate that node with a blockquote (logic is here), but don't worry about that stuff too much, I can jump in on that.

I've been digging into this a bit. I asked and got an answer in the Plate repo, but the recommended method, `wrapNodeChildren, wasn't made available until 16.1.0, while Tinacms is still on the 14.x series of Plate.
Additionally, my initial experiments also proved a little fruitless. The first few methods I tried didn't seem to accomplish anything, so I'm currently looking at hooking into apply & handling all of the relevant operations there, but maybe the reason they didn't work is because we're a bit behind.
Because of these things, I wanted to ask: Is upgrading to the latest version of the editor something you'd consider? If not, I may be able to continue to make progress regardless but wrapNodeChildren in particular may need to be brought in for this.

@mAAdhaTTah would definitely be open to updating, their major versions are moving quickly but have been easy to update in the past. That being said, wrapNodeChildren is pretty lightweight by the looks of it https://github.com/udecode/plate/pull/1768/files#diff-43083e7f398e1cd17beb9f3ddc2eb6ca9e71b7684eb7393c7893afdf1cccb451. I wonder if you can just more or less copy/paste that if we don't get around to update to the latest major version.

Yeah, that's definitely to consider, I just wasn't sure if the function it uses were also landed in 14.x or not, in which case, pulling it gets a lot worse. I'm still poking around Plate itself, so not 100% sure yet if the upgrade is needed, but figured I'd ask. If it turns out to be necessary, I'll open a separate PR for the upgrade in isolation.

not stale

not stale