Alternative tree mode for fzf-file-widget

Hello. I just discovered fzf and now I'm in the process of establishing my new standard way of adressing file browsing.
Until now I was using ranger for general file browsing but now by taking advantage of the --bind parameter of fzf, fzf alone becomes more of a replacement for any other file browsing program. But of course a more standard way of visiting directories is still necessary to complement a fuzzy finder. The problem is, after using ranger for a while, the old good cd, ../../ and autocomplete commands seems a little bit outdated and keeping ranger as a host for fzf does not "feels" quite good.
I think the perfect solution (from my point of view) is maybe too radical and most likely outside the scope of this fuzzy finder but still (in my opinion) relevant for the operations most users do use fuzzy finders (File browsing and cd..).
The "perfect" (just thinking..) approach could be to mix the fzf-file-widget and fzf-cd-widget in a way that quickly calling and switching from there to a similar minimalistic but ranger-like (hierarchical and hjkl) way of navigating directories should be possible. This should be done in a way that you could not only call the "fzf-something-widget" function with any of the modes (tree/fuzzy) but also you should be able to switch between them. So in the middle of a fuzzy search you could move to another dir in tree mode and go back to the same fuzzy search whithin the newly accesed folder. Maybe, (Ideally I think) the "fzf-cd-widget" functionality should be available through a shortcut in a single "fzf-something-widget" function/program.
In my opinion such a tree mode could look a bit like emacs neotree or vim's nerd-tree. Some of the other functionalities of ranger like "go to somewhere", bookmarks, etc could be quite helpful.
This way most if not all the file browsing operations are covered by a single (in my opinion!) optimal way. Any other file browser program becomes quite unnecesary as doing file browsing directly in the command line enables the execution of any command beyond those pre-configured with the --bind parameter. So this new tree mode could remain quite fast and minimalistic while still powerful.
Now, I just looked at the "fzf-file-widget" function and honestly, I do not understand very much of it. So this issue is more of a open question, for existing tools, ideas, rebuttals, tips on how such a functionality could be implemented or just to awaken interest of other developers on a better position to address something like this. Maybe I'm exagerating or totally wrong, but I think this way of doing file browsing is a very little but natural next step. Sadly I'm already facing RSI problems and working on a demanding project so I don't see myself trying to code this idea right now. But any thoughts are really welcomed. Thank you!
PD: Many thanks also for fzf and sorry for any misuses of the english language.

Hey @user-b,
You won't have the quick navigation with hjkl but it's possible to get a hierarchical overview of your folder via the preview window.
Here is a quick script that can do that : https://gist.github.com/FractalWire/c1305be8fb1a9c37351188cfca4e33c1
(You'll need fd for it to work properly, but you could use find as well)
Put that in your $PATH and then use cd $(fexp) to quickly move down your folder. Going up is less convenient and could probably be improved but that might gives you some ideas.
You can also alias that for quick access alias cde='cd $(fexp)'

Thank you, I'll totally look at it.
I also encountered inquirer.js with a nice tree mode:
https://github.com/anc95/inquirer-file-tree-selection
But a seamless combination of Fzf + a really good tree browser sounds like heaven. Maybe next year I'll try to code it.

Well, nothing wrong using js in the terminal nowaday. It has become versatile enough IMO.
But, I realized the --bind option could allow some lateral moves with fzf.
Here is a new version of my previous script: https://gist.github.com/FractalWire/639ce7835fb91a32f774780e11c55475
You can move with ctrl+j/ctrl+l and can select the current folder with ctrl+enter.
While enter will open the folder currently highlighted and escape abort the whole process and put you back in your starting folder.

Excelent, thank you!  I translated your script to fish, and also added functionality.  Now it's possible to move between "dir" mode (hjkl-tree-like) and "file" mode (fuzzy). It's also possible to do cd from the widget or just insert the resulting dir/file as a parameter of any other program, just like with fzf-file-widget. But this is a lot better than fzf-file-widget and fzf-cd-widget I think.
Both your code and mine have a bug, it's not possible to fire any --bind command after entering on empty folders or when fd's depth param goes to 0 (in my code). Any idea why?
I tried to paste the code here but the code tag does not handle it well. But if you don't mind, I'd like to continue developing it. I can put a link to your code in the readme to give your credit for your work.
https://github.com/user-b/fe/blob/master/fe.fish

nice :+1:

But if you don't mind, I'd like to continue developing it.

Sure. Feel free to do so !
I might put a repo as well, but in bash as I'm not used to fish.

Both your code and mine have a bug, it's not possible to fire any --bind command after entering on empty folders or when fd's depth param goes to 0 (in my code). Any idea why?

Might be a bug.
Trying that :
bla=$(echo -n '' | fzf --bind 'ctrl-h:abort+execute(echo "bla")'); echo $bla

will output nothing if you press ctrl+h
but that:
bla=$(echo -n 'bla' | fzf --bind 'ctrl-h:abort+execute(echo "bla")'); echo $bla

will output 'bla' as expected.
It probably has to do with the fact fzf treats empty match differently (the exit code is 1 in that case).
I actually fixed that in my latest version, here
First I switch from --bind to --expect option. This option will output some special key combination before the actual fzf output.
So, no need to have this ACTION= parsing, which was a bit dirty. And this have not the same issue as execute, it will output the key combination even if the match is empty:
bla=$(echo -n '' | fzf --bind 'ctrl-h:abort+execute(echo "bla")' --expect=ctrl-h); echo $bla

Another trick I first used was to add . and .. folder before any other results. Something like that :
(echo -e '.\n..'; fd -t d --color=always) | fzf

That way, it's actually never empty.
The final improvement of my script was to be able to expand/retract the tree view on the right.
It's not perfect as I need to keep the query value as the previous fzf output between loop turn to keep context (if that makes sense, you'll understand if you try it).
I didn't successfully ran your code unfortunately. Not sure if there is something I need to configure in fish (I never used that shell before). I tried with the command fish fe.fish but no output, not even error...

Excelent, your improvements sounds great. I'll copy that.
My code is a function meant to be put in fish's config file (~/.config/fish/config.fish here). You should load a new term after saving the file. The function fish_user_key_bindings should be automatically evaluated by fish making fe() available through Ctrl+y (right next to Ctrl+r and Ctrl+t, wich are other fzf binds). Otherwise you shoud call fe like any other program.
Btw, fish is a big improvement over bash, unless you have it heavily tweaked (if possible). It takes some time to incorporate all of it's features but then bash becomes quite difficult to use. Sadly the syntax are diferent.


AttributeError: 'ConfigDict' object has no attribute 'score_thr'

When I train a MaskRCNN using my own custom dataset, it raised the following error:
Traceback (most recent call last):
File "tools/train.py", line 187, in
main()
File "tools/train.py", line 176, in main
train_detector(
File "D:\anaconda3\envs\S\lib\site-packages\mmdet-2.11.0-py3.8.egg\mmdet\apis\train.py", line 185, in train_detector
runner.run(data_loaders, cfg.workflow)
File "e:\ystudy\paper code\swin-transformer-object-detection-master\mmcv-1.3.1\mmcv\runner\epoch_based_runner.py", line 125, in run
epoch_runner(data_loaders[i], **kwargs)
File "e:\ystudy\paper code\swin-transformer-object-detection-master\mmcv-1.3.1\mmcv\runner\epoch_based_runner.py", line 50, in train
self.run_iter(data_batch, train_mode=True, **kwargs)
File "e:\ystudy\paper code\swin-transformer-object-detection-master\mmcv-1.3.1\mmcv\runner\epoch_based_runner.py", line 29, in run_iter
outputs = self.model.train_step(data_batch, self.optimizer,
File "e:\ystudy\paper code\swin-transformer-object-detection-master\mmcv-1.3.1\mmcv\parallel\data_parallel.py", line 67, in train_step
return self.module.train_step(*inputs[0], **kwargs[0])
File "D:\anaconda3\envs\S\lib\site-packages\mmdet-2.11.0-py3.8.egg\mmdet\models\detectors\base.py", line 247, in train_step
losses = self(**data)
File "D:\anaconda3\envs\S\lib\site-packages\torch\nn\modules\module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "e:\ystudy\paper code\swin-transformer-object-detection-master\mmcv-1.3.1\mmcv\runner\fp16_utils.py", line 110, in new_func
output = old_func(*new_args, **new_kwargs)
File "D:\anaconda3\envs\S\lib\site-packages\mmdet-2.11.0-py3.8.egg\mmdet\models\detectors\base.py", line 181, in forward
return self.forward_train(img, img_metas, **kwargs)
File "D:\anaconda3\envs\S\lib\site-packages\mmdet-2.11.0-py3.8.egg\mmdet\models\detectors\two_stage.py", line 150, in forward_train
rpn_losses, proposal_list = self.rpn_head.forward_train(
File "D:\anaconda3\envs\S\lib\site-packages\mmdet-2.11.0-py3.8.egg\mmdet\models\dense_heads\base_dense_head.py", line 58, in forward_train
proposal_list = self.get_bboxes(*outs, img_metas, cfg=proposal_cfg)
File "e:\ystudy\paper code\swin-transformer-object-detection-master\mmcv-1.3.1\mmcv\runner\fp16_utils.py", line 189, in new_func
output = old_func(*new_args, **new_kwargs)
File "D:\anaconda3\envs\S\lib\site-packages\mmdet-2.11.0-py3.8.egg\mmdet\models\dense_heads\anchor_head.py", line 582, in get_bboxes
result_list = self._get_bboxes(mlvl_cls_scores, mlvl_bbox_preds,
File "D:\anaconda3\envs\S\lib\site-packages\mmdet-2.11.0-py3.8.egg\mmdet\models\dense_heads\anchor_head.py", line 725, in _get_bboxes
cfg.score_thr, cfg.nms,
File "e:\ystudy\paper code\swin-transformer-object-detection-master\mmcv-1.3.1\mmcv\utils\config.py", line 47, in getattr
raise ex
AttributeError: 'ConfigDict' object has no attribute 'score_thr'
config file:
model = dict(
backbone=dict(
embed_dim=96,
depths=[2, 2, 6, 2],
num_heads=[3, 6, 12, 24],
window_size=7,
ape=False,
drop_path_rate=0.2,
patch_norm=True,
use_checkpoint=False
),
neck=dict(in_channels=[96, 192, 384, 768]),
rpn_head=dict(
type='RankBasedRPNHead',
bbox_coder=dict(
type='DeltaXYWHBBoxCoder',
target_means=[.0, .0, .0, .0],
target_stds=[0.1, 0.1, 0.2, 0.2]),
loss_bbox=dict(type='GIoULoss', reduction='none'),
head_weight=0.20),
roi_head=dict(
type='RankBasedStandardRoIHead',
bbox_head=dict(
type='RankBasedShared2FCBBoxHead',
reg_decoded_bbox=True,
bbox_coder=dict(
type='DeltaXYWHBBoxCoder',
target_means=[.0, .0, .0, .0],
target_stds=[0.1, 0.1, 0.2, 0.2]),
loss_bbox=dict(type='GIoULoss', reduction='none'),
loss_cls=dict(use_sigmoid=True)),
mask_head=dict(type='RankBasedFCNMaskHead')))
img_norm_cfg = dict(
mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
augmentation strategy originates from DETR / Sparse RCNN
train_pipeline = [
dict(type='LoadImageFromFile'),
dict(type='LoadAnnotations', with_bbox=True, with_mask=True),
dict(type='RandomFlip', flip_ratio=0.5),
dict(type='AutoAugment',
policies=[
[
dict(type='Resize',
img_scale=[(480, 1333), (512, 1333), (544, 1333), (576, 1333),
(608, 1333), (640, 1333), (672, 1333), (704, 1333),
(736, 1333), (768, 1333), (800, 1333)],
multiscale_mode='value',
keep_ratio=True)
],
[
dict(type='Resize',
img_scale=[(400, 1333), (500, 1333), (600, 1333)],
multiscale_mode='value',
keep_ratio=True),
dict(type='RandomCrop',
crop_type='absolute_range',
crop_size=(384, 600),
allow_negative_crop=True),
dict(type='Resize',
img_scale=[(480, 1333), (512, 1333), (544, 1333),
(576, 1333), (608, 1333), (640, 1333),
(672, 1333), (704, 1333), (736, 1333),
(768, 1333), (800, 1333)],
multiscale_mode='value',
override=True,
keep_ratio=True)
]
]),
dict(type='Normalize', **img_norm_cfg),
dict(type='Pad', size_divisor=32),
dict(type='DefaultFormatBundle'),
dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels', 'gt_masks']),
]
data = dict(train=dict(pipeline=train_pipeline))
optimizer = dict(delete=True, type='AdamW', lr=0.0001, betas=(0.9, 0.999), weight_decay=0.05,
paramwise_cfg=dict(custom_keys={'absolute_pos_embed': dict(decay_mult=0.),
'relative_position_bias_table': dict(decay_mult=0.),
'norm': dict(decay_mult=0.)}))
lr_config = dict(step=[27, 33])
runner = dict(type='EpochBasedRunnerAmp', max_epochs=350)
I think the problem is caused by the replacement of RPNHead to RankBasedRPNHead.
Please give me some advice to fix it. Thanks.

Thanks for your bug reporting, we want to help users to check whether the number of classes of heads is consistent with the num_class in the dataset, the corresponding implementation is in
https://github.com/open-mmlab/mmdetection/blob/1a90fa80a761fe15e69111a625d82874ed783f7b/mmdet/datasets/utils.py#L116
Seems this hook is not robust enough when you add a new head, I will help to improve it, and you can disable this hook for the time being.@quaid281 @Y969882566

Could you provide your config?
As far as I know, you can solve it by adding score_thr to a test_cfg
such as
https://github.com/open-mmlab/mmdetection/blob/a7a16afbf2a4bdb4d023094da73d325cb864838b/configs/_base_/models/retinanet_r50_fpn.py#L58

It seems to work. Thanks for your help.

It seems to work. Thanks for your help.

It seems to work. Thanks for your help.

It seems to work. Thanks for your help.

It seems to work. Thanks for your help.


[Bug]: ModuleNotFoundError: No module named 'openai.types'

Your current environment
...
🐛 Describe the bug
Latest main

see https://github.com/vllm-project/vllm/issues/7608
you need to upgrade openai package

Since openai is a directory inside vllm/entrypoints, it will conflict with the openai library import. It is recommended to always invoke the entrypoint from the root vLLM directory.

you can use vllm serve or python -m vllm.entripoints.openai.api_server


uniformer for object detection

Hi, nice work!, but I have a basic question about object detection.
I found that in the mmdetection, some of the pre-defined backbones(e.g., resnet) that with BN layer define the norm_eval parameter, and this parameter will be used to decide whether to freeze the BN layer during the training process. I found that Uniformer do use the BN layer in CABLOCK, but it seems that you don't use norm_eval to freeze the BN layer. Does this mean that BN parameters are also trained during training? And I wonder if this setting has any impact on the training process and final results.
Thanks!

ohh, I miss the NOTE in the README, but I still wonder how this setting(freeze BN or not) will affect the results since I'm a beginner. Looking forward to your reply!

In my later experiments, freeze BN improve a little.  I suggest you using it!

As there is no more activity, I am closing the issue, don't hesitate to reopen it if necessary.


Allowing System.import to import from auto generated module from memory.

Do you want to request a feature or report a bug?
Feature request

What is the current behavior?
System.import allows to import a module only from a disk.
If the current behavior is a bug, please provide the steps to reproduce.

What is the expected behavior?
Allowing System.import to import from a module content in memory.
If this is a feature request, what is motivation or use case for changing the behavior?
If System.import allows to accept module content instead of a path to a module, it allows to assemble a module at run time.
The scenario I've is, editors configure modules of a page using a CMS. I've a service that will read what is configured by editors and planning to automatically generate module script that will import all the modules configured by editors. If System.import supported importing a module using a content, I would pass auto generated content to System.import instead of saving to a disk and passing a path to system.import. Saving on a disk for lots of users for different configuration of a page will have a performance impact.
Thanks,
Bruk

You can use a loader to generate content while compilation:
i. e. import("./my-loader!")
Export a function returning a string from my-loader.

@sokra thanks for your suggestion... Actually, I want to generate the bundle at run time... looks like system.import is only a build time thing and can't use. I'm exploring webpack node api to create a Node service and have bundle as a service.

Hi @sokra Is there anyway to import('http://cdn.bundle1.js') import at run time from CDN ?

@lovedota Create a new issue.


Adding notes regarding the issue when Android timers are not in sync with the debugger

This PR adds notes regarding the issue when Android timers are not in sync with the debugger.
See here for the discussion https://github.com/facebook/react-native/issues/29591.

Hi @gedeagas & @safaiyeh, thank you so much for working on this update!
Please let me know when the PR will be ready for the review! 🙂

@Simek it should be ready to go!


trie module

Perhaps you can recommend a jvm implementation apart from the one in Pantheon?

Sorry - I can't


Deeper Variable support for ATEM module

The new atem: ME: Set Program input from variables (and PVW, AUX, USK, DSK, BOX, MV) are fantastic!
Building on that, it is so essential when using larger 2ME or 4ME ATEMS to be able to build deeper support for variables into the ATEM module.
Variable support for the following actions would help greatly:
Transition: Change rate
Transition: Change selection
Transition: Change selection component
Transition: Set style/pattern
Upstream key: Change DVE properties
Upstream key: fly to infinite
Upstream key: fly to keyframe
Upstream key: Set inputs
Upstream key: Set Mask (Luma, Chroma, Pattern)
Upstream key: Set OnAir

atem: Media player: Set source
atem: Media player: Cycle source

ME: Perform AUTO transition
ME: Perform CUT transition
Fade to black: Run AUTO Transition

Downstream key: Run AUTO Transition
Downstream key: Set inputs
Downstream key: Set Mask
Downstream key: Set OnAir
Downstream key: Set Pre Multiplied Key
Downstream key: Set Rate
Downstream key: Set Tied

SuperSource: Change box properties
SuperSource: Offset box properties
SuperSource: Set art properties
SuperSource: Set box enabled
SuperSource: Set box source

Fairlight Audio: Adjust fader gain
Fairlight Audio: Adjust input gain
Fairlight Audio: Adjust master gain
Fairlight Audio: Adjust Monitor/Headphone fader gain
Fairlight Audio: Monitor/Headphone fader gain
Fairlight Audio: Monitor/Headphone master muted
Fairlight Audio: Reset peaks
Fairlight Audio: Reset Source peaks
Fairlight Audio: Set fader gain
Fairlight Audio: Set input gain
Fairlight Audio: Set input mix option
Fairlight Audio: Set master gain

Second part of this request:
New Actions:

Ability for USKs to select: Luma, Chroma, Pattern, DVE

Currently if you’re trying to adjust DVE, but Pattern or Chroma is selected, DVE changes don’t show up.

atem: Upstream key: Pallet

(Luma, Chroma, Pattern, DVE)

Currently we can set hard DVE values, but it would help to be able to adjust the Upstream Key values incrementally:

atem: Upstream key: Adjust DVE properties

Need to be able to set Flying Key Frames A and B

atem: Upstream key: set keyframe

To highlight some of the above, it would be helpful if the ATEM Actions could accept custom variables.
For instance, to create a single AUTO or a CUT button that works across ME 1/ 2/ 3/ 4, depending on what custom variable $(internal:custom_me) equals.

Likewise, any action with multiple sets, such as Downstream Key 1/ 2, USK 1/2/3/4, Media Player 1/ 2 etc, would benefit from accepting a custom variable rather than a preset values only.

Same for supersource boxes – Boxes 1-4 could be adjusted from a single button depending on what $(internal:custom_box variable is set.

This would simplify the button build out and reduce the number of pages used.

It is planned to make all options for all modules compatible with Expressions out of the box, so no solution per module would be needed any more. https://github.com/bitfocus/companion/issues/2345


question: arrow colors being changed at every render

Why are the arrow colors being changed at every render?
https://user-images.githubusercontent.com/61280281/162818278-31b485a2-aaba-48ee-ac6d-05b491419527.mp4
The website gets very junky and gives a lag for huge .git folders when it is processing this for every click/render.

Why are the arrow colors being changed at every render?

That is because of a re-render. Arrow colours are randomized. The re-renders were because there are a lot of state variables and setting even one of them re-renders all components.
I had not thought about Memoization and other methods to prevent re-renders till date, but I came across a PR on React.memo()'s RFC today by chance and that prompted me looking up some stuff (linked below) and using React.memo() in conjunction with useCallback() to Memoize the GraphArea component.
The resources that I referred to:

Understanding re-rendering and memoization in React
Use React.memo() wisely

The website gets very junky and gives a lag for huge .git folders when it is processing this for every click/render.

Agreed. This has been solved in commit 95428ccf89829fbc3dd419de671ee4ee8ec76f20. Thank you so much for this issue @tusharnankani, it prompted me to look for a solution.


Renumber has a bug

Initial code at line 56
buffer.push(this.poll().value);
Fixed
buffer.push(this.poll());

Do you have a failing test so we can verify that there is a bug?

Check the return of poll method.
I left my office now
On Fri, Sep 28, 2018, 17:41 Daniel Lemire<EMAIL_ADDRESS>wrote:

Do you have a failing test so we can verify that there is a bug?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lemire/StablePriorityQueue.js/issues/2#issuecomment-425457651,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHTZYIZm3gSST_uXqQ3rmPkez8cCSR-Lks5ufjUAgaJpZM4W-oiy
.

I think that the problem is that the function renumber is not in any of your union tests.
Below is the simplest example. Insert 10 int values, call renumber and try to print out the elements.
const spq = require('stablepriorityqueue');
let queue = new spq(function(a,b) {
        return b - a;
});

for (var i = 0; i < 10; ++i) {
        queue.add(i);
}

queue.renumber();

while (!queue.isEmpty()) {
        console.log(queue.poll());
}

result is
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined


[Bug] Uptake<EMAIL_ADDRESS>with licensing fix

Initial checklist

[X] I agree to follow the code of conduct
[X] I searched issues and discussions and couldn’t find anything (or linked relevant results below)

Affected packages and versions
@milkdown/components
Link to runnable example
No response
Steps to reproduce
The @atomico/components package used by @milkdown/components is not licensed prior to 4.1.2
Expected behavior
All 3rd and 4th party components should be licensed
Actual behavior
No package under @atomico/hooks is properly licensed before version 4.1.2
Runtime
Other (please specify in steps to reproduce)
OS
Other (please specify in steps to reproduce)
Build and bundle tools
Vite, Other (please specify in steps to reproduce)

Closing in favor of https://github.com/Milkdown/milkdown/commit/e63bb20d8ad5d110ee4d1904447fed59dd163aee


fix ifdef and brackets in Internet/DNS/dns.c

small issue with DNS_DEUBG and printf

can't attach diff on github
diff --git a/Internet/DNS/dns.c b/Internet/DNS/dns.c
index 9f7107b..449ac0a 100644
--- a/Internet/DNS/dns.c
+++ b/Internet/DNS/dns.c
@@ -367,8 +367,8 @@ int8_t parseDNSMSG(struct dhdr * pdhdr, uint8_t * pbuf, uint8_t * ip_from_dns)
for (i = 0; i < pdhdr->qdcount; i++)
{
cp = dns_question(msg, cp);

#ifdef DNS_DEUBG

 printf("MAX_DOMAIN_NAME is too small, it should be redfine in dns.h"

#ifdef DNS_DEBUG

 printf("MAX_DOMAIN_NAME is too small, it should be redfine in dns.h");

#endif
if(!cp) return -1;
}
@@ -377,8 +377,8 @@ int8_t parseDNSMSG(struct dhdr * pdhdr, uint8_t * pbuf, uint8_t * ip_from_dns)
for (i = 0; i < pdhdr->ancount; i++)
{
cp = dns_answer(msg, cp, ip_from_dns);

#ifdef DNS_DEUBG

 printf("MAX_DOMAIN_NAME is too small, it should be redfine in dns.h"

#ifdef DNS_DEBUG

 printf("MAX_DOMAIN_NAME is too small, it should be redfine in dns.h");

#endif
if(!cp) return -1;
}


carla_msgs problem

Hello!
When I use carla ros2, run the command ros2 launch carla_ ros_ bridge carla_ ros_ Bridge.launch.py encountered the following error:
[INFO] [launch]: All log files can be found below /home/liu/.ros/log/2022-12-12-20-43-45-074309-ub20liu-65603 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [bridge-1]: process started with pid [65605] [bridge-1] [INFO] [1670849026.578995010] [carla_ros_bridge]: Trying to connect to localhost:2000 [bridge-1] [INFO] [1670849026.782688607] [carla_ros_bridge]: Loading town 'Town01' (previous: 'Carla/Maps/Town10HD_Opt'). [bridge-1] [INFO] [1670849028.779009110] [carla_ros_bridge]: synchronous_mode: True [bridge-1] [INFO] [1670849028.779256029] [carla_ros_bridge]: fixed_delta_seconds: 0.05 [bridge-1] [INFO] [1670849028.812487498] [carla_ros_bridge]: Parameters: [bridge-1] [INFO] [1670849028.812704073] [carla_ros_bridge]:   host: localhost [bridge-1] [INFO] [1670849028.812891873] [carla_ros_bridge]:   port: 2000 [bridge-1] [INFO] [1670849028.813041475] [carla_ros_bridge]:   timeout: 2 [bridge-1] [INFO] [1670849028.813192936] [carla_ros_bridge]:   passive: False [bridge-1] [INFO] [1670849028.813339817] [carla_ros_bridge]:   synchronous_mode: True [bridge-1] [INFO] [1670849028.813487533] [carla_ros_bridge]:   synchronous_mode_wait_for_vehicle_control_command: False [bridge-1] [INFO] [1670849028.813639043] [carla_ros_bridge]:   fixed_delta_seconds: 0.05 [bridge-1] [INFO] [1670849028.813784656] [carla_ros_bridge]:   register_all_sensors: True [bridge-1] [INFO] [1670849028.813930238] [carla_ros_bridge]:   town: Town01 [bridge-1] [INFO] [1670849028.814085970] [carla_ros_bridge]:   ego_vehicle: {'role_name': 'heroego_vehiclehero0hero1hero2hero3hero4hero5hero6hero7hero8hero9'} [bridge-1] [INFO] [1670849028.850291119] [carla_ros_bridge]: Shutting down... [bridge-1] Traceback (most recent call last): [bridge-1]   File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_generator_py/import_type_support_impl.py", line 46, in import_type_support [bridge-1]     return importlib.import_module(module_name, package=pkg_name) [bridge-1]   File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module [bridge-1]     return _bootstrap._gcd_import(name[level:], package, level) [bridge-1]   File "<frozen importlib._bootstrap>", line 1014, in _gcd_import [bridge-1]   File "<frozen importlib._bootstrap>", line 991, in _find_and_load [bridge-1]   File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked [bridge-1] ModuleNotFoundError: No module named 'carla_msgs.carla_msgs_s__rosidl_typesupport_c'
Main problem is: ModuleNotFoundError: No module named 'carla_msgs.carla_msgs_s__rosidl_typesupport_c'
How to solve this problem? Thank you!
Carla: 0.9.13
ROS2 foxy
Ubuntu20.04

Hi
I had the same problem, in my case it was caused by confliction in conda environment, I did the following steps to fix it.

First of all deactivate all conda environments, even ''base'' by conda deactivate
Then open bashrc or zshrc depending on which shell you use: sudo gedit ~/.bashrc
Type export $PATH in terminal to get the search directories. it will probably be something like this depending on what ros version you are using and your computer name:
"/opt/ros/foxy/bin:/home/vandv/anaconda3/condabin:/home/vandv/anaconda3/envs/carla/bin:/home/vandv/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
Copy and paste it in bashrc file in front of export PATH="<copy here>" and remove this part "/home/vandv/anaconda3/envs/carla/bin" of it like below:
export PATH="/opt/ros/foxy/bin:/home/vandv/anaconda3/condabin:/home/vandv/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
Then save and close bashrc file and reboot or type: source ~/.bashrc
Then remove build file of carla ros bridge in carla-ros-bridge folder and in another terminal build your carla ros bridge in your workspace again by colcon build.
Open another terminal and do the steps of "Run the ROS bridge" part again.

I hope it'll work for you.

Hi I had the same problem, in my case it was caused by confliction in conda environment, I did the following steps to fix it.

First of all deactivate all conda environments, even ''base'' by conda deactivate
Then open bashrc or zshrc depending on which shell you use: sudo gedit ~/.bashrc
Type export $PATH in terminal to get the search directories. it will probably be something like this depending on what ros version you are using and your computer name:
"/opt/ros/foxy/bin:/home/vandv/anaconda3/condabin:/home/vandv/anaconda3/envs/carla/bin:/home/vandv/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
Copy and paste it in bashrc file in front of export PATH="<copy here>" and remove this part "/home/vandv/anaconda3/envs/carla/bin" of it like below:
export PATH="/opt/ros/foxy/bin:/home/vandv/anaconda3/condabin:/home/vandv/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
Then save and close bashrc file and reboot or type: source ~/.bashrc
Then remove build file of carla ros bridge in carla-ros-bridge folder and in another terminal build your carla ros bridge in your workspace again by colcon build.
Open another terminal, activate whatever conda environment you were using and do the steps of "Run the ROS bridge" part again.

I hope it'll work for you.

Thanks! I've solved the problem, it's indeed conda problem.
Still, thank you very much for your generous answer!

Hi I had the same problem, in my case it was caused by confliction in conda environment, I did the following steps to fix it.

First of all deactivate all conda environments, even ''base'' by conda deactivate
Then open bashrc or zshrc depending on which shell you use: sudo gedit ~/.bashrc
Type export $PATH in terminal to get the search directories. it will probably be something like this depending on what ros version you are using and your computer name:
"/opt/ros/foxy/bin:/home/vandv/anaconda3/condabin:/home/vandv/anaconda3/envs/carla/bin:/home/vandv/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
Copy and paste it in bashrc file in front of export PATH="<copy here>" and remove this part "/home/vandv/anaconda3/envs/carla/bin" of it like below:
export PATH="/opt/ros/foxy/bin:/home/vandv/anaconda3/condabin:/home/vandv/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
Then save and close bashrc file and reboot or type: source ~/.bashrc
Then remove build file of carla ros bridge in carla-ros-bridge folder and in another terminal build your carla ros bridge in your workspace again by colcon build.
Open another terminal, activate whatever conda environment you were using and do the steps of "Run the ROS bridge" part again.

I hope it'll work for you.

Thanks! I've solved the problem, it's indeed conda problem. Still, thank you very much for your generous answer!

excuse me,I met the same problem and I have installed miniconda,could you please tell me how to solve it?Thank you very much!

@SovereignKing Hi, sorry but I don't have any experience with miniconda. I don't know if there is any fundumental differences between conda and miniconda so maybe you can try the approach I mentioned with your path specifications and see if it works.

Although it is already a closed issue, still I would provide my solution.
I have observed that this happens quite often when we compile carla_msgs in anaconda enviroment. So the solution is, deactivate all the anaconda environment and delete all related messages in build and install. Then rebuild it again, this problem will not happen.


Feature suggestion: bind eikonic abilities to invidivdual keys on kb/m

Just saw this today. I had actually been doing reverse engineering to find to framerate cap, looks like you beat me! Nice work.
Anyway, pertaining to this suggestion, by default to use your eikonic abilities you need to switch the currently equipped eikon, then press the left/right button which the skill is assigned to. Much like in DOOM Eternal, which had the player use a switch button for the different grenades, this feels awful. I think this could ideally become 6 separate binds (2 for each equipped eikon), and if you use an ability of an eikon which is not currently equipped, it would automatically switch to that eikon.
I haven't touched anything relating to input in my reverse engineering at the moment, so I don't have any info to jumpstart this, but I think it'd be a nice feature.

Hmm not sure where I'd start on bindings. I've never really looked into input stuff much. Given this is a relatively undocumented engine (modified from FFXIV's), I'm not where we'd begin to look 🤔.

If it's anything like ffxiv, for kb/m there would be various nearly functions for checking the key state, which follow this enum, and a relatively undocumented keybind id enum.
Though the code generation for ffxvi is very different from ffxiv, so unfortunately I don't think it's likely we could even closely match any of the same sigs.
I suppose the best way to approach this would be to actually find the memory relating to the eikonic abilities, and to start reverse engineering upward from there. Maybe seeing where the game resets abilities' cooldowns would be a good start.

Now that the full release is out, I'm gonna start looking into this. Do you have analysis files you can share?

Now that the full release is out, I'm gonna start looking into this. Do you have analysis files you can share?

I don't have anything too useful. Just a CDC file from the Cheat Engine code dissection. Trying to load the game exe in IDA takes so bloody long to analyse that I gave up with that approach (thanks Denuvo).
The only other thing of note is FF16Tools which can be used to unpack game assets. In my own searching through game memory and the unpacked assets I haven't found anything related to keymaps or bindings unfortunately. I'll keep taking a look here and there though, sometimes this stuff just hits you when you've stepped away for a bit.

I've poked around with the key bindings menu and if you access the address in the cmp instruction here you get a list of keyboard/mouse keymappings when you attempt to bind a key.
ffxvi.exe+3597C4 - 48 8D 04 40           - lea rax,[rax+rax*2]
>> ffxvi.exe+3597C8 - 45 39 54 81 08        - cmp [r9+rax*4+08],r10d
ffxvi.exe+3597CD - 74 13                 - je ffxvi.exe+3597E2
ffxvi.exe+3597CF - 41 FF C0              - inc r8d
ffxvi.exe+3597D2 - 41 8B C0              - mov eax,r8d
ffxvi.exe+3597D5 - 48 3B D0              - cmp rdx,rax

In a quick test, the B key is 66 (0x42) and the G key is 71 (0x47). That seems to map with the enum that you posted before.

Trying to load the game exe in IDA takes so bloody long to analyse that I gave up with that approach (thanks Denuvo).
Ah yeah it took like 12+ hours for me. I hate it.

I've poked around with the key bindings menu and if you access the address in the cmp instruction here you get a list of keyboard/mouse keymappings when you attempt to bind a key.
This looks like a solid start. I'll see what I can find with this.

Alright, following the trail, these two instructions set the value that is actually responsible for the cycle eikon input:
ffxvi.exe+32CF95 - C5F81184 CB 30 050000 - vmovups [rbx+rcx*8+00000530],xmm0
ffxvi.exe+32CF9E - 89 94 CB 30050000     - mov [rbx+rcx*8+00000530],edx

This is in Sub 14032CE8C, the sig of which is 48 89 4c 24 ?? 53 55 56 57 41 54 41 55 41 56 41 57 48 83 ec ?? 48 8b ?? ?? ?? ?? ?? 45 33 e4 48 8b b1
This looks pretty similar to some of the input stuff from FFXIV, so I think I'm on the right track here.

Another update. The following code checks if the Cycle Eikon key is in the pressed state, and subsequently performs the Cycle Eikon Behavior:
ffxvi.exe+77E6B1 - E8 E213B1FF           - call ffxvi.exe+28FA98
ffxvi.exe+77E6B6 - 84 C0                 - test al,al

The call ffxvi.exe+28FA98 is the function which checks if the key is pressed, which uses the data from before, and follows this structure:
typedef {
    /* 0x00 */ union {
        short KeyCodeShort;
        int KeyCode; // sometimes accessed as an int
    };
    /* 0x04 */ int KeyPressedTime; // the time in which the key was last pressed. Does not reset to 0.
    /* 0x08 */ unsigned char Unk_0x08; // flags?
    /* 0x09 */ unsigned char Unk_0x09; // flags?
    /* 0x0A */ unsigned char KeyPressed; // key was pressed this frame
    /* 0x0B */ unsigned char KeyReleased; // key was released this frame
    /* 0x0C */ unsigned char KeyDown; // key is currently held down
    /* 0x0D */ unsigned char Unk_0x0D;
    /* 0x0E */ unsigned char Unk_0x0E;
    /* 0x0F */ unsigned char Unk_0x0F;
} KeyStateEntry; /* sizeof = 0x10 */

The subsequent function call to Sub 14077f250 (sig 48 89 5c 24 ?? 48 89 6c 24 ?? 48 89 74 24 ?? 57 48 83 ec ?? 48 8b ?? ? ?? ?? ?? 48 33 c4 48 89 ?? ?? ?? ?? ?? ?? ?? ?? ?? 33 db is the function which cycles the eikon.


[SPARK-21551][Python] Increase timeout for PythonRDD.serveIterator

Backport of https://github.com/apache/spark/pull/18752 (https://issues.apache.org/jira/browse/SPARK-21551)
(cherry picked from commit 9d3c6640f56e3e4fd195d3ad8cead09df67a72c7)

Can one of the admins verify this patch?

Test build #3949 has started for PR 19514 at commit 7ec2dc7.

retest this please

Test build #82883 has started for PR 19514 at commit 7ec2dc7.

Test build #82883 has finished for PR 19514 at commit 7ec2dc7.

This patch fails SparkR unit 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/82883/
Test FAILed.

retest this please

Test build #82901 has started for PR 19514 at commit 7ec2dc7.

Test build #82901 has finished for PR 19514 at commit 7ec2dc7.

This patch fails SparkR unit 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/82901/
Test FAILed.

Test build #3956 has started for PR 19514 at commit 7ec2dc7.

Test build #3956 has finished for PR 19514 at commit 7ec2dc7.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

@shivaram do you know if this error means branch 2.0 won't pass R CRAN checks at this point?
Running CRAN check with --as-cran --no-tests --no-manual options
* using log directory '/home/jenkins/workspace/SparkPullRequestBuilder/R/SparkR.Rcheck'
* using R version 3.1.1 (2014-07-10)
* using platform: x86_64-redhat-linux-gnu (64-bit)
* using session charset: ASCII
* using option '--no-tests'
* checking for file 'SparkR/DESCRIPTION' ... OK
* checking extension type ... Package
* this is package 'SparkR' version '2.0.3'
* checking CRAN incoming feasibility ... WARNING
Maintainer: 'Shivaram Venkataraman<EMAIL_ADDRESS>Insufficient package version (submitted: 2.0.3, existing: 2.1.2)
Days since last update: 6

We didn't foresee this but it looks like R CMD check --as-cran throws this error if we try to build a package with a version number older than the one uploaded to CRAN.
There are a couple of ways around this -- we can set an environment variable _R_CHECK_CRAN_INCOMING_= false (documented in [1]) or we can change our check-cran.sh to admit one more WARNING. This would of course only be done for branch-2.0
Any thoughts @felixcheung @HyukjinKwon ?
[1] https://cran.r-project.org/doc/manuals/r-release/R-ints.html

whoa.
_R_CHECK_CRAN_INCOMING_= false sounds like the right approach. I'm a bit concerned with blindly letting through one more warning though, perhaps grep for the specific warning text and only let one more through if it matches?

I haven't tried it, but it might sound like it will counter-act -as-cran check sets completely?
R_CHECK_CRAN_INCOMING_
Check whether package is suitable for publication on CRAN. Default: false, except for CRAN submission checks.

Good point. I'm not sure it counteracts it completely. We should run it to see the behavior I guess.
I am not a big fan of mucking with Jenkins versions because it fundamentally looks like CRAN doesn't like us pushing newer versions from older branches ? For example if we release 2.2.1 then we can't submit 2.1.3 to CRAN. We should first discuss if we are okay with that -- we can move this to a JIRA ?

I think we can safely merge this change as it clearly passes any tests whose functionality it would affect. We could defer further discussion about what to do about CRAN versions elsewhere, yes.

LGTM too BTW.

Thanks, I have been following it @shivaram and @felixcheung. Separate JIRA sounds good to me and I am okay witn merging it.

Merged to master @FRosner ; you'll have to close this manually too

@srowen, not a big deal but .. I believe it's merged to 2.0 instead of master though.

Oops yes meant 2.0


CycloneDX SBOM support

Add support for CycloneDX SBOM by inspecting the APK database.  APKv2 is only supported for now.
Closes: #14.

OK, I've reworked the sbom code to its own package. It now supports pluggable sbom generators which can be turned on and off from the options. The cyclonedx code is the first one of these :partying_face:
I also added tests for most of the functions but I still have to ensure the output looks as expected, also I have to actually test it but the main idea should be ready for review :)
Lets sync tomorrow to talk about some next steps here (like, where should the SBOM go? matching the cyclonedx and spdx structure, etc).

I went ahead and merged this, we can talk more about it later today for the SPDX support :)


Spree 4 Compatibility

Remove //= require spree/frontend/spree_auth from spree/frontend.all.js
Update dependency on gemspec
Change factory_girl to factory_bot

closing in favour of https://github.com/spree-contrib/spree_reviews/pull/182

closing in favour of https://github.com/spree-contrib/spree_reviews/pull/182


Sui version bump to v0.22.0

Reference: https://github.com/MystenLabs/sui/pull/7132

Had a PR open for this as well. Just have not landed it yet. But thinks for jumping on it.


Cannot access outside localhost

Hi, I tried to access inventree vie my PC address 192.168.xx.xx:PORT, instead of <IP_ADDRESS>:PORT without success.
Steps to reproduce:

Edit InvenTree/config.yaml file:
from
allowed_hosts:
  - '*'
to
allowed_hosts: ['*']

Toggle line
debug: True / False several times between server restarts;

Start the server, try to connect via 192.168.xx.xx:PORT -> no success;

I was always able to connect via <IP_ADDRESS>:PORT.
The solution was to edit tasks.py line:
def server(c, address="<IP_ADDRESS>:8000"):
to
def server(c, address="<IP_ADDRESS>:PORT"):
After that, I was able to connect via 192.168.xx.xx:PORT. This is contradictory to https://inventree.readthedocs.io/en/latest/start/config/

You don't need to edit the tasks.py file, you can run the server passing the address with the -a argument:
$ invoke server --help
Usage: inv[oke] [--core-opts] server [--options] [other tasks here ...]

Docstring:
  Launch a (deveopment) server using Django's in-built webserver.

  Note: This is *not* sufficient for a production installation.

Options:
  -a STRING, --address=STRING   Server address:port (default=<IP_ADDRESS>:8000)

$ invoke server -a <IP_ADDRESS>:8000
...
Starting development server at http://<IP_ADDRESS>:8000/

Which part of the documentation do you think is incorrect?

Starting the development server with the command invoke server -a <IP_ADDRESS>:8000 (for example) should definitely allow you to access the server from a local network.
Ref: https://inventree.readthedocs.io/en/latest/start/deploy/#running-on-a-local-network

Thanks. I was stuck at line allowed_hosts in the middle of installation manual, never reached wiki you referenced here 👍
Sorry for the noise :)


SAM-2909 - preventing students from cheating timed exams

JIRA SAM-2909
In timed tests, if the student exits a few seconds before time is over, it can reenter and keep working through it. (even with the bar indicating "Time is up").

@bjones86 thanks for the feedback. I made all the changes.

Thanks @fgeraci! LGTM


Update translations/packages and include the code of conduct for pdfjs-dist too

/botio-linux preview

Trivial.


Collapse deselected cell swift

How do I collapse a cell when a new one is selected?

Nevermind I figured it out, Thanks for this repo!


Feature Request: IoPin mocks

I'm just getting started with Embedded Rust (40 years of embedded C though) and find the best way is to dig in to a relevant project and see what happens.
For something I'm working on, I need the IoPin functionality and I also want to do it "right" using TDD from the start. This is something I am passionate about for the last 5 years :-)
I'll try and build the mocks for the IoPin functionality and issue a pull request - but I have opened this feature request just in case you already have it ready to go and want some testers :-)

just FYI: in embedded-hal 1.0 IoPin has been removed and it's unclear if it'll be added again. see the discussion in https://github.com/rust-embedded/embedded-hal/issues/340
but i guess that wouldn't prevent @dbrgn from accepting a PR adding the mock for 0.x; this is more for your information depending on what you plan on building.

but i guess that wouldn't prevent @dbrgn from accepting a PR adding the mock for 0.x; this is more for your information depending on what you plan on building.

Correct 🙂

I'll close this for now, since - as discussed above - the IoPin trait was removed from embedded-hal 1.
Regarding my statement in the comment above: Since embedded-hal 1 is now stable, I would only reluctantly accept a PR for embedded-hal 0.x, and only if it were very simple to review. I think it makes more sense to treat embedded-hal 0.x support as deprecated, and focus on 1.x instead.


installation problem, anaconda 64-bit, win10

Hi,
I tried to install through conda command,
conda install -c ranaroussi yfinance
and i got this results:
C:\Lucru\python>conda install -c ranaroussi yfinance
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\Ans\Anaconda3

  added / updated specs:
    - yfinance

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    multitasking-0.0.9         |             py_0          12 KB  ranaroussi
    yfinance-0.1.45            |             py_0         552 KB  ranaroussi
    ------------------------------------------------------------
                                           Total:         565 KB

The following NEW packages will be INSTALLED:

  multitasking       ranaroussi/noarch::multitasking-0.0.9-py_0
  yfinance           ranaroussi/noarch::yfinance-0.1.45-py_0

Proceed ([y]/n)? y

Downloading and Extracting Packages
yfinance-0.1.45      | 552 KB    | ############################################################################ | 100%
multitasking-0.0.9   | 12 KB     | ############################################################################ | 100%

InvalidArchiveError('Error with archive C:\\Users\\Ans\\Anaconda3\\pkgs\\yfinance-0.1.45-py_0.tar.bz2.  You probably need to delete and re-download or re-create this file.  Message from libarchive was:\n\nCould not unlink (errno=22, retcode=-25, archive_p=1731111686336)')

I tried to delete that file,
i tried conda clean --all
still the same result

installing through pip, worked

Closing for now. Please continue on issue #92


How to hide the Voice icon ?

searchView.showVoice(false); it doesn't work.

It's my first time to write the issue.I just want to look for some help :)
Thanks.

Hi, try setVoiceSearch(false) ;)

and showVoice should be private ;).

I just upgrade your library to version 1.3.2, then use the new APIs.  problem solved!
thanks!


[HELP] How to get the more status when NuttX is running

Description
Hi everyone,
I have boot NuttX on FVP multi-core, and those cores are armv8a arch, but I don't know how to get the status of each core.
I found "coredump" command in NuttX documentation, but I don't know how to use it on FVP. It seem that this command isn't support FVP
Thank you every much!
Verification

[X] I have verified before submitting the report.

which state do you want to get?

@xiaoxiang781216 I want to get each core ID by /proc/cpuinfo on FVP A510, But the related code isn't implemented for ARMV8A. I want get these information to verify multi-core are both active. I am also trying to write a simple multi-task code for verifing this.

@xiaoxiang781216 hhh, I have run apps/testing/smp_main.c to verify each core is activity. Thank you very much, I wonder if there's another way to check or prove this?😄

ps could also show multiple idle thread, and testing/cpuload could simulate the loading on the specific cpu core.

@xiaoxiang781216 Thank you very much!


Crash when deselecting TXT / SRT / VTT checkboxes - V0.8.1 - Win10 22H2

After completing a transcription, when I try to perform a new transcription, if I try to deselect the previously selected checkboxes, the application crashes, without any error message (only the mouse icon "rotates" a few seconds before the application closes).
The next time it is reopened, the checkboxes are still activated, and the problem recurs as soon as you try to uncheck one of the options.
To get round the problem, you need to

add a new audio/video file
close the options window without changing anything (i.e. cancel what you're doing)
add an audio/video file again. In this case, the options window is displayed with the TXT / SRT / VTT checkboxes unchecked.

https://github.com/chidiwilliams/buzz/assets/136443808/7a4700ca-1678-4723-8122-64e43909d963

Likely a duplicate of #479

Yes it's been fixed. I'll make a new release once I get #486 done.

Should be fixed in the latest release: https://github.com/chidiwilliams/buzz/releases/tag/v0.8.2


list pagination acting weird

page 2 results show for any page after page 2 and the number of pages is wrong.

There are actually 2 issues here. In each service.
form.setPage(pagingRequest.getStart() + 1);
should be
form.setPage((pagingRequest.getStart() / pagingRequest.getLength()) + 1);
because getStart() is returning the record number not the page number.
Second the SQLite driver seems to have a bug in it which causes the pages 2+ to all return the page 2 list and on the last page it returns Length * Pages as the total records instead of the actual total records number. Note it returns the correct total records number on every other page once the first issue is fixed.
First issue will be fixed in next release.

The second issue seems to be still broken in org.xerial sqlite-jdbc <IP_ADDRESS>


[little change] redundant code in the method "active_for_authentication?"

The method, "active_for_authentication?," in confirmable.rb is defined like below
      def active_for_authentication?
        super && (!confirmation_required? || confirmed? || confirmation_period_valid?)
      end

And the expressions, !confirmation_required? and confirmed? are the same as confirmation_required? is defined like below.
        def confirmation_required?
          !confirmed?
        end

So I suggest to remove !confirmation_required? from active_for_authentication?
so active_for_athentication?  method can be shorter.
      def active_for_authentication?
        super && ( confirmed? || confirmation_period_valid?)
      end

The reason both are called is because developers can change confirmation_required? and then there is no guarantee they are the same. So I believe the code should remain as is, thank you.


Mocking an HTTP Request to an External API not mocking

We have run into an issue where we are unable to mock an HTTP request to an external API. No matter how we build the Mock, we receive live data back from the system.
In larger tests we have been able to mock request to local function app actions, but are unable to mock requests to an external API using the HTTP action.
I have attached the workflow.json, test class & project file, the parameters.json and the testConfiguration.json file.
HttpTriggerTests2.cs.txt
parameters.json
testConfiguration.json
Tests.csproj.txt
workflow.json

Hi @ShaneLucykHCS , sorry about the delay in looking at this.
I've looked at the code that you uploaded. Are you saying that you can't get the framework to use this mock:

Or are you having trouble matching when you uncomment the four lines that match using the Path, Query parameters and HTTP headers?

I can't get the framework to use that mock. Or any mock against a node that makes a request against a REST API. It always makes the live request. Those commented-out lines are various attempts at matching on something other than the path in case it was a matching issue.


Support for querying repositories by identifier instead of owner/name

Identifiers remain the same even if a repository's name gets changed or is moved to a new owner.
For example: https://api.github.com/repositories/20633049/contributors

Is that functionality documented on https://developer.github.com/v3 somewhere, if so PR is welcome.

Sorry, not good enough for me.
All the building blocks for making that endpoint yourself are there though, you don’t need to modify github to use it.

On 10 Oct 2019, at 17.57, Elliot Cameron<EMAIL_ADDRESS>wrote:
Apparently it is undocumented. Yet piotrmurach/github#283 (comment)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Ok


Continue to implement BatchList

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (aea1f61) 100.00% compared to head (87bf51c) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #239   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            7         7
  Lines          966       977   +11
  Branches        80        86    +6
=========================================
+ Hits           966       977   +11

Impacted Files
Coverage Δ

src/redcat/base.py
100.00% <ø> (ø)

src/redcat/tensor.py
100.00% <ø> (ø)

src/redcat/list.py
100.00% <100.00%> (ø)

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


Add State to Semantic Actions in Schema

The State field needs to be added to the Schema for Semantic Actions
This tracks Issue:
https://github.com/microsoft/botframework-sdk/issues/5403

https://github.com/microsoft/botbuilder-dotnet/pull/2027


Advanced interpolation returning unexpected shape

Hi !
Iam using Xarray since quite some time and recently I started using fresh NC files from https://cds.climate.copernicus.eu/ (up to now, using NC4 files that I have from quite some time now). I have an issue regarding Xarray' interpolation with advanced indexing: the returned shape by interp is not as expected.
Minimum working example below. Requires Python 3.11.9, dask 2024.7.0, numpy1.26.4 and xarray 2024.6.0
Dataset file attached at end of message.
# -*- coding: utf-8 -*-

import dask
import numpy as np
import xarray as xa
import datetime as dt

# open dataset
dataset = xa.open_mfdataset("dataset.nc", decode_times=True, parallel=True)
start_date = dt.datetime(2023, 1, 1)

np.random.seed(0)

# points generation
N = 100
access_date = np.linspace(0, 5000, N) # seconds since start_date
longitudes = -180 + np.random.rand(N)*360
latitudes = -90 + np.random.rand(N)*180

dates_folded = np.datetime64(start_date) + \
    access_date.astype("timedelta64[s]").astype("timedelta64[ns]")

arguments = {
    "valid_time": xa.DataArray(dates_folded, dims="z"),
    "longitude": xa.DataArray(longitudes, dims="z"),
    "latitude": xa.DataArray(latitudes, dims="z"),
    "method": "linear",
    "kwargs": {"bounds_error": False},
}
with dask.config.set(**{"array.slicing.split_large_chunks": True}):
    data = dataset['tcc'].interp(**arguments)

res = np.array(data).T
print(res.shape)

basically Iam just doing advanced interpolation as mentioned here https://docs.xarray.dev/en/stable/user-guide/interpolation.html#advanced-interpolation.
It used to work perfectly with my older datasets.
I would expect res.shape to be (100,) or similar (and actually I get this result with older datasets. but I don't understand why I get (705, 715, 2) ! this does not corrrespond to anything, as we can see from the below description of the dataset:
<xarray.Dataset> Size: 17MB
Dimensions:     (valid_time: 2, latitude: 721, longitude: 1440)
Coordinates:
    number      int64 8B ...
  * valid_time  (valid_time) datetime64[ns] 16B 2023-01-01 2023-01-01T01:00:00
  * latitude    (latitude) float64 6kB 90.0 89.75 89.5 ... -89.5 -89.75 -90.0
  * longitude   (longitude) float64 12kB 0.0 0.25 0.5 0.75 ... 359.2 359.5 359.8
    expver      (valid_time) <U4 32B dask.array<chunksize=(2,), meta=np.ndarray>
Data variables:
    u10         (valid_time, latitude, longitude) float32 8MB dask.array<chunksize=(2, 721, 1440), meta=np.ndarray>
    tcc         (valid_time, latitude, longitude) float32 8MB dask.array<chunksize=(2, 721, 1440), meta=np.ndarray>
Attributes:
    GRIB_centre:             ecmf
    GRIB_centreDescription:  European Centre for Medium-Range Weather Forecasts
    GRIB_subCentre:          0
    Conventions:             CF-1.7
    institution:             European Centre for Medium-Range Weather Forecasts
    history:                 2024-11-29T14:04 GRIB to CDM+CF via cfgrib-0.9.1...

thanks
Vianney
dataset.zip

And a working example with my 'previous dataset':
# -*- coding: utf-8 -*-

import dask
import numpy as np
import xarray as xa
import datetime as dt

# open dataset
dataset = xa.open_mfdataset("stub_clouds5.nc4", decode_times=True, parallel=True)
start_date = dt.datetime(2023, 1, 1)

np.random.seed(0)

# points generation
N = 100
access_date = np.linspace(0, 5000, N) # seconds since start_date
longitudes = -180 + np.random.rand(N)*360
latitudes = -90 + np.random.rand(N)*180

dates_folded = np.datetime64(start_date) + \
    access_date.astype("timedelta64[s]").astype("timedelta64[ns]")

arguments = {
    "time": xa.DataArray(dates_folded, dims="z"),
    "longitude": xa.DataArray(longitudes, dims="z"),
    "latitude": xa.DataArray(latitudes, dims="z"),
    "method": "linear",
    "kwargs": {"bounds_error": False},
}
with dask.config.set(**{"array.slicing.split_large_chunks": True}):
    data = dataset['tcc'].interp(**arguments)

res = np.array(data).T
print(res.shape)
[Uploading stub_clouds5.zip…]()

Uploading stub_clouds5.zip…

Could you fill out a bug report, including minimizing the example and updating the xarray version?

yes, I just created installed & checked bug still here with xarray latest (2024.11.0), and submitted a bug report: https://github.com/pydata/xarray/issues/9839
thanks


Page actions in admin interface are not available if I use search

In /admin/cms/ for each page I see publish/unpublish actions in a small hint window which pops up when the mouse pointer is over of one of language specific rounds at the right side of the line.
If I search for a page, then (for the pages found by the search) the hint window is not shown, and the actions are not available.
Not really sure is it a bug or a feature request. But end-users comlains that it is a bug.

@otg-sandrey could you check if this happens on latest support/3.1 branch? Sounds like a fixed issue

I can confirm, this is an issue in the tree:

I cannot confirm yet if we can push a fix to 3.1 or 3.2 and will update here later. Thank you @otg-sandrey

this has been fixed in 3.2


chore(solid): add createGlobPatternsForDependencies to solid package

This change help to add tailwind to a Solid app.

Hey, thanks for the PR. I'm not sure how this helps with Tailwind to be honest? The function you added is never called anywhere?

Hey, thanks for the PR. I'm not sure how this helps with Tailwind to be honest? The function you added is never called anywhere? Is the PR complete? Did you missed something to add?

I was copying Nx implementation for React, as is described here:
https://nx.dev/recipes/other/using-tailwind-css-in-react
Unfortunately, even their strategy don't seem to be working for me, so I'll close this PR. Sorry for wasting your time.


async for and for await don't compose

This code attempts to call a function named async:
x :=
  async for await el of arr
    await el.thing()

Actually, it looks like even async do is broken:

Thanks for raising this. We hadn't considered async for/do/... but it does seem natural for the async to cancel out the implicit await when assigning to the result.

That async do screenshot I posted is from the reference on the website. The documentation says it should work, and then immediately demonstrates that it doesn't.

Hmm, then maybe it used to work but just wasn't in our unit tests and got broken at some point. It might be easy to fix, I'll take a look.

Curious. The second example in https://civet.dev/reference#async-do-blocks seems to be working correctly.


[Library Supports Union -- PR 1/TBD] Some util functions which will be necessary for the library

NOTE: this PR is part 1/TBD of a series of upcoming PRs and as such some tests will be dependent on code in other branches. Breaking up into multiple PRs was done for reviewer ease.

[x] ListUtils.listUnion function will be used to handle the merging of two lists with the same keypath.
[x] MapUtils.getKeypathsFromMap function will get the keypaths of a spec tree. Example usage is to remove "conflicts" which are resolved by the defaults file. For example, if defaults file
[x] 100% test coverage

Addressed comments

just did a slight refactor in listutils by extracting a function. Should be good now

added two new files (+tests) which will centralize the typechecking and object casting which I was previously doing in several places throughout the code.

updated tests with feedback from https://github.com/googleinterns/spec-math/pull/14#discussion_r452541270


Add support for third-party browsers

Hey there!
More and more apps start to adopt the possibility open links in a browser of your choice.
Is the option to select the browser in which links inside githawk are opened a thing you thought about implementing?
If you'd like to adopt this idea i'd be happy to contribute information or maybe even code.
Best wishes from southern germany!
Sent with GitHawk

GitHawk is always open to contributions! If you’d like to take the feature! You can confirm with @BasThomas
Sent with GitHawk

Sent with GitHawk

png GIT binary patch
literal 115934
zc%1CKWmH_vvp0&%;O-vW-6eQ%cXwxygdw;?@Zgf*5?q1>A6$aFI|O%!+{yXpdCt4e
zJs<AJ`{CW}S<LRPs;;iC-Cgyg7Ex*{a%ccz02CAy+B<n^4Jas>2`DHyOe7dci!|Dk
z4CEKIhlZRaRMi;iFUSKjP+s2y3JL}1&j%VRGn){?0<_oC^VCyT60&r4W;3^PwXkLb
zIRl~oTp}PL$X91;PjgC;vy+R55J;5zzbJ$t-~TkTQ&avIiKn9|wVtvXrIf3?H6<?_
z4;u%y7=V(JQpDZLMo2?i_Afi+NtD{o(-SDf&hF*q#pcD$=IU<C&M7D;$j-sV&c($F
zp<wm!cJVX^vATHB{71+?a-^+2EZyyap7yRTlz*PhEnMGwic(YmrTNeGpMgB>ZT@>C
z7mvTwf=rP8PY*jM8wdOU#s-<m|IP(62mXgi?7z80{)iIN*Rb|*b$b6tDKUO75%&LA
z<Nsuka&-o}TYGr?>Er!N|9`gqPkO!oZ2-OheE^95LQ?M5=AN$ZTCT26VzN%&_Aa)R
z%8(Yyx0bH%E`QcWg#CY#{SOJsu2%Lo-qPlt)?!>7oP4YtysX@uS{xigTpU6if7$;J
zntzsv{eP^{e;k1QuLp<$AdLTblNewKFRcX%N&@Pg^jj?u^zj$?Y^_;>fu@ktxT4m#
zKUxc=3Tffg6S3j&els9pQ={Pn6ucNHS0NYL2)O?@zfao8_Rp*g{(5f6Pp6wWXx(pr

Sent with GitHawk

Hi @flowinho, sure! You might also be able to do so already with the use of a shortcut that opens the URL in the browser of choice :)

My memory is a bit fuzzy here since it's been some time since I've had to do this, but you can do this by text-replacing portions of the links that you're attempting to open.
Opening in chrome is a matter of removing the http:///https:// from a link and replacing it with googlechrome:// or googlechromes:// (respectively). I believe Firefox & brave are the same, but I would double check the Brave sample and the Firefox sample.

Sent with GitHawk


Rework histogram buckets process

ipairs should be there if we want to check up if array is sorted, not pairs
https://github.com/tarantool/metrics/blob/a2d783e5b68475a7c88f89b5ea10ce470d8e67fa/metrics/collectors/histogram.lua#L12

Debatable! pairs actually iterates through numeric part firstly (like ipairs does), and only then iterate through keys. You may replace pairs with ipairs only when you manage to guarantee that table buckets contains only numeric part.
for k, v in pairs(buckets) do
        if type(k) ~= 'number' then return false end
        if type(v) ~= 'number' then return false end
        if v <= 0 then return false end
        if prev > v then return false end
        prev = v
end

Debatable! pairs actually iterates through numeric part firstly (like ipairs does), and only then iterate through keys. You may replace pairs with ipairs only when you manage to guarantee that table buckets contains only numeric part.
for k, v in pairs(buckets) do
        if type(k) ~= 'number' then return false end
        if type(v) ~= 'number' then return false end
        if v <= 0 then return false end
        if prev > v then return false end
        prev = v
end

Lua documentation states that

The pairs function, which iterates over all elements in a table, is similar [to ipairs], except that the iterator function is the next function
The call next(t, k), where k is a key of the table t, returns a next key in the table, in an arbitrary order.


Cu gv7eax web socket management mino

Description

Added .github/pull_request_template.md

Added ArenaServer.start and ArenaServer.stop methos

export const ArenaServer = {
  init,
  start,
  stop,
}

Added ArenaApp express wrapper type returned from Arena.init method

export interface ArenaApp {
 express: Express
 session: RequestHandler
}

Split ArenaServer into separate files

Added WebSocketServer and WebSocket Event

use WebSocketServer.notifyUser in JobManager.onMessage listener

Types of changes

[ ] Docs change
[ ] Refactoring
[ ] Dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

How has this been tested
dbMigrator.test has been updated such as
let server: Server

beforeAll(async () => {
  const arenaApp = await ArenaServer.init()
  server = await ArenaServer.start(arenaApp)
})

afterAll(async () => {
  await ArenaServer.stop(server)
})

just to verify server stars and stops correctly.
Do you consider this PR needs further testing?

[ ] No
[ ] Yes

A more robust integration testing strategy must be discussed together.
Disclaimer

Task linked: CU-gv7eax WebSocket management


Update 6B for new ggplot2 legend position syntax

As of ggplot2 version 3.5.0, the legend.position argument no longer accepts a vector of two numbers indicating the position as a relative value of X/Y. Instead, you need to set legend.position to "inside" then use the new legend.position.inside argument to define where inside the legend should go. See below for an example of the new syntax:
ggplot(my_df, aes(x = x_var, y = y_var)) +
    geom_point() +
    theme(legend.position = "inside",
                legend.position.inside = c(0.5, 0.8))

Done!
See commits referencing this issue (above) for the fix and the addition to NEWS.md


Creaetd Model classes based on API Review

Created model classes based on api view
https://apiview.dev/Assemblies/Review/6af850ed7eb04843a6897afbe13cdd28#com.azure.messaging.servicebus.MessageLockToken
Fixes #9354

Add a test for received messages now that we don't inherit from the base class, so we know all the properties are set correctly.

Do you have a test for the .toSercvixeBusMessage method


I got this error and I'm not able to figure out how to fix it.

How can we reproduce this bug?
npm install
npm run build
Write out the HTML (or Inky code) that causes the issue.
Terminal error on install
[01:43:05] Try running: npm install gulp
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: gulp --production
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm ERR!      /Users/robertwilliams/.npm/_logs/2018-11-01T05_43_05_503Z-debug.log
What did you expect to happen?
An install with no errors
What happened instead?
look at above errors, I tried to follow the instructions to fix and it never worked for some reason
What email clients does this happen in?

Try removing node_modules and try npm install again. But just this at first.

Closing as we did not receive any further feedback.


ensure that whitespace does not clutter up diffs

see c8d468a88f95a60b5fae56d0c89ab7ef9cd0cdf1 as a negative example
possible solution: use a hook like git apply --whitespace=fix or https://github.com/dlenski/wtf

yes this doesn't cause many problems anymore, I'll close.


Null decodings

Hello!
I've observed some strange behavior with null in incoming json.
My dependencies are:
compile group: 'io.circe', name: 'circe-parser_2.12', version: '0.10.0-M1'
compile group: 'io.circe', name: 'circe-core_2.12', version: '0.10.0-M1'
compile group: 'io.circe', name: 'circe-generic_2.12', version: '0.10.0-M1'
compile group: 'io.circe', name: 'circe-generic-extras_2.12', version: '0.10.0-M1'

Worksheet: I have 2 case classes, one with Int, another wit Double.
import io.circe.generic.extras.Configuration
import io.circe._, io.circe.generic.semiauto._
import io.circe.parser._

implicit val customConfig: Configuration = Configuration.default.withDefaults

case class IntFoo(a: Int)
case class DoubleFoo(a: Double)
implicit val doubleFooDecoder: Decoder[DoubleFoo] = deriveDecoder[DoubleFoo]
implicit val intFooDecoder: Decoder[IntFoo] = deriveDecoder[IntFoo]

val json = parse(
"""
|{
| "a" : null
|}""".stripMargin
).right.get`

Trying to decode:
intFooDecoder.decodeJson(correctJson) // Left(DecodingFailure(Int, List(DownField(a))))
doubleFooDecoder.decodeJson(correctJson) // Right(DoubleFoo(NaN))

So while I was trying to decode into Int, I was getting an Exception (the behavior I've expected). But when I tried to decode into Double, everything was OK and it was decoding as NaN (this behavior is strange).
So, that was the behavior that's expected orr it is bug and it will be fixed?

This is the expected behavior. In circe encoders can't fail, and circe has a strict no-throwing-exceptions rules, so we have to do something with Encoder[Double].apply(Double.NaN), and a JSON null is the closest thing to a standard encoding of NaN. The Double decoder recognizes this encoding to keep things round-trippable.
This isn't an issue for Int, since the Int type doesn't have any non-number inhabitants.
You could write a custom Encoder[Double] that did something else in this situation (throw an exception, encode NaN as a string or zero, etc.).

How do I set circe to ignore keys whose value is null?
I need to eliminate the key all together instead of showing null or None...

You can use dropNullValues, e.g. obj.asJson.dropNullValues.noSpaces


Implement CRC64 hashing with custom storage polynomial

[x] The purpose of this PR is explained in this or a referenced issue.
[x] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[x] Tests are included and/or updated for code changes.
[x] Updates to CHANGELOG.md are included.
[x] MIT license headers are included in each file.

/azp run go - azblob

From the docs, it seems like the service returning the MD5 is expected.  But why did this start happening?

/azp run go - azblob


Analyzer allows null to be assigned to Never

The following code should be an error in an opted in library: the analyzer reports no errors.
Never x = throw "error";
void foo() {
   x = null;
 }

Tested in tests/language/nnbd/never/never_null_assignability_strong_test.dart landed in https://dart-review.googlesource.com/c/sdk/+/143040 .

https://dart-review.googlesource.com/c/sdk/+/144811


Can this be used for both shortening and wildcard redirects to another domain?

Hi there,
I've just installed YOURLS and I'm testing it out to see if it would be useful my situation. The idea is certainly interesting. The main question I have is if this issue about simultaneously using the domain name as an alias was ever acted on:
How to use YOURLS along with domain alias configuration?

At least I think that represents what I had in mind. Perhaps not, I'm not completely sure.
Basically I'm looking to see if I can do the following.

If the shortlink exists, redirect to the long version of the link. Or just go to the page if it's an existing page like the backend.
If the shortlink doesn't exist and the page is otherwise non existent, do a wildcard redirect to the respective page of the long version of the domain name.

I hope I've explained myself well enough, and if not I'd be happy to try again.
Regardless, thanks to the Dev for making such a project available.

Hi @mvs12!

If the shortlink exists, redirect to the long version of the link. Or just go to the page if it's an existing page like the backend.

This is the main feature of YOURLS, it should not be a problem.

If the shortlink doesn't exist and the page is otherwise non existent, do a wildcard redirect to the respective page of the long version of the domain name.

This a feature that can be implemented with a plugin, as a 'not found' fallback.
See the plugin keyword-not-found-set-field-yourls for an example and the plugin list to find other examples.
If you publish your plugin, feel free to request addition on the list! 👍


ids v1.0.4 build error

Describe the Bug
ids v1.0.4 build error
I delete my project node_modules folder and run yarn install in Terminal, then run yarn build, but build failed.
Steps to Reproduce

delete node_modules folder
yarn install
yarn build
now this happens

Module not found: Error: Can't resolve 'ids' in '/xxx/node_modules/bpmn-js/lib/draw'
@ ./node_modules/bpmn-js/lib/draw/index.js 1:0-42 8:26-38
@ ./node_modules/bpmn-js/lib/core/index.js 1:0-33 6:4-14
@ ./node_modules/bpmn-js/lib/Viewer.js 3:0-32 66:2-12
@ ./node_modules/bpmn-js/lib/NavigatedViewer.js 3:0-30 16:2-13 19:26-32 29:2-27
Expected Behavior
build success
Environment

Host node.js v16.20.0, yarn v1.22.19
OS: macOS 13.4.1
Library version: ["bpmn-js": "^8.8.3", "ids": "1.0.4"]

I meet the same issue..

I meet the same issue too dist is not on npm

I meet the same issue..
not only build meet the same issue
after npm install, i cannot start dev server
...
{
          location: {
            column: 16,
            file: 'node_modules/_bpmn-js<EMAIL_ADDRESS>            length: 5,
            line: 58,
            lineText: "import Ids from 'ids';",
            namespace: '',
            suggestion: ''
          },
          text: 'The plugin "vite:dep-pre-bundle" was triggered by this import'
        }
      ],
      pluginName: 'vite:dep-pre-bundle',
      text: 'Failed to resolve entry for package "ids". The package may have incorrect main/module/exports specified in its package.json.'

Now the easiest solution is
after npm install

cd into the bpmn.js folder
change package.json

"ids": "1.0.3",

npm install --production

now everything is ok

Its because node_modules/ids missed dist folder in. v1.0.4
My solution was install older version of package with npm i<EMAIL_ADDRESS>in project directory
Fix it, please

I meet the same issue..

Do you have an explanation of the criteria for your code deletion?

I meet the same issue..

临时解决方案：
在用到bpmn.js依赖的项目中，使用resolutions修改间接依赖/深层依赖。
具体实现：在package.json中与dependencies和devDependencies同级加入  "resolutions": {  "ids": "1.0.0" },【yarn才会生效，若使用npm安装的还需要在scripts中加入 "preinstall": "npx force-resolutions",】

It works:
$ npm install<EMAIL_ADDRESS>
added 1 package, changed 7 packages, and audited 1337 packages in 5s

$ npm ls ids
<EMAIL_ADDRESS>{...}/test-project
└──<EMAIL_ADDRESS>

Released v1.0.5 with dist folder.


Generating doc from source code

TODO:

Briefly describes how to manually generate documentation locally.

[x] win
[x] macOS
[x] linux

[ ] Identify common Doxyfile options and what they are used for.
[ ] add example code to doc with some img. Maybe in anthoer repo?
[x] Use a modern theme

Old topic and todo
We choose doxygen (#13)
People want detailed documentation, but they don't want to write it themselves.
Automatically generating documentation from source code is a compromise.
We use C/C++, so maybe https://www.doxygen.nl/index.html is the best choice?
The following GUI frameworks also use doxygen:

wxWidgets
FLTK
JUCE

Gtk uses their own written gtk-doc.

You can take a look at my first attempt at this here: https://github.com/andlabs/libui/pull/175

It looks like jessevdk/cldoc has stopped developing.

Hrmm yeah, cldoc looks to have been abandoned as well. :/
I guess to be fair, it has been nearly .. six years (2016) since I first tried to use cldoc in that old PR. A long time.

TODO:

[ ]  add example code to doc with some img. Maybe in another repo?

Take a look at @parro-it's docs? Maybe we could just import libui-node/docs folder directly into libui-ng/doc?
(Also then would need to translate the JS example code back into plain C.)

TODO:

[ ]  ? Use a modern theme

Yes! 👍

Also: Doxygen doesn't understand OOP style C automatically like cldoc.
We have to use special comments in ui.h like this example.

And anonymous enum in doxygen does not looks good:
Maybe apply a path:
+#ifdef __cplusplus
 #define _UI_ENUM(s) typedef unsigned int s; enum
+#else
+#define _UI_ENUM(s) enum s
+#endif

However, changes at the code level require some careful testing.
I will open a separate pr for this issue later.

And anonymous enum in doxygen does not looks good:

Probably needs \enum special comment to work at all.

For me personally I'd love to see a FAQ style aka "I want to make a text/label, but I want to align it to the left, middle or right. How to do this?". So anything that is small-ish and showcases this in code is super-useful, a bit like StackOverflow questions, but shorter, succinct, to the point (for small issues; I can try to figure out larger issues on my own once I get a good grasp of what is possible.).

For me personally I'd love to see a FAQ

PRs welcome!

Some methodologies: https://diataxis.fr/ —— A SYSTEMATIC FRAMEWORK FOR TECHNICAL DOCUMENTATION AUTHORING.
Before thinking about how to organize the documentation, we need to write some more documents.

And anonymous enum in doxygen does not looks good:

Probably needs \enum special comment to work at all.

I've now tried adding some \enum and other special comments to ui.h, none of which I could get to work. Doxygen is really complex..

@cody271 You may need #14 and if you apply this path:
https://github.com/libui-ng/libui-ng/blob/ab92ee15d9903f0ff15df5ed0bc0155f3ffc726d/Doxyfile#L2267
- PREDEFINED             = "_UI_ENUM(s):=enum"
+ PREDEFINED             = "_UI_ENUM(s):=enum s"

Then you got:

But this doesn't match the real code, so I'm considering whether we need to actually change the C code.

@inkydragon that almost works!
diff --git a/Doxyfile b/Doxyfile
index 5b67ffac..108f5ea9 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -2264,7 +2264,7 @@ INCLUDE_FILE_PATTERNS  =
 # recursively expanded use the := operator instead of the = operator.
 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.

-PREDEFINED             = "_UI_ENUM(s):=enum"
+PREDEFINED             = "_UI_ENUM(s):=enum s"

 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
 # tag can be used to specify a list of macro names that should be expanded. The
diff --git a/ui.h b/ui.h
index b1749e8d..14af059a 100644
--- a/ui.h
+++ b/ui.h
@@ -1111,11 +1111,15 @@ _UI_EXTERN int uiFormPadded(uiForm *f);
 _UI_EXTERN void uiFormSetPadded(uiForm *f, int padded);
 _UI_EXTERN uiForm *uiNewForm(void);

+///
+///! \enum uiAlign
+/// Alignment of uiControl in container like uiGrid
+///
 _UI_ENUM(uiAlign) {
-       uiAlignFill,
-       uiAlignStart,
-       uiAlignCenter,
-       uiAlignEnd,
+       uiAlignFill,    /// Child fills the container
+       uiAlignStart,   /// Align to top or left of container
+       uiAlignCenter,  /// Center child in container
+       uiAlignEnd,     /// Align to bottom or right of container
 };

 _UI_ENUM(uiAt) {

diff --git a/ui.h b/ui.h
index b1749e8d..36939718 100644
--- a/ui.h
+++ b/ui.h
@@ -1111,11 +1111,14 @@ _UI_EXTERN int uiFormPadded(uiForm *f);
 _UI_EXTERN void uiFormSetPadded(uiForm *f, int padded);
 _UI_EXTERN uiForm *uiNewForm(void);

+/*! \enum uiAlign
+ * Alignment of uiControl in container like uiGrid
+ */
 _UI_ENUM(uiAlign) {
-       uiAlignFill,
-       uiAlignStart,
-       uiAlignCenter,
-       uiAlignEnd,
+       uiAlignFill,    /*!< Child fills the container */
+       uiAlignStart,   /*!< Align to top or left of container */
+       uiAlignCenter,  /*!< Center child in container */
+       uiAlignEnd,     /*!< Align to bottom or right of container */
 };

 _UI_ENUM(uiAt) {

@inkydragon ^ This works! Somehow the old comment style does work.. ?

diff --git a/Doxyfile b/Doxyfile
index 5b67ffac..64736982 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -2264,7 +2264,7 @@ INCLUDE_FILE_PATTERNS  =
 # recursively expanded use the := operator instead of the = operator.
 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.

-PREDEFINED             = "_UI_ENUM(s):=enum"
+PREDEFINED             = "_UI_ENUM(s):=enum s"

 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
 # tag can be used to specify a list of macro names that should be expanded. The
diff --git a/ui.h b/ui.h
index 2b4badf0..be9eba98 100644
--- a/ui.h
+++ b/ui.h
@@ -1108,11 +1108,13 @@ _UI_EXTERN int uiFormPadded(uiForm *f);
 _UI_EXTERN void uiFormSetPadded(uiForm *f, int padded);
 _UI_EXTERN uiForm *uiNewForm(void);

+/** Alignment of uiControl in container like uiGrid.
+ */
 _UI_ENUM(uiAlign) {
-       uiAlignFill,
-       uiAlignStart,
-       uiAlignCenter,
-       uiAlignEnd,
+       uiAlignFill,    ///< Child fills the container.
+       uiAlignStart,   ///< Align to top or left of container.
+       uiAlignCenter,  ///< Center child in container.
+       uiAlignEnd,     ///< Align to bottom or right of container.
 };

Current state of affairs with regards to doxygen annotations:

[ ] uiInitOptions

[x] uiControl

[x] uiWindow

[x] uiButton

[x] uiBox

[x] uiCheckbox

[x] uiEntry

[x] uiLabel

[x] uiTab

[x] uiGroup

[x] uiSpinbox

[x] uiSlider

[x] uiProgressBar

[x] uiSeparator

[x] uiCombobox

[x] uiEditableCombobox

[x] uiRadioButtons

[x] uiDateTimePicker

[x] uiMultilineEntry

[x] uiMenuItem

[x] uiMenu

[ ] uiArea

[ ] uiAreaHandler

[ ] uiAreaDrawParams

[ ] uiAreaMouseEvent

[ ] uiAreaKeyEvent

[ ] uiDrawContext

[ ] uiDrawPath

[ ] uiDrawBrush

[ ] uiDrawStrokeParams

[ ] uiDrawMatrix

[ ] uiDrawBrushGradientStop

[ ] uiAttribute

[ ] uiOpenTypeFeatures

[ ] uiAttributedString

[ ] uiFontDescriptor

[ ] uiDrawTextLayout

[ ] uiDrawTextLayoutParams

[x] uiFontButton

[x] uiColorButton

[x] uiForm

[x] uiGrid

[x] uiImage

[x] uiTableValue

[x] uiTableModel

[x] uiTableModelHandler

[x] uiTableTextColumnOptionalParams

[x] uiTableParams

[x] uiTable

[ ] uiForEach

[ ] uiWindowResizeEdge

[ ] uiDrawBrushType

[ ] uiDrawLineCap

[ ] uiDrawLineJoin

[ ] uiDrawFillMode

[ ] uiAttributeType

[ ] uiTextWeight

[ ] uiTextItalic

[ ] uiTextStretch

[ ] uiUnderline

[ ] uiUnderlineColor

[ ] uiDrawTextAlign

[x] uiModifiers

[ ] uiExtKey

[x] uiAlign

[x] uiAt

[x] uiTableValueType

[x] uiSortIndicator


Fix typo in "React Styleguidist"

Hey,
Thanks for your PR but the files on this repo are generated from a database so I can't accept modifications.
It's already fixed.


Add Setup to Contributing Guide.

We need a step by step contributing guide on how to run the project with poetry.


[RESOLVED] Interface eth0(): High error rate (>2 for 5m)

Problem started at 16:18:29 on 2023.05.09
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Operational data: errors in: 2, errors out: 0
Original problem ID: 20463
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23483&eventid=20463

Problem has been resolved in 9m 0s at 16:27:29 on 2023.05.09
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Original problem ID: 20463


always showing localhost django defender

I deploy my website to ubuntu server with gunicorn and nginx but when I notice the Django defender is always getting <IP_ADDRESS> IP
and when someone gets blocked the whole website user blocked because only 1 IP address Django defender always getting localhost IP
here is a ScreenShot

there are visitors from different IP but it gets only localhost IP
the problem is Django defender always get localhost IP which is incorrect every user had their own IP

@Hamza-Lachi do you have NGINX passing along the HTTP_X_FORWARDED_FOR header to your Django app? If you are using a reverse proxy that is where defender will look for the correct address.
Here is an example of the nginx config.

server {
   listen      80;
   server_name api.mydomain.com;

   charset     utf-8;

   client_max_body_size 1M;

   location / {
      set_real_ip_from <IP_ADDRESS>/32;
      proxy_set_header X-Forwarded-Host $host:$server_port;
      proxy_set_header X-Forwarded-Server $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

      proxy_pass http://myapi;
   }

   access_log /var/log/nginx/api_access.log;
   error_log  /var/log/nginx/api_error.log;
}

Another possible issue is that you might be using a different name for your header, if so you will need to change the name by using the following setting.
DEFENDER_REVERSE_PROXY_HEADER: String: the name of the http header with your reverse proxy IP address [Default: HTTP_X_FORWARDED_FOR]
If that still doesn’t work, post your nginx and django settings, so we can see what might be wrong.

I'm also getting the IP from my app
with this code
ip = request.META.get('REMOTE_ADDR')
is this possible to change
DEFENDER_REVERSE_PROXY_HEADER to REMOTE_ADDR

If you trust that the data in that header is correct, you could change the setting to use it and see if it works for you. If it does, then you should be good to go.

sorry that also dosen't work
here is my Nginx settings:
server {
    server_name hamza.pawnhost.com;

    location = /favicon.ico { access_log off; log_not_found off; }

    location /static/ {
        root /home/emailv-completed;
    }

    location /media {
     	alias /home/emailv-completed/media;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/emailv-completed/src.sock;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/hamza.pawnhost.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/hamza.pawnhost.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    if ($host = hamza.pawnhost.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    server_name hamza.pawnhost.com;
    return 404; # managed by Certbot

}

this is the piece of the code I'm using to get IP
def get_client_ip(request):
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
    if x_forwarded_for:
        ip = x_forwarded_for.split(',')[0]
    else:
        ip = request.META.get('REMOTE_ADDR')
    return ip

and I'm getting IP from that code
why Django defender can't get right IP
I also change DEFENDER_REVERSE_PROXY_HEADER to REMOTE_ADDR but nothing worked
please help me

That's weird that you are getting it correctly from code, but not from Defender.
What do you have for the DEFENDER_BEHIND_REVERSE_PROXY setting, did you set it to True since you are behind Nginx? If not, go ahead and add that, and see if it works.
Here is the code, which looks similar to yours.
https://github.com/jazzband/django-defender/blob/master/defender/utils.py#L46-L55
def get_ip(request):
    """ get the ip address from the request """
    if config.BEHIND_REVERSE_PROXY:
        ip_address = request.META.get(config.REVERSE_PROXY_HEADER, "")
        ip_address = ip_address.split(",", 1)[0].strip()
        if ip_address == "":
            ip_address = get_ip_address_from_request(request)
    else:
        ip_address = get_ip_address_from_request(request)
    return ip_address

okay it's working after doing this
DEFENDER_BEHIND_REVERSE_PROXY = True


Crash to desktop

Game Version: BuildID 12228193 (patch 14) Echos of the eye DLC
OWML Version: 0.13.2
NomaiVR Version: 2.9.2
VR hardware: Rift CV1 + Touch controllers

Crash to desktop in the first few minutes of playing. OWML set to console logging, this is the log I have.
Never doing anything unusual, just flying around or even just moments after waking up, instant crash ::(
`Started OWML v2.11.1
Game found in G:/Steamlib/steamapps/common/Outer Wilds
Game version: <IP_ADDRESS>8
Game files copied.
Found mods:

Raicuparta.NomaiVR v2.9.2
Copying OWML files...
Copying replacement OW files...
Patching OW assembly...

Assembly is already patched.
Updating incremental GC...
Executing patcher for Raicuparta.NomaiVR v2.9.2
Identified as a Steam install. Launching...
Console connected to socket!
[OWML.Owo] : Mod loader has been initialized.
[OWML.Owo] : Game version: <IP_ADDRESS>8
[OWML.EnumUtils] : Initializing enum creator
[NomaiVR.Logs] : Error - method DialogueOptionUI.Awake not found.
[NomaiVR.HarmonyHelper] : Error in Patch: original MethodInfo is null.
Error while listening: System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at OWML.Launcher.SocketListener.ListenToSocket() in D:\a\owml\owml\src\OWML.Launcher\SocketListener.cs:line 77
at OWML.Launcher.SocketListener.SetupSocketListener() in D:\a\owml\owml\src\OWML.Launcher\SocketListener.cs:line 42`

This was caused by migrating Outer Wilds across drives with steams built in interface. This was resolved with a re-install to the desired directory.


Add support for BMP image format (using EasyBMP library)

I have added load_BMP(std::string inFile) and save_BMP(std::string inFile) functions to pixelArray class that can work with BMP image format.
If we want work with binary data, why not use a standard format.
I have found quite simple C++ Bitmap library - EasyBMP.

Thanks. I agree with using a standard format. I didn't realized that it is essentially BMP. However, please, check a response to your comment in pixelArray.h. With BMP we loose information on the nature of data.


Fixed8 overflow in nep5 transfer method (neon-js v4.6.0)

If we run this test using neon-js v4.6.0:

import Fixed8 from "../src/u/Fixed8";
import { transfer } from "../../neon-nep5/src/abi";

test("test3", () => {
  const account = new Account(
    "9ab7e154840daca3a2efadaf0df93cd3a5b51768c632f5433f86909d9b994a69"
  );

  const amtToSendTest =<PHONE_NUMBER>9;
  const numOfDecimalsTest = 8;

  const generator = transfer(
    "9488220e8654d798f9b9cb9e74bd611ecc83fd0f",
    account.address,
    account.address,
    new Fixed8(amtToSendTest).div(Math.pow(10, 8 - numOfDecimalsTest))
  );
  const builder = generator();
});

we get the following errors:
Error: expected input to be less than<PHONE_NUMBER>8.54775807. Got input =<PHONE_NUMBER>9

The error happens in the adjustedAmt assignment, due to the fact that the Fixed8 multiplication of amt =<PHONE_NUMBER>9 by 10^8 is greater than the maximum Fixed8 value allowed which is<PHONE_NUMBER>8.54775807.
https://github.com/CityOfZion/neon-js/blob/master/packages/neon-nep5/src/abi.ts#L86

This error was not present in neon-js v4.5.2 because we were more relax there and we didn't have any boundary for the Fixed8 value. The expected Scriptbuilder is supposed to be:
ScriptBuilder {
      str: '0531e28e79151435b20010db73bf86371075ddfba4e6596f1ff35d1435b20010db73bf86371075ddfba4e6596f1ff35d53c1087472616e73666572670ffd83cc1e61bd749ecbb9f998d754860e228894',
      pter: 0 }

(31e28e7915 = reverse hex of<PHONE_NUMBER>9)

I believe in this case adjustedAmt is actually the integer representation of new u.Fixed8(amt), in other words
adjustedAmt = new BN(new u.Fixed8(amt).toHex(), 16)

This will fix the nep5 transfer method. But perhaps we should create a method in the Fixed8 class which provide us its integer representation. Do you agree @snowypowers ?

So what is happening is that the logic there is correct but we cannot do the multiplication within the Fixed8 model because we want to constraint the data model to what it means.
We still have to keep the multiplication so your fix should look like:
adjustedAmt = new BN(amt).mul(100000000);

To follow up, we could have a toRawNumber method that returns the actual underlying integer value as you suggested.
This might not be the only place where we do this.

Actually when we applies toHex the multiplication with 10^8 is implicitly done:
https://github.com/CityOfZion/neon-js/blob/master/packages/neon-core/src/u/Fixed8.ts#L76
so these two values are actually the same. 😄
new BN(new u.Fixed8(amt).toHex(), 16) === new BN(amt).mul(100000000)

Thanks for your feedback. I will provide a PR this evening.

Closed via #451.

Hello. I don't know much about the context of this issue, but this was the only link in google with expected input to be less than error message, so maybe it blew up again somewhere few days ago (or was finally released? =-D).
Some of our users are reporting that they started getting this error whenever they try to perform a NEO transaction with either O3 or through in-house RPC request through our dapp. Two of them were confirmed to be using Mac, maybe that has anything to do with the this.

I don't request any investigation from your side, I can't reproduce the issue myself, just leaving this note here in case someone else also started having this issue recently.


Raygui.List_view_ex documented incorrectly

When I create a list view using Raygui.list_view_ex, I'm unable to get its selection to change. Focus (mouse hover) for list items seems to be working. But when I click on a list item, I expect the third result returned (selected_index below) to be the index of the selected item. However, even when I click on item 1, the value 0 is returned. The Raygui.list_view function seems to have the same problem.
    let scroll_index, focused_index, selected_index =
      Raygui.list_view_ex
        boundary
        ["blib" ; "blab"]
        !(region_editor.focused_region_index)
        !(region_editor.region_list_scroll_index)
        !(region_editor.selected_region_index)
    in
    region_editor.region_list_scroll_index := scroll_index;
    region_editor.focused_region_index := focused_index;
    region_editor.selected_region_index := selected_index;

By looking at the gui test, I figured out what's wrong. The selected index is actually the first result, which I'm storing in scroll_index.
This isn't documented correctly. Looking at the doc comment, in the parameters the selected item index is called active. In the results, the selected item index is called "selected list item index". I find the latter to be far more helpful. I propose changing the name of the active parameter to selected_item_index and changing the name of the third result to scroll_index.

Thanks for reporting this, and finding out what's wrong. active and selected list item index are really the same thing, I must have thought the index in the implementation refers to the selected index (i.e. active) instead of scroll_index.
I want to keep the parameter name as active. Not because I think it's a good name (it's not), but because that's the name raygui uses.
I fixed the doc comments in 3063dda4587be5538e8f2d54621de1ee3847b540.