Ibex Compiler Change

I want to use different compiler. Can I change Gcc with another compiler and how can I change it ?

@luismarques, who I think knows the most about our RISC-V Clang/LLVM toolchain.
You'll probably have to explain why you need a different compiler for us to help you more.

We are students who want to do academic research from TOBB University, Turkey. We want to observe CPU Performance  with some compiler changing. We will use LLVM instead of GCC. We are using ibex for our research. However I could not find how to change GCC with LLVM.

Hi @sevvalizmirli.
Could you please describe what is your current workflow for benchmarking Ibex using GCC? Without that information I'm not quite sure how to best help you. Still, here's my best attempt.
In our OpenTitan project (which uses Ibex) we have tools to set up the device firmware compilation with either GCC or LLVM/Clang toolchains. See [1] for an overview. Outside of OpenTitan, my own use of Ibex with Clang was always set up from scratch, so I didn't modify any build system or similar tool that the Ibex repo might contain or use. You can browse around and experiment with the OpenTitan repository for details, but in general I would say that what you want is to use the clang tool instead of gcc with the correct option for RISC-V. That might be --target (e.g. target=riscv32), as well as the usual -march and -mabi options. The target can be automatically recognized if you prefix your compiler binaries with the target triple, e.g. riscv32-unknown-elf-clang. Unless you have a complete Clang/LLVM toolchain with the appropriate libraries (e.g. Compiler-RT) and tools (e.g. LLD), you'll probably end up depending on a companion GNU toolchain. For Clang to use that GCC installation they need to either be appropriately installed side-by-side or for you to explicitly specify the --gcc-toolchain=<your GCC install path prefix> option. One tricky thing is that the --gcc-toolchain option will silently fail if the target triple doesn't match. You can use the -v option to check that clang is correctly detecting the GCC installation. You might also need the --sysroot=<some path> option for Clang to use the system headers and libraries from the GNU toolchain. In some cases, you might also have to change some compilation flags and linker script options for everything to work or to perform at its best, but that probably won't be necessary for you to get started.
Let me know if that helps.
[1] https://docs.opentitan.org/doc/ug/install_instructions/

Hi there! I'm closing this because there's not been a response for quite a while. @sevvalizmirli: Please feel free to re-open if you have further questions, but it would be good if you could start by responding to Luis, who looks like he put quite a lot of work into replying to you here.

Hi @luismarques,
We are modifying and building LLVM and want to see it in action with Ibex. I've modified the provided Makefile in Simple System example.
ARCH = rv32i
TARGET = riscv32
# ARCH = rv32im # to disable compressed instructions
SRCS = main.c encrypt.c round.c decrypt.c
#SRCS = main.c encrypt.c roundInline.c decrypt.c

CC = PATHTOLOWRISCTOOLCHAIN/lowrisc-toolchain-rv32imcb-20230228-1/bin/riscv32-unknown-elf-gcc
CLANG = PATHTOOURLLVMBIN/clang

OBJCOPY ?= $(subst gcc,objcopy,$(wordlist 1,1,$(CC)))
OBJDUMP ?= $(subst gcc,objdump,$(wordlist 1,1,$(CC)))

LINKER_SCRIPT ?= link.ld
CRT ?= crt0.S
CFLAGS ?= --target=$(TARGET) -march=$(ARCH) -mabi=ilp32 -static -mcmodel=medany \
	-fvisibility=hidden -nostdlib -nostartfiles -lgcc --gcc-toolchain=$(CC) $(PROGRAM_CFLAGS)

When we use the .o producing rule with $(CLANG) instead of GCC these errors occur:
fatal error: 'stdio.h' file not found #include <stdio.h>
So I guess as you said Clang should be side by side with GCC as GCC can find stdio but Clang cannot. To have that I tried adding -lgcc and --gcc-toolchain.
How can we achieve to include standard libraries with Ibex defaults like -nostartfiles probably preventing it?


osmox

Related to #19 and #39. We can either:

implement logic in this comment
point the user to osmox and tell them where to place the output file once they've created it

Two tasks:

[ ] Update the output format to geoparquet
[ ] Update the output path to interim/osmox and change the downstream scripts to point to this

Adding the deps mentioned for osmium fixes the CI for Python 3.12 (b54cff0)

Do these dependencies need to be added to the poetry lock file?

Do these dependencies need to be added to the poetry lock file?

Since they're external system deps to python I don't think we're able to install with poetry though we can add this to a requirements section in the docs and link to the osmium docs

Merging this now with (the output file from pyrosm can be passed directly to osmox (1504c59).


Question - how long does training the TSP model take?

Hi!
I'm executing the following command to train a TSP model:
python run.py --graph_size 20 --baseline rollout --run_name 'tsp20_rollout'
i've run the code for 1 epocs and it took 10 hours. Is this expected?
I'm running the code under windows on a msi laptop using GPU and cuda enable.
Thanks in advance!

Hi and thanks for trying the code! From the top of my head, training a single epoch with default settings should take around 5 minutes on a 1080Ti GPU. This does not sound as if you are actually using the GPU. Please verify GPU usage through the `nvidia-smi' command (not sure whether this exists under windows) and check that tensors are actually moved to the GPU (e.g. add some printing statements printing {tensor}.device).

Hi!
Thanks for your quick replay.
I've checked the logs on the nvidia-smi' but i dont really see usage from python when running the code.  I've added some prints to the code. In the run.py line 58 i've added a print(opts.device)`
and i've add some prints in nets/graph_endoder.py line 44
```
print(self.W_query)
print(self.W_key)
print(self.W_val)

I see that opts.device is cuda:0 but the tensors are cpu. However, i'm not sure if this is the proper way to test it.

To sum up, i'd say that i'm not actually using the GPU when running the code. How can i use it?

Thanks a lot!!

Hi！I have the same problem as you. Have you solved it?

I have the same probnelm, too....

Perhaps you can decrease the magnitude of '--epoch_size', adjust from 1280000 to 128000/12800/1280, the time consuming of each epoch will be greatly improved.

Same here.

Hi, I had the same issue, and here is how I solved it:
Turns out this is related to the 'num_workers=1'. If you change it to 'num_workers=0' the code will run properly. This is in line 78 of 'train.py':
training_dataloader = DataLoader(training_dataset, batch_size=opts.batch_size, num_workers=1)
At first, I thought this is because of 'enumerate', but it is not.
I hope this solves it for you.
Cheers

Sorry this caused trouble, for people running into this please have a look at #11, I'll copy it here for reference:
Hi, I had the same issue, and here is how I solved it:
Turns out this is related to the num_workers=1. If you change it to num_workers=0 the code will run properly. This is in line 78 of 'train.py':
training_dataloader = DataLoader(training_dataset, batch_size=opts.batch_size, num_workers=1)
At first, I thought this is because of 'enumerate', but it is not.
I hope this solves it for you.
Cheers


Add endpoint to close a lightning channel

As a user I would like to close an existing lightning channel

@rootzoll important issue

@rootzoll important issue :)

will be fixed by PR #82


Creating an index without the need of a class

I would like to be able to create an index referencing records, not limited to a single class, using multiple keys.
Neo4j supports this with their legacy indexing functionality (http://neo4j.com/docs/stable/indexing.html).
So for example, to create such an index, do something like
create index index_name ('id','name') FULLTEXT ENGINE LUCENE

Then be able to insert like
insert into index:index_name (id, name, rid) values (1, 'jeff', #45:0)
insert into index:index_name (id, name, rid) values (1, 'Luca', #45:0)
insert into index:index_name (id, name, rid) values (2, 'Luca', #45:1)

and then query stuff like
select * from index:index_name where [id, name] LUCENE "(id:1 OR name:Luca)"

Not sure if orientdb needs to be changed for this, or that this can be added to this project.

This issue could be done together with "Search Engine" issue

Don't think will be ready for 2.1
Can

Has been implemented in 2.1.x
Here it is the docs
http://orientdb.com/docs/last/Full-Text-Index.html#create-a-manual-lucene-index

Although this does implement a manual Lucene index, it misses the mark by not allowing naming the fields.
So it appears that there is no way to get what wouterv suggested in the first post to work.
It would be nice to be able to query the manual lucene index similar to what wouterv suggested
select * from index:index_name where [id, name] LUCENE "(id:1 OR name:Luca)"


[Enhancement]support mysql table sink in pipeline engine

What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

[FE PR Coverage Check]
:disappointed: fail : 0 / 1 (00.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/planner/MysqlTableSink.java
0
1
00.00%
[75]

run starrocks_admit_test

[FE PR Coverage Check]
:disappointed: fail : 0 / 1 (00.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/planner/MysqlTableSink.java
0
1
00.00%
[75]

run starrocks_admit_test

run starrocks_admit_test

run starrocks_admit_test

run starrocks_admit_test

[FE PR Coverage Check]
:disappointed: fail : 2 / 3 (66.67%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/planner/MysqlTableSink.java
0
1
00.00%
[75]

:large_blue_circle:
com/starrocks/planner/DataSink.java
2
2
100.00%
[]

run starrocks_admit_test


Can't clone submodules

For any reason, i can't clone submodules. Everything works fine so far, but cloning submodules (from the same gitlab instance) fails:
git submodule update --init
Submodule 'optionals/repo' (git@domain.tld:username/repo.git) registered for path 'optionals/repo'
Cloning into 'optionals/repo'...
Host key verification failed.
fatal: The remote end hung up unexpectedly
Clone of 'git@domain.tld:username/repo.git' into submodule path 'optionals/repo' failed

Did i miss something? I've created pub-keys for gitlab_ci and gitlab_ci_runner, added them in my GitLab account, but it fails.
GitLab and GitLab-CI are running on the same server, just on different domains.

Where should I execute that ssh-keyscan command?

Ok, found it. On the proper .gitlab-ci.yml file but I had forgot that I'm using the /root folder as home, instead of using the default home path.

If you could tell me where I should run it, I couldn't find where.
In "before_script" (.gitlab-ci.yml) didn't work.
Thanks!


Merging cells: Rowspans [More Flexible Tables Pt.3b]

Allows specifying a rowspan to grid.cell and table.cell to have a cell span more than one row.
Second part of the third task in #3001. Closes #131.
This PR does not contain major changes to the docs. It is expected that those will be done later.
DRAFT: Doing some final touches still.
User-facing API

You can now specify grid.cell(rowspan: amount, ...) and table.cell(rowspan: amount, ...) to have a cell span amount rows, as seen below.

#grid(
  columns: 4,
  fill: (x, y) => if calc.odd(x + y) { blue.lighten(50%) } else { blue.lighten(10%) },
  inset: 5pt,
  align: center,
  grid.cell(rowspan: 2, fill: orange)[*Left*],
  [Right A], [Right A], [Right A],
  [Right B], grid.cell(colspan: 2, rowspan: 2, fill: orange.darken(10%))[B Wide],
  [Left A], [Left A],
  [Left B], [Left B], grid.cell(colspan: 2, rowspan: 3, fill: orange)[Wide and Long]
)

#table(
  columns: 4,
  fill: (x, y) => if calc.odd(x + y) { blue.lighten(50%) } else { blue.lighten(10%) },
  inset: 5pt,
  align: center,
  table.cell(rowspan: 2, fill: orange)[*Left*],
  [Right A], [Right A], [Right A],
  [Right B], table.cell(colspan: 2, rowspan: 2, fill: orange.darken(10%))[B Wide],
  [Left A], [Left A],
  [Left B], [Left B], table.cell(colspan: 2, rowspan: 3, fill: orange)[Wide and Long]
)

You can now specify breakable: true/false/auto to cells, as in #table.cell(rowspan: ..., breakable: ...)[a], to either enforce that all rows spanned by that cell stay in the same page (true) or to allow the cell (and, thus, its rows) to span multiple pages (false). The default is auto - the cell will default to being unbreakable if it only spans fixed-size rows, or breakable if it spans at least one auto row.

Implementation details
The changes in this PR are divided as follows.
API and CellGrid changes

Cells now have rowspan and breakable fields. The former indicates how many rows it spans (default 1), the latter indicates whether or not the contents of the cell can be broken across pages (in particular, when it's not breakable, all rows spanned by the cell are forced to be displayed in the same page).
CellGrid was changed to properly mark rowspans' spanned positions as merged positions.

Basic rowspan layout

Created a rowspans.rs file for functions and types exclusive to rowspans.
The Rowspan struct has all data needed to layout a rowspan. It includes at which row it starts, how many rows it spans, and so on. One remarkable field in that struct is heights, which indicates the height the rowspan will have available in each page. The heights are increased by each spanned row's final height during finish_region. Thus, we will only know the heights a rowspan will have after all of its rows have been laid out.
There is a global vector of "not yet laid out" rowspans in the GridLayouter.

Before each row is laid out, check_for_rowspans runs, which checks if any cells within it are rowspans; if so, creates a Rowspan and appends it to the vector. That's how we're aware of rowspans during finish_region.

We use a separate function to check for rowspans rather than integrating it to layout_single_row or layout_multi_row because auto rows might not call either of those functions (if they have 0 measured frames, which is rather common for rowspans - this will always happen when the auto row is 100% composed of rowspans which don't end at it).

The layout_rowspan function takes a single Rowspan and lays out its cell's contents over the spanned pages, with the appropriate heights as part of the backlog. To do this, it modifies the frames for each region in self.finished, inserting the cell's contents.

However, it optionally takes an additional current_region frame, because the last region spanned by the row might not yet be finished when it is laid out. This is because layout_rowspan is triggered as soon as the last row - or any row after the last row - of the rowspan is finished and laid out within finish_region. However, it may also be triggered for remaining rowspans after all regions were finished (if their last rows weren't laid out for some reason, which can happen in some edge cases).
Of note, a single row might be laid out in finish_region multiple times if it spans multiple pages. Therefore, I added a new parameter to Row::Frame, a boolean, which is true when this is the last region which this row occupies, triggering the layout of all rowspans ending in it.

Therefore, this is the full cycle of a rowspan, in principle:

check_for_rowspans appends Rowspans to the self.rowspans vector, before each row is laid out in fn layout.
In finish_region, we keep expanding the rowspan's height for each spanned row.
Once we reach the last row spanned by the rowspan (or any row after it), we take it from the vector and call layout_rowspan.
The rowspan has now been laid out.

As a consequence, any adjustment to the shape of the rowspan - including breakable vs unbreakable - is exclusively dependent on the rows it spans. That is, a rowspan will only occupy the space between its first spanned row and its last spanned row, whichever height that might represent.

Fixed size rows don't really care about that. However, auto rows - specifically the last auto row spanned by a rowspan - might expand so that rowspans have enough height to layout their contents. This will be explained below.

Regarding fills and strokes

Fills were adapted such that a cell's fill is placed once for each spanned region. This means that a gradient or pattern would be repeated for each spanned region, not "stretched" at once across regions. This is done by checking the "local parent Y" of each cell, that is, the first row spanned by the cell in the current region (which will be its parent Y if the cell hasn't been broken across pages so far). If we're at the local parent Y at this moment, we draw the fill again.
Not sure if we should perhaps switch to drawing a single rectangle across multiple frames or something. Frankly, I don't know if that's even possible.

Hlines were adapted so that they aren't drawn when they are inside a rowspan. Cool.

But they were also adapted in another way. Usually, hlines fold the stroke of the bottom cell with the stroke of the top cell (usually giving priority to the bottom cell) together with the user-provided line's stroke to determine its final stroke. However, especially with rowspans thrown into the mix, the "top cell" might not actually have been laid out at all. This can happen if the hline is at the top of the region (which we already used to detect by checking if its index is 0, since hlines of index 0 are considered part of the top border and repeated across all regions), but also if the row immediately above the hline is an auto row which was fully empty and thus removed (can happen if the only things in the auto row are rowspans crossing through it). Now, hlines check the "top cell" in the "local top Y", that is, the last row above the hline in the current region. To achieve this, it receives a local_top_y parameter which is calculated once. It also receives the vector of rows in the current region as a parameter as it uses similar logic to determine whether or not it is inside a rowspan and thus shouldn't be drawn (in principle, it's fine to be "inside" a rowspan if none of the rowspan's rows above the hline were laid out in the current region).

As a consequence of that change, and looking to produce better results when using table borders in general, I made it so cells' strokes now fold with the table top and bottom borders. This avoids some visual problems when the table borders are produced only by cell strokes, e.g. when there's gutter, you'd see some small holes (column gutters) at the bottom and top of each page, even when there's a colspan at the bottom of the page which would request a continuous line under it.

Unbreakable rowspans
They are pretty simple, in theory. Here's how they work:

GridLayouter has a field called unbreakable_rows_left. While that field's value is positive, finish_region should not be called.
Before each non-gutter row is laid out, we run check_for_unbreakable_rows.
That function doesn't do anything while unbreakable_rows_left is positive, but if it's zero, it will run simulate_unbreakable_row_group.
That function will use check_for_unbreakable_cells to check each cell of the current row to see if it is the parent of an unbreakable cell/rowspan. If so, it begins a simulation to find out how many more rows will have to be laid out together, in the same region. This is done by checking each upcoming row and checking if they themselves have unbreakable cells; if so, the simulation will run for at least max(cell.rowspan for cell in row) more rows. The simulation also calculates the total height of the row group, and returns its collected data in an UnbreakableRowGroup struct instance.
Then, back to check_for_unbreakable_rows, we skip to the first region with enough height to fit the new unbreakable row group and update self.unbreakable_rows_left. That way, all upcoming rows within the unbreakable row group are laid out together in the same region, as finish_region won't be called at all while those rows are being laid out.

As a consequence, the rowspan spanning those rows will be in a single region, because all that matters for a rowspan is the rows it spans.

Of note, the unbreakable row group simulation will also run measure_auto_row when it finds an auto row. This can only happen, by default, when the user explicitly writes grid.cell(breakable: true)[this cell spans an auto row]; otherwise, we define that, without an explicit override, a rowspan cell is breakable iff it does not span any auto rows.

measure_auto_row was adapted to work with unbreakable row groups - it will use Regions::one to measure cells when unbreakable_rows_left is positive (or we're simulating an unbreakable row group).
When called during an unbreakable row group simulation, it also takes the current row group data to determine how much height would still be available considering the rows in the simulation.

Breakable rowspans
In principle, rowspans are breakable by default, as rowspans are defined by their rows, so the mere process of laying out rows and skipping pages when they don't fit, as is currently done, will generate breakable rowspans, as long as they span those rows.
The main problem is that rowspan cells might have content which requires more vertical space than what's made available by their fixed-size rows. Therefore, auto rows should expand just enough so that the rowspans can (in theory) fully display their content. As such, the problem being described only applies to rowspans spanning auto rows - by default, all such rowspans are breakable (although that can be overridden).
For unbreakable rowspans or rowspans within a single page, that problem is pretty simple to solve (ignoring fractional rows) - just sum all of the fixed-size rows and subtract from the height demanded by the content inside the rowspan. If the result, let's say h is positive, this means that we need to expand an auto row - which will always be the last spanned auto row - by at least h units, such that the content will be fully laid out.
However, for breakable rowspans spanning at least two pages, that isn't enough, for a few reasons:

Rowspan content height becomes an array of numbers (one height per page), instead of a single number. In my calculations, I just sum the heights in each page to be able to convert it back to a single number, but I acknowledge this doesn't produce the most precise calculations. Still, it's a pretty good estimation at least, and should be fully accurate for simple and contiguous content, such as fixed-height blocks and rects.
Fixed-size rows might have different sizes in different pages if they have a ratio (e.g. 50%), as different pages might have different heights. I do not tackle this specific case in my code, in principle, unless the grid has gutters (which leads us to the more complex case below).
Spanned gutter spacing between rows - henceforth "gutter rows" - do matter, as content inside a rowspan can appear above some spanned gutter row. However, gutter rows can be removed when they appear at the bottom or top of a page; they are effectively "replaced" by page breaks. Therefore, the simple calculation of spanned height - content height becomes inaccurate, as spanned height might change depending on which gutter rows are removed or not.

To tackle specifically 3 (and 2 along with it, but only when 3 is a problem, to simplify things for now), I had to adapt measure_auto_rows as follows.

When a rowspan has the current auto row as its last spanned auto row, we measure it considering the height it had in previous regions, in rows already laid out in the current region, and potentially considering the height it will have in future rows.
After getting the vector of heights in each region for the current rowspan, we first subtract, from the left of the array, all height it has already spanned in the current region. That height is final, so it'll be fully accurate to do this.
Next, we check if the rowspan is breakable, the grid gutter is active, and it spans further rows (this isn't the last row it spans). If all conditions are satisfied, we push it to pending_rowspans instead of doing anything with its remaining sizes. Rowspans in that vector will be simulated, together, later, to try to figure out which gutters will be removed later on.
Otherwise (rowspan is unbreakable or there's no gutter), we subtract, from the end of the vector of heights, the total height spanned by future rows.

This is mostly accurate, except that it doesn't solve 2 (relative heights depend on region height). I could force this case to use the simulation process as well, but it's not really needed for now, I think. We can always change this later once we have more real use case data.

After we checked all cells in the auto row, we run the simulation (simulate_and_measure_rowspans_in_auto_row in rowspans.rs). Here, we first join all vectors of sizes of pending rowspans into a single vector of sizes (taking max(rowspan.heights.at(region) for rowspan in pending_rowspans) for each entry in the vector), as if they all became a single rowspan, so we can work with a single "height needed" number (by just adding them up). We also figure out the max spanned row by a rowspan such that our "unified" rowspan will go up to that row.
Then, in our simulation, we start at the last region which the auto row has grown to so far (based on data from cells which didn't require simulation); the idea is to see if we will need to expand it even more.
We do this by going through all rows from the row after the auto row until the max spanned row and adding up their heights. When we reach the max height of a region, we properly subtract the height of the latest gutter from the total (it'd be removed), same if it would be the first row in the (new) region.
After going through all such rows, we calculate that the auto row will have to expand by total_rowspan_height - total_spanned_height units. But, just to confirm, we run the simulation again, caching that value.
If, by running the simulation again, we happened to need to expand the auto row even more, because some large gutter row was removed or something, then we do so, and try again, performing the same comparison. Otherwise (if it wouldn't have to expand more, or would otherwise expand less), we consider the value as final, and the auto row is expanded by that much.
Since the auto row only increases in each simulation attempt, it's certain that the simulation will converge at some point  (at worst, it will have the auto row expand the full max height of rowspans, wasting as much space as possible). Still, I added a cap of up to 5 attempts at simulation for now. We can expand this in the future.

If the cap of 5 attempts is reached, we give up and just expand the auto row by total_rowspan_height - predicted_future_height where predicted_future_height is the sum of all upcoming fixed-size rows (ignoring gutter rows). This necessarily means the auto row will expand more than it should, but it's the best we can do in such a situation, at least for now.

And, with that, we have the full process run by measure_auto_rows. Of note, the simulation described above does consider unbreakable row groups and whatnot, it tries to replicate the real layout algorithm as much as possible, while attempting to repeat the least code possible from it. Also, for now, the simulation ignores fractional-sized rows, so these will cause the auto row to expand more than it should for now.
TODO

[x] TODO: Open draft PR
[x] TODO: Perform any further necessary rebases
[x] TODO: Cleanup, review again, check for mistakes
[x] TODO: Perhaps add a few more tests?
[x] TODO: Undraft PR

Yay! :)


new updates are acting quite strange

Hey yall so i had installed create before September in a client for fabric 1.18.2, and everything was perfectly fine, until recently, i saw there was an update from September first, which i had promptly installed. but this started making the mod wierd, A small amount of the items were invisible, and every time i had opened the Ponderer, it would crash my game. i recently installed the most recent update you guys just put out, but nothing seems to have been changed or fixed. Do you think i could be missing something? i swear i have the Create mod alongside fabric API, which is all it needs, right? Ive even tried copy-pasting the older version to this newer modpack i had created, but the same issue was still there. Really could use some guidance on this. Thank you in advance.

send the log. ponder should be fixed as of an hour ago

yup heres the log from one of the first crash es. youre right, it was fixed and thats really good. but the same bug with the invisible items keeps happening, and i hope this can be fixed too.
heres the crash log from the first ponderer crash in the 9/1 update, i hope itll help
crash-2022-09-02_17.49.56-client.txt

yeah that crash was fixed. For the invisible items you'll need to narrow down which mod causes it.

alright sure. is it okay if i send the list of mods in the modpack so you could help me narrow it down? im not too good at this kind of stuff

The list is already in the log. I looked through it and didn’t see any suspects. The best way to figure it out is a binary split.
Split the mods into 2 groups and test each. If the problem happens, split again and repeat. If it doesn’t happen, check the other group. The goal is to figure out which set of mods together causes it.

hey man, i just did this. i think i narrowed it down to a mod called The Corners, that makes the items disappear. I just don't understand why, though. The Corners is a mainly new dimensions kind of mod, and it is puzzling as to why it makes Create items invisible. Maybe I'm not understanding how this works from a coding perspective, but do you think there is a way we could fix this?
Everything else in my modpack is turned on except for The Corners, and that's when i was able to see the Create items again

ah, duplicate of #349. there's no way to fix it.


Create a CAP-Based Application

Tutorials: https://developers.sap.com/tutorials/btp-app-create-cap-application.html
Write here how you think we can improve the tutorial ...
while copying the excel to our project ( cpapp) we first need to create folder data in the db folder

Hi @vishalkr31,
There is no need to create a data folder, cause as mentioned in step 2.7. you should copy this folder from the templates:

Best regards,
Iwona


Char fields added as Unicode not string

Per the spec, Char fields should have dtype |S1, but we are currently outputting "<U1", e.g.
cat field_type_combos.vcf.vcz/variant_IC1/.zarray
{
    "chunks": [
        10000
    ],
    "compressor": {
        "blocksize": 0,
        "clevel": 7,
        "cname": "zstd",
        "id": "blosc",
        "shuffle": 0
    },
    "dimension_separator": "/",
    "dtype": "<U1",
    "fill_value": null,
    "filters": null,
    "order": "C",
    "shape": [
        208
    ],
    "zarr_format": 2
}

Ah yes - it's not actually clear we want to do this: https://github.com/sgkit-dev/vcf-zarr-spec/issues/14
I think it would be simpler if we standardised on UTF8 going forward, so I'm going to close this as a "wonfix"


Ignores are not respected when using theme replace --force

What I expected to happen
Ignores are respected even when using --force. My thinking is that using --force is to ignore deltas between local and remote and force an upload. However the --ignore or ignore_file should be respected even with --force.
Essentially it should ignore first, force second.
What actually happened
Ignored files were removed from the server.
Steps to reproduce

Setup a theme, store, and themekit config
Add an image to the Shopify admin panel for a theme that is not local
Add the image to the ignore file or ignore argument
Run theme replace --force

Result:
The image on the remote server is gone.
My Environment
OS (including version):
Mac OSX 10.12.6 (16G1036)
Macbook Pro 15inch 2015 16gb ram
Themekit version:
ThemeKit 0.7.5 darwin/amd64
Ignore Files(if any):
resources
.gitignore
.DS_Store

resources is a folder we use gulp to build into assets.

👍  I will look into this.

Thank you, I was able to solve my immediate need by using theme update instead, it ignores remote files that are not in your local.
I think it still stands that replace could honor the ignores, but it’s possible this just needs to be confirmed as a use case for update and reflect this in the documentation for the two commands.

Hey @gregorskii I took a look at this today and it works as expected. I see you are ignoring a file called resources which may be a directory that you are ignoring? If it is the directory in question this should be
ignore_files:
    - resources/ # with the following slash

This would properly ignore the whole directory. You can see these rules in the ignores documentation https://shopify.github.io/themekit/ignores/
If I have misunderstood please provide an example ignore pattern that you are finding not to work.

Hi there,
The ignore is correctly working. That folder is compiled by gulp into assets (as Shopify won’t allow folders in assets). The issue I was having is it would replace sub files of the assets folder even if they were ignored.

And your ignores would look something like this correct?
ignore_files:
    - assets/ignore_this.jpg

It’s was using a theme kit ignore file using a wildcard for files:
/assets/mw*.jpg

I tested the wildcard. It was matching the paths. The issue was the remote files matching the path were removed from the theme. Does the theme kit ignore also ignore files on remote? Even if they are not local? That was the concern.

Yes they are but it may be that the path matching is done incorrectly against the remote paths. Thanks for the good example it will help testing this.

Awesome let me know if I can provide any more info. I am on mobile but if you need anything else tracked down or locked up please let me know.
Thanks!

Okay I still cannot reproduce this. This is the steps I have taken

touch assets/testimage.jpg
theme upload assets/testimage.jpg
add to config:

  ignore_files:
    - /assets/test*.jpg

theme replace -fv
there is no output in the console of it removing the file and the file is still on the server.

Can you follow these same steps and verify yourself. Can you identify anything I am missing in my setup?

Interesting. That is pretty much exactly what I did.
We used upload instead of replace. So if this cannot be reproduced ill just close it, and if anyone comes across it again there will be more examples.
:)


DATAJDBC-230 Support reading a sql file for a query

https://jira.spring.io/browse/DATAJDBC-230

Hi, what do you think about adding ability to specify sql file path in value?

@gavlyukovskiy I would add the ability after this PR is accepted.
I prefer adding new attribute such as filePath because having multiple meanings in value could be confusing.

Thanks for the effort, but as discussed in Jira we'd rather not merge this for the time being.


[Balance] Chemical Engine viability

In this issue I want to address the fuel, combustion promotor consumption rates, and power production of the Chemical Engine, along with a comparison with the existing LCE and ECE (Large Combustion Engine and Extreme Combustion Engine).
Along with two other people, we have checked the code, done math and checked in-game to assure our results do match our calculations and expected outcome.
This issue concerns Combustion type fuels, but by extent it can also apply to gas fuels.
I will be referencing to an issue currently existing in the GTNH github about the ECE, which can be found here: https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/7134. The summary of that issue is that the ECE supposedly consumes too much LOX, and is not worth it due to 100% fuel efficiency even when boosted (despite listing 400% in the tooltip).
Back on topic:
Our main goal was to compare the Chemical Engine with the ECE. With some calculation, we have determined that the ECE consumes 379L/sec of HOG per second, with the 320L/sec of LOX indicated, when boosted.
We adjusted the Combustion Promotor rate to 160L/sec which corresponds to 320L/sec of LOX.
Our test results:
Chemical Engine power output: 11277EU/sec (expected /tick, that's been reported in #3 and fixed by the time this is sent)
Chemical Engine fuel efficiency: 34.4%
Our conclusion:
To no surprise, disappointing. ECE is considered very far off meta due to the issues listing in the other issue, and we have here a multiblock performing a lot worse.
In comparison, two LCEs output 12288EU/t at 150% fuel efficiency, and does not require LOX at all. And even that multiblock doesn't seem to be a big appeal to GTNH players, as far as I am aware.
So naturally the next part of the tests come with increasing The Combustion Promotor. As the Chemical Engine is meant to produce unlimited power, let's crank the numbers up. Let's aim 131k EU/t (1 ZPM Amp) using HOG, with 90% efficiency (as 100% is unreachable).
This brings us to approximatively such numbers: 1680L/sec HOG and 7190L/sec Combustion Promotor, which is 14380L/sec LOX!! These are verified numbers. For reference, a ZPM powered Mega Vacuum Freezer only makes 4266L/sec LOX (256x cells per 60sec).
TL/DR:
Under the current implementation, if a player wanted combustion fuel to power their base, they would be better off spamming LCEs, by a landslide.
Our suggestions:
Tough to say, this is a balance issue. In my opinion this type of generator should be able to easily go over 100% fuel efficiency to make up for the investment in Combustion Promotor. The latter fluid consumption rate could also be lowered in order to reach those high efficiencies.
We believe the same type of issue appears with Gas type fuels, but we haven't done any testings on them to present any numbers.

yeah, you are right, it consumed too much liquid oxygen. i can change the efficiency coefficient to reduce the liquid oxygen use.
as to whether this mulit's efficiency should go over 100%, most generators in GT5 have lower efficiency if they have higher output voltage, i am afraid it maybe imbalanced.

This is a valid point. I know you and the gtnh team are very concerned about avoiding making things overpowered.
I however still have to express my own concern about repeating the ECE situation, or even mistake if I dare to say. I am pretty confident players are eager to try different power options that are actually worth it, over the standard "fluid nukes". Since I am not a known face, it would probably be better to have regulars voice themselves regarding this.

I am pretty confident players are eager to try different power options that are actually worth it, over the standard "fluid nukes".

That is also what I believe in. I think I should't be conservative about balancing.


refresh rate change possible

Hi there
Is it somehow possible to change the default refresh rate of 60hz to something different supported? I use nvidia proprietary driver with gentoo

Once this is ready to roll, yes: https://github.com/Cloudef/wlc/pull/265
Not until then. Also, the nvidia proprietary driver is unsupported, YMMV.


feat(queue): Add support for message ack timeout overrides

This was a fun one.

TBH I do not speak lua so this all looks groovy to me.


[Mod] BDArmory for Runway Project

Mod info

Mod name: BDArmory for Runway Project
Author(s): illectro, JR, DocNappers, Cl0by, Josue, aubranium, benbenwilde, TheKurgan
License: CC BY-SA 2.0
Homepage: https://docs.google.com/document/d/1taFjsHjuBoWwbpLLyg5V7c72eQUGGuPHdLIf0LueX_o/edit#heading=h.ozhxjvdiq0ma
Download: https://spacedock.info/mod/2487/BDArmory for Runway Project
Source Code: https://github.com/BrettRyland/BDArmory/

Thanks! SpaceDock got us started already at #8063.


fix type error of exercise 15 and labeled argument error of exercise 21

Signed-off-by: Victor Wang(wang shaojie<EMAIL_ADDRESS>

these changes were made separately.


Add dl.concat/stack/expandDims/pad and tensor.buffer()

Align dl.concat to match tf.concat (takes a list of tensors, instead of just two tensors)
Add dl.stack (and its chain sibling)
Add dl.expandDims (and its chain sibling)
Add dl.pad (and its chain sibling). Also have dl.pad1d/2d call into dl.pad.
Deprecate tensor.val()/get()/locToIndex()/indexToVal()
Add tensor.buffer() which returns TensorBuffer holding the underlying data.

Fixes #696, #706 and #705

This change is

Reviewed 4 of 10 files at r1, 4 of 6 files at r2, 2 of 3 files at r3.
Review status: all files reviewed at latest revision, 12 unresolved discussions.

src/tensor.ts, line 82 at r3 (raw file):

   * @param locs The location indices.
   */
  get(...locs: number[]): number {

tag this with @doc

src/ops/array_ops.ts, line 666 at r3 (raw file):

                 constantValue) as T;
    } else {
      throw new Error(`pad of rank-${x.rank} tensor is not yet supported`);

we should yell separately for rank === 0

src/ops/array_ops.ts, line 671 at r3 (raw file):

  /**
   * Stacks a list of rank-`R` tensors into one rank-`(R+1)` tensor.

using Tensor with backticks

src/ops/array_ops.ts, line 673 at r3 (raw file):

   * Stacks a list of rank-`R` tensors into one rank-`(R+1)` tensor.
   *
   * @param tensors A list of `Tensor` objects with the same shape and dtype.

remove backticks around Tensor and lowercase (convention for params since the type will already show up).

src/ops/array_ops.ts, line 689 at r3 (raw file):

      util.assertShapesMatch(
          shape, t.shape,
          'All tensors passed to dl.stack must have matching shapes');

remove "dl." here and below

src/ops/array_ops_test.ts, line 23 at r3 (raw file):

import * as util from '../util';

// tslint:disable-next-line:max-line-length

remove tslint, I think this is < 80chars

src/ops/array_ops_test.ts, line 1745 at r3 (raw file):

  it('2d, axis=2', () => {
    const res = dl.tensor2d([[1, 2], [3, 4], [5, 6]]).expandDims(2 /* axis */);
    expect(res.shape).toEqual([3, 2, 1]);

would be nice to assert values here too.

src/ops/concat.ts, line 119 at r3 (raw file):

  /**
   * Concatenates a list of tensors along a given axis.

upper-case tensors and backticks

src/ops/concat.ts, line 124 at r3 (raw file):

   * dimensions except `axis`.
   *
   * @param tensors A list of `Tensor`s to concatenate.

remove backticks around Tensor and lower case it, here and everywhere else in this file for params

src/ops/concat.ts, line 130 at r3 (raw file):

  @operation
  static concat<T extends Tensor>(tensors: T[], axis = 0): T {
    util.assert(tensors.length >= 2, 'Pass at least two tensors to dl.concat');

remove dl.

src/ops/concat.ts, line 133 at r3 (raw file):

    let result = tensors[0];
    for (let i = 1; i < tensors.length; ++i) {
      result = concat2Tensors(result, tensors[i], axis);

you're going to have lots of intermediates here - you should wrap this in a tidy.

src/ops/ops.ts, line 168 at r3 (raw file):

export const oneHot = array_ops.Ops.oneHot;
export const linspace = array_ops.Ops.linspace;
export const pad1d = array_ops.Ops.pad1d;

bring these two down besides exandDims / stack / pad

Comments from Reviewable

Reviewed 4 of 10 files at r1, 5 of 6 files at r2.
Review status: 5 of 10 files reviewed at latest revision, 12 unresolved discussions.

src/tensor.ts, line 82 at r3 (raw file):
Previously, nsthorat (Nikhil Thorat) wrote…
tag this with @doc

Done.

src/ops/array_ops.ts, line 666 at r3 (raw file):
Previously, nsthorat (Nikhil Thorat) wrote…
we should yell separately for rank === 0

Done.

src/ops/array_ops.ts, line 671 at r3 (raw file):
Previously, nsthorat (Nikhil Thorat) wrote…
using Tensor with backticks

Done.

src/ops/array_ops.ts, line 673 at r3 (raw file):
Previously, nsthorat (Nikhil Thorat) wrote…
remove backticks around Tensor and lowercase (convention for params since the type will already show up).

Done. Working on my dl.js doc readability :)

src/ops/array_ops.ts, line 689 at r3 (raw file):
Previously, nsthorat (Nikhil Thorat) wrote…
remove "dl." here and below

Done.

src/ops/array_ops_test.ts, line 23 at r3 (raw file):
Previously, nsthorat (Nikhil Thorat) wrote…
remove tslint, I think this is < 80chars

Done.

src/ops/array_ops_test.ts, line 1745 at r3 (raw file):
Previously, nsthorat (Nikhil Thorat) wrote…
would be nice to assert values here too.

Done.

src/ops/concat.ts, line 119 at r3 (raw file):
Previously, nsthorat (Nikhil Thorat) wrote…
upper-case tensors and backticks

Done.

src/ops/concat.ts, line 124 at r3 (raw file):
Previously, nsthorat (Nikhil Thorat) wrote…
remove backticks around Tensor and lower case it, here and everywhere else in this file for params

Done.

src/ops/concat.ts, line 130 at r3 (raw file):
Previously, nsthorat (Nikhil Thorat) wrote…
remove dl.

Done.

src/ops/concat.ts, line 133 at r3 (raw file):
Previously, nsthorat (Nikhil Thorat) wrote…
you're going to have lots of intermediates here - you should wrap this in a tidy.

@operation takes care of that. We made some small steps in the battle with webgl textures! Slowly...

src/ops/ops.ts, line 168 at r3 (raw file):
Previously, nsthorat (Nikhil Thorat) wrote…
bring these two down besides exandDims / stack / pad

Done.

Comments from Reviewable


Repo image bloat

Just so we don't forget about it, we need to separate the reference images from the repo someday™
todo: check how other projects are handling this issue

Could be related to #163 and #164

We could remove the reference images from the repo completely, and instead publish a precompiled version to the #gh-pages branch. Then, on the VRT step, generate fresh reference images from bitcrowd.github.io/bitstyles/ and compare them to the images created from the local project. Reference files could be locally cached too and regenerated on command/every X time units. That should kill both the bloat as well as the inconsistencies between dev machines.

Fixed by #277


Validator incorrectly flags runner.debug as invalid

Add to a GitHub Actions YAML file (assuming a Windows runner)
jobs:
  build:
    steps:
    - name: Test
      shell: cmd
      working-directory: ${{ github.workspace }}
      run: ctest --preset=${{ matrix.build_type }} %CTEST_DEBUG_OPTS%
      env:
        CTEST_DEBUG_OPTS: ${{ runner.debug == '1' && '--output-on-failure' || '' }}

The VS Code Extensions flags it as a warning:
"Context access might be invalid"
Per this PR, this was previously undocumented but is supported:
https://github.com/github/docs/pull/19404
Note that runner.debug doesn't work at global scope or at job scope, only at steps.

Already reported in the actions/languageservices repo:

https://github.com/actions/languageservices/issues/78


Access for India Fallon

We'd love to get our new employee, India, added to our GitHub instances, as well as given Admin privileges in OAR Staging and Prod, + the Beta.
Her GitHub username is india-oshub.
She used<EMAIL_ADDRESS>to register for her accounts on OAR Staging, Prod and Beta.

I invited India to the Github org and made them an admin on OAR staging and production. I could not find their account on OS Hub staging so I sent an email requesting that they reply after registering.


Thanks for amazing service! I prepared simple js client

Thanks for developing and supporting this service.
I prepared simple js-client - https://github.com/Xotabu4/inbucket-js-client
It might have bugs, so will be thankful for feedback!

Cool, thanks for that.  Does this work both in browser and with nodejs?  I can add it to the wiki page if you like.

@jhillyerd i using it now in nodejs testing projects, and haven't tested it in browser.

Cool.  Listed here now: https://github.com/jhillyerd/inbucket/wiki/REST-API


Do not log exceptions from the django cli client twice

This fixes #802
@dcramer thoughts?

This change is

Reviewed 1 of 2 files at r1, 1 of 1 files at r2.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

Comments from Reviewable

@dcramer @mitsuhiko Is this good to go, too? I haven't been able to find a good work-around for it yet. Thanks!


Add codecov token as secret inline

Description
Add codecov token as secret inline
This secret is repository specific and is not usable outside of opensearch-project/security Generated from https://app.codecov.io/gh/opensearch-project/security/settings/yaml
Issues Resolved
Seeing a number of codecov jobs fail this morning along with a log message indicating the token is not making it into the uploader executable.
  Codecov report uploader 0.7.1
[2024-01-08T13:46:12.908Z] ['info'] => Project root located at: /home/runner/work/security/security
[2024-01-08T13:46:12.912Z] ['info'] -> No token specified or token is empty

Issue seen https://github.com/opensearch-project/security/pull/3929
Issue seen https://github.com/opensearch-project/security/pull/3930

Testing
Will be validating the coverage job associated with this PR
Check List

[ ] New functionality includes testing
[ ] New functionality has been documented
[X] Commits are signed per the DCO using --signoff

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

[2024-01-08T14:47:30.729Z] ['info'] => Project root located at: /home/runner/work/security/security
[2024-01-08T14:47:30.734Z] ['info'] -> No token specified or token is empty

😞

I'm not making any progress on this, and the code coverage doesn't seem to be failing as often 🤷


Miss cascade_rcnn pickle in person detector

No cascade_rcnn.pkl checkpoint found when implementing person_detector.py
"/scratch/shared/beegfs/yuki/adiwol/experts/cascade_rcnn.pkl"
Is this missed in the repo?

Hi, sorry for this.
We use a COCO trained cascade_rcnn from the detectron2 repo:
https://github.com/facebookresearch/detectron2/blob/main/MODEL_ZOO.md#other-settings
More specifically:
https://dl.fbaipublicfiles.com/detectron2/Misc/cascade_mask_rcnn_R_50_FPN_3x/144998488/model_final_480dd8.pkl

thanks! glad that I used the same one :smile:


templating: metas, body and reply (not replies/children) inside a div

Hi,
Firstly, thanks for this great work, the comment bundle is being very usefull for me :)
I would suggest change the default comment template and put the divs "metas, body and reply (not replies) inside an unique div, now the comment template looks like:

...

...

...

...

And keep the fos_comment_comment_replies div outside. The container div could be called (for example) fos_comment_comment_content. It will look like this:

...

...

...

...

...

This change would allow decorate all the content of only one comment without tricks and without affecting the comment children, for example a simple solid background color with rounded corners.
I know I can override the template, but I like to keep the templates synced with the master one unless it is absolutely necessary
I think it would be usefull for everyone, but maybe I'm wrong :)
Thanks,
Tomás

Feel free to submit a PR.


Rotate Heightmaps 90 degrees about X

Set them up so that they are aligned nicely with the default lights. Make Y the height axis.

Fixed by https://github.com/xeolabs/xeoengine/commit/f1902d38f584a9a55a2ddeb6b5968246e19a24b5


url=[[KB Search.articleurl]g] does not work

unlike documented url=[[KB Search.articleurl]g] this does not work but url=[[KB Article.articleurl]g] works out here.

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

ID: f5d18ffe-9b89-43b2-fa04-5cbacc4431c7
Version Independent ID: f7e45792-cdd2-bf92-f8a0-cf1085b5cf91
Content: Unified Service Desk release notes
Content Source: ce/unified-service-desk/release-notes.md
Service: dynamics-365-customerservice
GitHub Login: @mh-jaya
Microsoft Alias: v-jmh

Hello,
I consulted our teams on the instructions in Step 5: Configure hosted controls and action calls to display an article in a tab.  The current content is accurate based on the settings and controls configured for the environment.
In case of any further questions regarding the product or feature, we request you to please raise a support request. To contact Support, consider one of the options described here: https://docs.microsoft.com/dynamics365/get-started/support/
Closing this issue.
Thanks,
Jaya


Ability to configure software downloads via settings config

Via ${SETTINGS_PATH}/devon/devon.properties it should be possible to configure alternative download Repo URL for software tools.
The Repository should have the following structure:
${DEVON_SOFTWARE_REPOSITORY}/«tool»/«version»/«tool»-«version»-«os».tar.gz

with the following segments:

«os» : windows, mac, linux
«tool»: java, maven, ...
«version»: tool version

Questions to be clarified:

What if I only want a specific tool from this repo and let others download from public web URLs?
What if I want two versions of the same tool? I have requirements from projects that
Should we install the tools centrally with version-number and create symlinks in software?
Do we need to distinguish architecture or other aspects as well (e.g. x64 vs. x32)? I assume not as x32 is more or less dead...
What if the software repo needs authentication?
Do we need a mechanism to find the latest version from the repo?

We also would need to clarify where we could create such a repo inside our company to test the feature. Should ideally be accessible via HTTP(S).

Done with PR #114.
Most probably contains bugs as it is not tested much.
Feedback, testing and bug reports are most welcome.
Documentation is available here:
https://github.com/devonfw/devon-ide/blob/master/documentation/software.asciidoc#repository


Add brew support

Adds support for getting the poppler include and library directories from brew directly
Useful in M1 Mac's, where the homebrew prefix is non standard due to the separation of intel libraries and arm libraries
To support both python 2 and 3 check_output is decoded, in python 3 this is a byte whereas in python 2 it is a string already

Coverage remained the same at 97.647% when pulling c907235c704ddc79a6c915336d9a9936fdf3ae56 on 8W9aG:add-brew-support into b128b90249ac2fe040ee145ad98308c1cf2620e1 on jalan:master.

Thanks!

I've been meaning to add test runners on macOS 11 via github actions. I'll aim to do a bugfix release that includes this fix after that. Should be this week.

Finally published a release with this fix :+1: Thanks again!


Requests don't return data anymore

Well formed requests only return {"status":"ok","data":false}.
This happens with all requests for Summoners on EUW currently.

Any luck with this?

Has this issue been resolved? Just started using it and even the example returns this error

This is an issue that affects all endpoints. op.gg have since updated their site, so the code that parses the pages needs to be updated. I'm currently in the process of rewriting.


搜索词存在全角括号或者冒号时搜索不到内容

搜索词存在全角括号或者冒号时搜索不到，改为半角符号就能搜索结果了。
calibre, version 5.44.0
错误： 无匹配项: 无法为你找到书籍元数据。请尝试扩大搜索范围。比如：只使用作者的名称或只包含标题中具有特征性的词组。要查看完整的日志，请点击“查看详细信息”。
Running identify query with parameters:
{'title': '深入浅出数据分析', 'authors': ['（美）米尔顿著'], 'identifiers': {}, 'timeout': 30}
Using plugins: New Douban Books (1, 0, 7)
The log from individual plugins is below
****************************** New Douban Books (1, 0, 7) ******************************
Found 0 results
Downloading from New Douban Books took 1.368743896484375
Plugin New Douban Books failed
Traceback (most recent call last):
File "calibre/ebooks/metadata/sources/identify.py", line 47, in run
File "calibre_plugins.dummy1.init", line 293, in identify
books = self.book_searcher.search_books(isbn or title, log)
File "calibre_plugins.dummy1.init", line 65, in search_books
book = future.result()
File "concurrent/futures/_base.py", line 432, in result
File "concurrent/futures/_base.py", line 388, in __get_result
File "concurrent/futures/thread.py", line 57, in run
File "calibre_plugins.dummy1.init", line 79, in load_book
res = urlopen(Request(url, headers={'user-agent': random_user_agent()}))
File "urllib/request.py", line 222, in urlopen
File "urllib/request.py", line 531, in open
File "urllib/request.py", line 640, in http_response
File "urllib/request.py", line 569, in error
File "urllib/request.py", line 502, in _call_chain
File "urllib/request.py", line 649, in http_error_default
urllib.error.HTTPError: HTTP Error 418:

The identify phase took 1.43 seconds
The longest time (1.368744) was taken by: New Douban Books
Merging results from different sources
We have 0 merged results, merging took: 0.00 seconds

418一般是防爬虫错误，全角应该不影响查询

418一般是防爬虫错误，全角应该不影响查询

主要是每次都是存在全角符号时报错，然后替换为半角或去除之后就正常了。


[LASKER] fix broken rspecs

[MORPHY] [LASKER] fix broken rspecs
(cherry picked from commit 6cf15cb651943f28e1e656a7ee36cf08aad97f23)
Direct PR backport of https://github.com/ManageIQ/manageiq-providers-autosde/pull/84 (pluggable provider secrets caused the conflict)

Pulled in #94 to get travis to run, this will be red until #103 is also backported


IDBDAO configuration for ReleaseWebInterfaceJunction

Reify correct IDBDAO configuration for ReleaseWebInterfaceJunction in a class. This is planned to be used in upcoming work to improve page load time.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #86   +/-   ##
=======================================
  Coverage   68.42%   68.42%
=======================================
  Files          31       31
  Lines        1479     1479
  Branches      108      108
=======================================
  Hits         1012     1012
  Misses        467      467

Continue to review full report at Codecov.

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


Loading pre-trained models (torch.hub.load_state_dict_from_url() or torch.hub.load())

@NiklasGustafsson @ericstj @GeorgeS2019
Probably people want to have a place to download pre-trained model files so that they can fine-tune pre-made models by TorchVision and TorchAudio without converting files themselves. We need likes of torch.hub and a public storage.

https://github.com/dotnet/TorchSharp/pull/703
https://github.com/dotnet/TorchSharp/pull/595

Adding @luisquintanilla to the discussion -- this is something we need to address for ML.NET in general.

I'm wondering why it's seems to be stopped here. Has this been solved, or maybe are there some commercial problems?
Would it be acceptable to upload the converted models to some platform like hugging face in the name of an individual?

The reason is simple -- in the general case, you would want to have the ability to associate model weights with code, such as a NuGet package. Model weights are really like any other binary resource (to use the .NET name), just really big. That size is the problem:

NuGet Gallery won't accept packages larger than 250MB, so that excludes a lot of weights files. The weights can't just be embedded in the package, they have to reside outside.

We can provide a "standard" space for model weights, but someone will have to pay for it. That makes it hard.

We can make it the developer's problem -- find some location to store weights, paid or free. We already have this capability, and @shaltielshmid's TorchSharp extension library has expanded the model weight formats that can be supported.

One options that might be possible - if we are using PyBridge to load in the weights, maybe we can just link directly to the storage that PyTorch uses and then we don't have to worry about that.

@NiklasGustafsson
https://github.com/dotnet/TorchSharp/discussions/1277#discussion-6438105
Use huggingface to store

One options that might be possible - if we are using PyBridge to load in the weights, maybe we can just link directly to the storage that PyTorch uses and then we don't have to worry about that.

The challenge is what @yueyinqiu called 'a public storage' -- who pays? We should make it easy to download weights in a standardized manner, but (for now), we have to make it up to package (model) developers to decide where to store the weights publicly.

Right. I guess my response is regarding the linked issue with downloading the weights to a pretrained model (vgg) from the torch hub.
Maybe we can integrate using the already uploaded weights from the hub?

You mean like we do in torchvision.models but automatically finding the weights files?

Yes
I'm not sure if that's the place to implement it since it would require PyBridge to be installed, which would be another dependency

No, it would go elsewhere.

@NiklasGustafsson @shaltielshmid
Could one of you comment of the feasibility of using HuggingFace?

https://huggingface.co/williamlzw/stable-diffusion-1-5-torchsharp

Ref: https://github.com/dotnet/TorchSharp/discussions/1277#discussion-6438105

Hugging Face provides an interface that allows you to export Transformers models to TorchScript, making it possible to reuse these models in environments other than PyTorch-based Python programs.
Now TorchSharp support TorchScript:  Is HuggingFace the right place for TorchSHarp to support TorchScript??

@williamlzw
Could you share your experience of sharing TorchSharp model through HuggingFace.

Is it free.
Is it complicated?

Huggingface is absolutely feasible. TorchSharp should not standardize on HF as the one place to store weights. It should be up to model developers to decide where to store weights.
From: GeorgeS2019 @.>
Date: Tuesday, April 16, 2024 at 11:15
To: dotnet/TorchSharp @.>
Cc: Mention @.>, Comment @.>, Subscribed @.***>
Subject: Re: [dotnet/TorchSharp] Loading pre-trained models (torch.hub.load_state_dict_from_url() or torch.hub.load()) (Issue #713)
@NiklasGustafssonhttps://github.com/NiklasGustafsson @shaltielshmidhttps://github.com/shaltielshmid
Could one of you comment of the feasibility of using HuggingFace?
image.png (view on web)https://github.com/dotnet/TorchSharp/assets/49812372/95e5a374-4c78-4fda-ab3f-2a2f2ca51dd4
https://huggingface.co/williamlzw/stable-diffusion-1-5-torchsharp
image.png (view on web)https://github.com/dotnet/TorchSharp/assets/49812372/eec55d55-2358-4e6e-9527-9975d6f6618a
Ref: #1277 (comment)https://github.com/dotnet/TorchSharp/discussions/1277#discussion-6438105
—
Reply to this email directly, view it on GitHubhttps://github.com/dotnet/TorchSharp/issues/713#issuecomment-2059677049 or unsubscribehttps://github.com/notifications/unsubscribe-auth/AANVMB32F2U4RHYLH4D26HLY5VTCNBFKMF2HI4TJMJ2XIZLTSOBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDUOJ2WLJDOMFWWLLTXMF2GG2C7MFRXI2LWNF2HTAVFOZQWY5LFUVUXG43VMWSG4YLNMWVXI2DSMVQWIX3UPFYGLLDTOVRGUZLDORPXI6LQMWWES43TOVSUG33NNVSW45FGORXXA2LDOOJIFJDUPFYGLKTSMVYG643JORXXE6NFOZQWY5LFVEYTKMRXG4YDIMBXQKSHI6LQMWSWS43TOVS2K5TBNR2WLKRRGM2TONBXGMYDEOFHORZGSZ3HMVZKMY3SMVQXIZI.
You are receiving this email because you were mentioned.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Perhaps I have misunderstood this issue. Actually letting developers to store and provide the weights is what PyTorch does, which also make sense for us, because everyone could create their model and we cann't know all of them.
Since we cannot resolve hubconf.py without a python environment, the only solution to implement a torch.hub for us is to create a completely new protocol just like our .dat, which is almost impossible and also not that necessary. So perhaps no more things has to be added in torch.hub, which might just cause a misleading. I suppose it will be fine to just use download_url_to_file and then someModel.load.
I just commented on this issue because of #1265, which is for the pertrained models provided by PyTorch. For other models, we should let the developers to decide whether whether to provide their model in .dat format, but I suppose that PyTorch won't do that forever. So if we want to keep consist with it as much as possible, we should provide the converted version of all the pertained models of PyTorch, and then we could also provide similar apis in modules like torchvision.models.
Meanwhile I could understand that using hugging face as the "standard" space is not that proper. At least we shouldn't hard code a hugging face link in our code. So perhaps the best solution for now is to upload the converted models onto hugging face and create another project which could load them, in the name of an individual rather than TorchSharp.

Meanwhile I failed to load the vgg16 model with current PyBridge. It seems that it is using a legacy pickle format.

@yueyinqiu
Thx for helping us to check, what works what fails.

https://github.com/kjsman/stable-diffusion-pytorch
I transplanted the torchsharp version of the sd model by referring to the code in this repository.

I have uploaded all the weights in torchvision.models here with this.
Not checked for all models, but at least for me, the first number of the first parameter of vgg16 could be loaded:
using TorchSharp;

var huggingFace = "https://huggingface.co/";
// var huggingFace = "https://hf-mirror.com/";

var file = new FileInfo("./vgg16.dat");
if (!file.Exists)
    torch.hub.download_url_to_file(
        $"{huggingFace}yueyinqiu/vision-TorchSharp/resolve/main/VGG16_Weights.IMAGENET1K_V1",
        file.FullName);

var vgg1 = torchvision.models.vgg16();
var vgg2 = torchvision.models.vgg16(weights_file: file.FullName);

Console.WriteLine(vgg1.parameters().First().data<float>().First()); // seems to be a random value
Console.WriteLine(vgg2.parameters().First().data<float>().First()); // always -0.5537306

@yueyinqiu
You need to ensure that the key name of the torchsharp weight is exactly the same as the pytorch weight key name, and the weight value size and type must match.
torchsharp
var model = torchvision.models.vgg16();
foreach (var index in model.state_dict())
{
Console.WriteLine($"{index.Key},{string.Join(",", index.Value.shape)}");
}
pytorch
model = torchvision.models.vgg16()
for (key,value) in model.state_dict().items():
print(key, value.shape)

@williamlzw I suppose they are. Did you meet any problem when loading it?

How do you convert these weights? For example VGG16_Weights.IMAGENET1K_V1.

I just use weight.get_state_dict (where weight is something like torchvision.models.VGG16_Weights.IMAGENET1K_V1) to download the PyTorch state dictionary, and then use exportsd.save_state_dict to save it in TorchSharp format. Full codes are here.
And it's @kaiidams and @NiklasGustafsson that wrote the models, whose the key names are kept same as the ones in PyTorch. #703 #595 #759

I tried it and it can be loaded.
c#
public static void test_tensor()
{
var vgg1 = torchvision.models.vgg19();
// foreach(var key in vgg1.state_dict().Keys)
//{
//   Console.WriteLine(key);
// }
vgg1.load("C:\Users\Administrator\Desktop\vgg19.dat");
}
pytorch
import exportsd
from torchvision.models import vgg19
model = vgg19()
for (k, v) in model.state_dict().items():
print(k)
with open(f"./vgg19.dat", "wb") as file:
exportsd.save_state_dict(model.state_dict(), file)

There is no problem with vgg19, but there is indeed a problem with vgg16 loading.

@yueyinqiu
Do we need to include documentation where new Users of TorchSharp can access Torch vision pretrained weights?
https://github.com/dotnet/TorchSharp/discussions/1277

@williamlzw How could I know whether it is correctly loaded? I have checked the first parameter and it seems to be successfully loaded. Sorry it might be a silly question but I really don't know about that.

One way is to rewrite the sequence layer of the pytorch model, split it into individual layers, and then convert it into torch sharp weights.


added smappee component

Description:
Added components for https://www.smappee.com/
Example entry for configuration.yaml (if applicable):
smappee:
    host: <IP_ADDRESS>
    client_id: YOUR_CLIENT_ID
    client_secret: YOUR_CLIENT_SECRET
    username: YOUR_MYSMAPPEE_USERNAME
    password: YOUR_MYSMAPPEE_PASSWORD

Checklist:

[x] The code change is tested and works locally.

If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[x] New dependencies have been added to the REQUIREMENTS variable ([example][ex-requir]).
[x] New dependencies are only imported inside functions that use them ([example][ex-import]).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.

+1

Please include a link to the docs PR.

Docs PR is here https://github.com/home-assistant/home-assistant.github.io/pull/4354

Thanks for al of the feedback, I tried fixing all of it, but I'm not exactly a python expert, so I hope it's better :)

Awesome work! 🎉


chore: setup code owners

Proposed changes
Setup code owners to restrict who can approve changes.
Types of changes

[x] Other

Checklist

[x] I have read the CONTRIBUTING documentation
[x] Lint and unit tests pass locally with my changes

@air1one @supaiku0 - please review this in the next few days. Be sure to explicitly select labels so I know what's going on.
If no reviewer appears after a week, a reminder will be sent out.

@faustbrian The ci/circleci: build-beta job is failing as of cfc0d5dc0ac176f6b1985296f63c23ba92659ebd. Please review the logs for more information.
Once you've pushed the fixes, the build will automatically re-run. Thanks!


Add AdmissionCheckStrategy documentation

What type of PR is this?
/kind documentation

What this PR does / why we need it:
Which issue(s) this PR fixes:

Part of #1432
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

/assign @tenzen-y
/assign @alculquicondor


DNS Loop for zone "."

Environmental Info:
k3s version v1.27.6+k3s1 (bd04941a)
go version go1.20.8
Node(s) CPU architecture, OS, and Version:
5 nodes, each with CPU amd64 and OS ubuntu 22.04
Describe the bug:
CoreDNS pods crash constantly and it makes others pods crash. I tried many things for days and I just cant find a permanent fix. If I change the default "forward" rule in the coredns configmap to something like forward . tls://<IP_ADDRESS> it works, but it get overwritten so it is not very helpful and I dont know if it is possible to make the change permanent.
CoreDNS pods crash with this error message :
[FATAL] plugin/loop: Loop (<IP_ADDRESS>:60292 -> :53) detected for zone ".", see https://coredns.io/plugins/loop#troubleshooting. Query: "HINFO<PHONE_NUMBER>000263180.6097644536601687215."
The coredns config map :
.:53 {
    errors
    health
    ready
    kubernetes cluster.local in-addr.arpa ip6.arpa {
      pods insecure
      fallthrough in-addr.arpa ip6.arpa
    }
    hosts /etc/coredns/NodeHosts {
      ttl 60
      reload 15s
      fallthrough
    }
    prometheus :9153
    forward . /etc/resolv.conf
    cache 30
    loop
    reload
    loadbalance
    import /etc/coredns/custom/*.override
}
import /etc/coredns/custom/*.server

My resolv conf on hosts (same on each server) :
nameserver <IP_ADDRESS>
options edns0 trust-ad

The resolv conf on pods :
search default.svc.cluster.local svc.cluster.local cluster.local
nameserver <IP_ADDRESS>
options ndots:5

I'm not sure why you would be getting errors from that upstream, but as you noted you can't just directly change the coredns configmap as it is managed by k3s.
My suggestion would be to either point at a different upstream in the host resolv.conf, or create another resolv.conf just for use by k3s that uses at your desired upstream, and point at that using the --resolv-conf option.


untap: add --force switch

Another take on: https://github.com/Homebrew/brew/pull/9422
Changes in comparison to previous PR:

if HOMEBREW_DEVELOPER env variable is set and there are tap formulae or casks installed, print warning instead of dying

assing formulae and casks name to variable, so we avoid duplicated logic

[ ] Have you followed the guidelines in our Contributing document?

[ ] Have you checked to ensure there aren't other open Pull Requests for the same change?

[ ] Have you added an explanation of what your changes do and why you'd like us to include them?

[ ] Have you written new tests for your changes? Here's an example.

[ ] Have you successfully run brew tests with your changes locally?

[x] Have you successfully run brew man locally and committed any changes?

Review period will end on 2020-12-10 at 21:52:38 UTC.

if HOMEBREW_DEVELOPER env variable is set and there are tap formulae or casks installed, print warning instead of dying

I find this logic is inverse to anything else switched by HOMEBREW_DEVELOPER. If I am a HOMEBREW_DEVELOPER, I want a hard failure instead of a warning so I, as a developer, can submit a PR to fix the error.

We should make this:

A warning for everyone.
A failure for HOMEBREW_DEVELOPERs, a warning for everyone else.
A failure for everyone.

Review period ended.

A warning for everyone.
A failure for HOMEBREW_DEVELOPERs, a warning for everyone else.
A failure for everyone.

I disagree. The way this is implemented in the PR is consistent with how brew uninstall behaves wrt. dependencies.


🐛 FIX: Added tags in on handle of ci

Codecov Report

Merging #19 (5c6ce62) into master (484fb43) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #19   +/-   ##
=======================================
  Coverage   98.20%   98.20%
=======================================
  Files           4        4
  Lines         223      223
=======================================
  Hits          219      219
  Misses          4        4

Flag
Coverage Δ

pytests
98.20% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


[FIX-#4857][UI] Delete excess dolphinscheduler-ui.zip file

[FIX-#4857][UI] Delete excess dolphinscheduler-ui.zip file
There is a excess file dolphinscheduler-ui.zip in the root directory,delete it.

Codecov Report

Merging #4859 (6958839) into dev (5517599) will decrease coverage by 0.21%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #4859      +/-   ##
============================================
- Coverage     45.65%   45.43%   -0.22%
+ Complexity     3444     3427      -17
============================================
  Files           539      539
  Lines         23205    23205
  Branches       2705     2705
============================================
- Hits          10594    10543      -51
- Misses        11660    11716      +56
+ Partials        951      946       -5

Impacted Files
Coverage Δ
Complexity Δ

.../server/master/runner/DependentTaskExecThread.java
51.57% <0.00%> (-16.85%)
10.00% <0.00%> (-5.00%)

...ver/master/consumer/TaskPriorityQueueConsumer.java
43.33% <0.00%> (-10.00%)
16.00% <0.00%> (-4.00%)

...olphinscheduler/server/utils/DependentExecute.java
61.84% <0.00%> (-9.22%)
17.00% <0.00%> (-4.00%)

...inscheduler/service/zk/CuratorZookeeperClient.java
60.97% <0.00%> (-4.88%)
7.00% <0.00%> (-1.00%)

...eduler/server/worker/runner/TaskExecuteThread.java
58.53% <0.00%> (-4.88%)
13.00% <0.00%> (-1.00%)

...olphinscheduler/plugin/alert/email/ExcelUtils.java
78.18% <0.00%> (-3.64%)
8.00% <0.00%> (-1.00%)

...r/server/worker/processor/TaskCallbackService.java
38.09% <0.00%> (-3.18%)
8.00% <0.00%> (ø%)

...inscheduler/server/master/config/MasterConfig.java
42.42% <0.00%> (-3.04%)
11.00% <0.00%> (-1.00%)

Continue to review full report at Codecov.

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


Enhancement: Use the SqlBulkCopy.RowsCopied property for MDS

Currently, RepoDb is reflecting the '_rowsCopied' variable for MDS. There were recent updates that the property 'RowsCopied' has been exposed. Please see this release at v2.0.
This story will update the RepoDb code line to use those property instead.

Part of the latest version v1.11.4. Closing this one now.


feat(products): Added description field to ProductVarioant

I want to merge this change because...

Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

Please delete this


Simplify/Dedup STEP 5 Line 2271 - 2367

The code here contains lots of dublicate code, which could be greatly reduced. It switches only if its row or column. The code would be much more readable/maintainable if we calculate all of this named with cross/main-axis and only switch at the end to set either childWidth or childHeight.
If you agree, I'd put up a PR for this.

create PR


vcpkg install installs symlinks incorrectly

See the place where we copy symlinks on install:
https://github.com/microsoft/vcpkg-tool/blob/f6c8e328d9fd32be36d27e1c3036ef1ec1521148/src/vcpkg/install.cpp#L134-L150
We use std::copy_symlink. However, it is likely that the symlink points into the packages tree, meaning that a correct copy would need to retarget the symlink to point to its new relative location.
Most binary cache sources can't handle symlinks anyway, because we normally use zip files.
I'm not sure what the right behavior is; we probably should drop symlink handling here altogether.

On Unix, at least, we can pretty easily use read_symlink and manually retarget.


Heroku 'Deploy Button' does not account for optional config variables.

As the title says. I tried to deploy by clicking the Heroku Deploy button (which is just amazing btw, go heroku.) Through the process I was prompted to set several more config vars. Unfortunately, on the heroku page that opens up you can't add new config vars, you're restricted to the preset ones that are sent with the button. I don't know how you made all that magic work, but it prompted me for Opbeat and Sentry config variables.

Sounds like you need to add your Opbeat and Sentry config variables on the command-line. That's done so after you install the Heroku toolbelt:
heroku config:set KEY=VALUE

@burhan might be able to answer more completely.

Definitely, they have to be added, but it seemed like the point of the 'Deploy on Heroku' button was to streamline that process. Currently, if you use opbeat/sentry and click the Deploy on Heroku button, deployment will fail because of those config variables and you'll be forced to do the entire process on the command line anyway.

As I have just played around with this ( reallly awesome! ) project, with complete fresh eyes - and new to heroku! Please let me humbly give you a few things I had stumbled upon in the process ( see attachement)
Currently the deploy on Heroku didn't run all the necessary cmds for me. I ended having to use a bash anyways.
Hope these few notes for newbes could be useful for you with the doc!
NotesoncreatinganappwithDjango-CookieCutterforherokudeployment.pdf

@guillaume-miara, do you want to submit that as a Pull Request in RestructuredText for our documentation? If not that, have you considered publishing your notes as a blog post?

@mekhami , while we are going to continue supporting Heroku, I've decided that we're going to remove the Heroku Deploy Button (#779). There's too much going on with Cookiecutter Django, and the deploy button is better used on apps that are simpler in approach.


As a user, I want backup verification for my new seed phrase as I create an account.

We need to include backup verification for newly generated seed phrases. We can do by asking the user to type in the n-th word from the seed phrase after it was generated. The number of values for n depends on the level of security we want (2-word minimum and maximum entire phrase).
Let's do 4 words verification.
Design:
https://app.zeplin.io/project/5b1752dd44fc7a0363cd9dc8/dashboard?seid=5b2c9c408eac4a6376e1d194

@developer0623 Significant work already done in this branch feat/seedGrid.


GraalVM vs client-maven-plugin - resulting binary size

I just compared resulting binaries size of one of the examples (https://github.com/gluonhq/client-samples/tree/master/Maven/HelloWorld - the most rudimentary single class):

graalvm-ce-19.2.0: 2188K ~ 2,2M
client-maven-plugin: 39144K ~ 38,2M

client-maven-plugin produces whole .app bundle but still, the helloworld binary inside is 38884K ~ 37,97M.
What causes the discrepancy? I though that you are using graalvm to make those (from the output it seems you are using current development version 20). Is making output binaries smaller / on par with graalvm on your roadmap?
PS. is there some dedicated mailing-list or forum? Not sure it such general questions in the 'issues' section on github are ok.

OK, after some digging in:
<EMAIL_ADDRESS>HelloWorld $ otool -L helloworld
helloworld:
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.250.1)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1575.17.0)
	/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)

and client-maven-plugin:
<EMAIL_ADDRESS>HelloWorld $ otool -L target/client/macos-x86_64/helloWorld.app/Contents/MacOS/helloWorld
target/client/macos-x86_64/helloWorld.app/Contents/MacOS/helloWorld:
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.250.1)
	/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1575.17.0)
	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1671.60.107)
	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 50.1.0)
	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (compatibility version 1.2.0, current version 1.11.0)
	/System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 58286.255.3)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1575.17.0)

Would it be possible to use/select frameworks more selectively?

Same here:
HelloFx.exe  (for Windows)  has  57MB ...

Just tested it with the latest GraalVM (GraalVM CE 20.2.0 (build 11.0.8+10-jvmci-20.2-b03)) and plugin (<client.plugin.version>0.1.31</client.plugin.version>) and there is still discrepancy:

native-image: 6,7M
client-maven-plugin: 38M

I also compared memory usage and:

native-image: 1,2M
client-maven-plugin: 11,2M

What causes this discrepancy (in case of memory usage)? Are there any plans to slash it (would be nice to be able to use client-maven-plugin to easily build native images)

Hello, any news about this ?


Docker Registry V2.8.1 Push fails to GCS "Blob Upload Unknown" "upload resumed at wrong offest: 0 != 772806"

Hi,
I'm running into an issue when  pushing docker images with the GCS driver and registry:2.8.1 docker image.
However, it does work with registry:2.3.1
Below is my conf.yml file
  version: 0.1
   log:
     fields:
       service: registry
   storage:
     cache:
       blobdescriptor: inmemory
     gcs:
       bucket: <gcs-bucket>
       keyfile: /etc/docker/registry/key/gcs-key.json
       rootdirectory: /
   http:
     addr: :5000
     secret: {{.Values.htpasswd}}
     headers:
       X-Content-Type-Options: [nosniff]
   health:
     storagedriver:
       enabled: true
       interval: 10s
       threshold: 3

Error:
<IP_ADDRESS> - - [18/Mar/2022:03:31:40 +0000] "PUT /v2/plugins/busybox/blobs/uploads/737436ac-2043-4b8c-a85e-5b959ba75859?_state=OJv_dKEM2gRk4zcrWZqPw0gfbDMCeuv55QkxLQWISfx7Ik5hbWUiOiJwbHVnaW5zL2J1c3lib3giLCJVVUlEIjoiNzM3NDM2YWMtMjA0My00YjhjLWE4NWUtNWI5NTliYTc1ODU5IiwiT2Zmc2V0Ijo3NzI4MDYsIlN0YXJ0ZWRBdCI6IjIwMjItMDMtMThUMDM6MzE6MzhaIn0%3D&digest=sha256%3A554879bb300427c7301c1cbdf266a7eba24a85b10d19f270b3d348b9eb9ca7df HTTP/1.1" 404 76 "" "docker/20.10.8 go/go1.16.6 git-commit/75249d8 kernel/5.10.47-linuxkit os/linux arch/amd64 UpstreamClient(Docker-Client/20.10.8 \\(darwin\\))"
time="2022-03-18T03:31:41.684776182Z" level=error msg="response completed with error" err.code="blob upload invalid" err.message="blob upload invalid" go.version=go1.16.15 http.request.host=uat.harness.io http.request.id=95fbcb4d-fc13-4b40-a2a2-577ef0c61282 http.request.method=PUT http.request.remoteaddr=<IP_ADDRESS> http.request.uri="/v2/plugins/busybox/blobs/uploads/737436ac-2043-4b8c-a85e-5b959ba75859?_state=OJv_dKEM2gRk4zcrWZqPw0gfbDMCeuv55QkxLQWISfx7Ik5hbWUiOiJwbHVnaW5zL2J1c3lib3giLCJVVUlEIjoiNzM3NDM2YWMtMjA0My00YjhjLWE4NWUtNWI5NTliYTc1ODU5IiwiT2Zmc2V0Ijo3NzI4MDYsIlN0YXJ0ZWRBdCI6IjIwMjItMDMtMThUMDM6MzE6MzhaIn0%3D&digest=sha256%3A554879bb300427c7301c1cbdf266a7eba24a85b10d19f270b3d348b9eb9ca7df" http.request.useragent="docker/20.10.8 go/go1.16.6 git-commit/75249d8 kernel/5.10.47-linuxkit os/linux arch/amd64 UpstreamClient(Docker-Client/20.10.8 \(darwin\))" http.response.contenttype="application/json; charset=utf-8" http.response.duration=1.183947654s http.response.status=404 http.response.written=76 vars.name="plugins/busybox" vars.uuid=737436ac-2043-4b8c-a85e-5b959ba75859
time="2022-03-18T03:31:59.754204989Z" level=info msg="response completed" go.version=go1.16.15 http.request.host=uat.harness.io http.request.id=1f040a05-ba6e-4291-8d16-1003319f6f61 http.request.method=PATCH http.request.remoteaddr=<IP_ADDRESS> http.request.uri="/v2/plugins/busybox/blobs/uploads/b8d0037d-bfb0-47bc-a2b8-1c6fa659cc02?_state=CsczQg8-VqzHFHA4oZMfWrvh-LtCdnVk3jBBAoDYnWd7Ik5hbWUiOiJwbHVnaW5zL2J1c3lib3giLCJVVUlEIjoiYjhkMDAzN2QtYmZiMC00N2JjLWEyYjgtMWM2ZmE2NTljYzAyIiwiT2Zmc2V0IjowLCJTdGFydGVkQXQiOiIyMDIyLTAzLTE4VDAzOjMxOjU3LjEzMzczOTUyOVoifQ%3D%3D" http.request.useragent="docker/20.10.8 go/go1.16.6 git-commit/75249d8 kernel/5.10.47-linuxkit os/linux arch/amd64 UpstreamClient(Docker-Client/20.10.8 \(darwin\))" http.response.duration=639.505042ms http.response.status=202 http.response.written=0

<IP_ADDRESS> - - [18/Mar/2022:03:31:59 +0000] "PATCH /v2/plugins/busybox/blobs/uploads/b8d0037d-bfb0-47bc-a2b8-1c6fa659cc02?_state=CsczQg8-VqzHFHA4oZMfWrvh-LtCdnVk3jBBAoDYnWd7Ik5hbWUiOiJwbHVnaW5zL2J1c3lib3giLCJVVUlEIjoiYjhkMDAzN2QtYmZiMC00N2JjLWEyYjgtMWM2ZmE2NTljYzAyIiwiT2Zmc2V0IjowLCJTdGFydGVkQXQiOiIyMDIyLTAzLTE4VDAzOjMxOjU3LjEzMzczOTUyOVoifQ%3D%3D HTTP/1.1" 202 0 "" "docker/20.10.8 go/go1.16.6 git-commit/75249d8 kernel/5.10.47-linuxkit os/linux arch/amd64 UpstreamClient(Docker-Client/20.10.8 \\(darwin\\))"
time="2022-03-18T03:32:00.139898878Z" level=error msg="upload resumed at wrong offest: 0 != 772806" go.version=go1.16.15 http.request.host=uat.harness.io http.request.id=0356d2b1-2a7d-4a4c-9a1c-8fa286181bdc http.request.method=PUT http.request.remoteaddr=<IP_ADDRESS> http.request.uri="/v2/plugins/busybox/blobs/uploads/b8d0037d-bfb0-47bc-a2b8-1c6fa659cc02?_state=BgR0cpSrqinEXe-BwJz1YTFzVbUubjlOMryyXYDMcdx7Ik5hbWUiOiJwbHVnaW5zL2J1c3lib3giLCJVVUlEIjoiYjhkMDAzN2QtYmZiMC00N2JjLWEyYjgtMWM2ZmE2NTljYzAyIiwiT2Zmc2V0Ijo3NzI4MDYsIlN0YXJ0ZWRBdCI6IjIwMjItMDMtMThUMDM6MzE6NTdaIn0%3D&digest=sha256%3A554879bb300427c7301c1cbdf266a7eba24a85b10d19f270b3d348b9eb9ca7df" http.request.useragent="docker/20.10.8 go/go1.16.6 git-commit/75249d8 kernel/5.10.47-linuxkit os/linux arch/amd64 UpstreamClient(Docker-Client/20.10.8 \(darwin\))" vars.name="plugins/busybox" vars.uuid=b8d0037d-bfb0-47bc-a2b8-1c6fa659cc02

I found the root cause. This has to do with the Role assigned to the Service Account in use.
I assigned the Storage Admin role to my service account which according to this link https://cloud.google.com/storage/docs/access-control/iam-roles "Grants full control of buckets and objects"
However that wasn't enough. I found there is a legacy role called Storage Legacy Bucket Owner Once I added it everything started working.
is there a reason why the Storage Admin role is not working ?

As you can se below the Storage Admin role does have storage.buckets.*  which should include the same and more permissions as the Legacy one.
Storage Legacy Bucket Owner (roles/storage.legacyBucketOwner)
storage.buckets.get
storage.buckets.update
storage.buckets.setIamPolicy
storage.buckets.getIamPolicy
storage.objects.list
storage.objects.create
storage.objects.delete
storage.multipartUploads.*

Storage Admin (roles/storage.admin)
firebase.projects.get
orgpolicy.policy.get1
resourcemanager.projects.get
resourcemanager.projects.list
storage.buckets.*
storage.objects.*
storage.multipartUploads.*

Please check if the issue is fixed in the latest release https://github.com/distribution/distribution/releases/tag/v3.0.0-alpha.1
It's extremely unlikely v2.x will receive any updates from now on.

Closing for the lack of noise. Please use the latest v3 release.


Check if user has stylix.

https://github.com/sodiboo/niri-flake/blob/cea8f80a5b8171e7c2b90b89c67ef4b28faa2bf9/stylix.nix#L10
Incorrectly assumes that all users on a NixOS system have stylix enabled.
This ugly fix adds a dummy option if the module is not loaded for a user. Feel free to make it nicer.

This actually has the opposite effect and disables it entirely.

The stylix module is a home-module, and it is auto-imported if and only if the system has stylix installed.
See L500 in the following snippet:
https://github.com/sodiboo/niri-flake/blob/cea8f80a5b8171e7c2b90b89c67ef4b28faa2bf9/flake.nix#L494-L501
The stylix module is not referenced anywhere else in this flake.
Moreover, since the stylix module uses lib.stylix.mkEnableTarget to create the option, stylix.autoEnable will also be respected in that if a user wishes to not have stylix theme its home-manager, then niri by default won't be themed either.


Remove obsolete files from projects

I removed the Zero29 tool and MSBuild community tasks as they are no longer used.
Also I normalized the NuGet tool. Currently we have 2 copies of the tool. I removed one of copy and updated other one to the latest available version.
Let me know if you see any issues with this cleanup.

This makes sense to review and merge after we merge #755, or do I miss something obvious? 😃

@moodmosaic These two PRs doesn't seem to be related to each other. Nevertheless, I've just merged #755. I'll close/re-open this PR to trigger a fresh merge and CI validation.

@klimisa, are you able to follow these changes? Besides @ecampidoglio, @adamchester, and me, it'd be helpful if you can follow along, because AFAICT these changes are related to the release process.

@moodmosaic @klimisa Well, this particular PR isn't related to the release process somehow - it's a simple obsoletes cleanup 😃


Update functional specs for ContentBlock to include LinkList

User Story

As a [user role below]:
IBM.com Library adopter

I need to:
include a LinkList to the right of the copy within a ContentBlock

so that I can:
properly provide a context of links for my ContentBlock pattern

Additional information

This stems from the issue https://github.com/carbon-design-system/ibm-dotcom-library/issues/1920, where we are currently laying out the LinkList in a separate Layout with the corresponding ContentBlock decorator pattern. The issue is that the LinkList is too high up and next to the heading, where it should be aligned with the copy instead.

Acceptance criteria

[ ] Updated functional specifications for the ContentBlock
[ ] updated corresponding functional specifications for decorator patterns utilizing the ContentBlock

@photodow this is the issue for updating the functional specifications, needs an estimate and priority.
cc: @wonilsuhibm @RobertaJHahn @ljcarot

No visual specs needed as dev work was completed in #1920

Version 1.3 uploaded to box: https://ibm.box.com/s/uaq0ovswviefwbv7gd4jn13llvqb23f8


Preprocessing error

I'm using Surelog to parse a piece of code that uses this trick to concatenate a string with a preprocessor macro: https://stackoverflow.com/a/15376637, but Surelog doesn't seem to fully expand the macro.
To reproduce, paste this into a file called test.v:
module test();
`define MAKE_MEM_PATH(filename) `"`MEM_ROOT/filename`"
    initial begin
    $display(`MAKE_MEM_PATH(rom.mem));
    end
endmodule

Running this through Verilator with the command: verilator -sv --lint-only --debug -DMEM_ROOT=test test.v and looking at the output in obj_dir/Vtest_test.vpp gives a result where the MAKE_MEM_PATH macro is fully preprocessed and expanded:
`begin_keywords "1800-2005"
`line 1 "test.v" 1
module test();

        initial begin
        $display("test/rom.mem");
        end
    endmodule

`line 8 "test.v" 2

However, running the same file through Surelog with surelog -parse test.v -DMEM_ROOT=test and looking at the result in slpp_all/work/_6142509188972423790/test.v shows that it doesn't expand the MEM_ROOT out:
module test();

initial begin
        $display("`MEM_ROOT/rom.mem"

);
        end
    endmodule

However, I'd expect Surelog to have a similar behavior to Verilator here. Thanks for taking a look!

Fixed by #2594


Building on Windows

After setting up the symlinks, I've successfully built and run the project on Linux, but I've run into some issues when building with visual studio on Windows:

I get this C1128 error when compiling BindFunctions_Urho3d.cpp , but adding the /bigobj command line argument solves it. Would it be necessary to break the generated file into multiple ones in this case?
I had to add a #ifdef SendMessage #undef SendMessage #endif to the BindConnection.cpp file, just like in Urho's Connection.cpp file, because apparently Windows has that define overriding things. It could be added via the binding generator, right?
After solving the points above, I'm getting multiple messages No constructor could take the source type, or constructor overload resolution was ambiguous in some files, followed by C2440 errors in those same files and lines.
-- The error message in all of them is can't convert from "unkown" to "sol::this_state".
-- Here's my build log; it's in portuguese, but the line numbers are  there, so maybe it could help: build-out.txt .
-- The one pattern I've noticed is that the overloads the compiler complained about seem to be the ones that have parameters with default values for them, like Node's CreateChild with CreateMode mode = REPLICATED

Thanks!

Thank you for attempting to build it for Windows.

It seems to be that just enabling /bigobj might be better. I believe Microsoft does the same for UWP apps because their template heavy code also exceeds the limit.
Yes, it can be added to the binding generator.
I think your final point is probably the answer, though I've only looked at a single function. I believe the issue comes down to this line (below), though the error message isn't very clear and points to the end of the lambda instead of the beginning. I think it's probably because there is a default argument before the sol::this_state argument (that has no default). Possibly the presence of the default argument at all. In any case, I think removing the default arguments should be doable and advisable.

https://github.com/SirNate0/U3D-Doxygened-Lua-Bindings/blob/4929104893196c05c5b6cfbbb5b30133bd97306f/generator/generated/Graphics/BindCustomGeometry.cpp#L117

Alright, I've finally got it to build on Windows! I removed the default arguments, added /bigobj, and then had to add skipping of members with no name, because BindShaderParameter was being generated with 2 empty member variables (I think it was because of the "union" keyword being used there?). Would it be interesting to add these changes as a PR?

I'd appreciate that, please do.


In the root menu items, the href attribute is not being set.

Hello. This issue might have already been discussed here, but I couldn't find an answer. Maybe it's not even a bug.
In the root menu items, the href attribute isn't set.
For example, when I create
Goods
Electronics (no href attribute, even though it's specified in the 'menu' array in config/adminlte.php)
-- Phones (has href, link works)
-- Laptops (has href, link works)
Is there a way to fix this? Maybe there's some setting for it.
(At least for the desktop version)

Hi @serg1764 , If you're speaking about submenu items, they are not intended to work as links, they just group other items in a submenu.
However, if you want to customize your own behavior, then you can publish the package views and for this case change the logic in resources/views/vendor/adminlte/partials/sidebar/menu-item-treeview-menu.blade.php.

Thank you so much, guys.
I did it roughly as recommended by rsscomunicamasa.
dfsmania, your advice will come in handy in the future.
I looked at the code in resources/views/vendor/adminlte/partials/sidebar/menu-item-treeview-menu.blade.php.
I might add some more logic too.)))