BlockEditorView on page load

Completed:

factory_base block now shown on page load.
save/delete buttons update properly (model-side storage not fully implemented)
displaying the block definition
Preview, generator stub, and block definitions populate correctly

In progress:

Updating on changes to editor workspace

Dependencies (necessary to fully test):

library sets / block library / blockdefinition object functions

NOTE: Rearranged some of the HTML (pretty trivial, but added lots of additions/deletions in this PR's diff that aren't really changes).

This change is

Review status: 0 of 13 files reviewed at latest revision, 2 unresolved discussions.

src/controller/block_editor_controller.js, line 33 at r1 (raw file):

goog.provide('BlockEditorController');

goog.require('BlockDefinition');

Requires BlockLibrary and BlockEditorView

src/controller/block_editor_controller.js, line 140 at r1 (raw file):

   */
  updateGenerator(block) {
    // REFACTORED: Moved in from factory.js:updatePreview()

Just a notation question: does/should factory.js contain a similar note saying the function was moved?

Comments from Reviewable

Review status: 0 of 13 files reviewed at latest revision, 3 unresolved discussions.

src/controller/app_controller_2.js, line 34 at r1 (raw file):

goog.require('AppView');
goog.require('EditorController');
goog.require('FactoryUtils');

Requires NavigationTree

Comments from Reviewable

Review status: 0 of 13 files reviewed at latest revision, 3 unresolved discussions.

src/controller/app_controller_2.js, line 34 at r1 (raw file):
Previously, svouse wrote…
Requires NavigationTree

Done.

src/controller/block_editor_controller.js, line 33 at r1 (raw file):
Previously, svouse wrote…
Requires BlockLibrary and BlockEditorView

Done.

src/controller/block_editor_controller.js, line 140 at r1 (raw file):
Previously, svouse wrote…
Just a notation question: does/should factory.js contain a similar note saying the function was moved?

Ohh, I've been forgetting about that.
Removed refactored code from original files.

Comments from Reviewable

Review status: 0 of 14 files reviewed at latest revision, 2 unresolved discussions.

src/controller/editor_controller.js, line 99 at r2 (raw file):

   */
  isDefinedBlock(block) {
    // REFACTORED: from wfactory_controller.js

remove code from wfactory_controller.js

src/view/app_view.js, line 459 at r2 (raw file):

  addBlockFactoryEventListeners() {
    console.log('listeners called');
    // REFACTORED: Moved in from app_controller.js

remove from app_controller.js

Comments from Reviewable

Review status: 0 of 14 files reviewed at latest revision, 3 unresolved discussions.

src/view/app_view.js, line 485 at r2 (raw file):

   */
  openBlock(blockType) {
    this.blockEditorView.openBlock(blockType);

Is this function necessary here? (as opposed to just calling blockEditorView.openBlock)

Comments from Reviewable

Review status: 0 of 14 files reviewed at latest revision, 3 unresolved discussions.

src/controller/editor_controller.js, line 99 at r2 (raw file):
Previously, svouse wrote…
remove code from wfactory_controller.js

I think I might have already removed it (unless I am completely missing something) (?) Unless you're talking about the one in wfactory_model.js which is different, I believe.

src/view/app_view.js, line 459 at r2 (raw file):
Previously, svouse wrote…
remove from app_controller.js

Done.

src/view/app_view.js, line 485 at r2 (raw file):
Previously, svouse wrote…
Is this function necessary here? (as opposed to just calling blockEditorView.openBlock)

Done.

Comments from Reviewable

Review status: 0 of 15 files reviewed at latest revision, 4 unresolved discussions.

src/controller/editor_controller.js, line 73 at r2 (raw file):

     * @type {(!ToolboxController|!WorkspaceController|!BlockEditorController)}
     */
    this.currentEditor = this.blockEditorController;

maybe change name because this isn't always a BlockEditorController?

src/controller/new_block_popup_controller.js, line 37 at r2 (raw file):

  /**
   * @constructor
   * @param {AppController2} AppController2 object which controls the application

missing param name. Also aside: maybe we can just switch AppController2 to AppController sooner rather than later? We could change the name of AppController if namespace is a worry/we still want to work off of the file

Comments from Reviewable

src/controller/editor_controller.js, line 99 at r2 (raw file):
Previously, chynu (celine choo) wrote…
I think I might have already removed it (unless I am completely missing something) (?) Unless you're talking about the one in wfactory_model.js which is different, I believe.

Yup sorry

Comments from Reviewable

Review status: 0 of 15 files reviewed at latest revision, 3 unresolved discussions.

src/controller/editor_controller.js, line 73 at r2 (raw file):
Previously, svouse wrote…
maybe change name because this isn't always a BlockEditorController?

Resolved as per private discussion

src/controller/editor_controller.js, line 99 at r2 (raw file):
Previously, svouse wrote…
Yup sorry

No problem :)

src/controller/new_block_popup_controller.js, line 37 at r2 (raw file):
Previously, svouse wrote…
missing param name. Also aside: maybe we can just switch AppController2 to AppController sooner rather than later? We could change the name of AppController if namespace is a worry/we still want to work off of the file

Done.
@ aside: That is true. I keep pushing it off because it takes an annoying amount of time to change it all completely w/o reference errors and I want to get features finished, haha.
I can do it for the next PR.

Comments from Reviewable

Comments from Reviewable

Reviewed 8 of 13 files at r1, 2 of 3 files at r2, 4 of 4 files at r3.
Review status: 14 of 15 files reviewed at latest revision, 15 unresolved discussions.

src/controller/block_editor_controller.js, line 60 at r3 (raw file):

    this.currentLibrary = new BlockLibrary('MyFirstLibrary');

    // Creating a default library, adds a sample block to library

Is this "Creates a default library and adds a sample block to that library" or "Creating a default library adds a sample block to that library"?
Either way, period at the end of the sentence.

src/controller/block_editor_controller.js, line 87 at r3 (raw file):

    // Opens block in workspace when first creating the BlockEditorController.
    // this.openBlock(this.view.blockDefinition);
    // The above was commented out because it depends on not yet implemented

When will this be fixed?  If not within the day, make an explicit todo.

src/controller/block_editor_controller.js, line 90 at r3 (raw file):

    // model functions.

    // Refreshes previews (preview block, block definition, generator stub).

This comment just repeats what the code says.  Leave it out.  If someone wants to know which previews are being the doc on the function definition will be sufficient.

src/controller/block_editor_controller.js, line 106 at r3 (raw file):

  /**
   * Opens a given BlockDefinition to be edited in Block Editor view. If the
   * given BlockDefinition does not exist, creates a new BlockDefinition under

How would someone have a BlockDefinition (rather than just a string for the name) when that BlockDefinition doesn't exist in the library?  Where would they get it from?

src/controller/block_editor_controller.js, line 108 at r3 (raw file):

   * given BlockDefinition does not exist, creates a new BlockDefinition under
   * that name and then displays it.
   * @param {BlockDefinition} blockDefinition BlockDefinition object

Non-null

src/controller/block_editor_controller.js, line 177 at r3 (raw file):

const format = blockDef[0];
const format = blockDef[1];
???

src/controller/block_editor_controller.js, line 179 at r3 (raw file):

    const format = blockDef[1];

    if (!code.trim()) {

Code is not defined.  Was the second format supposed to be code instead?

src/controller/block_editor_controller.js, line 193 at r3 (raw file):

      this.renderPreviewBlock_(blockType);
      // Warn user if block type is invalid.
      this.warnUser_(blockType);

warnUser_ doesn't always warn the user--it executes some logic and warns the user in given cases.  So rename it to maybeWarnUser_

src/controller/block_editor_controller.js, line 246 at r3 (raw file):

    }

    if (format == 'JSON') {

Should use constants for these.

src/controller/block_editor_controller.js, line 291 at r3 (raw file):

      rootBlock.setWarningText('A core Blockly block already exists ' +
          'under this name.');

Delete unused newline.

src/controller/block_editor_controller.js, line 297 at r3 (raw file):

      rootBlock.setWarningText('You cannot save a block with the default ' +
          'name, "block_type"');

Delete unused newline.

src/controller/new_block_popup_controller.js, line 90 at r3 (raw file):

   */
  checkDuplicate() {
    const hasDuplicate = this.appController.project.hasBlock($("#block_name").val());

Single quotes, while you're changing this line.

src/view/block_editor_view.js, line 31 at r3 (raw file):

goog.provide('BlockEditorView');
goog.require('BlockDefinition');

Newline between provide and requires, and between groups of requires in different namespaces.  So this should be
goog.provide('BlockEditorView');

goog.require('BlockDefinition');

goog.require('goog.dom');
goog.require('goog.dom.classlist');

Comments from Reviewable

Minor comments, then

Review status: 14 of 15 files reviewed at latest revision, 17 unresolved discussions.

src/controller/block_editor_controller.js, line 58 at r3 (raw file):

     * @type {!BlockLibrary}
     */
    this.currentLibrary = new BlockLibrary('MyFirstLibrary');

I'm surprised to see this change from definition to library. This is block editor, right?  Is it temporary during the transition from the old model?

src/controller/block_editor_controller.js, line 63 at r3 (raw file):

    this.project.addBlockLibrary(this.currentLibrary);
    const firstBlock = new BlockDefinition('block_type');
    this.currentLibrary.addBlockDefinition(firstBlock);

I'm guessing we don't need to assign any block or library before the project controller assigns the block and library from the tree or popup dialog.

src/controller/block_editor_controller.js, line 246 at r3 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
Should use constants for these.

e.g., FORMAT_JSON = 'JSON' somewhere.

Comments from Reviewable

Review status: 11 of 15 files reviewed at latest revision, 17 unresolved discussions.

src/controller/block_editor_controller.js, line 58 at r3 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
I'm surprised to see this change from definition to library. This is block editor, right?  Is it temporary during the transition from the old model?

Ah, I realized this field is not necessary. I removed it.

src/controller/block_editor_controller.js, line 60 at r3 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
Is this "Creates a default library and adds a sample block to that library" or "Creating a default library adds a sample block to that library"?
Either way, period at the end of the sentence.

Done.

src/controller/block_editor_controller.js, line 63 at r3 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
I'm guessing we don't need to assign any block or library before the project controller assigns the block and library from the tree or popup dialog.

Hm, I was thinking of pre-populating the editor with a sample BlockDefinition ('block_type') and BlockLibrary in case the user exits the popup. This is only created on load, so it will happen only once when the user opens a new project. I was thinking of deleting the BlockDefinition (type 'block_type') if the user goes through with initializing a BlockDefinition through the popup. If they exit halfway through, there will be a default one in the editor that the user can manually build as well.

src/controller/block_editor_controller.js, line 87 at r3 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
When will this be fixed?  If not within the day, make an explicit todo.

Added TODO.

src/controller/block_editor_controller.js, line 90 at r3 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
This comment just repeats what the code says.  Leave it out.  If someone wants to know which previews are being the doc on the function definition will be sufficient.

Done.

src/controller/block_editor_controller.js, line 106 at r3 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
How would someone have a BlockDefinition (rather than just a string for the name) when that BlockDefinition doesn't exist in the library?  Where would they get it from?

Oh... I realized I don't need this function.

src/controller/block_editor_controller.js, line 108 at r3 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
Non-null

(Removed function)

src/controller/block_editor_controller.js, line 177 at r3 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…

const format = blockDef[0];
const format = blockDef[1];
???

Oh.. I meant it to be code.

src/controller/block_editor_controller.js, line 179 at r3 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
Code is not defined.  Was the second format supposed to be code instead?

Yes, that was a bad typo.

src/controller/block_editor_controller.js, line 193 at r3 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
warnUser_ doesn't always warn the user--it executes some logic and warns the user in given cases.  So rename it to maybeWarnUser_

Done.

src/controller/block_editor_controller.js, line 246 at r3 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
e.g., FORMAT_JSON = 'JSON' somewhere.

Done.

src/controller/block_editor_controller.js, line 291 at r3 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
Delete unused newline.

Done.

src/controller/block_editor_controller.js, line 297 at r3 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
Delete unused newline.

Done.

src/controller/new_block_popup_controller.js, line 90 at r3 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
Single quotes, while you're changing this line.

Done.

src/view/block_editor_view.js, line 31 at r3 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
Newline between provide and requires, and between groups of requires in different namespaces.  So this should be
goog.provide('BlockEditorView');

goog.require('BlockDefinition');

goog.require('goog.dom');
goog.require('goog.dom.classlist');

Done.

Comments from Reviewable


About my concept

Could your plugin suitable for my concept below?

These wizard bar using for report page generated from server

I am not sure what you're trying to achieve. The wizard plugin is based on slides, so I am not sure it is suitable for your use case.

I mean I want make a page about showing report from server with your wizard plugin not based on slides. Its suitable or not?

I don't think so


Uncaught Exception: Attempting to call a function in a renderer window that has been closed or released. Function provid

An uncaught exception was reported.
Info:
OS: win32
Arch: ia32
GPMDP Version: 3.0.1
Time: Tue Mar 22 2016 15:36:41 GMT-0400 (Eastern Daylight Time)
Error:
Attempting to call a function in a renderer window that has been closed or released. Function provid
Error: Attempting to call a function in a renderer window that has been closed or released. Function provided here: Object.<anonymous> (C:\Users\ewbah\AppData\Local\GPMDP_3\app-3.0.1\resources\app\build\inject\GPMInject\interface\mouseButtonNavigation.js:8:8.
    at BrowserWindow.callIntoRenderer (C:\Users\ewbah\AppData\Local\GPMDP_3\app-3.0.1\resources\atom.asar\browser\lib\rpc-server.js:201:19)
    at emitTwo (events.js:92:20)
    at BrowserWindow.emit (events.js:172:7)

This issue was created automatically inside the uncaughtException handler

Closing this automatically reported issue as a duplicate of #470


New post: Machinist vs. value classes

Original author: @non
Source: https://gist.github.com/non/a6ff3c0796e566db20d1

@non If you don't object I'm going to merge soon-ish.

yeah go for it :+1:

i didn't notice other problems, if we have any we can fix them later.

Next one coming up in a couple of hours.

@S11001001 e9cf1bfba20081aae25f685d8582bf9796b26fba


Remove the watch for Pod UPDATE event in webhook to support fluid

What this PR does / why we need it:
Remove the watch for Pod UPDATE event in webhook inferenceservice.serving.kserve.io to make KServe compatible with fluid.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #2895
Type of changes
Please delete options that are not relevant.

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

Feature/Issue validation/testing:
Please describe the tests that you ran to verify your changes and relevent result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.

[x] follow this doc https://github.com/kserve/kserve/blob/master/docs/samples/fluid/README.md
Logs

Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.-No

Checklist:

[ ] Have you added unit/e2e tests that prove your fix is effective or that this feature works?
[ ] Has code been commented, particularly in hard-to-understand areas?
[ ] Have you made corresponding changes to the documentation?

Release note:

Remove the watch for Pod UPDATE event in webhook to support fluid

@hclchimumu can you help sign off the commit ?

@hclchimumu can you help sign off the commit ?

signed

@hclchimumu kserve pod mutator also may not be first pod mutating webhook, so I think we still need to watch the update event, instead we should make the kserve pod mutator idempotent. Before appending the volume we can check if the volume exists already here, cc @lizzzcai
https://github.com/kserve/kserve/blob/feea1354a09322eda477c8ee615b324df969e83e/pkg/webhook/admission/pod/storage_initializer_injector.go#L157

I have update my code. When using direct volume mount, add check before append VolumeMounts/Volume to make it idempotent. @yuzisun @lizzzcai

Thanks @hclchimumu !
/lgtm
/approve


Version 1.3.0 release

Changed

Added support for version v2-1.1.0 of the DocuSign Rooms API.
Updated the SDK release version.

AppVeyor (DocuSign Rooms) build and test pass.


Tokenise a subset of the Pile for our pipeline

We need to tokenise a subset of the Pile dataset which we will mix into training while finetuning on chemistry data.

Wikipedia and Pub med abstracts (suolyer_pile_pubmed-abstracts) subsets of Pile are now located in /fsx/proj-chemnlp/data/EleutherAI/pythia-1b tokenised with context length 2048


AppServer admin server module should not be enabled for python runtime

Do not enable administration interface for python runtime as this is not used.

Daily build no. 6287

@jeanleonov I believe the dashboard now covers all of the datastore viewer functionality that the SDK's datastore viewer provides.


Incomplete article

The article is more about setting up the out of the box functionality, not about Configuring. If the Insights are not editable, the article should note it so people know that there is no way to actually change the elements/visualization of the dashboard.

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

ID: a7f3e36e-1d68-d448-856d-c61cc90f3bda
Version Independent ID: a7f3e36e-1d68-d448-856d-c61cc90f3bda
Content: Manage knowledge analytics
Content Source: ce/customer-service/administer/enable-knowledge-search-insights.md
Service: dynamics-365-customerservice
GitHub Login: @Soumyasd27
Microsoft Alias: sdas

Thanks for your comment, @lambeaulady. This issue has been assigned to the doc author for review.

@lambeaulady : You can't change the elements/visualization of the Knowledge analytics dashboard. For more information, see theCustomize visual display topic.

@lambeaulady : Closing the Issue. Please feel free to raise another issue if you have more questions.


Write general tools for index file creation

The programs for generating supplemental index files all do kind of the same thing, and there is a lot of repeated code with minor tweaks (e.g., COUVIS_supplement.py vs. COVIMS_supplement.py, NHxxLO_supplemental_index.py vs. NHxxMV_supplemental_index.py).  A general set of tools for handling these tasks would streamline the creation of new supplemental index files and make the programs more readable.

This should be in the rms-data-projects repo and I'm moving it there.


Fix sample Runbook code to support multiple App GWs

Resolves #3643, #3644
What is being addressed
Enhance sample PowerShell Runbook scripts to automate stopping and (new) starting TRE resources.
How is this addressed

Support for multiple Application Gateways
New sample script to create a start Runbook
Linting PowerShell
Enhance/expand comments
Fix typos

/test-force-approve

LGTM - haven't tested, but trust you have?

Yes, actively using both in Automation.

/test-force-approve


Browserstack element clickable on iPhone8 but not Samsung S8

The problem
I have a test suite running on BrowserStack Automate using Selenide. I have a mobile test path that I access via Browserstack's IPhone8 Safari browser and it has no problems accessing any of the elements on the screen and completing the whole path. When I started to try this path on a Samsung S8 in Chrome, I would get to the TOS page and Selenide is unable to click the #tos element below. It finds the element, and thinks it has clicked it, but nothing happens.
    > open("https://mywebsite.com");
    > sleep(6000);
    > $(By.name("login")).click();
    > sleep(6000);
    > assertEquals("XXX", title());
    > $(By.name("email")).sendKeys("gandalf@gmail.com");
    > $(By.name("password")).sendKeys("XXXXXXX");
    > $(By.name("submit")).click();
    > sleep(10000);
    > assertEquals("Home", title());
    > $(By.className("nav-btn")).click();
    > $(By.linkText("IP Registration")).click();
    > sleep(6000);
    > assertEquals("XXX Registration", title());
    > $(By.name("firstName")).sendKeys("Grey");
    > $(By.name("lastName")).sendKeys("Pilgrim");
    > $(By.name("email")).sendKeys("mithrandir@gmail.com");
    > $(By.id("role-ip")).click();
    > $(By.name("submit")).click();
    > sleep(6000);
    > assertEquals("XXX Registration", title());
    > executeJavaScript("window.scrollBy(0,1000)", "");
    > sleep(6000);
    > $(By.id("tos")).click();
    > sleep(6000);
    > $(By.name("submit")).click();
    > sleep(6000);
    > $(By.name("p1")).sendKeys("123456789");
    > $(By.name("submit")).click();

Details
I started introducing elements such as scrolling the window down, additional waits, different types of selectors, all to no avail. The weird thing is that Selenide is finding the #tos element just fine and attempting to click it, but nothing happens. Then I get the "p1 element not visible" on what would be the next page if my errorController didn't stop the test moving forward. I'm a bit at my wit's end - I've tried every Selenide/Selenium fix I can find, including adding onclick listeners to all input fields. It's also quite strange because on the previous page of testing Selenium clicks an input of type radio button with absolutely no issues. I've even removed wrapping CSS styling that could've been getting in the way.

Example of users having similar issues:
https://stackoverflow.com/questions/47665226/browserstack-automate-test-click-action-not-work-on-android
Could be related to this as well:
https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/4637
Tell us about your environment

Selenide Version: 4.8
Chrome\Firefox\IE Version: Chrome 58.0.3029
Browser Driver Version: 2.29
Selenium Version: 3.6
OS Version: Samsung Galaxy S8, OS 7.0

Selenide uses Selenium underhood. If Selenium can not click to element I guess it is selenium issue and should be appropriately reported to Selenium issue tracker https://github.com/SeleniumHQ/selenium/issues/new
For workaround I can suggest turn on clickViaJs feature in Selenide. See https://github.com/codeborne/selenide/blob/master/src/main/java/com/codeborne/selenide/Configurat ion.java#L171

Closed due no feedback.

Oh sorry was trying to find this thread before but couldn't. Tried the clickViaJs thing to no avail, thanks though


APPINSIGHTS_INSTRUMENTATION Key

I'm a bit confused about the recommended way of supplying the instrumentation key.  I would expect the recommended way to by using Application settings (which are store encryped in the cloud and supplied at runtime automatically) rather than as json in my project.  I'm particularly confused as I see that application settings have been autocreated for me, and yet when i added App Insights to my project (via the right click on project add app insights option) it created a json file.  This documentation doesn't talk about retrieving from app configuration which is a gap.

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

ID: 4b88d8c4-0013-70aa-7997-a2203afd9743
Version Independent ID: 0ab99d5e-4ebd-8cb9-3d27-efe58def249f
Content: Azure Application Insights for ASP.NET Core applications - Azure Monitor
Content Source: articles/azure-monitor/app/asp-net-core.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @mrbullwinkle
Microsoft Alias: mbullwin

The manual config doc for .NET core was generally not designed for an App Service web app audience since most are able to get what they need out of the App Service specific doc for codeless attach: https://docs.microsoft.com/en-us/azure/azure-monitor/app/azure-web-apps?tabs=net
But, with that said for anyone like yourself that is monitoring .NET Core on Linux with App Services you do need to use the manual config doc so I completely understand where you are coming from and how this is confusing. We need to do a better job on the docs side of making that getting started experience much better so you aren't bouncing around between docs/configurations.
Instrumentation key is a bit of poor naming on our part. It really should have been named instrumentation id or something along those lines as key tends to rightly denote things that must be encrypted/protected at all costs. In the case of the Application Insights instrumentation key it is only granting access to write new telemetry and does not confer any read/edit permissions. I find a somewhat useful analogy is that it is like an e-mail address for your telemetry data. People can send you spam, but they can't read your e-mail. There could certainly be a concern of someone maliciously poisoning your data by sending bogus telemetry, or sending large quantities of fake data/spam. But you have to weigh that against what type of telemetry you want to collect.
Using Application settings does confer a degree of security, but keep in mind that if you are doing client side monitoring that your instrumentation key would still be visible to anyone with F12 or a fiddler trace as the client-side JavaScript snippet contains the same key, and has to contain that key in order for the client-side telemetry to know where to go. This is a common albeit not often talked about potential concern with any client-side monitoring/analytics solution.

#assign:mrbullwinkle

The latest beta package has some nice improvements in this area. @mrbullwinkle We can try to improve this doc along with the newest additions. @rajkumar-rangaraj knows the most correct details on changes.

@clarkezone Thanks for your feedback. I will make an internal work item for this to add to our backlog.  I'll close out this issue for now but will @mention you when the update is complete.
#please-close


Web app internal server error, DirectoryRPCError: Forbidden, initial Bootstrapping

Hi guys,
I got this error for my first web app access

Any idea where it got wrong?
Thank you

Hmmm you're getting a "accessNotConfigured" error which can mean various things all having to do with how you've granted access to APIs in Google Cloud Platform.
Here's some context:
https://cloud.google.com/resource-manager/docs/core_errors#FORBIDDEN
https://developers.google.com/console <- Double-check that you've enabled the APIs according to https://github.com/google/loaner/blob/master/docs/gngsetup_part1.md#step-2-set-up-an-app-engine-project-in-google-cloud (Specifically item 6 in that list).
https://console.developers.google.com/apis/api/admin.googleapis.com/overview (Admin SDK API)

Found the problem, I didn't enable my admin SDK API.
Thank you!
Proceeding: Accessing the web page and now got this error:

The authorised URI looks good

Does it have something to do with the different types of quotations of WEB_CLIENT_IDS?

You need to whitelist the https:// URL since you've only whitelisted the HTTP URL.

It works now after rebuilding the apps with the zip file (taking suggestions from other cases). I did change the whitelist to https:// before rebuilding it from scratch, but still got the same error.
Proceeding: Starting initial bootstrapping

Any idea what is the issue?

Any additional errors in the Google Cloud Platform logging view for this request?
Additionally, what does your ADMIN_EMAIL look like in constants.py? I'm wondering if the email is formatted wrong. It should probably be your GSuite role account that you generated for this app.
Example of a properly formatted admin email: ADMIN_EMAIL =<EMAIL_ADDRESS>

The admin email is formatted correctly.
But anyway, I have got the app working now after deploying everything from scratch.
I will continue testing the apps and features. Thanks!

Great to hear! I'll close this out since it's been resolved.


init compressDrv and compressDrvWeb

Description of changes
add compressDrv and compressDrvWeb. I have been working on adding gamja with passthru.data-compressed and @K900 suggested to add something generic. This is my first attempt.
Things done
compressDrv compresses files in a given derivation.
compressDrvWeb compresses a derivation for a loosely-defined
pre-compressed "web server" usage.
This intends to replace the passthru.data-compressed derivations that have accumulated in nixpkgs with something more reusable. First one is gitea.

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@ofborg build tests.compress-drv

@ofborg build tests.compress-drv

@ofborg build tests.compress-drv

adding @k900 who suggested the original idea

@disassembler @kolaente @ma27 @techknowlogick gitea maintainers.

Mind fixing the merge conflicts? I'll take a closer look after that.

Thanks @motiejus! My apologies for submitting a PR to the Gitea derivation earlier that conflicted this PR.
I'm not familiar enough with this area of change to be able to offer any other feedback than "Looks good to me, and works for Gitea". From my limited perspective this appears to be a good generalization, and being able to utilize it for other derivations is definitely a big positive.

Thank you for your comments. I've addressed all of them in my private branch, but discovered that the test is flaky. Turns out process substitution with >( ... ) is asynchronous -- bash doesn't wait for those substituted processes and can terminate early, causing the application to fail.
I've been trying different approaches without process substitution, but didn't get there yet. Will re-request your review with v2.

Mind marking this as draft while working on that, @motiejus? I'll be happy to review when you're ready.

I'm trying to do nix-build -A gitea.data-compressed as a real-world test of this PR, and I get the following output. https://gist.github.com/philiptaron/efc3f8e17d423fe52b1b360493e4abb1
This makes me think that this PR isn't ready. Am I missing something?

Indeed, i messed something up in the last iteration which made the test work, but broke real-world use. Looking.
To be clear, I've used the original version compressDrv since January.
Sorry, will fix and ping again.

$ nix-build -A gitea.data-compressed
<...>
/nix/store/hpyrqp7wgip0gl0qypg992r6rma65vpx-gitea-1.22.1-compressed
$ $ ls -lh /nix/store/hpyrqp7wgip0gl0qypg992r6rma65vpx-gitea-1.22.1-compressed/public/assets/
total 120K
dr-xr-xr-x 1 root root 2.4K Jan  1  1970 css
dr-xr-xr-x 1 root root 1.5K Jan  1  1970 fonts
dr-xr-xr-x 1 root root  694 Jan  1  1970 img
dr-xr-xr-x 1 root root  33K Jan  1  1970 js
lrwxrwxrwx 1 root root   90 Jan  1  1970 licenses.txt -> /nix/store/4hmsyay7qqnzzi6fm2fbzapd36w2p18l-gitea-1.22.1-data/./public/assets/licenses.txt
-r--r--r-- 1 root root  30K Jan  1  1970 licenses.txt.br
-r--r--r-- 1 root root  82K Jan  1  1970 licenses.txt.gz

There was something off with sem --id. If anyone reading this is curious, run both commands and compare outputs:
# this is good
while read -r i; do sem  -j 50 "sleep 1; echo $i"; done < <(seq 100)

# this is bad
while read -r i; do sem --id x  -j 50 "sleep 1; echo $i"; done < <(seq 100)

I opted for a simple, though not 100% efficient approach (may come back to it later). This seems to work with everything.

Fiy: https://noogle.dev/f/pkgs/compressDrv

Looks like it could use a little markdown editing to look a bit better, but it's working!

Looks like it could use a little markdown editing to look a bit better, but it's working!

I've done that If you want to merge it
#332446

@ma27 to be able to use this for nextcloud we also need to pass -not -iregex ".*(\/apps\/.*\/l10n\/).*". Maybe I come up with something.

I am currently doing a PR with some small improvements including zstd support which chrome is already using.
PS Coincidentally this broke eval because I used that name locally already 😂


remove useless test_id in train file and useless packages and auto PEP8

This PR do three things as follow:

remove useless test_ids in train_file
remove useless packages imported
auto PEP8 to make the code into better code style

Thanks!


CSS

CSS
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow

Completed 4/14/2023.