Data Download

Here is the error when I try to use the code to download data:
PS C:\Users\Admin\assetto_corsa_gym> python .\download_track_car.py
Fetching 16 files:   0%|                                                                                | 0/16 [00:00<?, ?it/s]
Traceback (most recent call last):
File "C:\Users\Admin\assetto_corsa_gym\download_track_car.py", line 16, in
snapshot_download(repo_id="dasgringuen/assettoCorsaGym",
File "C:\Users\Admin\anaconda3\envs\p309\lib\site-packages\huggingface_hub\utils_validators.py", line 114, in _inner_fn
return fn(*args, **kwargs)
File "C:\Users\Admin\anaconda3\envs\p309\lib\site-packages\huggingface_hub_snapshot_download.py", line 290, in snapshot_download
thread_map(
File "C:\Users\Admin\anaconda3\envs\p309\lib\site-packages\tqdm\contrib\concurrent.py", line 69, in thread_map
return _executor_map(ThreadPoolExecutor, fn, *iterables, **tqdm_kwargs)
File "C:\Users\Admin\anaconda3\envs\p309\lib\site-packages\tqdm\contrib\concurrent.py", line 51, in _executor_map
return list(tqdm_class(ex.map(fn, *iterables, chunksize=chunksize), **kwargs))
File "C:\Users\Admin\anaconda3\envs\p309\lib\site-packages\tqdm\std.py", line 1181, in iter
for obj in iterable:
File "C:\Users\Admin\anaconda3\envs\p309\lib\concurrent\futures_base.py", line 609, in result_iterator
yield fs.pop().result()
File "C:\Users\Admin\anaconda3\envs\p309\lib\concurrent\futures_base.py", line 446, in result
return self.__get_result()
File "C:\Users\Admin\anaconda3\envs\p309\lib\concurrent\futures_base.py", line 391, in __get_result
raise self._exception
File "C:\Users\Admin\anaconda3\envs\p309\lib\concurrent\futures\thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "C:\Users\Admin\anaconda3\envs\p309\lib\site-packages\huggingface_hub_snapshot_download.py", line 264, in _inner_hf_hub_download
return hf_hub_download(
File "C:\Users\Admin\anaconda3\envs\p309\lib\site-packages\huggingface_hub\utils_deprecation.py", line 101, in inner_f
return f(*args, **kwargs)
File "C:\Users\Admin\anaconda3\envs\p309\lib\site-packages\huggingface_hub\utils_validators.py", line 114, in _inner_fn
return fn(*args, **kwargs)
File "C:\Users\Admin\anaconda3\envs\p309\lib\site-packages\huggingface_hub\file_download.py", line 1212, in hf_hub_download
return _hf_hub_download_to_local_dir(
File "C:\Users\Admin\anaconda3\envs\p309\lib\site-packages\huggingface_hub\file_download.py", line 1508, in _hf_hub_download_to_local_dir
_download_to_tmp_and_move(
File "C:\Users\Admin\anaconda3\envs\p309\lib\site-packages\huggingface_hub\file_download.py", line 1903, in _download_to_tmp_and_move
with incomplete_path.open("ab") as f:
File "C:\Users\Admin\anaconda3\envs\p309\lib\pathlib.py", line 1252, in open
return io.open(self, mode, buffering, encoding, errors, newline,
File "C:\Users\Admin\anaconda3\envs\p309\lib\pathlib.py", line 1120, in opener
return self.accessor.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: 'AssettoCorsaGymDataSet2\.cache\huggingface\download\data_sets\ks_barcelona-layout_gp\bmw_z4_gt3\20240221_AR\laps\ks_barcelona&bmw_z4
gt3&adrianremonda&_stint_2.ld.184b947366633808749b530934eb037003d7101e8a4f4dddd5c33c20ceec2714.incomplete'
Code:
from huggingface_hub import snapshot_download
track = "indi"
track = "indianapolis_sp"
track = "ks_barcelona-layout_gp"
car = "bmw_z4_gt3"
car = "dallara_f317"
car = "ks_mazda_miata"
ids = "20240329_HC"
ids = "20240221_AR"
snapshot_download(repo_id="dasgringuen/assettoCorsaGym",
repo_type="dataset",
local_dir="AssettoCorsaGymDataSet2",
allow_patterns="data_sets/" + track + "/" + car + "/" + ids +"/*")

Unsafe files ?

Hmm, no idea why they marked them as unsafe. It's probably a false positive. I'll take a look. We've been using these files for months now.

Ok but still not able to download with your code... see comments above. Thx.

The problem is that our pickle files are importing numpy:
Detected Pickle imports (4)
"numpy.core.multiarray.scalar",
"numpy.core.multiarray._reconstruct",
"numpy.dtype",
"numpy.ndarray"
Hugging Face does not like this for security reasons. I will need to convert them to another format, like Parquet.

Ok, thx but converting all the 120GB will take a lot of time... I need the data asap please. Appreciated.

I can share the pickles with you via Dropbox until I fix this

Yes, with pleasure... Thx!

Download data without any issues through the above provided links.... THX!

You can download the dataset by cloning the repository:
git clone https://huggingface.co/datasets/dasgringuen/assettoCorsaGym
Delete the .git directory to free up space.
Thanks for reporting this! I’m closing the issue.


add Installation chapter

For some reason CI fails?

I'll have a look.

Still very much +1 fo mabuhay!

@domenkozar: fixed


pulseaudio fails

Since version :f6b810fe I've been unable to run pulseaudio -- it fails to find cras-sink and cras-source. Output from pulseaudio -v includes:
I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
I: [pulseaudio] core-util.c: Failed to acquire high-priority scheduling: No such file or directory
I: [pulseaudio] main.c: This is PulseAudio 5.0
.....
I: [pulseaudio] module.c: Loaded "module-gconf" (index: #8; argument: "").
I: [pulseaudio] module-default-device-restore.c: Saved default sink 'cras-sink' not existent, not restoring default sink setting.
I: [pulseaudio] module-default-device-restore.c: Saved default source 'cras-source' not existent, not restoring default source setting.
I: [pulseaudio] module.c: Loaded "module-default-device-restore" (index: #12; argument: "").
I: [pulseaudio] module.c: Loaded "module-rescue-streams" (index: #13; argument: "").
I: [pulseaudio] module-device-restore.c: Restoring volume for sink auto_null: front-left: 45875 /  70%,   front-right: 45875 /  70%
I: [pulseaudio] sink.c: Created sink 0 "auto_null" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] sink.c:     device.description = "Dummy Output"
I: [pulseaudio] sink.c:     device.class = "abstract"
I: [pulseaudio] sink.c:     device.icon_name = "audio-card"
I: [pulseaudio] source.c: Created source 0 "auto_null.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] source.c:     device.description = "Monitor of Dummy Output"
I: [pulseaudio] source.c:     device.class = "monitor"
I: [pulseaudio] source.c:     device.icon_name = "audio-input-microphone"
I: [pulseaudio] module.c: Loaded "module-null-sink" (index: #15; argument: "sink_name=auto_null sink_properties='device.description="Dummy Output"'").
I: [pulseaudio] module.c: Loaded "module-always-sink" (index: #14; argument: "").
I: [pulseaudio] module.c: Loaded "module-intended-roles" (index: #16; argument: "").

My .pulse/default.pa is a symlink to /etc/crouton/pulseaudio-default.pa, which looks correct (forwards audio to cras). Cras works (aplay -Dcras - </dev/urandom).
This is a Debian jessie chroot with x11 target on an Acer C710.  Suggestions?

@wymby,
I'm also tracking another pulseaudio issue on #2039, so how about making cras-sink manually:
pacmd unload-module module-alsa-sink
pacmd load-module module-alsa-sink device=cras sink_name=cras-sink
pacmd set-default-sink cras-sink

Line 1 might not be needed if you did not load...
Regards.

@tista500,
Thanks, but pacmd doesn't work, because pulseaudio failed to start.  Further down the pulseaudio -v output (which I somehow missed before):
E: [pulseaudio] module-console-kit.c: GetSessionsForUnixUser() call failed: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.ConsoleKit was not provided by any .service files
E: [pulseaudio] module.c: Failed to load module "module-console-kit" (argument: ""): initialization failed.
E: [pulseaudio] main.c: Module load failed.
E: [pulseaudio] main.c: Failed to initialize daemon.

I (re)installed consolekit and everything works.  It still complains about finding cras, but discovers and loads it later.  I don't remember removing consolekit -- it was there in June; might the crouton update process have done it? I'm also puzzled because my non-crouton jessie system does not have consolekit installed, but pulseaudio works.

@wymby,
From the file-list of pulseaudio 5.0-13 of Jessie (stable): https://packages.debian.org/jessie/amd64/pulseaudio/filelist
Yes. module-console-kit was included exactly, but consolekit was not included in dependency-list of pulseaudio? If so, I suspect Jessie's packaging problem (upstream issue).
Regards.

@tista500,
I think you're right -- a somewhat confusing upstream dependency problem. I'll just keep consolekit installed..
Thanks.


Add Tuvalu, Solomon Islands, and Kiribati

Solomon Islands: sb
Tuvalu: tv
Kiribati: ki
Nat will create the files, but @robisaacnz can you source flags please?

Creating and pushing a branch for this work feature-add-islands

Nat has added files https://github.com/WikiNewZealand/pacific/commit/b48705bd7c02638c0a2bd3214a940d08bd70ce66

Right now flag space is blank


[Feature] Bot utterance in Portuguese

Hey guys,
I'm a new user of Botkit, I'm using conversation feature and it doesn't have the utterances in my idiom Portuguese.
I'd like to add in core. I don't know if I had to create an issue or simply create pull request.

You can create a PR and reference this issue in it to discuss the feature.

Você pode usar algo assim:
You can do something like this:
Instead of use bot.utterances, create a new regexp with options in Portuguese or whatever you want.
convo.ask('Your message', [{
  pattern: new RegExp(/^(sim|s|claro|yes|ok|y|yeah)/i),
  callback: (response, convo) => {
    // ... etc
    convo.next();
  }
}]);


macOS versions

You created this for Mac. Finish the Mac one for goodness sake.

Created initial macOS versions here: https://github.com/zackerthescar/ProjectElias/tree/macOS-scripts
Will merge once satisfied enough, and created the installer variant of the script.

Also look into Apple Silicon. Shouldn't be too hard, idk. Depends on how well QEMU works in ARM.


Potential improvments to repository

Hey, i found this tool very helpful and it's amazing.
However, I'm not Windows user and this does not work out of the box.
The thing that need changing is abandoning backslashes (\) in favor of slashes (/).
Since this (slashes) also works in Windows, it would be nice.
Another things are mods and textures.
Every of them follow some kind schema (that is not os-agnostic).
For example textures list from map_data.yaml:
<texture-entry-name>:
    texture_root: mod_root
    texture_path: |-
        <steam-id</mods/<mod-id>/media/texturepacks
    texture_file_patterns: ['.*[.]pack']

This could be replaced with:
<texture-entry-name>:
    steam_id: <steam-id>
    mod_id: <mod_id>

Why? Because every texture so far follow same schema. Field texture_file_patterns is same everywhere, so it be either removed (and hardcoded) or set as default to (better option). Same goes for texture_root. texture_path can be build from steam_id and mod_id. Same could be done for maps.
Better option would be separating mod maps (and textures) from config at all. Since map can (but not must) contain own textures, so they can be easily detected (simple by looking for texturepacks directory inside media . Dependencies should be defined inside mod.info file so there is no need for explicit defining them (it up to the mod publisher to provide working mod, not you as code maintainer). That way every map mod can be submitted to this repository.

You had the example:

For example textures list from map_data.yaml:
...

Sure every mod is in mod_root, currently. But if you're developing a mod that isn't on the workshop, and you wanted to add that mod to the default map, you'd have to make a fake modID to throw into your workshop folder in order to load it (with how you set it up). So maybe texture_root can be set to mod_root by default, only changed if the user provides a specific path
(and actually, texture_file_patterns could be pre-set too) ie
<texture-entry-name>:
    #texture_root: mod_root          #implicit unless texture_root is intentionally set by user
    texture_path: |-
        <steam-id</mods/<mod-id>/media/texturepacks
    #texture_file_patterns: ['.*[.]pack']           #implicit

Maybe that could be changed to this:
<texture-entry-name>:
    steam_id: <steam-id>
    mod_id: <mod_id>
    #texture_root: mod_root                   #implicit
    #texture_file_patterns: ['.*[.]pack']     #implicit

Then again, I would argue this is just as complicated as simply copying the whole path to the texture.pack files.
If you are having issues with \ not being interpreted correctly, use find and replace to find "" and replace with "/". Many if not all file editors support this (i think even notepad)

Here are some thoughts after reading the comments:

replace backslash: I see no problem. (no code change needed)
default texture_file_patterns: I see no problem. (no code change needed)

current code already defaults to ['.*[.]pack'].

use steam-id, mod-id, and mod-name and follow the path template: redesign config parsing logic

use a default template, for example '{steam-id}/mods/{mod-id}/media/maps/{map-name}'
user can overwrite the default template or exact path by manual config

config files structure: redesign for easy mod map description

Spread configuration into multiple files
one configuration file describes a few maps and a few textures
unify the texture and map description: allow map or texture or both described in the same entry

A configuration section example:
<entry_name>:
    steam_id: 1234567
    mod_id: 12345
    map_name: Name    # has map named `Name`
    texture: true     # has textures

    #values with default
    #
    #texture_root: mod_root
    #texture_path_pattern: '{steam-id}/mods/{mod-id}/media/texturepacks'
    #texture_path: ''   # force override texture_path if needed. example: 'test/texturepacks'
    #texture_file_patterns: ['.*[.]pack']
    #texture_files: []   # select texture packs and ignore texture_file_patterns. example: ['a.pack', 'b.pack']
    #map_root: mod_root
    #map_path_pattern: '{steam-id}/mods/{mod-id}/maps/{map-name}'
    #map_path: '' # force override map_path if needed
    #    example: 'media\maps\Muldraugh, KY'
    #encoding: utf8
    #depend_textures: ['default']    # Auto include private texture if exist
    ...

Thank you for your response. I'm making similar project to yours, but focuses on performance (and self-learning). There is a piece of code that handles dependencies, based on mod.info. You could implement this feature here.

Thank you for your response. I'm making similar project to yours, but focuses on performance (and self-learning). There is a piece of code that handles dependencies, based on mod.info. You could implement this feature here.

Not all mod have a well written mod.info. My solution is to retrieve the Steam workshop page and extract the dependencies using regex matching.
get_mod_dep.py:
import requests
import re

URL_TEMPLATE = 'https://steamcommunity.com/sharedfiles/filedetails/?id={mod_id}'
TITLE_PATTERN = re.compile('
([^<>]*)
')
DEP_PATTERN = re.compile(']*>\\s*
\\s*(.*?)\\s*
\\s*', re.MULTILINE)

def get_info(mod_id):
    url = URL_TEMPLATE.format(mod_id=mod_id)
    rsp = requests.get(url)

    title = None
    match = TITLE_PATTERN.search(rsp.text)
    if match:
        title = match.group(1)

    depend = []
    for match in DEP_PATTERN.finditer(rsp.text):
        if match:
            dep_id = match.group(1).split('=')[-1]
            dep_name = match.group(2)
            depend.append((dep_id, dep_name))

    return title, depend

if __name__ == '__main__':
    import argparse
    parser = argparse.ArgumentParser(description='mod dep getter')
    parser.add_argument('ids', nargs=argparse.REMAINDER)
    args = parser.parse_args()

    for steam_id in args.ids:
        title, dep = get_info(steam_id)
        print(title, dep)

An output example:
>get_mod_dep.py<PHONE_NUMBER><PHONE_NUMBER>
Ashenwood [('2337452747', 'Daddy Dirkie dirks tiles'), ('2599752664', "Dylan's Tile Pack"), ('2384329562', "throttlekitty's tiles")]
Cedar Hill [('2844685624', "TryHonesty's Tiles"), ('2774834715', "ExtraNoise's Newburbs Tiles"), ('2337452747', 'Daddy Dirkie dirks tiles')]

I thought the same about this issue, but if for example, said mod doesn't have defined dependencies properly in mod.info, then this will not auto load them. You can test this by by loading (in-game) map that requires some tiles and vice versa try to unload tile mod.
You can also skip dependency checking and load all mods that are map (they have maps subdir), textures (texturepacks) and mixed (both maps and texturepacks directory present).

then this will not auto load them

this would be an interesting way to go about it, but after looking at like 120 map folders when I made the PZ_map_collection files (in examples), I'd say about 40 of the maps would load properly (after accounting for 2 different formats for mod.info) with the rest simply failing because they don't have any dependencies, hell some don't even have mod_id in them, some only have a description of the map, etc.
What I do know, is maybe there could be a table made for texturepack ID's and it's corresponding mod_id so it can easily be added to the list of required texturepacks. (Essentially, deleting the need to manually add texture packs at all). I believe (could certainly be wrong here, a different type of data might need to be used) you could use a python dictionary to make each mod_id correspond to one steamID, then find the location of the steam_id (of the texturepack) inside of the dict, and return the name that corresponds to it. Heck, you could use binary search to reduce that load time if a dictionary would work.
The point of this would be to provide the correct texturepack ID's when loading the map, as "throttlekitty's tiles" is not valid in this case. I'm sure there's a script that could be written to get these easily, most if not all mods provide the steamID at the bottom of their description, typically in the form
Workshop ID:<PHONE_NUMBER>
Mod ID: Diederiks Tile Palooza

I know for the texture packs I personally added to the PZ_map_collection map_data file, I only used mod_id's to name all of the texture packs, so for those texture packs, this would work great. Some of the older built-in ones would need to be slightly changed to match the mod ID's, but other than that, it'd work.
So basically, with all of these improvements implemented, this would remove the need to provide:
texture_root (default to mod_root),
texture_file_patterns (technically already done in the code),
texture_path IF a user provides mod_id and steam_id (else, resort to using texture_path given by a user),
depend_textures (entirely, it would be parsed from the workshop' pages "required mods" list, defaults to "default" if not found),
texture_path (if the user provided mod_id and steam_id)
and map_root (defaults to mod_root if not provided)
This would leave the format looking like this:
    FortRedstone:
        map_path: |-
<PHONE_NUMBER>\mods\FortRedstone\media\maps\FortRedstone
        texture_path: |-
<PHONE_NUMBER>\mods\FortRedstone\media\texturepacks

or like this:
    FortRedstone:
        mod_id: "FortRedstone"
        steam_id:<PHONE_NUMBER>

to be clear, the original format was this:
    FortRedstone:
        map_root: mod_root
        map_path: |-
<PHONE_NUMBER>\mods\FortRedstone\media\maps\FortRedstone
        encoding: utf8
        depend_texutres:
            - default
        texture_root: mod_root
        texture_path: |-
<PHONE_NUMBER>\mods\FortRedstone\media\texturepacks
        texture_file_patterns: ['.*[.]pack']

I'd say thats a pretty solid improvement, as long as both forms can be accepted.

Quick update: I added support to include some depend_textures when running collect_mod_map_data, although some steamID's will still throw an error (everything in PZ map mod works). here is the collect_map_mod_data.py and get_mod_dep.py if anyone wants to take a look at it, im sure it could be improved lol

I have updated the configuration format recently. Here's an example:
LittleTownship:
  map_name: LittleTownship
  mod_name: LittleTownship
  steam_id: '2542249811'

All default values are defined in default.txt.
I have also improved the script for collecting descriptions, which can now reuse collected dependencies. For more details, please refer to Map description generation.

Closing this as the configuration refactor is done.


Read unlabelled data from Shiny dashboard

@ChrisBeeley envisions the process as follows:

The users will upload the unlabelled data through a button on his dashboard.
reticulate will convert the data into a pd.DataFrame.
A Python function will pull the data and saved fitted pipeline (SAV file at the time of writing), and make the predictions.

@Chris, where will the predicted data be pushed to?

I need to build a dummy pipeline ASAP. I can't get it done before our meeting tomorrow (even my Shiny code isn't that fast :wink:) but basically each trust will have a separate table in the TEXT_MINING database (as they do now, we'll replace the fake data with real data when we go live)

https://github.com/CDU-data-science-team/pxtextmining/blob/development/pxtextmining/factories/factory_predict_unlabelled_text.py


Old version of Cloudberry

Hi, gave this a try on a new Unraid installed with a both a Cloudbery Backup Desktop Edition key and a Cloudberry Backup Server Edition key.
Both pop up 'This license provided was generated for another product'.
Any chance of getting the latest & greatest Cloudberry in it?

Hrm...I see this was updated 3 months ago.    Is this perhaps the legacy version?

Hrm...I see this was updated 3 months ago.    Is this perhaps the legacy version?

  Linux version.  Hello.

  Linux version.  Hello.

 Linux version. Hello.

 Linux version. Hello.


New release with threading fixes?

Would it be possible to make a new release on crates.io (and then update winit)? The recent threading fixes in ndk_glue seem like very important improvements. If it would help to have a PR that bumps the versions then I can create one.

Looks like the changes weren't added to CHANGELOG.md, hence went unnoticed for a while. We'll try to release them as patch version with #165 so that winit doesn't need to change anything as per semver.

Wow, thanks so much for doing this so quickly!

@iamralpht No problem, I'm actually quite ashamed it took as long as it did as we're usually releasing changes on time.
Unfortunately the crate failed to publish as I misjudged a dependency on the ndk crate, see https://github.com/rust-windowing/android-ndk-rs/pull/165#issuecomment-889346711. I'll re-evaluate and hopefully have the release up later today.


Blitz3D

SteamDB app page links to a few games using this
https://steamdb.info/app/1304510/
https://steamdb.info/app/2090230/
Brief explanation of the change
Find Blitz3D by it's DLLs.

This regex yields only 3 apps, keeping #374 instead of this one since it leads to more match


Apollo Data Open Platform access not possible

Trying to access the data linked in various places at http://data.apollo.auto/?locale=en-us&lang=en asks for a phone number to create a Baidu login. However the interface does not allow oneself to choose their own country code. The drop-down menu is missing various countries, including f.ex. Germany. This prohibits me to actually download the data.

My team meets the exact same issue.
We also face difficulties registering to the Baidu cloud with a Norwegian or French phone number. It looks like most European countries are missing, which is weird considering that countries such as North Korea are listed.

Currently we only provide data download access for US based developers. We are working on making it available globally but that is still in development. We will let you know when it is available. We are truly sorry for the inconvenience.


cannot pass options as a template to mat-select

I am trying to pass mat-options as a template to mat-select but it doesn't work. Below here is the link to stackblitz,
https://stackblitz.com/edit/angular-mat-select-with-ngmodel-mujorn?embed=1&file=app/select-overview-example.ts

Closing this issue as it does not follow the issue template. Please file a new issue that follows the template, which gives the team the information needed to investigate.
(this is a canned response)


Update ultimateListView.js

fix problem: pagination content not in the center when the  UltimateListView  is wrapped  with some element ( such as ListView )

Hi, @wengcan thx for your effort. The reason why I set the width of paginationView to be the device width is because I need to make sure the FooterView can be displayed on both of list and grid mode correctly. If you want to wrap this component to another component like ListView, you can customize them by passing your own component with your own styles to emptyView, paginationFetchingView, paginationWaitingView, paginationAllLoadedView
<UltimateListView
        ...other props
        emptyView={this.renderEmptyView}
        paginationFetchingView={this.renderPaginationFetchingView}
        paginationWaitingView={this.renderPaginationWaitingView}
        paginationAllLoadedView={this.renderPaginationAllLoadedView}
/>

Hi @gameboyVito , seems it works well even if you don't set the width of the style in both list and grid mode

Yes, that's because you are using the new FlatList version. If you are using the old ListView verision by setting legacyImplementation to true, this width style is important

thx @gameboyVito


the dependencies should be set to provided

I'm trying to use it in my junit 5 based app and getting version conflicts. I had to exclude below to make it work:
<exclusions>
                <exclusion>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.junit.jupiter</groupId>
                    <artifactId>junit-jupiter-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.commons</groupId>
                    <artifactId>commons-lang3</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-annotations</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-databind</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>

To my knowledge (please correct me if I'm wrong) Maven's version picking is based on the distance in the dependency tree (see: http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Transitive_Dependencies). So, if you define a dependency in your pom.xml, its version declaration should win. If the distance of two transitive dependencies is the same, Maven picks the one that is declared first. To overrule this mechanism, add a <dependency> entry under <dependencyManagement> to choose the preferred version or in case of JUnit delegate the version management to a bom file:
<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.junit</groupId>
			<artifactId>junit-bom</artifactId>
			<version>${junit.jupiter.version}</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

The exclusion approach seems a bit drastic here. It is only necessary, if your runtime already ships these libraries.
Reducing the scope to provided, like you've suggested, would force users to explicitly declare direct dependencies to all of them (and manually care for their version management).
Please provide some more information regarding your concrete issue. In the meantime I'll double-check the need for these dependencies. Maybe there are some other options.


Mamba Demo ND hang on nightly

https://github.com/tenstorrent/tt-metal/actions/runs/8952210492/job/24589377588
This happens with/without fd2 changes and seems ND, sometimes ci can pass

Maybe not specific to mamba and maybe something else in the pipeline is causing issues?
I see SD random hang before without fd2 merge after disabling mamba (this runs before mamba) https://github.com/tenstorrent/tt-metal/actions/runs/8960407033/job/24606920317
I see mistral random hange with fd2 changes after disabling mamba (this runs after mamba) https://github.com/tenstorrent/tt-metal/actions/runs/8959824908/job/24605745360

fyi @esmalTT

I also confirmed after removing mamba it's not always the same mistral test that hangs, and that it hangs without fd2 changes. Will spin a separate issue for it but could be related.

do these tests hang locally? It may make sense to run them 20+ times in a loop to get reasonable status.

I haven't tried locally. I am currently looking for/triaging issues related to FD2, and this happens without fd2 so didn't look into it further.

thanks @tt-aho
@esmalTT to try what is going on...

@uaydonat @esmalTT follow up, it might not be a hang but ci timeout might be too low so it just kills the job in mamba test, I'm investigating if this is the cause

@

@uaydonat @esmalTT follow up, it might not be a hang but ci timeout might be too low so it just kills the job in mamba test, I'm investigating if this is the cause

To add to this - I ran several hundred iterations of this test in release and debug on main and was unable to replicate it locally.
I will increase the generation length and run again overnight. I'll let you know if I find any issues.

Seems like it's due to ci timeout. Job seems to have large variance time on ci (~20min variation). I'm increasing the timeout and adding the test back to ci. Closing.

If there is a large variance of runtime, we would like to figure out why.


KAFKA-5905: Remove deprecated PrincipalBuilder and DefaultPrincipalBuilder

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Raised this PR, incase we want remove deprecated claases in 2.0.0

My suggestion is to only remove things that have been deprecated in 0.11.0 or older. One year seems like the minimum we should provide for users to migrate.

@ijuma yes, makes sense. We can review this at appropriate time.

@omkreddy I believe we removed these classes for 3.0 via a different PR. Can you please confirm and close, if that is the case?

yeah, will close this.


How to build in Visual Studio 2022

I'm trying to build in Visual Studio 2022 and get an error like this

Should be fixed now


chore: release 1.8.7

:robot: I have created a release *beep* *boop*
1.8.7 (2022-06-22)
Bug Fixes

wrong content-type when send request in browser (a100a5d)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/keq-request/keq/releases/tag/v1.8.7 :sunflower:


chore(CPlusPlus): add prime-sieve algorithm

Algorithm to print  prime numbers within range  (0 to number) .
What kind of change does this PR introduce? (check at least one)

[x] New algorithm

Hi @NegiAkash890,
Please fix some typos that mention on codespell before make review

Hi @UG-SEP,
Could you help me to check this one?

Hi @aayushjain7,
Could you help me with this?
look like @UG-SEP is not active

Hi @aayushjain7,
Could you help me with this?
look like @UG-SEP is not active

Yeah sure!

Hi @aayushjain7,
Could you help me with this?
look like @UG-SEP is not active

Sorry for the late reply @ming-tsai  . My laptop is not with me right now. I am outstation so I can't check PR for next 5 days.
Hope you understand

Hi @aayushjain7,
Could you help me with this?
look like @UG-SEP is not active

Sorry for the late reply @ming-tsai  . My laptop is not with me right now. I am outstation so I can't check PR for next 5 days.
Hope you understand

Ok, don't worry @UG-SEP


Problems with crashes in the linux operating system

VSCode Version: 1.42.1
OS Version: Linux x64 4.15.0-76-generic

Steps to Reproduce:
1.Uses the vscode editor for angular, medium scale projects.

Does this issue occur when all extensions are disabled?: Yes
description: I am facing the following problem with vscode, in our company about 20 angular programmers use vscode for development, those using the linux mint operating system, version 19.3 are facing problems of locking in the operating system. The only way to solve this problem is to delete the repository, and clone navigate from a git repository. If you can resolve it, thank you.

/needsMoreInfo
Without info about the crashes we are not able to do anything.
For so-called "native crash" see https://github.com/microsoft/vscode/wiki/Native-Crash-Issues for how to get more information.


[#532] generate "no hints" report when there are no hints

Thanks for the pull request!

If you care, my PR preferences are at https://github.com/ndmitchell/neil#contributions, but they're all guidelines, and I'm not too fussy - you don't have to read them.

Thanks! Looks very good.


Implementation of InfoBadge component

Pull request type

Please check the type of change your PR introduces:

[x] Update
[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes

What is the current behavior?

Issue Number: #798
The current version of WpfUi does not have an InfoBadge implementation.
What is the new behavior?
Added implementation of InfoBadge component according to Win UI 3.
https://learn.microsoft.com/en-us/windows/apps/design/controls/info-badge
The component can be used as a standalone component:
<ui:InfoBadge Value="1" Severity="Attention" Opacity="1" Style="{DynamicResource ValueInfoBadgeStyle}>`

Supported PaneDisplayMode:

Left (open and unopened panel, missing support for subitems in MenuItems yet)
LeftMinimal (open and unopened panel)
Fluent
Top
Bottom
The component is implented into NavigationView, so it can be used in NavigationViewItem:

<ui:NavigationViewItem Content="Items" Icon="{ui:SymbolIcon Library24}">
     <ui:NavigationViewItem.InfoBadge>
         <ui:InfoBadge Severity="Attention" Value="{Binding ViewModel.Value, Mode=OneWay}" Style="{DynamicResource ValueInfoBadgeStyle}" />
     </ui:NavigationViewItem.InfoBadge>
</ui:NavigationViewItem>

Added InfoBadge page to Status & info section for component demonstration

Other information
Basic parameters

Value (Gets or sets the string to be displayed in an InfoBadge)
Icon (Gets or sets the icon to be used in an InfoBadge). Primarily set for use with ui:SymbolIcon.
Severity (Gets or sets the severity to be used in an InfoBadge)
Opacity
Style (Gets or sets the style of component, options are available as listed below)

Severity

Severity Name
Brush Name
Light
Dark

Attention
SystemFillColorAttention
#0078d4
#4cc2ff

Informational
SystemFillColorInformational
#8a8a8a
#9d9d9d

Success
SystemFillColorSuccess
#0f7b0f
#6ccb5f

Caution
SystemFillColorCaution
#9d5d00
#fce100

Critical
SystemFillColorCritical
#c42b1c
#ff99a4

Styles

IconInfoBadgeStyle (Icon is required parameter)
ValueInfoBadgeStyle (Value is required parameter)
DotInfoBadgeStyle

Preview

The component can definitely be implemented better and more happily, so I'll be glad for the review and any comments. The goal was to help the author of the project and to contribute a bit to the development of the component.

@niels9001 Thanks for the code review, theme files are not my cup of coffee. 😁

Hey @jbryknar, thanks for your work and contribution to the project, the InfoBadge looks great


Failed to mount /mnt/alluxio-fuse

Alluxio Version:
2.5.0
Describe the bug
I have followed the instructions to install Alluxio on top of Kubernetes using the Helm chart along with POSIX API and FUSE. The master (alluxio-master-0) and workers (alluxio-worker) come up properly and used the alluxio runTests to validate. However, when trying to bring up FUSE, the alluxio-fuse-client comes up and is running ok, but the alluxio-fuse that does the mounting keeps going into CrashLoopBackoff.
To Reproduce
Deploy via Helm using the following values.yaml file:
#
# The Alluxio Open Foundation licenses this work under the Apache License, version 2.0
# (the "License"). You may not use this work except in compliance with the License, which is
# available at www.apache.org/licenses/LICENSE-2.0
#
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
# either express or implied, as more fully set forth in the License.
#
# See the NOTICE file distributed with this work for information regarding copyright ownership.
#

# This should not be modified in the usual case.
fullnameOverride: alluxio

## Common ##

# Docker Image
image: alluxio/alluxio
imageTag: 2.5.0
imagePullPolicy: IfNotPresent

# Security Context
# user: 1000
# group: 1000
# fsGroup: 1000
user: 0
group: 0
fsGroup: 0

# Site properties for all the components
properties:
  # alluxio.user.metrics.collection.enabled: 'true'
  alluxio.security.stale.channel.purge.interval: 365d

# Recommended JVM Heap options for running in Docker
# Ref: https://developers.redhat.com/blog/2017/03/14/java-inside-docker/
# These JVM options are common to all Alluxio services
# jvmOptions:
#   - "-XX:+UnlockExperimentalVMOptions"
#   - "-XX:+UseCGroupMemoryLimitForHeap"
#   - "-XX:MaxRAMFraction=2"

# Mount Persistent Volumes to all components
# mounts:
# - name: <persistentVolume claimName>
#   path: <mountPath>

# Use labels to run Alluxio on a subset of the K8s nodes
# nodeSelector: {}

## Master ##

master:
  count: 1 # Controls the number of StatefulSets. For multiMaster mode increase this to >1.
  replicas: 1 # Controls #replicas in a StatefulSet and should not be modified in the usual case.
  env:
    # Extra environment variables for the master pod
    # Example:
    # JAVA_HOME: /opt/java
  args: # Arguments to Docker entrypoint
    - master-only
    - --no-format
  # Properties for the master component
  properties:
    # Example: use ROCKS DB instead of Heap
    # alluxio.master.metastore: ROCKS
    # alluxio.master.metastore.dir: /metastore
  resources:
    # The default xmx is 8G
    limits:
      cpu: "1"
      memory: "1G"
    requests:
      cpu: "0.250"
      memory: "0.250G"
  ports:
    embedded: 19200
    rpc: 19998
    web: 19999
  hostPID: false
  hostNetwork: false
  # dnsPolicy will be ClusterFirstWithHostNet if hostNetwork: true
  # and ClusterFirst if hostNetwork: false
  # You can specify dnsPolicy here to override this inference
  # dnsPolicy: ClusterFirst
  # JVM options specific to the master container
  jvmOptions:
  nodeSelector: {}
  podAnnotations: {}

jobMaster:
  args:
    - job-master
  # Properties for the jobMaster component
  properties:
  resources:
    limits:
      cpu: "1"
      memory: "1G"
    requests:
      cpu: "0.250"
      memory: "0.250G"
  ports:
    embedded: 20003
    rpc: 20001
    web: 20002
  # JVM options specific to the jobMaster container
  jvmOptions:

# Alluxio supports journal type of UFS and EMBEDDED
# UFS journal with HDFS example
# journal:
#   type: "UFS"
#   folder: "hdfs://{$hostname}:{$hostport}/journal"
# EMBEDDED journal to /journal example
# journal:
#   type: "EMBEDDED"
#   folder: "/journal"
journal:
  type: "UFS" # "UFS" or "EMBEDDED"
  ufsType: "local" # Ignored if type is "EMBEDDED". "local" or "HDFS"
  folder: "/journal" # Master journal folder
  # volumeType controls the type of journal volume.
  # It can be "persistentVolumeClaim" or "emptyDir"
  volumeType: persistentVolumeClaim
  size: 1Gi
  # Attributes to use when the journal is persistentVolumeClaim
  storageClass: "standard"
  accessModes:
    - ReadWriteOnce
  # Attributes to use when the journal is emptyDir
  medium: ""
  # Configuration for journal formatting job
  format:
    runFormat: true # Change to true to format journal

# You can enable metastore to use ROCKS DB instead of Heap
# metastore:
#   volumeType: persistentVolumeClaim # Options: "persistentVolumeClaim" or "emptyDir"
#   size: 1Gi
#   mountPath: /metastore
# # Attributes to use when the metastore is persistentVolumeClaim
#   storageClass: "standard"
#   accessModes:
#    - ReadWriteOnce
# # Attributes to use when the metastore is emptyDir
#   medium: ""

## Worker ##

worker:
  env:
    # Extra environment variables for the worker pod
    # Example:
    # JAVA_HOME: /opt/java
  args:
    - worker-only
    - --no-format
  # Properties for the worker component
  properties:
  resources:
    limits:
      cpu: "1"
      memory: "2G"
    requests:
      cpu: "0.125"
      memory: "0.500G"
  ports:
    rpc: 29999
    web: 30000
  # hostPID requires escalated privileges
  hostPID: false
  hostNetwork: false
  # dnsPolicy will be ClusterFirstWithHostNet if hostNetwork: true
  # and ClusterFirst if hostNetwork: false
  # You can specify dnsPolicy here to override this inference
  # dnsPolicy: ClusterFirst
  # JVM options specific to the worker container
  jvmOptions:
  nodeSelector: {}
  podAnnotations: {}

jobWorker:
  args:
    - job-worker
  # Properties for the jobWorker component
  properties:
  resources:
    limits:
      cpu: "1"
      memory: "1G"
    requests:
      cpu: "0.125"
      memory: "0.50G"
  ports:
    rpc: 30001
    data: 30002
    web: 30003
  # JVM options specific to the jobWorker container
  jvmOptions:

# Tiered Storage
# emptyDir example
#  - level: 0
#    alias: MEM
#    mediumtype: MEM
#    path: /dev/shm
#    type: emptyDir
#    quota: 1G
#
# hostPath example
#  - level: 0
#    alias: MEM
#    mediumtype: MEM
#    path: /dev/shm
#    type: hostPath
#    quota: 1G
#
# persistentVolumeClaim example
#  - level: 1
#    alias: SSD
#    mediumtype: SSD
#    type: persistentVolumeClaim
#    name: alluxio-ssd
#    path: /dev/ssd
#    quota: 10G
#
# multi-part mediumtype example
#  - level: 1
#    alias: SSD,HDD
#    mediumtype: SSD,HDD
#    type: persistentVolumeClaim
#    name: alluxio-ssd,alluxio-hdd
#    path: /dev/ssd,/dev/hdd
#    quota: 10G,10G
tieredstore:
  levels:
  - level: 0
    alias: MEM
    mediumtype: MEM
    path: /dev/shm
    type: emptyDir
    quota: 1G
    high: 0.95
    low: 0.7

# Short circuit related properties
shortCircuit:
  enabled: true
  # The policy for short circuit can be "local" or "uuid",
  # local means the cache directory is in the same mount namespace,
  # uuid means interact with domain socket
  policy: uuid
  # volumeType controls the type of shortCircuit volume.
  # It can be "persistentVolumeClaim" or "hostPath"
  volumeType: hostPath
  size: 1Mi
  # Attributes to use if the domain socket volume is PVC
  pvcName: alluxio-worker-domain-socket
  accessModes:
    - ReadWriteOnce
  storageClass: standard
  # Attributes to use if the domain socket volume is hostPath
  hostPath: "/tmp/alluxio-domain" # The hostPath directory to use

## FUSE ##

fuse:
  env:
    # Extra environment variables for the fuse pod
    # Example:
    # JAVA_HOME: /opt/java
  image: alluxio/alluxio-fuse
  imageTag: 2.5.0
  imagePullPolicy: IfNotPresent
  # Change both to true to deploy FUSE
  enabled: true
  clientEnabled: true
  # Properties for the fuse component
  properties:
  # Customize the MaxDirectMemorySize
  # These options are specific to the FUSE daemon
  jvmOptions:
    - "-XX:MaxDirectMemorySize=2g"
  hostNetwork: true
  # hostPID requires escalated privileges
  hostPID: true
  dnsPolicy: ClusterFirstWithHostNet
  user: 0
  group: 0
  fsGroup: 0
  args:
    - fuse
    - --fuse-opts=allow_other
  # Mount path in the host
  mountPath: /mnt/alluxio-fuse
  resources:
    requests:
      cpu: "0.125"
      memory: "0.500G"
    limits:
      cpu: "1"
      memory: "1G"
  podAnnotations: {}

##  Secrets ##

# Format: (<name>:<mount path under /secrets/>):
# secrets:
#   master: # Shared by master and jobMaster containers
#     alluxio-hdfs-config: hdfsConfig
#   worker: # Shared by worker and jobWorker containers
#     alluxio-hdfs-config: hdfsConfig
#   logserver: # Used by the logserver container
#     alluxio-hdfs-config: hdfsConfig

##  Metrics System ##

# Settings for Alluxio metrics. Disabled by default.
metrics:
  enabled: false
  # Enable ConsoleSink by class name
  ConsoleSink:
    enabled: false
    # Polling period for ConsoleSink
    period: 10
    # Unit of poll period
    unit: seconds
  # Enable CsvSink by class name
  CsvSink:
    enabled: false
    # Polling period for CsvSink
    period: 1
    # Unit of poll period
    unit: seconds
    # Polling directory for CsvSink, ensure this directory exists!
    directory: /tmp/alluxio-metrics
  # Enable JmxSink by class name
  JmxSink:
    enabled: false
    # Jmx domain
    domain: org.alluxio
  # Enable GraphiteSink by class name
  GraphiteSink:
    enabled: false
    # Hostname of Graphite server
    host: NONE
    # Port of Graphite server
    port: NONE
    # Poll period
    period: 10
    # Unit of poll period
    unit: seconds
    # Prefix to prepend to metric name
    prefix: ""
  # Enable Slf4jSink by class name
  Slf4jSink:
    enabled: false
    # Poll period
    period: 10
    # Units of poll period
    unit: seconds
    # Contains all metrics
    filterClass: null
    # Contains all metrics
    filterRegex: null
  # Enable PrometheusMetricsServlet by class name
  PrometheusMetricsServlet:
    enabled: false
  # Pod annotations for Prometheus
  # podAnnotations:
  #   prometheus.io/scrape: "true"
  #   prometheus.io/port: "19999"
  #   prometheus.io/path: "/metrics/prometheus/"
  podAnnotations: {}

# Remote logging server
logserver:
  enabled: false
  replicas: 1
  env:
  # Extra environment variables for the logserver pod
  # Example:
  # JAVA_HOME: /opt/java
  args: # Arguments to Docker entrypoint
    - logserver
  # Properties for the logserver component
  properties:
  resources:
    # The default xmx is 8G
    limits:
      cpu: "1"
      memory: "1G"
    requests:
      cpu: "0.250"
      memory: "0.250G"
  ports:
    logging: 45600
  hostPID: false
  hostNetwork: false
  # dnsPolicy will be ClusterFirstWithHostNet if hostNetwork: true
  # and ClusterFirst if hostNetwork: false
  # You can specify dnsPolicy here to override this inference
  # dnsPolicy: ClusterFirst
  # JVM options specific to the logserver container
  jvmOptions:
  nodeSelector: {}
  # volumeType controls the type of log volume.
  # It can be "persistentVolumeClaim" or "hostPath" or "emptyDir"
  volumeType: emptyDir
  # Attributes to use if the log volume is PVC
  pvcName: alluxio-logserver-logs
  accessModes:
    - ReadWriteOnce
  storageClass: standard
  selector:
    matchLabels:
      role: alluxio-logserver
      # If you need, you can specify more selectors like below to provide better separation
      # app: alluxio
      # chart: alluxio-<chart version>
      # release: alluxio
      # heritage: Helm
      # dc: data-center-1
      # region: us-east
  # If you are dynamically provisioning PVs, the selector on the PVC should be empty.
  # Ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1
  # Example:
  # selector: {}

  # Attributes to use if the log volume is hostPath
  hostPath: "/tmp/alluxio-logs" # The hostPath directory to use
  # Attributes to use when the log volume is emptyDir
  medium: ""
  size: 4Gi

Expected behavior
The alluxio-fuse pods should start up successfully and properly mount the /mnt/alluxio-fuse mount path.
Urgency
Testing this out for accessing on-prem data via a Kubernetes cluster sitting in Azure for Machine Learning purposes.
Additional context
Here are the logs from one of the alluxio-fuse pods:
umount: /mnt/alluxio-fuse: not mounted
Starting AlluxioFuse process: mounting alluxio path "/" to local mount point "/mnt/alluxio-fuse" with options="big_writes,allow_other"
2021-04-29 10:09:41,330 INFO  AlluxioFuse - Alluxio version: 2.5.0-76569bcd1cc06c004884e03ffe330ccba2648818
2021-04-29 10:09:42,297 INFO  NettyUtils - EPOLL_MODE is available
2021-04-29 10:09:42,913 INFO  TieredIdentityFactory - Initialized tiered identity TieredIdentity(node=<IP_ADDRESS>, rack=null)
2021-04-29 10:09:42,930 INFO  AlluxioFuse - Mounting AlluxioJniFuseFileSystem: mount point="/mnt/alluxio-fuse", OPTIONS="[-obig_writes, -oallow_other, -omax_write=131072]"
**2021-04-29 10:09:42,931 INFO  AbstractFuseFileSystem - Mounting /mnt/alluxio-fuse: blocking=true, debug=false, fuseOpts="[-obig_writes, -oallow_other, -omax_write=131072]"
fuse: mount failed: Invalid argument**
2021-04-29 10:09:42,984 ERROR AlluxioFuse - Failed to mount /mnt/alluxio-fuse
alluxio.jnifuse.FuseException: Unable to mount FS
        at alluxio.jnifuse.AbstractFuseFileSystem.mount(AbstractFuseFileSystem.java:105)
        at alluxio.fuse.AlluxioFuse.main(AlluxioFuse.java:123)
Caused by: alluxio.jnifuse.FuseException: Unable to mount FS, return code = 1
        at alluxio.jnifuse.AbstractFuseFileSystem.mount(AbstractFuseFileSystem.java:101)
        ... 1 more
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fdac428d4e2, pid=29201, tid=0x00007fdac57c7700
#
# JRE version: OpenJDK Runtime Environment (8.0_282-b08) (build 1.8.0_282-8u282-b08-0ubuntu1~16.04-b08)
# Java VM: OpenJDK 64-Bit Server VM (25.282-b08 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.so+0x9094e2]
#
# Core dump written. Default location: /opt/alluxio-2.5.0/core or core.29201
#
# An error report file with more information is saved as:
# /opt/alluxio-2.5.0/hs_err_pid29201.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#
Aborted (core dumped)

@kevingbb  do you see this issue deterministically?

I cannot get past this issue and it is happening on every node. I overrode the startup command on the DS so the container would startup and I could exec into it. After exec'ing directly into the Pod I tried to run the entrypoint.sh script directly using the passed in arguments, but the same result and error message about an invalid argument:
./entrypoint.sh fuse --fuse-opts=allow_other

I think this might be because user_allow_other won't be set in the /etc/fuse.conf. I think this is a requirement to use allow_other.
To work around you can try building the Dockerfile.fuse container image with --build-arg ENABLE_DYNAMIC_USER=true.

Thx @peterroelants for the alternative idea. Is there a way I can quickly try that out on the command line before rebuilding by passing something else to the entrypoint.sh script above or does it need to get rebuilt?

@kevingbb You can try running  echo "user_allow_other" >> /etc/fuse.conf when starting the FUSE container (from Dockerfile.fuse#L107)

The /etc/fuse.conf file did not exist in the container. I created the file using the command above, but still the same result about invalid argument. I will try with rebuilding the container using the argument above and report back.

@peterroelants, I built the container images toggling the dynamic user flag, but get the same Invalid argument error as before:
umount: /mnt/alluxio-fuse: not mounted
Starting AlluxioFuse process: mounting alluxio path "/" to local mount point "/mnt/alluxio-fuse" with options="big_writes,allow_other"
2021-04-30 14:16:02,780 INFO  AlluxioFuse - Alluxio version: 2.5.0-2-52ad95ca6b6af5c19a73a48f01a15db9d81ea38c
2021-04-30 14:16:03,522 INFO  NettyUtils - EPOLL_MODE is available
2021-04-30 14:16:04,094 WARN  ConfigurationUtils - Alluxio CLIENT version (2.5.0-2) does not match Alluxio cluster version (2.5.0)
2021-04-30 14:16:04,282 INFO  MetricsSystem - Starting sinks with config: {}.
2021-04-30 14:16:04,296 INFO  TieredIdentityFactory - Initialized tiered identity TieredIdentity(node=<IP_ADDRESS>, rack=null)
2021-04-30 14:16:04,304 INFO  NativeLibraryLoader - Loaded lib by jar from path /tmp/libjnifuse8783134483807621001.so.
2021-04-30 14:16:04,320 INFO  AlluxioFuse - Mounting AlluxioJniFuseFileSystem: mount point="/mnt/alluxio-fuse", OPTIONS="[-obig_writes, -oallow_other, -omax_write=131072]"
2021-04-30 14:16:04,320 INFO  AbstractFuseFileSystem - Mounting /mnt/alluxio-fuse: blocking=true, debug=false, fuseOpts="[-obig_writes, -oallow_other, -omax_write=131072]"
fuse: mount failed: Invalid argument
2021-04-30 14:16:04,322 ERROR AlluxioFuse - Failed to mount Alluxio file system

Here is the updated Dockerfile used, but the result was the same:
#
# The Alluxio Open Foundation licenses this work under the Apache License, version 2.0
# (the "License"). You may not use this work except in compliance with the License, which is
# available at www.apache.org/licenses/LICENSE-2.0
#
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
# either express or implied, as more fully set forth in the License.
#
# See the NOTICE file distributed with this work for information regarding copyright ownership.
#

# Use a multi-stage build to include artifacts without using a chown
# chown in bash nearly doubles the image size of the docker image.
# See:
# - https://stackoverflow.com/questions/30085621/why-does-chown-increase-size-of-docker-image
# - https://github.com/moby/moby/issues/5505
# - https://github.com/moby/moby/issues/6119
FROM alpine:3.10.2 AS extractor
# Note that downloads for *-SNAPSHOT tarballs are not available
ARG ALLUXIO_TARBALL=http://downloads.alluxio.io/downloads/files/2.5.0-2/alluxio-2.5.0-2-bin.tar.gz
# (Alert):It's not recommended to set this Argument to true, unless you know exactly what you are doing
ARG ENABLE_DYNAMIC_USER=true

ADD ${ALLUXIO_TARBALL} /opt/
# if the tarball was remote, it needs to be untarred
# use ln -s instead of mv to avoid issues with Centos (see https://github.com/moby/moby/issues/27358)
RUN cd /opt && \
    (if ls | grep -q ".tar.gz"; then tar -xzf *.tar.gz && rm *.tar.gz; fi) && \
    ln -s alluxio-* alluxio

# Remove the UFS libraries from the container, as the fuse daemon doesn't need them
# Make sure to keep the JNI FUSE libraries
RUN find /opt/alluxio/lib/ -type f -not -name 'libjnifuse*' -delete

RUN if [ ${ENABLE_DYNAMIC_USER} = "true" ] ; then \
       chmod -R 777 /opt/* ; \
    fi

# instead of ubuntu:16.04, use alluxio/alluxio-ubuntu:ubuntu1604-customize
# applies optimizations in libfuse on top of ubuntu:16.04
# it is based off cheyang/fuse2:ubuntu1604-customize
FROM alluxio/alluxio-ubuntu:1604-customize
ARG ALLUXIO_USERNAME=root
ARG ALLUXIO_GROUP=root
ARG ALLUXIO_UID=0
ARG ALLUXIO_GID=0
ARG ENABLE_DYNAMIC_USER=true

# Add Tini since it isn't included in Ubuntu by default
# - https://github.com/krallin/tini
ENV TINI_VERSION v0.18.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /usr/local/bin/tini
RUN chmod +x /usr/local/bin/tini

RUN apt-get update && apt-get install -y --no-install-recommends software-properties-common && \
    add-apt-repository -y ppa:openjdk-r/ppa && \
	apt-get update && \
	apt-get install -y --no-install-recommends \
	openjdk-8-jdk openjdk-8-jre-headless unzip vim && \
	apt-get clean && \
	rm -rf /var/lib/apt/lists/*

# Install arthas(https://github.com/alibaba/arthas) for analyzing performance bottleneck
RUN wget -qO /tmp/arthas.zip "http://maven.aliyun.com/repository/public/com/taobao/arthas/arthas-packaging/3.4.6/arthas-packaging-3.4.6-bin.zip" && \
  mkdir -p /opt/arthas && \
  unzip /tmp/arthas.zip -d /opt/arthas && \
  rm /tmp/arthas.zip

# Install async-profiler(https://github.com/jvm-profiling-tools/async-profiler/releases/tag/v1.8.3)
RUN wget -qO /tmp/async-profiler-1.8.3-linux-x64.tar.gz "https://github.com/jvm-profiling-tools/async-profiler/releases/download/v1.8.3/async-profiler-1.8.3-linux-x64.tar.gz" && \
  tar -xvf /tmp/async-profiler-1.8.3-linux-x64.tar.gz -C /opt && \
  mv /opt/async-profiler-* /opt/async-profiler && \
  rm /tmp/async-profiler-1.8.3-linux-x64.tar.gz

ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
# disable JVM DNS cache
RUN echo "networkaddress.cache.ttl=0" >> $JAVA_HOME/jre/lib/security/java.security

# if Alluxio user, group, gid, and uid aren't root|0
# then create the alluxio user and set file permissions accordingly
RUN if [ ${ALLUXIO_USERNAME} != "root" ] \
    && [ ${ALLUXIO_GROUP} != "root" ] \
    && [ ${ALLUXIO_UID} -ne 0 ] \
    && [ ${ALLUXIO_GID} -ne 0 ]; then \
      addgroup --gid ${ALLUXIO_GID} ${ALLUXIO_GROUP} && \
      adduser --system --uid ${ALLUXIO_UID} --gid ${ALLUXIO_GID} ${ALLUXIO_USERNAME} && \
      usermod -a -G root ${ALLUXIO_USERNAME} && \
      mkdir -p /journal && \
      chown -R ${ALLUXIO_UID}:${ALLUXIO_GID} /journal && \
      chmod -R g=u /journal && \
      mkdir /alluxio-fuse && \
      chown -R ${ALLUXIO_UID}:${ALLUXIO_GID} /alluxio-fuse; \
    fi

# Docker 19.03+ required to expand variables in --chown argument
# https://github.com/moby/buildkit/pull/926#issuecomment-503943557
COPY --chown=${ALLUXIO_USERNAME}:${ALLUXIO_GROUP} --from=extractor /opt/ /opt/
COPY --chown=${ALLUXIO_USERNAME}:${ALLUXIO_GROUP} conf /opt/alluxio/conf/
COPY --chown=${ALLUXIO_USERNAME}:${ALLUXIO_GROUP} entrypoint.sh /

RUN if [ ${ENABLE_DYNAMIC_USER} = "true" ] ; then \
       chmod -R 777 /mnt; \
    fi

# Enable user_allow_other option for fuse in non-root mode
RUN if [ ${ENABLE_DYNAMIC_USER} = "true" ] ; then \
       echo "user_allow_other" >> /etc/fuse.conf; \
    fi

USER ${ALLUXIO_UID}

ENTRYPOINT ["/entrypoint.sh"]

If I exec into the pod and run a ls -al in /mnt I see the alluxio-fuse directory. And If I add something to that directory I will see it reflected on the corresponding disk.
It feels like I missed some type of step on the setup/configuration. Is there a command I can run to easily check everything that is getting passed in so we can look at the parameters?

@kevingbb The /mnt/alluxio-fuse directory might be created by the K8s mount. If that directory is there that does not necessarily mean that FUSE actually mounted something.
You can check if it actually is mounted with mount | grep/mnt/alluxio-fuse

@kevingbb can you try using these updated docker image with built-in ENABLE_DYNAMIC_USER=true
luqqiu/alluxio:2.6.0-SNAPSHOT-9c1c15fb66
luqqiu/alluxio-fuse:2.6.0-SNAPSHOT-9c1c15fb66

and launch your scripts with normal non-root users? Fuse has the convention to be mounted by normal users. If root is needed to work with the fuse mount point, then allow_root mount options can be provided

@kevingbb What libfuse version did you use?

@LuQQiu  have we fixed this issue yet or shall I take a look?

@LuQQiu, is there a corresponding Helm chart for the above 2.6.0 images? Or should I just use the following Helm repository, helm repo add alluxio-charts https://alluxio-charts.storage.googleapis.com/openSource/2.5.0, and just update the images in the values.yaml file to the ones above?

I tried the above by just switching out the images:
luqqiu/alluxio:2.6.0-SNAPSHOT-9c1c15fb66
luqqiu/alluxio-fuse:2.6.0-SNAPSHOT-9c1c15fb66

But I got a command usage message in the alluxio-master-0 container logs:
Usage: COMMAND [COMMAND_OPTIONS]

COMMAND is one of:
 master [--no-format]            Start Alluxio master. If --no-format is specified, do not format
 master-only [--no-format]       Start Alluxio master w/o job master. If --no-format is specified, do not format
 worker [--no-format]            Start Alluxio worker. If --no-format is specified, do not format
 worker-only [--no-format]       Start Alluxio worker w/o job worker. If --no-format is specified, do not format
 job-master                      Start Alluxio job master
 job-worker                      Start Alluxio job worker
 proxy                           Start Alluxio proxy
 fuse [--fuse-opts=opt1,...]     Start Alluxio FUSE file system, option --fuse-opts expects a list of fuse options separated by comma
 logserver                       Start Alluxio log server
 process_name [--dynamic-user]   Start the given process allowing users other than alluxio and root to access the alluxio files and Fuse mount point.

I tried the 2.6.0-SNAPSHOT image tags directly from DockerHub and the master and worker came up this time, but the alluxio-fuse pod gets the same invalid argument error.
umount: /mnt/alluxio-fuse: not mounted
Starting AlluxioFuse process: mounting alluxio path "/" to local mount point "/mnt/alluxio-fuse" with options="big_writes,allow_other"
2021-05-17 15:11:33,767 INFO  AlluxioFuse - Alluxio version: 2.6.0-SNAPSHOT-9e3e9df4bb73b6aeb2c9ef1217d1071e65677cbb
2021-05-17 15:11:34,644 INFO  NettyUtils - EPOLL_MODE is available
2021-05-17 15:11:35,359 INFO  MetricsSystem - Starting sinks with config: {}.
2021-05-17 15:11:35,371 INFO  TieredIdentityFactory - Initialized tiered identity TieredIdentity(node=<IP_ADDRESS>, rack=null)
2021-05-17 15:11:35,380 INFO  NativeLibraryLoader - Loaded lib by jar from path /tmp/libjnifuse7528788756622085577.so.
2021-05-17 15:11:35,442 INFO  AlluxioFuse - Mounting AlluxioJniFuseFileSystem: mount point="/mnt/alluxio-fuse", OPTIONS="[-obig_writes, -oallow_other, -omax_write=131072]"
2021-05-17 15:11:35,442 INFO  AbstractFuseFileSystem - Mounting /mnt/alluxio-fuse: blocking=true, debug=false, fuseOpts="[-obig_writes, -oallow_other, -omax_write=131072]"
fuse: mount failed: Invalid argument
2021-05-17 15:11:35,444 ERROR AlluxioFuse - Failed to mount Alluxio file system

@LuQQiu  is this the latest image 2.6.0-SNAPSHOT-9e3e9df4bb73b6aeb2c9ef1217d1071e65677cbb we are using?

The latest image is from nightly build and it doesn't have ENABLE_DYNAMIC_USERS build configuration.
That's why I manually build some docker images with ENABLE_DYNAMIC_USERS for trying out.
We usually use either directly launching docker images or using kubectl yaml files. There could be a problem with helm charts which may need to try out and look into.

@LuQQiu, @apc999, the issues has been resolved. It turns out that the Helm chart referenced in the Helm Repository identified in the docs was an old version (0.6.13) compared to the one in the GitHub repo (0.6.21). In the old Helm chart the /dev/fuse was being referenced as a file whereas in the latest Helm Chart it was being referenced as a CharDevice.
After referencing the Helm Chart directly via the cloned GitHub Repo everything is working as expected.


__PSDumpAMSILogContent debug logging sent to stdout

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
When enabling AMSI debug logging the log is written to stdout, this mixes in with the success stream. It should be written to stderr.
Expected behavior
When $env:__PSDumpAMSILogContent='1' is set the extra logging should go to stderr

Actual behavior
When $env:__PSDumpAMSILogContent='1' is set the extra logging goes to stdout

Error details
no error other reported by system

Environment data
Name                           Value
----                           -----
PSVersion                      7.4.2
PSEdition                      Core
GitCommitId                    7.4.2
OS                             Debian GNU/Linux 11 (bullseye)
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
=== Amsi notification report content ===
<System.Byte[]>.new(<2048>)
=== Amsi notification report success: False ===

I agree that Console.Error.WriteLine() is the better choice.
As an aside: an outside caller - unfortunately - sees all of PowerShell's output streams including Console.WriteLine() and PowerShell error output via stdout; see:

https://github.com/PowerShell/PowerShell/issues/7989#issuecomment-430854508

Console.Error.WriteLine() unconditionally writes to stderr, while PowerShell error output only goes to stderr if the caller uses a 2> redirection.

... while PowerShell error output only goes to stderr if the caller uses a 2> redirection.

Of course it would do that™ .....
$ pwsh -c "Write-Error 'foo'" >out.1 2>out.2
$ ls -l
total 4
-rw-r--r-- 1 onlyme users  0 Apr 18 19:18 out.1
-rw-r--r-- 1 onlyme users 35 Apr 18 19:18 out.2
$ rm out.*
$ pwsh -c "Write-Error 'foo'" >out.1
$ ls -l
-rw-r--r-- 1 onlyme users 35 Apr 18 19:19 out.1

while PowerShell error output only goes to stderr if the caller uses a 2> redirection.

I don't think that is true. A process has no idea if any redirection has occurred because at the process level there is no such thing as redirection. All a process gets is stdin, stdout and stderr file-handles/descriptors, it has no idea if the parent did any "redirection".
My investigation suggests that always goes to stderr unless the process thinks it is somehow interactive, it looks like it determines that by seeing if stdin is a virtual terminal or not, perhaps isatty.
#!/bin/sh -x

ssh -T </dev/null >stdout 2>stderr localhost pwsh -c "Write-Error 'foo'"

cat stdout

cat stderr

ssh -t </dev/null >stdout 2>stderr localhost pwsh -c "Write-Error 'foo'"

cat stdout

cat stderr

ssh -T >stdout 2>stderr localhost pwsh -c "Write-Error 'foo'"

cat stdout

cat stderr

ssh -t >stdout 2>stderr localhost pwsh -c "Write-Error 'foo'"

cat stdout

cat stderr

Gives the result
+ ssh -T localhost pwsh -c Write-Error 'foo'
+ cat stdout
+ cat stderr
Write-Error: foo
+ ssh -t localhost pwsh -c Write-Error 'foo'
+ cat stdout
+ cat stderr
Pseudo-terminal will not be allocated because stdin is not a terminal.
Write-Error: foo
+ ssh -T localhost pwsh -c Write-Error 'foo'
+ cat stdout
+ cat stderr
Write-Error: foo
+ ssh -t localhost pwsh -c Write-Error 'foo'
+ cat stdout
Write-Error: foo
+ cat stderr
Connection to localhost closed.

The only case where the error message went to stdout was when stdin was a virtual terminal.

This is indeterminate because nohup set stdin and stdout to the same file, and changed stdin to /dev/null
$ nohup pwsh -c "Write-Error 'foo'" > stdout
nohup: ignoring input and redirecting stderr to stdout
$ cat stdout
Write-Error: foo

But given that stdin is not a terminal I expect that pwsh was writing to stderr
$ tty
/dev/pts/1
$ nohup tty > stdout
nohup: ignoring input and redirecting stderr to stdout
$ cat stdout
not a tty

Yes, redirected means: a given standard stream targets something other than a terminal (which, from a shell, can be achieved via a redirection, e.g., > or 2> or, for stdout only, via a pipeline, |, and, in PowerShell, with direct variable assignment (vs. command substitution in POSIX-like shells)).
That the caller may merge standard streams is incidental to this discussion, and, from what I can tell, so is whether the redirection is mediated via another utility, such as ssh.
It is a condition utilities can easily check for and it is common for utilities to modify their behavior based on this  distinction (e.g. ls (multi-column format) vs. ls | cat (line-oriented format)), though what PowerShell does is certainly unusual:
I haven't looked into the implementation, but PowerShell clearly detects when stderr isn't connected to a terminal and only then sends its error output there; a simpler demo (works analogously with /dev/null from a POSIX-compatible shell):
pwsh -noprofile -c 'Write-Output stdout; Write-Error error' >$null (no output)
vs.
pwsh -noprofile -c 'Write-Output stdout; Write-Error error' 2>$null (prints 'stdout'))
All of this is a tangent, however, which detracts from the original issue, so I'm hiding this comment, and I suggest you hide yours too.

Agree that the logging should be going to stderr, but not clear to me how this might affect existing tools relying on this.  I don't see any tests using this special env var.

I don't see any tests using this special env var.

There is a whole world out there! It is built into every production release, and anyone can use it for whatever purposes.
https://github.com/PowerShell/PowerShell/issues/21473#issuecomment-2061876086
I was using it to track down a performance issue. It is quite 'illuminating' to see the volume of traffic sent to AMSI during what one might consider are normal script operations.

@rhubarb-geek-nz your usage is dumping to the console interactively.  My question is if there's any tools that rely on it going to stdout which would break if we change it to stderr.

A global GitHub code search for __PSDumpAMSILogContent shows only its use in the PowerShell repo itself (and forks of it): https://github.com/search?q=__PSDumpAMSILogContent&type=code
Also, the variable isn't documented.

The WG reviewed this and agreed that this is a bucket 3 breaking change (thanks @mklement0 for the code search) and accept making the change to write to STDERR

I made the change, but now noticed an unexpected behavior. With the Console.WriteLine() calls now Console.Error.WriteLine(), you don't get ANY output in the interactive shell. STDERR is only written if you call pwsh itself. It might make more sense to just remove this env var altogether as it's not useful expect as a test hook.

It was useful to demonstrate that AMSI logging was implemented on Linux,
I think that writing a real AMSI module to demonstrate the volume and verbosity of the PowerShell logging would be an alternative approach. ( outside of the scope this PowerShell project ). While not so easy to demonstrate with a simple script it would show what PowerShell is leaking from the process.

The WG re-discussed this based on discovery of the behavior.  As this was originally intended as test code and not intended to be used by users, we recommend that this code simply be removed.
AMSI on Linux doesn't exist until there is a malware scanner that supports something like the AMSI interface.  If that were to exist, this specific code doesn't play a role in that anyways as the AMSI logging would simply need to be updated to call a Linux dll instead of just the Windows one.


Repeat transfer

Improve: In transfer descriptions would be good to add Repeat button that will populate transfer screen again for same user
ref: https://discord.com/channels/@me/925267635992662026/1019986006432296980

https://github.com/ecency/ecency-mobile/pull/2749

@gamingumar please you may work on extending repeat transfer support for hbd, ecency and other tokens we have

https://github.com/ecency/ecency-mobile/pull/2790
support for other tokens


WIP: support for the KNI sched logger

WIP TBD
TODO:

"KNILogger" is a terrible name. Need a more generic names, and likely change of the parameter values
Unit test coverage
Controller tests
at least 1 e2e test (tier2 probably)

/close
need to rethink the approach


Test: Ensuring graceful DNS timeout handling

Added a testcase ensuring we switch to the next host in a reasonable time when facing a DNS timeout.

LGTM

Updated to check we did indeed timeout (duration > Client.connectTimeout).


update Constants

Fixes #.
Motivation
Explain the content here.
Explain why you want to make the changes and what problem you're trying to solve.
Modifications
Describe the modifications you've done.
Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation
](https://github.com/apache/incubator-eventmesh/issues/1073)

@weihubeats please add an issue for this.


Add GitHub Clone

Since no one is working on adding the github clone, I can do the honors.
I'll first make the home page using html,css and js then adding authentication will come later

it is already open #81 .If youn find some more featues to add then u can add it after I close #81

Since it wants to add only the home page, I can add the authentication to it? Will it work?

Since it wants to add only the home page, I can add the authentication to it? Will it work?

Let's finish him when project was merged in this repo you can work on that. I will assign you when it merged

Since it wants to add only the home page, I can add the authentication to it? Will it work?

@Adbnemesis are you willing to work with github homepage clone ? Let me know

Closing this issue bcoz no response from contributor side

Yes I am willing to work with GitHub clone page. I'm sorry I was very busy with my exams and all

Yes I am willing to work with GitHub clone page. I'm sorry I was very busy with my exams and all

Make a new issue with clear description I will assign you


feat : add matlab delimiter query

There was no delimiters query of matlab.
Add some treesitter delimiters

Thanks. Can you please add a test file as well?

Thanks. Can you please add a test file as well?

Thank you for your reply,
@HiPhish  I maked the query with some examples and tested using garciparedes/matlab-examples
matlab-examples/numerical-methods/*

I don't know Matlab and I don't have any need to learn it at the moment, so please add a test file yourself. The test file needs to cover all the patterns defined in the query. It would be good if it also works when executed, so that people who run a language server don't see errors and warnings everywhere, but that's not necessary. Please do not just copy-paste a file from the matlab-examples repo, they have a different license.


values.yaml nodeSelector duplicated in master branch

nodeSelector: {} is duplicated in values.yaml in master branch

emqxLicneseSecretName             license拼写错误


MySqlRetryingExecutionStrategy

Hello community, I have the follo error at .develop custom payment provider. When insert one order fail de transaction in the order service.
Call Order Service from payment provider

Order Service File

Error

does this issue is fixed ?

Seems it's still there

I solved this issue with
await ResilientTransaction.New(db).ExecuteAsync(async () =>
{
_orderRepository.SaveChanges();
await PublishOrderCreatedEvent(order);
foreach (var subOrder in subOrders)
{
await PublishOrderCreatedEvent(subOrder);
}
            _couponService.AddCouponUsage(cart.CustomerId, order.Id, checkingDiscountResult);
            _orderRepository.SaveChanges();
        });

        public class ResilientTransaction
{
    private DbContext _context;
    private ResilientTransaction(DbContext context) =>
        _context = context ?? throw new ArgumentNullException(nameof(context));

    public static ResilientTransaction New(DbContext context) =>
        new ResilientTransaction(context);

    public async Task ExecuteAsync(Func<Task> action)
    {
        // Use of an EF Core resiliency strategy when using multiple DbContexts
        // within an explicit BeginTransaction():
        // https://docs.microsoft.com/ef/core/miscellaneous/connection-resiliency
        var strategy = _context.Database.CreateExecutionStrategy();
        await strategy.ExecuteAsync(async () =>
        {
            using (var transaction = _context.Database.BeginTransaction())
            {
                await action();
                transaction.Commit();
            }
        });
    }
}

Could you please submit a PR?


Added a new codec: SIMD-GroupSimple.

Thank you for this great repository of lightweight data compression algorithms. My colleagues and I recently conducted an experimental survey of such algorithms ("P. Damme, D. Habich, J. Hildebrandt, and W. Lehner. Lightweight data compression algorithms: An experimental survey (experiments and analyses). In Proceedings of the 20th International Conference on Extending Database Technology, EDBT 2017."). Thereby we also employed several implementations from the FastPFor-library. We also wanted to evaluate the algorithm SIMD-GroupSimple, which was proposed in "W. X. Zhao, X. Zhang, D. Lemire, D. Shan, J. Nie, H. Yan, and J. Wen. A general simd-based approach to accelerating compression algorithms. ACM Trans. Inf. Syst., 33(3), 2015." However, since the library did not feature this algorithm, I decided to reimplement it. With this pull request I would like to contribute my implementation to the FastPFor-library.

Excellent!!!!

@pdamme  See this commit https://github.com/lemire/FastPFor/commit/bae51c0f8f7c50c179e10a84d0a3e137bbc062d7

Thank you for merging my pull request and adding me to the list of contributors. I'm glad I could make a contribution.


Unable to view Clusters and Set ConfigPaths

Issue:
Unable to view Clusters or set ConfigPaths
Getting the following error if I try CTRL+SHIFT+P > Kubernetes: Set Kubeconfig

Command 'Kubernetes: Set Kubeconfig' resulted in an error (command 'extension.vsKubernetesUseKubeconfig' not found)
I manually tried to add a Json, but doesn't seam to work either

Okay let me try the below issue and update
clusters no longer visible in sidebar #910

so i updated my vs > resintalled k8 extension and it worked. Hence closing


Docker overlay 2 is taking up more and more space

Hello, I have been deploying the Docker for this project for several months  and have noticed that the available disk space is getting smaller and smaller.After entering the/var/lib/Docker/Overlay2 and using the du - sh command, I found  a folder size reached 20G.After searching, it was found that its container name is epicgames.Entering the diff and merged folders separately and checking the size of the sub folders in these two folders, it was found that the tmp files both reached 9GB or more.May I ask if the contents of these two tmp folders can be deleted? How can I avoid this situation from happening again?

Maybe mount the /tmp to a local dir ?


Generate sealed classes for union types

Is your feature request related to a problem? Please describe.
GraphQL schema allows defining unions. Currently the generated code represents the unions as individual classes implementing the same interface.
Describe the solution you'd like
When using unions in GraphQL schema, it would be great to utilize sealed classes feature from Kotlin to simulate those unions. Sealed classes hierarchy represent unions more accurately than regular classes.

This would allow much cleaner when statements over the sealed class, instead of the single parent class with optional fields.
+1 would use today

I'm going to redirect to this one that has some discussion already: https://github.com/apollographql/apollo-android/issues/1390


visualize output is not diplaying ground truth

Also - ground truth is not fed back at any time in the notebook (even when data is available - and it is available in both cases in the 2. notebook).
The correct code should be:
def show_keypoints(image, key_pts, ground_pts):
    """Show image with keypoints"""
    # image is grayscale
    plt.imshow(image, cmap='gray')
    plt.scatter(key_pts[:, 0], key_pts[:, 1], s=20, marker='.', c='m')
    if ground_pts is not None:
        plt.scatter(ground_pts[:, 0], ground_pts[:, 1], s=20, marker='.', c='g')

# visualize the output
def visualize_output(test_images, test_outputs, gt_pts=None, batch_size=10):

    for i in range(batch_size):
        plt.figure(figsize=(50,50))
        ax = plt.subplot(1, batch_size, i+1)

        # un-transform the image data
        image = test_images[i].data              # get the image from it's Variable wrapper
        image = image.numpy()
        image = np.transpose(image, (1, 2, 0))   # transpose to go from torch to numpy image

        # un-transform the key_pts data
        key_pts = test_outputs[i].data
        key_pts = key_pts.numpy()
        key_pts = key_pts*50.0+100               # undo normalization of keypoints

        # un-transform the gt_pts data
        ground_pts = None
        if gt_pts is not None:
            ground_pts = gt_pts[i].data.numpy()
            ground_pts = ground_pts*50.0+100

        show_keypoints(np.squeeze(image), key_pts, ground_pts)

        plt.axis('off')

    plt.show()

# call it
visualize_output(test_images, test_outputs, gt_pts)

Also, with the solution you have provided, I upvote the refactoring of this code you have made.
Moving:
if ground_pts is not None:
plt.scatter(ground_pts[:, 0], ground_pts[:, 1], s=20, marker='.', c='g')
To the show_keypoints function.

gt_pts[i].data.numpy()

Didn't work in my code. I used just: gt_pts[i]
The numpy conversion seems to not be required (either in key_pts)


[SMALLFIX] Use static imports for standard test utilities

Change
import org.junit.Assert;
to
import static org.junit.Assert.assertEquals;
AND
Update all
Assert.{{ method }}*
to
{{ method }}*

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/2729/
Test PASSed.

LGTM

alluxio-bot, merge this please


Validate value tags

Fixes #839

Codecov Report
Attention: Patch coverage is 89.79592% with 10 lines in your changes are missing coverage. Please review.

Project coverage is 94.66%. Comparing base (a5a2579) to head (1453b81).

Files
Patch %
Lines

internal/parser/parser.go
89.13%
10 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #890      +/-   ##
==========================================
- Coverage   94.72%   94.66%   -0.07%
==========================================
  Files          92       92
  Lines        8649     8727      +78
==========================================
+ Hits         8193     8261      +68
- Misses        313      323      +10
  Partials      143      143

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Calc function doesn't calc anything

I noticed these two lines in the initOverlay function, and it seems that you're using calc that doesn't calc anything. From experience I noticed that calc doesn't work in some cases, especially Safari. Which could cause the width and height to break. Is there any reason to why you use calc here? If not you should consider removing it to minimise the risk of it breaking cross browser.
this.renderer.setElementStyle(this.overlayElement, "width", "calc(100%)");
this.renderer.setElementStyle(this.overlayElement, "height", "calc(100%)");

You are right, the calc seems not necessary here. i'm removing it.


Use git reset instead of git pull for branch update

Minor improvement to the KFM install script.

use git reset to update a branch pointer, required when the remote has been force pushed

@machi1990 , if no objection I'd like to get this one merged for the new tag also. I've left it hanging here for too long :-)


LDAP fails to login to AD if the DN has spaces in the name

I have installed the 1.1.1rc.
I have SSL certs working and harbor works fine to log in via a CN without a space in the name.  If the DN has a space in it (i.e. CN=John Collier, OU=...), it fails to log in.  This similar config works in Harbor 0.5
Docker - 17.03.1-ce build c6d412e
Docker-compose - 1.12.0 build b31ff33
Config (excerpts):
auth_mode = ldap_auth
ldap_url = ldaps://:3269
ldap_searchdn = CN=Harbor-r0,OU=ServiceAccount,OU=example,DC=domain,DC=com
ldap_search_pwd =
ldap_basedn = DC=domain,DC=com
ldap_filter = (objectClass=person)
ldap_uid = sAMAccountName
ldap_scope = 3
ldap_timeout = 5
self_registration = off
token_expiration = 30
project_creation_restriction = adminonly
This CN fails. (John Collier)
May  1 11:58:42 <IP_ADDRESS> ui[2890]: 2017-05-01T15:58:42Z [DEBUG] [authenticator.go:59]: Current AUTH_MODE is ldap_auth
May  1 11:58:42 <IP_ADDRESS> ui[2890]: 2017-05-01T15:58:42Z [DEBUG] [ldap.go:143]: one or more ldapFilter<EMAIL_ADDRESS>May  1 11:58:42 <IP_ADDRESS> ui[2890]: 2017-05-01T15:58:42Z [WARNING] Not found an entry.
May  1 11:58:42 <IP_ADDRESS> ui[2890]: 2017-05-01T15:58:42Z [DEBUG] [authenticator.go:71]: Login failed, locking<EMAIL_ADDRESS>and sleep for 1.5s
May  1 11:58:53 <IP_ADDRESS> ui[2890]: 2017-05-01T15:58:53Z [DEBUG] [authenticator.go:59]: Current AUTH_MODE is ldap_auth
May  1 11:58:53 <IP_ADDRESS> ui[2890]: 2017-05-01T15:58:53Z [DEBUG] [ldap.go:143]: one or more ldapFilter: (sAMAccountName=collierj.adm)
May  1 11:58:53 <IP_ADDRESS> ui[2890]: 2017-05-01T15:58:53Z [DEBUG] [ldap.go:206]: Current ldap entry attr name: cn
May  1 11:58:53 <IP_ADDRESS> ui[2890]: 2017-05-01T15:58:53Z [DEBUG] [ldap.go:206]: Current ldap entry attr name: sAMAccountName
May  1 11:58:53 <IP_ADDRESS> ui[2890]: 2017-05-01T15:58:53Z [DEBUG] [ldap.go:80]: username: collierj.adm, dn: CN=John Collier,OU=<>,OU=<>=IT,DC=domain,DC=com
May  1 11:58:53 <IP_ADDRESS> ui[2890]: 2017-05-01T15:58:53Z [WARNING] Failed to bind user, username: collierj.adm, dn: CN=John Collier, OU=Remote_users,OU=<>,OU=IT,DC=domain,DC=com, error: LDAP Result Code 49 "Invalid Credentials": 80090308: LdapErr: DSID-0C0903D9, comment: AcceptSecurityContext error, data 52e, v2580
May  1 11:58:53 <IP_ADDRESS> ui[2890]: 2017-05-01T15:58:53Z [DEBUG] [authenticator.go:71]: Login failed, locking collierj.adm, and sleep for 1.5s
This CN works. (test)
May  1 12:22:25 <IP_ADDRESS> ui[2890]: 2017-05-01T16:22:25Z [DEBUG] [authenticator.go:59]: Current AUTH_MODE is ldap_auth
May  1 12:22:25 <IP_ADDRESS> ui[2890]: 2017-05-01T16:22:25Z [DEBUG] [ldap.go:143]: one or more ldapFilter: (sAMAccountName=test)
May  1 12:22:25 <IP_ADDRESS> ui[2890]: 2017-05-01T16:22:25Z [DEBUG] [ldap.go:206]: Current ldap entry attr name: cn
May  1 12:22:25 <IP_ADDRESS> ui[2890]: 2017-05-01T16:22:25Z [DEBUG] [ldap.go:206]: Current ldap entry attr name: sAMAccountName
May  1 12:22:25 <IP_ADDRESS> ui[2890]: 2017-05-01T16:22:25Z [DEBUG] [ldap.go:80]: username: test, dn: CN=test,OU=Remote_users,OU=<>,OU=IT,DC=domain,DC=com
May  1 12:22:25 <IP_ADDRESS> ui[2890]: 2017-05-01T16:22:25Z [DEBUG] [ldap.go:280]: username:test,email:

update - typo:
ldap_url = ldaps://dc1.domain.com:3269

Hi, thanks for reporting the issue.  But I can't reproduce the issue, user can login when the CN has a space in my env:
May  2 10:57:08 <IP_ADDRESS> ui[762]: 2017-05-02T02:57:08Z [DEBUG] [authenticator.go:59]: Current AUTH_MODE is ldap_auth
May  2 10:57:08 <IP_ADDRESS> ui[762]: 2017-05-02T02:57:08Z [DEBUG] [ldap.go:143]: one or more ldapFilter: (samaccountName=jim.green)
May  2 10:57:08 <IP_ADDRESS> ui[762]: 2017-05-02T02:57:08Z [DEBUG] [ldap.go:206]: Current ldap entry attr name: cn
May  2 10:57:08 <IP_ADDRESS> ui[762]: 2017-05-02T02:57:08Z [DEBUG] [ldap.go:206]: Current ldap entry attr name: sAMAccountName
May  2 10:57:08 <IP_ADDRESS> ui[762]: 2017-05-02T02:57:08Z [DEBUG] [ldap.go:80]: username: jim.green, dn: CN=jim green,OU=ATC,DC=harbor,DC=com
May  2 10:57:08 <IP_ADDRESS> ui[762]: 2017/05/02 02:57:08 #033[1;34m[router.go:829][D] | POST       | /login                                   | 37.450174ms      | match      | /login                                   | #033[0m
May  2 10:57:09 <IP_ADDRESS> ui[762]: 2017/05/02 02:57:09 #033[1;34m[router.go:829][D] | GET        | /api/users/current                       | 4.327252ms       | match      | /api/users/?:id                          | #033[0m
.....
The 52e error code means "invalid credentials" if you are very sure you are using the correct password, then if you can clarify the meaning of the error code "DSID-0C0903D9"

I think I stumbled across the real issue.  I did some wireshark traces and discovered that some users can log in fine and my account could not.  The wireshark traces shows:
LDAPMessage bindRequest(2) "CN=John Collier,OU=<>,OU=<>=IT,DC=domain,DC=com" simple
messageID: 2
protocolOp: bindRequest (0)
bindRequest
version: 3
name: CN=John Collier,OU=<>,OU=<>=IT,DC=domain,DC=com
authentication: simple (0)
simple: 0p
then a bind failure with invalid credentials.  The password is 16 characters long but only shows 2 characters in wireshark.  Logging in with another user, I see the full password.
The third character is a semi-colon (;).  I redid the password to have the ; in another location in the password and the pattern followed.  The password truncates at the ;
My test account didn't have this password which led me to believe it was a space issue.

@TheJohnCollier
Thanks for the update.
so I think you are saying the root cause is the ";" in your password?  If you remove it can you login without problems?

I can reproduce the issue, the root cause is UI, he should encode the value in the form.

Thanks very much.  I appreciate the work.
John
John Collier
Ball Aerospace and Techologies Corp
937-320-6941 (office)
From: Daniel Jiang<EMAIL_ADDRESS>Sent: Wednesday, May 03, 2017 9:54 AM
To: vmware/harbor
Cc: Collier, John; Mention
Subject: Re: [vmware/harbor] Fails to login if the password contains ';' (#2185)
Closed #2185https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_vmware_harbor_issues_2185&d=DwMCaQ&c=jF7FvYH6t0RX1HrEjVCgHQ&r=D7pDEe62Nv8cn0X3AlYYJz60Ww7YFYBeft0bTKY99nc&m=vBk9BB9szA1VbXBYYVyBmI-nfKAD4b8vomDqpypGKCQ&s=u6g42krb34aCAjDKDgOMS9RIKG_eO8TeZOIFilS1NEk&e=.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_vmware_harbor_issues_2185-23event-2D1067270463&d=DwMCaQ&c=jF7FvYH6t0RX1HrEjVCgHQ&r=D7pDEe62Nv8cn0X3AlYYJz60Ww7YFYBeft0bTKY99nc&m=vBk9BB9szA1VbXBYYVyBmI-nfKAD4b8vomDqpypGKCQ&s=O6j8VuVx8hf6y-afogl5kbnierCQVNVMS7-KJEIg4rE&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_Aa9bhDpUq-2DzZcqJf90JJwP1eSw3J26OHks5r2IcGgaJpZM4NNU7C&d=DwMCaQ&c=jF7FvYH6t0RX1HrEjVCgHQ&r=D7pDEe62Nv8cn0X3AlYYJz60Ww7YFYBeft0bTKY99nc&m=vBk9BB9szA1VbXBYYVyBmI-nfKAD4b8vomDqpypGKCQ&s=ZV8DAwLHAHEZldgmU6rjDDNuOtH2meln1EgumRduDV0&e=.
This message and any enclosures are intended only for the addressee.  Please
notify the sender by email if you are not the intended recipient.  If you are
not the intended recipient, you may not use, copy, disclose, or distribute this
message or its contents or enclosures to any other person and any such actions
may be unlawful.  Ball reserves the right to monitor and review all messages
and enclosures sent to or from this email address.


Fixing map download to work with IE

'download' attribute does not work in IE (or Safari, I think). Changed map download to use FileSaver.js, now works in IE (and should work in Safari, too).
Partial fix for #145, tree download still needs to be fixed.

Current coverage is 64.65%

Merging #147 into master will increase coverage by +0.06% as of f443475

@@            master    #147   diff @@
======================================
  Files          101     101
  Stmts         2957    2954     -3
  Branches         0       0
  Methods          0       0
======================================
  Hit           1910    1910
  Partial          0       0
+ Missed        1047    1044     -3

Review entire Coverage Diff as of f443475

Powered by Codecov. Updated on successful CI builds.


Failed loading TCertOwnerKDFKey. Key is missing.

Hi i have setup fabric network on my local when i deploy cp-web on this network it gives following errors:-
grpc: Server.Serve failed to complete security handshake
Failed loading TCertOwnerKDFKey. Key is missing.
23:37:02.064 [chaincode] Launch -> ERRO 16d launchAndWaitForRegister failed Timeout expired while starting chaincode bc25e42864477feeeedbfb5fecb7fea0c5bba627f9af2acf9c19746f705e671019dd04c1f7f7282f62a7cbefba1780d78b27507e777b3620713d7df37131442f(networkid:dev,peerid:vp0,tx:bc25e42864477feeeedbfb5fecb7fea0c5bba627f9af2acf9c19746f705e671019dd04c1f7f7282f62a7cbefba1780d78b27507e777b3620713d7df37131442f)

https://github.com/hyperledger/fabric/blob/f483fad3332968866a3067618c85a81561bb4ea3/core/crypto/client_tca.go#L81
https://github.com/hyperledger/fabric/blob/2cd1383ea135f813718dcbbf47c3908a1e74d3d7/core/crypto/node_ks.go#L111
According to the code above, this error is generated by a missing file path for a key.  These logs also look like they came from different places.  Do you have any logs from the chaincode container that the peer attempted to create?

Please find logs of peer below:-

We saw similar errors in the early days of standing up networks for use in the Bluemix service.  Obviously, the certificates you are generating have some problematic validity periods.  For us, the issue was that differences between the clocks on all of the peers would cause our certificates to appear to not be valid yet on some of the peers.  The fix that we eventually settled on was to generate the certificates as being valid from a few minutes in the past, to account for this clock drifting.


NewCompiler: Source maps broken

I enabled the new compiler: "liveSassCompile.settings.useNewCompiler" : true
Now source maps are broken. The browser only shows the css file and no line number, instead of the corresponding scss file including the line number.
old complier: _layout.scss:17 (that is the correct scss partial, with line number)
new compiler: backend.css:1 (that is the main, combined file)

I have identified the issue. Can you confirm the below package is also working for you?
live-sass-6.0.3-beta.1.zip

Yes, it is working correctly now. That was fast 😊.
Thanks for the great support/tool!

Glad it's working! Will publish a patch soon


Vim9: cannot pass list of numbers to "cursor()"

Describe the bug
In Vim9 script, we cannot pass a list of numbers to cursor().
To Reproduce
Run this shell command:
vim -Nu NONE +'vim9 cursor([1, 1])'

E1210 is raised:
E1210: Number required for argument 2

Expected behavior
No error is raised, because :help cursor() states that cursor() accepts a single list as only argument.  And it is allowed for the latter to only contain 2 numbers:

When there is one argument {list} this is used as a |List|
with two, three or four item:
[{lnum}, {col}]

Environment

Vim version: 8.2 Included patches: 1-3189
OS: Ubuntu 20.04.2 LTS
Terminal: XTerm(353)

Additional context
Regression introduced in 8.2.3188.

Hi,
On Wed, Jul 21, 2021 at 8:40 AM lacygoill @.***> wrote:

Describe the bug
In Vim9 script, we cannot pass a list of numbers to cursor().
To Reproduce
Run this shell command:
vim -Nu NONE +'vim9 cursor([1, 1])'
E1210 is raised:
E1210: Number required for argument 2
Expected behavior
No error is raised, because :help cursor() states that cursor() accepts a
single list as only argument. And it is allowed for the latter to only
contain 2 numbers:
When there is one argument {list} this is used as a |List|
with two, three or four item:
[{lnum}, {col}]
Environment

Vim version: 8.2 Included patches: 1-3189
OS: Ubuntu 20.04.2 LTS
Terminal: XTerm(353)

Additional context
Regression introduced in 8.2.3188.

Thanks for reporting the issue. I have updated PR #8598 with
a fix for this.
Regards,
Yegappan

Fixed in 8.2.3194

This gives an error:
vim9script
def Func()
    var prop: dict<any> = prop_find({type: 'TypeName'})
    cursor(prop.lnum, prop.col)
enddef
defcompile

E1013: Argument 1: type mismatch, expected number but got any

Is it working as intended?

Is it working as intended?

There are 3 possibilities.

Vim gets smarter, and correctly infers that prop.lnum (as well as prop.col) is actually a number, even though it's included inside a dictionary of mixed values.  I doubt that's possible without a lot of work though.

Vim accepts any at compile time, and waits until runtime to check whether prop.lnum is actually a number (it is).  Pro: no error.  Con: we might miss some errors at compile time.

Vim keeps rejecting any at compile time, and we need extra variables to feed the correct types to the compiler:

vim9script
def Func()
    var prop: dict<any> = prop_find({type: 'TypeName'})
    var lnum: number = prop.lnum
    var col: number = prop.col
    cursor(lnum, col)
enddef
defcompile

Something else looks weird.  This gives an error:
vim9script
def Func()
    var prop: dict<any> = prop_find({type: 'TypeName'})
    var lnum = prop.lnum
    var col = prop.col
    cursor(lnum, col)
enddef
defcompile

E1013: Argument 1: type mismatch, expected number but got any

But not this:
vim9script
def Func()
    var prop: dict<any> = prop_find({type: 'TypeName'})
    var lnum: number = prop.lnum
    var col = prop.col
    cursor(lnum, col)
enddef
defcompile

Why?  To be consistent, a similar error should be given for the second argument of cursor():
E1013: Argument 2: type mismatch, expected number but got any

It looks like the recent patches have solved this problem.


Binary/Buffer support for workers

Context: https://github.com/nuxt/nuxt.js/issues/13586
Relevant upstream improvement: https://github.com/unjs/unenv/issues/23

Blob is supported in unenv. @danielroe Can you please verify it?

Looking for docs on how to send binary file, but found nothing. Don't forgot to mention it in docs, please. :-)

How I did it:
setHeader(handler, 'Content-Type', 'application/pdf')
return sendStream(handler, Readable.from(Buffer.from(pdfBase64, 'base64')))

Binary (Buffer) responses should be supported in the majority of worker providers (tests: https://github.com/unjs/nitro/pull/2078)
Re Blob support, h3 has basic support now as well as we polyfill it and recent Node.js versions have native support.
Only we might improve blob handling in h3 for metadata (https://github.com/unjs/h3/issues/619)
@iBobik Your code example seems valid. YOu can directly return a stream. Will definitely include in the upcoming docs website 👍🏼


integ-tests backport: retry without --keep-logs on cluster deletion errors

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

Codecov Report

Merging #1818 into release-2.7 will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           release-2.7    #1818   +/-   ##
============================================
  Coverage        52.97%   52.97%
============================================
  Files               24       24
  Lines             3981     3981
============================================
  Hits              2109     2109
  Misses            1872     1872

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 c3bec08...bc6e112. Read the comment docs.


[DO NOT MERGE] Social Posts in Desktop Application

This is a tech demo that allows the creation and viewing of social posts within the desktop application. It's purpose is threefold:

Allow users to easily create test social posts
View profile posts from mobile users
Get innovative juices flowing and see what can be done with the social posts capability API

Things working:

Create posts
View posts on profiles

Not working:

Delete posts
Edit posts

This was just an experiment, so I'm going to close this. At some point I think we'll add posts through the normal process.


Add subannual time resolution for seasons

This PR cherry-picks the four seasons for sub-annual resolution from #278.