High memory usage with MSSQL ntext

I see sometimes see very high memory consumption when selecting from SQL Server ntext columns.
I think it might be triggered when the tables are empty.
The script below was run on Ubuntu 16.04 with turbodbc 1.1.0 and mssql-server 14.0.405.200-1.
massif output shows an heap allocation of 2GB, turning on use_async_io doubles the usage to 4GB.
The memory usage starts at snapshot 63, so I am not use if the stack trace in snapshot 64 is relevant.
(massif-visualizer is useful for visualizing)
from turbodbc import connect
conn = connect(DRIVER="ODBC Driver 13 for SQL Server",SERVER="localhost",DATABASE="test_db",UID="SA",PWD="password")
curs = conn.cursor()

curs.execute("""IF OBJECT_ID('mytable', 'U') IS NOT NULL
                DROP TABLE [mytable]""")

curs.execute("""CREATE TABLE mytable(
	            foo ntext
                )""")

curs.execute("SELECT * FROM mytable")

valgrind --tool=massif python createmytable.py

#-----------
snapshot=62
#-----------
time=63680421
mem_heap_B=1951776
mem_heap_extra_B=74400
mem_stacks_B=0
heap_tree=empty
#-----------
snapshot=63
#-----------
time=298830808
mem_heap_B=2149397260
mem_heap_extra_B=78044
mem_stacks_B=0
heap_tree=empty
#-----------
snapshot=64
#-----------
time=298844168
mem_heap_B=2149401564
mem_heap_extra_B=78108
mem_stacks_B=0
heap_tree=peak
n2:<PHONE_NUMBER> (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
 n1:<PHONE_NUMBER> 0x69C6911: cpp_odbc::multi_value_buffer::multi_value_buffer(unsigned long, unsigned long) (new_allocator.h:104)
  n1:<PHONE_NUMBER> 0x69CFE23: turbodbc::column::column(cpp_odbc::statement const&, unsigned long, unsigned long, std::unique_ptr<turbodbc::description const, std::default_delete<turbodbc::description const> >) (column.cpp:9)
   n1:<PHONE_NUMBER> 0x69D5EB2: void std::vector<turbodbc::column, std::allocator<turbodbc::column> >::_M_emplace_back_aux<cpp_odbc::statement const&, unsigned long&, unsigned long&, std::unique_ptr<turbodbc::description const, std::default_delete<turbodbc::description const> > >(cpp_odbc::statement const&, unsigned long&, unsigned long&, std::unique_ptr<turbodbc::description const, std::default_delete<turbodbc::description const> >&&) (new_allocator.h:120)
    n1:<PHONE_NUMBER> 0x69D5991: turbodbc::result_sets::bound_result_set::bound_result_set(std::shared_ptr<cpp_odbc::statement const>, boost::variant<turbodbc::rows, turbodbc::megabytes>, bool) (vector.tcc:101)
     n1:<PHONE_NUMBER> 0x69CE8CD: turbodbc::command::execute() (new_allocator.h:120)
      n1:<PHONE_NUMBER> 0x69CD072: turbodbc::cursor::execute() (cursor.cpp:58)
       n1:<PHONE_NUMBER> 0x67852F3: void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, turbodbc::cursor, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (turbodbc::cursor::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(turbodbc::cursor*)#1}, void, turbodbc::cursor*, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, turbodbc::cursor, , pybind11::name, pybind11::is_method, pybind11::sibling>(void (turbodbc::cursor::*)(), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(turbodbc::cursor*)#1}&&, void (*)(turbodbc::cursor*), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_record*, pybind11::handle, pybind11::detail::function_record*, pybind11::detail::function_record*)#3}::_FUN(pybind11::detail::function_record, pybind11::detail::function_record*, pybind11::detail::function_record*, pybind11::detail::function_record*) (pybind11.h:62)
        n1:<PHONE_NUMBER> 0x677F025: pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (pybind11.h:441)
         n1:<PHONE_NUMBER> 0x4CADA0: PyEval_EvalFrameEx (in /usr/bin/python2.7)
          n1:<PHONE_NUMBER> 0x4C2763: PyEval_EvalCodeEx (in /usr/bin/python2.7)
           n1:<PHONE_NUMBER> 0x4DE8B6: ??? (in /usr/bin/python2.7)
            n1:<PHONE_NUMBER> 0x4B0CB1: PyObject_Call (in /usr/bin/python2.7)
             n1:<PHONE_NUMBER> 0x4C6ACF: PyEval_EvalFrameEx (in /usr/bin/python2.7)
              n1:<PHONE_NUMBER> 0x4C2763: PyEval_EvalCodeEx (in /usr/bin/python2.7)
               n1:<PHONE_NUMBER> 0x4CA8CF: PyEval_EvalFrameEx (in /usr/bin/python2.7)
                n1:<PHONE_NUMBER> 0x4C2763: PyEval_EvalCodeEx (in /usr/bin/python2.7)
                 n1:<PHONE_NUMBER> 0x4C2507: PyEval_EvalCode (in /usr/bin/python2.7)
                  n1:<PHONE_NUMBER> 0x4F1DED: ??? (in /usr/bin/python2.7)
                   n1:<PHONE_NUMBER> 0x4EC650: PyRun_FileExFlags (in /usr/bin/python2.7)
                    n1:<PHONE_NUMBER> 0x4EAE2F: PyRun_SimpleFileExFlags (in /usr/bin/python2.7)
                     n1:<PHONE_NUMBER> 0x49E148: Py_Main (in /usr/bin/python2.7)
                      n0:<PHONE_NUMBER> 0x506E82E: (below main) (libc-start.c:291)
 n0: 1917916 in 361 places, all below massif's threshold (1.00%)
#-----------
snapshot=65
#-----------
time=300787456
mem_heap_B=2149388856
mem_heap_extra_B=78032
mem_stacks_B=0
heap_tree=empty
#-----------

Without closer inspection, my best guess would be that the ODBC driver returns a very large field size for NTEXT columns.
If the returned size is something like 1 billion, this means that 1,000,000,000 * 2 (for unicode) bytes are required to buffer a single value. Because the default read buffer size is set to 20 MB and this field alone exceeds it, it will create a buffer with just one row. For asynchronous IO, a second buffer is needed. Usually, the buffer is halved in order to keep the total read buffer size constant. But a buffer of just 1 row cannot be halved, thus leading to doubling the required memory to 4 GB.
This would be consistent with the information given here: https://docs.microsoft.com/en-us/sql/t-sql/data-types/ntext-text-and-image-transact-sql.
After confirmation, I would have to see whether there is a more clever way to transfer text data than doing the same thing as for VARCHAR.

Ok, so I did some reading on retrieving large data from the database. Basically, there seem to be the following options to alleviate your problem:

Option 1: Allow turbodbc users to configure a maximum of characters to retrieve, even if the database indicates that this might not be sufficient for all data.
Option 2: Use the ODBC function SQLGetData() to retrieve long data. This seems to have some issues attached, such that it may not be possible to read batches larger than single rows.
Option 3: Use a reasonably sized (configurable) buffer for results. For each row in a batch, check whether warnings are present for each fetched row. Refetch rows with warnings attached using larger buffers. This sets higher requirements on the database driver, since it needs to support cursor scrolling. It may also not play well with asynchronous I/O.

Though options 2 and 3 are nice to have, I feel that option 1 is the only one that would really be in line with turbodbc's target audience of data scientists. They typically have to deal with numbers, dates, and strings of limited length. For them, bulk transfer as currently implemented is ideal.
Option 1 would allow to extend this approach to more extensive fields while keeping memory consumption acceptable. The price would be possible truncation of data. I think that is okay for turbodbc's target audience.
Options 2 and 3 could be implemented at a (very) later stage.
For the time being, you could use the following workarounds:

Do not select long columns.
When you do select long columns, cast them into types of limited length such as VARCHAR(1000).

Thank you for the analysis.
Yes, option 1 would probably make the most sense. I know ceODBC uses this approach via setoutputsize, but it does not truncate, just throws an exception if the limit is exceeded. It also seem to have a small default setoutputsize.
I discovered this with a legacy database, which might not be turbodbcs target audience, but multi GB allocations even when the table was empty was a bit surprising.

At the same go, one should also fix the handling of VARCHAR(MAX), which is currently handled like a VARCHAR of length 0. The maximum length should be used for such fields as well. See issue #81 for more details.


Adding code of conduct and development documentation

This pull request includes significant updates to the project's documentation, focusing on the Code of Conduct and development guidelines. The most important changes include the addition of a comprehensive Code of Conduct, updates to the development documentation, and modifications to the README file to reference these new documents.
Documentation Updates:

CODE_OF_CONDUCT.md: Added a detailed Contributor Covenant Code of Conduct, outlining community standards, enforcement responsibilities, and guidelines for addressing unacceptable behavior.

DEVELOPMENT.md: Introduced new development documentation, including guidelines for contributing, instructions for installing pre-commit hooks, and notes for building the container image.

README Modifications:

README.md: Updated to include a reference to the new Code of Conduct and a link to the development guidelines. Removed the section on building the container image, which is now covered in DEVELOPMENT.md.

@apulsipher, some links in the DEVELOPMEN.md file are broken but should be OK once this is merged. If not, we can create an issue to address that after we merge this.


Win32 symbolizer does not call SymCleanup()

absl/debugging/symbolize_win32.inc implements the symbolizer code for win32.  However, while it calls SymInitialize() to init the symbolizer, it never calls SymCleanup() to tear it down correctly.
Per https://docs.microsoft.com/en-us/windows/win32/api/dbghelp/nf-dbghelp-symcleanup, "Failure to call this function causes memory and resource leaks in the calling application".
Probably the safest solution would be to replace InitializeSymbolizer() with e. g. a Symbolizer scoping object that could handle initialization and cleanup.

FYI, we're continuing to see test flakes in Chromium that may be caused by this issue: crbug.com/41496717.


[Bug] exercise "en/javascript/arrays/7.md" has an issue

The answer “animals” appears just once. Actually there were two of them at the beginning, but after selecting one of them and removing it, that disappeared.
The answers, if swapped or deselected, they should go back to their place

fixed in the v2.6.3 I just released


[Modules] Add Batch Pool sub module

Description

Thank you for your contribution !

Please include a summary of the change and which issue is fixed.
Please also include the context.
List any dependencies that are required for this change.

added batch account to dependency pipeline
added batchaccounts/pools submodule incl two parameter sets
added batchaccounts/appliations submodule
updated pipeline files to include parameter tests

Pipeline references

For module/pipeline changes, please create and attach the status badge of your successful run.

Pipeline

Type of Change
Please delete options that are not relevant.

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Update to documentation

Checklist

[x] I'm sure there are no other open Pull Requests for the same update/change
[x] My corresponding pipelines / checks run clean and green without any errors or warnings
[x] My code follows the style guidelines of this project
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation (readme)
[x] I did format my code

I will do some rework on that , and close this PR


BASE_LR computed on IMS_PER_BATCH instead of Effective_Batch_Size. Confusion as to whether this is correct or not.

Hello,
The following is my code to start training:
python train_net_step.py --dataset coco2017 --cfg ../configs/baselines/e2e_mask_rcnn_R-50-FPN_1x.yaml --bs 2 --nw 4 --iter_size 8
I use a batchsize of 2 with a iter_size of 8 to make the effective batch size 16. The automatic parameter update changes the base learning rate from 0.02 to 0.0025.
i.e
Adjust BASE_LR linearly according to batch_size change:
BASE_LR: 0.02 --> 0.0025
I tried manually setting the learning rate using the --lr 0.02 command but the printout states the learning rate is still 0.0025 when I resume training.
Is this correct? Shouldn't the base learning rate be 0.02 as the effective batch size is 16 as the update takes place after 8 iterations? Is this set because the gradients are accumulated as lr*(batch of 2) + next 8 iters?
Thanks,
Kevin

Yes, you are right. Gradients are accumulated in the period of iter_size, so the lr should be iter_size smaller to make the updates correct.

So this code should be adjusted based on effective batch size then?
### Adjust learning based on batch size change linearly
    # For iter_size > 1, gradients are `accumulated`, so lr is scaled based
    # on batch_size instead of effective_batch_size
    old_base_lr = cfg.SOLVER.BASE_LR
    cfg.SOLVER.BASE_LR *= args.batch_size / original_batch_size
    print('Adjust BASE_LR linearly according to batch_size change:\n'
          '    BASE_LR: {} --> {}'.format(old_base_lr, cfg.SOLVER.BASE_LR))

No. The code is correct.

Lets say we change the batch size to 2 and the iter size to 8, this changes the lr to 0.0025.
If we wait for 8 iters to pass we have an update of batch size 16. There's two way I can see of doing this update:

Sum of (lr * each batch of 2)
lr * (sum of all batches)

In both instances the lr, which should be equal to 0.02 as the effective batch size is 16, is still 0.0025.
What do I have wrong?

Learning rate is only applied once every iter_size iterations, on the update. Hence, the code is correct.


Can you explain how your short example works where @hover = EmptyString please?

I am just trying to better understand how this works, but from looking at your example, isn't @hover empty string or null since it was never initialized?
In a real example with other classes, wouldn't you have to set @hover to something?
My more than likely flawed HTML interpreter in my brain outputs this as class="", is that correct?
Thanks.

It sounds like you are referring to the snippet on the home page of https://blazorstyled.io ?
<Styled @bind-Classname="@hover">
    label: hover-example;
    padding: 32px;
    background-color: hotpink;
    font-size: 24px;
    border-radius: 4px;
</Styled>

<Styled Classname="@hover" PseudoClass="PseudoClasses.Hover">
    color: @color;
</Styled>

<div class="@hover">
    Hover to change color.
</div>

@code {
    private string hover;
    private string color = "white";
}

The first tag: <Styled<EMAIL_ADDRESS>will "bind" the contents of the tag to the variable named "hover". So after that tag gets executed hover will be initialized to that css snippet.
After the second tag executes hover.hover (pseudo class hover of a css class named hover) will be set to the contents of that tag (<Styled Classname="@hover" PseudoClass="PseudoClasses.Hover">)
Lastly, the div gets rendered with the class name that point to the hover class name that was generated by Styled.
I hope hat answered your question. If not let me know.

Yes it does. The part that wasn't obvious to me is what you just explained, the part about 'after that the tag gets executed hover will be initialized to that css snippet'.
So in effect you are saying this:
Set @hover = the string that make up the CSS contents of the Styled element.
Some things take me longer to understand, I figured out quickly that I can't modify the variable name or everything quits working.
Thanks for the explanation and this library.
I love being able to modify CSS dynamically, as before Blazor and BlazorStyled I only knew how to change class names via JavaScript.
<Styled @bind-Classname="@ProfileImageStyle">     background-image: url('@ProfileImageUrl');     width: 256px;     height: 256px;     transform: scale(0.5);     transform-origin: left;     position: fixed;     top: 40%; </Styled>

Great, glad you find the library useful! :)


⚠ Bofrost.de has degraded performance

In a170182, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 866 ms

Resolved: Bofrost.de performance has improved in 8b8a2cd after 13 minutes.


Feature/1735 smartystreets post

Warning
Info
Issues
Fixes #1675

@davidhabib this is ready to merge, build already passed but I had to fix a typo in package.xml


Failed CRC / object has no attribute '_id"

Hi,
since a time the script does not function anymore.
We updated our apps to MSMartHome, and after that the script has a lot of errors going on.
What to do?
ERROR:msmart.device.AC.command:Payload 'c00186667f7f00000000005c36000000000000c3' failed CRC. Received: 0xC3, Expected: 0x3C. Traceback (most recent call last):   File "/usr/local/bin/midea-discover", line 10, in <module>     sys.exit(discover())   File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 1130, in __call__     return self.main(*args, **kwargs)   File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 1055, in main     rv = self.invoke(ctx)   File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 1404, in invoke     return ctx.invoke(self.callback, **ctx.params)   File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 760, in invoke     return __callback(*args, **kwargs)   File "/usr/local/lib/python3.7/dist-packages/msmart/cli.py", line 51, in discover     found_devices = loop.run_until_complete(discovery.get_all() if ip == '' else discovery.get(ip))   File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete     return future.result()   File "/usr/local/lib/python3.7/dist-packages/msmart/scanner.py", line 205, in get     await self._process_tasks([task])   File "/usr/local/lib/python3.7/dist-packages/msmart/scanner.py", line 199, in _process_tasks     [self.result.add(task.result()) for task in tasks]   File "/usr/local/lib/python3.7/dist-packages/msmart/scanner.py", line 199, in <listcomp>     [self.result.add(task.result()) for task in tasks]   File "/usr/local/lib/python3.7/dist-packages/msmart/scanner.py", line 55, in support_test     await loop.run_in_executor(None, _device.refresh)   File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run     result = self.fn(*self.args, **self.kwargs)   File "/usr/local/lib/python3.7/dist-packages/msmart/device/AC/appliance.py", line 109, in refresh     self._send_cmd(cmd)   File "/usr/local/lib/python3.7/dist-packages/msmart/device/AC/appliance.py", line 114, in _send_cmd     self._process_response(response)   File "/usr/local/lib/python3.7/dist-packages/msmart/device/AC/appliance.py", line 124, in _process_response     if response.id == ResponseId.State:   File "/usr/local/lib/python3.7/dist-packages/msmart/device/AC/command.py", line 206, in id     return self._id AttributeError: 'state_response' object has no attribute '_id'

Hello?

I got the same issue.
 device.get_capabilities()
DEBUG:msmart.base_command:Frame data: aa0faca3000000000003b5011101cd0a
DEBUG:msmart.device.base:pkt_builder: <IP_ADDRESS>:6444 len: 88 data: 5a5a0111580020000000000034130110160317147943010000850000000000000000000000000000587b6ef1789c550a4ef57108e708a5d2915c618b02ed2747fad73f2ffa0db1d39450de92be6e2a29a44b209365f51b84
DEBUG:msmart.lan:Socket <IP_ADDRESS>:52758 -> <IP_ADDRESS>:6444 retries: 0 time: 73.02 tcp_key: 2d6d0f12a386df87a4b6fe4ab4b1f581fcbdd3a9586ad743439f2c9dfc915943
DEBUG:msmart.lan:Sending <IP_ADDRESS>:52758 -> <IP_ADDRESS>:6444 retries: 0 time: 73.02 message: 8370007e2066a4ecd970c6d410091e9f16ab5437b1bbba44ed2b5daa6835c74b5434638699646f34340ccb9af8725ff3dabf7bd7793ef1b6ec3cd015bf273837fc27eaf4daf2a20ead2c509e96a7433cc19cd0ebf5f7cae78af44e04709f849694043f592326312918f0105bb8077a9084c4e83501c59e47a8ebefa51d0802ff9de91390bfd0
DEBUG:msmart.lan:Recv <IP_ADDRESS>:52758 -> <IP_ADDRESS>:6444 retries: 0 time: 73.02 Response: 8370011e2063a40a23fe1476a935cc0cd6fb48f32b8e6d0df18beb9f09f1d01025d5bb36b1267294137d35ac48454a058d8b818d28f7b295acd7eb25d04d4e310a03b30f38715bfdb4500004fc44bfb637ea7c4cc381c216796e326a1333c650e4f47b16be567e1c0d07557bed27475665f0edf6b98ee067734159509273008f305b94ac11104c2ccd49774269a6ce9c804e31363b643974a62e94d65208db18e4e3b34e461d372182b3ea1c4731fe22d74a2c18f57e36c544aa6d77ac41b4160a5bbee8e61e7a057cd9cf5060a39d6ce599428c2c0b1ad9be720e4162a7452edab198d053575a6fdcde2119e2aac7e568ac0e57e2edd0d5a8627d99a93de4b79e7f39d9896fbc762ce1477b0fb359e0fe0448e4cfbcc5a4b2664346518d5d2aab590820c58f
DEBUG:msmart.lan:Got responses len: 294
DEBUG:msmart.device.base:Got responses from <IP_ADDRESS>:6444 Version: 3 Count: 1 Spend time: 0.0
DEBUG:msmart.device.base:Update from <IP_ADDRESS>:6444 aab9c30000000000000404000000090c00000fce101c1e2c30ffff01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5000000000000000000000000000000000014ec
ERROR:msmart.device.AC.command:Payload '04000000090c00000fce101c1e2c30ffff01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5000000000000000000000000000000000014' failed CRC. Received: 0x14, Expected: 0x6D.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "msmart/device/AC/appliance.py", line 105, in get_capabilities
    self._send_cmd(cmd)
  File "msmart/device/AC/appliance.py", line 114, in _send_cmd
    self._process_response(response)
  File "msmart/device/AC/appliance.py", line 124, in _process_response
    if response.id == ResponseId.State:
  File "msmart/device/AC/command.py", line 206, in id
    return self._id
AttributeError: 'response' object has no attribute '_id'

This issue has been fixed in my fork: mill1000/midea-msmart


cbft should have a -unregister cmd-line option

It should unregister the node and exit.

The self-killing isn't implemented, but the --register=unknown flag exists.
And, there's also the cbgt-ctl --steps=unregister feature.


Prevent hidden class mutations

Based on property assignment V8 creates hidden classes for it's objects. However, doing something like delete this.aProperty ruins that hidden class and causing the code to be de-optimized.
Searching for delete this.\w+; (as regex) points to @joaomoreno, @bpasero, and @isidorn

I can start

Forwared to me once you are done


"Photovoltaic" label missing in Hybrid Cashflows on energy line

First line annual energy values are correct, but label is missing "Photovoltaic" prepend in cashflow (see image). The "wind" prepend is there. The "photovoltaic" prepend is there for O&M costs, it is only missing for the PV annual energy. Missing in both the Single Owner and Host/Developer financial models. All hybrids that use PVWatts have the PVWatts annual energy correctly named. To replicate, run the default PV-Wind-Battery case with either SO or Host/Developer financial models, and look at the cashflow labels.

lowercase "annual" and uppercase "Energy" reads a bit weird in the metrics table, may be something for later. simulation.cpp line 1230.

First line annual energy values are correct, but label is missing "Photovoltaic" prepend in cashflow (see image). The "wind" prepend is there. The "photovoltaic" prepend is there for O&M costs, it is only missing for the PV annual energy. Missing in both the Single Owner and Host/Developer financial models. All hybrids that use PVWatts have the PVWatts annual energy correctly named. To replicate, run the default PV-Wind-Battery case with either SO or Host/Developer financial models, and look at the cashflow labels.

This is keying off of cf_energy_net in vtab_hybrid_tech_om vartable in common.cpp, still haven't identified why "Photovoltaic" isn't being carried over as prepend. It also shows up in Data Tables

What is the purpose of comparing the length of the label and the prepend name on 1224? Seems like photovoltaic_ is == "annual_energy" so it's skipping that step.

'cEC' and 'pOA'


Create README with project details and module requirements.

Solves issue #72

#72
Sorry about that; I planned to include this contribution in the same PR, but the new PR was created to include the README.md.

@purnasth, sure no problem


add terminal help widget

first draft:

unsure if we should mention navigation mode as it sometimes does not work


Rank should be displayed in addition to some character names

Where should this appear, I can take a look into this if it's still needed?

It appears that this has been addressed in previous releases.


Add a check engine light

No VW is complete without its badge of honour (Check Engine Light).
This repository should have a check engine light on the README

Additionally, after 200,000 runs "burn out" the Check Engine light but still leave the flag.

DAS AUTO


Echo example doesn´t work with UART 1 (IDFGH-6691)

Environment

Development Kit:  ESP32 Wrover Kit VE
Kit version (for WroverKit/PicoKit/DevKitC): v4.1
Module or chip used:  ESP32-WROVER-E
IDF version (run git describe --tags to find it): 4.0.1
Build System:  PlatformIO
Compiler version (run xtensa-esp32-elf-gcc --version to find it): 3.80200.200512 (8.2.0)
Operating System: Windows
Using an IDE?: Visual Studio code
Power Supply:  External

Problem Description
I use the esp-idf (UART echo example)[https://github.com/espressif/esp-idf/blob/master/examples/peripherals/uart/uart_echo/main/uart_echo_example_main.c] with IO17 and IO18 and UART_NUM_1.
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/uart.h"
#include "driver/gpio.h"
#include "sdkconfig.h"
#include "esp_log.h"

static const char *TAG = "UART TEST";

#define INTERFACE UART_NUM_1
#define BUF_SIZE (1024)

static void echo_task(void *arg)
{
    uart_config_t uart_config = {
        .baud_rate = 115200,
        .data_bits = UART_DATA_8_BITS,
        .parity    = UART_PARITY_DISABLE,
        .stop_bits = UART_STOP_BITS_1,
        .flow_ctrl = UART_HW_FLOWCTRL_DISABLE
    };
    int intr_alloc_flags = 0;

#if CONFIG_UART_ISR_IN_IRAM
    intr_alloc_flags = ESP_INTR_FLAG_IRAM;
#endif

    ESP_ERROR_CHECK(uart_driver_install(INTERFACE, BUF_SIZE * 2, 0, 0, NULL, intr_alloc_flags));
    ESP_ERROR_CHECK(uart_param_config(INTERFACE, &uart_config));
    ESP_ERROR_CHECK(uart_set_pin(INTERFACE, 17, 18, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE));

    char Message[] = "AA";
    uint8_t *data = (uint8_t *) malloc(BUF_SIZE);

    while(1)
    {
        uart_write_bytes(INTERFACE, (const char*)Message, sizeof(Message));
        int len = uart_read_bytes(INTERFACE, data, (BUF_SIZE - 1), 20 / portTICK_RATE_MS);
        if(len)
        {
            data[len] = '\0';
            ESP_LOGI(TAG, "Recv str: %s", (char *) data);
        }

        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
}

extern "C" void app_main(void)
{
    xTaskCreate(echo_task, "uart_echo_task", 2048, NULL, 10, NULL);
}

Expected Behavior
I have tested the code with UART_NUM_0 and got the following output.
I (70) boot: Chip Revision: 3
I (70) boot_comm: chip revision: 3, min. bootloader chip revision: 0
I (40) boot: ESP-IDF 4.0.1 2nd stage bootloader
I (40) boot: compile time 23:39:17
I (40) boot: Enabling RNG early entropy source...
I (44) boot: SPI Speed      : 40MHz
I (48) boot: SPI Mode       : DIO
I (52) boot: SPI Flash Size : 4MB
I (56) boot: Partition Table:
I (60) boot: ## Label            Usage          Type ST Offset   Length
I (67) boot:  0 nvs              WiFi data        01 02 00009000 00005000
I (75) boot:  1 otadata          OTA data         01 00 0000e000 00002000
I (82) boot:  2 app0             OTA app          00 10 00010000 001f0000
I (90) boot:  3 app1             OTA app          00 11 00200000 001f0000
I (97) boot:  4 nvs_keys         NVS keys         01 04 003f0000 00001000
I (105) boot: End of partition table
I (109) boot_comm: chip revision: 3, min. application chip revision: 0
I (116) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x07a18 ( 31256) map
I (136) esp_image: segment 1: paddr=0x00017a40 vaddr=0x3ffbdb60 size=0x02258 (  8792) load
I (140) esp_image: segment 2: paddr=0x00019ca0 vaddr=0x40080000 size=0x06370 ( 25456) load
I (156) esp_image: segment 3: paddr=0x00020018 vaddr=0x400d0018 size=0x179b8 ( 96696) map
I (191) esp_image: segment 4: paddr=0x000379d8 vaddr=0x40086370 size=0x049ec ( 18924) load
I (206) boot: Loaded app from partition at offset 0x10000
I (206) boot: Disabling RNG early entropy source...
I (206) cpu_start: Pro cpu up.
I (210) cpu_start: Application information:
I (215) cpu_start: Project name:     UART
I (220) cpu_start: App version:      1
I (224) cpu_start: Compile time:     Jan 29 2022 23:36:52
I (230) cpu_start: ELF file SHA256:  5d07d2145b2dd17b...
I (236) cpu_start: ESP-IDF:          4.0.1
I (241) cpu_start: Starting app cpu, entry point is 0x40081148
I (0) cpu_start: App cpu up.
I (252) heap_init: Initializing. RAM available for dynamic allocation:
I (258) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (264) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM
I (270) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
I (277) heap_init: At 3FFBDB5C len 00000004 (0 KiB): DRAM
I (283) heap_init: At 3FFC0650 len 0001F9B0 (126 KiB): DRAM
I (289) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (295) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (302) heap_init: At 4008AD5C len 000152A4 (84 KiB): IRAM
I (308) cpu_start: Pro cpu start user code
I (326) spi_flash: detected chip: generic
I (327) spi_flash: flash io: dio
I (327) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

Actual Behavior
I run the code with UART_NUM_1 and got the following output:
I (70) boot: Chip Revision: 3
I (70) boot_comm: chip revision: 3, min. bootloader chip revision: 0
I (40) boot: ESP-IDF 4.0.1 2nd stage bootloader
I (40) boot: compile time 23:39:17
I (40) boot: Enabling RNG early entropy source...
I (44) boot: SPI Speed      : 40MHz
I (48) boot: SPI Mode       : DIO
I (52) boot: SPI Flash Size : 4MB
I (56) boot: Partition Table:
I (60) boot: ## Label            Usage          Type ST Offset   Length
I (67) boot:  0 nvs              WiFi data        01 02 00009000 00005000
I (75) boot:  1 otadata          OTA data         01 00 0000e000 00002000
I (82) boot:  2 app0             OTA app          00 10 00010000 001f0000
I (90) boot:  3 app1             OTA app          00 11 00200000 001f0000
I (97) boot:  4 nvs_keys         NVS keys         01 04 003f0000 00001000
I (105) boot: End of partition table
I (109) boot_comm: chip revision: 3, min. application chip revision: 0
I (116) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x07a18 ( 31256) map
I (136) esp_image: segment 1: paddr=0x00017a40 vaddr=0x3ffbdb60 size=0x02258 (  8792) load
I (140) esp_image: segment 2: paddr=0x00019ca0 vaddr=0x40080000 size=0x06370 ( 25456) load
I (156) esp_image: segment 3: paddr=0x00020018 vaddr=0x400d0018 size=0x179b8 ( 96696) map
I (191) esp_image: segment 4: paddr=0x000379d8 vaddr=0x40086370 size=0x049ec ( 18924) load
I (206) boot: Loaded app from partition at offset 0x10000
I (206) boot: Disabling RNG early entropy source...
I (206) cpu_start: Pro cpu up.
I (210) cpu_start: Application information:
I (215) cpu_start: Project name:     UART
I (220) cpu_start: App version:      1
I (224) cpu_start: Compile time:     Jan 29 2022 23:36:52
I (230) cpu_start: ELF file SHA256:  9d2640da6db53ebb...
I (236) cpu_start: ESP-IDF:          4.0.1
I (241) cpu_start: Starting app cpu, entry point is 0x40081148
I (0) cpu_start: App cpu up.
I (252) heap_init: Initializing. RAM available for dynamic allocation:
I (258) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (264) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM
I (270) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
I (277) heap_init: At 3FFBDB5C len 00000004 (0 KiB): DRAM
I (283) heap_init: At 3FFC0650 len 0001F9B0 (126 KiB): DRAM
I (289) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (295) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (302) heap_init: At 4008AD5C len 000152A4 (84 KiB): IRAM
I (308) cpu_start: Pro cpu start user code
I (326) spi_flash: detected chip: generic
I (327) spi_flash: flash io: dio
I (327) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.

The output is missing.

Why are you getting the debug output on UART_NUM_1? Did you change it in menuconfig?

Why are you getting the debug output on UART_NUM_1? Did you change it in menuconfig?

The port for the debug output stays the same and I don´t change it in menuconfig. The application doesn't receive the data over UART_NUM_1 and so I don´t get any output over the debug output.

Ok I thought AA was echo not log, didn't read.  You can't use gpio17 on wrover, it is not connected.

I have changed the pins to 19 and 21 and the example still does not work.

Any idea how to fix the problem? I have checked it with 5 and 18 on a Node MCU board too and the problem still exists.

I have updated the ESP-IDF to version 4.3.1 and my code is working now. But I need to get it to work with version 4.0.x because I have to use the Arduino framework too.


feat: update Windows base images to 2024.1B

What type of PR is this?
/kind feature

Which issue(s) this PR fixes:
Update Windows base images to 2024.1B

Windows 2019: January 9, 2024—KB5034127 (OS Build 17763.5329)
Windows 2022: January 9, 2024—KB5034129 (OS Build 20348.2227)

What this PR does / why we need it:
Requirements:

[x] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2288

Relevant Lines:
2884

💛  - Coveralls


Bug: Starlite CLI cannot import project

Describe the bug
I have a very minimal hello world application in Starlite, using Poetry.
I have installed python-dotenv, and created a base env file that points to the poetry package.
However, whenever I run starlite info I get an import error in the cli.
I've attempted to debug this through the use of print statements, augmenting python's sys.path, as well as importing other installed packages, like pydantic.
I am able to import my files using importlib.import_module from the python REPL, but am unable to in the cli.
from starlite import Starlite, get

@get("/")
def hello() -> str:
    return "world"

app = Starlite(route_handlers=[hello])

To Reproduce

Generate a Poetry project
Install starlite[full]
Install python-dotenv
Install uvicorn
Create a .env file pointing to the poetry package
Create a basic hello world file in the __init__.py (see attachment)
Run starlite info

Additional context
I am on Starlite Version 1.48.1
Here is the full error message. For context the Poetry package is named starlite_playground
Using Starlite app from env: 'starlite_playground:app'
Traceback (most recent call last):
  File "/home/ikollipara/Documents/GitHub/starlite-playground/.venv/bin/starlite", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "/home/ikollipara/Documents/GitHub/starlite-playground/.venv/lib/python3.11/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ikollipara/Documents/GitHub/starlite-playground/.venv/lib/python3.11/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/ikollipara/Documents/GitHub/starlite-playground/.venv/lib/python3.11/site-packages/click/core.py", line 1654, in invoke
    super().invoke(ctx)
  File "/home/ikollipara/Documents/GitHub/starlite-playground/.venv/lib/python3.11/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ikollipara/Documents/GitHub/starlite-playground/.venv/lib/python3.11/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ikollipara/Documents/GitHub/starlite-playground/.venv/lib/python3.11/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ikollipara/Documents/GitHub/starlite-playground/.venv/lib/python3.11/site-packages/starlite/cli.py", line 347, in cli
    ctx.obj = StarliteEnv.from_env(app_path)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ikollipara/Documents/GitHub/starlite-playground/.venv/lib/python3.11/site-packages/starlite/cli.py", line 102, in from_env
    loaded_app = _autodiscover_app(getenv("STARLITE_APP"))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ikollipara/Documents/GitHub/starlite-playground/.venv/lib/python3.11/site-packages/starlite/cli.py", line 210, in _autodiscover_app
    return _load_app_from_path(app_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ikollipara/Documents/GitHub/starlite-playground/.venv/lib/python3.11/site-packages/starlite/cli.py", line 192, in _load_app_from_path
    module = importlib.import_module(module_path)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1142, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'starlite_playground'

I can't reproduce this on my end. Can you share your pyproject.toml and directory layout?
Although I have a hunch what's going on.

Create a .env file pointing to the poetry package

Does running a separate poetry install solve your problem? If you set STARLITE_APP to the name of the package as defined in poetry, it could require that this package is actually installed in the current environment, depending on the directory structure / naming.

Yes, just running poetry install fixed the problem. Thank you for the help!
From what I understand, and correct me if I'm wrong, but since my application was not on the system path that was used by starlite's cli, it couldn't detect the file to run, therefore throwing that import error.

Yes, that's correct. However, I think we should definitely support this and it's a relatively easy fix. I'll put up a PR for this.

@ikollipara Can you check out the PR I made at #1038 and confirm that it solves your issue?


More corrections

Found a few typos in the new material (and a couple more in the old).

I cherry picked all but the commit changing the solutions numbering. Aaron's copied all the problems (w/ solutions where available) into the file, so no renumbering should be necessary


.mov files are not supported

Either convert .mov to .mp4 (preferred) or handle .mov files.

File conversion implemented.


numeric programming issue

When i try to calculate by a number with a number and i get the result is not very reasonable (i think).
i test with two cases:
Case 1: 0.179 * 100 = 17.9 (right)
Case 2: 0.169 * 100 = 16.900000000000002 (??? i think result equal is 16.9)
How do fix this issue?
Thanks.

This is not a Dart specific issue, it is a property of IEEE 754 floating point numbers, and of any computer based representation of real numbers (actually, we can just represent a small set of rational numbers, of course).
Try, e.g., to enter '0.169' on this page in the field 'You entered' and press ENTER. Then you'll see that the IEEE 754 representation of that number is an approximation, because none of the bit patterns that you have available is exactly 0.169.
The IEEE 754 standard defines how to represent various kinds of floating point numbers, and how to compute various values (like adding or multiplying two numbers, taking overflow into account, etc), but I'm not quite sure how tight the standard is on the transformation from a given text to the IEEE 754 bit pattern. So maybe there is more than one correct bit pattern for '0.169'. In any case, the resulting pattern won't be representation of 0.169, it will just be in the vicinity.

I'll close this issue with 'working as intended'.


Remove legacy cross-check from UnqualifedLookup.cpp.

Follow up to https://github.com/apple/swift/pull/22578. That one refactored UnqualifedLookup::UnqualifiedLookup but kept the old around for a cross-check. Per offline conversation with @DougGregor , am now removing the legacy code so that future changes can be made only to the refactored code.

@DougGregor Since this is a continuation of your review on the previous PR, I'm assuming it's OK to land it without taking your time for another review.

@swift-ci please smoke test and merge


Hungarian Notation in UI5 for Union Types (TypeScript)

Hi,
I've removed the default template as it's not applicable for this problem.
According to the OpenUI5/SAPUI5 documentation, Hungarian notation is strongly recommended. The development guidelines in my company are strict about this and require us to use it as well. However, they don't specify anything beyond what the UI5 documentation says.
Therefore, since I use TypeScript for my UI5 development, I have a problem telling what this notation should look like for union types. Let's take the following variable as an example:
let currentValue: number | undefined | null; // iCurrentValue, iunCurrentValue?

What should be the notation for a type that can be an integer, but also undefined or null? I assume that we can add multiple prefixes, but there are no suggestions for undefined and null values.

UI5 rather uses the "v" prefix for variant (union) types. undefined and null where not considered as types initially, so there are no recommended prefixes for them.


GitVersionTask targets file doesn't have way to override with NoFetch option

The GitVersionTask.targets file doesn't have a way to set a variable such that we can override and send in the NoFetch parameter which goes to the task.  And since referencing the nuget package automatically runs GitVersion (which is awesome), I can't setup the task to behave the way I need it to (not awesome).
Expected that there would be a

and your targets default GitVersionToFetchValue to false if it's not already set somewhere else.

#440 fixed this. Thanks @asbjornu
You can build from master, otherwise I hope to get a release out tonight


Fix rename column input delay

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.


What is Ztun for and when should we use it?

It appears to be just a regular HTTPS proxy as well but I don't understand why and when the extension decides to use it. Hopefully someone has the knowledge about what Ztun is for

As far as I know, it's just a like direct peer


Can I contribute with Spanish translation

Is possible share me cheatsheet for translate to Spanish

Thank you for your interest. :) Contribution is always welcome.
And, if you need a translation guide, please refer to this comment link
Please let me know if you need anything other than the above.
@eltriny If you have any additional guides, please leave a comment.

@johnfelipe You can add contribute Spanish translation by adding a es.json file in https://github.com/metatron-app/metatron-discovery/tree/master/discovery-frontend/src/assets/i18n directory.


[WIP] Frontend refactor with reacton/solara

Using solara, we can create the frontend with a react-like framework.
bqplot/bqplot_image_gl are not updated to work properly with ipywidgets 8/solara, unfortunately. This makes building a performant GL image viewer difficult. For now, I put in a workaround with two image viewers, showing a "preview" of an image viewer in bqplot_image_gl, and using plotly for selecting things in the dataset.
Leaving here as a WIP.

https://github.com/swelborn/tomopyui/assets/55868530/8c174a70-d8fd-4dce-b69c-416c7180b135
This is a mockup using solara run sol.py from main directory.


Feat.export question labels

@RubenGeo I went in the end only for labels for dropdown answers, not for questions. Because the questions can be really long and contain HTML. And for the questions it's better doable to keep the short name understandable I thought.

integrated in #2519


support kerberos?

whether supported kerberos or not?

Hi @yuu2lee4, sorry for the delay. We don't have plans to support Kerberos on KafkaJS, but the authentication system is modular, which means it can be implemented as a separate library. If you decide to write the library, I can support you on the integration part.
We could also support it in KafkaJS if the implementation doesn't require any dependencies, I can also support you with this implementation if you want.

I'm closing this for now. Feel free to re-open if you want to support us in implementing this.


[EBPF] manager: add BeforeStop method to modifiers

What does this PR do?
This PR adds a BeforeStop method to the Modifier interface, so that modifiers can clean up their structures before the manager stops.
Motivation
The telemetry modifier needs to clean up some structures so that the same program can be unloaded and reloaded multiple times. The shared-libraries program was having problems with this case.
Describe how you validated your changes

Linting/building/unit tests passing.
Possible Drawbacks / Trade-offs
Additional Notes

/merge

/merge -c

Closed in favor of https://github.com/DataDog/datadog-agent/pull/32453


Zen isn't using HTTPS when manually navigating to a URL.

If I manually go to: zen.coderdojo.com, the page is not using HTTPS by default.
If I navigate through a search engine, HTTPS is used.
HTTPS should be used in both cases.
Course of action here would be a re-direct to the HTTPS site.

Duplicate off: https://github.com/CoderDojo/community-platform/issues/693


Remove cibuild.* and fix bash shebang

@dotnet-bot test ci please

@rainersigwald, can you please ask @dotnet-bot to test CI. I changed netci.groovy to call build.cmd/build.sh scripts, and now cibuild.cmd/sh are not required.

Agreed with what Rainer said. Things could be clarified, but the cibuild is designed to specify arguments to the main build script and isn't redundant.

I understand the sentiment. However, in this case it is literally 12 out of 13 redundant lines of code and the only line that is different has two extra arguments. This patch was a try to consolidate the implementations, so to dogfood the script in CI. Maintaining two scripts vs. one, mitigating the chances of non-ci one getting staled. With that being said, I respectfully disagree.


[4.11] Depreciation Redis Server (not the Redis client)

https://github.com/openswoole/swoole-src/pull/168


prevent chrome autocomplete

I'm not 100% sure I understand autocomplete in general or the use case at this point. It looks like the current implementation follows general guidelines (https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete). Can you give me some more information about this if you're still interested in this?


Syncthing.Syncthing: add version 1.23.3

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

That could work, but I think the checklist above says that a pull request here is only supposed to change one (1) manifest.
Speaking of pulls, do you need me to squash my commits (assuming this run succeeds)?

This application runs in a nonstandard manner - instead of creating a Windows form, it hosts a local webserver on port 8384.

That could work, but I think the checklist above says that a pull request here is only supposed to change one (1) manifest.
Speaking of pulls, do you need me to squash my commits (assuming this run succeeds)?

I believe our process performs this automatically.

One possible solution for having these multiple OS versions could be parallel PackageIdentifiers, such as
* Syncthing.Syncthing.x64

* Syncthing.Syncthing.x86

* Syncthing.Syncthing.arm

* Syncthing.Syncthing.arm64

I believe a better solution is to move NestedInstallerFiles to installer scope from root scope and modify the value of RelativeFilePath for each installer node

https://github.com/microsoft/winget-pkgs/pull/101625


Give priority to CLJS port files in CLJS files

I'm not even sure if this is really a good idea, but until then, there's this set of autocmds which let you do this. I think they work although I haven't tested it...
autocmd BufEnter *.cljs let g:conjure#client#clojure#nrepl#connection#port_files = [".shadow-cljs/nrepl.port", ".nrepl-port"]
autocmd BufEnter *.clj,*.cljc let g:conjure#client#clojure#nrepl#connection#port_files = [".nrepl-port", ".shadow-cljs/nrepl.port"]

Closing this since it's so niche and there's a workaround right here for people that need it. (the code snippet above)


Refactor mongo macros in filters

Feature Request
Is your feature request related to a problem or unsupported use case? Please describe.
To manage mongo connection we created macros responsible to create the good connection depending on many parameters. This is not ideal and a filter is better to do this job
Describe the solution you'd like
create at least 2 filters: One to create a list of mongo hosts and an other other to create a valid mongodb URI. The second filter will the use the first one.

FTR this is a postponed work from #396


Alamofire redirect

SessionDelegate
taskWillPerformHTTPRedirectionWithCompletion

// Delegate
let sessionDelegate = Manager.SessionDelegate()
sessionDelegate.taskWillPerformHTTPRedirectionWithCompletion = { a in
print(a)
}
return Manager(configuration: configuration, delegate: sessionDelegate)

https://github.com/Alamofire/Alamofire/pull/317


500 Internal Server Error

Hi everyone,
I am using checkout V4 to do a payment against the 'sandbox' and trying to implement the Basic PayPal Checkout Button. All the code works fine until it gets to the point of 'Confirm' or 'Pay now' within the PayPal-Pop-Up ... at this point the Pop-Up closes and no further call are made to the Button (as example: onAuthorize is not initiated).
At this point the console shows several a warning and errors after 3 x apy_retry. Is this a known issue or does someone have a suggestion on this?
Any help is welcome and thank you very much in advance,
Christian
UPDATE: in Google Chrome (Version 54) it is possible to complete the payment, i am having the errors just within Firefox V49.0.2
Warning
missing_csrf_jwt Object { timestamp=1479294755397,  windowID="5fbc81d2c8",  pageID="3768daa62d"}
Error
"NetworkError: 500 Internal Server Error - https://www.sandbox.paypal.com/webapps/hermes/api/payment/PAY-1UH37573M6748251ALAWD6BI?"
http_response_500 Object { timestamp=1479294756872,  windowID="5fbc81d2c8",  pageID="3768daa62d"}
Response of the GET Payment request from button.js
{"ack":"error","message":"Unhandled api error","meta":{"calc":"5c86b8d3140ef","rlog":"rKGmcXTB%2B2NqZAMhrf0E %2BSi2kRuzAYN1zBd6UkYGjcFtNQ0WfaI3FHIbPIRTaJRcwP4CM4%2FkeW05efr7awS8xw_1586cc53450"},"server":"Wb_7k zG8hs8iXSTxTssRX7gAbhKsGUveN-Qi5qR4xO-eChao8SHpy7dW9-lcr1X7z1Ex578DclpDjpNeK6E56fHpDAqRWL8SI0Od4rpHe HT57pjggRD85TXSwGA9IYgdTw8WLisakLokxa9yxvmsjiYYO9Sf8Hnb4sanRFuPznDh8b4zEXUgz2kxautGGtS3lTXJjgK9TVqouGCqrStk_j4GQC1ssToOZ0n6am" }

Thanks for the detailed report! I'll take a look at firefox and try to see if I can repro this.
Thanks,
Daniel

@vismagine Can you please try now? Should hopefully be resolved.

Thank you very much for your help on this issue Daniel. My first retry showed good results already. I was able to finalize the payment without the mentioned errors in Firefox.
Again, many thanks for your fast help on that issue. It is good to know that help is offered when its needed the most :)
Thanks,
Christian


Should unit be a separate field in the datamodel?

...and potentially appended to the metric name in the text format?
Alternatively should it just be part of the metric name?

I'd like to see it separate then implementations can concatenate it however they see fit. I think it's a bad idea to rely on parsing information out of a metric name based on underscores, dots or anything like that.

in #31 we converged on unit being a first class citizen in the datamodel.
I agree with Chris that parsing information out of metric names (as prometheus does today) should be avoided in OpenMetrics.


✨ feat(VSecM Safe): #460 Manual Root Key Updates K8s Secret

Manual Root Key Updates K8s Secret
Description
VSECM_MANUAL_ROOT_KEY_UPDATES_K8S_SECRET env variable added for giving an option to updating internal k8s secrets when manual root key provided.
Changes

Renamed app/safe/internal/privates.go to app/safe/internal/bootstrap/persist.go since we use this function in the app/safe/internal/server/route/receive.go to persist keys with the manual root key. Therefore, it's not private to bootstrap anymore.
Added VSECM_MANUAL_ROOT_KEY_UPDATES_K8S_SECRET to core/safe.go with its unit tests.
Added VSECM_MANUAL_ROOT_KEY_UPDATES_K8S_SECRET information details to docs/_pages/0110-configuration.md file

Test Policy Compliance

[x] I have added or updated unit tests for my changes.
[x] I have included integration tests where applicable.
[x] All new and existing tests pass successfully.

Code Quality

[x] I have followed the coding standards for this project.
[x] I have performed a self-review of my code.
[x] My code is well-commented, particularly in areas that may be difficult
to understand.

Documentation

[x] I have made corresponding changes to the documentation (if applicable).
[x] I have updated any relevant READMEs or wiki pages.

Checklist
Before you submit this PR, please make sure:

[x] You have read the contributing guidelines and
especially the test policy.
[x] You have thoroughly tested your changes.
[x] You have followed all the contributing guidelines for this project.
[x] You understand and agree that your contributions will be publicly available
under the project’s license.

By submitting this pull request, you confirm that my contribution is made under
the terms of the project’s license and that you have the authority to grant
these rights.

Thank you for your contribution to VMware Secrets Manager
🐢⚡!

This has been waiting for a while; I’ll merge it and add the necessary changes afterwards maybe.

What I’ll do.

run tests on main
if they pass, I’ll merge this and run tets.
if they pass, I’ll do a tiny amend and repeat (2)
if either fails, I’ll revert.


[r] Fix query conditions on enumerated columns

Works in Python: https://gist.github.com/johnkerl/3d1279b0e3bd9e599d541774419faa54
Not in R: https://gist.github.com/johnkerl/d22373ff55cca23cd23672dae547b3de
Note s3://tiledb-johnkerl/s/v/pbmc3k in the above gists is nothing other than tiledbsoma.io.from_h5ad of
https://github.com/single-cell-data/TileDB-SOMA/blob/main/apis/python/testdata/pbmc3k.h5ad
Needs:

Bugfix
Unit-test coverage

See also #1862

[sc-34800]

Fixed by https://github.com/TileDB-Inc/TileDB-R/pull/614 as the actual parsing is done in the tiledb package.

@eddelbuettel thanks! Looking forward to closing this PR once this functionality is rolled into TileDB-SOMA. (Remaining PRs mine, after you've got TileDB-R tagged & in Conda.)


Add to Private Store choice missing

The store does not anymore has a Refine Results choice by License Type and ellipses against product do not provide a choice to add to Private store only to Add users.

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

ID: 01694043-55c6-fb74-c098-bee64eee69fa
Version Independent ID: 45a58135-7f59-b5d9-fa28-ad3e9a8d3a01
Content: Distribute apps using your private store (Windows 10)
Content Source: store-for-business/distribute-apps-from-your-private-store.md
Product: w10
GitHub Login: @TrudyHa
Microsoft Alias: TrudyHa

Is there a way to add an an app which is accessible only through direct link to the private store. If yes. how can this be achieved?

@officedocsbot assign @mypil

@mohitvij - Thank you for submitting feedback.
I will get this issue over to the Win10 ITPro writing team for investigation.
Thank you for reporting and making the docs better. Much appreciated.
I made a note to request the team to update this when the work is complete.

@mohitvij - From our understanding, the issue has been resolved but it may take a few days for the merged content to appear in the article. If you feel it hasn't been resolved, please re-open this issue.
Thank you for your contribution to make the docs better! Much appreciated!

@officedocsbot close


copr/mysql/json: support json_keys

Signed-off-by: Wangweizhen<EMAIL_ADDRESS>What have you changed?
Make JSON support the json_keys. It's the implementation for JSON_KEYS in Mysql.
What is the type of the changes?

New feature

How is the PR tested?

Unit test

Does this PR affect tidb-ansible?

No.

@lonng @breeswish PTAL

@lonng @breeswish PTAL

Would you mind implement json_keys in  builtin_json.rs or impl_json.rs?

@mapleFU Yes,I will

The rest LGTM.

/test

Would you mind implement json_keys in builtin_json.rs or impl_json.rs and open push down tests for it? Since we can using integration test to test it.

@iosmanthus PTAL

@iosmanthus PTAL, thanks!

/merge

/test

/merge


Temporary pack files of failed garbage collection attempts are not deleted

Description
I was analyzing why do my repositories consume so much space, and found out that if the "Garbage collect all repositories" task fails for some reason (not enough disk space in my case), the temporary pack files will be left there, and will take additional disk space.
This can also make Gitea unreachable.
I've did a quick search of how many stale temporary pack files do I have, and these are the results from ~600 repositories, some of which are quite big. Rows begin with file size, and end with redacted path.
https://gist.github.com/mpeter50/eab799d05e19d0fe1328ae4589ff22a4
Gitea Version
v1.17.3
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
2.36.2
Operating System
Raspbian
How are you running Gitea?
Self-built docker image by original Docker.rootless dockerfile.
Database
MySQL

In the meantime I've also found other kinds of (but similar) temporary files.
All of them reside in a subdirectory of the objects/ directory of repositories.

File name format
Observed location

tmp_graph_XXXXXX
XXXX.git/objects/info/commit-graphs/tmp_graph_XXXXXX

tmp_obj_XXXXXX
XXXX.git/objects/XX/tmp_obj_XXXXXX

Recently I've been restarting Gitea a lot (because of tuning configuration values), so I don't have logs mentioning these files.
Should I open a new issue for these, or just rename the title so its more accurate?
For reference, in the first comment I described stale tmp_pack_XXXXXX files. Mentioning so it might be easier to search for it.

Also, it might be appropriate to ask here because it is related, but please let me know if I should ask it on the forum.
Currently, if I understand it correctly, there is

a default timeout of 60 seconds for GC operation of a single repository (git.timeout.GC)
a default timeout of 60 seconds for the GC task to run for all repositories (cron.git_gc_repos.TIMEOUT)
a default timeout of 60 seconds for the health check task to run for all repositories (cron.repo_health_check.TIMEOUT)

Do you have information on what platforms are used mostly for running Gitea instances?
The reason I ask is that I think it might be worth reconsidering the default settings for timeout values, as I find them to be very low. While I was using the default TIMEOUT values, the mentioned operations didn't have a chance of completing, they always ended with a "context deadline exceeded" message in the log.
After increasing the timeouts significantly, there were repositories where the GC task has spent 10+ minutes (estimate from observing filesystem activity with inotifywait), and the GC task for all repositories was running for 1 or 2 hours, but possibly it would have ran longer if it would have had to garbage collect all repositories from start.
I'm running Gitea on a Raspberry Pi 4B, from a (stationary) portable hard drive.
Both the container and all of the repository data is stored on this drive, along with the operating system.
The system slowing down is not important in this environment, here it is desired that tasks take as much time to complete as needed.

I've been searching to see if a different issue has already been reported, and found that there have been other reports too about issues with the low timeout, for example here and several issues (1, 2, 3) from a user named somera.


Uncommon release date format

Environment
Not yet set up.

Expected Behavior
See either a custom chosen date format (people sometimes like to invent their own stuff and ignore any standard that might already exist) or see a commonly known valid date.
This reference cannot be left out of course :) https://xkcd.com/1179/
PS: As you mention in your GitHub profile that you like RFCs, you may also like https://tools.ietf.org/html/rfc3339 :wink: And thanks for your work of course!

Observed Behavior
Impossible date spotted which is wired. Note that the confusion comes from you almost exactly using the ISO 8601 date format but you switched the position of month and day.

now I spent half an hour on XKCD again, thanks


Azure Functions: unable to find reference page for function.json file

There is a page documenting the host.json file at https://docs.microsoft.com/en-us/azure/azure-functions/functions-host-json but I cannot find a similar reference for the corresponding function.json file. The closest page is https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference but it is nowhere near as detailed as the one for host.json.
This page: https://github.com/Azure/azure-functions-host/wiki/function.json seems like it would be a good starting point.

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

ID: ca056578-526c-603a-a0c7-fad5184134c0
Version Independent ID: 486bd792-6be0-e4e4-8e81-c383591b4a87
Content: Azure Functions HTTP triggers and bindings
Content Source: articles/azure-functions/functions-bindings-http-webhook.md
Service: azure-functions
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

Hi @IanKemp - Thank you for your feedback! We will review and update as appropriate.

Hi @IanKemp - Thanks again for your feedback. I've created a PR that adds following reference that links to the Functions wiki page:

For more examples, see Function.json wiki page.

We will now proceed to close this thread for now. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Increase concurrency level to 150+ threads

When multiple threads / two processes use the MsalCacheHelper, it throws the following exception:
System.InvalidOperationException: Could not get access to the shared lock file. ---> System.IO.IOException: The process cannot access the file 'C:\Users\yosefd\AppData\Roaming\Kusto\userTokenCache.data.lockfile' because it is being used by another process.
We experienced this via a command line tool we have. When it runs for enough time, sporadically, authentication pop-ups appear and if not confirmed, the connection fails on timeout. Each time there is a pop-up, we see that exception.
More background about how we’re reproducing the error:
This happened on Windows 10, both when Kusto Explorer (another tool of ours that uses the MsalCacheHeper) was running and also when it was not running. The exception happens in the context of that command-line tool, and not Kusto Explorer. The tool that hits these exceptions was running alone (one process). It had many concurrent threads, about 150, and all were performing remote calls.

CC @jmprieur for this important bug

@bgavrilMS can we priortize for next release that will get along with MSAL.NET 4.23.0?

@yihezkel - is this a common scenario to have 150 threads do this work?
We've done some stress testing in the past and found that the current approach fails at around ~10-20 threads on Mac and Linux. We've tested Windows as well but haven't found an upper bound, although we may have not tested with 150 threads.
Petro had some thoughts on how to improve but I do not know if 150 threads can be achieved.

Quick note - this was discussed offline

@yihezkel : I was not part of the offline conversation. what was discussed/decided? is this still an issue?

This is still an issue, and we should fix it at some point by using read locks as well as write locks. I marked it as P2 because the use case is not common - around 150 threads running concurrently. But it is not extreme, since an SDK can be used for parallel calls.

This token caching library is meant to be used in public client scenarios, such as desktop clients, which should not exibit this level of concurrency. If you require this level of concurrency I suggest you experiment with using a different syncronization mechanism. When this library was designed, we chose to use file locks because they are ubiquitous and we have not found alternatives that would easily work across the 3 OSes. I do not think this requirements has changed.

I suggest this limitation/assumption be documented. For example, https://github.com/AzureAD/microsoft-authentication-extensions-for-dotnet/wiki/Cross-platform-Token-Cache only says that one of the goals is "Token cache storage can be accessed by multiple processes concurrently.", which is true but with a qualification.

We will not be fixing this as most public client use a single / a few thread to get tokens. Nobody else complained about this.
If Kusto has a complex scenario requiring many threads, I recommend you use MSAL's lower level extensibility to build your own cache, for example an memory cache that periodically saves data a file.
Or, if you have a solution for fixing the existing one, please contribute. This project is quite simple.


Added search for articles for overview

Added overview/search endpoint
Added search into db query
Added frontend search button in nav bar on overview page

Linked to #25


ZIP and any dependency resolition needs to take into account target OS and ARCH

Just because the wskdeploy tool runs on a certain OS and ARCH does not mean that is the same OS and ARCH environment of the target invoker...
Some how the invoker target needs to be provided (and/or defaulted) and any tools run (e.g., npm install need to be aware of this and cause errors if matching
In the case of binaries (instead of cross-platform, source packages that are simply copied), this becomes more complicated of course.  We would need a separate issue/strategy to cover those situations; additionally, if they need to be built on the client it further complicates...  options exist for running/building inside a client side container (mtaching the target environs.) but that put too many dependencies IMO on the client-side (and makes the CLI or wskdeploy as a plugin) less appealing.  Server-side options might be viable where remote builds could be provided (where build containers, possibly even using invokers themselves) could be viable.

Here is a sample discussion of the problem and at least one suggestion... http://stackoverflow.com/questions/24961623/installing-node-js-packages-for-different-architecture

@pritidesai  As you are now looking at using a serverside (system) action to perform the resolution of dependencies this approach should, by default, overcome this concern/consideration; however we may need to consider this in the near future (even if we just document this ZIP behavior or limitation) if they user wants to ZIP on the client-side (perhaps when using the OW debugger?)

The Zip is being done on the server-side so there is no platform dependent consideration any longer.


validate_token Works but nothing else...

I'm running rails 5.1.1 with devise_token_auth 0.1.42.
It seems I can signin, validate-token but no other route seems to work. Below is the validate-token and a route that uses the same tokens but the "authenticate_user" route doesn't want to allow access.
Any ideas?
Started GET "/auth/validate_token" for <IP_ADDRESS> at 2017-06-06 17:21:17 -0400 Processing by DeviseTokenAuth::TokenValidationsController#validate_token as JSON ------------ {"HTTP_VERSION"=>"HTTP/1.1", "HTTP_ACCEPT_ENCODING"=>"gzip,deflate", "HTTP_ACCESS_TOKEN"=>"OXP5v8MczW1gkhldzM5l2Q", "HTTP_CLIENT"=>"dyStvPzh7dDu_kCjGLPVEg", "HTTP_TOKEN_TYPE"=>"Bearer"<EMAIL_ADDRESS>"HTTP_COREENGINE_ID"=>"df10ee0f24819bc1692e4360f36a369c9857689b", "HTTP_EXPIRY"=>"1499203277", "HTTP_ACCEPT"=>"application/json", "HTTP_USER_AGENT"=>"RestSharp/<IP_ADDRESS>", "HTTP_HOST"=>"<IP_ADDRESS>:3000"}   User Load (0.5ms)  SELECT  users.* FROM usersWHEREusers.uid=<EMAIL_ADDRESS>LIMIT 1   User Load (0.7ms)  SELECT users.* FROM usersWHEREusers.id = '7133fdaaa4ef26c5141692c9401cbddbd1830636' LIMIT 1    (0.1ms)  BEGIN    (0.1ms)  COMMIT Completed 200 OK in 81ms (Views: 0.3ms | ActiveRecord: 1.5ms)
Started GET "/api/v01/organization/af06fb7a18fb84455b722385f2c31b0bf7dba066.json" for <IP_ADDRESS> at 2017-06-06 17:21:17 -0400 Processing by Api::V01::OrganizationController#show as JSON   Parameters: {"id"=>"af06fb7a18fb84455b722385f2c31b0bf7dba066"} ------------ {"HTTP_VERSION"=>"HTTP/1.1", "HTTP_ACCEPT_ENCODING"=>"gzip,deflate", "HTTP_ACCESS_TOKEN"=>"OXP5v8MczW1gkhldzM5l2Q", "HTTP_CLIENT"=>"dyStvPzh7dDu_kCjGLPVEg", "HTTP_TOKEN_TYPE"=>"Bearer"<EMAIL_ADDRESS>"HTTP_COREENGINE_ID"=>"df10ee0f24819bc1692e4360f36a369c9857689b", "HTTP_EXPIRY"=>"1499203277", "HTTP_ACCEPT"=>"application/json", "HTTP_USER_AGENT"=>"RestSharp/<IP_ADDRESS>", "HTTP_HOST"=>"<IP_ADDRESS>:3000"} Completed 401 Unauthorized in 1ms (ActiveRecord: 0.0ms)

Ok it seems devise_token_auth wants to use Cookies and when you use that, the authentication seems to work.
Question is how can one for only the use of tokens and not use cookies at all?

I'm using the same version and I haven't found that I need cookies. Here's a link to a test repo I made when I was testing the gem before I put it into a project. It has React on the front end and it's not really complete, but you can test basic sign_in and then create and retrieve a note using just the headers for auth. I don't know what validate token does, I never use this route.
https://github.com/nicholasshirley/gem-auth-test

Thanks @nicholasshirley ! Closing this issue for now.


EncodeFrame may wait forever and not quit in openh264 v1.7.1 for Apple platform

In v1.7.1,  Replace sema with "pthread_cond_t" for  thread pool in apple platform.
However, there exists possible issues:
pthread_cond_signal only works when pthread_cond_wait has been called and is waiting.
So pthread_cond_signal is called before pthread_cond_wait executes, then pthread_cond_wait will not quit and wait for next pthread_cond_signal.
That is why pthread_cond_t should be used and combined with pthread_mutex_t:
pthread_mutex_lock()
pthread_cond_wait()/pthread_cond_signal()
pthread_cond_unlock()
e.g.  The call of WelsEventWait  in CWelsTaskManageBase::ExecuteTaskList may wait and not quit.

@PeterXu , thanks a lot for this issue. We do try to avoid that by calling "pthread_mutex_lock" before "pthread_cond_wait" here https://github.com/cisco/openh264/blob/master/codec/common/src/WelsThreadLib.cpp#L364,
could you kindly take a look or give us an example on how the things can get stuck? Thanks a lot!

@sijchen , That means extra counter is used to replace cond-self, I think that works but a little ugly.
In this "CWelsTaskManageBase::ExecuteTaskList", When QueueTask(forloop) is called and done(OnTaskMinusOne is called),  but WelsEventWait may still not called.
This often happens in my testing(multi-spatial layers).
One suggestion,
In order to resolve it by native pthread_cond_t, the thread model of thread pool should be changed:
From "thread-pool allocates task to threads" to "thread get task from thread-pool queue automatically".
This is one case in my testing and it works well (based-on v1.7.1).
0001-fix-threadpool-dead-lock.patch.txt

@PeterXu

could you give us parameters setting in your testing to reproduce this issue?
could you submit a PR for your fix?
thanks a lot!

@PeterXu
could you give us parameters setting in your testing to reproduce this issue? so that we may add UT to cover that.
I checked your patch file, not all changes looks relevant, so would like to find the exact case to make the changes clear.
Thanks a lot!

Is this problem fixed on commit fa26824?

we did try some fixes but I am not quite sure if what @PeterXu mentioned is still valid, since we don't receive any further info for debugging and we did not reproduce that yet.
If there can be some cfg files provided and we can reproduce, we are more than happy to debug and fix.

@sijchen I am sorry, further verify is still not done.

close this for now, can re-open if we find new evidence of fixes needed.

Nice timing actually, as noted under Windows this definitely occurs when running as a service. We switched our production code from running as a service to running as a logged in user  about a month ago because every day we run into this issue, in last month since switch not one occurrence.
It's very easy to reproduce, just run as a Windows service (ours is called with a .Net wrapper), do lots of encodings on different threads. Watch it hang inside the encode method.


Programming Exercise: Git diff between template and solution shows incorrect number of changes

Describe the bug
For some files, the calculated numbers of additions and deletions are incorrect displayed.
To Reproduce

Go to a programming exercise edit page
Click on 'Review Changes' in the Template/Solution Comparison section
Look for a file where the calculated number of additions and deletions is incorrect

Expected behavior
The number of added and deleted lines of code between the template and the solution submission should be correct.
Screenshots

Which version of Artemis are you seeing the problem on?
7.7.3
What browsers are you seeing the problem on?
Chrome, Safari
Additional context
No response
Relevant log output
No response

@maximiliansoelch I wasn't able to reproduce your example. Could you provide the full files?

@maximiliansoelch I wasn't able to reproduce your example. Could you provide the full files?

I provided you the details over Slack


Tracking issue for node integration

Our plan for JS bundlers is to use ES modules to tie everything together, including an outer shim module and an inner .wasm module.
It's unclear how this story will play out in the Node world, which does not (yet?) work with ES modules natively.

An early tool: https://github.com/yusinto/node-wasm

With newest stdweb from master and the most recent cargo-web you can also do this (based on our hasher example):
#![feature(proc_macro)]

#[macro_use]
extern crate stdweb;
extern crate sha1;

use stdweb::js_export;
use sha1::Sha1;

#[js_export]
fn sha1( string: &str ) -> String {
    let mut hasher = Sha1::new();
    hasher.update( string.as_bytes() );
    hasher.digest().to_string()
}

Then you can do cargo web build and load it in Node.js:
const hasher = require( './target/wasm32-unknown-unknown/release/hasher.js' );
console.log( hasher.sha1( "Hello world!" );

You could technically take the .js and .wasm file generated by cargo-web, add a package.json and easily package it as a normal NPM package.
So, really, while ES6 modules are the future they're hardly necessary right now.

we are tracking this in the individual tool repos, and we have an existing nodejs target that works. closing in favor of tracking this in the tooling repos


Oligonucleotide hibridization support for mismatches

I cannot think of a real-world example where this could be actually needed, but given the similarity with oligos annealing for a PCR, I think we may want to support this.

I don't think we should support this. The PCR makes sense, because the excess of oligo vs. template means that in the final product, the predominant sequence will overwhelmingly be the one from the primers. In a case like this you would have an actual mismatch inside the sequence.
I think, at least for now, that we can keep not supporting this use-case.


lcov.info contains filenames instead of paths for babel6-translated code

Hi,
I'm using istanbul with babel's babel-node (version 6) to run coverage statistics collection over my unit tests.
I'm actually using the following command:
babel-node ./node_modules/istanbul/lib/cli.js cover ./node_modules/.bin/_mocha -- --recursive tests/unit/

Versions of the softwares:

babel ^6.0.0
istanbul ^1.0.0-alpha (solves an issue I had, similar to an issue I found here)

This generated a nice lcov.info file and a nice html report with the right lines reported. The issue is that when I upload lcov.info to a third-party service that needs access to my source repository (codecov.io accessing my github repository), files cannot be found due to a bad file path reported into the lcov.info file.
I tried to look into the configuration file of istanbul, hoping for a life-saving option down -there, but to no avail, since both documentation of the reporting/report-config dictionnary is a bit lacking, and I could not find any sample configuration to guide me.
I know this report is a bit vague, but I can't give access to my repository. At best, I can try to reproduce it in a more confined context/environment.
If I can do anything to help, please tell me, I'll try to provide as much information as I can.

I tried generating the report from the coverage.raw.json with istanbul report --root coverage --dir coverage/report/ (that contains the right paths), and this time the lcov.info file does contain the paths of the files instead of only the filenames.
I don't understand why the automatic generation does not include the file paths, could it be an internal bug ?

Thanks for reporting. I am having the same issue.
I'm attempting to do a code coverage badge on Coveralls.io. I have Istanbul coverage working with the following command:
babel-node ./node_modules/.bin/istanbul cover ./node_modules/mocha/bin/_mocha -- --recursive --require ./test/test_helper.js

But as you note it ouputs an lcov.info with SF parameters containing neither relative paths, nor absolute paths, but just the filename.
grep ^SF coverage/lcov.info
SF:constants.js
SF:game.js
SF:game_states.js
SF:utils.js
SF:validate.js

These files are in /src/, and my coveralls tool has no way to find them, it's looking for them in ./.
I ran the command @DavidPineauScality provided, and same for me, the report-generated-from-the-report has the correct absolute path.

Unfortunately, for me anyway, that only has the appearance of working.
When I edit the lcov.info file manually to add src, I get a reasonable looking code coverage report, that integrates well with Coveralls.

More info:
I was able to get everything working for my project by dropping in babel-istanbul.
It correctly uses absolute paths and it gets the right line numbers. I'm not thrilled about using a fork but it'll do for now.

I believe I have fixed this bug with<EMAIL_ADDRESS>I verified the thirtyone-server project after this fix. Please try it out and let me know if this is working for you. Reopen the issue otherwise

I can confirm upgrading to<EMAIL_ADDRESS>has fixed this issue for me.
Thank you for your help @gotwarlost, much appreciated.

You're welcome. Sorry for the delay.

Hello,
This is also now working for me. Thanks !


SAGMill custom recipes aren't being read Galactic Science

I've had this problem for a while now, every time I try to add custom recipes to the SAGMill, they aren't actually added. The current issue is in the Galactic Science modpack (I add some extra mods).
Here is the content of the SAGMillRecipes_User.xml:

<recipeGroup name="GalacticScience">

	<recipe name="ExNihiloBrokenIron" energyCost="100">
		<input>
			<itemStack modID="exnihilo" itemName="iron_broken" itemMeta="0" />
		</input>
		<output>
			<itemStack oreDictionary="dustIron" number="4"/>
		</output>
	</recipe>

</recipeGroup>

This is output in MC console for it:
[18:15:32] [Client thread/INFO] [EnderIO]: Added user defined recipe group GalacticScience
[18:15:32] [Client thread/INFO] [EnderIO]: Removed recipe ExNihiloBrokenIron due to user config.
[18:15:32] [Client thread/INFO] [EnderIO]: Loaded 2 grinding balls from SAG Mill config.
[18:15:32] [Client thread/INFO] [EnderIO]: Excluding 8 recipes from grinding balls bonus.
[18:15:32] [Client thread/INFO] [EnderIO]: Found 57 valid SAG Mill recipes in config.
[18:15:32] [Client thread/WARN] [EnderIO]: Not adding supplied recipe as a recipe already exists for the input: 1xitem.material@3
[18:15:32] [Client thread/WARN] [EnderIO]: Not adding supplied recipe as a recipe already exists for the input: 1xtile.blockOre@3
[18:15:32] [Client thread/WARN] [EnderIO]: Not adding supplied recipe as a recipe already exists for the input: 1xitem.material@6
[18:15:32] [Client thread/INFO] [EnderIO]: Finished processing SAG Mill recipes. 54 recipes avaliable.
Why was the recipe removed? The Ender IO config has no option for individually turning off custom recipes for each machine. And the problem is only with the SAGMill, I can add recipes to the Alloy smelter just fine.

I don't know why in the original issue post, the `' and '' is removed from the SAGMillRecipes_User.xml content, but these tags ARE present in the file.

Ex nihilo is registering its ores after the recipe phase. So when Ender IO tries to process the recipe, it cannot find the referenced ore discards the recipe, thinking it is for a mod that's not installed.

is there any way to fix that?

Galactic Science has these nifty scripts (customRecipes.zs) to add custom recipes, could I use that instead?
like this for Ex Nihilo:
mods.exnihilo.Sieve.addRecipe(GalacticraftCore:tile.moonBlock:3, minecraft:blaze_rod, 50);
rewrite to:
mods.EnderIO.blockSagMill.addRecipe(exnihilo:exnihilo.iron_broken:0, ore:dustIron, 4);
or
mods.EnderIO.SAGMill.addRecipe(exnihilo:exnihilo.iron_broken:0, ore:dustIron, 4);
But I'm not sure if that is even possible with Ender IO devicesor if I'm using the right name to address the SAGMill.

Ok so i actually tried both and I get an error in MC chat:
ERROR: customRecipes.zs:120 > No such member: EnderIO
...shame.


Typescript

Hello,
I don't get any typescript warnings and it's hard to see changes. Am I doing something wrond is is this the nature of this starter bundle?
(New to electron and typeorm)

Hi,
I don't understand your problem. Can you elaborate? Do you speak about hot-reload?

I guess the question boils down to roughly how does your workflow under this starter kit?
So normally in an Angular only framework I run ng serve and in Atom editor I make a component. I get typescript warnings if I do something wrong like try to import something that does not exist. I then save and changes render.
Under this starter kit I've being running npm start.
I don't get typescript warnings, say when I try to import something that does not exist in Atom.
The console does give warnings when I run npm start. But most of the time when I save to correct errors I just get net::ERR_ABORTED.

I've fixed my hot-reload issue using fix here:
https://stackoverflow.com/questions/46709088/angular-electron-app-breaks-on-refresh-or-change
Is there a way to get typescript warnings as I work on a project?

Looks like some specific error. Because I always got errors related to typescript. In terminal and in Electron window. (I use VS Code on Win 10, maybe this is the reason)

If you already fix this issue for yourself, can you please make PR with the fix? It can help other people.
Also, add a description of your environment.

Sorry for wasting your time - this seems to be related to my atom environment. Feel free to close.
Btw, thank you for this starter bundle! It's really working for me.
On a complete side note, I'd be interested in how this build works / how it was put together in the first place. Are there any good resources or have you done any blog posts on this? I'd be especially interested why everyone elses build seems to rely on python 2 and yours does not.

Thank you for good words. I don't have any posts about it. I just was required to build a cross-platform application and this starter pack was the first step to it.


extends paging and adds/corrects tests

here you go .. but the test cannot really be tested until there is enough test data in clockify :)...

It should be enough I guess. Clockify often sometimes change their API which discourages me to have a full set of tests. But minimal set like this "should" be fine. Thanks! I'll merge it and release a new version 👍

It should be enough I guess. Clockify often sometimes change their API which discourages me to have a full set of tests. But minimal set like this "should" be fine. Thanks! I'll merge it and release a new version 👍


JSX documentation

Feedback very welcome!
I'm not sure if we should add fragments already or the link to the bindings.

Hey do we still want to document JSX that way? @chenglou.
If Yeah, you should update the PR to use the new format https://github.com/facebook/reason/pull/924

JSX is really great. I really want to take advantage of it since its in Reason. It would be nice if the documentation could show how to bind jsx to calls other than react, because a friend of mine and I really want to use it with Vulkan.

@kennetpostigo the secret repo has the current transform & docs on how it works. For ppx in general we've explicitly refrained from documenting it too much because ppx is such a double-edged sword.
This PR is stale but as soon as we open up the secret repo we'll document it better. In the meantime, there's really nothing special about how this ppx is done. This is the single file and here's a guide: https://whitequark.org/blog/2014/04/16/a-guide-to-extension-points-in-ocaml/

Bah let's just get this in first =)


Create nodes.gitme

I don't understand what this PR is supposed to do. I'm going to close it, but feel free to explain the purpose here and I could reconsider.

I don't understand what this PR is supposed to do. I'm going to close it, but feel free to explain the purpose here and I could reconsider.


Branding

Feature Request
Update the logo for the project.  Logos here: https://github.com/finos/branding/tree/master/project-logos/active-project-logos/Symphony Java Toolkit Logo
There are various places we should use these - on the main README, and also on the chat workflow bot icon (SVG encoded)

See #226


Should we allow the creation of empty directories?

The paths.json allows for a directory path type. This is only useful for creating empty directories.
Sometimes it might be desirable for a package to create an empty directory, for example, to have a known place to store configuration data in etc.
However, conda-build filters all directories (including empty ones) unconditionally and thus never writes the path_type: directory (at least to my knowledge, and I made a quick test that confirmed this).
I think we should allow the creation of empty directories.

Apparently there is a workaround people use with conda-build which is to create a folder and add a .empty file in the folder (to make sure it stays around).


Define constants for OpenAPI data types and few additions

It would be nice and helpful to have some constants for OpenApiSchema.Type based on this: https://swagger.io/docs/specification/data-models/data-types/
Instead of typing "array" etc. all the time when trying to parse or create some schema.
Possibly something like: OpenApiTypes.String, OpenApiTypes.Array...
public static class OpenApiTypes
{
    public const string String = "string";
    public const string Number = "number";
    public const string Integer = "integer";
    public const string Boolean = "boolean";
    public const string Array = "array";
    public const string Object = "object";
}

The same would apply to standard string formats etc.
In my opinion, it's better to define those things in a separate dedicated class like OpenApiStringFormats or OpenApiStringFormat instead of OpenApiConstants for better intellisense.
It would be even nicer if the API was more strongly typed and type safe so instead of raw string in OpenApiSchema.Type it would return something like OpenApiType enum/enum class.

That makes sense to me. We can't make it an enum because it is extensible, but a set of string constants would definitely be a good idea.

I'll bundle this change with the fix to #306.

Plan change. To keep the PR size sane, fix will be sent out separately after PR for #306 is checked in.

Sooo... was this ever done.?

#306 has been fixed already in 2018. Are there any plans to do something about this issue?

+1 for nice to have

Plan change. To keep the PR size sane, fix will be sent out separately after PR for #306 is checked in.

@PerthCharern Famous last words.  :)  Seems fix was never sent out?  It's 4 years later...

Reviving this old thread - was anything like this ever implemented?

What's the status on this issue?


Today button on top and yesterday/tomorrow button

it's possibile?

Nope, sorry! But you can implement an option and we could integrate it into this library :)


FixFix query has no coord add may cause report failed.

Proposed changes
1 Add a column query_type for schema table backend_active_tasks.
2 For external query, they has no coord addr, should skip it when report audit log to Fe.
3 Add strictly check for coord addr and QueryType in debug mode.

run buildall

run buildall


exception: No such kernel named bash

Hello !
Thank you for this library. I'm trying to generate a .html homepage for a JupyterLab project based on Notebook examples and I think I can achieve that with sphinx-nbexamples.
However so far i'm still struggling in making the library work.
I tried locally by cloning your project and running a make html in /docs.
I end up with the following "no such kernel named bash" both on Windows & Linux (Ubuntu 18x).
$ make html
sphinx-build -b html -d _build/doctrees   . _build/html
Running Sphinx v3.2.0
C:\Users\erwan\Anaconda3\lib\site-packages\sphinx_nbexamples\__init__.py:1165: RemovedInSphinx40Warning: The app.add_stylesheet() is deprecated. Please use app.add_css_file() instead.
  app.add_stylesheet('example_gallery_styles.css')
making output directory... done
WARNING: html_static_path entry '_static' does not exist
WARNING: The config value `not_document_data' has type `str', defaults to `list'.
loading intersphinx inventory from http://www.sphinx-doc.org/en/stable/objects.inv...
loading intersphinx inventory from http://sphinx-nbexamples.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from http://psyplot.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from https://nbconvert.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from https://docs.python.org/3.4/objects.inv...
intersphinx inventory has moved: http://psyplot.readthedocs.io/en/latest/objects.inv -> https://psyplot.readthedocs.io/en/latest/objects.inv
intersphinx inventory has moved: http://sphinx-nbexamples.readthedocs.io/en/latest/objects.inv -> https://sphinx-nbexamples.readthedocs.io/en/latest/objects.inv
intersphinx inventory has moved: http://www.sphinx-doc.org/en/stable/objects.inv -> https://www.sphinx-doc.org/en/master/objects.inv
C:\Users\erwan\Anaconda3\lib\site-packages\sphinx_nbexamples\__init__.py:950: RemovedInSphinx40Warning: The app.add_stylesheet() is deprecated. Please use app.add_css_file() instead.
  version=insert_bokeh))
C:\Users\erwan\Anaconda3\lib\site-packages\sphinx_nbexamples\__init__.py:952: RemovedInSphinx40Warning: The app.add_javascript() is deprecated. Please use app.add_js_file() instead.
  NotebookProcessor.BOKEH_JS.format(version=insert_bokeh))
Processing ../examples\example_bash.ipynb

Extension error:
Handler <bound method Gallery.from_sphinx of <class 'sphinx_nbexamples.Gallery'>> for event 'builder-inited' threw an exception (exception: No such kernel named bash)
make: *** [Makefile:55: html] Error 2

--
Eventually I could fix this by running your postBuild, failing on bash_kernel not installed, and installing bash_kernel manually.
Shouldn't this be in the requirements.txt ?
(talking about this, I also had to install 2 other dependencies , sphinx_rtd_theme and autodocsumm) which may be needed only to run your examples, but could also be added in the requirements.txt?  )

Hello @Chilipp , thank you for your answer !
I'll try to set-up nbsphinx as you suggest.
i already got the standard sphinx-gallery working (https://github.com/radis/radis/pull/205), I hope it's quite easy from there.

closing this as sphinx-nbexamples is now archived.


🚨 fix build issues

Fix compilation issues.
TODO very soon: add build and test github action

Good catch, lgtm :muscle: