Successfully ingest the csv data
What happened instead?
KeyError: Timestamp('2010-08-23 16:00:00+0000', tz='UTC')

Here is how you can reproduce this issue on your machine:
Reproduction Steps

Download the csv data (https://www.dropbox.com/s/9enxomhizk86dzk/sample.csv?dl=0)
edit the ..zipline\extension.py as below:

import pandas as pd

from zipline.data.bundles import register
from zipline.data.bundles.csvdir import csvdir_equities

start_session = pd.Timestamp('2009-08-24', tz='UTC')
end_session = pd.Timestamp('2010-08-24', tz='UTC')

register(
        'futures-bundle-min',
        csvdir_equities(
            ['minute'],
            'C:\\Users\\user\\zipTest',
        ),
        calendar_name='CME',
        start_session=start_session,
        end_session=end_session
)

Place "sample.csv" at C:\Users\user\zipTest\minute\

run "zipline ingest -b futures-bundle-min"
then errors popped out as below:

Loading custom pricing data:   [####################################]  100% | sample: sid 0
Merging minute equity files:  [------------------------------------]  0
Traceback (most recent call last):
File "pandas/_libs/index.pyx", line 449, in pandas._libs.index.DatetimeEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 811, in pandas._libs.hashtable.Int64HashTable.get_item
File "pandas/_libs/hashtable_class_helper.pxi", line 817, in pandas._libs.hashtable.Int64HashTable.get_item
KeyError:<PHONE_NUMBER>000000000
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\pandas\core\indexes\base.py", line 2525, in get_loc
return self._engine.get_loc(key)
File "pandas/_libs/index.pyx", line 421, in pandas._libs.index.DatetimeEngine.get_loc
File "pandas/_libs/index.pyx", line 451, in pandas._libs.index.DatetimeEngine.get_loc
KeyError: Timestamp('2010-08-23 16:00:00+0000', tz='UTC')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "pandas/_libs/index.pyx", line 449, in pandas._libs.index.DatetimeEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 811, in pandas._libs.hashtable.Int64HashTable.get_item
File "pandas/_libs/hashtable_class_helper.pxi", line 817, in pandas._libs.hashtable.Int64HashTable.get_item
KeyError:<PHONE_NUMBER>000000000
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\user\Anaconda3\envs\zipTest\Scripts\zipline-script.py", line 11, in
load_entry_point('zipline==1.3.0', 'console_scripts', 'zipline')()
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\click\core.py", line 722, in call
return self.main(*args, **kwargs)
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\click\core.py", line 697, in main
rv = self.invoke(ctx)
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\click\core.py", line 1066, in invoke
return process_result(sub_ctx.command.invoke(sub_ctx))
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\click\core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\click\core.py", line 535, in invoke
return callback(*args, **kwargs)
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\zipline_main.py", line 348, in ingest
show_progress,
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\zipline\data\bundles\core.py", line 451, in ingest
pth.data_path([name, timestr], environ=environ),
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\zipline\data\bundles\csvdir.py", line 94, in ingest
self.csvdir)
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\zipline\data\bundles\csvdir.py", line 156, in csvdir_bundle
show_progress=show_progress)
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\zipline\data\minute_bars.py", line 697, in write
write_sid(*e, invalid_data_behavior=invalid_data_behavior)
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\zipline\data\minute_bars.py", line 730, in write_sid
self._write_cols(sid, dts, cols, invalid_data_behavior)
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\zipline\data\minute_bars.py", line 810, in _write_cols
latest_min_count = all_minutes.get_loc(last_minute_to_write)
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\pandas\core\indexes\datetimes.py", line 1426, in get_loc
return Index.get_loc(self, key, method, tolerance)
File "C:\Users\user\Anaconda3\envs\zipTest\lib\site-packages\pandas\core\indexes\base.py", line 2527, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas/_libs/index.pyx", line 421, in pandas._libs.index.DatetimeEngine.get_loc
File "pandas/_libs/index.pyx", line 451, in pandas._libs.index.DatetimeEngine.get_loc
KeyError: Timestamp('2010-08-23 16:00:00+0000', tz='UTC')
...
What steps have you taken to resolve this already?
...
Anything else?
...
Sincerely,
Joseph

As I changed the trading-calendar to 'NYSE', the issue was solved. However, I am still puzzled because basically the times of data (in minute-frequency) are contained in the range of CME somehow.

Hi, got the same issue ingesting minute data for 24/7 calendar

can you try the following to configure minutes_per_day, which default to 390 (for stocks.)
minutes_per_day=1440,
calendar_name='CME',
start_session=None,
end_session=None

Similar issue:
`Traceback (most recent call last):
File "pandas/_libs/tslib.pyx", line 1702, in pandas._libs.tslib.convert_str_to_tsobject
File "pandas/_libs/src/datetime.pxd", line 119, in datetime._string_to_dts
ValueError: Error parsing datetime string "ASTC.csv" at position 0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "pandas/_libs/tslib.pyx", line 1732, in pandas._libs.tslib.convert_str_to_tsobject
File "pandas/_libs/tslibs/parsing.pyx", line 99, in pandas._libs.tslibs.parsing.parse_datetime_string
File "/home/x777/anaconda3/envs/env_zipline/lib/python3.5/site-packages/dateutil/parser/_parser.py", line 1374, in parse
return DEFAULTPARSER.parse(timestr, **kwargs)
File "/home/x777/anaconda3/envs/env_zipline/lib/python3.5/site-packages/dateutil/parser/_parser.py", line 649, in parse
raise ParserError("Unknown string format: %s", timestr)
dateutil.parser._parser.ParserError: Unknown string format: ASTC.csv
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/x777/anaconda3/envs/env_zipline/bin/zipline", line 11, in
load_entry_point('zipline==1.3.0', 'console_scripts', 'zipline')()
File "/home/x777/anaconda3/envs/env_zipline/lib/python3.5/site-packages/click/core.py", line 829, in call
return self.main(*args, **kwargs)
File "/home/x777/anaconda3/envs/env_zipline/lib/python3.5/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/x777/anaconda3/envs/env_zipline/lib/python3.5/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/x777/anaconda3/envs/env_zipline/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/x777/anaconda3/envs/env_zipline/lib/python3.5/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/x777/anaconda3/envs/env_zipline/lib/python3.5/site-packages/zipline/main.py", line 404, in bundles
map(text_type, bundles_module.ingestions_for_bundle(bundle))
File "/home/x777/anaconda3/envs/env_zipline/lib/python3.5/site-packages/zipline/data/bundles/core.py", line 131, in ingestions_for_bundle
reverse=True,
File "/home/x777/anaconda3/envs/env_zipline/lib/python3.5/site-packages/zipline/data/bundles/core.py", line 130, in
if not pth.hidden(ing)),
File "/home/x777/anaconda3/envs/env_zipline/lib/python3.5/site-packages/zipline/data/bundles/core.py", line 123, in from_bundle_ingest_dirname
return pd.Timestamp(cs.replace(';', ':'))
File "pandas/_libs/tslib.pyx", line 390, in pandas._libs.tslib.Timestamp.new
File "pandas/_libs/tslib.pyx", line 1549, in pandas._libs.tslib.convert_to_tsobject
File "pandas/_libs/tslib.pyx", line 1735, in pandas._libs.tslib.convert_str_to_tsobject
ValueError: could not convert string to Timest`
File format (example part):
date | open | high | low | close | volume
2020-03-25 08:00 | 1.2 | 1.88 | 1.2 | 1.88 | 1229
2020-03-25 08:01 | 2.25 | 2.25 | 2.25 | 2.25 | 2
2020-03-25 08:03 | 2.25 | 2.25 | 2.25 | 2.25 | 198
2020-03-25 08:04 | 2 | 2.3899 | 2 | 2.32 | 964
2020-03-25 08:05 | 2.25 | 2.61 | 2.25 | 2.5 | 3997
2020-03-25 08:06 | 2.4499 | 2.48 | 2.44 | 2.48 | 1100
2020-03-25 08:07 | 2.48 | 2.4899 | 2.44 | 2.44 | 1727
2020-03-25 08:09 | 2.3 | 2.4012 | 2.3 | 2.39 | 1520
2020-03-25 08:10 | 2.38 | 2.38 | 2.1 | 2.1 | 1121
2020-03-25 08:11 | 2.05 | 2.1 | 1.78 | 1.78 | 2217
2020-03-25 08:12 | 1.78 | 1.88 | 1.7 | 1.88 | 1408
2020-03-25 08:13 | 1.88 | 2.03 | 1.88 | 2 | 2657
2020-03-25 08:14 | 2.03 | 2.34 | 2.03 | 2.34 | 8467
2020-03-25 08:15 | 2.34 | 2.47 | 2.27 | 2.47 | 12406
2020-03-25 08:16 | 2.4 | 2.55 | 2.21 | 2.27 | 8549
2020-03-25 08:17 | 2.3 | 2.7 | 2.27 | 2.7 | 22131
2020-03-25 08:18 | 2.75 | 2.9 | 2.73 | 2.76 | 26921
2020-03-25 08:19 | 2.76 | 3.1 | 2.65 | 3.01 | 17288
2020-03-25 08:20 | 3.09 | 3.19 | 2.86 | 3.19 | 31333
2020-03-25 08:21 | 3.15 | 3.3 | 3.02 | 3.11 | 39337
2020-03-25 08:22 | 3.06 | 3.09 | 2.87 | 2.89 | 40277
2020-03-25 08:23 | 2.895 | 3.02 | 2.79 | 2.9 | 15370
2020-03-25 08:24 | 2.9 | 3.27 | 2.9 | 3.14 | 22064
2020-03-25 08:25 | 3.16 | 3.16 | 2.91 | 3 | 16245
2020-03-25 08:26 | 2.9999 | 3.08 | 2.9999 | 3 | 8341

I'm not confident this is the best fix but it seemed like it had something to do with the calculation of the last possible index in the range. I fixed it in my installation by changing the following line in:
zipline/data/minute_bars.py from:
latest_min_count = all_minutes.get_loc(last_minute_to_write)
to
latest_min_count = all_minutes.get_loc(last_minute_to_write, 'backfill')
to cause it to find the value at the next possible minute after the minute it's looking for, if the minute its looking for is not found.

@netshade , just be carrefull, some strategies might be affected. If you make a BUY on market_open(), you might get the price from the previous day not the open price of the current day!

Great call, thank you. :)

Oi @lobobruno , tudo bom? Do you have a working example of a ingest function for minute level data that you'd be willing to share? I've been trying to run minute-level backtests with some issues but I've found your edits to the algorithm.py invaluable. I've got it to work now but my output has a strange quality. Even though I have minute level data:
2020-05-08 09:44:00+00:00
2020-05-08 09:45:00+00:00
2020-05-08 09:46:00+00:00
My output zeros out everything but the day, tossing the hour and minute detail out. So, for a given trading day, I've got a series of +400 lines of results that all share the same timestamp (that day's date). Is this an issue that you encountered? What part of this process could lead to this? Many thanks for your insight
Output:
2020-05-08 00:00:00+00:00
2020-05-08 00:00:00+00:00
2020-05-08 00:00:00+00:00

Oi @lobobruno , tudo bom? Do you have a working example of a ingest function for minute level data that you'd be willing to share? I've been trying to run minute-level backtests with some issues. I've got it to work now but my output has a strange quality. Even though I have minute level data:
2020-05-08 09:44:00+00:00
2020-05-08 09:45:00+00:00
2020-05-08 09:46:00+00:00
My output zeros out everything but the day, tossing the hour and minute detail out. So, for a given trading day, I've got a series of +400 lines of results that all share the same timestamp (that day's date). Is this an issue that you encountered? What part of this process could lead to this? Many thanks for your insight
Output:
2020-05-08 00:00:00+00:00
2020-05-08 00:00:00+00:00
2020-05-08 00:00:00+00:00

Hi guys!
I solved my problem by setting minutes_per_day to its correct value while I'm registering my bundle to ingest, in register function.
So to fix the problem you should prepare your bundle registration function with correct TradingCalender AND minutes_per_day value.
For example if you want a 24/7 hour calender you register function should be like this:
register_calendar(
    'always_open',
    AlwaysOpenCalendar(),
)

register(
    'test_bundle',
    csvdir_equities(
        ['minute'],
        'path_to_your_csv_file',
    ),
    calendar_name='always_open',
    minutes_per_day=1440,
    start_session=start_session,
    end_session=end_session
)

Check this files to see what is happening:
zipline/data/bundles/core.py line 408
zipline/data/minute_bars.py line 468
zipline/data/minute_bars.py line 810

Hi guys!
I solved my problem by setting minutes_per_day to its correct value while I'm registering my bundle to ingest, in register function.
So to fix the problem you should prepare your bundle registration function with correct TradingCalender AND minutes_per_day value.
For example if you want a 24/7 hour calender you register function should be like this:
register_calendar(
'always_open',
AlwaysOpenCalendar(),
)
register(
'test_bundle',
csvdir_equities(
['minute'],
'path_to_your_csv_file',
),
calendar_name='always_open',
minutes_per_day=1440,
start_session=start_session,
end_session=end_session
)
Check this files to see what is happening:
zipline/data/bundles/core.py line 408
zipline/data/minute_bars.py line 468
zipline/data/minute_bars.py line 810

@h4ppysmile, would you know how to solve #2700 ?

I have the same Issue with the Timestamp error. However, I have the error on a daily timeframe and tried several solutions like
start_date = pd.Timestamp('2022-07-29',).tz_localize('UTC')
start_date = pd.Timestamp('2022-07-29',)
It seems that this problem occurs and that the data is 20 years before the day I ingested the data bundle via zipline.
This is the Error:
KeyError                                  Traceback (most recent call last)
File pandas_libs\index.pyx:444, in pandas._libs.index.DatetimeEngine.get_loc()
File pandas_libs\hashtable_class_helper.pxi:1625, in pandas._libs.hashtable.Int64HashTable.get_item()
File pandas_libs\hashtable_class_helper.pxi:1632, in pandas._libs.hashtable.Int64HashTable.get_item()
KeyError:<PHONE_NUMBER>000000000
During handling of the above exception, another exception occurred:
KeyError                                  Traceback (most recent call last)
File c:\Users\henry\miniconda3\envs\ml4t\lib\site-packages\pandas\core\indexes\base.py:3081, in Index.get_loc(self, key, method, tolerance)
[3080](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/pandas/core/indexes/base.py:3080) try:
-> [3081](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/pandas/core/indexes/base.py:3081)     return self._engine.get_loc(casted_key)
[3082](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/pandas/core/indexes/base.py:3082) except KeyError as err:
File pandas_libs\index.pyx:413, in pandas._libs.index.DatetimeEngine.get_loc()
File pandas_libs\index.pyx:446, in pandas._libs.index.DatetimeEngine.get_loc()
KeyError: Timestamp('2003-08-23 00:00:00+0000', tz='UTC')
The above exception was the direct cause of the following exception:
...
[686](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/pandas/core/indexes/datetimes.py:686)     return Index.get_loc(self, key, method, tolerance)
[687](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/pandas/core/indexes/datetimes.py:687) except KeyError as err:
--> [688](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/pandas/core/indexes/datetimes.py:688)     raise KeyError(orig_key) from err
KeyError: Timestamp('2003-08-23 00:00:00+0000', tz='UTC')

This might help:
https://pypi.org/project/zipline-norgatedata/#patch-to-allow-backtesting-before-20-years-ago

Thank you for the recommendation. Now I only have problems again, loading my bundle and I still do not know how to solve this error, while it wasn't there before. I guess it has something to do with updating my environment.

TypeError                                 Traceback (most recent call last)
Input In [59], in <cell line: 4>()
1 from zipline.data.bundles import load, register
----> 4 bundle_data = bundles.load('binance_daily')
File c:\Users\henry\miniconda3\envs\ml4t\lib\site-packages\zipline\data\bundles\core.py:537, in _make_bundle_core..load(name, environ, timestamp)
[531](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:531)     timestamp = pd.Timestamp.utcnow()
[532](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:532) timestr = most_recent_data(name, timestamp, environ=environ)
[533](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:533) return BundleData(
[534](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:534)     asset_finder=AssetFinder(
[535](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:535)         asset_db_path(name, timestr, environ=environ),
[536](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:536)     ),
--> [537](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:537)     equity_minute_bar_reader=BcolzMinuteBarReader(
[538](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:538)         minute_equity_path(name, timestr, environ=environ),
[539](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:539)     ),
[540](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:540)     equity_daily_bar_reader=BcolzDailyBarReader(
[541](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:541)         daily_equity_path(name, timestr, environ=environ),
[542](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:542)     ),
[543](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:543)     adjustment_reader=SQLiteAdjustmentReader(
[544](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:544)         adjustment_db_path(name, timestr, environ=environ),
[545](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:545)     ),
[546](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/zipline/data/bundles/core.py:546) )
File c:\Users\henry\miniconda3\envs\ml4t\lib\site-packages\zipline\data\minute_bars.py:902, in BcolzMinuteBarReader.init(self, rootdir, sid_cache_sizes)
...
[160](file:///C:/Users/henry/miniconda3/envs/ml4t/lib/site-packages/exchange_calendars/exchange_calendar.py:160) # Midnight in UTC for each trading day.
File pandas_libs\tslibs\timestamps.pyx:290, in pandas._libs.tslibs.timestamps._Timestamp.richcmp()
TypeError: Cannot compare tz-naive and tz-aware timestamps


Simplify MNIST example.

What does this PR do?
This PR aims to simplify the code and make it more readable.
It is aimed at making it more attractive to ML beginners.

Remove a duplicate cross entropy calculation in compute_metrics.
Use the same code for train set and test set
Expose the one liner update_model.
Replace fairly hard to read dictionaries and dictionary comprehensions with variables.
Remove jax.device_get calls.
Replace logging.info with print for the main log.
This improves train log visibility and removes the need for googlelog.Capture().
Make the training log one line per epoch with constant with numbers making it easy to compare them.
Make naming uniform (test, eval into test), in line with PyTorch example.

tensorboard link
Log from the training:
epoch:  1, train_loss: 0.2709, train_accuracy: 91.91, test_loss: 0.0491, test_accuracy: 98.39
epoch:  2, train_loss: 0.0513, train_accuracy: 98.41, test_loss: 0.0375, test_accuracy: 98.72
epoch:  3, train_loss: 0.0382, train_accuracy: 98.79, test_loss: 0.0252, test_accuracy: 99.10
epoch:  4, train_loss: 0.0271, train_accuracy: 99.10, test_loss: 0.0255, test_accuracy: 99.14
epoch:  5, train_loss: 0.0229, train_accuracy: 99.25, test_loss: 0.0270, test_accuracy: 99.13
epoch:  6, train_loss: 0.0180, train_accuracy: 99.39, test_loss: 0.0271, test_accuracy: 99.10
epoch:  7, train_loss: 0.0154, train_accuracy: 99.50, test_loss: 0.0272, test_accuracy: 99.11
epoch:  8, train_loss: 0.0127, train_accuracy: 99.56, test_loss: 0.0295, test_accuracy: 99.10
epoch:  9, train_loss: 0.0105, train_accuracy: 99.66, test_loss: 0.0315, test_accuracy: 99.02
epoch: 10, train_loss: 0.0085, train_accuracy: 99.74, test_loss: 0.0273, test_accuracy: 99.22

Confirmed that the colab still works.


updated class to className

Current dependencies on/for this PR:

main

PR #5   👈

This stack of pull requests is managed by Graphite.


Unexpected behavior when use Element setValue with string that contains keyword "var".

Hi, how are you?
I try to open a discussion before create an issue, but the section was disabled for the repository..
I have an issue with custom page object for the quick input header.. when i try to set to the element a value that contains "var" the same was not setted, and the component gets updated with the root path of the file system..
I create a little example, and in this test you could check the described behavior.

@AxelFlores1990 thanks for raising the issue.
I haven't been able to use all Page Objects yet and therefor we don't have tests for some of them. Any contributions with a fix for this that comes with a simple test to ensure this works is much appreciated.


whoops something went wrong

when using the "notification" bell icon thingy.

@Gingeropolous can we close this issue? :) Redesign and all.


[full-ci] enhancement: allow ocis to provide custom web applications

Overview
The administrator of the environment is capable of providing custom web applications to the users.
This feature is useful for organizations that have specific web applications that they want to provide to their users.
It's important to note that the feature at the moment is only capable of providing static (js, mjs, e.g.) web applications
and does not support injection of dynamic web applications (custom dynamic backends).
Loading Applications
Loading applications is provided in three ways:

By loading a web application from a user-provided path, by setting the WEB_APPS_PATH environment variable.
By loading a web application from the default ocis home directory, e.g. $OCIS_BASE_DATA_PATH/web/apps.
By embedding a web application into the ocis binary which is a build-time option,
e.g. ocis_src_path/services/web/apps followed by a build.

The list of available applications is composed of the build in extensions and the custom applications
provided by the administrator, e.g. WEB_APPS_PATH or $OCIS_BASE_DATA_PATH/web/apps.
for example, if ocis contains a build in extension image-viewer-dfx and the administrator provides a custom
application image-viewer-obj in the WEB_APPS_PATH directory,the user will be able to access both applications
from the web ui.
Application Structure
Applications always have to follow a strict structure, which is as follows:

an application must be a directory
an application must contain a manifest.json file

everything else is skipped and not considered as an application.
The manifest.json file contain the following fields:

id - required - the name of the application must be unique across all applications
entrypoint - required - the entrypoint of the application, e.g. index.js, the path is relative to the parent directory
config - optional - a list of key-value pairs that are passed to the global web application configuration

Application Configuration
it's important to note that an application manifest should never be changed manually;
if a custom configuration is needed, the administrator should provide the required configuration inside the
$OCIS_BASE_DATA_PATH/config/apps.yaml file.
The apps.yaml file must contain a list of key-value pairs which gets merged with the config field.
For example, if the image-viewer-obj application contains the following configuration:
{
  "id": "image-viewer-obj",
  "entrypoint": "index.js",
  "config": {
    "maxWith": 1280,
    "maxHeight": 1280
  }
}

and the apps.yaml file contains the following configuration:
image-viewer-obj:
  config:
    maxHeight: 640
    maxSize: 512

the final configuration for web will be:
{
  "external_apps": [
    {
      "id": "image-viewer-obj",
      "path": "index.js",
      "config": {
        "maxWith": 1280,
        "maxHeight": 640,
        "maxSize": 512
      }
    }
  ]
}

besides the configuration from the manifest.json file, the apps.yaml file can also contain the following fields:

disabled - optional - defaults to false - if set to true, the application will not be loaded

The local provided configuration yaml will always override the shipped application manifest configuration.
Fallback Mechanism
Besides the configuration and application registration, there is one further important aspect to now;
in the process of loading the application assets, the system uses a fallback mechanism to load the assets.
This is incredibly useful for cases where just a single asset should be overwritten, e.g., a logo or similar.
Consider the following, ocis is shipped with a default extension called image-viewer-dfx which contains a logo,
but the administrator wants to provide a custom logo for the image-viewer-dfx application.
This can be achieved by providing a custom logo in the WEB_APPS_PATH directory, e.g. WEB_APPS_PATH/image-viewer-dfx/logo.png.
Every other asset is loaded from the build in extension, but the logo is loaded from the custom directory.
The same applies for the manifest.json file, if the administrator wants to provide a custom manifest.json file.
Miscellaneous
Please note that ocis needs a restart to load new applications or changes to the apps.yaml file.
PR related information
Related Issue

Fixes https://github.com/owncloud/ocis/issues/8392

How Has This Been Tested?

local installation with a set of custom applications

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[ ] Tests only (no source changes)

Checklist:

[x] Write Unit Tests
[ ] Discuss with web-team if something is missing
[ ] Critical review of JailJoin and FS, no breakout allowed
[ ] Add Documentation (follow up pr once everything is done)
[ ] Signature validation (followup pr)
[ ] app loading cli (followup pr)

@butonic, @micbar, @kulmann, the current logic expects a file named web.apps.yml to be located within the BaseConfigPath/config directory.
in my opinion we should use something more flexible like extensions.yml,.
The reason why I'm torn is that when we mention web in the name, everyone assumes that these are only web apps (static files)...
But I think it would be great if we also allowed injecting proxy routes in the long term. what do you all mean?

we discussed the following adjustments:

app configurations are done in the $OCIS_BASE_DATA_PATH/config/apps.yaml file
custom apps are served from $OCIS_BASE_DATA_PATH/web/assets/apps or $WEB_APPS_PATH
build in apps (compile time) are located in ocis_src_path/services/web/assets/apps
the web static asset (ui) path is now /assets/core instead of /assets (build time and default fs location)
WEB_ASSET_PATH is deprecated in favor of WEB_ASSET_CORE_PATH, a fallback mechanism and deprecation warning is build in.

cc.: @kulmann

I’m not happy with the fallbackfs, I need to apply one more change before we merge it.

we discussed the following adjustments:

app configurations are done in the $OCIS_BASE_DATA_PATH/config/apps.yaml file
custom apps are served from $OCIS_BASE_DATA_PATH/web/assets/apps or $WEB_APPS_PATH
build in apps (compile time) are located in ocis_src_path/services/web/assets/apps
the web static asset (ui) path is now /assets/core instead of /assets (build time and default fs location)
WEB_ASSET_PATH is deprecated in favor of WEB_ASSET_CORE_PATH, a fallback mechanism and deprecation warning is build in.

cc.: @kulmann

was unable to load app with the latest changes and I was wondering why. Then found out that the env was changed
~$WEB_APPS_PATH~ $WEB_ASSET_APPS_PATH

@fschade can you fix the 10 new sonarcloud issues?

@fschade can you fix the 10 new sonarcloud issues?

sonarCloud is in those cases wrong in my opinion, its about string usage in tests and test naming, i try to exclude those two rules for tests only, but not today

@fschade IMPORTANT --> before merging, see my comment: https://github.com/owncloud/ocis/pull/8523#discussion_r1512570948


imgtool: remove

This is already packaged as a proper Python application in mcuboot-imgtool.

Add a :+1: reaction to pull requests you find important.

I'm not sure I understand what the "Codeowners"  checks and why it is failing.

Please ignore that failure, see https://github.com/NixOS/nixpkgs/pull/336261#issuecomment-2400822729 for context

Please ignore that failure, see #336261 (comment) for context

Yes, and I've resubmitted an identical version now that the fix has been pushed.

Please don't clear the template

You are effectively removing the package from python3Packages. We should probably add an alias for that.

You are effectively removing the package from python3Packages. We should probably add an alias for that.

Yes, the package is in fact an application (and should not have been put into python3Packages), and is already available as mcuboot-imgtool (which had been accepted in 2023 a few days before this package).
Nobody depends on imgtool in nixpkgs. Some people might have installed it, for example using home-manager. Is there a procedure to migrate to mcuboot-imgtool for them?

If the packages are indeed identical, make an alias attribute that points to mcuboot-imgtool.

Done.

The commit message and the PR title should start with python312Packages.imgtool since this is in the python modules.

Done.

@natsukium I've made the requested changes, and ofborg run is clean

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


GetRelatedResource gubbins return values make POData lose plot

The magic methods used in LaravelReadQuery's getRelatedResourceReference and getResourceFromRelatedResourceSet calls seem to really upset further upstream in POData.
By "upset",  I mean tripping a 500 error with following message:
The implementation of the method IQueryProvider::getRelatedResourceReference must return an instance of type described by resource set's type(App\Foo\Bar) or null if resource does not exist.

Fixed upstream - relation multiplicities were switched so many end of a 1:N relation was being treated as 1 end and vice versa.


Update jck.mk and playlist.xml file

Creating PR to update jck.mk and playlist file

Test PR. closing it.


Destroy command: removing app causes syntax error in config/environment.rb

Steps to reproduce
➜ lotus new bookshelf && cd bookshelf && bundle
➜ bundle exec lotus generate app admin
➜ bundle exec lotus destroy app admin
➜ cat config/environment.rb
require 'rubygems'
require 'bundler/setup'
require 'lotus/setup'
require_relative '../lib/bookshelf'bookshelf # SYNTAX ERROR
require_relative '../apps/web/application'

Lotus::Container.configure do
  mount Web::Application, at: '/'
end

Ref: #387
/cc @lucasallan

@jodosha I'll take a look later today.

@lucasallan Thank you :+1:

@lucasallan This was already solved by @trexnix Thank you all :smile:


Create version tags

Maybe it's just a matter of git push --tags, but the metadata says we are on 0.2.0 but I don't see either the 0.1.0 or 0.2.0 tags in here.

Been using stove to manage this together with the supermarket package.
Not perfect but it does the job.

:+1: tags are there, looks live stove creates them automagically

@damphyr mind adding the stove call to the Rakefile? I always forget which args to pass...

There are no arguments (--username and --key for the credentials to Chef supermarket, but we're not checking them in :wink:). It reads everything off the metadata and the git remote.
stove is a bit of a PITA because it sets the tag, then tries to login to GitHub and it never actually cleans up after itself so if something goes wrong you need to delete the tag locally and then possible remove the tag from GitHub etc. etc.
Not something I would put in the Rakefile like that.


Inconsistency in Validation Framework

The following statement is not allowed by the validator
extern char MEM[1 << XLEN] [[is_main_mem]];
Since << is not allowed in the "[..]" operator.
Fixing it by introducing a variable like so:
unsigned<XLEN+1> MEMSIZE = 1 << XLEN;
extern char MEM[MEMSIZE] [[is_main_mem]];

Does not work, since 'XLEN+1' is not allowed in the type declaration.
Creating a new variable like so:
unsigned int XLEN;
unsigned<33> XLENP = XLEN +1;

unsigned<XLENP> MEMSIZE = 1 << XLEN;
extern char MEM[MEMSIZE] [[is_main_mem]];

seems to be the only option, since casting in constant expressions like this is not allowed either:
unsigned int XLENP = (unsigned int)(XLEN +1);
This is counterintuitive, there should be no need for enlarged datatypes.
Casting in declarations should be allowed.
The best solution to the original problem is to allow the << Operator inside the extern array declaration.
Edit:
I have spoken too soon, the "Fix" unsigned<XLENP> MEMSIZE = 1 << XLEN; is also just a shift operation which after all is not allowed in any declarations.
This means shift operations are not usable at all in declarations.

You are right, none of the bitwise operators are currently supported in constant expressions.
If I recall correctly we pushed it down the line due to some open questions regarding the semantics of the shift operator when used in constant expressions. Based on the the current type rules of the shift operator, expressions of the form 1 << n will always evaluate to zero for n != 0, because the result must always have type unsigned<1>.
Btw, you can use XLEN+1 in a type specifier, but it needs to be parenthesized like this, because otherwise the '>' would conflict with the greater than operator in the grammar: unsigned<(XLEN+1)>. Regarding the cast: I had previously made the proposal that type rules can be ignored for constant assignments, as long as the calculated value fits in the assignment target. It is currently tracked as #75.


Submitted solution not showing in the list of solutions

I recently finished https://www.codewars.com/kata/ascii85-encoding-and-decoding/solutions/c
When I want to see my own submitted solution by clicking 'My solutions' codewars states 'There are no solutions yet for this kata.'
However, if I choose to compare my solution to another solution, my solution shows. It's also shown under my profile->solutions->completed, and it's not listed under obsolete.
I can't reproduce this error, but I've seen this happen from time to time.

Either old problem is back, or you are lucky enough to encounter #1683 after it was fixed/limited. Can you observe also other symptoms, like duplicate solution in "Completed" list after resubmit?

This is not related to #1683 because you're able to see the solutions page.
It's a duplicate of issues with solution grouping which is responsible for the solutions page.

Well, I have submitted my code - which I can see in my own profile/solutions a number of time. It will not show among solutions - even when I select
https://www.codewars.com/kata/5277dc3ff4bfbd9a36000c1c/solutions/c/me/best_practice . Nor  https://www.codewars.com/kata/5277dc3ff4bfbd9a36000c1c/solutions/c/all/newest
Not sure it is the same issue. When I select 'all' solutions, my solution still does not exist, even though it has been submitted 10+ times.

See the other issues already reported like I wrote above. For example, what you just wrote is #1598.


Dockerfile added

Hi,
I am still using e2pv to report my 'earnings' to pvoutput. Thanks for your code. I am running this as a Docker Container. Quite a while ago I've added this to my fork. And here is finally the 'pull request'

Merged. Sorry it took a while, but I was looking into php 8 compatibility and noticed your PR.


Compatibility with nptyping

Awesome that np.ndarrays now work!
Could you also make instance_of compatible with nptyping.NDArray? These work only with isinstance so far, so both fail in this case:
import numpy as np
from typing import List, Union, Any
from nptyping import NDArray
from typish import instance_of

instance_of([[1, 2], np.array([3, 4])], List[Union[List[int], NDArray[Any, int]]])
isinstance([[1, 2], np.array([3, 4])], List[Union[List[int], NDArray[Any, int]]])

Hi @hallmeier. Great to hear that you like my projects. 😃
I'm working on a typish release that supports nptyping.NDArray. I'll be available soon.


CMake update heir-opt after LWEToPolynomial conversion pass was added

CMake update heir-opt after LWEToPolynomial conversion pass was added

@asraa @AlexanderViand-Intel - Ready to roll now - rebase + merge / fix with your changes.


Events doesn't hide in responsive

Hello, I'm missing a file that controls this type of behavior? I incuded event-calendar.min.css and  event-calendar.min.js in the head section.
I'm working on the "pre-built browser ready bundle" because i inject the whole script, calendar and events on a single line.
I also don't get the "+2 more" message when the events are soposed to be hidden.
I see that in the demo the events get a "visibility: hidden;" property, that in my project isn't included.
Demo:

My project:

Did you set dayMaxEvents to true?

No I didn't. I tryed and no events are displayed in resposive or desktop.
Here is my func:
let ec = new EventCalendar(document.getElementById('ec'), {         view: 'dayGridMonth',         firstDay: 1,         eventStartEditable: false,         eventDurationEditable: false, 		dayMaxEvents: true,         events: [{                 start: '2024-12-25',                 end: '2024-12-25',                 allDay: true,                 title: 'Feliz Navidad!',                 backgroundColor: 'red'             }, {                 start: '2024-12-31',                 end: '2024-12-31',                 allDay: true,                 title: 'Feliz 123!',                 backgroundColor: 'blue'             }, ]     });

I prepared a demo using your code. I can see the events:

Thanks! I didn't have the https://vkurko.github.io/calendar/global.css file referenced in my page.


Add on-ledger token/issued currency definition objects (controlled by issuers)

Currently, most of the bits in currency codes are unused, which both makes them easier and harder to use. There was an early attempt to use some of these bits for encoding interest/demurrage (that never made it into rippled, only into upper layer software).
I'd like to propose that it should be possible for an issuing account to generate a currency object (owned by that account) on the ledger that has the specific flags/settings. This would allow the following scenarios:

Gatehub fifth wants to de-list an asset and freeze all current and future trust lines towards them with that currency code.
The US government decides that the US Dollar is now called  McDollar and the currency code is now MCD, since McDonald's won a 20 year sponsorship contract. All trust lines need to be re-done and the gateway wants to offer a fee-less transfer for USD --> MCD conversion, but not for any other IOU.
A gateway wants to encourage use of a certain IOU and offer lower fees there, compared to its other IOUs.
I want to issue BTC that must not be freezable, but I also want to issue EUR that by whatever law must be freezable from my account.

The traditional advice is to create one issuing account per currency if these scenarios should be covered (https://developers.ripple.com/issuing-and-operational-addresses.html#multiple-issuing-addresses). This has not been followed in practice so far and has its challenges like user confusion and frustration - even just with 2 addresses owned by the same entity you can check out how many people put trust lines towards hot wallets instead of issuing accounts. There is also no real way to say that one account will ONLY issue a certain currency.
This leads to ledger spam and wasted time, money and nerves (user support...).
Instead imagine that it would be possible to do a create_currency transaction that tells everyone that my account now also wants to issue some IOU. This transaction would create a dedicated object on the ledger (with its hash being a https://developers.ripple.com/currency-formats.html#nonstandard-currency-codes) and in there could be a (longer!) human readable name of that asset, global freeze flags, transfer fee settings...
The exact details (how high should the owner reserve be, what flags need to be in there etc.) are to be discussed, I'd just like to know if this is in general something that could be implemented on XRPL in the medium term (say until 2019/2020)?

In the future, these Currency Definition objects could also define additional properties about how the issued currency works, which might be quite useful! For example, a couple options that would be quite appealing:

Limited Supply - An optional setting defining a maximum amount of the currency that can be issued. Unlike the current option of blackholing the issuer, this would allow the total amount in circulation to fluctuate as long as it stays under the specified amount. Any transaction that would cause the issuer to owe more than this amount would fail with a path-dry error or something like that. Basically, like a trust limit, but on the sum of the issuer's lines rather than on any individual line.
Discrete Units - An option that would make the issued currency use a fixed UInt64-based math (same as drops of XRP) rather than the custom big-decimal math that issued currencies currently use. This would make specific calculations easier to replicate in third-party software and would enforce a specific minimum-divisible size for the currency units. It would also prevent the rounding weirdness that occurs when trust lines of very different scales interact. (In the ledger today, "dust" amounts of issued currency can be effectively created or destroyed by rounding when two trust lines' scales are greater than 1015 apart...)

Note, I am not suggesting these features as requirements for the first pass of the "currency definition" object, but simply as extensions that would be easier to implement that way than they would to the existing AccountRoot-only model.

David's idea of using price feeds as "stablecoins" (https://www.xrpchat.com/topic/33079-suggestion-xrp-collateralized-stablecoins/) would also be easier with this model I think, since issuer fee settings on these would/should likely be different than actual IOUs.

I would like to be able to issue an IOU with the granularity of the IOU set so that you may only purchase whole units of the IOU, no decimal amounts.

There are also several account-level settings that would make sense to be available as per-token settings that a currency definition (token definition?) object could override:

TransferRate
TickSize
Require Auth (authorized trust lines)

Maybe even the Default Ripple setting could be per-token?

Yes, there's about half a dozen settings that make more sense to be modifiable individually for each token/IOU/issuance/currency/...
I'm of course not married to the name, but the lack of this concept itself is something that's already caused issues and confusion in the past years.

Someone in the community mentioned that this issue is a good candidate to be extended into an actual standard proposal. It could be a solution to standardizing asset icons and descriptions, similar to memos, instead of just an overloaded 160-bit currency code. Just food for thought

Another often requested feature for tokens is to have the transfer fees paid out to a specific address (similar to how that works for XLS-20 NFT transfer fees) rather than having transfer fees simply "canceled out" and erased from the ledger.

@kennyzlei and team - when you have time, could you triage this?

Also feel free to get in touch, in general I'd be willing to write or review a standard proposal, but I can't currently implement this in the code here.

Hey @MarkusTeufelberger, appreciate the feature request you shared awhile back.  I think there is value in having more token-level information and settings.  While there may be various ways to solve for this capability, one potential solution is XLS-33d https://github.com/XRPLF/XRPL-Standards/pull/109 that @ledhed2222 @sappenin @nbougalis are proposing.  That proposal is a bit larger but would be curious to hear your thoughts on that approach and if it would be a good solution to the problem you're trying to solve

Tl;dr: I don't view adding another alternative to the current objects as a solution to this issue.
Long version:
XLS-33 might be a nice redesign for XRPL 2.0 with lessons learned from the last 10 years. As long as the current system still exists however, offering a simplified solution for very similar use cases is a nice (and confusing) thing to have, but doesn't solve the issue with the fully featured system in place currently. There is also functionality missing (probably because it could be added via amendments later - but then, why not amend the current system?) such as changing the currency code or description and some omitted by design (such as rippling, issuing a larger amount of curencies than 32 per account, explicit opt-in to receiving something other than XRP).
Most of the changes in XLS-33 might even be possible to implement gradually through flags in currency objects (e.g. integer/decimal math instead of floating point per currency) instead of having to invent a completely new system. Already the difference between "Offers" and "NFTokenOffers" feels a bit... weird. In the future there might also be a different token type for these proposed "stablecoins" that are only defined by price tickers as fungible currencies. Or would they be implemented in the somewhat rippling-floatingpoint-acount-centric-but-fully-featured current system or as CFTs? Both? Issuer chooses? How to trade these then? XLS-33 feels more like yet another system and abandoning the existing one instead of fixing it to me and also the proposal doesn't touch on any other features than issuing, simple payment transactions, preauth and freezing. The real headaches start with escrow, checks, trades and payment channels (and in the future: AMM and stablecoins).

@MarkusTeufelberger Gotcha, yeah I think your rationale seems reasonable.  I currently am not aware of anyone else that is putting together a standards proposal around this, but I would definitely encourage you to put together your thoughts in a spec discussion here: https://github.com/XRPLF/XRPL-Standards/discussions.  If you feel like you would want some guidance to support you in this process, I can potentially find some folks to help with that as well

Most of the changes in XLS-33 might even be possible to implement gradually through flags in currency objects (e.g. integer/decimal math instead of floating point per currency) instead of having to invent a completely new system.

I like that idea. @MarkusTeufelberger , could you propose that in a discussion here?


Crash when reading logseq-specific markdown files

The following exception occurs when trying to parse logseq markdown files that have additional properties.
Unhandled exception: System.AggregateException: One or more errors occurred. (Exception has been thrown by the target of an invocation.)
 ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.ArgumentOutOfRangeException: Index and length must refer to a location within the string. (Parameter 'length')
   at System.String.Substring(Int32 startIndex, Int32 length)
   at Marksman.Parser.Markdown.scrapeText(Text text) in /build/source/Marksman/Parser.fs:line 172
   at Marksman.Parser.parseText(Text text) in /build/source/Marksman/Parser.fs:line 392
   at Marksman.Workspace.DocModule.mk(PathUri path, RootPath rootPath, FSharpOption`1 version, Text text) in /build/source/Marksman/Workspace.fs:line 45

In logseq, blocks (bullet points) and markdown files can have properties, which are structured as identifier:: contents. It will save the last filter settings and block states (collapsed, expanded) into these properties.
In this case, a file named inbox.md  was causing the crash and contained the following:
filters:: {"work" true}

-

Note that it crashes even if the file isn't the file being browsed as it's trying to index the full directory.

Thanks for reporting this @mrene!
Unfortunately, so far I couldn't reproduce locally with the provided text.
Could you tell me what is the output of marksman --version and what text editor you use it with? Could you also check the file for any special symbols (e.g. a non-breaking space)?
The stack trace points to an error in header parsing, but I'm not sure what in the contents of the file might cause this.

Thanks for looking at this so quickly!
I'm using neovim on NIxOS, I tried the latest commit on the main branch (ecef5e8) and it would crash as well.
Here's the file that reproduces the crash, maybe it's sensitive to some non-visible whitespace content. Starting marksman in an empty dir with only that file (and .git so it finds a root) crashes reliably

@mrene thank you! I could reproduce the issue.

The issue is in one of Marksman's dependencies. I submitted a fix, let's see if/when it gets merged.
@mrene as a workaround just add a newline after the last dash -. Note that the following snippet
-
-

is treated as a 2nd level heading with the text - according to the markdown spec (see setext headings).
If these logseq properties are always at the top of the file, they could be treated similarly to a YAML front-matter.

Thanks for the fix! These properties can be in any block (denoted by - ) so I don't think it fits the frontmatter concept. They use these to remember which block is collapsed and which one is expanded (amongst other things, these are user-customizable and you can use them to query for things)

I see! @mrene could you provide a more complete example of a logseq markdown document with a couple of these blocks? I think adding an option to disable setext-headings would be an easy way to avoid problems with logseq markdown, but I'd need to see a more complete example first.

Their own docs are written using this format, here's a a few examples

@mrene thank you! So, these properties are really just lines of the form bar:: baz. They are not delimited with 2 single dash lines, right?
-
-

If so, I think we should be good.

Oh no the two single dash lines just happen by accident when you hit enter in an empty page (they all start with a single one), props are just key:: value

Cool! Than we're good here.


add package.json to the boilerplate

while this may fall out of date and we'll see if it's even accurate now as we move forward (hard to keep tabs at time when we do a build to actually test locally) this will help w/ those that want to peal sites off and do custom theme development


exclude tags option

I like this tool, thank you, Simon.
In most of time, it seems that we don't know where is the the main part of a common page.
But we may know we don't want aside, we don't want 'header',  'footer',  'nav'...
So, I believe exclude tags options may useful?

This is interesting - yeah, it makes sense to me.

A -x/--exclude option could fit here. Here's what --help would look like with that:
Options:
  --version             Show the version and exit.
  -i, --input FILENAME
  -m, --minify          Minify whitespace
  -x, --exclude TEXT    Exclude content in these selectors
  -t, --keep-tag TEXT   Keep these <tags>
  --all-attrs           Include all attributes on kept tags
  --first               First element matching the selectors
  --help                Show this message and exit.

Demo:
curl -s https://datasette.io/ | strip-tags -r nav -r footer -m


Header text font, size and position and effects.

How can I change header text font, size or positioning? Also, how can I add the effect like this to header text? Thank you

All of the header elements have class names that can be targeted and styled with CSS. If that's something you aren't comfortable with I'd suggest seeking out some CSS tutorials.


Add compiler-specific attributes to malloc-like functions

This post provides great detail on how to integrate with gcc's malloc attribute and its equivalent functionality in msvc.
This could help with some diagnostics and/or optimizations.

After some investigation it does not seem that this feature is warranted.

It does not add any easily measurable performance benefit to the benchmark.
On gcc 14.1 it will break all tests that compare the pointers to the underlying array with pointers returned by the allocation functions (even though when printed with the %p format specifier it will show the same output)
Since this allocator could be used as an arena where all allocations could be freed by freeing the arena having this as a leak detection will actually report a false positive in this case due to the lack of matching free function for each allocation.

Users that need the performance and/or leak detection capabilities provided by compilers supporting these attributes should create wrapper functions with those attributes and use those.


Reference editor

How do you reference an editor from JS once its created?
I know I can save the editor object after I create it, but what if I just have id of the DOM element used to create editor?
Thank you

There is no way AFAIK. A reference to the editor object returned by monaco.editor.create must be saved.


Fix UI issues with component and job details drawers misalignment and styling for dark/light themes.

Closing this issue as the fixes are already merged


[Feature]: "Weights & Biases" integration

Feature 🚀
The integration of the "Weights & Biases" (wandb) library in Sinergym.
Motivation
This library may be specially interesting, as it integrates both the functionalities of TensorBoard and MLflow.
As explained by @jajimer:

It is a standalone package (no Tensorflow or Pytorch installation is needed).
It looks like it can be easily integrated with any script or framework. See this.
Integrated with SB3!

Solution
Deeply study how wandb could be integrated, even considering if it can completely replace TensorBoard and MLflow or not.
Checklist

[X] I have checked that there is no similar issue in the repo (required)

:pencil: Please, don't forget to include more labels besides Feature request if it is necessary.

Hi,
Firstly, thank you for your work on this library.
I have a potential solution to have wandb working with sinergym and sb3. There isn't much to be changed from the example given for MLFlow here.
I have added a minimal working example.
import sys
import gym
import wandb
import numpy as np

from typing import Any, Dict, Tuple, Union

import sinergym
from sinergym.utils.wrappers import LoggerWrapper, NormalizeObservation
from sinergym.utils.constants import RANGES_5ZONE
from sinergym.utils.callbacks import LoggerCallback

from stable_baselines3 import PPO
from stable_baselines3.common.logger import HumanOutputFormat, Logger, KVWriter

# The only addition required.
class WandBOutputFormat(KVWriter):
    """
    Dumps key/value pairs onto WandB.
    """

    def write(
        self,
        key_values: Dict[str, Any],
        key_excluded: Dict[str, Union[str, Tuple[str, ...]]],
        step: int = 0,
    ) -> None:

        for (key, value), (_, excluded) in zip(
            sorted(key_values.items()), sorted(key_excluded.items())
        ):

            if excluded is not None and "wandb" in excluded:
                continue

            if isinstance(value, np.ScalarType):
                if not isinstance(value, str):
                    wandb.log({key: value}, step=step)

# Init wandb here.
wandb.init(
        project="project_name",
        entity="entity_name",
        name="random_agent_" + wandb.util.generate_id(),
    )

env = gym.make('Eplus-5Zone-hot-continuous-v1')
env = NormalizeObservation(env, ranges=RANGES_5ZONE)
env = LoggerWrapper(env)

loggers = Logger(
    folder=None,
    output_formats=[HumanOutputFormat(sys.stdout, max_length=90), WandBOutputFormat()],
)

model = PPO("MlpPolicy", env, verbose=2)
# Set custom logger
model.set_logger(loggers)
model.learn(total_timesteps=10_000, log_interval=1, callback=LoggerCallback(sinergym_logger=True))

Please do let me know if this helps with this issue. Let me know if I should make a PR or if I could help in another way. Thanks!

Hi @AlejandroCN7,
I got that error as well. It is because when creating the keys, large names are truncated which often results in duplicate keys. Hence, that error. To solve that I had changed it to max_length=90.
I believe adding this would help solve the error:
loggers = Logger(
    folder=None,
    output_formats=[HumanOutputFormat(sys.stdout, max_length=90), WandBOutputFormat()],
)

Let me know if you already added this. I would be happy to contribute with a PR, let me know what API structure you have in mind and I can work on it. Thanks!
Here is the link to my WandB project - https://wandb.ai/kad99kev/energy-benchmarks?workspace=user-kad99kev

Hi @kad99kev
Yes, I had the max_length added as you mentioned, but I still get the same error. I've tried to increase that value more, but I still get the same result.
In any case, looking at your project, I see that it works! It's great because I see that it doesn't need any big changes to make it work, thank you very much!
Let's see if I can make it work for me too and plain how we can integrate it into the tool (maybe substitute tensorboard+mlflow by wandb in DRL_battery.py), once again thank you very much for everything! :)

Hi @AlejandroCN7,
That is indeed weird. I will look into that sometime. I will see if I can get the wandb example to work with DRL_battery.py and then get back to you.
Thank you!

Hi @AlejandroCN7,
Sorry for the delay in getting back with this. I have some code ready, I just need to run a few more experiments with different algorithms to make sure it is working correctly. When it is done, should I make a PR or would you like me to share the code another way?
Link to WandB project - https://wandb.ai/kad99kev/sinergym_tests?workspace=user-kad99kev
Thanks!

Hi @kad99kev
From what I can see, it looks very good. Thank you very much! If you see it right, finish testing everything with the algorithms and generate a PR directly, we'll check it out from there ;)

Hi @kad99kev,
I think we can make a pull request explaining what you say. Also, I think it is better to add a new script with your wandb integration instead of replacing directly the one we have with MLflow and try to improve it in the future. What do you think?

Hi @AlejandroCN7, I did create a new script and integrated WandB there. I will make a PR now. It is a bit hacky as it is just a proof-of-concept that WandB works with Sinergym. Let me know what I could do to further improve it.

Hi @kad99kev, I have added a comment in the PR code. If you need help, let me know :)
Thank you so much

Hi @AlejandroCN7, I don't see the comment. Could you please send the link to the comment?

Sorry, my bad: https://github.com/ugr-sail/sinergym/pull/258/files#diff-4ba35a8ebc05be86e66cc95ff335266bcf9cb76b9d22cf98048d0c2949f8504c
It is indicated in the import line :)

Hi @kad99kev,
I have commented directly on the PR to make it more visible.

Hi @AlejandroCN7, thank you! I can see the comments now. I have replied to them.


Extract the connection logic as a function

Bases on #33

Codecov Report

Merging #34 into master will increase coverage by 1.41%.
The diff coverage is 32.65%.

@@            Coverage Diff             @@
##           master      #34      +/-   ##
==========================================
+ Coverage   21.31%   22.73%   +1.41%
==========================================
  Files           6        6
  Lines        1492     1500       +8
==========================================
+ Hits          318      341      +23
+ Misses       1174     1159      -15

Flag
Coverage Δ

#SwiftKueryORM
22.73% <32.65%> (+1.41%)
:arrow_up:

Impacted Files
Coverage Δ

Sources/SwiftKueryORM/Model.swift
25.05% <32.65%> (+2.36%)
:arrow_up:

Continue to review full report at Codecov.

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


[SPARK-21039] [Spark Core] Use treeAggregate instead of aggregate in DataFrame.stat.bloomFilter

What changes were proposed in this pull request?
To use treeAggregate instead of aggregate in DataFrame.stat.bloomFilter to parallelize the operation of merging the bloom filters
(Please fill in changes proposed in this fix)
How was this patch tested?
unit tests passed
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Please review http://spark.apache.org/contributing.html before opening a pull request.

Can one of the admins verify this patch?

I think we need some figures here. Would you test before/after and share some figures?

I ran some tests on a cluster with 5 nodes, creating a bloomfilter (with an fpp of 10%) of the column o_orderkey of the table ORDERS of TPC-H with a scale factor of 100.
The cluster

Results
Using RDD.aggregate

Notice the huge scheduler delay.
** total time: 52 seconds**
Using RDD.treeAggregate

first stage

second stage

** total time: 17 seconds**

Smaller data
You might be wondering: what about smaller data ?
Adding a stage to the computation of course adds some overhead.
I repeated the same experiment as mentioned above, but with a scale factor of 1, (and 1.5M elements in the bloom filter).
With RDD.aggregate

With RDD.treeAggregate

conclusion
There is indeed an overhead, but it is quite small. For the creation of a small bloom filter, the old method (with aggregate) takes 0.3 seconds, and the new one (with treeAggregate) 0.6 seconds.

Test build #3796 has started for PR 18263 at commit 61bb509.

Test build #3796 has finished for PR 18263 at commit 61bb509.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged to master


can we add a simple changelog.md?

it would be useful to know the breaking changes from one major to another one

hello, since 3.3.2 I'm tracking changes in https://github.com/Elyx0/react-native-document-picker/releases
hope this helps

You're awesome!


Suggestions to improve the installation

Hi,
I just installed your package. I wanted to have it installed centrally so colleagues could also use the tool. But I have encountered different issues:

sklearn &  psutil have been found missing (for GenomeDISCO) after the install
The --rlib option did not work for me. The R packages where installed in a default location (that is specific to the user doing the install) and the tool could not be shared.
${pythondir}conda install -c anaconda mpi4py failed

To solve these issues and successfully share the package, I encapsulated the install into a conda environment.
conda create --prefix /path/to/condaenv/3DChromatin_ReplicateQC python=2.7
conda activate /path/to/condaenv/3DChromatin_ReplicateQC

Then:

was solved by simply

pip install sklearn
pip install psutil

was a little more tricky.  The way I could solve this was :

bypass your R lib installation altogether i.e. comment the line 108-109 :

#cmd="${PATHTOR}script ${dir_of_script}/install_R_packages.R"
#eval "${cmd}"

pre-install the needed packages and R using conda :conda install -c r r=3.5.1 r-reshape2 r-rmarkdown r-testthat
conda install -c bioconda bioconductor-rhdf5 r-pheatmap

Note that hicrep could also be easily conda installed (v 1.2 as of today) but it turned out that the v1.2 did not work with your code (would be great to fix this) so I had to stick with the 1.0.1 version. But to get it installed in the right place (ie in the conda env), I had to do it manually and give  the right lib=/path/to/condaenv/3DChromatin_ReplicateQC/lib/R/library/ :

# launch R (the one from the conda env)
$ R
> source("https://bioconductor.org/biocLite.R")
> install.packages("Supplemental_hicrep_1.0.1.tar.gz", lib="/path/to/condaenv/3DChromatin_ReplicateQC/lib/R/library/")

${pythondir}conda install -c anaconda mpi4py was replaced with ${pythondir}conda install mpi4py

I hope this feedback will help.

Hi @cgirardot,
Thank you immensely for this extremely useful feedback.
I will incorporate the changes to the install scripts and modify the code to be compatible with the newest version of hicrep. Will confirm here when these changes are done.
Thank you again for your help! This is one of the most useful and nicely written github issues I have encountered.
Best,
Oana

Hi @cgirardot,
Thank you for your suggestion! I successfully installed this software according to your suggestion.

Hi @cgirardot,
Thank you for your suggestion! I successfully installed this software according to your suggestion.


Update technical spec for ontologized tissue and cell type filter modifications

Tech spec.
To Dos

[x] Update tissue and cell type filters to match updated functionality.
[x]  Update BE implementation for productionalization
[x] Add section on how to run notebooks against updated pinned ontologies.
[ ] Possibly document approaches on integrating with CLI. See upgrade document.

@NoopDog, please review.

Complete


Upgrading to the new AWS Java SDK

Implements the US-EAST-2 region in the plugin.

Hi!
This was updated as part of another release to the plugin and should be using the newest AWS SDK. Closing this out.


toReactClass not exposed

Hi, I noticed some of the examples use toReactClass, but the releases don't expose this helper, is there a reason for this?
https://github.com/purescript-concur/purescript-concur-react/blob/v0.5.0/src/Concur/React.purs
Thanks!

Hi, that function is a part of the new Concur rewrite which is still not complete, and you will only find it used in the examples on the main branch. The tagged releases should not (and don't afaict) use this function yet.


Building from source

Nice project !
Would be interesting to make more complicated chips emulation components (like 65C02 etc) ...
Had some troubles building from source - so leaving for others as reference
sudo apt-get install build-essential cmake qtbase5-dev qtdeclarative5-dev
cd /src && git clone --depth 1 --recurse-submodules https://github.com/aljen/spaghetti
cd /src/spaghetti && mkdir -p build && cd build && cmake .. && make
cd /src/spaghetti/build && mkdir -p packages && ./SpaghettiEditor

Forked, did some tricks and playing with 65C02 simulation (connected from x16 commander simulator with memory handler etc).
Really fun toy :)
In connection with ie this cycles of videos: https://www.youtube.com/watch?v=LnzuMJLZRdU
would be nice educational tool ...


[Video Analyzer]Move the Video Analyzer package to use core-rest-pipeline

Please find the details provided in https://github.com/Azure/azure-sdk-for-js/issues/15594

Completed as part of #18425
Thanks @hivyas!


onloadwff.js consistently interrupts debugging in chrome devtools

Frequently when I am trying to debug pretty much anything in Chrome devtools using the sources window, this file:
chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/onloadwff.js opens up in the sources window and effectively prevents me from using devtools.
It is disruptive enough that I am considering uninstalling Lastpass.
And even I checked  blackbox content script it doesn't work.
I am using mac10.13.6 chrome 71.0.3578.98

This is your lastpass extension, not chrome creating the error


How to inference a new image?

What if there is a new image that needs to be determined whether it is abnormal?

Have you solved the problem?

Is there an answer


fix(gyro_odometer): fix build error in Humble

Description
以下を修正

tf2_geometry_msgs.h -> tf2_geometry_msgs.hpp

Related Links
https://tier4.atlassian.net/browse/AEAP-488
Tests performed

gyro_odometerのビルドが出来ること
Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

Codecov Report

:exclamation: No coverage uploaded for pull request base (beta/v0.3.16@6b341aa). Click here to learn what that means.
Patch has no changes to coverable lines.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@              Coverage Diff               @@
##             beta/v0.3.16    #448   +/-   ##
==============================================
  Coverage                ?   0.00%
==============================================
  Files                   ?       2
  Lines                   ?      89
  Branches                ?       0
==============================================
  Hits                    ?       0
  Misses                  ?      89
  Partials                ?       0

Flag
Coverage Δ

differential
0.00% <0.00%> (?)

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


Port to LESS

[x] edit
[x] cf
[x] center
[x] align
[x] block
[x] offset
[x] move
[x] masonry-row

Running into problems with move and stringed fraction variable interpolation.
http://stackoverflow.com/questions/29463648/how-can-i-interpolate-a-string-fraction-mixin-variable-in-less

I'm sure I'll be running into problems grabbing the denominator for block as well..

Have to escape every single part of a calc() except for the variables.

Okay cool, the %(...) functions lets me do this similar to Stylus' s(...) function.

Sass does calc() interpolation the best of the bunch.

Splitting strings in LESS is the last big hurdle.

In lieu of creating some huge/ugly loop function, I'm hoping https://github.com/less/less.js/issues/2539 will be addressed so we can split strings natively. In the meantime I'll get to work on the ugly looper.

Okay, can't have the same syntax. It's just not possible with LESS. The port might have block(1 of 2) syntax instead.

Fixed https://github.com/corysimmons/lost/commit/608338845d612b7abd0316a1300602bf51f30496


Integration

Add integration tests using redis as a submodule, a bash script to start the server and another to send commands.

Closes #3

This fixes #3


wrong map of team IDs - team Names

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description

I am trying to perform actions to App Store via fastlane. My apple ID is connected to 3 teams. Thought I am setting up the correct team ID (as shown in App Store Connect), fastlane fails as it reports that my options is a list of 3 (unknown to me) Team IDs. Also, though the Team IDs in App Store Connect consist of alphanums strings, the ones reported from fastlane is only digits.
The team names are correct though.
Command executed

fastlane deliver init --username myappleid --team_id ABCDEFG
Complete output when running fastlane, including the stack trace and command used

[!] The request could not be completed because:
	Could not set team ID to 'ABCDEFG', only found the following available teams:

- 123452382 (A***** S.A.)
- 43457390 (G***)
- 6315843 (M******* Ltd)

When I login to App Store Connect, the Team IDs for each of the above teams are totally different (ALPHANUMS).
Furthermore, if I use the team_ids as reported from fastlane, fastlane does not recognise my app identifiers (though they are setup in App Store)
[13:20:47]: The Bundle Identifier of your App: my.domain.app

[!] Could not find app with app identifier 'my.domain.app' in your App Store Connect account (myappleid - Team: 123452382)

Same problem happens with upload_to_testflight.

 [REPLACE THIS WITH YOUR INFORMATION]

Environment

 ✅ fastlane environment ✅
Stack

Key
Value

OS
10.15.4

Ruby
2.6.3

Bundler?
true

Git
git version 2.24.1 (Apple Git-126)

Installation Source
~/.rvm/gems/ruby-2.6.3@latest/bin/fastlane

Host
Mac OS X 10.15.4 (19E287)

Ruby Lib Dir
~/.rvm/rubies/ruby-2.6.3/lib

OpenSSL Version
OpenSSL 1.1.1d  10 Sep 2019

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
11.4

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE

fastlane gems

Gem
Version
Update-Status

fastlane
2.149.1
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-firebase_app_distribution
0.1.4
✅ Up-To-Date

Loaded gems

Gem
Version

did_you_mean
1.3.0

executable-hooks
1.6.0

bundler-unload
1.0.2

rubygems-bundler
1.4.5

bundler
1.17.3

etc
1.0.1

forwardable
1.2.0

CFPropertyList
3.0.2

public_suffix
2.0.5

addressable
2.7.0

atomos
0.1.3

aws-eventstream
1.1.0

aws-partitions
1.324.0

aws-sigv4
1.1.4

jmespath
1.4.0

aws-sdk-core
3.97.1

aws-sdk-kms
1.33.0

aws-sdk-s3
1.67.1

babosa
1.0.3

claide
1.0.3

colored
1.2

colored2
3.1.2

highline
1.7.10

commander-fastlane
4.4.6

declarative
0.0.10

declarative-option
0.1.0

digest-crc
0.5.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

dotenv
2.7.5

emoji_regex
1.0.1

excon
0.73.0

multipart-post
2.0.0

faraday
1.0.1

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

faraday_middleware
1.0.0

fastimage
2.1.7

gh_inspector
1.1.3

jwt
2.1.0

memoist
0.16.2

multi_json
1.14.1

os
1.1.0

signet
0.14.0

googleauth
0.12.0

httpclient
2.8.3

mini_mime
1.0.2

uber
0.1.0

representable
3.0.4

retriable
3.1.2

google-api-client
0.38.0

google-cloud-env
1.3.2

google-cloud-errors
1.0.1

google-cloud-core
1.5.0

google-cloud-storage
1.26.2

json
2.3.0

mini_magick
4.10.1

multi_xml
0.6.0

plist
3.5.0

rubyzip
1.3.0

security
0.1.3

naturally
2.2.0

simctl
1.6.8

slack-notifier
2.3.2

terminal-notifier
2.0.0

unicode-display_width
1.7.0

terminal-table
1.8.0

tty-screen
0.8.0

tty-cursor
0.7.1

tty-spinner
0.9.3

word_wrap
1.0.0

nanaimo
0.2.6

xcodeproj
1.16.0

rouge
2.0.7

xcpretty
0.3.0

xcpretty-travis-formatter
1.0.0

fastlane-plugin-firebase_app_distribution
0.1.4

generated on: 2020-06-16

I think I figured it out:
team_id is the Apple Developer Portal team id
itc_team_id is the App Store Connect team id


Add client side routing

We have defined front end routes, but still need to configure express to deal with those.


When someone creates a tagged release, the tag can't be pulled into Docassemble's playground

Branches are the same as tags
Tags can't be pulled into the playground

Idea: have a way to tell the testing script when it's a tag so that the script will test Main/whatever the default branch is
Alternative: let DA pull in a tag. but would that even work unchanged w/ Docassemble? still might add additional menus or checkboxes that need to be handled. But maybe not if we switched everything to using an API key (but note that's a big refactor)

Quick sanity check: Does a tag release change any code other than the tag? If not, the code will have already been tested with a previous commit, right? Or are we looking to ensure that a tag release has a green checkmark?
I also wonder if a tag release counts as a push. If not, we can probably add it as a trigger. Either way, we can see whether the tests use the right branch automatically.

As far as I know a tag doesn't change code. The tag applies to an existing commit

We can work on researching this topic, but I'm still not quite clear on the need being expressed in this situation. If a tag doesn't change code, what is the goal in testing the tag? Is it currently causing errors? If so, do you have a link to one?

As far as I can recall these are notes from a Monday call as what we decided to try to reduce false positive tests failures. The issue is every time we bump version it creates a test failure. It would be fine to just not test tags, or have an option in the bump version script that prevents the test from happening.
We just want to avoid boy who cried wolf issues here. Frequent false alerts make the tests less helpful and can be a bit overwhelming on ones inbox.

Interesting note on this process so others don't have to search for it:
In the Run echo "REPO_URL=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY" >> $GITHUB_ENV step of a tag test (e.g. https://github.com/SuffolkLITLab/docassemble-AssemblyLine/runs/4448559745?check_suite_focus=true), I can see the environment variables and they do indeed contain a branch name. In this case, refs/heads/349_alkiln_update. The problem might be when that PR branch is deleted before the tag version gets to run its test after merging with main.
I think we still might want to go with disabling testing for tag versions if we can.
Here are some docs on ignoring things on push, including tags: https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#example-ignoring-branches-and-tags. We can probably use tags-ignore: with a wildcard (*) to catch all of them.

This will need to be changed in the workflow file of our setup interview, as well as in the Projects that already have their workflows installed. These will need to be changed soon anyway, so this should be part of the v4 milestone changes.

I think I was off on this one. A good learning experience. This currently ignores pushes that have a tag ref that matches the pattern, not just the tag push itself. This is a way to do it with travis. Will edit this comment when I find more info on how to do it without travis.

And yet now it's running again. I can't spot what's changed. We can wait and see, I suppose.

This seems to be working now, so I suppose tags-ignore: for the GitHub workflow was the right move. Not sure why things stopped running for a while.


[AppConfig] Hide internal constructor from ConfigurationSetting

Summary
The focus of these changes is to hide constructor of ConfigurationSetting that allows the service owned ETag to be set.  This was intended to be an internal constructor and was inadvertently made public.  In addition, the ability to create FeatureFlagConfigurationSetting and SecretRefrenceConfigurationSetting instances from the model factory has been added.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Data.AppConfiguration

/azp run net - appconfiguration - tests


fix e2e tests for automation

Description
to be merged with https://github.com/adobe/aio-e2e-tests/pull/33

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

is this still a thing? been in draft for a long time

Lets close this, I just remember this required a master tech acct and it was very painful to get setup. The lib's logic can be tested via unit tests and Console is probably already testing their API. We can give this another try once console has  service principals in place might be easier.


How to pass in pause durations when querying model

Excellent library, thanks for your efforts.  I'm attempting to punctuate speech-to-text output of multi-party conversations.  Was excited to see that your library supports pause durations during second-phase training.  How would one query the model providing this information?  I've tried passing in the following but it doesn't seem to produce more successful output:
to <sil=0.000> be <sil=1.000> or <sil=0.000> not <sil=0.000> to <sil=0.000> be <sil=1.000> that <sil=0.000> is <sil=0.000> the <sil=0.000> question <sil=1.000>
n.b. I'm using your demo model that you provided in google drive

Hi and thank you!
The pause annotation format looks correct, but I currently don't have any English models trained on pause annotated data, because I just don't have the right kind of data at hand. So the current models in Google Drive have only been trained for the first stage and are unable to use pauses.
PS! If you have sufficient amount (at least 1 million words, but more is better) of pause annotated data, then you can use the first stage model from Google Drive and just train the second stage.

How can we use the demo-model to punctuate the text as in the demo project?


establish version number in R and python

version numbers are set, they are not in sync cause of CRAN and pypi submissions, current R version is 0.1.1, and python is 0.1.2


  I want the old, original, MFC reference documentation, where I can see the methods listed out.  This documentation is a complete waste of my time.

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

ID: 334868bf-042b-16fd-886e-c29641b3ac75
Version Independent ID: f50274d7-4232-4c8f-be82-4c79ed543daa
Content: CString Semantics
Content Source: docs/atl-mfc-shared/cstring-semantics.md
Product: visual-cpp
Technology: cpp-mfc
GitHub Login: @TylerMSFT
Microsoft Alias: twhitney

The MFC/ATL documentation was ported over some time ago. If you have a specific, constructive concern that I can take action on, let us know.

I should be able to ask for the CString class and see every method I can call.  Then I can click on a method to get to the detailed documentation.  I can't just see the CString class as a single entity.  This should be true for every other class.  Instead, I get some useless CString examples.  I want complete reference documentation like I used to be able to get.

@supuflounder
There's a difference between the conceptual documentation and the reference documentation, and you appear to be complaining that the former is not the latter. That's by design. We still have all the relevant reference documentation, which you can get to by selecting the very first link in the CString Semantics article. Check out the CStringT class and see if it doesn't match your description precisely.


needs libblas

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Xref: https://github.com/conda-forge/r-nlmixr-feedstock/pull/2


docs: add architecture diagram

This closes #109
Big kudos to my designer friend Raz Farage for the help with the design 😎 and the datree project for the inspiration!
Added both light mode & dark mode versions, they should be uploaded to a more appropriate location.
Let me know if you would like any changes @yannh 😊

Mhhh I think I'm a bit bothered that without the source (but also without the editing software) I might not be able to make changes myself :thinking:  It's quite pretty but I'm not sure it is very clear. Could you share the sources? Are the files and sources shared under the same license as Kubeconform so I could integrate them here and/or potentially do derivative work? Thanks a lot!


Entries shrinked and labels are tiny unreadable

With the latest update (version 1.2) the width of each entry now is only a good half of the screen size (at least on an iPhone 8). The labels became tiny unreadable.
There's no default icon neither.

Note: the labels in this example are pixelized; it's just to show the waste of space on the screen

I will take a look. Thank you for bug report.

+1

+1, same issue here on iPhone 7 with iOS 12.3.1

Any updates on this issue? Great app, but looking at android screenshots, this is still a major iOS bug.

This will be fixed in the next version 2.0 release on iOS

@AS-Igel @CoalaJoe Can you confirm if this issue is resolved in FreeOTP v2.0 released in the App Store?

Please re-open if necessary, this should be resolved.


Update package.json

allow typescript to find npm module typings.

this needs to be done on pretty much all the projects btw.

I don't believe this will work in its present form. We need to change the format of the dts files as well. The team has been discussing this and making plans. @niieani can provide some commentary.

Indeed, first we need to deal with this: https://github.com/aurelia/dependency-injection/pull/95.

ahh yes, you've declared a module export; fair enough. Just as well I didn't go off and PR them all. :D

I'm going to close this for now, but know that we are working on this and planning to use the typings strategy. We hope to get this in place pretty soon.


os.exec will hang with Mpi after importing morphio

This is a convoluted problem, but seems to be on morphio.
The following python program will hang forever if launched with hpe-mpi
import os
import morphio
os.execlp("printf", "%s", "Hello World!\n")

Such problem doesn't happen with  even large Python code bases, with dozens of imports... but only if we import morphio it will hang.

How was morphio installed?

@ferdonline any update on this?

@ferdonline @jorblancoa: this could be our good free-friday ticket  😃 . @jorblancoa has looked into similar issues into NEURON and I think we should be able to find the root cause.

I just looked at this; it does indeed seem to be how it's being compiled.
A fresh MorphIO install from the wheels works no problem:
$ srun python -c "import os, morphio; os.execv('/bin/ls', ('-al',))"

But using the spack built one:
$ module load unstable py-neurodamus
$ srun python -c "import os, morphio; os.execv('/bin/ls', ('-al',))"

Hangs.
$ spack spec py-neurodamus

Input spec
--------------------------------
py-neurodamus

Concretized
--------------------------------
py-neurodamus<EMAIL_ADDRESS>arch=linux-rhel7-x86_64
[snip]
    ^py-h5py<EMAIL_ADDRESS>arch=linux-rhel7-x86_64
        ^hdf5<EMAIL_ADDRESS>api=none arch=linux-rhel7-x86_64
            ^hpe-mpi<EMAIL_ADDRESS>arch=linux-rhel7-x86_64
[snip]

I would hasard a guess that this is related to the MPI inclusion for hdf5.

@ferdonline / @pramodk / @jorblancoa any update on this? I need feedback to be able to diagnose the problem more accurately.

@ferdonline / @pramodk / @jorblancoa any update on this?

As people are now gradually coming back from summer break, we will  follow on this issue. (cc: @sergiorg-hpc)

@ferdonline / @pramodk / @jorblancoa any update on this?

@mgeplf Sorry for the delay! I actually started looking at this issue a couple of weeks ago, but I needed to step away for a bit due to the Disaster Recovery effort. I haven't forget the other ticket we discussed a few weeks back as well.
I will try to take a look with my colleague @jorblancoa between end of this week and next week, ok?

After some investigation with the help of @jorblancoa and @alkino, we have concluded that this is not an issue specifically in MorphIO but any library that uses MPI in general, including mpi4py:
import os
from mpi4py import MPI
os.execve('/bin/ls', ('-al',))

The issue here is that the example code is replacing the original process, which leads to undefined behaviour in MPI. In fact, the MPI standard reflects that forking and related support is undefined and depends on MPI implementations.
In the previous example, if you comment the line from mpi4py import MPI, you can run the script as many times as you want. After you uncomment the line and try again, the issue appears and it will continue failing unless you kill -9 the conflictive Python process that is running in the background holding the CPU and other resources.
My suggestion is to close this issue here and to create a separate Jira ticket in our backlog to investigate this matter in the future. For now, we can safely assume that MorphIO is not the problem.

The problem seems to be that a python process is keeping an hand on the WORLD MPI communication channel, and so from there no one can talk on MPI.
Just probabilities.

Great, thanks for looking into it.


Skills - Plus and Minus

At the start of the turn, +4 to all stats (minus movement) to all adjacent allies that have the opposing skill.

This PR has bug

Do tell.


JSX Auto-format adds unnecessary space in attributes

From @AlecBoutin on May 18, 2016 19:55

VSCode Version: 1.1

The .tsx/.jsx auto-formatter adds an unnecessary space on the end of certain dynamic attributes.
E.g. <button id={fn()} /> becomes <button id={fn() } /> after the file is auto-formatted. A space is inserted after the closing parenthesis of the fn() call.
The problem appears to be related to having parenthesis in the attribute.
E.g. <button id={""} /> is left unchanged by auto-format. <button id={("")} /> becomes <button id={("") } /> (the space is inserted)
I have also observed the auto-formatter preserves the spaces in the id attribute of <button id={ ("") } />
Copied from original issue: Microsoft/vscode#6498

Duplicate of https://github.com/Microsoft/TypeScript/issues/6716

indeed a duplicate of #6716. thanks.


QueryCache onError skips all other try/catch blocks and throws a global error

Describe the bug
When using qc.fetchQuery with a global onError set in QueryCache, any errors thrown by the query function will skip all try/catch blocks surrounding the fetchQuery function and immediately run the global onError. Errors thrown within the global onError also skips all try/catch blocks.
Your minimal, reproducible example
https://stackblitz.com/edit/stackblitz-starters-ageqwz?file=app%2Fpage.tsx
Steps to reproduce

Create a QueryClient with a custom QueryCache onError:

const qc = new QueryClient({
      queryCache: new QueryCache({
        onError: (error, query) => {
          throw error; // this error should be caught in the try/catch below
        },
      })
    })

Use fetchQuery:

const qc = useQueryClient();
async function () {
  try {
    const data = await qc.fetchQuery({
      queryKey: ["hello", "world"],
      queryFn: async () => {
        throw new Error("thrown"); // simulating a failed API call
      }
    });
  } catch (e) {
    console.log("i should log to console");
  }
}

Expected behavior
try/catch surrounding fetchQuery should catch all errors thrown by itself and QueryCache onError.
How often does this bug happen?
None
Screenshots or Videos
No response
Platform

OS: WSL (Ubuntu)
Browser: All

Tanstack Query adapter
react-query
TanStack Query version
v5.51.24
TypeScript version
No response
Additional context
No response

there's no need to re-throw errors from onError. onError is an event handler. At this point, the Query is already in error state, and fetchQuery will reject with that error.
if we were to allow throwing from onError, we would have two errors - one from the queryFn and one from the error handler. But which one should be cached for the Query? It's quite ambiguous.
So, bottom line: Your onError error handler shouldn't throw, and it also doesn't return anything. You can take the error you get and log it, or send it somewhere. If that fails, it's an unhandled promise rejection on purpose because it should be handled by you.


How to display values of specific keys of json data ?

Thanks for the great project, it helps me very much a lot!!
I am labelling one nlp task and I uploaded many jsonline datas.

Each json data contains the same keys, for example "task_code, content_key, content, source", like below:

The page only show the whole json. However I want show each key value in different place. I tried to configure the View, but it not works. I want to know how to display each key value  in different place? And some key value in the textarea by a default setting?

However, it not works. I want to know how to set the view to display by each key. But I really I cant find the solution. Forgive me use the tool the first time. Thanks you a lot.

solved. the uploaded file should be  xx.json name.


Clea(r|n)er file for the Dracula style (no style changes)

Here is a clea(r|n)er file for the Dracula style, with no changes to the style by itself.
BTW, this style doesn't follow the official Dracula style specifications. For instance:

Error  should be red and not #f8f8f2 (foreground),
Generic.Deleted, corresponding to Dracula's DiffDeleted should be red and not #8b080b.

Is it worth to provide an “official” Dracula style?

Thanks, but this is actually a much less standard Python style. PEP 8 explicitly recommends against it.

Is it better now?

You removed some class attributes, why?

Because of (see https://pygments.org/docs/styledevelopment/):

When you define a style for Name the style automatically also affects Name.Function and so on.

For instance, in Comment token and subtokens styles, only Comment.Preproc subtoken style differs from the Comment (parent) token style so other subtokens styles unnecessarily clutter the file (IMHO).

@dbitouze This isn't what "class attributes" is about: it refers to background_color, line_number_color and such. These are used by the Style class.

Ah, sorry. I'll reintroduced them.

Thanks, but this is actually a much less standard Python style. PEP 8 explicitly recommends against it.

BTW, many existing styles, including the default one, don't follow the less standard Python style.

BTW, many existing styles, including the default one, don't follow the standard Python style.

There's a difference between
Name     : "bold"    ,
String   : "italic"  ,

and
Name:     "bold",
String:   "italic",

in that the latter doesn't introduce spaces where none belong, only adds additional ones for alignment. This is ok for us.

In this style, e.g. line_number_special_color is defined as "#50fa7b" but "#50fa7b" (instead of line_number_special_color) is used at several places. Why?

So, since line_number_special_color is first defined as "#50fa7b", is it good practice to use line_number_special_color instead of "#50fa7b" in the rest of the file?

So, since line_number_special_color is first defined as "#50fa7b", is it good practice to use line_number_special_color instead of "#50fa7b" in the rest of the file?

The name line_number_special_color is not chosen by the style but Pygments requires a class attribute with this name for a special purpose (coloring special line numbers).
So unless you want to put emphasis on the fact that e.g. class names are using the same color as special line numbers, using that name there is more confusing than helpful.
If you want to name the colors (which is a good idea), do it like you did and then assign
line_number_special_color = green

below.
For even more clarity, move your color constants out of the class and make them module level constants.

So, if I understand correctly, something like that:
[...]
__all__ = ['DraculaStyle']

background = "#282a36"
foreground = "#f8f8f2"
selection = "#44475a"
comment = "#6272a4"
cyan = "#8be9fd"
green = "#50fa7b"
orange = "#ffb86c"
pink = "#ff79c6"
purple = "#bd93f9"
red = "#ff5555"
yellow = "#f1fa8c"

deletion = "#8B080B"

class DraculaStyle(Style):
    name = 'dracula'

    background_color = background
    highlight_color = selection
    line_number_color = yellow
    line_number_background_color = selection
    line_number_special_color = green
    line_number_special_background_color = comment

    styles = {
        [...]

is okay, isn't it?

I hope it's okay now :crossed_fingers:
What about an “official” Dracula style?

Sorry! I checked on my local repo and it wrongly looked OK. Should be fixed now.

I believe that italic has been lost on Token.Name.Builtin.

Sorry for that! I carefully checked and it should be okay now.
I also removed the style specifications of some subtokens. For instance:
Name.Variable.Class
Name.Variable.Global
Name.Variable.Instance

the style of which being identical to the style of their parent Name.Variable. I hope it's OK.

Scripts are better than humans, it's a shame.... :wink: Thanks! About the master branch being protected (sorry about that: I usually don't encounter this kind of problem), I created another branch (with the Name.Builtin.Pseudo fix) : I hope it's OK now.


fix: rework impls for chrono::DateTime<Tz>

@xkikeg I've generalised the impls for chrono::DateTime<Tz> such that Tz is no longer required to be 'static, but capable of becoming static via [To|Into]BoundStatic.  This is to bring it inline with other impls in the crate.
I also added a unit test for DateTime which was missing and a test to cover a custom Tz.

Thank you, that sounds much better!


Strange behaviour when creating array with single element

What is the issue you have?
Seems when calling a function which takes an argument of type json with {j} where j is of type json then is called a copy constructor instead of basic_json(initializer_list_t init....
Please describe the steps to reproduce the issue.

See example below

Can you provide a small but working code example?
void func(json j)
{
	printf("%s\n", j.dump().c_str());
}

int main()
{
	json j = 10;
	func({j, j});
	func({10});
	func({j});
}

What is the expected behavior?
func({j}); should print "[10]".
And what is the actual behavior instead?
func({j}); prints "10".
[10,10]
[10]
10

Which compiler and operating system are you using?

Compiler: Apple clang version 12.0.5 (clang-1<IP_ADDRESS>)
Operating system: Darwin

Which version of the library did you use?

[ ] latest release version 3.10.2
[x] other release - please state the version: 3.7.0
[ ] the develop branch

If you experience a compilation error: can you compile and run the unit tests?

[ ] yes
[ ] no - please copy/paste the error message below

This is a duplicate of https://github.com/nlohmann/json/issues/2311. See https://json.nlohmann.me/home/faq/#brace-initialization-yields-arrays.