[Bug]: Looping Video support

Description
The DeFFcode's FFdecoder API supports -stream_loop FFmpeg parameter using the -ffprefixes attribute by way of its dictionary parameter for decoding infinite looping video frames using just a single video source. But presently, it fails to identify the given looping source and treat them as one regular video with finite duration. This create unwanted problem where video frames are decoded upto a certain duration only once like a regular video file, and then exits automatically without going for another loop, thus defeating the very purpose.
Issue Checklist

[X] I have searched open or closed issues for my problem and found nothing related or helpful.
[X] I have read the Documentation and found nothing related to my problem.
[X] I've read the Issue Guidelines and wholeheartedly agree.

Expected behaviour
Being able to identify the given looping source and not as regular video file, and API should not exit automatically..
Actual behaviour
It identify the given source as regular video file with finite duration, and it exits automatically without going for another loop.
Steps to reproduce
Run this python given below code in Python Code section and you will see FFdecoder API exiting automatically after given video source duration is over. Also if you check the metadata extracted something similar as follows:
{
  "ffmpeg_binary_path": "C:\\Users\\fo\\AppData\\Local\\Temp\\ffmpeg-static-win64-gpl/bin/ffmpeg.exe",
  "source": "D:\\t.mp4",
  "source_extension": ".mp4",
  "source_video_resolution": [
    1920,
    1080
  ],
  "source_video_framerate": 29.97,
  "source_video_pixfmt": "yuv420p",
  "source_video_decoder": "h264",
  "source_duration_sec": 21.03,
  "approx_video_nframes": 630,
  "source_video_bitrate": "4937k",
  "source_audio_bitrate": "256k",
  "source_audio_samplerate": "48000 Hz",
  "source_has_video": true,
  "source_has_audio": true,
  "source_has_image_sequence": false,
  "output_frames_pixfmt": "bgr24",
  "ffdecoder_operational_mode": "Video-Only"
}

The approx_video_nframes value is 630 which exact value of frames in one regular video file.
Terminal log output
No response
Python Code(Optional)
# import the necessary packages
from deffcode import FFdecoder
import cv2

# define `-stream_loop 3` for looping 3 times
ffparams = {"-ffprefixes":["-stream_loop", "3"]}

# initialize and formulate the decoder with suitable source
decoder = FFdecoder("foo.mp4", frame_format="bgr24", verbose=True, **ffparams).formulate()

# grab the BGR24 frame from the decoder
for frame in decoder.generateFrame():

    # check if frame is None
    if frame is None:
        break

    # {do something with the frame here}

    # Show output window
    cv2.imshow("Output", frame)

    # check for 'q' key if pressed
    key = cv2.waitKey(1) & 0xFF
    if key == ord("q"):
        break

# close output window
cv2.destroyAllWindows()

# terminate the decoder
decoder.terminate()

DeFFcode Version
0.2.3
Python version
3.7
Operating System version
all
Any other Relevant Information?
No response

Successfully resolved and merged in commit https://github.com/abhiTronix/deffcode/commit/4a11c342dec246e8372a528af71bda0562875fe4


Property 'AudioContext' does not exist on type 'Window'.

I'm using Ionic2 with Typescript. Unfortunately I couldn't use the cordova plugin version as type definitions are not available yet.
Running the JS version into my Ionic2 project. After following though the installation steps, I see following error.
Property 'AudioContext' does not exist on type 'Window'.
Cannot find name 'webkitAudioContext'.
How do we fix this?

I got the same problem with my Ionic 2 project, in TTSRequest.ts, and used a work around.
I changed the TTSRequest.ts in this way:
declare var AudioContext, webkitAudioContext: any; // ADDED

export class TTSRequest extends Request {

  private static RESPONSE_TYPE_ARRAYBUFFER = "arraybuffer";

  private static audioContext: AudioContext;

  constructor(protected apiAiClient: ApiAiClient, options: IRequestOptions = {}) {
    super(apiAiClient, options);
    // this.requestMethod = XhrRequest.Method.GET;
    this.uri = ApiAiConstants.DEFAULT_TTS_HOST;
    //const AudioContext = window.AudioContext || webkitAudioContext;
    const _AudioContext = AudioContext || webkitAudioContext;

    if (!TTSRequest.audioContext) {
      //TTSRequest.audioContext = new AudioContext();
      TTSRequest.audioContext = new _AudioContext();
    }
  }
...
}

But it's not sufficient because of a missing ApiAiClient.js.map; but, by changing tsconfig.json of my Ionic project for the target key, by using es6 instead of es5, the build generated .mapfiles!
Now I can invoke my API.AI agent!

Same Issue within my Angular4 Application.

ERROR in /.../node_modules/api-ai-javascript/ts/Request/TTSRequest.ts (18,33): Property 'AudioContext' does not exist on type 'Window'.
/.../node_modules/api-ai-javascript/ts/Request/TTSRequest.ts (18,49): Cannot find name 'webkitAudioContext'.

Managed to get it working by modifying the sourcefiles in npm directly, as mentioned above, but this isn't a real solution I think.
In case it matters:
<EMAIL_ADDRESS>
Angular Version:
@angular/cli: 1.0.0
node: 7.8.0
os: darwin x64
@angular/common: 4.0.1
@angular/compiler: 4.0.1
@angular/core: 4.0.1
@angular/flex-layout: 2.0.0-rc.1
@angular/forms: 4.0.1
@angular/http: 4.0.1
@angular/platform-browser: 4.0.1
@angular/platform-browser-dynamic: 4.0.1
@angular/router: 4.0.1
@angular/cli: 1.0.0
@angular/compiler-cli: 4.0.1

same issue here.

I think 'AudioContext' is missing if the target is 'es5', correct me if I am wrong.
Actually sdk defines "@types/webaudioapi" as a dependency but you probably can try to install it manually and make sure that your tsconfig respects type definitions.

I found the solution!
Like in typescript-project demo application, just use "typeRoots": ["./node_modules/@types"] in tsconfig.json (under "compilerOptions").
I have "@types/webaudioapi" under my node_modules folder (sorry, I don't remember if I installed it manually).
Last precision: in tsconfig.json file, under "compilerOptions", I kept "target": "es5".

As @Gugic wrote "@types/webaudioapi" is actually set as a dependency of this package so it is automatically downloaded into your node_packages/@types folder when you "npm install" your project.
That types definitions is obsolete: if you open index.d.ts you will see

// DEPRECATED: use TypeScript 1.5.3.

Why is it deprecated?
Because some of the definitions (ChannelCountMode, ChannelInterpretation, PanningModelType, DistanceModelType, BiquadFilterType, OverSampleType, OscillatorType) are already defined in Typescript lib.dom.d.ts.
Moreover it defines types like webkitaudiocontext which is deprecated and should not be used be used by this package.
So in brief:

This package should not have "@types/webaudioapi" as a dependency.
When point 1 will be completed and is just include (at least) lib.dom.d.ts in tsconfig.json. For example:
"lib": ["es2015", "dom"]

Does this mean that this issue will not be solved until an ES6 version of this client is released?

@RavishankarR no: I think it can be fixed right now.
As a temporary workaround you can delete duplicated typings from @types/webaudioapi (ChannelCountMode, ChannelInterpretation, PanningModelType, DistanceModelType, BiquadFilterType, OverSampleType, OscillatorType) and put "dom" in your typescript config "lib" array.

@Alberto2686 thank you, i approved your PR, in few days i will try to update demo apps, check everything and deploy new release to npm.

@Gugic thanks, when the npm package is ready I will try on my app as a double check.

Published new version finally. Do not forget to call npm prune to remove unneded dependencies from project.

Thanks, works like a charm!
I guess you can close a couple of open issues :)

I encountered this issue recently - I believe a combination of updating to beta21, removing/reinstalling node_modules worked for me.

just remove window and it will work

@mohamedelmancy ,
What about webkitAudioContext?


offer alternative instrumentation codes

the MARC list of instruments at http://www.loc.gov/marc/bibliographic/bd048.html allows only a very rough description of the instrumentation. A much more fine-grained list is the one for UniMARC field 146 defined by IAML. The list is available at http://www.urfm.braidense.it/risorse/searchmedium_en.php. Offering this list for the instrument codes would be an improvement, but it remains to be clarified how the two lists can be made available in the editor simultaneously.

This has been discussed in Mainz, and we agreed on using the IAML values, as the MARC list is basically a subset (using the first two chars).
So why should both lists be available at the same time? That would case confusion (and maybe trouble) in MerMEId.
You could package both and perhaps have a flag somewhere (in eXist) to switch between them.


Using binary serialization where we can

I ran some timings with the dataset from https://github.com/Open-Reaction-Database/ord-data/pull/14, which has ~4300 reactions:

Loading from pbtxt: 22s
Loading from pb: 0.23s

(Update: this also similarly affects writing times.)
This is especially noticeable when reviewing large datasets, since the web editor must load the entire Dataset to get to any contained reaction.
As a short-term fix I'm planning to modify the reviewer mode so that it keeps binary versions of pull request datasets locally for quick loading in the web editor. However, I'm wondering if we should also consider committing a binary version of each dataset alongside the human-readable PBTXT (which will still be considered the ground truth) in the ord-data repo.
WDYT?

This strikes me as a form of caching, and I would be cautious.
Is there any value at all in using pbtxt as an internal format within the editor? Why not all binary all the time?
You may want to see my coming db/ -> Postgres refactor before optimizing the reviews. I'll have a PR on Monday.

I agree we need to be cautious with caching, but if we store pb and pbtxt alongside one another this should be less of an issue and the benefits are quite significant.
There's no reason to use pbtxt internally in the editor as long as "download" always gives the user pbtxt. But I think that except for large enumerations the use of pbtxt in the editor isn't a big deal, and there's a bigger risk of cache drift if the proto changes since we don't have a canonical pbtxt alongside. Moving to binary on the backend wouldn't fix the issue we're having with reviews.

As part of the editor-Postgres refactor, I did away with using files for datasets, including in the review mode.
Now the /review page has a "sync" button that slurps open PRs into Postgres without touching the file system. If the editor uses binaries, then so will reviews, except when you click "sync".
Would that address this problem?

Yes, that would fix the problem; looking forward to your PR. In the meantime I'm going to increase the timeout on the web server to handle loading these large datasets.

(As a side comment: it is extremely unlikely that we will modify the protos in backwards-incompatible ways, so the risk of drift in the editor backend with binary encoding is quite low.)


Compatibility with verbatimModuleSyntax

The compile option verbatimModuleSyntax was added in TypeScript 5.0.
If this option is true, imports of types that are not used in the code or only used as type names will fail without the type modifier.
At the top of the generated OData Client code, many types are imported, including those that are not used.
To avoid compile errors, could you please make sure that unused types are not imported, or add the type modifier appropriately?

@aetos382 thanks for that, I will look into it

Fixed in https://github.com/ShaneGH/magic-odata/releases/tag/v1.1.1
https://www.npmjs.com/package/magic-odata-client/v/1.1.1
There are still 1 or 2 dependencies that are not matched with a type, but are necessary if you have at least 1 endpoint.
Let me know if you still have any issues


Increment version for communication releases

Increment package version after release of Azure.Communication.Identity

API change check
API changes are not detected in this pull request.


[BUG] "Avaliable" spelled wrong on the about page

Describe the bug
...This word is spelled wrong on the about page LOL
To Reproduce
Steps to reproduce the behavior:

Go to https://tams.club/about
See the mistake in the FIRST PARAGRAPH

Expected behavior
Well, it should be spelled right
Screenshots or Links

Environment

OS: Windows 10 (64-bit)
Browser: Firefox
Browser Version: 95.0

fixed #459

Fixed by #529


Android Live processing: You need to look like Travel Monkey in order to continue

Hi there,
For the android side I added a native camera2 implementation for live frame processing so I can do some fun stuff in the app. Processing is done before the picture is taken right during preview completely async.
I changed the Travel Monkey and the app will give you instructions on what to do during recording. You can only continue if you listen to the instructions that Travel Monkey gives you.

Problems I encountered
-The FaceAPI force closes streams I still need afterwards (DetectWithStreamAsync) so I needed to copyasync in 2 places.
-It's hard to get camera frames and get them into the Xamarin project. I think Xamarin could benefit from a generic camera implementation. Camera2 is also very finnicky with the height/width.
-XAML for a fullscreen native renderer with a bottom bar is also finnicky
-The "TakePhotoCommandValidation" command executed in an unexpected order. Almost seemed like a bug in the VS debugger. "PhotoSource =" on line 130 executes after line 134 "await Post()" which is really weird. Debugger.Break(); only triggers once confirming that only 1 thread entered the function. (file: FaceValidationViewModel.cs)
Here is the original repo: https://github.com/ymebrugts/monkey-xamarin-challenge

Thanks for completing the challenge! Fill out this form so we can send you the swag! https://aka.ms/cog-svcs-swag


Roku 7.5 Cannot Access OTA

HDTC-2US most recent firmware (non beta).
After the Roku updated automatically to 7.5, cannot access channels.  "Server not available" - there seems to be a fix in the HDHR Viewer code which works.  Adjusting the timeout.
TIMEOUT = 30 # XML Timeout (s); Default = 30
TIMEOUT_LAN = 5 # LAN Timeout (s); Default = 5
Documented in thread on Plex Website.

Update HDGrandSlam and post back if you still have issues.


Tabular data llm querying with Langchain + AzureML

A simple example of using langchain (in AzureML env) to query a local csv would be helpful.
This example could include the import from langchain.agents import create_sql_agent that uses an agent via from langchain.agents import initialize_agent to query the csv file.

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

ID: eb75e375-ae40-6bec-c8d8-bd778c781905
Version Independent ID: 7e13c7b3-fb3a-9a57-8c50-440b2353e903
Content: Integrate with LangChain in prompt flow - Azure Machine Learning
Content Source: articles/machine-learning/prompt-flow/how-to-integrate-with-langchain.md
Service: machine-learning
Sub-service: prompt-flow
GitHub Login: @jiaochenlu
Microsoft Alias: chenlujiao

@QuetzalCoatlRossi
Thanks for your feedback! We will investigate and update as appropriate.

@QuetzalCoatlRossi
I've delegated this to @jiaochenlu, a content author, to review and share their valuable insights.

@QuetzalCoatlRossi Thanks for your feedback, and I apologize for the late response.
I'd like to understand your use case further.

Are you looking to develop a langchain agent within a prompt flow? Is this langchain agent one of the nodes in your flow?
Or do you want to directly evaluate your langchain agent within the prompt flow?


support compilation.mainTemplate.hooks.requireExtensions

block #2313

@hardfist Have anything block this issue ? (●'◡'●)

@hardfist Have anything block this issue ? (●'◡'●)

since webpack will remove mainTemplate in the future https://github.com/web-infra-dev/rspack/issues/2982#issuecomment-1561191318, we decide not to implement MainTemplate now

Got it, I saw the discussion and the comments. Thank you for your response.
I also found any discussions related to the mainTemplate.hooks.requireExtensions, which could be referenced if needed.
https://github.com/webpack/webpack.js.org/issues/4943


Unable to link to QPDFObjectHandle::addTokenFilter in libqpdf

When attempting to use addTokenFilter, I receive the following error from ld:
/usr/bin/ld: /tmp/ccwhwjYs.o: in function `redactPage(Arguments&, QPDFPageObjectHelper&)':
redact-pdf.cc:(.text+0x367): undefined reference to `QPDFObjectHandle::addTokenFilter(PointerHolder<QPDFObjectHandle::TokenFilter>)'

Hazarding a guess, could this be related to QPDF_DLL missing on that method and/or QPDF_DLL_CLASS on the class?
Running on Debian unstable<EMAIL_ADDRESS>through WSL.

Wow, you're right. I guess no one has tried calling this before. If I fix this right now, I'll have to bump the version to 10.5. Is this blocking you, or do you have a workaround? Is there a reason that you need to call this rather than QPDFPageObjectHelper::addTokenFilter as suggested by the comment? In any case, this is an oversight, and I will definitely make sure the fix is in whatever the next qpdf release is > 10.4.x.

It's not blocking for my specific use-case, so no rush. In the general case, I'm trying to make minimally-invasive edits, which is why I'd prefer addTokenFilter (which can act on streams independently) over addContentTokenFilter (which will always do a coalesce first).

It's not blocking for my specific use-case, so no rush. In the general case, I'm trying to make minimally-invasive edits, which is why I'd prefer addTokenFilter (which can act on streams independently) over addContentTokenFilter (which will always do a coalesce first).

Make sense. Okay, I will definitely make sure this is in the next release that adds interface. I have a few more changes piling up, so I don't think it will be long, though I can never commit to a hard timeframe.


[WFCORE-5845][WFCORE-5838] Problematic Language usage replacement on properties and configuration files.

Supersedes:
https://github.com/wildfly/wildfly-core/pull/5061
https://github.com/wildfly/wildfly-core/pull/5066
Jira issue: https://issues.redhat.com/browse/WFCORE-5845
Included tasks:

Changes to produce new host-primary.xml / host-secondary.xml.
Use "primary" as the default hostname for the primary host controller.
Review and fix affected tests.
Changes for init.d service configuration. We have to use conversion branches to ensure the changes will go to the product branch.
Change Web Console Error pages replacing occurrences. We have to use conversion branches to ensure the changes will go to the product.
Rename Galleon pack feature groups and related files

Jira issue: https://issues.redhat.com/browse/WFCORE-5838

Changes to rename the following environment properties:
jboss.domain.master.protocol, jboss.domain.master.address, jboss.domain.master.port

Integration Jobs:
https://ci.wildfly.org/viewLog.html?buildId=305650
https://ci.wildfly.org/viewLog.html?buildId=305648
https://ci.wildfly.org/viewLog.html?buildId=305646
https://ci.wildfly.org/viewLog.html?buildId=305642
https://ci.wildfly.org/viewLog.html?buildId=305644

Core - Full Integration Build 11593 outcome was FAILURE using a merge of ac597d7538ff7cc71ca38beff1aea946fc48801a
Summary: Tests passed: 1572, ignored: 54; exit code 1 (Step: Build & test full (Maven)) Build time: 00:13:24

@yersan Other than my question re the feature-group names, what's here LGTM.

Core -> WildFly Preview Integration Build 11632 outcome was FAILURE using a merge of 21746b0e02dce92c2808343283c020a614507bfd
Summary: Exit code 1 (Step: Build & test full (Maven)) (new) Build time: 00:05:51

Core -> Full Integration Build 11622 outcome was FAILURE using a merge of 21746b0e02dce92c2808343283c020a614507bfd
Summary: Tests passed: 1572, ignored: 54; exit code 1 (Step: Build & test full (Maven)) Build time: 00:13:28

A new set of Integration Jobs to verify the new Galleon configs:
https://ci.wildfly.org/viewLog.html?buildId=307566 (Galleon Layers)
https://ci.wildfly.org/viewLog.html?buildId=307568 (Microprofile)
https://ci.wildfly.org/viewLog.html?buildId=307570 (Bootable JAR)
https://ci.wildfly.org/viewLog.html?buildId=307572 (linux)
https://ci.wildfly.org/viewLog.html?buildId=307574 (windows)

Core -> Full Integration Build 11472 outcome was FAILURE using a merge of 5c85bc899e875a8d59ffcd94f7a4afe83a642fdc
Summary: Exit code 1 (Step: Build & test full (Maven)) Build time: 00:05:12

Core -> WildFly Preview Integration Build 11635 outcome was FAILURE using a merge of 5c85bc899e875a8d59ffcd94f7a4afe83a642fdc
Summary: Exit code 1 (Step: Build & test full (Maven)) Build time: 00:05:43

Rebased on top of main both topic branches. A new set of Jobs:
https://ci.wildfly.org/viewLog.html?buildId=307697 (Galleon Layers)
https://ci.wildfly.org/viewLog.html?buildId=307699 (Microprofile)
https://ci.wildfly.org/viewLog.html?buildId=307702 (Bootable JAR)
https://ci.wildfly.org/viewLog.html?buildId=307695 (linux)
https://ci.wildfly.org/viewLog.html?buildId=307704 (windows)

@bstansberry All Jobs are green, except the Windows one as expected. Could you take a look and review the Galleon Feature group changes? Thanks


Is it safe to use custom type values in <bind> elements?

More of a query than a bug, although perhaps this could be documented.
I am writing some custom widgets and found it convenient to use a custom value for the type attribute in a <bind> element.  This seems to work, and my custom value gets passed through to the form XML as the data-type-xml attribute on an <input> element.  From inspection of FormModel.types, it looks like this custom type should just be treated as if it were a string.  This is very convenient for me, but reading the ODK XForms spec, there's no mention of custom data types.  Is this feature deliberate?  Do you think it's safe to rely on it?!

Hi Alex,
Yes, this should be safe. Unknown types are treated as string. I've added an issue to the spec. Thanks!

Great, thanks :-)


[BUG] Moving list/sublist up/down is not working

Describe the bug
When in the middle of editing a note, the shortcut for moving list/sublist up or down stopped working. The keyboard/cursor reverts to the behavior when the Outliner plugin is not installed where the editor tries to highlight all the text that occurs before the cursor's position, or after the cursor's position.
When I attempted to troubleshoot it with the Developer Console, I see the message: parseList Unable to parse list: expected some indent, got no indent
To Reproduce

Go to a note in editor or source mode
Open up the Developer Console
Use the default keyboard shortcut for moving a list/sublist up or down to try to move a list or sublist item
Observe the behavior (it reverts to pre-plugin text highlighting behavior)
See error in the Developer Console

Expected behavior
I expect the shortcut for moving list/sublist up down to work, as in moving items.
Screenshots
screenshot
Desktop

OS: OSX 12.2.1
Obsidian Version: 0.14.2

same issue here. Tried with standard theme and also other themes

Noticing the same behavior with the hotkeys not responding.

I've also encountered the problem, but in exactly the opposite manner than the previous report - if I replace all TAB characters from my list with four spaces, the hotkeys start working again,

Same here. None of the Outliner move actions work. And I get better TAB and RETURN behavior if I turn the plugin off.
OBS: 0.14.15
Linux Mint 20.3

Hi all! Thanks for the feedback.
This error message occurs when a list has indentation issues. The plugin tries to parse lists using Obsidian's indentation settings. Please try to reindent your lists and keep the indentation consistent in all lists.
If you think you don't have indentation errors and the plugin isn't working correctly, please provide the markdown files containing the errors.

Hi @vslinko I'm having the same problem!
I believe my lists does not contain any indentation errors; Just tested on multiple lists and pages, even freshly created ones
How can I prove you with the markdown files?

Hi @gioknx
You could create a new bug and attach the file that doesn't work properly.


Achieving square aspect for Facetgrid heatmaps

import xarray as xr
import numpy as np
%matplotlib inline

array = xr.DataArray(np.random.rand(20,5,2,1), dims=['a', 'b', 'c', 'd'])
array.plot(x='a', y='b', col='c')

Problem description
How can I force these heatmap cells into squares rather than rectangles? I'm aware that it is possible to pass kwargs through to Seaborn's FacetGrid, but setting square=True or subplot_kws={'square":True} both raise AttributeError: Unknown property square.

I don't know that we need to add square=True as a supported argument but consistency with seaborn could be a good thing I guess. Thoughts?

I like the idea. I would prefer aspect_square=True to be more clear.

Thoughts on having axis_aspect as the kwarg name?

I would prefer axis_aspect to allow other than square aspects.

In that case, #2427 is ready to review

Closing since PR didn't get traction, plot has too many kwargs and it's easy to do this otherwise.


Audio Player not play last 8 seconds when user start play track not from the beginig

When user start play track from the begining - everthing is ok.
But if user rewind the track (for example 10 secenods after begining)  Player wrong calculate  length of track. and progress bar  have wrong position. mistake is about 8 seconds.

duplicate #1056

@druidoff Closing old issues. If you'd like to reopen this, let us know. Thanks!


:diamond_shape_with_a_dot_inside:

To simplify command running:
. help vs CFPBot help, eg

👍 man, I love this alias. i could not type 'cfpbot' to save my life.

How do y'all feel about "please" instead of "." as an alias? It makes it a little more human.
please help
please define PMO
please animate me kittens

I feel no need to be more human to a bot.
On a more serious note, though, that could become problematic because people actually do start sentences with the word "please". So in conversation, if someone said something, and then another person responded "please help"... that'd be weird.
I'm not violently opposed to it or anything... I kind of like it. But I also appreciate the efficiency of "." for purposes of running bot commands

+1 to marc.  Though I would like to maintain cfpbot as an alias as well to make it more explicit.

@jonathanwcrane Unfortunately hubot only allows a single alias. Currently its name is Molliebot with an alias of cfpbot so either works. This PR would change it to Molliebot with an alias of .

This also returns it to the behavior of the previous chat server, where we addressed the bot by either the / alias or the honorary name (like Molliebot). "cfpbot" has never been an established thing, and I agree with Bill... it's unweildy

I kind of prefer please, to be honest.
How difficult would it be to add support for multiple aliases?

I think please is good but it's not so different that it won't cause unexpected behavior.

please is a non-starter for the reason Marc stated: People start actual sentences with it.

Please, @Scotchester.

I just searched our Mattermost logs for "please" and I only see one instance of someone starting a statement with it.
In fact, @imuchnik once failed to get Molliebot to perform a command (she said Mollie instead of Molliebot and she followed up with: "Mollie, please"). "Please" seems intuitive to me.
We used to alias it to "/" and no one except Marc used that alias. I see the same thing happening with "." I hope people occasionally accidentally trigger the bot by starting sentences with "please" because it will remind folks that the bot has an alias.

☝ I never knew it was aliased to /, and the old ircer in my rebels against anything that's not my client responding to /.

@contolini I like the spirit and intent, but I think you'll annoy people if they try to write "Please …" as a regular message and get back bot responses.
I suppose we could try it for a bit and see how it goes.

I'm recommending the boringest of boring: bot

how about sudo
I also like guvnah
please and bot are fine too. I don't feel strongly enough about any of them to argue.

Let's try 'em all and see which one works best. For science. See #35.


Firefox file input doesn't work as expected

The page with file input example doesn't work properly in Firefox (on Windows, didn't test on other OS)
https://davedawkins.github.io/Sutil/#examples-file-inputs

My test cases so far have been Firefox and Chrome on Mac. Will look into Windows etc

Firefox on Ubuntu 20.04 doesn't work as well

Thanks! Looking into this over the weekend
On Sat, 22 May 2021 at 17:05, Angel D. Munoz @.***>
wrote:

Firefox on Ubuntu 20.04 doesn't work as well
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/davedawkins/Sutil/issues/29#issuecomment-846428792,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACFV3I2OEOWA7NDC4XMQHTTO7I3HANCNFSM43RPSJIA
.


style: replace broken glyphs with font-awesome

Glyphicons stopped working recently, not sure why, but let's get rid of
them and double down on font-awesome that we use a lot more in the
codebase. There's only a few instances of glyphicons and they all are
broken ATM.
Also a few other minor style tweaks
before

after

There's a new table chart coming soon. Hopefully we don't have to have another fix once the drop-in replacement is merged.
P.S. I was using react-icons for the new table chart. With tree shaking properly configured, these svg icons packs should work very well.

@ktmud SIP-34 provided icons as SVG, they're starting to land. Consistency would be great eventually. Between glyphicons, SIP-34 svg, react-icons, font-awesome, ... Maybe we need a superset-ui-icons package :)
@etr2460 it'd be nice to be able to grep across all superset code. I git grep a lot and totally miss out on other repos. Also noticed that the documented i18n command currently doesn't inventorize the strings in superset-ui*, I spent a bit of time trying to fix this messing with babel.cfg (the python i18n babe-thing, not the JS one), with symlink, but nothing worked. Now I'm thinking git submodules OR a big mono-repo may work.

I agree @mistercrunch, not having i18n work for superset-ui is a real pain :/ That said, getting all the strings working/fixed in the main repo is enough of a task, not even considering the side repos. There are a lot of mistaken usages of t strings that i've been meaning to clean up


Question: How to use menuflyout in CommandBarFlyout with touch screen

If the mouse pointer is placed on MenuFlyout in a mouse environment, it will automatically open and work fine. However, in a touch screen environment, it must be clicked to expand MenuFlyout, but CommandBarFlyout will automatically close at this time, so MenuFlyout cannot be expanded in a touch screen environment. I want to know if there is any way to make the touch screen work properly?
Here is mouse:

Here is touch screen:

Here is my example code:
    <CommandBarFlyout x:Name="FileFlyout"
                      Placement="RightEdgeAlignedTop">
            <AppBarButton Label="Open with..."
                          Name="OtherOpenMethod"
                          x:Uid="OtherOpenMethod"
                          Icon="AllApps">
                <AppBarButton.Flyout>
                    <MenuFlyout x:Name="FileOpenMethodFlyout">
                        <MenuFlyoutItem />
                        <MenuFlyoutItem />
                    </MenuFlyout>
                </AppBarButton.Flyout>
            </AppBarButton>
     </CommandBarFlyout>

That's a bug.

This definitely feels like a bug. Seems that CommandBarFlyout is a bit too aggressive in closing when it loses focus. I tried changing its ShowMode and also tried setting the button's AllowFocusOnInteraction property to False but neither helped.
@zhuxb711 one thing to try is replacing your AppBarButton with attached Flyout with:
<AppBarElementContainer>
    <MenuFlyoutSubItem Text="Open with..." Icon="AllApps">
        <MenuFlyoutItem />
        <MenuFlyoutItem />
    </MenuFlyoutSubItem>
</AppBarElementContainer>

I saw two problems with this approach but am curious if this might work for your scenario.

The icon didn't render. I believe this is by design because the MenuFlyoutSubItem isn't in a MenuFlyout. Seems that we have not documented this limitation but I recall discussing this decision  in the past.
The content of the MenuFlyoutSubItem is rendering behind the CommandBarFlyout in z order. I think that's a bug although there may be technical limitations this behavior stems from.

Please give this a try and we may need to open some follow-up issues to track all this.

@YuliKl
I tried it according to your method, but there are some problems, including: the icon does not render correctly, it is shorter than the entire CommandBarFlyout.
In addition, although it works correctly under the touch screen, it cannot be closed once it is expanded
like this:

@YuliKl Is there any progress on the fix for this issue?

@llongley any thoughts on a fix for this issue ?

@YuliKl
@ranjeshj
Regarding this issue, is there any solution available?

Is there any progress now? When will this be fixed?

@zhuxb711 I got some time and looked into this issue today.  The bug in CommandBarFlyout is caused by this line. Normally when we attach the close function to the secondary item's click events we ignore the buttons which have flyout to prevent the closing behavior you are seeing. However it looks like we forgot to include that in this particular case.  I will send out a PR to fix this soon, but if you need a work around to use before we publish a new Winui 2 prerelease/release let me know.  You could probably work around the bug by inserting your menu items with flyouts into the collection after the fact so that they are treated by the vector changed code path which has the bug fix.

There is an additional issue where invoking a button from a flyout of a secondary command (with any input) doesn't close the CommandBar.  Fixing this will be a little bit trickier,  I've opened issue #3052 to track

Clicking a button with flyout will still cause the commandbarflyout to close in 2.5.0-prerelease.200923002
@StephenLPeters

Sorry, now I can confirm that the problem has been properly resolved


Antman meditates on the GCD, feat. Samurai

Prob relevant to @Rjb99 too, this requires 5.1 so worth noting when we flag the jobs supported

this is fine.


feat: Add sideloaded kit example

Instructions

PR target branch should be against development
PR title name should follow this format: https://github.com/mParticle/mparticle-workflows/blob/stable/.github/workflows/pr-title-check.yml
PR branch prefix should follow this format: https://github.com/mParticle/mparticle-workflows/blob/stable/.github/workflows/pr-branch-check-name.yml

Summary
This PR includes a custom sideloaded kit that will fire on every mapped mParticle method.  The sideloaded kit was placed as a sibling of higgs-shop-sample-app.
Testing Plan

Launched Higgs app and checked the console to see if the sideloaded kit properly console.log'd mapped methods.  See example below:

Master Issue

Closes https://go.mparticle.com/work/SQDSDKS-5116

Seems like the sideloaded kit wasn't checked in, just the app changes?

Seems like the sideloaded kit wasn't checked in, just the app changes?

@einsteinx2 - this was included initially but alex had some feedback about moving it, and it was dropped in one of the commits.  it has now been added back after testing.

This is blocked by a release for the web sdk to support the feature.  Once that has been released, we can merge this upon approval.


proposal: please consider another lib than https://github.com/spf13/cast

You have a proposal, explain it!
This lib is still maintained but the way it converts integer is very strange
https://github.com/spf13/cast
Describe the solution you'd like
a conversion of -1 | toUint should lead to error
Additional context
Please take a look at https://github.com/ccoVeille/go-safecast
I'm not suggesting to use my lib, but you might see some other examples.
Of course, I would be honored if you consider my lib
Code of Conduct

[x] I agree to follow this project's Code of Conduct

Hello, thanks to have opening an issue.
I have try with v1.0.0-rc.2 and the template {{ toUint -1 }} result to the error defined here https://github.com/spf13/cast/blob/master/caste.go#L527 :
template: test:1:8: executing "test" at <toUint .V>: error calling toUint: unable to cast negative value

Can you check your code and give me the part impacted

I reported the issue by reading the documentation
The problem I found was here
https://github.com/spf13/cast/blob/487df0093482b2ca1c00cb3b92e30899c37038a1/caste.go#L287
A uint can overflow int64
you can take<PHONE_NUMBER>854775807 that is the max and add 1, so<PHONE_NUMBER>854775808 using toInt or toInt64 on it, should cause errors, but it doesn't.
I reported by using the example of a negative number because it was simpler to explain, but I wrongly assumed negative number could cause a problem too.
But please note, I might be wrong again 🤕

@ccoVeille Hi 👋 After some investigation, I believe it would be better to incorporate the casting directly into sprout itself to only have what we want and how we want it !

I'm fine with this.
You can copy paste my code its on MIT license.

Feel free to add an header of the internal/cast package to mention your works and this discussion:
// This package provides functions for type casting safely and efficiently.
// Addressing gosec G115 and cwe-190 Integer Overflow or Wraparound.
//
// This code are copied from https://github.com/ccoVeille/go-safecast after
// discussing with the author on https://github.com/go-sprout/sprout/issues/76.
// The original code is licensed under MIT License.

Thanks 🙏

Can you remind me why you don't want to use my lib?
You are already using other libs
    dario.cat/mergo v1.0.1
    github.com/Masterminds/semver/v3 v3.3.1
    github.com/google/uuid v1.6.0
    github.com/mitchellh/copystructure v1.2.0
    github.com/spf13/cast v1.7.0
    github.com/stretchr/testify v1.10.0
    golang.org/x/crypto v0.29.0
    golang.org/x/text v0.20.0
    gopkg.in/yaml.v3 v3.0.1

Hi, the idea arent to "don't use your lib", is to limit and reduce the number of dependencies. spf13/cast is currently imported for just a few methods. The library ccoVeille/go-safecast only supports number casting at the moment. To add other casting methods like ToString, ToBool, or ToDuration, Sprout would need to depend on one additional library (+1 deps).
To eliminate this, there are two possible solutions:

Implement all required casting methods in go-safecast and fully replace spf13/cast (+0 deps).
Implement only the necessary functions directly in Sprout, reducing the number of dependencies without requiring significant effort on your part. (-1 deps)

Thanks for replying me. It's clearer.
I had planed and it's almost ready to cast as bool and string (for string, I will have to check what spf13/cast does)
I will also check what spf13/cast does for duration. It's unclear to me

@ccoVeille, have you had a chance to look into adding the missing cast method to safe-cast?

Not yet, I worked on my own roadmap and added the things I needed.
I released v1.5.0 yesterday. My lib is now stable.
Please open an issue on my project with the exact need.
I don't know yet if I will support everything.
My lib is focused on number overflows.


There is a translation issue on the checkout page.

Bagisto Version: Master
Steps To reproduce--
1. Log in as a customer.
2. Change the app locale in Arabic
3. Click on any product.
4. Try to buy the product.
Expected result: There should not be any translation issue on the checkout page.
Actual result: There is a translation issue on the checkout page.Please find the screenshot Here.

This is not an issue, you have not added an Arabic language title from the configuration,


Support both text and html mails

Hi @c-rack, what if the templates were .eex files that were rendered  on send_email_to_user?
then it wouldn't matter the format as long as the template name/type was defined in the config

Good idea @jxs !
In my patch, I just tried to add the functionality that I needed with minimal code change.
For EEx templates, we should open an issue to discuss the details. Do you want to open it or shall I?

i had already talked about that with @trenpixster ehe, imho we should open an issue to discuss that yeah, can you open it then pls? :)

Closed in favor of #18


extend API with streaming capabilities

The connection space model leads to asynchronous processing of information. A sequential HTTP API is not capable of handling such bidirectional information exchange. Thus the API needs to be able to stream information into both directions. A quick look on gRPC was promising. go-kit provides a gRPC transport. We need to check if this is sufficient. Once we know how to solve this technically the API needs to be extended with this capabilities to serve the neural network streams.
See

https://github.com/go-kit/kit/tree/master/examples/addsvc
https://godoc.org/golang.org/x/net/websocket

Closing in favour of #190.


ISD Tool UI: Integrate RGA base layer fields within the ISD Tool UI

PR Details
Description
Add RGA base layer fields to the reference point marker dialog.
Add RGA toggle to indicate whether include the RGA fields in the geojson and allow user input.
Populate layer with fields values and update geojson features with those fields.
Update depositor to read fields from geojson features and validate whether the fields are required.
Update message type dropdown to include RGA.
New UI look:
RGA Enabled:

RGA Disabled:

JSON with RGA enabled:

JSON without RGA (RGA Disabled)

Related GitHub Issue
NA

Related Jira Key
https://usdot-carma.atlassian.net/browse/MAP-154

Motivation and Context
Map tool RGA support

How Has This Been Tested?
Local integration testing

Types of changes

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

Checklist:

[ ] I have added any new packages to the sonar-scanner.properties file
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

I double checked the J2945 standards, and the TimeOfCalculation/ContentDateTime should be integers. Could you change them from strings to integers in the depositor.js? Sorry I missed that!

LGTM


Uncaught SyntaxError: Unexpected token )  — When adding a new post / movie:

On example-simple, example-movies, example-forum, example-customization packages I get this error, when adding a post/movie (on both Master & Devel branch).
Uncaught SyntaxError: Unexpected token )

Could it a be a mismatch, that it needs to be a closing curly brace } instead?
I can't find any problem in PostsEditForm.jsx component but might not be related this issue?

It would help to see the questionable code ;)


Error while building "pkg/importer/importer.go:191:18: undefined: todoImp"

I just tried building the latest code from google source and it failed with this error:
perkeep.org/pkg/importer
# perkeep.org/pkg/importer
pkg/importer/importer.go:191:18: undefined: todoImp
Error building main binaries: exit status 2
exit status 1

Looks like commit 2c05f1a3d9adbe3b5a6b4b25a4e46139ee60351e caused the issue.
See also changeid I140ffb40456ec802844584568d2f1a7a38b26e41
Building from the commit before works

It wasn't your build environment. @mpl texted me after midnight (I was fast asleep) saying I broke it too. I just fixed it in b0c1faccfe54b97055b19eac4f9030c43f2113bd.

Great. No I am trying to find out why my perkeepd looks for the keyring in .config/camlistore. Can that be a problem on my side?

Thanks for your help.
I replaced camlistored with the a newly built perkeepd. Running it threw an error that I have ~/.config/camlistore move to ~/.config/perkeep. Starting it again failed with an error that the keyring ~/.config/camlistore was not found. I will try to reproduce this and if I know more about it I will create an issue or fix this.


Replace hard-coded auth token valid duration with value from env variable

Fix issue 640

Hi @arberiii , thank you so much for working on this!
I should be more clear on the issue. This refactor requires you to change
var authSet = wire.NewSet(
	provider.NewJwtGo,

	wire.Value(provider.TokenValidDuration(oneWeek)),
	provider.NewAuthenticator,
)

to
func authSet(tokenValidDuration provider.TokenValidDuration) wire.ProviderSet {
    return wire.NewSet(
	provider.NewJwtGo,

	wire.Value(tokenValidDuration),
	provider.NewAuthenticator,
    )
}
func InjectRoutingService(
...
tokenValidDuration provider.TokenValidDuration
) {
    wire.Build(
		wire.Bind(new(fw.StdOut), new(mdio.StdOut)),
		...
		wire.Bind(new(fw.GraphQlRequest), new(mdrequest.GraphQL)),

		observabilitySet,
		authSet(tokenValidDuration),
}

Ideally, we want to pass 5m, 2h, 5d, 1w, ... so that the config is highly readable like the following one:

Hi @alldroll, @arberiii is new to the team. Next time, when people are confused, please provide an example to clear communicate your expectations.

I'll implement the struct thing @alldroll mentioned to help the next refactor.

InjectRoutingService

I modified in that way but when I run wire command then it returns unknown pattern at the line

authSet(tokenValidDuration),


steven: changed hotbar scrolling to work like vanilla

Hey there! I've been enjoying Steven lately since it runs well on my Linux laptop, but it bothered me that the hotbar scroll functionality doesn't match vanilla, especially since I can't use numbers.
I haven't had any issues while testing it, it's just a value change.
Let me know if this is something you do or do not want in Steven.

This cause the hotbar to loop around when scrolling? Didn't think vanilla did that?

I think you should play vanilla more.

Going to merge manually to remove the merge commit, thanks


[Beta] Default Project view should be changed

Issue Description
@QuincyLarson The default project views i.e. when there are only two panes on the workspace viz. Map and main, the view is divided in the ratio 1:1(map and main occupy equal width). e.g. Implement the Serialization of a Passport User or any project view.
The default view:

The Proposed default view:

I think we should give the main section more width as shown in the screenshot above which will greatly increase the readability and overall UX of a user.

@vkWeb Thanks for the feedback. Yes - I agree - when there are only two panes, the lesson pane should have most of the width by default (users should still have the freedom to drag the map to expand it).

Trying this for the first time.
Hope I succeed

@rajatkantinandi Great! Please keep us posted on your progress on this.

@rajatkantinandi We'll be waiting for your PR! :)

I think changing the common/app/Panes/redux/util.js and adding following code in the function get DividerLeft will make the map 33% & main pane 67% which by default when we have 2 panes only.
I am unable to test this feature.
Can anyone test it & confirm??
  if (numOfPanes === 2 && numOfPanes !== index + 1) {
    dividerLeft = 33;
  } else if (numOfPanes > 1 && numOfPanes !== index + 1) {
    dividerLeft = (100 / numOfPanes) * (index + 1);
  }

I am having trouble setting up the freecodecamp clone website run on my pc.
I am using VSCode coupled with bash on windows as my integrated terminal.
I have npm, node,  mongodb installed also eslint.
npm install works but npm run shows bunch of errors & having trouble fixing them.
Also having trouble setting up mailhog.
Where can I get a detailed guide to setup the whole process?
Can anyone provide some links??
I can't test my changes.


Added comments for username login to example config

I was having some trouble setting the project up. I was expecting username login to work out of the box.
The errors I got were confusing. First I got no matching identifier and later invalid username or password.
Especially since the README mentions logging in with username and password.
I had to dive into the code to find the missing options.
To avoid this kind of confusion I thought mentioning the necessary options in the example config could help new users and prevent frustration.

Yeah, quite a bit has changed and the documentation isn't quite up to date. I really need to provide an example project that uses the more secure defaults but also explain how to use the username approach. I'll look into the MR later and add some more docs.


feat(GlobalHeader): Enterprise view

Overview

Adds enterprise dropdown header variant to our GlobalHeader.

I also reorganized our GlobalHeader stories to be split by user type. The previous version took a very long time to load and was unwieldily.
** Added disco as reviewers to check out the storybook + ensure their experiments are still working as intended
PR Checklist

[x] Related to designs: here + here
[x] Related to JIRA ticket: [web-2274]
[x] I have run this code to verify it works
[x] This PR includes unit tests for the code change
[x] This PR includes testing instructions tests for the code change
[x] The alpha package of this PR is passing end-to-end tests in all relevant Codecademy repositories

Testing Instructions

Enterprise header should match the designs on mobile + desktop view.
All header variants should be represented in the new stories.
Headers should look + act identically to previously in both the monolith + portal PR envs.

PR Links and Envs

Repository
PR Link
PR Env

Monolith
Monolith PR
Monolith Env

Portal
Portal Link
Portal Env

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.290-alpha.042572.0@codecademy/gamut-labs@35.7.0-alpha.042572.0@codecademy/gamut@52.1.0-alpha.042572.0@codecademy/monaco@0.7.9-alpha.042572.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://64077e0d3c9b2400b0d5589c--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.290-alpha.281c70.0@codecademy/gamut-labs@35.7.0-alpha.281c70.0@codecademy/gamut@52.1.0-alpha.281c70.0@codecademy/monaco@0.7.9-alpha.281c70.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6407910825d779100b0c2c0f--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.290-alpha.14c854.0@codecademy/gamut-labs@35.7.0-alpha.14c854.0@codecademy/gamut@52.1.0-alpha.14c854.0@codecademy/monaco@0.7.9-alpha.14c854.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6407a05d085b7300bb38d6d6--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.291-alpha.0fc27b.0@codecademy/gamut-labs@35.8.0-alpha.0fc27b.0@codecademy/gamut@52.2.0-alpha.0fc27b.0@codecademy/monaco@0.7.10-alpha.0fc27b.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6407a55c8f58c905e386d6e9--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.291-alpha.eb21df.0@codecademy/gamut-labs@35.8.0-alpha.eb21df.0@codecademy/gamut@52.2.0-alpha.eb21df.0@codecademy/monaco@0.7.10-alpha.eb21df.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6407abbcabb5240b2f9a24a2--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.291-alpha.dbf97c.0@codecademy/gamut-labs@35.8.0-alpha.dbf97c.0@codecademy/gamut@52.2.0-alpha.dbf97c.0@codecademy/monaco@0.7.10-alpha.dbf97c.0<EMAIL_ADDRESS>
📬Published Alpha Packages:@codecademy/gamut-kit@0.6.291-alpha.feb5b3.0@codecademy/gamut-labs@35.8.0-alpha.feb5b3.0@codecademy/gamut@52.2.0-alpha.feb5b3.0@codecademy/monaco@0.7.10-alpha.feb5b3.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6408fec9ea20d0187a3121c2--gamut-preview.netlify.appDeploy Logs

🚀 Styleguide deploy preview ready!https://64090bb3d23a651f3ab0983d--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.291-alpha.44abef.0@codecademy/gamut-labs@35.8.0-alpha.44abef.0@codecademy/gamut@52.2.0-alpha.44abef.0@codecademy/monaco@0.7.10-alpha.44abef.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://64091021b8c2152433022feb--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.291-alpha.158ecd.0@codecademy/gamut-labs@35.8.0-alpha.158ecd.0@codecademy/gamut@52.2.0-alpha.158ecd.0@codecademy/monaco@0.7.10-alpha.158ecd.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://640b68f4e6e0e00f72989199--gamut-preview.netlify.appDeploy Logs

🚀 Styleguide deploy preview ready!https://640b760c27b70c1d163107b9--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.291-alpha.36c179.0@codecademy/gamut-labs@35.8.0-alpha.36c179.0@codecademy/gamut@52.2.0-alpha.36c179.0@codecademy/monaco@0.7.10-alpha.36c179.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6410816da614940fae0530ec--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.291-alpha.8029db.0@codecademy/gamut-labs@35.8.0-alpha.8029db.0@codecademy/gamut@52.2.0-alpha.8029db.0@codecademy/monaco@0.7.10-alpha.8029db.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6410981b64f2bb00be5e9028--gamut-preview.netlify.appDeploy Logs


bf: refuse backbeat PUT if bucket is not versioned

Both data and metadata routes now return InvalidBucketState (as HTTP 409)
if bucket versioning is not enabled, to prevent various issues linked with
putting versions on a non-versioned bucket.

@ironman-machine try

Hello @jonathan-gramain
"try": Success: Try build successfully launched on 'http://ci.ironmann.io/gh/scality/Integration/14614' with the following env. args:
{
    "SCALITY_INTEGRATION_BRANCH": "ultron/master",
    "REPO_NAME": "S3",
    "DEFAULT_BRANCH": "master",
    "SCALITY_S3_BRANCH": "bf/S3C-821-enforceVersionedBucketOnBackbeatTarget"
}

End to end passed here http://ci.ironmann.io/gh/scality/Integration/14615


Question: Use with Shibboleth possible?

Is it possible to use this for Shibboleth Authentication? Specifically, I would like to use Shibboleth Auth with an existing IdP entirely via configuration within my MVC 5 app (and not rely on Shibboleth SP installation on the web server).
I'm new to this realm so kind of bit stumped as to how to go about this.

IdentityModel is a helper library for missing security related features in .NET. It does not implement security protocols such as SAML2-p. Check this instead:
https://github.com/KentorIT/authservices

Will take a look, thanks!


Fixed Windows tests

Fixed #217 by converting all path separators to backslashes for the
expected values for Windows in ApplicationDirectoryProviderTest.

@ben-muldrow, please test this pull request on your machine and then either respond with continuing issues or ask me to merge it.

I tested your pull request on my machine and received no 'failed's in the report (here). As far as I can see by the updated XML file, there are no fatal errors since the path separators were fixed.


Need to give access at the container level

To be able to see the contents of the CDM folder, I had to add the rights at the container level in the Datalake. Is this specific to my environment or does the documentation need to be updated?

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

ID: 650d0a04-539d-cfad-98cf-2f5ecff2e05f
Version Independent ID: ea10d470-a231-86a2-cddd-d03abf249ca7
Content: Connect to an Azure Data Lake Storage Gen2 account with a service principal - Dynamics 365 Customer Insights
Content Source: ci-docs/audience-insights/connect-service-principal.md
Service: customer-insights
Sub-service: audience-insights
GitHub Login: @adkuppa
Microsoft Alias: adkuppa

Hello tbienvenu,
The above documentation link refer to the administration of a CI environment and connect to Azure resources using service principal access like connecting to the storage account etc. It does not mention connecting to the storage account in data sources. In this documentation , we also mention the roles the user creating the data sources should have i.e.,  either of the storage blob data reader/contributor/owner permissions, along with granting CI service principal access.
Please let us if additional information is needed.
Thank you!
Aditya Kuppa
Customer Insights team


BatchNormalization

Hi,
I have a model with BatchNormalization layer.
Model -
model-quant.tflite.tar.gz
I get the following error when compiling for edgetpu -
Edge TPU Compiler version 14.1.317412892
ERROR: :334 bias->type != kTfLiteInt32 (INT8 != INT32)
ERROR: Node number 2 (CONV_2D) failed to prepare.

ERROR: :334 bias->type != kTfLiteInt32 (INT8 != INT32)
ERROR: Node number 2 (CONV_2D) failed to prepare.

Compilation failed: Internal error

Internal compiler error. Aborting!

Any possible way to have a workaorund for this issue?
The layer is simply a Mul and Add opp in tflite.

Humn, I inspected the model and it looks okay, anyways you can show your quantization process?

My quantization,
converter = tf.lite.TFLiteConverter.from_keras_model(model)
input_shape = model.input.shape
inference_dtype = tf.uint8

converter.optimizations = [tf.lite.Optimize.DEFAULT]
np.random.seed(20)

def representative_dataset_gen():
    for _ in range(100):
        # Get sample input data as a numpy array in a method of your choosing.
        yield [np.array(np.random.randn(*input_shape), dtype=np.float32)]

converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
converter.inference_input_type = inference_dtype
converter.inference_output_type = inference_dtype

converter.representative_dataset = representative_dataset_gen

@prashant45 oh, may I ask what tensorflow version you're using?
For 2.3 and above, I believe you'll need to set the batchsize or else it'll will not be static. It is not ideal since the visualizer like netron doesn't shows that the inputs in static.
model.input.set_shape((1,) + model.input.shape[1:])
converter = tf.lite.TFLiteConverter.from_keras_model(model)

Although the error still seems a different than what I expected. It is a possible bug

@Namburger this problem was solved when I use a smaller input size. For example, [1, 4000, 1].
However, I incorporated some custom normalization layers for a new model. This is is not compiling.
model-gln-quant.tflite.tar.gz

@prashant45 did you added the line to make the batch size static as I suggested?

@Namburger no, I just used a smaller input size

@prashant45 did you added the line to make the batch size static as I suggested?

@Namburger no, I just used a smaller input-size

@prashant45 lol can you try it? that was my suggestion.

@prashant45 lol can you try it? that was my suggestion.

I tired it and it did not work. Otherwise I would had mentioned it. :P

I see, can you possibly attach the code to reproduce your model? it is rather weird that I've not seen this issue before

I see, can you possibly attach the code to reproduce your model? it is rather weird that I've not seen this issue before

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
import argparse
import numpy as np
import tensorflow as tf

N = 256
L = 20
B = 256
H = 512
P = 3
X = 2
R = 4
C = 2

def model(batch_dim, input_shape):

    inputs = tf.keras.Input(shape=input_shape, batch_size=batch_dim, name="input", dtype=tf.float32)

    # Encoder
    encoder = tf.keras.layers.Conv1D(filters=N, kernel_size=L, strides=L // 2, use_bias=False, activation="relu", name="encoder_conv")(inputs)  # [B, sequence_len, channel_size]

    # Separator (Temporal ConvNet)
    layer_norm = tf.keras.layers.BatchNormalization(batch_size=batch_dim, name="layer_norm")(encoder)

    bottleneck_conv = tf.keras.layers.Conv1D(filters=B, kernel_size=1, use_bias=False, name="bottleneck_conv")(layer_norm)
    next_out = bottleneck_conv

    # Temporal block
    for r in range(R):
        for x in range(X):

            now_block = "block_{}_{}_".format(r, x)
            block_input = next_out

            next_out = tf.keras.layers.Conv1D(filters=H, kernel_size=1, use_bias=False, activation="relu", name=now_block + "1x1_conv")(block_input)
            next_out = tf.keras.layers.BatchNormalization(name=now_block + "norm_one")(next_out)
            next_out = tf.keras.layers.SeparableConv1D(filters=B, kernel_size=P, strides=1, dilation_rate=2 ** x, activation="relu", padding='same', name=now_block + "separable_conv")(next_out)
            next_out = tf.keras.layers.BatchNormalization(name=now_block + "norm_two")(next_out)

            next_out = tf.keras.layers.Add(name=now_block + "residual_add")([block_input, next_out])

    score = tf.keras.layers.Conv1D(C*N, kernel_size=1, use_bias=False, name="mask_1x1")(next_out)
    score = tf.keras.layers.Reshape(target_shape=(C, -1, N), name="score_reshape")(score)  # (C, K, N) -> K can be dynamic because of dynamic input_size
    est_mask = tf.keras.layers.Activation("relu", name="est_mask")(score)

    # Decoder
    mixture_w = tf.expand_dims(encoder, axis=1)
    source_w = tf.keras.layers.Multiply(name="source_weights")([mixture_w, est_mask])
    est_sources = tf.keras.layers.Dense(L, use_bias=False, name="basis_signals")(source_w)

    return tf.keras.Model(inputs=inputs, outputs=est_sources, name="Conv-TaskNet")

if __name__ == "__main__":

    parser = argparse.ArgumentParser()

    parser.add_argument('--save-dir', type=str,
                        help='dir to save the model')

    parser.add_argument('--model-name', type=str,
                        help='model name')

    parser.add_argument('--input-size', type=int, default=8000,
                        help='input size in samples')

    args = parser.parse_args()
    if not os.path.exists(args.save_dir):
        os.makedirs(args.save_dir)

    model = model(batch_dim=1, input_shape=(args.input_size, 1))
    model.compile(optimizer="adam", loss="mse")

    # converter_model.input.set_shape((1,) + converter_model.input.shape[1:])

    converter = tf.lite.TFLiteConverter.from_keras_model(model)

    converter.optimizations = [tf.lite.Optimize.DEFAULT]
    np.random.seed(20)

    def representative_dataset_gen():
        for _ in range(100):
            # Get sample input data as a numpy array in a method of your choosing.
            yield [np.array(np.random.randn(*model.input.shape), dtype=np.float32)]

    converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS]
    converter.inference_input_type = tf.uint8
    converter.inference_output_type = tf.uint8

    converter.representative_dataset = representative_dataset_gen

    open(os.path.join(args.save_dir, args.model_name + "-uint8-quant.tflite"), "wb").write(converter.convert())
    print("Full Integer compilation successful")

I am having the same error when I save models during on_train_begin(), thus only with the initialized weights. When training the model for at least one epoch and saving it again, the error does not appear anymore. A bit strange.

I am having the same error when I save models during on_train_begin(), thus only with the initialized weights. When training the model for at least one epoch and saving it again, the error does not appear anymore. A bit strange.

What fixes the above error for me is when I initialize the bias (in case the layer has use_bias=True) with anything else other than "zero".
x = Conv2D(8, kernel_size=3)(x) # ERROR: :334 bias->type != kTfLiteInt32 (INT8 != INT32)
x = Conv2D(8, kernel_size=3,  bias_initializer=tf.keras.initializers.GlorotNormal()) # works