[web] Instance of 'minified:fh' Thrown randomly

Steps to Reproduce

Run flutter create bug.
Update the files as follows: ...
...

Expected results:
Case 1: ListView Displaying all elements
Case 2: New Page is pushed
Actual results:
Case 1: Some widgets in the listview are greyyed out
Case 2: Page isn't pushed

Logs

Analyzing swa_app...

   info - This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its
          instance fields aren't final: AlterAttendeesFormAdd._key, AlterAttendeesFormAdd._fname,
          AlterAttendeesFormAdd._sname, AlterAttendeesFormAdd._mob, AlterAttendeesFormAdd._emob,
          AlterAttendeesFormAdd._uni, AlterAttendeesFormAdd.universities - lib\AlterAttendeesFormAdd.dart:4:7 -
          must_be_immutable
   info - Name non-constant identifiers using lowerCamelCase - lib\AlterOnWaterFormRemove.dart:10:25 -
          non_constant_identifier_names
   info - This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its
          instance fields aren't final: AttendeesTab.context, AttendeesTab.reloadAttendees -
          lib\AttendeesTab.dart:10:7 - must_be_immutable
   info - Duplicate import - lib\ExpandableHeatCard.dart:5:8 - duplicate_import
   info - This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its
          instance fields aren't final: ExpandableHeatCard.buttonState - lib\ExpandableHeatCard.dart:10:7 -
          must_be_immutable
   info - Name non-constant identifiers using lowerCamelCase - lib\ExpandableHeatCard.dart:13:20 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\ExpandableHeatCard.dart:14:20 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\ExpandableHeatCard.dart:19:13 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\ExpandableHeatCard.dart:20:13 -
          non_constant_identifier_names
   info - This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its
          instance fields aren't final: HomeButton.onclick, HomeButton.content - lib\Home_Button.dart:3:7 -
          must_be_immutable
   info - This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its
          instance fields aren't final: WaterTab.context, WaterTab.reloadAttendees - lib\OnWaterTab.dart:18:7 -
          must_be_immutable
   info - Name non-constant identifiers using lowerCamelCase - lib\OpenCompetitionsCard.dart:41:15 -
          non_constant_identifier_names
   info - 'await' applied to 'void', which is not a 'Future' - lib\OpenCompetitionsCard.dart:52:5 -
          await_only_futures
   info - Name non-constant identifiers using lowerCamelCase - lib\OpenCompetitionsCard.dart:256:27 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\ProfilePopup.dart:5:44 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\ReorderableHeatPositionView.dart:15:22 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\ReorderableHeatPositionView.dart:16:22 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\ReorderableHeatPositionView.dart:19:13 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\ReorderableHeatPositionView.dart:20:13 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\ReorderableHeatPositionView.dart:31:20 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\ReorderableHeatPositionView.dart:70:23 -
          non_constant_identifier_names
   info - This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its
          instance fields aren't final: ViewHeatsWidget.carouselController - lib\ViewHeatsWidget.dart:8:7 -
          must_be_immutable
   info - Name non-constant identifiers using lowerCamelCase - lib\ViewHeatsWidget.dart:11:20 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\ViewHeatsWidget.dart:16:13 -
          non_constant_identifier_names
   info - Name types using UpperCamelCase - lib\class\SWA_Event_class.dart:8:7 - camel_case_types
   info - Name non-constant identifiers using lowerCamelCase - lib\class\SWA_Event_class.dart:10:7 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\SWA_Event_class.dart:12:12 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\SWA_Event_class.dart:13:12 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\SWA_Event_class.dart:19:13 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\SWA_Event_class.dart:20:40 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\SWA_Event_class.dart:28:22 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\SWA_Event_class.dart:30:22 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\SWA_Event_class.dart:31:22 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\SWA_Event_class.dart:204:30 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\SWA_Event_class.dart:215:37 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\competition\Competitor_Class.dart:5:10 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\competition\Competitor_Class.dart:7:7 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\competition\Competitor_Class.dart:8:7 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\competition\Competitor_Class.dart:12:31 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\competition\Heat_Class.dart:7:10 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\competition\RaceResult_class.dart:5:7 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\class\competition\RaceResult_class.dart:10:11 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase -
          lib\class\competition\competition_base_class.dart:10:10 - non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase -
          lib\class\competition\competition_base_class.dart:11:7 - non_constant_identifier_names
   info - 'await' applied to 'void', which is not a 'Future' -
          lib\class\competition\competition_base_class.dart:70:5 - await_only_futures
   info - 'await' applied to 'void', which is not a 'Future' -
          lib\class\competition\competition_base_class.dart:287:5 - await_only_futures
   info - 'await' applied to 'void', which is not a 'Future' -
          lib\class\competition\competition_base_class.dart:292:5 - await_only_futures
   info - This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its
          instance fields aren't final: FancyFab.addFunction, FancyFab.removeFunction - lib\fancyFab.dart:3:7 -
          must_be_immutable
   info - This function has a return type of 'Route<dynamic>', but doesn't end with a return statement -
          lib\main.dart:55:24 - missing_return
   info - This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its
          instance fields aren't final: EndCompetitionPage.selected_competition_index -
          lib\pages\EndCompetitionPage.dart:10:7 - must_be_immutable
   info - Name non-constant identifiers using lowerCamelCase - lib\pages\EndCompetitionPage.dart:11:7 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\pages\RacePage.dart:59:15 -
          non_constant_identifier_names
   info - 'await' applied to 'void', which is not a 'Future' - lib\pages\RacePage.dart:70:5 - await_only_futures
   info - Name non-constant identifiers using lowerCamelCase - lib\pages\RacePage.dart:202:27 -
          non_constant_identifier_names
   info - This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its
          instance fields aren't final: SingleCompetitionPage.areHeatsDone,
          SingleCompetitionPage.selected_competition_index - lib\pages\SingleCompetitionPage.dart:16:7 -
          must_be_immutable
   info - Name non-constant identifiers using lowerCamelCase - lib\pages\SingleCompetitionPage.dart:21:7 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\pages\WaterlogPage.dart:59:15 -
          non_constant_identifier_names
   info - 'await' applied to 'void', which is not a 'Future' - lib\pages\WaterlogPage.dart:70:5 -
          await_only_futures
   info - Name non-constant identifiers using lowerCamelCase - lib\stores\selectors.dart:11:13 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\utils\Swapi.dart:20:60 -
          non_constant_identifier_names
   info - Name non-constant identifiers using lowerCamelCase - lib\utils\Swapi.dart:37:27 -
          non_constant_identifier_names
   info - Avoid using braces in interpolation when not needed - lib\utils\Swapi.dart:51:24 -
          unnecessary_brace_in_string_interps

62 issues found. (ran in 5.2s)

[√] Flutter (Channel master, 1.22.0-10.0.pre.281, on Microsoft Windows [Version 10.0.18363.1082], locale en-GB)
    • Flutter version 1.22.0-10.0.pre.281 at C:\flutter
    • Framework revision 511367aa5a (14 hours ago), 2020-09-21 15:33:32 -0700
    • Engine revision 4b8477d115
    • Dart version 2.10.0 (build 2.10.0-142.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\Oscar\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 49.0.2
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] VS Code, 64-bit edition (version 1.49.1)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.14.1

[√] Connected device (3 available)
    • Web Server (web) • web-server • web-javascript • Flutter Tools
    • Chrome (web)     • chrome     • web-javascript • Google Chrome 85.0.4183.102
    • Edge (web)       • edge       • web-javascript • Microsoft Edge 85.0.564.51

• No issues found!

I understand I haven't given a lot of information but this error is thrown so randomly I can't think of any more data that would be helpful...
Here is a profile run
[   +9 ms] Found plugin vibration at C:\Users\Oscar\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\vibration-1.5.0\
[  +31 ms] Found plugin fluttertoast at C:\Users\Oscar\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\fluttertoast-7.1.1\
[   +8 ms] Found plugin location at C:\Users\Oscar\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\location-3.0.2\
[   +1 ms] Found plugin location_web at C:\Users\Oscar\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\location_web-1.0.0\
[   +6 ms] Found plugin path_provider at C:\Users\Oscar\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\path_provider-1.6.11\
[        ] Found plugin path_provider_linux at C:\Users\Oscar\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\path_provider_linux-0.0.1+2\
[   +1 ms] Found plugin path_provider_macos at C:\Users\Oscar\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\path_provider_macos-0.0.4+3\
[   +1 ms] Found plugin path_provider_windows at C:\Users\Oscar\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\path_provider_windows-0.0.4+1\
[   +7 ms] Found plugin shared_preferences at C:\Users\Oscar\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\shared_preferences-0.5.11\
[        ] Found plugin shared_preferences_linux at C:\Users\Oscar\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\shared_preferences_linux-0.0.2+1\
[   +1 ms] Found plugin shared_preferences_macos at C:\Users\Oscar\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\shared_preferences_macos-0.0.1+10\
[   +1 ms] Found plugin shared_preferences_web at C:\Users\Oscar\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\shared_preferences_web-0.1.2+7\
[        ] Found plugin shared_preferences_windows at C:\Users\Oscar\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\shared_preferences_windows-0.0.1+1\
[   +8 ms] Found plugin vibration at C:\Users\Oscar\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\vibration-1.5.0\
[  +12 ms] Generating C:\Users\Oscar\OneDrive - University of Birmingham\Coding\swa_all\swa_app\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[   +9 ms] Initializing file store
[   +9 ms] Done initializing file store
[  +64 ms] Skipping target: gen_localizations
[  +23 ms] Skipping target: web_entrypoint
[ +506 ms] dart2js: Starting due to {InvalidatedReason.inputChanged}
[+27997 ms] dart2js: Complete
[  +73 ms] invalidated build due to missing files: C:\Users\Oscar\OneDrive - University of Birmingham\Coding\swa_all\swa_app\DOES_NOT_EXIST_RERUN_FOR_WILDCARD88890630
[ +100 ms] web_release_bundle: Starting due to {InvalidatedReason.inputChanged, InvalidatedReason.outputChanged, InvalidatedReason.inputMissing}
[ +193 ms] Manifest contained wildcard assets. Inserting missing file into build graph to force rerun. for more information see #56466.
[  +60 ms] web_release_bundle: Complete
[ +117 ms] web_service_worker: Starting due to {InvalidatedReason.inputChanged}
[  +58 ms] web_service_worker: Complete
[   +2 ms] Persisting file store
[   +9 ms] Done persisting file store
[   +7 ms] lib\main.dart is being served at http://localhost:55063
[        ] The web-server device requires the Dart Debug Chrome extension for debugging. Consider using the Chrome or Edge devices for an improved development workflow.

Hey @oscarlindenbaum Can you provide a minimal reproducible code for this?
Also I couldn't spot any of the message Instance of 'minified:fh<void>' on the logs you provided, could you share the logs of the process where this message appeared?
Thanks

I've never figured out how to get verbose logs when running on web...? I can only get the outputs in the console I have specifically outputted. How do I do this?
Shame it's not a bug on android because then I could provide a detailed trace.

Hi @oscarlindenbaum
You can execute flutter run -d chrome --verbose  and logs from your dev console from your browser, please provide these complete logs and a minimal complete reproducible code sample
Thank you

Cheers for explaining that, unfortunatley I can't get this exception to throw again right now but I haven't changed anything, does anyone have more information about what actually the minified errors come from? that would help me try pinpoint it

Hi @oscarlindenbaum
Minification happens on release build, can you please try  flutter run -d chrome --release --verbose
Thank you

As i can't consistently reproduce this issue, I am going to clise it as i feel it came from old packages not being updated to the null safety breaking changes.


Fix Page control index when total number of pages changes

Fixes #658.
Current Behavior ( Optional for new feature )
Description
If page is changed to a page whose number is greater than total amount of pages (can happen when number of pages changes in between page changes), then the current page will still be set to that page instead of falling back to the new last page.
Screenshots
See #658
New Behavior
Description
Now when the total number of pages changes after a page change, the page selected will fall back to the last page.
Screenshots

Note
This solution uses getDerivedStateFromProps, which is not a recommended approach to handling derived state. An alternative solution would be letting the parent of PageControl component control the current index, but I think this will introduce unneeded complexity. Additionally, the logic within the getDerivedStateFromProps method will not override any local changes to the currentPageIdx value if it's less than or equal to the total number of pages, which is expected behaviour.

@Coteh This is not a bug. It' the limitation offset based pagination. I was working on a design proposal and prototype to address those. The true solution is using cursor based pagination.

Whoops my bad I'll close.


GCC 6: Missing sized deallocation functions

Compiling with GCC 6 (Cmake, C++11 enabled) emits following warning:
[…]/cpputest/src/CppUTest/MemoryLeakWarningPlugin.cpp:312:6: Warnung: the program should also define »void operator delete(void*, std::size_t)« [-Wsized-deallocation]
 void operator delete(void* mem) UT_NOTHROW
      ^~~~~~~~
[…]/cpputest/src/CppUTest/MemoryLeakWarningPlugin.cpp:332:6: Warnung: the program should also define »void operator delete [](void*, std::size_t)« [-Wsized-deallocation]
 void operator delete[](void* mem) UT_NOTHROW
      ^~~~~~~~

About this warning:

-Wsized-deallocation (C++ and Objective-C++ only)
Warn about a definition of an unsized deallocation function
          void operator delete (void *) noexcept;
          void operator delete[] (void *) noexcept;

without a definition of the corresponding sized deallocation function

          void operator delete (void *, std::size_t) noexcept;
          void operator delete[] (void *, std::size_t) noexcept;

or vice versa. Enabled by -Wextra along with -fsized-deallocation.

Update: Same with C++11 disabled.

It seems that Gcc 6 makes -fsized-deallocation the default.
How about we explicitly specify -fno-sized-deallocation in the compiler options?
Of course, we could add the functions as well, but that seems to make little sense, in that we weren't intending to use them, anyway.

The option should only be in CXXFLAGS, not in CFLAGS.

I don't know if there any negative impacts, but I would rather solve the problem by adding the necessary functions than solving it by disabling the warning.
Unfortunately the documentation above doesn't list the rational behind the warning, but I guess the GCC dev's had an intention by adding this.

It's not like disabling a warning - it's telling Gcc we are not interested in this feature :)

I think we could add them, the problem of these is that compiler and compiler versions all deal with it differently. So adding it might not be as simple as it seems :)

Fixed, see #987


alt-gr on azerty keyboard

on AZERTY keyboard alt-gr key is used to access to keys like '|'  (alt-gr + -/6) or '[' , ']' (alt-gr + (/5, )/°)) or {} for example that are all needed in both bash and several languages. There is currently no method to have an alt-gr key.

Searching again, I just seen than issue #327 was already opened in 2016/01 on the same subject.
In QWERTY, some of this chars {}| are accessible via Fn mode, this is not the case in AZERTY


[android] allow 0 as width or height for view

Testcase:
http://dotwe.org/weex/61bdb15864bf581904a280cedcd3681b
iOS & H5 are currently in line with expectations

We do not modify csslayout directly. And we will update new version later.

ok, you can close this pr after csslayout updated

Maybe we should open a new thread in mailing list to discuss about layout upgrading.

Agreed. Let's discuss yoga upgrading in dev@
On Fri, Mar 31, 2017 at 4:38 PM, 隐小风<EMAIL_ADDRESS>wrote:

Maybe we should open a new thread in mailing list to discuss about layout
upgrading.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-weex/pull/172#issuecomment-290652401,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHCAR--BLoVP5k3bnvVp4G99jlzv-LEks5rrLuVgaJpZM4MqKzZ
.

--
sospartan
Phone:13588488290
HangZhou


[Doc] Branch 2.4, merge all the docs from docs.zh-cn into this repo

Why I'm doing:
merge all the docs from docs.zh-cn into this repo, and keep all the commits
What I'm doing:
merge all the docs from docs.zh-cn into this repo
Fixes #issue
What type of PR is this:

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

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.5 out of 6 committers have signed the CLA.:white_check_mark: evelynzhaojie:white_check_mark: hellolilyliuyi:white_check_mark: DanRoscigno:white_check_mark: amber-create:white_check_mark: jaogoy:x: mergify[bot]You have signed the CLA already but the status is still pending? Let us recheck it.


1809 medialement class not found

Description of Bug
MediaElement throws on devices running lower than Android API 23 Java.Lang.ClassNotFoundException: Didn't find class android.media.PlaybackParams.
This PR prevents the use of android.media.PlaybackParams if running lower than API 23.

Issues Fixed

Fixes #1809

Behavioral Changes

PR Checklist

[x] Has a linked Issue, and the Issue has been approved
[ ] Has tests (if omitted, state reason in description)
[ ] Has samples (if omitted, state reason in description)
[x] Rebased on top of main at time of PR
[x] Changes adhere to coding standard

[ ] Updated documentation

Note to self, add an entry to the docs indicating that minimum API of 23 is required for speed manipulation


[Feature Request]

Checklist

[x] I'm reporting a feature request
[x] I've verified that I'm running yt-dlp version 2021.04.22
[x] I've searched the bugtracker for similar feature requests including closed ones

Description

WRITE DESCRIPTION HERE
When calling youtube-dl from C++ I want to be able to list all the videos in a playlist and having the playlist title in the output.
For example, to be able to run youtube-dl with the following args:
youtube-dl.exe --flat-playlist --get-filename --get-playlist-title https://www.youtube.com/playlist?list=PLSPw4ASQYyymu3PfG9gxywSPghnSMiOAW
and having the following output:
[download] playlist: Advanced C++/Graphics Tutorials
Advanced C++_Graphics Tutorial 0 - Installing SDL!-FxCC9Ces1Yg.NA
Advanced C++_Graphics Tutorial 0.5 - Installing SDL on CodeBlocks-bmjcZv-Itlg.NA
Advanced C++_Graphics Tutorial 1 - Installing GLEW (Windows)-u_NI7KOzyFM.NA
Advanced C++_Graphics Tutorial 2 - Opening a window!-7hF5BiPhP8Q.NA
Advanced C++_Graphics Tutorial 3 - Input Processing!-Bk74hW9KJmc.NA
Advanced C++_Graphics Tutorial 4 - First OpenGL Triangle!-8t3m2mRH7qs.NA
Advanced C++_Graphics Tutorial 5 - Bitwise Operations and Bitfields!-fJ-MXaa7tcU.NA
Advanced C++_Graphics Tutorial 6 - VBO, Sprite, and NDC!-W_OctRsu754.NA
Advanced C++_Graphics Tutorial 7 - Shader Intro!-j91xhXPJezg.NA
Advanced C++_Graphics Tutorial 8 - GLSLProgram, Initialization Lists, extern!-LLUtSE2osfI.NA
Advanced C++_Graphics Tutorial 9 - Interleaved Vertex Data, composition, offsetof-mU80e0eMLjc.NA
Advanced C++_Graphics Tutorial 10 - Uniform Variables!-gsqrBx8CI0o.NA
Advanced C++_Graphics Tutorial 11 - IOManager, more ifstream-h3DglGL7l0I.NA
Advanced C++_Graphics Tutorial 12 - lodePNG, GLTexture-I4az5VDpxVw.NA
Advanced C++_Graphics Tutorial 13 - First Texture, UV, sampler2D!-UBxB8H4e_5I.NA
Advanced C++_Graphics Tutorial 14 - Maps, Binary Search, Caching!-NlsbnToicLk.NA
Advanced C++_Graphics Tutorial 15 - ResourceManager, TextureCache!-HBpmfrQINlo.NA
Advanced C++_Graphics Tutorial 16 - FPS Counter and Limiter!-4cwpXJIHaMo.NA
Advanced C++_Graphics Tutorial 17 - VSYNC, GL_VERSION-KoYPif6ko1w.NA
Advanced C++_Graphics Tutorial 18 - Custom Library, Bengine-dNNXeMeF6yk.NA
Advanced C++_Graphics Tutorial 19 - Namespaces, Window-jGpFfYiKwhY.NA
Advanced C++_Graphics Tutorial 20 - Installing GLM-Sh1_PGh1gCI.NA
Advanced C++_Graphics Tutorial 21 - Camera2D-Rycaqr3tDRA.NA
Advanced C++_Graphics Tutorial 22 pt.1 - SpriteBatch, VAO, std - -sort-jXKMfsiVkLA.NA
Advanced C++_Graphics Tutorial 22 pt 2 - Finished SpriteBatch, emplace_back-2xWCvn9MZlg.NA
Advanced C++_Graphics Tutorial 23 - InputManager, Timing.h, unordered_map-Epyih-LEbig.NA
Advanced C++_Graphics Tutorial 24 - Basic Transparency!-KsQUtLj_NM0.NA
Advanced C++_Graphics Tutorial 25 - Getting Click Position!-vhL3WCLFK2I.NA
Advanced C++_Graphics Tutorial 26 - Vectors and Projectiles!-d3wvwZwsZsw.NA
Bengine Game Challenge 1 - Zombie Game! Pt. 1-81AcHa15H9c.NA
Bengine Game Challenge 1 - Zombie Game! Pt. 2-20nNmkNF3RE.NA
Bengine Game Challenge 1 - Zombie Game! Pt. 3-s_q8pLqFrPU.NA
Bengine Game Challenge 1 - Zombie Game! Pt. 4-nAbkKoOGVFA.NA
Advanced C++_Graphics Tutorial 27 - Debug vs Release mode-uNWaW4q1l3M.NA
Advanced C++_Graphics Tutorial 28 - isKeyPressed, ColorRGBA8-Vin6Ew8X6Ho.NA
Advanced C++_Graphics Tutorial 29 - Timestep!-6eSjPz5k278.NA
Advanced C++_Graphics Tutorial 30 - Optimized Spritebatch!-KT6-nZZ3SO4.NA
Advanced C++_Graphics Tutorial 31 - Camera Culling 2D!-zCaurIC49I4.NA
Advanced C++_Graphics Tutorial 32 - SDL_ttf, SpriteFont!-CZPZ7pgPT4E.NA
Advanced C++_Graphics Tutorial 33 - Header Initialization, Naming Convention!-XPXRoGrC_wM.NA
Advanced C++_Graphics Tutorial 34 - Audio, friend keyword-vKwDGQXL29U.NA
Advanced C++_Graphics Tutorial 35 - for each loop-08QXUU1ty9g.NA
Advanced C++_Graphics Tutorial 36 - Cache-Friendliness-Mxy-Vb7v3gQ.NA
Advanced C++_Graphics Tutorial 37 - ParticleEngine2D!-Pfk9X8iRqEo.NA
Advanced C++_Graphics Tutorial 38 - Function Pointers, Lambdas-5ps5_aKfTt0.NA
Advanced C++_Graphics Tutorial 39 - 2D Rotations!-AFCHEE8NWEk.NA
Advanced C++_Graphics Tutorial 40 - BallGame, Variadic Macros, SRP-B2x5OFKlQpQ.NA
Advanced C++_Graphics Tutorial 41 - Spatial Partition Pt. 1-WG3Sl3m4rNs.NA
Advanced C++_Graphics Tutorial 42 - Spatial Partition Pt. 2-RN1GRX2ByLM.NA
Advanced C++_Graphics Tutorial 43 - Multiple Renderers, Lazy Init-PQ3iBUysWQU.NA
Advanced C++_Graphics Tutorial 44 - IMainGame + IGameScreen architecture-X5XHG_oo_7w.NA
Advanced C++_Graphics Tutorial 45 - Finished IMainGame + IGameScreen-y2ZEtYJHwf8.NA
Advanced C++_Graphics Tutorial 46 - Box2D Physics-kEClRFKyGkw.NA
Advanced C++_Graphics Tutorial 47 - Platformer Player Control-NzUZ0CJoWBQ.NA
Advanced C++_Graphics Tutorial 48 - glDrawElements, DebugRenderer-Vc0jFIQAaQU.NA
Advanced C++_Graphics Tutorial 49 - Capsule Collision-RAo2et8RT0k.NA
Advanced C++_Graphics Tutorial 50 - 2D Animation-6ziRy9TP8K8.NA
Advanced C++_Graphics Tutorial 51 - Basic 2D Lighting, Additive Blending-waLU-LwLUMs.NA
Advanced C++_Graphics Tutorial 52 - Installing CEGUI (Windows)-mwf_gDVudsE.NA
Advanced C++_Graphics Tutorial 53 - GUI class and static_cast-OkARp0d2mpA.NA
Advanced C++_Graphics Tutorial 54 - CEGUI Input Injection (SDL), Bit Shifting, Unicode-ysWFFytI1NE.NA
Advanced C++_Graphics Tutorial 55 - CEGUI Event Handling, Basic Main Menu-5-L_icC7344.NA
Advanced C++_Graphics Tutorial 56 - CEGUI Event Handling review, new widgets.-6ERHtimRE7U.NA
Advanced C++_Graphics Tutorial 57 - Level Editor-nMKrBLgpY5A.NA
Advanced C++_Graphics Tutorial 58 - LevelReaderWriter-roBSwo2sksg.NA

Having this in the outputu :
[download] playlist: Advanced C++/Graphics Tutorials

#295


Updating Examples

Hi.
I wanted to open this Issue so I get some info before I start updating the examples - for guidelines and additional info.
What I wanted to do is create a new example app showing implementation without redux-router and also a better hook integration.
Let me know if you would consider this a + to PR or not.
Best from Vienna.
Nejc

I'm very interested in a working sample app for React IODC with or without redux. Have you got something up an running, @nvwebd?

@eloekset yeah I have something up and running - with Redux - for without I still have to do something, but I didn't manage to find the time.

Hi!
If you have an updated example I would be happy to link it to the docs.

I would love to see some example for the SignoutCallbackComponent also

I created a new example project using the library: https://github.com/henriquels25/redux-oidc-sample

I created a new example project using the library:
https://github.com/henriquels25/redux-oidc-sample
@maxmantz, do you think we can link it to the docs?
If someone has suggestions, I can work on improving the example application.

Thanks for the new example @henriquels25.
I expected CallbackComponent to populate redux store with user, but it doesn't. Am I supposed to dispatch USER_FOUND myself in the successCallback. I see neither the existing example nor @henriquels25 new example do this, or am I missing something?

Never mind! It's done by the OidcProvider upon user load event.


[Icon] LinkedIn Icon changed after Transition is triggered

Steps

create a circular LinkedIn icon using

use JQuery to capture mouseover event and trigger transition animation:

Expected Result
LinkedIn icon has transition animation when mouseover event is triggered.
Actual Result
LinkedIn icon class turn into "linkedin icon" after the transition is finished, not "linkedin in icon" as original.
Version
2.3

Can you create a JSFiddle  to replicate the issue?

https://jsfiddle.net/ca0rovs3/526/
here you go

Fixing this problem will introduce a breaking change in the transition module. We have to rename the inward css class from 'in' to 'inward' (and change the outward class as well).
If you don't relay on the 'in' css class name in the transition you could do something like:
$('.circular.inverted.large.icon').mouseover((e) => {
  $(e.target).transition('pulse', {className: $.extend({}, $.fn.transition.settings.className, {inward: 'inward'})});
});

Or change it globally with:
$.fn.transition.settings.className.inward = 'inward';

gladly to contribute something useful.
i'll try your solution.

Changing it globally breaks some other stuff. Use the first workaround for now.

The name of the icon is a bit bogus. Should be something like linkedin alt instead of linkedin in. It collides with transition in and transition out.

Also clashes with following icons:

in cart
zoom/sign in
zoom/sign/log out

Thanks @ColinFrick that helped make the update simpler.


[Safe Apps] Sign app for Mac Gatekeeper

As a user I want to open the Safe Multisig Electron app without having to manually go into the Mac settings to circumvent the Mac Gatekeeper.
Additional information. https://developer.apple.com/developer-id/

@matextrem I assume this is done. Feel free to reopen if there is more work needed for this.


Console error after update of webpack & Laravel-mix

Hi there!
I am using the package in my Laravel-Vue project. Today I updated my dependencies (webpack 2.3 and Laravel-mix 0.10.0) and suddenly I get an error in my console for my chart.
To create the chart I simply followed your examples. I will attach a screenshot of my console output.

The weird thing is that the chart seems to work properly though, it shows nice on the screen and all hover effects are in place.

Have the same issue after update


Wording of help texts

At the moment I'm contributing shell completions for LXD to the fish shell project (https://github.com/fish-shell/fish-shell/pull/3554).
In that PR a reviewer noticed some oddities with the help texts I used there. I took the first line of the lxc help <cmd> output as help texts.
An overview (cmd: current -> suggestion):

delete: 'Delete containers or container snapshots.' -> 'Delete containers or snapshots.'
finger: 'Fingers the LXD instance to check if it is up and working.' -> 'Check if the LXD instance is up.'
restore: 'Set the current state of a resource back to a snapshot.' -> Here no suggestion, but a question: what's a resource? I think a container but I'm not sure.

All in all rather trivial I think but great documentation is not to be taken lightly. Are these worthwhile changes?

resource should be replaced by "container" in that context.
And yeah, we'd certainly welcome a branch that improves those.

Uhm, you need to help me out a little bit here. I'm not sure what I do with the po/*.po files. Do I run make update-pot?

"make i18n" will take care of updating what needs to be updated.

That was quick. I'll take care of it.

Hmmm. That doesn't seem to do anything new. Perhaps make update-pot was sufficient?

I can't remember but maybe update-pot depends on i18n and just called it for you.
i18n updates only lxd.pot, update-pot then takes that and update all the .po files. Technically we only care about keeping lxd.pot up to date, the rest will be updated by the translators usually.

Everything seems in order then. Enjoy: https://github.com/lxc/lxd/pull/2628


Add unmaintained badge

this repo hasn't been updated in over 2 years and still has several open issues. figured it should be more obvious to someone coming here that it's unmaintained.

Coverage remained the same at 100.0% when pulling 2ae2717f1d69fb7700d71c8d5b3a1dc36159211f on retlehs-patch-1 into 6ae08530bd991945b05139cb8cf2293d9fdbdcdc on master.


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/73226

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/73852


WIndows 10

This doesn't appear to work with windows 10 machines running in Azure?  Can you confirm and if this is on the roadmap given Azure VDI

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

ID: 8d5df7a3-8abc-026a-7bee-2861ba4a2e38
Version Independent ID: 9c91b1ee-7874-a992-4e52-c621e914da08
Content: Adaptive application controls in Azure Security Center
Content Source: articles/security-center/security-center-adaptive-application.md
Service: security-center
GitHub Login: @monhaber
Microsoft Alias: monhaber

@MikeForster100 Thank you for your query . We will investigate and update further.

@MikeForster100 I do not think that this feature is dependent on Windows OS versions but I will let content author comment on the same.
@monhaber Can you please confirm.

@monhaber @msmbaldwin can you please help.

@SaurabhSharma-MSFT - It has picked up the windows 10 machine finally


Switch to Circle CI

Travis builds are taking hours just to queue, we need to switch to Circle to get faster feedback. I'll get to this eventually, if someone else wants to take it on, by all means 😄

I was just talking to them in Berlin it seems they have serious issues. I've learnt from yesterday deployment.

Maybe they should update their status page 😛

I hope they get things resolved, but this issue isn't about today's delays; Travis has had long wait times for macOS builds for a long time. I wish Travis the best ❤

Me too let's wait another hour if not.  You just test Action locally and pushed to CocoaPods trunk. Main while I will draft the release in gitHub.


Remember last abbreviations used in wrap with abbreviation.

When executing the Wrap with Abbreviation (resp. Individual Lines one) command, now the inputBox comes prefilled with the previous value entered, and cursor at the end.
Also, made a change so that we don't modify preview in wrap with abbreviation when the abbreviation typed is incomplete.
See https://github.com/Microsoft/vscode/issues/23169 and https://github.com/Microsoft/vscode/issues/40096

On second thoughts, we might want to have the whole previous abbreviation selected when invoking the command again, so it's easier to write a whole new one (and users can still press right arrow to un-select it).

Really missing this after switching from Atom, any plans to release it?

I know it's been almost three years, but this actually looks like a nice workaround in the meantime considering how:

Using a quickpick to show history is unintuitive https://github.com/microsoft/vscode/pull/114170
Implementing history into quickinput requires changing the API and would take longer than merging in this patch https://github.com/microsoft/vscode/issues/18232

@gushuro wondering if you can update the PR?

Closing for now.


Request to control the page with shortcuts

For example, we can reuse the shortcuts of vim. It would be great for those vim users.
But please consider this feature can be turned on/off by the users on their profile page.

This is a potential library https://www.npmjs.com/package/react-keyboard-shortcuts


Use tab as default separator

Changes behavior of save_snps so that the default separator is \t (tab) and file extension is .txt.
If , is used as a separator (via sep="," kwarg to save_snps), the default file extension is .csv.

Codecov Report

Merging #85 into develop will increase coverage by 1.76%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           develop      #85      +/-   ##
===========================================
+ Coverage    91.31%   93.07%   +1.76%
===========================================
  Files            9        9
  Lines         1312     1357      +45
  Branches       244      246       +2
===========================================
+ Hits          1198     1263      +65
+ Misses          70       49      -21
- Partials        44       45       +1

Impacted Files
Coverage Δ

src/snps/io/writer.py
86.23% <100.00%> (+0.38%)
:arrow_up:

src/snps/snps.py
93.35% <100.00%> (+1.75%)
:arrow_up:

src/snps/io/reader.py
97.05% <0.00%> (+0.03%)
:arrow_up:

src/snps/snps_collection.py
92.50% <0.00%> (+0.32%)
:arrow_up:

src/snps/resources.py
95.07% <0.00%> (+0.74%)
:arrow_up:

src/snps/ensembl.py
65.85% <0.00%> (+34.14%)
:arrow_up:

Continue to review full report at Codecov.

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


Update Dockerfile / JAVA_HOME

Alpine is using ash shell by default which results in an not set JAVA_HOME environment variable
Sry, there is no issue reported atm on issues.apache.org - never the less, it is one I'm facing to

see #805


Rule violations not detected within Slim route closures

PHPMD version: 2.7.0
PHP Version: 7.0.30
Installation type: composer
Operating System / Distribution & Version: Windows 10

Current Behavior
PHPMD does not detect errors located within Slim route. PHPMD correctly detects errors on other code within the same file, but not within the Slim route. Here's an example:
<?php

use Slim\Factory\AppFactory;

class TestClass{
    protected $variableNameThatIsTooLong = 4; //rule violation
}

$app = AppFactory::create();
$app->get('blah/blah', function(Request $request, Response $response, $args){
    $variableNameThatIsTooLong = 4; //no rule violation detected
});

Expected Behavior
PHPMD rule violations should be detected within Slim route closures.
Steps To Reproduce:
Execute PHPMD on the given code, with the LongVariable rule.
Checks before submitting

[x] Be sure that there isn't already an issue about this. See: Issues list
[x] Be sure that there isn't already a pull request about this. See: Pull requests
[x] I have added every step to reproduce the bug.
[x] If possible I added relevant code examples.
[x] This issue is about 1 bug and nothing more.
[x] The issue has a descriptive title. For example:  "JSON rendering failed on Windows for filenames with space".

I'm not able to test this right now but can this be reduced to
<?php
$callback = function(){
    $variableNameThatIsTooLong = 4; //no rule violation detected
};

@MarkVaughn I just tried that, and that wasn't working either. I think it has something to do with closures. Unfortunately, even if the solution did work, that would still be an issue. I'm trying to add PHPMD to an existing application, and I'm not going to modify hundreds of existing Slim routes to get linting.

For all the rules, we check only the symbols of the files (functions/classes/traits). Code outside of symbols is not analyzed by the parser.
We sure could improve this to handle procedural code.
But meanwhile, as it's a best practice, please consider putting a maximum of your code into classes. With Slim it's also possible for routes:
<?php

use Slim\Factory\AppFactory;

class BlahController
{
    public function blah(Request $request, Response $response, $args)
    {
        $variableNameThatIsTooLong = 4; //no rule violation detected
    }
}

$app = AppFactory::create();
$app->get('blah/blah', \BlahController::class . ':blah');

This will trigger the PHPMD rules and using controller classes will surely improve the code organization and testability.

I think this problem was mentioned before in other issues. Can we (the maintainers) please link this to similar reported issues and then close all issues except the one that reports the problem the best way?

This is probably related to the same root cause than:
#540
#573


ipfs support similar to Brave's builtin abilities.

Brave browser allows opening up of ipfs links. I believe they are using somekind of extension from elsewhere. Would be nice if thorium could accomodate this.  See https://brave.com/ipfs-support/

Thorium core team is rather small right now.
This looks like a bigger feature. If the code is publically available, it is doable ofc someday.

No worries.


TODO list for a v1.0 tag

There's definitely more than just this list (I'll keep expanding it) but here's a starting point for the things we need to do before we tag a 1.0 release:

[x] rename output columns to match the tex document
[x] add the sections from the latex to the sphinx docs (things like the input param description, output description, high level model overview, etc)

[x] param file
[x] output columns
[x] model description
[x] make sure readable_col_names exactly matches the tex table

[ ] finish up the function level docs
[x] replace all print() with logging (there's only a few left)
[x] cleanup logging output (e.g. viz.plot defaults to INFO, there's a warning when falling back to numpy in postprocess that should be info, etc)
[x] add some descriptions to the (many) tqdm bars so the user knows what's being progressed
[x] I renamed the columns in the csse historical file to 'cumulative_reported_cases' and 'cumulative_deaths' (from 'Confirmed' and 'Deaths'. I think I cleaned up everywhere that matters but we need to test that this didn't break anything downstream.
[ ] add something like scripts/ and include all the run scripts?
[x] move some of the hardcoded params around things like doubling time and case reporting estimation to param file

[ ] we moved the "main" ones but things related to the mpert distributions still need to be moved over

[ ] lint everything and setup github actions and commit hooks

[x] isort
[x] black
[x] flake8
[ ] pylint (this might be too much...)

[x] add support for storing Aij as a sparse matrix for when you can't spare the mem

closing to switch over to making this a GH milestone

closing to switch over to making this a GH milestone


Hyphenated compound question

Please can you explain the difference in capitalization of the second word in your two examples?
Self-Paced Training for Microsoft Visual Studio
and
Five Essential Snap-ins for Microsoft Management Console

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

ID: 72a047b5-771e-7a2a-d6ad-4038dd872397
Version Independent ID: 9749bff4-8583-552b-284d-eee6d6340006
Content: Capitalization - Microsoft Style Guide
Content Source: styleguide/capitalization.md
Product: non-product-specific
GitHub Login: @pallep
Microsoft Alias: pallep

Sure--those two titles are examples of the guideline “Capitalize the second part of a hyphenated compound if it would be capitalized without the hyphen.”
In the word “Self-Paced,” the word “Paced” would be capitalized if it appeared by itself, without “Self-“ attached to it.
But in the second example, “ins” (or “in”) wouldn’t be capitalized if it appeared by itself, so it’s lowercase. And the reason it would be lowercase is because “in” by itself is a preposition (though the compound word “snap-in” is a noun).

Nice explanation. Thanks. Just to clarify, "Paced" would be capitalised if it appeared by itself because it would be the first word?

Hi Roger,
First, to answer the other question you asked in a different thread. This example is meant to show correct capitalization when you’re using title-style capitalization. So in this example, “Paced” is capitalized because it’s a verb (or participle, which is a verb form). And in title-style capitalization, verbs, nouns, adjectives, adverbs, and pronouns are capped. Therefore, in title-style capitalization, a word like “Paced” is capped whether it appears by itself or as part of a compound modifier.
For your second question, about writing content that refers to app UI: the rule of thumb in Microsoft style is to use the capitalization shown in the Formatting text in instructions topic, unless you need to match the UI.
In the "Formatting text in instructions" topic, the entry for each UI element (for example, buttons and check boxes), says, “Use sentence-style capitalization unless you need to match the UI.”
So in your example, I would use "Welcome Letter and Customer Retention Summary report" to match the capping in the UI. (And I agree with your capping of "report." The generic part of the phrase, like "report," "feature," "option," "check box," etc., is lowercase.)
Microsoft style aims to use sentence-style capitalization for UI labels/text, but that isn’t always possible--some existing app functionality hasn’t yet been updated to use sentence-style capping. We think the user experience is best served by having the documentation match what the user actually sees in the UI.
FYI, for more developer-focused, technical content, there’s another version of this topic called Formatting developer text elements, which might be especially useful for the content that you work on.
I hope this helps!  Catherine

Hi Catherine,
Wow, thanks. Really appreciate your reply. Apart from your practical assistance with my question, the fact that you’ve responded so quickly and thoroughly is awesome customer support.
I really like that you’ve enabled feedback and comments on your style guide.
Thanks,
Roger
Roger Brouwer
Senior Technical Writer
T: +64 9 966 6090
E: roger.brouwer<EMAIL_ADDRESS>W: www.gentrack.comhttp://www.gentrack.com/
[Gentrack Email Footer]
From: Catherine Minden<EMAIL_ADDRESS>Sent: Friday, 27 July 2018 3:39 AM
To: MicrosoftDocs/microsoft-style-guide<EMAIL_ADDRESS>Cc: Roger Brouwer<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/microsoft-style-guide] Hyphenated compound question (#2)
Hi Roger,
First, to answer the other question you asked in a different thread. This example is meant to show correct capitalization when you’re using title-style capitalization. So in this example, “Paced” is capitalized because it’s a verb (or participle, which is a verb form). And in title-style capitalization, verbs, nouns, adjectives, adverbs, and pronouns are capped. Therefore, in title-style capitalization, a word like “Paced” is capped whether it appears by itself or as part of a compound modifier.
For your second question, about writing content that refers to app UI: the rule of thumb in Microsoft style is to use the capitalization shown in the Formatting text in instructionshttps://docs.microsoft.com/en-us/style-guide/procedures-instructions/formatting-text-in-instructions topic, unless you need to match the UI.
In the "Formatting text in instructions" topic, the entry for each UI element (for example, buttons and check boxes), says, “Use sentence-style capitalization unless you need to match the UI.”
So in your example, I would use "Welcome Letter and Customer Retention Summary report" to match the capping in the UI. (And I agree with your capping of "report." The generic part of the phrase, like "report," "feature," "option," "check box," etc., is lowercase.)
Microsoft style aims to use sentence-style capitalization for UI labels/text, but that isn’t always possible--some existing app functionality hasn’t yet been updated to use sentence-style capping. We think the user experience is best served by having the documentation match what the user actually sees in the UI.
FYI, for more developer-focused, technical content, there’s another version of this topic called Formatting developer text elementshttps://docs.microsoft.com/en-us/style-guide/developer-content/formatting-developer-text-elements, which might be especially useful for the content that you work on.
I hope this helps! Catherine
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/microsoft-style-guide/issues/2#issuecomment-408140219, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AnuUFryZf76JIRul_8772mtfmNuiO7nZks5uKeKpgaJpZM4VfFHH.

This e-mail together with any attachments is confidential, may be subject to legal privilege and may contain proprietary information, including information protected by copyright. If you are not the intended recipient, please do not copy, use or disclose this e-mail; please notify us immediately by return e-mail and then delete this e-mail. No liability is accepted for unauthorized transmissions or actions arising. Any views or opinions expressed in this e-mail may be solely those of the author and are not necessarily those of Gentrack. This email, if it relates to a specific contract, is sent on behalf of the Gentrack company which entered into the contract. Please contact the sender if you are unsure of the contracting Gentrack company or visit our web page http://www.gentrack.com for further information on the Gentrack Group. Where Gentrack UK Ltd is the company referred to, its details are: Registered in England & Wales No. 08229203. Reg. office: 203 Eversholt Street, London, NW1 1BU

You're very welcome, and thank you for the kind words. I hope the style guide can continue to support you in your work! Regards, Catherine


chore(connlib): make peer pure by taking utc time from parameters

This came up while working on #2030 and thinking about testing Peer.
Not entirely convinced of taking both Instant and DateTime<Utc> but unless we convert the expiration to an instant, which would bring a bunch of new problems, I don't see another way to do this.

Not entirely convinced of taking both Instant and DateTime<Utc> but unless we convert the expiration to an instant, which would bring a bunch of new problems, I don't see another way to do this.

Can we explore this? When we receive a resource from the portal, we could calculate the expiration in seconds from Utc::now, no? And then calculate an Instant of when it actually expires.

@thomaseizinger

Not entirely convinced of taking both Instant and DateTime<Utc> but unless we convert the expiration to an instant, which would bring a bunch of new problems, I don't see another way to do this.

Can we explore this? When we receive a resource from the portal, we could calculate the expiration in seconds from Utc::now, no? And then calculate an Instant of when it actually expires.

From Instant docs:

Note, however, that instants are not guaranteed to be steady. In other words, each tick of the underlying clock might not be the same length (e.g. some seconds may be longer than others). An instant may jump forwards or experience time dilation (slow down or speed up), but it will never go backwards. As part of this non-guarantee it is also not specified whether system suspends count as elapsed time or not. The behavior varies across platforms and rust versions.

For something as sensible as resources I don't think we should try to use Instant since it's not guaranteed to be steady, then resources  could expire later than intended due to time dilation.

@thomaseizinger

Not entirely convinced of taking both Instant and DateTime<Utc> but unless we convert the expiration to an instant, which would bring a bunch of new problems, I don't see another way to do this.

Can we explore this? When we receive a resource from the portal, we could calculate the expiration in seconds from Utc::now, no? And then calculate an Instant of when it actually expires.

From Instant docs:

Note, however, that instants are not guaranteed to be steady. In other words, each tick of the underlying clock might not be the same length (e.g. some seconds may be longer than others). An instant may jump forwards or experience time dilation (slow down or speed up), but it will never go backwards. As part of this non-guarantee it is also not specified whether system suspends count as elapsed time or not. The behavior varies across platforms and rust versions.

For something as sensible as resources I don't think we should try to use Instant since it's not guaranteed to be steady, then resources could expire later than intended due to time dilation.

Also, while I don't think it will come up often it could be a security concern if the host is suspended, time doesn't elapse, then resources aren't expire in time when it's resumed


YouTube links do not get processed

Google handles these differently so will need an update to the code.

Resolved by https://github.com/aceticke/MetaChecker/commit/c6fb457ad0ee4ab22a006bd752c0922511c8d67a

Resolved by https://github.com/aceticke/MetaChecker/commit/c6fb457ad0ee4ab22a006bd752c0922511c8d67a


Error: [FilesCollection] [remove] Run code from client is not allowed! [401]

I'm having the following issue:
Error: [FilesCollection] [remove] Run code from client is not allowed! [401]
I'm trying to delete files from a server method, check my example:
export const updateContract = new ValidatedMethod({
  name: 'contracts.update',
  validate: Contracts.simpleSchema().validator({ clean: true, filter: false }),
  run(contract) {
    if(contract.removedFileId){
        Files.remove({_id: contract.removedFileId }); //Remove old file!
        delete contract.removedFileId;
    }
    return Contracts.update(contractId, {
      $set: contract
    });
  }
});

Thanks in advance, Nicholls

Hello @jdnichollsc ,
Are you running this code from client?
Because this error is Client only error and can't appear on Server.
Please add console.log(Meteor.isClient); somewhere inside ValidatedMethod to make sure you're running it from Server, not a Client.

Ohh excellent my friend! The method runs on client and server, fixed validating before remove:
if(Meteor.isServer && contract.removedFileId){
        Files.remove({_id: contract.removedFileId });
        delete contract.removedFileId;
    }

Thanks, Nicholls

@jdnichollsc I'm glad it helped
Please, support this project by:

Star on GitHub
Star on Atmosphere
Share on Facebook and Twitter
Donate via PayPal


Automated cherry pick of #4588: fix(region): Set normal's snapshotpolicy's status as ready

Cherry pick of #4588 on release/3.0.
#4588: fix(region): Set normal's snapshotpolicy's status as ready

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/3.0@c0115d5). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff              @@
##             release/3.0   #4591   +/-   ##
=============================================
  Coverage               ?   6.86%
=============================================
  Files                  ?     523
  Lines                  ?   88803
  Branches               ?       0
=============================================
  Hits                   ?    6092
  Misses                 ?   82206
  Partials               ?     505

Flag
Coverage Δ

#aFlag
6.86% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/snapshotpolicydisks.go
0.38% <ø> (ø)

pkg/compute/models/disks.go
0.55% <0%> (ø)

pkg/compute/models/snapshotpolicy.go
3.56% <0%> (ø)

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 c0115d5...94068ce. Read the comment docs.


fix: Change mutateHTTPResource signature.

Codecov Report

Merging #13 (c4ecaeb) into master (6aa654a) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #13   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            9         9
  Lines          207       207
  Branches        55        56    +1
=========================================
  Hits           207       207

Impacted Files
Coverage Δ

packages/http-resource/src/HTTPCache.ts
100.00% <ø> (ø)

Continue to review full report at Codecov.

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


broken commands

commands have to work withour parameters, how else would they execute in the command palette ?!

sorry wrong repo :(


Updated LDAP docs for multiple user and role bases

Updated LDAP docs with ability to configure multiple user and role bases.
Description
Adding advanced LDAP  configuration (multiple user/role bases)
Issues Resolved
Doc update
Check List

[x] Commits are signed per the DCO using --signoff

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

 This is a good method to fix that.

@stockholmux I thinks that added now, although it was a somewhat messy process considering the PR was submitted via UI method, described here (Might be a good idea to include the sign off requirement in that section)
Is it possible to restart the tests? Or is it easier to just submit a new PR?
Also, will adding Signed-off-by:   to commit, under "Propose changes" avoid this in the future?

@keithhc2 @davidlago I've created a new PR with correct sign-off
https://github.com/opensearch-project/documentation-website/pull/385
Therefore closing this PR


Could not find property 'generateReleaseAssets'

Hi
I use gradle 2.5 and fat-aar spits the exception below. Which version of gradle is supported?
groovy.lang.MissingPropertyException: Could not find property 'generateReleaseAssets' on project ':api-impl'.
        at org.gradle.api.internal.AbstractDynamicObject.propertyMissingException(AbstractDynamicObject.java:43)
        at org.gradle.api.internal.AbstractDynamicObject.getProperty(AbstractDynamicObject.java:35)
        at org.gradle.api.internal.CompositeDynamicObject.getProperty(CompositeDynamicObject.java:97)
        at org.gradle.groovy.scripts.BasicScript.propertyMissing(BasicScript.java:66)
        at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
        at groovy.lang.MetaClassImpl.invokeMissingProperty(MetaClassImpl.java:873)
        at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:1852)
        at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:3689)
        at groovy.lang.GroovyObjectSupport.getProperty(GroovyObjectSupport.java:36)
        at groovy.lang.Script.getProperty(Script.java:56)
        at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:168)
        at groovy.lang.Closure.getPropertyTryThese(Closure.java:321)
        at groovy.lang.Closure.getPropertyOwnerFirst(Closure.java:315)
        at groovy.lang.Closure.getProperty(Closure.java:304)
        at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231)

The current gradle I use is 2.2.1. But that task should be generated by Android Library Plugin and should depend on that.
Are you doing a debug build for the library project?
Can you send the list of tasks being executed in the :api-impl project?

Also please let me know your android plugin version. I currently use com.android.tools.build:gradle:1.2.3

I use 1.3.0beta4, but I tried 1.2.3 - no luck
Another thing I'm struggling with is to make embedded dependencies per buildType
it seems I have do something like below
tasks.findAll { task ->
        if (task.name.matches('generate.*?Assets')) {
            println "task found + " + task.name;
            // Merge Assets
            task.dependsOn embedAssets
        } else if (...) {
        }

    }

The embedding is only useful for the release builds, not for the debug builds probably used by test instrumentation. Are you using flavors? Since I am only using release builds, I did not put checks around the task names. Maybe I'll need do that.
A better way may be to attach the task dependencies using build variants. That might work for multiple flavors too. However, it would then also require changing the hardcoded paths in some of the tasks.
If you can give me some idea about the project (flavors, build types) or a sample I can try it out.

Well there is one flavor, however different build types. The build type defines which dependencies to embed and which obfuscation mechanism to use. That's basically it.

Thats quite complex thing for me :) The current version only supports single build type - release with default flavor.
Since you want to have different embed dependencies per build type, you will have to generate configurations for each like compile does. We can use fooCompile when defining a dependency if we have a build type named foo and it will be used only with foo build. Something similar can be done here.
However an easier way might be to create a different library project per build type if you want to use it as it is.

Anyway thank you very much. I don't need to merge any resource/assest etc. Just classes. So I almost made my script taking yours as an example


Request: Need a Single Java-8 Util in place of separate projects like Stream Utils and Collectors Util.

Hi Jose Paumard,
This is just a request.
Having your two useful projects such as Stream Utils and Collectors Util in git, it seems if we need the two libraries we should download two separate dependencies. But my opinion is they can co-exist in single library called something like 'Java8-utils' in which you can add any other new utility related to Java8. Also it will be useful to have a single library instead of downloading multiple dependencies.
Inspired by your Java8 tutorial, I am also added a few utility methods in my Java-Utils git project  (at https://github.com/loganathan001/Java-Utils) such as flattening Stream of Optionals, flattening Optional of Optionals and Mappable version of Primitive type optionals, which I would like to add as my contribution to the single Java8-library if you create one. Please validate if they are useful to add to your library. Also please let me know if it is good idea to have such single library as I request.
Thanks & Regards,
Loganathan.S

Hello,
In fact you dont: CollectorsUtils depends on StreamsUtils, so if you pull this one, you will have them both. Which might be an issue since moving the version of StreamsUtils will require moving the version of CollectorsUtils also, for compatibility reasons...
As for yout work on Optionals. I do not think that encouraging Optional and Stream through such an API is such a great idea. You might be interested in this talk by Stuart Marks: https://www.youtube.com/watch?v=Ej0sss6cq14 in which reasons for that are given.
Thanks & regards,
José

Thank you Jose Paumard for your reply! And thanks for your reference video on Optionals, and I will get my understanding with it.


A complete rewrite, but keeping the format you've defined for now

I am still using your API key in the code,
so tell me if you want it replaced.
You're welcome to give feedbacks or even merge this pull request
(after all, this is why I opened one in the first place).
The only downside of my rewrite that I can think of
is the higher memory usage (by about 50%).
I won't work on this for a while,
I've only managed to crank out some code sooner than forecasted
because I've rescheduled my priorities a bit.

Hey @9ao9ai9ar, thank you very much for this PR! It seems like you really cleaned up the code. Adding tests was an especially nice touch. Before merging this PR, I'd like to review it in more detail to make sure it is OK. Unfortunately, I'm not sure when I will have the time in the near future to do this. Nevertheless, I wanted to write to you to give you some positive feedback on your work.

Thanks for your words of encouragement. I will be pushing out minor commits in the meantime, like updating the README and upgrading dependencies (Pydantic v2.9.0 is just around the corner, promising to fix the high memory consumption).
I do have an idea to improve the output format, but I will withhold work on that until next year. The idea is to first move all non-body fields of the posts into the (non-standard but widely supported) YAML metadata section at the beginning of the Markdown files. Secondly, individual answers should probably be separated into individual files to keep them as close to the original as possible without modifying the Markdown content by inserting the section markers. Lastly, the licenses of the posts (currently there are 3 versions of CC in use) should be included and linked. I can open an issue if you're interested in further discussion.

All these changes sounds good to me. I can have a look at them as well when you push them (and when I have some more time).


Add logger API from Nazara Core

Work in progress adding the logging API using the Nazara Core logging system.

[ ] PoC using cpp crate
[ ] Integrate Nazara Core libraries in the CI
[ ] Create an idiomatic API on the rust side

Closing, reconsidered out-of-scope.


Cookbook does not ensure presence of postfix table dbs

During testing of a wrapper cookbook, we very quickly noticed that if the .db files corresponding to a postfix table are deleted, they are not replaced unless the content of the table file is changed, which triggers execution of postmap again.
Obviously, nothing should be deleting these files but this makes it really difficult to ensure consistency of the state declared by the cookbook.
There's a simple fix - in the recipes for the various files, like transport.rb, instead of:
execute 'update-postfix-transport' do
  command "postmap #{node['postfix']['transport_db']}"
  environment PATH: "#{ENV['PATH']}:/opt/omni/bin:/opt/omni/sbin" if platform_family?('omnios')
  action :nothing
end

It could be:
execute 'update-postfix-transport' do
  command "postmap #{node['postfix']['transport_db']}"
  environment PATH: "#{ENV['PATH']}:/opt/omni/bin:/opt/omni/sbin" if platform_family?('omnios')
  action File.exist?("#{node['postfix']['transport_db'].db") ? :nothing : :run
end

Which maintains all the current behavior but also runs postmap if the db file is missing.
Thanks

This looks reasonable and if you'd open a PR we'd love to merge it.

We'd love to better understand the appropriate action to take here. If you still have thoughts on this please reopen. Thanks!


New options to sort items in checklist alphabetically

I have addded a new option in configuration, and implemented a feature to allow sort alphabetically items in checklist. It is tested and working.
I will love you add this feature in your next release!
Thank you!

@chanilino, thank you so much for the contribution to this plugin. It sounds like a great feature and I will go though the code review very soon.

Hi @chanilino, thanks again for your pull request. I really appreciate how you stuck with the style of the rest of the code base. I got a chance to test out your change and found a couple of bugs I was wondering if you could address.

[ ] It looks like there is some weirdness when checking and unchecking items. For example, a newly-checked item will be moved to the top of the checked items first, then alphabetized. Is it possible to put it in the right spot form the beginning?
[ ] It doesn't look like items are being sorted when adding them to the list, only when a check box is interacted with.
[ ] Finally, if I disable sorting alphabetically there is an issue with item ordering when unchecking.

Let me know if you have any questions about reproducing these issues or if I can help with solving them. Thanks again. The feature sounds like a great idea!

Hi @tgrosinger are your testing the last commit (fe440254a9ce0b42ba9fc5375c79882b75f3ffdb)?
I only can reproduce one problem: "doesn't look like items are being sorted when adding them to the list, only when a check box is interacted with.". That's right it is not being considered in my implementation.
I will work on it and test more intensively this feature.
Thank you,

I have just commit (861df5ec96f24bf240719cf7a679c2f9e2137a70) solving the issue of new items.
I think now it works ok! If you see any problem, report it!
This commit also include a refactor of managing of events with more generic and reusable code.
I wait for your comments.

I believe I was looking at the most recent commit, but I have updated to look at the new commit that you added. For some reason this version does not seem to be able to have more than three items in the list, adding a new one will bump off the bottom element.
Can I ask how you are testing this? There are instructions here on how to build a TiddlyWiki edition containing your changes. Let me know if you have any questions I can help with.

I was developing directly in the browser, folowing this guide
I am developing using firefox, and it works. Perhaps it is a problem of browser compatibility. I will test using node. When you test with node, which browser do you use?
I will work a little more on this issue, after the weekend.

I have tested following your guide. I generate an index.html with node, and after I open with firefox the generated index.html on TW5/editions/checklistdemo/output.
All is working ok. Perhaps you are using another browser?
Or perhaps is a configuration problem, I will try to explain how it works with configuration. Sort items feature changes its behaviour with the Rearrange checkded items configuration. Following table tries to explain the behaviour:

Sort list alphabetically
Rearrange checked items
Expected behaviour

checked
checked
We have first unchecked items sorted alphabetically, after we put checked items sorted alphabetically

checked
unchecked
We have items sorted alphabetically and it is independent if it is checked or unchecked item

unchecked
checked
We have first unchecked items without alphabetical sorting, after we put checked items without  alphabetical sorting

unchecked
unchecked
the items are in order of insertion

I have just found the bug inserting new elements. I will work on it.

Ok, the commit (e2510184137bda6e59649c4825fbefca31e5f6c4) solves the problem inserting elements!!
Now I think it is woking ok!

Ok, the commit (d7fc000) solves the problem inserting elements!!
Now I think it is woking ok!
Here  I add an  explanation how it works with configuration. Sort items feature changes its behaviour with the Rearrange checked items configuration. Following table tries to explain the behaviour:

Sort list alphabetically
Rearrange checked items
Expected behaviour

checked
checked
We have first unchecked items sorted alphabetically, after we put checked items sorted alphabetically

checked
unchecked
We have items sorted alphabetically and it is independent if it is checked or unchecked item

unchecked
checked
We have first unchecked items without alphabetical sorting, after we put checked items without  alphabetical sorting

unchecked
unchecked
the items are in order of insertion


NameError: name 'framerate' is not defined whenever calling set_fps

set_fps function parameter is named 'fps' but still references 'framerate', causing a NameError whenever it is called.
init line ~1275 should read
    _lib.TCOD_sys_set_fps(fps or 0)
not
    _lib.TCOD_sys_set_fps(fps or 0)

Thank you for raising this issue.  I messed up and missed this completely.
I've fixed the NameError and added tests for tdl's fps functions.  v4.0.1 has the fix and is being deployed right at this moment.
Here's a next trick that turns on VSync if you're interested.  You can call this after tdl.init.
tcod.lib.SDL_GL_SetSwapInterval(1)


Development container fails to start

Following the documentation from readme under the "Running the development Docker" header causes the container to be built properly, but, running
docker run -p 8080:8080 marathon-head --master local --zk zk://localhost/marathon
fails with error message:
Failed to start a local cluster while loading agent flags from the environment: Flag 'work_dir' is required, but it was not providedI0828 22:33:41.809705    72 leveldb.cpp:304] Persisting metadata (8 bytes) to leveldb took 3.432628ms
It seems like explicitly setting the Mesos work directory by adding  ENV MESOS_WORK_DIR /var/lib/mesos to the Dockerfile resolves the issue.

@isaacd9 Thanks for this report.
This is (strange) behavior from the latest Mesos version.
We should add this to our documentation until this is fixed in Mesos.
@sascala can you add this to the readme? Thanks

I'll add this, as I just ran into the same issue.

Thanks for this 👍  :)

This "strange behaviour" has a name and reasons. Please in the future talk to us if you find something "strange" in Mesos: it can be a bug, a feature, or a misunderstanding.


A missing space between  and [INST]

I believe there should be a space before [INST] here: https://github.com/mistralai/mistral-common/blob/fcf0316163433af072f3cb157664c867661cbda7/src/mistral_common/tokens/tokenizers/sentencepiece.py#L167
This is validated by testing. We cannot make the model emit its proper instruct template because it seems to be disinclined to emit it, probably because of training details.
However, the model is very keen on emitting spurious </s> if this space is omitted, especially after numbers such as phone numbers, address numbers and dates.
Notably, this page gives two different chat templates, one matching the one in this repository written out as such, and the pseudocode below it which is missing the spaces after [INST] and after [/INST]:
https://docs.mistral.ai/getting-started/open_weight_models/#chat-template
I believe both of these examples are actually incorrect.
Then there is this source:
https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1
It shows the space between <s> and [INST], which I believe is correct. Adding that space to the template gives superior output quality based on qualitative tests.
However, the pseudocode given in that source matches the pseudocode from Mistral documentation and is different from what is shown, and I believe incorrect as well.
Please look into this, and be clear what the chat template actually is; whitespace is very very important.

Here is an example message which consistently cuts off with Mixtral-8x7B after numbers when a bad chat template without the space is used:
example_message.txt
The information in the message is synthetic; no real personal information.

Hello ! Agreed whitespaces are frustratingly important in templates (which is why we've moved to control tokens in our newest templates).
I am far from an HF chat template expert but my understanding is :

"[INST]" won't be tokenized as [bos] + encode("[INST]") by HF tokenizer. To achieve this you need a space between the two strings.
in our template, we explicitely create the list of tokens as [bos] + encode("[INST] ... [/INST]") which is fine.

Your question prompted me to run the same test we have here : https://huggingface.co/mistralai/Mixtral-8x22B-Instruct-v0.1#instruct-tokenizer but with v1 compared with the mixtral-8x7b-instruct-v0.1 on HF.
The template on HF is wrong. Our ref implementation in this repo is correct. This is what I tested:
from mistral_common.protocol.instruct.messages import (
    AssistantMessage,
    UserMessage,
)
from mistral_common.tokens.tokenizers.mistral import MistralTokenizer
from mistral_common.tokens.instruct.normalize import ChatCompletionRequest

from transformers import AutoTokenizer

tokenizer_v1 = MistralTokenizer.v1()

mistral_query = ChatCompletionRequest(
    messages=[
        UserMessage(content="1"),
        AssistantMessage(content="2"),
        UserMessage(content="3"),
    ],
    model="test",
)
tokenized = tokenizer_v1.encode_chat_completion(mistral_query)

tokenizer_hf = AutoTokenizer.from_pretrained('mistralai/Mistral-7B-Instruct-v0.1')
hf_messages = mistral_query.model_dump()['messages']
tokenized_hf = tokenizer_hf.apply_chat_template(hf_messages, tokenize=True)

print("MISTRAL_COMMON")
print(tokenized.text)
print(tokenizer_hf.convert_ids_to_tokens(tokenized_mistral))
print("HF : MIXTRAL-8x7B")
print(tokenizer_v1.instruct_tokenizer.tokenizer.to_string(tokenized_hf))
print(tokenizer_hf.convert_ids_to_tokens(tokenized_hf))

tokenized_mistral = tokenized.tokens
assert tokenized_hf == tokenized_mistral

The output is
MISTRAL_COMMON
<s>▁[INST]▁1▁[/INST]▁2</s>▁[INST]▁3▁[/INST]
['<s>', '▁[', 'INST', ']', '▁', '1', '▁[', '/', 'INST', ']', '▁', '2', '</s>', '▁[', 'INST', ']', '▁', '3', '▁[', '/', 'INST', ']']
HF : MIXTRAL-8x7B
<s>▁[INST]▁1▁[/INST]2</s>▁▁[INST]▁3▁[/INST]
['<s>', '▁[', 'INST', ']', '▁', '1', '▁[', '/', 'INST', ']', '2', '</s>', '▁', '▁[', 'INST', ']', '▁', '3', '▁[', '/', 'INST', ']']

As far as I can tell there are 2 errors in the chat template on HF :

a missing space before [/INST] and the assistant message
an extra space between  and [INST]

I personally don't have the bandwidth to track the changes that happen in the HF tokenizer codebase but would extremely gladly accept a PR that fixes it on all our 7B / 8x7B repos !
Another question since you're saying 8x7B behaves badly with mistral-common tokenization :

Once you've tokenized things , how exactly are you calling the model ?

Thanks !

We are calling the model through VLLM with a custom chat template.

It actually depends on the tokenizer, after some verifications, it seems like almost all HF templates need to be rewritten (im working on it using mistral-common as ground truth) but basically there are a few differences between the tokenizer, and so, between the versions of each model.
Here are some examples with each tokenizer and a temporary Jinja chat template  that I will latelly add to the HF repos:
V3 Output:
<s>[INST]▁Hello[/INST]▁Hi▁there!</s>[INST]▁How▁are▁you?[/INST]▁Fine▁and▁you?</s>[INST]▁Fine▁thank▁you.[/INST]

V3 Temporary ChatTemplte:
{{ bos_token }}{% for message in messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if message['role'] == 'user' %}{{ '[INST] ' + message['content'] + '[/INST] ' }}{% elif message['role'] == 'assistant' %}{{ message['content'] + eos_token}}{% else %}{{ raise_exception('Only user and assistant roles are supported!') }}{% endif %}{% endfor %}

V3 Chat template Output:
<s>[INST] Hello[/INST] Hi there!</s>[INST] How are you?[/INST] Fine and you?</s>[INST] Fine thank you.[/INST]

V2 Output:
<s>[INST]▁Hello[/INST]▁Hi▁there!</s>[INST]▁How▁are▁you?[/INST]▁Fine▁and▁you?</s>[INST]▁Fine▁thank▁you.[/INST]

V2 Temp chat template:
{{ bos_token }}{% for message in messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if message['role'] == 'user' %}{{ '[INST] ' + message['content'] + '[/INST] ' }}{% elif message['role'] == 'assistant' %}{{ message['content'] + eos_token}}{% else %}{{ raise_exception('Only user and assistant roles are supported!') }}{% endif %}{% endfor %}

V2 Chat template Output:
<s>[INST] Hello[/INST] Hi there!</s>[INST] How are you?[/INST] Fine and you?</s>[INST] Fine thank you.[/INST]

V1 Output
<s>▁[INST]▁Hello▁[/INST]▁Hi▁there!</s>▁[INST]▁How▁are▁you?▁[/INST]▁Fine▁and▁you?</s>▁[INST]▁Fine▁thank▁you.▁[/INST]

V3 Temp chat template:
{{bos_token}}{% for message in messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if message['role'] == 'user' %}{{ ' [INST] ' + message['content'] + ' [/INST]' }}{% elif message['role'] == 'assistant' %}{{ ' ' + message['content'] + eos_token}}{% else %}{{ raise_exception('Only user and assistant roles are supported!') }}{% endif %}{% endfor %}

V3 Chat template output:
<s> [INST] Hello [/INST] Hi there!</s> [INST] How are you? [/INST] Fine and you?</s> [INST] Fine thank you. [/INST]

I will keep u updated, hopefully this will help a bit for now!

@keskival Following this, I've updated most of the chat templates on HF, the ones I provided previously are not 100% accurate so I recommend using the ones I've added to the HF repos. They are still not 100% perfect, as there seems to be some issues with the tokenizers themselves on some repos, but they are far better than before and should for most of them match with mistral_common now. But basically it's recommended to use mistral_common and take it as ground truth.

when trying to address a similar issue, I am thinking that the thing is still unclear as per which flags to use with HF.
https://github.com/huggingface/transformers/issues/31513#issuecomment-2396357982

Maybe this will help: https://github.com/mistralai/cookbook/blob/main/concept-deep-dive/tokenization/chat_templates.md

Hello!
I am trying to use https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2
for fine tuning. But I am not sure about the template. Will this work?
formatter_text = f" [INST] {question.strip()} [/INST] {answer.strip()}"
Thanks!


template failed - Mark8 Project Team

Your request to provision
"Mark8 Project Team"
template failed!
Please report the issue here providing the following provisioning action correlation ID: 3a4f1def-a68a-4da9-9439-731dae94abe3 !

Hi,
Thanks for using the Look Book site. Based on the event log, we can see - based on the provided Correlation ID - that you targeted an already existing site and the exception was "Forbidden". Could you please try to provision the solution to a different site URL? In case of any issue, please create another item and provide the corresponding Correlation ID for further investigation. Thanks for your cooperation.


glusterfs: add service

Motivation for this change
Run  GlusterFS as a service and allow to mount GlusterFS volumes via configuration.nix
Fixes #9877
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Fits CONTRIBUTING.md.

The steucture was taken from the IPFS module and thats also where the style comes from.

Most modules in the network-filesystems have the same style so I don't think I it should be changed.
Any other concernes?

I rerbased it on master.

No other concerns. I'm happy with it.

Is it feasible to constrain the daemon a bit or does it need to run with full root capabilities?

I didn't find distro where gluster isn't running as root. I haven't tried it tough.

Looking more into glusterfs, I get the impression that you wouldn't ordinarily deploy it on a desktop or anywhere with direct access to the external network, so it's not that much of a concern that it runs unconstrained.

I did some digging and I couldn't get gluster running as non root. The main reason as stated here is that gluster uses the underlying filesystem to store ACL etc. So it needs to be able to create and delete files as any user.
Further it is also required to disable the firewall or at least open a port range as gluster doesn't only use some fixed ports.

I see. If it needs root only to perform file operations as any user, it ought to be possible to limit the capabilities somewhat at least, but, again, only bother if it's likely to be deployed on anything but a dedicated closed-off system.

@joachifm It's unlikely. It is mostly used in a closed environment with fast interconnects.


ENH Add Nice to DBField

Fixes https://github.com/silverstripe/silverstripe-framework/issues/11169
Description
Adding a Nice method on the base DBField class simplify code down the line and avoid extra method_exists checks and make static analysis tool happy
Manual testing steps
Classes types against DBField do not complain anymore about Nice not being present
Issues

https://github.com/silverstripe/silverstripe-framework/issues/11169

Pull request checklist

[x] The target branch is correct

See picking the right version

[x] All commits are relevant to the purpose of the PR (e.g. no debug statements, unrelated refactoring, or arbitrary linting)

Small amounts of additional linting are usually okay, but if it makes it hard to concentrate on the relevant changes, ask for the unrelated changes to be reverted, and submitted as a separate PR.

[x] The commit messages follow our commit message guidelines
[x] The PR follows our contribution guidelines
[x] Code changes follow our coding conventions
[x] This change is covered with tests (or tests aren't necessary for this change)
[x] Any relevant User Help/Developer documentation is updated; for impactful changes, information is added to the changelog for the intended release
[x] CI is green

Please target the 5 branch (new methods should be included in minor releases, not patches) and tick all the boxes that apply in the PR description.
The actual code looks good to me. Nice and simple.

It looks like you've inadvertently pulled in some commits that aren't related to this PR, and have additional commits to cancel them out - can you please instead make sure this PR only has the commits that are relevant to the change being made?
The high-level overview of how I recommend doing that is:

Delete your local (not remote!) branch
Switch to the 5 branch
Create a new local branch with the same name as the original PR branch (i.e. patch-54 in this case)
Cherry-pick the relevant commits
Force-push the branch (it'll override the remote branch with the same name, thereby updating the PR)
More detailed instructions are in this gist

Please also tick the relevant boxes as per https://github.com/silverstripe/silverstripe-framework/pull/11184#issuecomment-2014512792

@GuySartorelli done, i'm getting better at this whole git branch management thing ;)

That's perfect, thank you!


Unable to establish SSL connection

Hello,
I try to download python "train.py --dataPathAVA AVADataPath --download"  but get this error:
ERROR: cannot verify s3.amazonaws.com's certificate, issued by /C=US/O=Amazon/CN=Amazon RSA 2048 M01':   Unable to locally verify the issuer's authority. To connect to s3.amazonaws.com insecurely, use --no-check-certificate'.
Unable to establish SSL connection.

Sorry, I haven't encountered this issue before. There is a solution available online which involves running the following code.
sudo yum install -y ca-certificates
I'm not sure if it will help you resolve the issue.

Thanks, I just needed to update wget

Hi, the dataset is very large, something like 302 GB. Is there a way to download a smaller dataset to train the model?
Thanks

Sorry, this is the only way that I currently know.
The original video, data generated during the preprocessing stage, and the final dataset altogether take up about 300G. The size of the final dataset is less than 100G. If you do not have enough storage space, you can delete orig_videos(167G) after obtaining clips_videos(85G), or delete orig_audios(44G) after obtaining clips_audios(6.4G).
If you only want to obtain the training set, you can set the dataType to 'train' in utils/tools.py.
If you only want to obtain the validation set, you can access this repository .


Streaming encoder

First of all, thanks for this great library.
I have a question: is there a way to do encoding of a specific audio buffer and only get that back, and not the whole recording?
For example, sending a Float32Array, vmsg encodes it and then sends it back.
Right now I think during a recording, everything is held in memory and returned when calling vmsg_flush().
This would be useful for longer recordings where you want to encode something and maybe upload it and not keep it in memory.
I've tried to do something similar, by calling vmsg_init, vmsg_encode and then vmsg_flush, inside the data event listener for the worker. I don't think this is the right way to do it.
  case "data":

    if (!vmsg_init(msg.rate)) return postMessage({type: "error", data: "vmsg_init"});

    if (!vmsg_encode(msg.data)) return postMessage({type: "error", data: "vmsg_encode"});

    const blob = vmsg_flush();
    if (!blob) {
      return postMessage({type: "error", data: "vmsg_flush"});
    }

    postMessage({
      type: "blob",
      data: blob
    });

    break;

Is there a way to do that? A change would also need to be made inside vmsg.c, right?
Thanks

Hi there, I took a stab at making this work and I wanted to check with you if this is the right way to do it.
I haven't create a PR for this because I don't know if you would want to integrate it. But let me know if you would want that.
The idea is that on each buffer we would do vmsg_encode, vmsg_flush and then a new method vmsg_reset.
Inside the worker this would look like this:
  case "data":

    if (!vmsg_encode(msg.data)) return postMessage({type: "error", data: "vmsg_encode"});

    const blob = vmsg_flush();
    if (!blob) {
      return postMessage({type: "error", data: "vmsg_flush"});
    }

    postMessage({
      type: "blob",
      data: blob
    });

    FFI.vmsg_reset()

    break;

This will return the blob for that specific buffer each time.
The changes that I've made are:
For vmsg_encode the size is returned each time:
WASM_EXPORT
int vmsg_encode(vmsg *v, int nsamples) {
  if (nsamples > MAX_SAMPLES)
    return -1;

  if (fix_mp3_size(v) < 0)
    return -1;

  uint8_t *buf = v->mp3 + v->size;
  int n = lame_encode_buffer_ieee_float(v->gfp, v->pcm_l, NULL, nsamples, buf, BUF_SIZE);

  if (n < 0)
    return n;

  v->size += n;
  return v->size;
}

And the new method:
WASM_EXPORT
int vmsg_reset(vmsg *v, int rate) {
  if (v) {
    lame_close(v->gfp);
    v->size = 0;

    v->gfp = lame_init();
    if (!v->gfp) {
      vmsg_free(v);
      return -1;
    }

    lame_set_mode(v->gfp, MONO);
    lame_set_num_channels(v->gfp, 1);
    lame_set_in_samplerate(v->gfp, rate);
    lame_set_VBR(v->gfp, vbr_default);
    lame_set_VBR_quality(v->gfp, 5);

   if (lame_init_params(v->gfp) < 0) {
	 vmsg_free(v);
	 return -1;
   }

  }

  return 0;
}

This basically looks like init but without the memory allocation.
The problem I'm having is that the resulting mp3 blob is not actually usable. I think in vmsg_reset the encoder is not set up correctly.
My questions are:
Do you thing this is a good way to do buffer encoding?
And, what would you recommend we don in vmsg_reset?
Thanks

Damn. I want this too.

Ah I think I'll simply user MediaRecorder. It should record as .webm, right?


week-days-off from js

Hi, I want to select week days off from my code in JS.
Can I do it?
Thanks

Hi,
Yes you can, just add those days in ng-model ?

But I dont want to select day by day, I want to disable the days according to the number (for example: saturdays and sundays with [6, 0])
<multiple-date-picker day-click="checkSelection" sunday-first-day="true" week-days-off="[0,6]" id="fechaVisita" ng-model="fechaVisita"></multiple-date-picker>
This is okay. But my days disable are dynamic. And I need doing from code in js

I don't get it, you want to select disabled days ?!

No, I want to disable the days of the week dynamically from my code in JS.
Because sometimes it will be enabled from Monday to Friday, and sometimes from Monday to Saturday.

just pass a variable instead of just an anonymous array :
var computeDaysOff = function (month) {
    $scope.daysOff = ...;//computation
}

$scope.monthChanged = function(newMonth, oldMonth){
    computeDaysOff(newMonth);
};

<multiple-date-picker month-changed="monthChanged" week-days-off="daysOff"/>

This will compute new days off everytime you change the month. Didn't test it, I wrote it here

THANKKKSS!!!!! I just had to declare a variable in week-days-off
I solved:
<multiple-date-picker day-click="checkSelection" sunday-first-day="true" **week-days-off="daysOff"** id="fechaVisita" ng-model="fechaVisita"></multiple-date-picker>

;)


Switched to a new dump functionality exposed by IQ#.

Simplified the Dump functionality for QuantumSimulator and the functionality use in IQSharp.
This is a part of the set of 3 PRs:
Q#RT side,
IQ#,
Katas.

@kuzminrobin I'm not very familiar with the katas magic part of code, @anjbur usually helps me with reviews on them. Can you please provide a bit of context on this change? Are there going to be any user-facing behavior changes? What about @cgranade's  comment on #688?
(Also, it looks like this PR supersedes #688 - could you please close the other PR to keep things more organized?)

Can you please provide a bit of context on this change?

This change stops calling the functionality (in IQ#) that is being removed as a simplification of the Dump functionality in QuantumSimulator.

Are there going to be any user-facing behavior changes?

No. Nothing that the user's code could be relying on.

What about @cgranade's comment on #688?

I added a reply there that the note has been resolved in this repeated attempt.

could you please close the other PR

Done. Thanks for the reminder! ;-)