train and my dataset

Thank you for your outstanding work. I want to use your model to train my dataset. My dataset contains RGB images and semantic information. how can  process my dataset? Also, how can I use your existing model to detect  my images?
my dataset tree is |-- datasets
|  |-- ORFD
|  |  |-- training
|  |  |  |-- sequence   |-- calib
|  |  |                 |-- sparse_depth
|  |  |                 |-- dense_depth
|  |  |                 |-- lidar_data
|  |  |                 |-- image_data
|  |  |                 |-- gt_image
......
|  |  |-- validation
......
|  |  |-- testing
......
I don"t have voxeldata can I train with your monoscene?

Hi, you can take a look at this code to see how to convert lidar to voxelized scene
voxel_size = 0.2
vox_origin = np.array([0, -25.6, -2]).reshape(1, 3)
vox_origin = self.vox_origin.reshape(1, 3)
voxels = (xyz - vox_origin.reshape(1, 3)) // self.voxel_size

About the Gradio, I don't know why the UI doesn't work any more. You should take a look directly at the inference code.

thank you！！！I am trying to  make my liar label,I need train my dataset,thank you for your reply!!

 Good luck with your work.

It seems there is a small problem in https://huggingface.co/spaces/CVPR/MonoScene/blob/27c712a835068b81df1b44c9c928af9fd1c56674/helpers.py#L42and L86 show show opposite coordinate transformations and in L144 function get_projections cam_E ，The variableT_velo_2_cam is a transformation from radar system to camera system, but the annotation is a transformation from camera system to radar system，which is conflict

Sorry, I don't understand. Function vox2pix generates voxel grid in lidar coordinates and project them to the image. What do you mean by opposite coordinate transformations?

sorry,I forget to reply, I mean I don't understand the projection of lidar coordinates from image coordinats and voxel cooredinats,I don't understand the projection process in the middle

Sorry, I don't know what to answer, could you be more specific?

Sorry, I don't know what to answer, could you be more specific?

What I mean is, in the vox2pix function of helpers. py, according to the meaning of your code, cam_ pts=fusion. rigid_Transform (cam_pts, cam_E) is the translation of voxels from the lidar coordinate system to the camera coordinate system, but your annotation under vox2pix states "cam-E: 4x4"=Camera pose in case of NYUv2 dataset=Transformation from camera to lidar coordinate in case of SemKITTI, explain cam_E is from the camera system to the lidar system. May I ask if I misunderstood or if your expression was incorrect?

Hi,Cao Anh Quan
Hello! My velodyne and labels data have point cloud and point cloud label files in the same format as SemanticKitti in. bin and. label formats. The following image shows the result of visualizing SemanticKitti and my dataset bin files.
sequence003_ 116
I organized my files into the format shown below and successfully generated a voxelated. bin. label. occloud. invalid file using https://github.com/jbehley/voxelizer
But I combined my voxel file and SemanticKITTI's voxel file, using https://github.com/PRBonn/semantic-kitti-api/blob/master/visualize_voxels.py Visualize it, but the effect is very strange. The left side of the image shows my data. On the right is Kitti's data
I am confident that my original bin and labels are fine. Is there a problem with my configuration? The following image shows my configuration
In addition, I also found that the sequence numbers of SemanticKITTI's voxel data are multiples of 5, indicating that SemanticKITTI ignored the first 4 frames. Can you teach me how to set them? I want to change my voxel to SemanticKITTI format. How can I modify my configuration? Can we generate voxel files with five intervals below?
In other words, how can I verify the correctness of the label file in the voxel folder? or How can I visualize it?  I read the code for voxel/label as follows
rellis_label = "/home/liuzhen/learning/DATASETS/RELLIS3D/voxelizer/sequences/00/voxels/000003.label"     voxels = np.fromfile(rellis_label, dtype=np.uint16).reshape((256, 256, 32))

Hi,
Hello! My** velodyne and labels** data have point cloud and point cloud label files in the same format as SemanticKitti in. bin and. label formats. The following image shows the result of visualizing SemanticKitti and my dataset bin files.

I organized my files into the format shown below and successfully generated a voxelated. bin. label. occloud. invalid file using your project.

But I combined my voxel file and SemanticKITTI's voxel file, using https://github.com/PRBonn/semantic-kitti-api/blob/master/visualize_voxels.py Visualize it, but the effect is very strange. The left side of the image shows my data. On the right is Kitti's data

I am confident that my original bin and labels are fine. Is there a problem with my configuration? The following image shows my configuration

In addition, I also found that the sequence numbers of SemanticKITTI's voxel data are multiples of 5, indicating that SemanticKITTI ignored the first 4 frames. Can you teach me how to set them? I want to change my voxel to SemanticKITTI format. How can I modify my configuration? Can we generate voxel files with five intervals below?

In addition, I also found that the sequence numbers of SemanticKITTI's voxel data are multiples of 5, indicating that SemanticKITTI ignored the first 4 frames. Can you teach me how to set them? I want to change my voxel to SemanticKITTI format. How can I modify my configuration? Can we generate voxel files with five intervals below?
 my_label = "/home/liuzhen/learning/DATASETS/voxelizer/sequences/00/voxels/000003.label"     voxels = np.fromfile(rellis_label, dtype=np.uint16).reshape((256, 256, 32))

Hi,Cao Anh Quan My** velodyne and labels** data have point cloud and point cloud label files in the same format as SemanticKitti in. bin and. label formats. The following image shows the result of visualizing SemanticKitti and my dataset bin files.

I organized my files into the format shown below and successfully generated a voxelated. bin. label. occloud. invalid file using (https://github.com/jbehley/voxelizer)

But I combined my voxel file and SemanticKITTI's voxel file, using https://github.com/PRBonn/semantic-kitti-api/blob/master/visualize_voxels.py Visualize it, but the effect is very strange. The left side of the image shows my data. On the right is Kitti's data

I am confident that my original bin and labels are fine. Is there a problem with my configuration? The following image shows my configuration

In addition, I also found that the sequence numbers of SemanticKITTI's voxel data are multiples of 5, indicating that SemanticKITTI ignored the first 4 frames. Can you teach me how to set them? I want to change my voxel to SemanticKITTI format. How can I modify my configuration? Can we generate voxel files with five intervals below?
 In addition, I also found that the sequence numbers of SemanticKITTI's voxel data are multiples of 5, indicating that SemanticKITTI ignored the first 4 frames. Can you teach me how to set them? I want to change my voxel to SemanticKITTI format. How can I modify my configuration? Can we generate voxel files with five intervals below?  my_label = "/home/liuzhen/learning/DATASETS/voxelizer/sequences/00/voxels/000003.label" voxels = np.fromfile(rellis_label, dtype=np.uint16).reshape((256, 256, 32))

Hi,Cao Anh Quan！I have received a response from the original author, and my problem has been resolved. Thank you!, Here is the author's response:
**Here a possible things that you should check, such that we can rule out "easy problems":
Check if you have maybe a wrong file (you cannot just copy the KITTI file as we opted to use the KITTI way of representing poses (i.e., all poses are given in camera coordinates). If you have simply the with LiDAR poses, then you should use a with identity matrices.calib.txtposes.txtcalib.txt
It would help to have not only a comparison what comes out with SemanticKITTI (i.e., having the original scan from KITTI; at least the point cloud looks like sequence 00 from KITTI), but also your data. At least that would provide an indication of what your are expecting to see.
Regarding your other questions:
You can generate also "dense" voxels, i.e., voxel grids for each and every scan. But due to space limitations, we decided to use only every 5th to make the download and the prediction more manageable. In the voxelizer there should be also an option to have voxel grids for each an every scan.
How many scans are used to aggregate for the scan is given by prior and past scans (that means how many scans should be accumulated); Even if we generate the voxel grids only for every 5th timestamp, we still aggregate all prior scans (I think it was something like 100 scans? for the ground truth). In your shown configuration, you now take "only" the last 4 before the current timestamp and the future 4 scans. I agree, the naming is a bit suboptimal (prior = before the current timestamp, past = after the current timestamp).**

Dear @lzbushicai, I am pleased to hear that. Best wishes for your research.

Dear Cao Anh Quan！
I meet I encountered other difficulties during my training。
I set relation_loss:  true，sem_scal_loss: true，geo_scal_loss: true,the program will execute normally，but when I set CE_ssc_loss true。The program will report the following error：
Validation sanity check:  50%|██████████          | 1/2 [00:20<00:20, 20.78s/it]../aten/src/ATen/native/cuda/NLLLoss2d.cu:104: nll_loss2d_forward_kernel: block: [9,0,0], thread: [897,0,0] Assertion t >= 0 && t < n_classes failed. ../aten/src/ATen/native/cuda/NLLLoss2d.cu:104: nll_loss2d_forward_kernel: block: [9,0,0], thread: [899,0,0] Assertion t >= 0 && t < n_classes failed. ../aten/src/ATen/native/cuda/NLLLoss2d.cu:104: nll_loss2d_forward_kernel: block: [9,0,0], thread: [259,0,0] Assertion t >= 0 && t < n_classes failed. ../aten/src/ATen/native/cuda/NLLLoss2d.cu:104: nll_loss2d_forward_kernel: block: [9,0,0], thread: [260,0,0] Assertion t >= 0 && t < n_classes failed. ../aten/src/ATen/native/cuda/NLLLoss2d.cu:104: nll_loss2d_forward_kernel: block: [9,0,0], thread: [929,0,0] Assertion t >= 0 && t < n_classes failed. ../aten/src/ATen/native/cuda/NLLLoss2d.cu:104: nll_loss2d_forward_kernel: block: [9,0,0], t
I guess the tag contains invalid values,is me right?In order to adapt to my data, I have changed monoscene/data/semantic_kitti/semantic-kitti.yaml to the following format
`# This file is covered by the LICENSE file in the root of this project.
nbr_classes: 20
grid_dims: [256, 32, 256]  # (W, H, D)
labels:
0: "void"
1: "dirt"
3: "grass"
4: "tree"
5: "pole"
6: "water"
7: "sky"
8: "vehicle"
9: "object"
10: "asphalt"
12: "building"
15: "log"
17: "person"
18: "fence"
19: "bush"
23: "concrete"
27: "barrier"
31: "puddle"
33: "mud"
34: "rubble"
color_map: # bgr
0: [ 0, 0, 0 ]
1: [ 108, 64, 20 ]
3: [ 0, 102, 0 ]
4: [ 0, 255, 0 ]
5: [ 0, 153, 153 ]
6: [ 0, 128, 255 ]
7: [ 0, 0, 255 ]
8: [ 255, 255, 0 ]
9: [ 255, 0, 127 ]
10: [ 64, 64, 64 ]
12: [ 255, 0, 0 ]
15: [ 102, 0, 0 ]
17: [ 204, 153, 255 ]
18: [ 102, 0, 204 ]
19: [ 255, 153, 204 ]
23: [ 170, 170, 170 ]
27: [ 41, 121, 255 ]
31: [ 134, 255, 239 ]
33: [ 99, 66, 34 ]
34: [ 110, 22, 138 ]
content: # as a ratio with the total number of points
0: 0.018889854628292943
1: 0.0002937197336781505
10: 0.040818519255974316
11: 0.00016609538710764618
13: 2.7879693665067774e-05
15: 0.00039838616015114444
16: 0.0
18: 0.0020633612104619787
20: 0.0016218197275284021
30: 0.00017698551338515307
31: 1.1065903904919655e-08
32: 5.532951952459828e-09
40: 0.1987493871255525
44: 0.014717169549888214
48: 0.14392298360372
49: 0.0039048553037472045
50: 0.1326861944777486
51: 0.0723592229456223
52: 0.002395131480328884
60: 4.7084144280367186e-05
70: 0.26681502148037506
71: 0.006035012012626033
72: 0.07814222006271769
80: 0.002855498193863172
81: 0.0006155958086189918
99: 0.009923127583046915
252: 0.001789309418528068
253: 0.00012709999297008662
254: 0.00016059776092534436
255: 3.745553104802113e-05
256: 0.0
257: 0.00011351574470342043
258: 0.00010157861367183268
259: 4.3840131989471124e-05
classes that are indistinguishable from single scan or inconsistent in
ground truth are mapped to their closest equivalent
learning_map:
0: 0
1: 1
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
10: 10
12: 11
15: 15
17: 17
18: 18
19: 19
23: 23
27: 27
31: 31
33: 33
34: 34  # "moving-other"-vehicle to "other-vehicle" ----------------mapped
learning_map_inv: # inverse of previous map
0: 0
1: 1
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
10: 10
12: 11
15: 15
17: 17
18: 18
19: 19
23: 23
27: 27
31: 31
33: 33
34: 34     # "traffic-sign"
learning_ignore: # Ignore classes
0: True      # "unlabeled", and others ignored
1: False     # "car"
3: False     # "bicycle"
4: False     # "motorcycle"
5: False     # "truck"     # "other-vehicle"
6: False     # "person"
7: False     # "bicyclist"
8: False     # "motorcyclist"
9: False     # "road"
10: False    # "parking"
12: False    # "sidewalk"
15: False    # "other-ground"
17: False    # "building"
18: False    # "fence"
19: False    # "vegetation"
23: False    # "trunk"
27: False    # "terrain"
31: False    # "pole"
33: False
34: False     # "traffic-sign"
split: # sequence numbers
train:
- 0
- 1
- 2
- 3
valid:
- 4
test:
- 4`
Where did I go wrong?
another question. I have two 3090 ,so I set n_gpus :2
but errors:
  File "/home/evsjtu2/disk1/liuzhen/MonoScene/monoscene/data/semantic_kitti/kitti_dm.py", line 78, in val_dataloader     collate_fn=collate_fn,   File "/home/evsjtu2/miniconda3/envs/Monoscene/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 350, in __init__     batch_sampler = BatchSampler(sampler, batch_size, drop_last)   File "/home/evsjtu2/miniconda3/envs/Monoscene/lib/python3.7/site-packages/torch/utils/data/sampler.py", line 233, in __init__     "but got batch_size={}".format(batch_size)) ValueError: batch_size should be a positive integer value, but got batch_size=0
I don't know how to solve it .Could you help me?

awsdg

You should check if the length class_weights is equal to your number of classes.
https://github.com/astra-vision/MonoScene/blob/master/monoscene/loss/ssc_loss.py#L95

Regarding visualization, I draw and visualize them frame by frame.

Thank you for your reply. I am very sorry for replying so late because I am on winter vacation. I will check the suggestions you gave


Update Keycloak to match staging and prod

Summary
Let's downgrade Keycloak back to 23.0 since that's what we're using in staging and production.
This PR also adds the same realm configuration we're using in higher environments.
Change Type
Mark the type of change your PR introduces:

[ ] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[x] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 46.726% (-0.01%) from 46.739%
when pulling 676d3aebaa0181ca395f8a61ed04bfd5e91578d0 on eleftherias:keycloak-update
into 3df3c1a54f3318e991193b2b786ee3ef2c76085d on stacklok:main.


[FEATURE] Right Click Search

Is your feature request related to a problem? Please describe.
As came up when debugging #60
Describe the solution you'd like
It might be nice to be able to right-click words to search them rather than having to highlight. Will have to look into automatically highlighting/collecting word that was right click selected in order to pass it along.
Describe alternatives you've considered
If unfeasible can leave as is.
Additional context
Making this issue to remind myself later.

Invested and decided to leave as is


update rule-sqlmap.xml selector-sqlmap.xml

插件列表里的选择器和规则新增执行顺序列，便于根据权重了解执行顺序，同时后端sql追加排序，按执行顺序从小到大排序后返回前端

Codecov Report

Merging #4265 (151d375) into master (1834931) will decrease coverage by 0.37%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #4265      +/-   ##
============================================
- Coverage     69.50%   69.13%   -0.38%
+ Complexity     7387     7341      -46
============================================
  Files           995      995
  Lines         27991    27982       -9
  Branches       2477     2474       -3
============================================
- Hits          19455    19344     -111
- Misses         7057     7165     +108
+ Partials       1479     1473       -6

Impacted Files
Coverage Δ

...n/alibaba/dubbo/cache/AlibabaDubboConfigCache.java
47.12% <0.00%> (-31.04%)
:arrow_down:

.../client/server/consul/ShenyuConsulConfigWatch.java
60.41% <0.00%> (-25.00%)
:arrow_down:

...yu/sync/data/http/refresh/AbstractDataRefresh.java
68.96% <0.00%> (-13.80%)
:arrow_down:

...he/shenyu/loadbalancer/spi/RandomLoadBalancer.java
81.81% <0.00%> (-9.10%)
:arrow_down:

...che/shenyu/sync/data/http/HttpSyncDataService.java
81.63% <0.00%> (-8.17%)
:arrow_down:

.../apache/shenyu/admin/model/dto/BatchCommonDTO.java
50.00% <0.00%> (-7.15%)
:arrow_down:

...apache/shenyu/admin/model/dto/AuthPathWarpDTO.java
57.14% <0.00%> (-7.15%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
21.27% <0.00%> (-6.39%)
:arrow_down:

...ache/shenyu/plugin/grpc/cache/GrpcClientCache.java
75.00% <0.00%> (-6.25%)
:arrow_down:

...org/apache/shenyu/admin/model/dto/AuthPathDTO.java
58.82% <0.00%> (-5.89%)
:arrow_down:

... and 40 more

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

Please use English and update your title description


Neutrino client: Header doesn't pass sanity check: block target difficulty of 0..

Background
Neutrino client in an LND 15.1 instance (upgraded from 13.3) is unable to sync to back-end BTCD 22 (was upgraded from 20)
Trace shows the following in unending loop.
2022-09-21 10:07:21.423 [WRN] BTCN: Unable to fetch set of candidate checkpoints, trying again...
2022-09-21 10:07:24.197 [INF] BTCN: New valid peer x.x.x.203:8333 (outbound) (/btcwire:0.5.0/btcd:0.22.0/)
2022-09-21 10:07:24.197 [INF] BTCN: Syncing to block height 755097 from peer <IP_ADDRESS>:8333
2022-09-21 10:07:24.197 [INF] BTCN: Fetching set of headers from tip (height=754806) from peer x.x.x.203:8333
2022-09-21 10:07:24.371 [WRN] BTCN: Header doesn't pass sanity check: block target difficulty of<PHONE_NUMBER>0000000008c8940000000000000000000000000000000000000000 is higher than max of<PHONE_NUMBER>000000000000000000000000000000000000000000000000000000 -- disconnecting peer
2022-09-21 10:07:24.372 [INF] BTCN: Lost peer x.x.x.203:8333 (outbound)
2022-09-21 10:07:24.372 [WRN] BTCN: No sync peer candidates available
2022-09-21 10:07:24.424 [WRN] BTCN: Unable to fetch set of candidate checkpoints, trying again...

Your environment

14.1 in same environment is OK with the same back end
15.1 in same environment is OK using the back-end directly (non-neutrino)
All systems Ubuntu
btcd was 20, upgraded to 22 for Taproot

Additional Repro Testing Performed

Initialized a clean 14.3 instance, allowed it to fully sync, then upgraded to 15.1 and the issue did not occur. (Windows)
Initialized a clean 13.3 instance, allowed it to fully sync, then upgraded to 15.1 and the issue did not occur. (Windows)

Steps to reproduce
Unsure given the additional testing above, understood this may be an unreproducible edgecase involving real world node having pre-existing channels or having persisted through past upgrades.
Potential solutions welcome to salvage this node.

If this still happens during restart, can you turn on debug logging

here's the debug level output
2022-09-27 09:55:27.976 [DBG] BTCN: Attempting to connect to <IP_ADDRESS>:8333 (reqid 1)
2022-09-27 09:55:28.014 [DBG] BTCN: Connected to <IP_ADDRESS>:8333 (reqid 1)
2022-09-27 09:55:28.015 [DBG] BTCN: Sending version (agent /btcwire:0.5.0/neutrino:0.12.0-beta/, pver 70016, block 754806) to <IP_ADDRESS>:8333 (outbound)
2022-09-27 09:55:28.061 [DBG] BTCN: Received version (agent /btcwire:0.5.0/btcd:0.22.0/, pver 70013, block 755920) from <IP_ADDRESS>:8333 (outbound)
2022-09-27 09:55:28.061 [DBG] BTCN: Negotiated protocol version 70013 for peer <IP_ADDRESS>:8333 (outbound)
2022-09-27 09:55:28.061 [DBG] BTCN: Sending verack to <IP_ADDRESS>:8333 (outbound)
2022-09-27 09:55:28.061 [DBG] BTCN: Received verack from <IP_ADDRESS>:8333 (outbound)
2022-09-27 09:55:28.061 [DBG] BTCN: Connected to <IP_ADDRESS>:8333
2022-09-27 09:55:28.062 [DBG] BTCN: New peer <IP_ADDRESS>:8333 (outbound)
2022-09-27 09:55:28.062 [DBG] BTCN: Starting worker for peer <IP_ADDRESS>:8333
2022-09-27 09:55:28.062 [INF] BTCN: New valid peer <IP_ADDRESS>:8333 (outbound) (/btcwire:0.5.0/btcd:0.22.0/)
2022-09-27 09:55:28.062 [INF] BTCN: Syncing to block height 755920 from peer <IP_ADDRESS>:8333
2022-09-27 09:55:28.062 [INF] BTCN: Fetching set of headers from tip (height=754806) from peer <IP_ADDRESS>:8333
2022-09-27 09:55:28.062 [DBG] BTCN: Sending getheaders (locator<PHONE_NUMBER>00000000029121232035c4dfdb22e9d7414ba1aa79a45972de1b59, stop<PHONE_NUMBER>000000000000000000000000000000000000000000000000000000) to <IP_ADDRESS>:8333 (outbound)
2022-09-27 09:55:28.194 [DBG] BTCN: Received headers (num 1114) from <IP_ADDRESS>:8333 (outbound)
2022-09-27 09:55:28.194 [WRN] BTCN: Header doesn't pass sanity check: block target difficulty of<PHONE_NUMBER>0000000008c8940000000000000000000000000000000000000000 is higher than max of<PHONE_NUMBER>000000000000000000000000000000000000000000000000000000 -- disconnecting peer
2022-09-27 09:55:28.194 [DBG] BTCN: Peer <IP_ADDRESS>:8333 for worker disconnected
2022-09-27 09:55:28.195 [INF] BTCN: Lost peer <IP_ADDRESS>:8333 (outbound)
2022-09-27 09:55:28.195 [WRN] BTCN: No sync peer candidates available
2022-09-27 09:55:28.195 [DBG] BTCN: Removed peer <IP_ADDRESS>:8333 (outbound)
2022-09-27 09:55:28.195 [DBG] BTCN: Disconnected from <IP_ADDRESS>:8333 (reqid 1)
2022-09-27 09:55:28.195 [DBG] BTCN: Reconnecting to <IP_ADDRESS>:8333 (reqid 1)
2022-09-27 09:55:28.195 [DBG] BTCN: Retrying connection to <IP_ADDRESS>:8333 (reqid 1) in 5s
2022-09-27 09:55:28.650 [DBG] BTCN: Getting filter checkpoints up to height=754806, hash=2e6f0fbab16d61f5ebfbe5444d97e87108ac55d0c902edf153173f8a2d2cfb2e
2022-09-27 09:55:28.650 [WRN] BTCN: Unable to fetch set of candidate checkpoints, trying again...
2022-09-27 09:55:31.651 [DBG] BTCN: Getting filter checkpoints up to height=754806, hash=2e6f0fbab16d61f5ebfbe5444d97e87108ac55d0c902edf153173f8a2d2cfb2e
2022-09-27 09:55:31.651 [WRN] BTCN: Unable to fetch set of candidate checkpoints, trying again...

 It'd just be adding debug logging

Seems it's likely related to needing btcd 23.1 which is a challenge, will confirm once I can be sure.

Unfortunately upgrading btcd didn't resolve this...
Would be happy to dig with debug code

Thanks for this report! We think we know what's going on here, but want to double check (the diff @Crypt-iQ) should help with that.
Once we get this extra debug information, you should just be able to remove the flat file of headers on disk and have things start back up again.

Here's a branch that builds off of v0.14.2 neutrino (which v0.15.1 lnd uses) and adds debug logging: https://github.com/Crypt-iQ/neutrino/commit/bb9c5c8a4651a8adab0604504d48ac3a2d911c4a
You'll have to check the branch out locally. Then you'll need to apply (or copy) the following diff to your lnd v0.15.1 go.mod file to make it point to your neutrino directory:
diff --git a/go.mod b/go.mod
index 79c7fdd46..98c82590e 100644
--- a/go.mod
+++ b/go.mod
@@ -167,6 +167,8 @@ replace github.com/ulikunitz/xz => github.com/ulikunitz/xz v0.5.8
 // https://deps.dev/advisory/OSV/GO-2021-0053?from=%2Fgo%2Fgithub.com%252Fgogo%252Fprotobuf%2Fv1.3.1
 replace github.com/gogo/protobuf => github.com/gogo/protobuf v1.3.2

+replace github.com/lightninglabs/neutrino => /path/to/neutrino/here
+
 // If you change this please also update .github/pull_request_template.md and
 // docs/INSTALL.md.
 go 1.17

Then build lnd via make && make install and you should be able to get the new neutrino debug logs when you start up.

a little lost here @Crypt-iQ, possible to drop a binary?

It would be easier for me to help you debug the build errors - which ones do you get?

maybe just the mod file? @Crypt-iQ
capdog@omen:~/lnd_r$ make && make install
lnwire/lnwire.go:17:2: missing go.sum entry for module providing package github.com/lightningnetwork/lnd/tor (imported by github.com/lightningnetwork/lnd); to add:
        go get github.com/lightningnetwork/lnd
 Building debug lnd and lncli.
go build -v -tags="dev" -o lnd-debug -gcflags "all=-N -l" -ldflags " -X github.com/lightningnetwork/lnd/build.Commit=tor/v1.1.0-49-g4b2edc477-dirty -X github.com/lightningnetwork/lnd/build.CommitHash=4b2edc4777f5c6fdc1c0dfd12fe4d8c7048a0825 -X github.com/lightningnetwork/lnd/build.GoVersion=go1.18.1 -X github.com/lightningnetwork/lnd/build.RawTags=dev" github.com/lightningnetwork/lnd/cmd/lnd
lnwire/lnwire.go:17:2: missing go.sum entry for module providing package github.com/lightningnetwork/lnd/tor (imported by github.com/lightningnetwork/lnd); to add:
        go get github.com/lightningnetwork/lnd
make: *** [Makefile:116: build] Error 1

First you want to make sure you have the neutrino patch checked out:
$ cd /path/to/neutrino
$ git remote add eugene https://github.com/Crypt-iQ/neutrino.git
$ git fetch eugene
$ git checkout eugene/v0.14.2_header_patch

Your build errors tell me that it's building off of lnd master, we want to build off 0.15.1-beta. To do that:
$ git fetch --all --tags --prune
$ git checkout v0.15.1-beta
<modify go mod file>
$ make && make install

Using the right tag fixed it, ty @Crypt-iQ ...
Here's the resultant LND.log: https://gist.github.com/capitalistdog/bbda543c29b6712c8c529144a196f77d

I did have the filesystem go read-only recently due to a runaway log, this node doesn't run that often so I hadn't considered it might have been up at the time.

Once we get this extra debug information, you should just be able to remove the flat file of headers on disk and have things start back up again.

Would it be block_headers.bin I'd nuke to "reset" it?

Once we get this extra debug information, you should just be able to remove the flat file of headers on disk and have things start back up again.

Would it be block_headers.bin I'd nuke to "reset" it?

started and running fine after wiping neutrino.db, block_headers.bin and reg_filter_headers.bin
thank you gents


[feature request] pouch [ps|containers list API] with filter functionality

Ⅰ. Issue Description
For now, the pouch list containers API doesn't support filter function. It's very useful for the monitor or schedule system. PouchContainer has the following requirements:

[ ] id - Container’s ID
[ ] name - Container’s
[ ] status - One of created, restarting, running, removing, paused, exited, or dead
[ ] label - An arbitrary string representing either a key or a key-value pair.

For example, we can use the following command to filter container by id:
pouch ps --filter id=fcd6279d2069

Ⅱ. Describe what happened
Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)

Ⅴ. Anything else we need to know?
Ⅵ. Environment:

pouch version (use pouch version):
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

filter according to label name and value is another requirment, moby only support filter by label euqals, we need filter by label doesn't equal.
eg:
pouch ps --filter "label=color!=blue"

Already support the follow:

id - Container’s ID
name - Container’s
status - One of created, restarting, running, removing, paused, exited, or dead
label - An arbitrary string representing either a key or a key-value pair.

also support unequal condition, like pouch ps --filter "label=color!=blue"


Modernize / strip dead code (a little bit) from AppDelegate.m.

This is the result of searching #3116 for (1) clearly useful things that (2) haven't grown stale.
It's possible that we may have more to do before we start using Swift in our iOS code, but we should probably address that closer to the point where it becomes necessary, to avoid the risk of writing something that'll just go stale and need to be changed in the future.

Thanks for the review!

[…] LGTM, assuming you've tested on-device.

I have, so I'll merge.


Add custom styling and interactions for mentions, hashtags, and URLs

#closes #53
#closes #42
https://github.com/jonataslaw/readmore/assets/8436039/f821568d-69ee-4ad3-a074-b5607b4ca463
https://github.com/jonataslaw/readmore/assets/8436039/3c7fc530-e550-4636-8de7-367cfe6ba9bd
Summary
This pull request introduces the ability to apply custom styling and define tap actions for special text elements such as mentions, hashtags, and URLs within the ReadMoreText widget. By leveraging a flexible annotation system, developers can now enhance the interactivity and visual appeal of text content, providing a richer user experience.
Features

Custom Styling and Tap Actions: Developers can specify custom styles and tap actions for different types of text patterns. This is achieved through a new annotations parameter in ReadMoreText, which accepts a list of Annotation objects. Each Annotation object contains a regular expression to match specific text patterns and a builder function to customize the resulting TextSpan.
Enhanced User Interaction: This feature enables interactive text elements within the ReadMoreText widget, allowing users to tap on mentions, hashtags, and URLs to perform actions like navigating to a user profile or displaying related content.
Flexible Text Transformations: The system supports transforming matched text patterns into more readable forms (e.g., converting <@userId> to a user's name) while retaining custom styles and interactions.
Note: this PR also includes the ability to control isCollapsed programmatically.

Implementation Details

Introduced a new Annotation class to represent each customizable text pattern. This class includes a RegExp for pattern matching and a TextSpan Function for styling and interaction definition.
Extended the ReadMoreText widget to accept an optional annotations parameter, enabling the application of the defined Annotation objects to the widget's text content.
Implemented logic in ReadMoreTextState to apply the specified annotations to the text, transforming matches based on the provided RegExp and builder function within each Annotation.

Example Usage
ReadMoreText(
  'This is a sample text with a #hashtag, a mention <@123>, and a URL: https://example.com.',
  annotations: [
    Annotation(
      regExp: RegExp(r'<@(\d+)>'),
      spanBuilder: ({required String text, TextStyle? textStyle}) => TextSpan(
        text: 'User123',
        style: textStyle?.copyWith(color: Colors.blue),
        recognizer: TapGestureRecognizer()..onTap = () { /* Navigate to user profile */ },
      ),
    ),
    // Additional annotations for hashtags and URLs...
  ],
)

It is awesome!!!
Thank you for your contribution!

Should I update the changelog?
There are some breaking changes:

Flutter 2.0 -> 3.0 (textScaleFactor has been replaced with textScaler)
Removed: callback has been replaced by the isCollapsed controller
Removed (but never released): onLinkPressed and linkTextStyle

That would be amazing!
I will upload the new version to pub.dev today
Thanks for your effort

I think there aren't any breaking changes:

textScaleFactor can still be used but is marked with @Deprecated.
callback can still be called but is also marked as deprecated.

Soon I will update PR

LGTM

I am going to push one more commit to update the README, Changelog, and the flagship video. The code is ok which was merged.


Add Nong Song: Stickerbrush Symphony by David Wise

Song Name
Stickerbrush Symphony
Artist Name
David Wise
Source
Youtube
Youtube Link
https://youtu.be/lndBgOrTWxo?si=WTHuO87vWAMJVjsl
Direct File Link
No response
Song ID
452513
Start Offset [ms]
No response
Extra
No response

Thank you!
Op za 10 aug 2024 15:31 schreef auto-nong[bot] @.***>:

Thanks for contributing!
Someone will soon review your request.
Here is the JSON result for the reviewer:
{
"name": "Stickerbrush Symphony",
"artist": "David Wise",
"source": "youtube",
"startOffset": 0,
"yt-id": "lndBgOrTWxo",
"songs": [
452513
]
}
To accept the request, a reviewer needs to write "accept".
—
Reply to this email directly, view it on GitHub
https://github.com/FlafyDev/auto-nong-indexes/issues/2641#issuecomment-2281782118,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BDQQM5IP2FYUJOKRDMGGN7TZQYI2FAVCNFSM6AAAAABMJ265N6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBRG44DEMJRHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

accept

LETS GOOOO
Op di 27 aug 2024 21:21 schreef auto-nong[bot] @.***>:

Added Stickerbrush Symphony to Auto Nong ✨
—
Reply to this email directly, view it on GitHub
https://github.com/FlafyDev/auto-nong-indexes/issues/2641#issuecomment-2313335475,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BDQQM5O4M7S7KWQ3OYMJNFTZTTGTTAVCNFSM6AAAAABMJ265N6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJTGMZTKNBXGU
.
You are receiving this because you authored the thread.Message ID:
@.***>


Can i use RTDB stream Callback when using ESPNOW?

i have tried the stream callback with the example and it works, but when i use it in my project (that has the ESPnow callback) doesnt work, it just dont trigger the function (but it can still read/write from the database, just i can make it work with the callback). What can i do to cover both functions?
PD: It doesnt give any errors, just the function isnt triggered. Im not posting code, because is huge.

I don't know.
You should debug it yourself.
You can use ping to check internet status.

i made the question to ask if there can be some issues to have both functions at the same time, both are callback and both are in background working, so maybe they cannot work at the same time, that should explain why it works when the stream callback is alone.

In ESP8266, the stream will be processed repeatedly in schedule functions then it should not have conflicts with others.
I can be memory issue.
You can use Firebase.runStream(); in loop to execute all stream tasks manually. The result will send to the Stream callback functions.
https://github.com/mobizt/Firebase-ESP8266/blob/ca5a18a7ce461c59e3fe23f52ca8a61018ea630c/examples/DataChangesListener/Callback/Callback.ino#L196

ok i solved it! it was a payload size issue, thanks you so much. I have other question, sorry for being annoying, sometimes the token generation says something like "Token error: code: -135, message: NTP server time synching failed", how can i retry until i get token status = ready by code? i would like to avoid the system to continue working until the token part is ready, otherwise maybe restart the ESP to try again

When server or root certificate was assigned (in ESP8266 only) or the auth method is access or custom token, library required valid time for certificate validation and jwt token signing.
If time was not set or synch when Firebase.begin was called, library will get the time from NTP server.   This process may fail and reports the error for let you know what's going on. The library will try to send new request to NTP sever every 10 seconds when no response from NTP server.
The Firebase.ready() reurns false during this. You can set your device time using configTime function and wait until your device time was set before calling Firebase.begin then the internal time synching process will be ignored.


Convert a test for UDPNet to AUTest from TestBox

This is another approach of tests of #2150 using AUTest.

[approve ci autest]

[approve ci autest]

[approve ci autest]

Where is the code for proxy/traffic_udp_echo_server? Is it already in the build?

a) Code for traffic_udp_echo_server
The source code is iocore/net/test_I_UDPNet.cc. I should rename and move to somewhere.
b) Install traffic_udp_echo_server
To be honest, I don't want to install this program. Can TSQA test binaries not installed in bin directory?

if it would be better to have it in tests/tools and have some code in our setup build the binary as part of a setup of a test of as part of the setup of all the tests

What do you mean by setup build? Is that same way to build ssl-post.c in TLS tests?

What
What do you mean by setup build? Is that same way to build ssl-post.c in TLS tests?
Yes and no. In the case of ssl-post.c it make plugin that is then used in an instance of a ATS server. What I am suggesting here is that:

we copy and build the test_I_UDPNet.cc as some TestRun() code. We can make an extension to redo these steps easily for each test.

OR as Part of the start code we see if we already built this binary and if not, we rebuild it to be used in the tests

is easiest to do. 2) might need some tweaks in the core to allow us to share and reuse a process object. I think at first we should move the code and give it a better name under test/tools.

we might want to have some that would build test_I_UDPNet.cc

[approve ci autest]


Revisit _ensure_trailing_slash

It looks like _ensure_trailing_slash needs some ore work
TimeoutError: Attempted to set EpicsSignalWithRBV(read_pv='XF:28ID1-ES{Det:PE1}TIFF1:FilePath_RBV', name='pe1c_tiff_file_path', parent='pe1c_tiff', value='Z:\\data\\pe1_data\\2020\\08\\24\\\\', timestamp=1598287423.669508, auto_monitor=False, string=True, write_pv='XF:28ID1-ES{Det:PE1}TIFF1:FilePath', limits=False, put_complete=False) to value 'Z:\\data\\pe1_data\\2020\\08\\24\\/' and timed out after 10 seconds. Current value is 'Z:\\data\\pe1_data\\2020\\08\\24\\\\'.
See /home/xf28id1/.cache/bluesky/log/bluesky.log for the full traceback.

Full traceback:

In [1]: xrun(0,1)
INFO:bluesky:Executing plan <generator object msg_mutator at 0x7fefb85bf250>
INFO:bluesky.RE.state:Change state on <xpdacq.xpdacq.CustomizedRunEngine object at 0x7fefe65a6090> from 'idle' -> 'running'
INFO: requested exposure time = 0.1 - > computed exposure time= 0.1
ERROR:bluesky:Run aborted
Traceback (most recent call last):
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/bluesky/run_engine.py", line 1342, in _run
    stashed_exception or resp)
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/bluesky/preprocessors.py", line 245, in msg_mutator
    ret = yield msg
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/bluesky/run_engine.py", line 1425, in _run
    new_response = await coro(msg)
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/bluesky/run_engine.py", line 2168, in _stage
    result = obj.stage()
  File "/home/xf28id1/.ipython/profile_collection/startup/80-areadetector.py", line 284, in stage
    super().stage()
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/ophyd/areadetector/base.py", line 289, in stage
    ret = super().stage(*args, **kwargs)
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/ophyd/device.py", line 559, in stage
    device.stage()
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/ophyd/areadetector/plugins.py", line 132, in stage
    super().stage()
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/ophyd/areadetector/base.py", line 289, in stage
    ret = super().stage(*args, **kwargs)
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/ophyd/areadetector/filestore_mixins.py", line 626, in stage
    super().stage()
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/ophyd/areadetector/filestore_mixins.py", line 453, in stage
    set_and_wait(self.file_path, write_path)
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/ophyd/utils/epics_pvs.py", line 267, in set_and_wait
    (signal, val, timeout, current_value))
TimeoutError: Attempted to set EpicsSignalWithRBV(read_pv='XF:28ID1-ES{Det:PE1}TIFF1:FilePath_RBV', name='pe1c_tiff_file_path', parent='pe1c_tiff', value='Z:\\data\\pe1_data\\2020\\08\\24\\\\', timestamp=1598287423.669508, auto_monitor=False, string=True, write_pv='XF:28ID1-ES{Det:PE1}TIFF1:FilePath', limits=False, put_complete=False) to value 'Z:\\data\\pe1_data\\2020\\08\\24\\/' and timed out after 10 seconds. Current value is 'Z:\\data\\pe1_data\\2020\\08\\24\\\\'.
INFO:bluesky.RE.state:Change state on <xpdacq.xpdacq.CustomizedRunEngine object at 0x7fefe65a6090> from 'running' -> 'idle'
An exception has occurred, use '%tb verbose' to see the full traceback.
TimeoutError: Attempted to set EpicsSignalWithRBV(read_pv='XF:28ID1-ES{Det:PE1}TIFF1:FilePath_RBV', name='pe1c_tiff_file_path', parent='pe1c_tiff', value='Z:\\data\\pe1_data\\2020\\08\\24\\\\', timestamp=1598287423.669508, auto_monitor=False, string=True, write_pv='XF:28ID1-ES{Det:PE1}TIFF1:FilePath', limits=False, put_complete=False) to value 'Z:\\data\\pe1_data\\2020\\08\\24\\/' and timed out after 10 seconds. Current value is 'Z:\\data\\pe1_data\\2020\\08\\24\\\\'.

ERROR:nslsii.ipython:Attempted to set EpicsSignalWithRBV(read_pv='XF:28ID1-ES{Det:PE1}TIFF1:FilePath_RBV', name='pe1c_tiff_file_path', parent='pe1c_tiff', value='Z:\\data\\pe1_data\\2020\\08\\24\\\\', timestamp=1598287423.669508, auto_monitor=False, string=True, write_pv='XF:28ID1-ES{Det:PE1}TIFF1:FilePath', limits=False, put_complete=False) to value 'Z:\\data\\pe1_data\\2020\\08\\24\\/' and timed out after 10 seconds. Current value is 'Z:\\data\\pe1_data\\2020\\08\\24\\\\'.
Traceback (most recent call last):
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/IPython/core/interactiveshell.py", line 3417, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-1-38895619ba44>", line 1, in <module>
    xrun(0,1)
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/xpdacq/xpdacq.py", line 775, in __call__
    return super().__call__(plan, subs, **metadata_kw)
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/bluesky/run_engine.py", line 807, in __call__
    self._resume_task(init_func=_build_task)
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/bluesky/run_engine.py", line 931, in _resume_task
    raise exc
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/bluesky/run_engine.py", line 1500, in _run
    raise err
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/bluesky/run_engine.py", line 1342, in _run
    stashed_exception or resp)
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/bluesky/preprocessors.py", line 245, in msg_mutator
    ret = yield msg
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/bluesky/run_engine.py", line 1425, in _run
    new_response = await coro(msg)
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/bluesky/run_engine.py", line 2168, in _stage
    result = obj.stage()
  File "/home/xf28id1/.ipython/profile_collection/startup/80-areadetector.py", line 284, in stage
    super().stage()
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/ophyd/areadetector/base.py", line 289, in stage
    ret = super().stage(*args, **kwargs)
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/ophyd/device.py", line 559, in stage
    device.stage()
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/ophyd/areadetector/plugins.py", line 132, in stage
    super().stage()
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/ophyd/areadetector/base.py", line 289, in stage
    ret = super().stage(*args, **kwargs)
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/ophyd/areadetector/filestore_mixins.py", line 626, in stage
    super().stage()
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/ophyd/areadetector/filestore_mixins.py", line 453, in stage
    set_and_wait(self.file_path, write_path)
  File "/opt/conda_envs/collection-2020-2.0rc7-1-xpdacq/lib/python3.7/site-packages/ophyd/utils/epics_pvs.py", line 267, in set_and_wait
    (signal, val, timeout, current_value))

https://github.com/bluesky/ophyd/pull/749

Thanks for the reminder, @klauer. Will direct DAMA effort at getting that merged now rather than enhancing this workaround.

Superseded by #749

(Which will remove this private and broken function entirely.)


Update new FE system default filters for datadog

Updates the default filter within Datadog's new FE system components to use the entity filter function used elsewhere. This means the content (cards & tab) will only appear on entities that have the relevant required annotation. Also updates the documentation to remove references to the app-config, since the FE system now auto-discovers entity content.
:heavy_check_mark: Checklist

[ ] Added tests for new functionality and regression tests for bug fixes
[X] Added changeset (run yarn changeset in the root)
[ ] Screenshots of before and after attached (for UI changes)
[X] Added or updated documentation (if applicable)

Hmm looks like the e2e test might be flaky / failing on yarn install even though that step passed before rebase & there are no packages changes in this PR. @punkle I see you doing some other work on main, any change you can retrigger the CI step here?

@alex-mckay the rerun seems to have worked?

@punkle it did! Last time I contributed I think re-runs weren't automatic/needed someone from Roadie to kick off, but either way it's sorted now. Any way you can review? Otherwise can ask @Xantier who did previous Datadog reviews - but this change is quite small

Hey @Xantier, looking for a review here whenever you have time ☺


color changes and hacks

This is a pure hack, its horribly put together because I don't have time to do it properly, but it lays the foundation for someone else to make it better.
In the cards component making a calculation based on the color passed in and from there making the text white/black would be the best solution. But we currently have a bad card component, see issue #22 .
I want this functionality on the page, but do not have time to implement it properly as of now.
As it works now, if you want to have white text on a colored background, you will have to pass in both the important flag AND the color flag. That way it uses the styling for important, and the background-color change from color.
It's a workaround and a hack, someone please pull this branch and fix the issues if you have the time.

If you disagree with the code, just leave the PR open, as we can use this to track issue #22

TBH, tror det er bedre å gjøre dette skikkelig første ganga. Ingenting er mer permanente enn midlertidige løsninger.

That's why it's a draft bby!
Mathias Bøe - Chat @ Spike	[pkk1b]
On October 2, 2020 at 19:00 GMT, Sondre Nilsen<EMAIL_ADDRESS>wrote:
TBH, tror det er bedre å gjøre dette skikkelig første ganga. Ingenting er mer permanente enn midlertidige løsninger.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

If it works, it works. Looks good to me!

Einaste problemet e at ditta har litt med integrasjonen av themes å gjere og, noke som e linka til #38, så vi må nesten gjere det skikkelig i første runde, ellers blir det drit å vidare integrere 🤷


*: remove VERSION file

We don't use it anymore and it just confuses people. Refer to ./version/version.go instead.
@lsm5 @mrunalp @rhatdan PTAL
Signed-off-by: Antonio Murdaca<EMAIL_ADDRESS>

LGTM

LGTM

Will merge when travis finishes.


Update target tractability detail view to show/hide heat maps depending on data availability

In the current Angular version of the Platform, we show or hide the tractability heat maps depending on whether the API returns data:
Data for all three modalities available (e.g. [PTGS2](https://www.targetvalidation.org/target/ENSG00000073756?view=sec:tractability))

Only data for antibody modality available (e.g. RPGRIP1L)

Only data for small molecule modality available (e.g. PALB2)

Can we please implement similar logic for the React rewrite?
If a specific modality is not available, can we please hide the heat map and instead display a note:
No small molecule tractability data for GENE-SYMBOL available
or
No antibody tractability data for GENE-SYMBOL available
or
No other modalities tractability data for GENE-SYMBOL available
Can we please replace GENE-SYMBOL with the HGNC symbol?

@andrewhercules I assume the case when all three tables (small molecule, antibody, and the other modalities) have no data is not an exception: we show the section with those three messages instead.
AFAIK hence this section becomes different from the rest of the sections that in such cases just not shown altogether

@forus, in cases where all three tables have no data (e.g. GATA3), we already hide the entire detail view and that can remain as-is - we won't change how this section behaves with no data.
The show/hide functionality noted above is only for targets where there is data for at least modality.

Here is PR: https://github.com/opentargets/platform-app/pull/147

Ticket closed as work merged into alpha


Create test to reproduce invalid characters not accepted and fix bugs

reported https://github.com/Electric-Coin-Company/zashi-ios/issues/1420 here

I have little time to work on this, but I see the problem. It's here: https://github.com/zecdev/zcash-swift-payment-uri/blob/75ca8f38b2de6f6cedf1c52744df69d07d2d2496/Sources/ZcashPaymentURI/Model.swift#L110-L111
This converts the base64url string into a base64 string just by substituting / in place of _ and + in place of -. This doesn't detect cases where the string already contained / or +, or contains = (which ZIP 321 also prohibits).


App Icons getting blur when I installed the debug builds react native.(Android only)

Hi All,
I am facing issue that when I am run my project in mobile with debug connection the app icons visible clearly. No issues in this case. But when I take debug build using ./gradlew assembleDebug after installing this apk into my mobile device the actual icons are not visible clearly. It getting blur. What is the issue here ?
Please help me on this ..
Thanks in advance.
React Native version: 0.56.0
Steps To Reproduce

Describe what you expected to happen:
Snack, code example, or link to a repository:

It's not really related to RN, but your Android setup. Please see https://developer.android.com/studio/write/image-asset-studio.


Some reference examples don't immediately show up, need to click the play button

@wagedu mentioned this in a prior comment:

Not sure if it's related but some of the Reference examples are auto-run while others need the Play button to be pressed.
ie:
https://p5js.org/reference/p5/arc/
3 first examples auto-run, next 7 don't
https://p5js.org/reference/p5/ellipse/
4 first examples auto-run, the 5th don't

Seems that the culprit is the lazyLoad property on the CodeEmbed widget: https://github.com/processing/p5.js-website/blob/974470a0c2e89f5c50e2cf9d243f47cf12a63179/src/layouts/ReferenceItemLayout.astro#L105
This hands things off to the browser and it seems like the browser isn't correctly loading them when they become visible.
It could be ok if CodeEmbed is always eager because they already don't immediately start running until they scroll into view (we have scroll detection and an `IntersectionObserver1 for this.) So maybe it's worth just relying on that?

Thanks @davepagurek. Wondering if @outofambit @stalgiag have any insights on this?

It could be ok if CodeEmbed is always eager because they already don't immediately start running until they scroll into view (we have scroll detection and an `IntersectionObserver1 for this.) So maybe it's worth just relying on that?

I agree with this. Thanks @davepagurek


M3-2890 fix: Request all entities in the Support Ticket Drawer

Description
Previously we were requesting only the first page of the selected entity type in the Support Ticket drawer. This means if you had more than 100 Linodes, for example, you'd only be able to select one of the first 100.
I also added a loading spinner to the entity Select component.
Note: This component should probably be refactored in order to get data, errors, loading, etc. from Redux. I started down that path, but turned out to be a healthy-sized refactor, especially since this is an old component that uses a lot of old patterns. This at least fixes the bug, and I've opened a ticket to do the refactoring (M3-2902).
Type of Change

Bug fix ('fix', 'repair', 'bug')

Applicable E2E Tests
None.
Note to Reviewers
Use an account with a lot of stuff, and open the Support Ticket Drawer. All of your entities should be there.

@Jskobos @martinmckenna – Good idea to use<LinodeSelect /> and <NodeBalancerSelect /> and to create the others. I made a note of it in the TDT ticket.


Exec tachikoma update<PHONE_NUMBER>2101

:hamster::hamster::hamster:   Strategy bundler
Powered by Bundle Update as a Service - Tachikoma.io Announcement: 2015-06-28 Updated permissions - Tachikoma.io

Coverage remained the same at 12.651% when pulling baaef8aeda21a48e3863750ccb5005117322e012 on pazjacket:tachikoma/update-20170531092101 into 47610d4261834e9a80732fa8bc06a06c7fa40118 on Protom512:master.

Coverage remained the same at 12.651% when pulling baaef8aeda21a48e3863750ccb5005117322e012 on pazjacket:tachikoma/update-20170531092101 into 47610d4261834e9a80732fa8bc06a06c7fa40118 on Protom512:master.

Coverage remained the same at 12.651% when pulling baaef8aeda21a48e3863750ccb5005117322e012 on pazjacket:tachikoma/update-20170531092101 into 47610d4261834e9a80732fa8bc06a06c7fa40118 on Protom512:master.


Improve build speed with uglify-webpack option.

uglifyjs-webpack has a parallel option that allows uglify to run in parallel to the main build. This results in a speed increase in the build process.
Time difference with npm run build on a fresh template with all options enabled:
Without change: 4896ms
With change: 4474ms
8.6% increase in speed.
On a project I am currently working on:
Without: 13262ms
WIth: 12576ms
5.1% increase in speed.
Others could have higher speed increases with a newer/different CPU.
CPU used: Intel i7-4712HQ
https://github.com/webpack-contrib/uglifyjs-webpack-plugin

Thanks!


onRowDelete TypeError, crashes the app

Demo
https://codesandbox.io/s/young-frog-gf3po2?file=/src/App.js
Describe the bug
When implementing editable table as described here https://material-table-core.com/demos/edit/editable, row delete crashes the app
To Reproduce
click the row delete icon, click yes
Expected behavior
row should be deleted as expected
Screenshots

Adding to the above, when editing a row without any change (= clicking the edit icon, but not actually changing anything) same issue occur and the app crashes. See above codesandbox to reproduce.

Hi, this should be fixed with the next release. Thanks


Multiple Sites in IIS 8.5 with mixed frameworks, running on port 80

Hello,
I also asked this question here: https://serverfault.com/q/900811/161144
I have read many, many things trying to solve this problem and I feel hopeless at this point... please help! I have a Win 2012 server running on my VM in Azure. For over a year, I've had 2 DotNet Core 1.X sites running, as well as 2 PHP sites running, quite nicely as separate Websites in IIS all bound to port 80, with a Host for each of them, like app.mydomain.com and api.mydomain.com. Recently, I've updated my site to DotNet Core 2. I installed the version 2 Windows Hosting package and now my Core 2.0 Site starts fine, but neither the 1.0 or the PHP sites are able to start with a message:
The process cannot access the file because it is being used by another process.
I've trying doing all of the NET... commands to see which process is running on port 80 (Of course I have Process ID: 4) which I believe I tracked down to be World Wide Web Publishing Service. Of course, I can't just stop that service because IIS needs that service to be running in order to start itself. So I'm stuck it seems and am feeling very frustrated right now, hopefully someone can help.

Please list your current IIS bindings for each site.
Also, what does your Program.Main look like for your Core2 site?

Hey Tratcher, thanks for the reply:
Program.Main:
       public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();
        }

See image for bindings:

There's nothing here that would indicate a .NET Core specific problem, these are all generic IIS binding configurations. @shirhatti any suggestions?

So... on a hunch, I removed my SSL binding and that allowed me to run those apps! That's progress, but what if I need SSL?

Sounds like an SNI issue. @shirhatti are there any special steps for configuring SNI?

@Serjster I don't follow where you're seeing this message "The process cannot access the file because it is being used by another process." Is that in the eventlog? If so, can you share the provider name and event id as well.
Also, can you share the output of running Get-WebBinding in a powershell prompt? As a sanity check I want to ensure your sslFlags are correctly set.

I am seeing this message as soon as hit Start for the site:

Get-WebBinding:

SSL Site Binding:

I also noticed that my certificate is expired. Would that cause this problem?

nm, made a new unexpired Cert and it is still giving me that error.

I have a hypothesis that SSL is just a red herring here. It is simply the fact that something else is already bound to port 443. Try creating an HTTPS binding with a different port number.
See https://support.microsoft.com/en-us/help/973094/error-0x80070020-when-you-try-to-start-a-web-site-in-iis-7-0

Yep, that did work with port 444 using that link, using this command netstat -aon | find ":443" I saw that my VPN software was also running on that port. Thanks for your help. Now I need to figure out how to get VPN working on a diffrnet port... and also strange, how did it work before I made the upgrades?

We periodically close 'discussion' issues that have not been updated in a long period of time.
We apologize if this causes any inconvenience. We ask that if you are still encountering an issue, please log a new issue with updated information and we will investigate.


Add blog.ny4.dev to users

Thanks for using Congo, @Guanran928! I'll merge this change in and your site will appear on the public list when the next theme release is published.

Thanks!


Support FontFamily from a ttc font

Currently, we can only create a FontFamily by passing multiple Font instances.
However, it's difficult to extract individual font data and create Font instances because of the complexity of the ttc file structure.
I tried the TypeFace way as well, but it doesn't work because of

SkiaTypeface.makeFromFile fails when index > 0
We don't have APIs to merge typefaces into a font family

var index = 0
val typefaces = mutableListOf<TypeFace>()
// using org.apache.fontbox.ttf.TrueTypeCollection to parse the ttc
ttc.processAllFonts { font ->
    val skiaTypeface = SkiaTypeface.makeFromFile(fontFile.absolutePath, index) // when index > 0, gets error
    val typeface = TypeFace(skiaTypeface)
    typefaces.add(typeface)
    index++
}

val fontFamily = FontFamily(typefaces) // we don't have such API

So we would have to ask users to convert the ttc fonts they want to use into ttf/otf files, which is inconvenient.
Would we have a chance to support this?

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Atlasnet Missing?

Hi,
I can't find your Atlasnet implementation. Could you point me to it ?
Thanks!
Lucas

Hi,
I could try making a PR with some guidance from @Jean-Francois-Lafleche ?
Best
Thibault

Hi @pclucas14, we have had AtlasNet on our roadmap for a while but unfortunately our attention has been taken away by other priorities. @ThibaultGROUEIX your help would be hugely appreciated, thank you for offering!
Please contact me at<EMAIL_ADDRESS>and I'll be more than happy to offer any assistance I can!
Thank you both for your interest in Kaolin! (And @pclucas14 I really apologize for the delay in getting back to you. Thanks for bringing to our attention the discrepancy with our README).

Hi,
Thanks for getting back to me. I’ll leave the issue open as a gentle reminder :)
Cheers,
Lucas

Following v0.9.0 project restructuring, Kaolin no longer provides model training code or baselines, but rather a set of modular functions to support DL research. Thanks for your suggestion.


Performant way to read context about blacklist, whitelist or keywords

We currently have a few features like:

Blacklist: Accounts or context not to be tweeted or parsed by naWab.
Whitelist: Accounts or context which are always monitored by naWab and most of their tweets are scraped by naWab.
Keywords: We currently iterate through the list of keywords we have specific to networks that we scrap. This was done in order to generalise naWab as a scrapping tool and be used for not only network-related context but for any context.

Currently, all these are written and stored in a .txt file. We need to investigate what another sort of ways is better than to always open a file and reading the txt file for processing?
One option for us is to, use a pandas data frame to tabularise all the data and store all these into a single CSV or any other. The computation is done within the code utilising the data frame initialised once in the code is better than opening and reading a txt while throughout the process.
Is there a better way to tackle this?

As discussed,
One way to process this is using pandas, https://www.datacamp.com/community/tutorials/pandas-tutorial-dataframe-python. Pandas might be useful, if we scale to an extent with large precise amount of data to process.
Secondly, there is a module called pickle, not sure how things are done exactly with it. But might be worth taking a look at it.
Last, we can see if there is a way to handle this in normal sql based database.
Any other viable options we have?

Fixed with #10


Fi 3007 - subscription validation

Summary

Added a method to subscription_conformance_test.rb to test if the Provided URL in subscription.criteria is a valid URL and fail the test if it is not.

Testing Guidance

Run all rake tasks to confirm they work.
Run tests suite, confirmed working.

Add Requirement 73 to the verifies_requirements list for the test.


How to set default position?

When I init the slider it defaults to showing a slice of data from the middle.
How can I decide with which data the slider initializes?

set the start and end when you create the slider instance.
        var slider = new Slider({
          domId: 'slider',
          height: 30,
          charts: [chart, chart1],
          xDim: 'time',
          yDim: 'max',
          start: '2015-05-19', // source value
          end: '2015-07-28'
        });

Thanks! :) It worked.


Fix spellings

Spelling errors in 03_data_pipeline.ipynb fixed as part of this PR

You are faster again! :+1:

The joy of merging notebooks. Thanks both for the typo corrections!


fix: revise format in feature.yml file

For an example of how to fill this template out, see this Pull Request in the Wiki.
Description
This PR does the following:

Name: Changed from 💡 Feature Request to Feature Request 💡. This makes the name more descriptive and easier to find in a list of issues.
Description: Changed from Have a new idea/feature to suggest? to Have any new idea or new feature? Share your suggestion with us! :)' This makes the description more engaging and inviting.
Labels: Added the enhancement and priority: high labels. This helps to classify the issue and indicate that it is important.
Body:
Added a Screenshots section. This allows contributors to provide screenshots if they are relevant to the issue.
Added a Checklist section. This helps to ensure that contributors have read the contributing guidelines and checked for duplicate issues.
Added a no-duplicate-issues checkbox. This makes it easier for contributors to indicate that they have checked for duplicate issues.
Changed the extrainfo section to be optional. This reduces the burden on contributors and makes it more likely that they will submit feature requests.

Fixes Issue
Closes #52

Acceptance Criteria

[x] Update the content in the feature.yml file
[x] If uncertain, compare with the two yml files which are working (bug.yml, other.yml)

Type of Changes

Make sure your code follows the code style of this project.
Make sure your code is up2date.
The title of the PR is the same as the title of the issue.

Type

x
:bug: Bug fix

:sparkles: New feature

:hammer: Refactoring

:100: Add tests

:link: Update dependencies

:scroll: Docs

Updates
Before

After

Testing Steps / QA Criteria
Check the Preview option

Hi @YuriDevAT. I made the PR :)

Thanks for your contribution 🥳


chore: 🤖 remove duplicate ts configurations and instead extend

tsconfigs can extend from each other
Now if one is updated, the others also will be updated (if need be) based off changes from the root tsconfig

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Hmmm
I can fix the prettier issues
That's why it's better for it to be auto fixed on pre-commit for the most part...


Prevent show calendar by day when click on day number on month view

How can I prevent show calendar by day when click on day number on month view? I only want the feature that display on a box all events under the calendar on month view. If I click on enmpty space in calendar day, I see the bow with all events on the same month view, but if I clicked in the number of day, I go to the day view and I want to prevent this.
I am aplying this feature to mobile calendar and I can write a separate CSS for this showcase after.

This is the option you want:
https://github.com/mattlewis92/angular-bootstrap-calendar#on-drill-down-click
So in your controller define something like:
vm.onDrilldownClick = function() {
  return false;
};

and then pass it to the calendar like so:
<mwl-calendar on-drilldown-click="vm.onDrilldownClick()"></mwl-calendar>

Hope this helps :smiley:

I'm writing this for ionic. I write in the view:

And in the controller:
$scope.onDrilldownClick = function() {
console.log("maldito numero");
return false;
};
But it doesn't works

Hi, I read the source code and find that  is
The problem is done.
Many thanks, this calendar is a great help for me.


Object of type map has no length

$ python manage.py runserver
Traceback (most recent call last):
File "manage.py", line 26, in
execute_from_command_line(sys.argv)
File "/Users/kyle/projects/speakers/env/lib/python3.4/site-packages/django/core/management/init.py", line 338, in execute_from_command_line
utility.execute()
File "/Users/kyle/projects/speakers/env/lib/python3.4/site-packages/django/core/management/init.py", line 312, in execute
django.setup()
File "/Users/kyle/projects/speakers/env/lib/python3.4/site-packages/django/init.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Users/kyle/projects/speakers/env/lib/python3.4/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
File "/Users/kyle/projects/speakers/env/lib/python3.4/site-packages/django/apps/config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
File "/Users/kyle/projects/speakers/env/lib/python3.4/importlib/init.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 2254, in _gcd_import
File "", line 2237, in _find_and_load
File "", line 2226, in _find_and_load_unlocked
File "", line 1200, in _load_unlocked
File "", line 1129, in _exec
File "", line 1471, in exec_module
File "", line 321, in _call_with_frames_removed
File "/Users/kyle/projects/speakers/env/lib/python3.4/site-packages/social/apps/django_app/default/models.py", line 9, in
from social.storage.django_orm import DjangoUserMixin,
File "/Users/kyle/projects/speakers/env/lib/python3.4/site-packages/social/storage/django_orm.py", line 5, in
from social.storage.base import UserMixin, AssociationMixin, NonceMixin,
File "/Users/kyle/projects/speakers/env/lib/python3.4/site-packages/social/storage/base.py", line 12, in
from openid.association import Association as OpenIdAssociation
File "/Users/kyle/projects/speakers/env/lib/python3.4/site-packages/openid/init.py", line 52, in
if len(version_info) != 3:
TypeError: object of type 'map' has no len()
Python 3.4
PSA 0.2.10

I have a same error.
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f35fcbbbd90>
Traceback (most recent call last):
File "/home/christian-ojt/.virtualenvs/probe/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
  fn(*args, **kwargs)
File "/home/christian-ojt/.virtualenvs/probe/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 113, in inner_run
  autoreload.raise_last_exception()
File "/home/christian-ojt/.virtualenvs/probe/lib/python3.6/site-packages/django/utils/autoreload.py", line 248, in raise_last_exception
  raise _exception[1]
File "/home/christian-ojt/.virtualenvs/probe/lib/python3.6/site-packages/django/core/management/__init__.py", line 327, in execute
  autoreload.check_errors(django.setup)()
File "/home/christian-ojt/.virtualenvs/probe/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
  fn(*args, **kwargs)
File "/home/christian-ojt/.virtualenvs/probe/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
  apps.populate(settings.INSTALLED_APPS)
File "/home/christian-ojt/.virtualenvs/probe/lib/python3.6/site-packages/django/apps/registry.py", line 112, in populate
  app_config.import_models()
File "/home/christian-ojt/.virtualenvs/probe/lib/python3.6/site-packages/django/apps/config.py", line 198, in import_models
  self.models_module = import_module(models_module_name)
File "/home/christian-ojt/.virtualenvs/probe/lib/python3.6/importlib/__init__.py", line 126, in import_module
  return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/christian-ojt/.virtualenvs/probe/lib/python3.6/site-packages/social_django/models.py", line 10, in <module>
  from .storage import DjangoUserMixin, DjangoAssociationMixin, \
File "/home/christian-ojt/.virtualenvs/probe/lib/python3.6/site-packages/social_django/storage.py", line 8, in <module>
  from social_core.storage import UserMixin, AssociationMixin, NonceMixin, \
File "/home/christian-ojt/.virtualenvs/probe/lib/python3.6/site-packages/social_core/storage.py", line 12, in <module>
  from openid.association import Association as OpenIdAssociation
File "/home/christian-ojt/.virtualenvs/probe/lib/python3.6/site-packages/openid/__init__.py", line 52, in <module>
  if len(version_info) != 3:
TypeError: object of type 'map' has no len()


1.20.1 forge 47.2.20

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Hi, is there any way we could get a version of sponge thats compatible with 1.20.1 forge, specifically forge-47.2.20

Sponge is a generic development framework, and it's unlikely to customize a version for forge 1.20.1. You can customize your own framework based on sponge.


Assert that tests are run in the crate directory

To avoid regressions to the test runtime directory, this asserts that
all test types (unit, integration, doctest) are executed in the crate
(manifest) directory, no matter where that crate is in relation to the
workspace root.
See #8992 / #8993

r? @ehuss
(rust-highfive has picked a reviewer for you, use r? to override)

r? @ehuss
(rust-highfive has picked a reviewer for you, use r? to override)

@bors: r+
Thanks! Seems reasonable to have a canary so we know when something breaks, even if we do end up changing it at some point.

@bors: r+
Thanks! Seems reasonable to have a canary so we know when something breaks, even if we do end up changing it at some point.

:pushpin: Commit 7137e32447fc3fb447f275b9e7f3b286991bf745 has been approved by alexcrichton

:pushpin: Commit 7137e32447fc3fb447f275b9e7f3b286991bf745 has been approved by alexcrichton

:hourglass: Testing commit 7137e32447fc3fb447f275b9e7f3b286991bf745 with merge 9ced883e97a027d7ffb8a881e734fcb2c068ec38...

:hourglass: Testing commit 7137e32447fc3fb447f275b9e7f3b286991bf745 with merge 9ced883e97a027d7ffb8a881e734fcb2c068ec38...

:sunny: Test successful - checks-actions
Approved by: alexcrichton
Pushing 9ced883e97a027d7ffb8a881e734fcb2c068ec38 to master...

:sunny: Test successful - checks-actions
Approved by: alexcrichton
Pushing 9ced883e97a027d7ffb8a881e734fcb2c068ec38 to master...


Unable to press Submit button in Release Control

Description

I was adding FO tags and HT tags.
I also added HT cables. when these are added, Circuits are also added.
When trying pressing the Submit button after adding several HTs, I got the messages on the right hand side of the screen
Please note the 82EL011-413 error for example

I was able to clear the issue by deleting several HT's and pressing submit, until I was eventually able to submit after deleting all but one Heat Traces
Expected behavior

We can press the Submit button

classic .... I guess we can leave this open and revisit it if / when the bug rears its head again :)

if this is not reproducable, then I propose we close it - it can rather be re-opened if it re-occurs.

it has now been reopened. discussed with magnus :)

@MagnusGjosund - Can we just remove validation on the back end (says Atle) to try and fix this issue :) - mentioned it to him in a meeting

Looks good :) - Go for push

@MagnusGjosund push to PROD


Make sure we can build for different CUDA arch.

specifically, Titan and Tesla for now

#30 resolves this


SEVERE: --via-r in combination with vm.warp break solidity execution and overrides stack variables

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (503792a 2024-05-11T00:16:33.765886985Z)
What command(s) is the bug in?
forge test -vvv --via-r
Operating System
Linux
Describe the bug
I created a simple test to show the issue clearly:
event WarpTime(uint256 time);
function testWTF() public {

    uint256 waitStep = 10000;

    address user1 = vm.addr(1);
    uint256 count = 6;

    vm.startPrank(user1);
    uint256 timestamp = block.timestamp;
    for (uint256 i = 0; i < count; i++) {
        uint256 step = i+1;
        uint256 releaseTime = timestamp + (waitStep * step);
        emit WarpTime(releaseTime);
    }

    //Validate that the iterations are not causing the bug
    for (uint256 i = 0; i < count; i++) {
        uint256 step = i+1;
        uint256 releaseTime = timestamp + (waitStep * step);
        emit WarpTime(releaseTime);
    }

    // Validate that warp time breaks the --via-r compilations
    for (uint256 i = 0; i < count; i++) {
        uint256 step = i+1;
        uint256 releaseTime = timestamp + (waitStep * step);
        vm.warp(releaseTime);
        emit WarpTime(releaseTime);
    }

    //Intentionally fail to show the logs above
    assertTrue(false);

    vm.stopPrank();
}

Here are the logs from the test ran:

Traces:
[37530] AssetManagerTest::testWTF()
├─ [0] VM::addr() [staticcall]
│   └─ ← [Return] 0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf
├─ [0] VM::startPrank(0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf)
│   └─ ← [Return]
├─ emit WarpTime(time: 10001 [1e4])
├─ emit WarpTime(time: 20001 [2e4])
├─ emit WarpTime(time: 30001 [3e4])
├─ emit WarpTime(time: 40001 [4e4])
├─ emit WarpTime(time: 50001 [5e4])
├─ emit WarpTime(time: 60001 [6e4])
├─ emit WarpTime(time: 10001 [1e4])
├─ emit WarpTime(time: 20001 [2e4])
├─ emit WarpTime(time: 30001 [3e4])
├─ emit WarpTime(time: 40001 [4e4])
├─ emit WarpTime(time: 50001 [5e4])
├─ emit WarpTime(time: 60001 [6e4])
├─ [0] VM::warp(10001 [1e4])
│   └─ ← [Return]
├─ emit WarpTime(time: 10001 [1e4])
├─ [0] VM::warp(30001 [3e4])
│   └─ ← [Return]
├─ emit WarpTime(time: 30001 [3e4])
├─ [0] VM::warp(60001 [6e4])
│   └─ ← [Return]
├─ emit WarpTime(time: 60001 [6e4])
├─ [0] VM::warp(100001 [1e5])
│   └─ ← [Return]
├─ emit WarpTime(time: 100001 [1e5])
├─ [0] VM::warp(150001 [1.5e5])
│   └─ ← [Return]
├─ emit WarpTime(time: 150001 [1.5e5])
├─ [0] VM::warp(210001 [2.1e5])
│   └─ ← [Return]
├─ emit WarpTime(time: 210001 [2.1e5])
├─ emit log(val: "Error: Assertion Failed")
├─ [0] VM::store(VM: [0x7109709ECfa91a80626fF3989D68f67F5b1DD12D], 0x6661696c65640000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000001)
│   └─ ← [Return]
├─ [0] VM::stopPrank()
│   └─ ← [Return]
└─ ← [Return]
As you can see from execution:

vm.warp when executing under --via-r is cumulatively adding the previous block time to the warp after the first warp
vm.warp(10001) = 10001  // sets the warp block + 10000
vm.warp(20001) = 30001 // sets the warp block + 10000 + 20000
vm.warp is overriding the internal stack variable for releaseTime, as the Event is emitting the same value as the warp time.

Use vm.getBlockTimestamp and vm.getBlockNumber instead of block.number and block.timestamp when using via-ir mode, see here to learn more.

@mds1 how is this not a bug?
The release time is stored in a variable.
So why does the emit return the wrong time, the only way this would be possible would be if vm.warp is overriding the stack variable.

In a standard EVM environment, the block number and timestamp are constant in a transaction. Therefore the solidity compiler can use that assumption to optimize the bytecode it generates. However, in a forge test, the block number and timestamp are not constant. Therefore these assumption break, resulting in the bug you are seeing. If you replace block.number with vm.getBlockTimestamp you will see the tests works as expected.
In the comment I linked above, there is a link to a solidity issue where you can further discuss this with the solidity team.

ah you're saying a compiler optimization replaced the variable, with the reference, the memory was really references something else.


Someone keeps crashing the server

User found in database.
New client: xx.xxx.xxx.xx
Deleted client: xx.xxx.xxx.xx
User found in database.
New client: xx.xxx.xxx.xx
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at
Set default room color to: 242464
Listening on <IP_ADDRESS>:8443
Password is: meow
User found in database.
New client: xx.xxx.xxx.xx
Created new room: lobby
New client: <IP_ADDRESS>
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at
Set default room color to: 242464
Listening on <IP_ADDRESS>:8443
Password is: meow
User found in database.
New client: xx.xxx.xxx.xx
Created new room: lobby
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at
Set default room color to: 242464
Listening on <IP_ADDRESS>:8443
Password is: meow
User found in database.
New client: xx.xxx.xxx.xx
Created new room: lobby
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at
Set default room color to: 242464
Listening on <IP_ADDRESS>:8443
Password is: meow
New client: <IP_ADDRESS>
Created new room: lobby
User found in database.
New client: xx.xxx.xxx.xx
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at
Set default room color to: 242464
Listening on <IP_ADDRESS>:8443
Password is: meow
User found in database.
New client: xx.xxx.xxx.xx
Created new room: lobby
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at
Set default room color to: 242464
Listening on <IP_ADDRESS>:8443
Password is: meow
User found in database.
New client: xx.xxx.xxx.xx
Created new room: lobby
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at
Set default room color to: 242464
Listening on <IP_ADDRESS>:8443
Password is: meow
User found in database.
New client: xx.xxx.xxx.xx
Created new room: lobby
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at
Set default room color to: 242464
Listening on <IP_ADDRESS>:8443
Password is: meow
User found in database.
New client: xx.xxx.xxx.xx
Created new room: lobby
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at
Set default room color to: 242464
Listening on <IP_ADDRESS>:8443
Password is: meow
User found in database.
New client: xx.xxx.xxx.xx
Created new room: lobby
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at
Set default room color to: 242464
Listening on <IP_ADDRESS>:8443
Password is: meow
User found in database.
New client: xx.xxx.xxx.xx
Created new room: lobby
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at

A stack trace for both of your issues would be nice. You can probably get it with valgrind I guess.

I could not reproduce

I could reproduce on your server, lamp. I could send you the code used to do it if you'd like.

I could reproduce using your code.

I reproduced in local test environment. It only worked after connecting a regular client to the server; nothing happened when there was nothing else connected.
(gdb) run dog
Starting program: /home/me/multiplayerpiano-server/out dog
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Listening on <IP_ADDRESS>:1234
Password is: dog
New client: <IP_ADDRESS>
Created new room: lobby
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.

Valgrind output
==11497== Memcheck, a memory error detector
==11497== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==11497== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==11497== Command: ./out dog
==11497==
==11497== error calling PR_SET_PTRACER, vgdb might block
Listening on <IP_ADDRESS>:1234
Password is: dog
New client: <IP_ADDRESS>
Created new room: lobby
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at
==11497==
==11497== Process terminating with default action of signal 6 (SIGABRT)
==11497==    at 0x4E3E18B: raise (raise.c:51)
==11497==    by 0x4E1D858: abort (abort.c:79)
==11497==    by 0x4C98950: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
==11497==    by 0x4CA447B: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
==11497==    by 0x4CA44E6: std::terminate() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
==11497==    by 0x4CA4798: __cxa_throw (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
==11497==    by 0x4C9B3BD: std::__throw_out_of_range(char const*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
==11497==    by 0x135AFD: ??? (in /home/me/multiplayerpiano-server/out)
==11497==    by 0x131EE9: ??? (in /home/me/multiplayerpiano-server/out)
==11497==    by 0x113A64: ??? (in /home/me/multiplayerpiano-server/out)
==11497==    by 0x11A2CF: ??? (in /home/me/multiplayerpiano-server/out)
==11497==    by 0x139EBC: ??? (in /home/me/multiplayerpiano-server/out)
==11497==
==11497== HEAP SUMMARY:
==11497==     in use at exit: 1,022,814 bytes in 3,770 blocks
==11497==   total heap usage: 4,979 allocs, 1,209 frees, 1,172,563 bytes allocated
==11497==
==11497== LEAK SUMMARY:
==11497==    definitely lost: 0 bytes in 0 blocks
==11497==    indirectly lost: 0 bytes in 0 blocks
==11497==      possibly lost: 144 bytes in 1 blocks
==11497==    still reachable: 1,022,670 bytes in 3,769 blocks
==11497==                       of which reachable via heuristic:
==11497==                         stdstring          : 38 bytes in 1 blocks
==11497==         suppressed: 0 bytes in 0 blocks
==11497== Rerun with --leak-check=full to see details of leaked memory
==11497==
==11497== For lists of detected and suppressed errors, rerun with: -s
==11497== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Aborted (core dumped)

Fixed by f2c91e305533aa7597b6853a0244f837bbefab5c


GOARCH=arm64 go generate is failing on x86_64

Issue
go generate for GOARCH=arm64 is failing
❯ GOARCH=arm64 go generate ./pkg/plugin/...;
fork/exec /tmp/go-build4230987009/b001/exe/mockgen: exec format error
pkg/plugin/api/types.go:13: running "go": exit status 1
fork/exec /tmp/go-build1479343241/b001/exe/mockgen: exec format error
pkg/plugin/common/common_linux.go:20: running "go": exit status 1
fork/exec /tmp/go-build3235587832/b001/exe/bpf2go: exec format error
pkg/plugin/conntrack/conntrack_linux.go:22: running "go": exit status 1
fork/exec /tmp/go-build7630523/b001/exe/bpf2go: exec format error
pkg/plugin/dropreason/dropreason_linux.go:36: running "go": exit status 1
fork/exec /tmp/go-build2414488603/b001/exe/bpf2go: exec format error
pkg/plugin/filter/filter_map_linux.go:23: running "go": exit status 1
fork/exec /tmp/go-build1515059695/b001/exe/mockgen: exec format error
pkg/plugin/infiniband/types_linux.go:17: running "go": exit status 1
fork/exec /tmp/go-build2004312046/b001/exe/mockgen: exec format error
pkg/plugin/linuxutil/types_linux.go:16: running "go": exit status 1
fork/exec /tmp/go-build396399719/b001/exe/bpf2go: exec format error
pkg/plugin/packetforward/packetforward_linux.go:31: running "go": exit status 1
fork/exec /tmp/go-build309799770/b001/exe/bpf2go: exec format error
pkg/plugin/packetparser/packetparser_linux.go:52: running "go": exit status 1

Environment
❯ uname -a
Linux Simone <IP_ADDRESS>-microsoft-standard-WSL2 #1 SMP Tue Nov 5 00:21:55 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

❯ go version
go version go1.23.1 linux/amd64

❯ which clang
which llvm-strip
/usr/bin/clang
/usr/bin/llvm-strip

Spoke with @SRodi offline about this. My working theory on the root cause of this is the re-entrant invocation of the Go toolchain with go generate. When GOARCH=arm64 go generate ./pkg/plugin/... happens, it invokes the go run github.com/x/y/z/bpf2go@master lines. This also receives GOARCH=arm64, and builds the arm64 version of bpf2go. It then tries to run it and fails because it's an amd64 system.
I don't think go generate was ever intended to be used with go run embedded in it. I think the solution will be to remove the go run parts. A workaround could be to go install the tools ahead of time.

@timraymond the issue appears to be with toolchain go1.23.1. I have upgraded to toolchain go1.23.3 and it works fine.
❯ make generate-bpf-go
for arch in amd64 arm64; do \
        GOARCH=$arch go generate ./pkg/plugin/...; \
    done
Compiled /home/srodi/src/retina/pkg/plugin/conntrack/conntrack_bpfel_x86.o
Stripped /home/srodi/src/retina/pkg/plugin/conntrack/conntrack_bpfel_x86.o
Wrote /home/srodi/src/retina/pkg/plugin/conntrack/conntrack_bpfel_x86.go
/home/srodi/src/retina/pkg/plugin/dropreason/_cprog/drop_reason.c:205:13: warning: unused function 'get_packet_from_sock' [-Wunused-function]
static void get_packet_from_sock(struct packet *p, struct sock *sk)
            ^
1 warning generated.
Compiled /home/srodi/src/retina/pkg/plugin/dropreason/kprobe_bpfel_x86.o
Stripped /home/srodi/src/retina/pkg/plugin/dropreason/kprobe_bpfel_x86.o
Wrote /home/srodi/src/retina/pkg/plugin/dropreason/kprobe_bpfel_x86.go
Compiled /home/srodi/src/retina/pkg/plugin/filter/filter_bpfel_x86.o
Stripped /home/srodi/src/retina/pkg/plugin/filter/filter_bpfel_x86.o
Wrote /home/srodi/src/retina/pkg/plugin/filter/filter_bpfel_x86.go
Compiled /home/srodi/src/retina/pkg/plugin/packetforward/packetforward_bpfel_x86.o
Stripped /home/srodi/src/retina/pkg/plugin/packetforward/packetforward_bpfel_x86.o
Wrote /home/srodi/src/retina/pkg/plugin/packetforward/packetforward_bpfel_x86.go
Compiled /home/srodi/src/retina/pkg/plugin/packetparser/packetparser_bpfel_x86.o
Stripped /home/srodi/src/retina/pkg/plugin/packetparser/packetparser_bpfel_x86.o
Wrote /home/srodi/src/retina/pkg/plugin/packetparser/packetparser_bpfel_x86.go
Compiled /home/srodi/src/retina/pkg/plugin/conntrack/conntrack_bpfel_arm64.o
Stripped /home/srodi/src/retina/pkg/plugin/conntrack/conntrack_bpfel_arm64.o
Wrote /home/srodi/src/retina/pkg/plugin/conntrack/conntrack_bpfel_arm64.go
/home/srodi/src/retina/pkg/plugin/dropreason/_cprog/drop_reason.c:205:13: warning: unused function 'get_packet_from_sock' [-Wunused-function]
static void get_packet_from_sock(struct packet *p, struct sock *sk)
            ^
1 warning generated.
Compiled /home/srodi/src/retina/pkg/plugin/dropreason/kprobe_bpfel_arm64.o
Stripped /home/srodi/src/retina/pkg/plugin/dropreason/kprobe_bpfel_arm64.o
Wrote /home/srodi/src/retina/pkg/plugin/dropreason/kprobe_bpfel_arm64.go
Compiled /home/srodi/src/retina/pkg/plugin/filter/filter_bpfel_arm64.o
Stripped /home/srodi/src/retina/pkg/plugin/filter/filter_bpfel_arm64.o
Wrote /home/srodi/src/retina/pkg/plugin/filter/filter_bpfel_arm64.go
Compiled /home/srodi/src/retina/pkg/plugin/packetforward/packetforward_bpfel_arm64.o
Stripped /home/srodi/src/retina/pkg/plugin/packetforward/packetforward_bpfel_arm64.o
Wrote /home/srodi/src/retina/pkg/plugin/packetforward/packetforward_bpfel_arm64.go
Compiled /home/srodi/src/retina/pkg/plugin/packetparser/packetparser_bpfel_arm64.o
Stripped /home/srodi/src/retina/pkg/plugin/packetparser/packetparser_bpfel_arm64.o
Wrote /home/srodi/src/retina/pkg/plugin/packetparser/packetparser_bpfel_arm64.go

Closing since this seems to be fixed by upgrade


Example warning:
[main] WARN org.openrewrite.config.ClasspathScanningLoader - Unable to configure org.openrewrite.java.security.ZipSlip
java.lang.NoClassDefFoundError: Could not initialize class org.openrewrite.java.security.ZipSlip
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
	at org.openrewrite.internal.RecipeIntrospectionUtils.construct(RecipeIntrospectionUtils.java:133)
	at org.openrewrite.internal.RecipeIntrospectionUtils.constructRecipe(RecipeIntrospectionUtils.java:102)
	at org.openrewrite.config.ClasspathScanningLoader.scanClasses(ClasspathScanningLoader.java:142)
	at org.openrewrite.config.ClasspathScanningLoader.<init>(ClasspathScanningLoader.java:86)
	at org.openrewrite.config.Environment$Builder.scanJar(Environment.java:237)
	at org.openrewrite.RecipeMarkdownGenerator.run(RecipeMarkdownGenerator.kt:117)
	at picocli.CommandLine.executeUserObject(CommandLine.java:2026)
	at picocli.CommandLine.access$1500(CommandLine.java:148)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
	at picocli.CommandLine.execute(CommandLine.java:2170)
	at org.openrewrite.RecipeMarkdownGenerator$Companion.main(RecipeMarkdownGenerator.kt:1416)
	at org.openrewrite.RecipeMarkdownGenerator.main(RecipeMarkdownGenerator.kt)

It looks like something weird is going on with the ZipSlip recipe.

Possibly a dependency on rewrite-analysis is missing somewhere.

@knutwannheden I tried adding rewrite-analysis to the build.gradle file and I got this error:

Looking like rewrite-analysis has a group of meta instead of recipe. Adding "recipe"("org.openrewrite.meta:rewrite-analysis:$rewriteVersion") brought in the rewrite-analysis - but did not fix the warnings around ZipSlip.

I think if you were to set rewriteVersion to latest.integration it might work.

👍 -- setting it to latest.integration did appear to eliminate the error (in addition to adding analysis). Theoretically that means that one we do a release somewhere this problem should resolve itself.

Confirming that the latest releases have fixed this. I no longer get warnings running the generator. Thanks @knutwannheden - closing.


Add ability to create multiple classes with one command.

Previously discussed here.
This allows for creating multiple classes with one command call:
Eg.
php artisan make:model User Post Comment --migration --controller

will create three models and for each of them a migration and a controller.
The change applies to all commands extending the GeneratorCommand abstract class.
Besides GeneratorCommand there were necessary changes to:

ConsoleMakeCommand - it overrides the getArgument method.
ModelMakeCommand - it adds migrations and controllers in the fire method, so it needs to loop over all the class names.

One thing left to consider in ModelMakeCommand is to check if the model was actually created before making a migration or a controller.

One thing left to consider in ModelMakeCommand is to check if the model was actually created before making a migration or a controller.

Done.

No plans on adding this to the core.

One thing that might save time in the future is to ping me about feature requests in our Slack channel before making the request.

No plans on adding this to the core.

Why, may I ask? I've got some positive feedback.
Would you prefer an approach when we have new commands(like make:models) which just call existing ones in a loop?

ping me about feature requests in our Slack channel

I wrote about this on Slack#internals and on laravel/internals. I will remember to ping you specifically next time.


Add python-crypto2.6 build files

This package provides pycrypto 2.6.1, patched such that it can be installed
alongside python-crypto/python26-crypto from EPEL.
This will allow us to have people use our pycrypto without replacing the EPEL
package, so that we minimally impact users that need to keep pycrypto at the
EPEL-provided version.
NOTE: a future update to the salt build files should replace the dependency on
python-crypto/python26-crypto with python-crypto2.6/python26-crypto2.6. This
should be done for Salt 2015.8.4, and is contingent on a pull request being
merged into saltstack/salt which attempts to import from Crypto26 before Crypto.
We don't have to jump through these sort of hoops for EPEL7 since 2.6.1 is
provided by EPEL7.

I'm going to update these to replace the version name in the patched versions, to make the transition to a new major/minor release of pycrypto more smooth.

OK, this has been updated. The module name has been updated to Crypto_salt, and the package name has been updated to python-crypto-salt (python26-crypto-salt for EL5).


Build: Use json data for codecov

Current coverage is 100.00%

Merging #87 into master will not affect coverage as of d270808

@@            master     #87   diff @@
======================================
  Files           15      15
  Stmts          130     134     +4
  Branches         0      16    +16
  Methods          0       0
======================================
+ Hit            130     134     +4
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of d270808

Powered by Codecov. Updated on successful CI builds.

Merging!


[Release-1.26] - Network defaults set twice

Backport fix for Network defaults set twice

#8522

Not much to test, this is a code refactor

Nothing to test. Closing.


--configuration-path doesn't seem to work

I know --configuration-path was added relatively recently and isn't in an official release yet, but I don't think it works as intended.
The issue seems to be that the _engine object in database.py is created when database is imported at the top of command.py, which is before main() is actually ran. This is shown by setting some breakpoints:
root@fa952bf0b0fe:~# pinnwand --configuration-path pinnwand.toml http
> /usr/local/lib/python3.7/site-packages/pinnwand/database.py(29)<module>()
-> _engine = create_engine(configuration.database_uri)
(Pdb) c
> /usr/local/lib/python3.7/site-packages/pinnwand/command.py(39)main()
-> setattr(configuration, key, value)
(Pdb) n
> /usr/local/lib/python3.7/site-packages/pinnwand/command.py(37)main()
-> for key, value in configuration_file.items():
(Pdb) configuration.database_uri
'sqlite:///tmp/pinnwand.db'
(Pdb) c
> /usr/local/lib/python3.7/site-packages/pinnwand/command.py(47)http()
-> database.Base.metadata.create_all(database._engine)
(Pdb) database._engine
Engine(sqlite:///:memory:)

Notice configuration.database_uri was set properly to '/tmp/pinnwand.db' inside main(), but inside http() database._engine is still set to Engine(sqlite:///:memory:)

That does seem buggy, will take a look.

This is a 'workaround' commit because in reality storing things in a module like this is insane, from my testing this alleviates the mentioned problem directly though.

I think it's probably not a great practice to do imports within functions, but this seems to work without reorganizing. Now we just need a new pip release 😛
Thanks!

I'll do one tomorrow after the changes I made tonight (more than this) prove to be a bit more stable than a 0.x release might warrant. Will update here when done.

v0.3.0 was published to pypi, closing this for now :)


Replace deprecated NoCache option when installing nuget packages

Replace it with NoHttpCache

I also noticed this when reviewing #44 . As far as I can tell we cannot do much about it as Cake does not support this yet. I've created a bug-report for them - see #4412

@mikkelbu Cake provides a way to pass extra arguments to the underlying tool. see Argument Customization

:tada: This issue has been resolved in version 1.3.0 :tada:
The release is available on:

GitHub Release
NuGet Package