Many bugs in training the legacy engine

I doubt anybody have successfully trained custom data with tesseract 5.2.0 and 5.1.0, the latest I can succeed is 5.0.0-alpha-20201224.
Below are some BUGs when I'm running tesseract 5.2.0 for custom data training.  I can say there are TOO MANY BUGS, thus I was not able to finish the whole  training due to limited time at this moment, below are just a few of the found BUGs for reference.
// Deletes all samples with zero features marked by KillSample.
void TrainingSampleSet::DeleteDeadSamples() {
  using namespace std::placeholders; // for _1
  auto old_it = samples_.begin();
  for (; old_it < samples_.end(); ++old_it) {
    if (*old_it == nullptr || (*old_it)->class_id() < 0) {
      break;
    }
  }
  auto new_it = old_it;
  for (; old_it < samples_.end(); ++old_it) {
    if (*old_it == nullptr || (*old_it)->class_id() < 0) {
      delete *old_it;
    } else {
      *new_it = *old_it;
      ++new_it;
    }
  }
  //samples_.resize(new_it - samples_.begin() + 1);      //<------------crash the program when samples_.size() is 0
  samples_.resize(new_it - samples_.begin());
  num_raw_samples_ = samples_.size();
  // Samples must be re-organized now we have deleted a few.
}

INT_TEMPLATES_STRUCT *Classify::CreateIntTemplates(CLASSES FloatProtos,
                                           const UNICHARSET &target_unicharset) {
  CLASS_TYPE FClass;
  INT_CLASS_STRUCT *IClass;
  int ProtoId;
  int ConfigId;

  auto IntTemplates = new INT_TEMPLATES_STRUCT;

  for (unsigned ClassId = 0; ClassId < target_unicharset.size(); ClassId++) {
    FClass = &(FloatProtos[ClassId]);
    if (FClass->NumProtos == 0 && FClass->NumConfigs == 0 &&
        strcmp(target_unicharset.id_to_unichar(ClassId), " ") != 0) {
      tprintf("Warning: no protos/configs for %s in CreateIntTemplates()\n",
              target_unicharset.id_to_unichar(ClassId));
    }
    assert(UnusedClassIdIn(IntTemplates, ClassId));
    IClass = new INT_CLASS_STRUCT(FClass->NumProtos, FClass->NumConfigs);
    //FontSet fs{FClass->font_set.size()};             //<---------------------- it will force to push an element in, not size of the vector
    int fsize = FClass->font_set.size();
    FontSet fs(fsize);

/**
 * This routine converts from the old floating point format
 * to the new integer format.
 * @param FloatProtos prototypes in old floating pt format
 * @param target_unicharset the UNICHARSET to use
 * @return New set of training templates in integer format.
 * @note Globals: none
 */
INT_TEMPLATES_STRUCT *Classify::CreateIntTemplates(CLASSES FloatProtos,
                                           const UNICHARSET &target_unicharset) {
  CLASS_TYPE FClass;
  INT_CLASS_STRUCT *IClass;
  int ProtoId;
  int ConfigId;

  auto IntTemplates = new INT_TEMPLATES_STRUCT;

  for (unsigned ClassId = 0; ClassId < target_unicharset.size(); ClassId++) {
    FClass = &(FloatProtos[ClassId]);
    if (FClass->NumProtos == 0 && FClass->NumConfigs == 0 &&
        strcmp(target_unicharset.id_to_unichar(ClassId), " ") != 0) {
      tprintf("Warning: no protos/configs for %s in CreateIntTemplates()\n",
              target_unicharset.id_to_unichar(ClassId));
    }
    assert(UnusedClassIdIn(IntTemplates, ClassId));
    IClass = new INT_CLASS_STRUCT(FClass->NumProtos, FClass->NumConfigs);
    //FontSet fs{FClass->font_set.size()};
    int fsize = FClass->font_set.size();
    FontSet fs(fsize);
    for (unsigned i = 0; i < fs.size(); ++i) {
      fs[i] = FClass->font_set.at(i);
    }
    IClass->font_set_id = this->fontset_table_.push_back(fs);  // <------------------------------ref. to below push_back function
    AddIntClass(IntTemplates, ClassId, IClass);

    for (ProtoId = 0; ProtoId < FClass->NumProtos; ProtoId++) {
      AddIntProto(IClass);
      ConvertProto(ProtoIn(FClass, ProtoId), ProtoId, IClass);
      AddProtoToProtoPruner(ProtoIn(FClass, ProtoId), ProtoId, IClass,
                            classify_learning_debug_level >= 2);
      AddProtoToClassPruner(ProtoIn(FClass, ProtoId), ClassId, IntTemplates);
    }

    for (ConfigId = 0; ConfigId < FClass->NumConfigs; ConfigId++) {
      AddIntConfig(IClass);
      ConvertConfig(FClass->Configurations[ConfigId], ConfigId, IClass);
    }
  }
  return (IntTemplates);
} /* CreateIntTemplates */

//ref. unicity_table.h
  /// Add an element in the table
  int push_back(T object)  {
    auto idx = get_index(object);
    if (idx == -1) {
      //table_.push_back(object);  //<----------- it will crash the program since idx will be 1 and when size() is 1; actually index should be 0 for size of 1;
      //idx = size();
      idx = table_.push_back(object);
    }
    return idx;
  }

bool write_set(FILE *f, const FontSet &fs) {
  int size = fs.size();
  //return tesseract::Serialize(f, &size) && tesseract::Serialize(f,  &fs[0], size); //<----------------this will crash the program when fs.size() is 0
  return tesseract::Serialize(f, &size) && tesseract::Serialize(f, (size?&fs[0]:0), size);
}

/*---------------------------------------------------------------------------*/
// TODO(rays) This is now used only by cntraining. Convert cntraining to use
// the new method or get rid of it entirely.
/**
 * This routine reads training samples from a file and
 * places them into a data structure which organizes the
 * samples by FontName and CharName.  It then returns this
 * data structure.
 * @param file open text file to read samples from
 * @param feature_definitions
 * @param feature_name
 * @param max_samples
 * @param unicharset
 * @param training_samples
 */
void ReadTrainingSamples(const FEATURE_DEFS_STRUCT &feature_definitions, const char *feature_name,
                         int max_samples, UNICHARSET *unicharset, FILE *file,
                         LIST *training_samples) {
  char buffer[2048];
  char unichar[UNICHAR_LEN + 1];
  LABELEDLIST char_sample;
  FEATURE_SET feature_samples;
  uint32_t feature_type = ShortNameToFeatureType(feature_definitions, feature_name);

  // Zero out the font_sample_count for all the classes.
  LIST it = *training_samples;
  iterate(it) {
    char_sample = reinterpret_cast<LABELEDLIST>(it->first_node());
    char_sample->font_sample_count = 0;
  }

  while (fgets(buffer, 2048, file) != nullptr) {
    if (buffer[0] == '\n') {
      continue;
    }

    sscanf(buffer, "%*s %s", unichar);
    if (unicharset != nullptr && !unicharset->contains_unichar(unichar)) {
      unicharset->unichar_insert(unichar);
      if (unicharset->size() > MAX_NUM_CLASSES) {
        tprintf(
            "Error: Size of unicharset in training is "
            "greater than MAX_NUM_CLASSES\n");
        exit(1);
      }
    }
    char_sample = FindList(*training_samples, unichar);
    if (char_sample == nullptr) {
      char_sample = new LABELEDLISTNODE(unichar);
      *training_samples = push(*training_samples, char_sample);
    }
    auto char_desc = ReadCharDescription(feature_definitions, file);
    feature_samples = char_desc->FeatureSets[feature_type];
    if (char_sample->font_sample_count < max_samples || max_samples <= 0) {
      char_sample->List = push(char_sample->List, feature_samples);
      char_sample->SampleCount++;
      char_sample->font_sample_count++;
    } else {
      delete feature_samples;
    }
    for (size_t i = 0; i < char_desc->NumFeatureSets; i++) {
      if (feature_type != i) {
        delete char_desc->FeatureSets[i];
        char_desc->FeatureSets[i] = nullptr;  //<--------------newly added, otherwise crash the program on "delete char_desc;" when destruction is forced by char_desc;
      }
    }
    delete char_desc;
  }
} // ReadTrainingSamples

I changed the above code and can get "shapeclustering.exe" and "mftraining.exe" to run smoothly,  all training materail such as "inttemp" and "pffmtable" are well generated.
Currently the cntraining.exe will crash, but I don't have any more time to test.

I'm not sure which is the legacy method which is not, I'm working for industry application program thus I MUST use c++ only. I don't use tesstrain since it seems works in PYTHON environment and cannot be deployed in c++. And I don't find any real step-by-step training guidance for latest versions.
Please let me know if you have different training methods.
My method is given as follows,
(1) add path to environment (windows 10)
E:\pkg_ocr\tesseract\tesseract520

(2) edit your image with jTessBoxEditor
cd  E:\pkg_ocr\tesstrain\jTessBoxEditor231
train.bat ----> jTessBoxEditor  ---> merge TIFF ---> save it as myfontlab.normal.exp0.tif

(3) do the following operation，
tesseract  myfontlab.normal.exp0.tif   myfontlab.normal.exp0   batch.nochop   makebox
tesseract   myfontlab.normal.exp0.tif    myfontlab.normal.exp0   nobatch   box.train
NOTE: you have to adjust image contrast or brightness if these reports "empty ..."

(4)
unicharset_extractor myfontlab.normal.exp0.box

(5)
echo normal 0 0 0 0 0 > font_properties
NOTE: file name is font_properties ( it works if you use font_properties.txt). content is normal 0 0 0 0 0 . note that the word "normal" must be the same work as in file name "myfontlab.normal.exp0.tif ".

(6)
shapeclustering -F font_properties -U unicharset myfontlab.normal.exp0.tr
OR
shapeclustering -F font_properties.txt -U unicharset myfontlab.normal.exp0.tr

(7)
mftraining  -F font_properties -U unicharset -O train.unicharset myfontlab.normal.exp0.tr
NOTE: this step will generate inttemp、pffmtable, if it doesn't work, use the below cmd,
mftraining -F font_properties.txt -U unicharset -O train.unicharset myfontlab.normal.exp0.tr

(8)
cntraining myfontlab.normal.exp0.tr

(9)
combine_tessdata normal

(10)generated result is t_7B-normal.txt
tesseract E:\test_images\ocr\t_7B.png  E:\test_images\ocr\t_7B-normal -l normal

(1)
https://github.com/tesseract-ocr/tesseract/blob/371ee2232e4d69ea3be83384dd3276509a69e7b2/src/training/common/trainingsampleset.cpp#L557
https://github.com/tesseract-ocr/tesseract/commit/cac116dd11dc0976489b44cb49c5a041da7232bb
(2)
https://github.com/tesseract-ocr/tesseract/blob/74e226b228d46052dec825604d7aac5041986e9e/src/classify/intproto.cpp#L507-L508
https://github.com/tesseract-ocr/tesseract/blob/5a36943de4a39d236a9762f6971823c5b7c20404/src/ccstruct/fontinfo.cpp#L222-L224
https://github.com/tesseract-ocr/tesseract/commit/a7f938d28e44089e0db693850a541c90629aec58
(3)
https://github.com/tesseract-ocr/tesseract/blob/839f528b9a87a3f051e34944a3bfc15bc6866a73/src/ccutil/unicity_table.h#L76-L77
https://github.com/tesseract-ocr/tesseract/commit/1d3d1fbc629b46982394f2c88b1316cb6917c6df

@stweil, @egorpugin,
Can you please see if the suggested changes can be applied?

I still try to reproduce the bugs locally.

@stweil,
Was you able to reproduce the reported bugs?

No, not up to now.

I did a miniature reproduction part of the problem (crash of  shapeclustering) for those who want to dig into this problem:
i3925_test_case.zip
I also find an old version of tesseract 3.05.02, which is able to create shapetable from this example.
The steps for reproducing are quite simple:
tesseract num.ocra.exp0.png num.ocra.exp0 nobatch box.train
unicharset_extractor num.ocra.exp0.box
shapeclustering -F font_properties -U unicharset num.ocra.exp0.tr

If the training tools for the the legacy are broken and nobody will fix it in time for the 5.3.0 release, I suggest to modify cmake, sw and autotools to not compile and install the legacy training tools.

Thank you, @zdenop, for the test code. git bisect finds commit cac116dd11dc0976489b44cb49c5a041da7232bb which caused the regression.

I already pointed to that commit in https://github.com/tesseract-ocr/tesseract/issues/3925#issuecomment-1257015720

@SpaceView, pull request #3970 fixes the issue in my test. Perhaps you can try it and confirm whether it works for you, too.

Fixed in #3970.

I found some spare time for testing are here are some observations:

tesseract-ocr-w64-setup-v4.1.0-elag2019 and  Tesseract-OCR-5.0.0-alpha.20201127 works for me => problem seems to be related to code modernization
here are outputs from training i3925_legacy_training_outputs.zip. I realized that current version of tesseract produces (significantly) different output (num.ocra.exp0.tr) from box training (first step). It use different rounding (6 decimal poinsts instead of 8), different number type (float instead of integer). Not sure if this is problem. Anyway shapetable is smaller (84b vs 184b)

IMO it would be good to create small test case also for LSTM training to checks if the output is similar as of 5.0.0-alpha.

I'm afraid that the changes 51909d5a2e3ea5a11ee3c84e4cbf955c241e5037...36f9131e04f8758a0c153ab5097be5e8cc75a08e at least contribute to the regression.
Extract from old num.ocra.exp0.tr:
if 84
 80 82 192
 80 96 192
 80 109 192
 80 123 192

Extract from new num.ocra.exp0.tr:
if 84
 80.000000 82.000000 192.000000
 80.000000 96.000000 192.000000
 80.000000 109.000000 192.000000
 80.000000 123.000000 192.000000

The old code used add_str_double(), the new code uses std::to_string() which obviously gives a different string. In addition, std::to_string() writes a decimal comma instead of a decimal point with a German locale.
Related functions: tesseract::WriteCharDescription (with Type==2) and tesseract::WriteFeatureSet.

However mftraining from the current code has the problem reading created shapetable:

This regression is fixed with pull request #3972. But it looks like mftraining can also crash with invalid input data or run in a loop until it runs out of memory. That would be a separate issue.

@SpaceView, do you still notice bugs with the latest code, or can this issue be closed?

@stweil : I did the check (Windows&MSVC 2019) with the latest code and shapeclustering (shapeclustering -F font_properties -U num.unicharset num.ocra.exp0.tr) output differs from 3.05 abd 4.0.1 version.
When mftraining use that file (mftraining -F font_properties -U num.unicharset -O num.unicharset num.ocra.exp0.tr) it crashes producing some output to terminal:
Error: Failed to read shape table shapetable
Reading num.ocra.exp0.tr ...
Flat shape table summary: Number of shapes = 10 max unichars = 1 number with multiple unichars = 0

Did you run the whole test sequence – starting with tesseract num.ocra.exp0.png num.ocra.exp0 nobatch box.train – with the latest code? According to your description I assume that you still have a wrong num.ocra.exp0.tr with floats instead of integers.

Yes. I did. tr files seem to be ok (almost identical to the old versions - the difference is only on one place:
 )
The shape table produced with the current version has a size 84b, and the old version generated 184b.

Git bisect report for the remaining regression:
The first bad commit could be any of:
4fc467a922b0d08ae3695fed619e7c7cd870ca22
b4495a6bb58e88896207924f76d8f0a13e881149
c3e04abe1e021bbdece6b87df4a0cfc60713f470

Anyway shapetable is smaller (84b vs 184b)

That's caused by wrong serialization in function WriteShapeTable.

@SpaceView, hopefully the really many bugs which you found and reported are fixed by the many commits in pull request #3977. Some of them are nearly identical to your proposed code changes.


fix(SPV-1013): swaps errors to those in spverrors, bumps versions of imports

Pull Request Checklist

[x] 📖 I created my PR using provided  : CODE_STANDARDS
[x] 📖 I have read the short Code of Conduct: CODE_OF_CONDUCT
[x] 🏠 I tested my changes locally.
[ ] ✅ I have provided tests for my changes.
[x] 📝 I have used conventional commits.
[x] 📗 I have updated any related documentation.
[x] 💾 PR was issued based on the Github or Jira issue.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 48.84%. Comparing base (0dafdae) to head (6c2c844).

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #674   +/-   ##
=======================================
  Coverage   48.84%   48.84%
=======================================
  Files         261      261
  Lines       12090    12090
=======================================
  Hits         5905     5905
  Misses       5593     5593
  Partials      592      592

Flag
Coverage Δ

unittests
48.84% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report in Codecov by Sentry.

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


Support multi-line prompts

From: https://www.reddit.com/r/vim/comments/sbngor/comment/hv1ywtm/?utm_source=share&utm_medium=web2x&context=3

Closed by #6


Create a model probing component

Acceptance criteria:

Create a model probing component in KFServing that probe all the models

Add model health endpoint on the model agent to return all the model health status(DOWNLOAD/LOAD status) for a given replica.
The probing component watches the Kubernetes endpoint resource and get the list of Pod IPs to send the probes.
Aggregate the model status from all the replicas and show like 10/15 Ready on the trained model CR.


Add test debug print when failing to load JSON files

I have this local patch to help with issues like @lgh2 's https://gitter.im/pyvideo/data?at=594adee602c480e6726b1888
This PR build obviously fails on Travis since it's on top of @lgh2 's https://github.com/pyvideo/data/pull/292/commits/32673a7fa98589371b940b9d84bb93f6a31384e1

Closing in favour of #296


How to manage multiple workflows for same model?

Hi,
currently testing out your extension here, looks good so far.
One question:
We have two different workflows, lets say for BlogPost, which are totally independent.
Example:

PostWorkflowText
PostWorkflowImage

We were now thinking of moving the logic for this into a new model, lets say a table called 'Posts_Workflows'.
There we could store workflow_id, post_id and status as rows, allowing this to grow even to more that these two cases.
We have now attached your extension to this new model "Posts_Workflows", but of course we would need to define a default Workflow.
Is there a way that we can attach multiple workflows to the same model?
So we would like if a new Posts_Workflows record is created, we select which workflow to be used (we can handle that of course).
But if then a user wants to move forward with this record, the steps are depending on the workflow_id. So the attached behaviour would need to take the workflow_id from that model into account to read the right workflow definition file.
Any ideas if this is possible?
Would be great if you could direct us into the direction to take.
Thanks!
gb5256

Hi,
and sorry for the late reply.. I thought an email would be sent when a new issue is created but obviously it's not the case (or I missed it). Anyway, is your question still relevant or did you find a way to achieve what you wanted to do ?
From what I understand you want to store the Post status value, not in a col of the Post table, but in, a row of the post_workflow table. Is it correct ?
I'm on holidays right now but if it still can be of any help, I'll try to answer when I'm back.
😎


Small language issue when confirming installation of a plugin

cf version 6.22.2+a95e24c-2016-10-27
Kubuntu 14.04 LTS
Command:
cf install-plugin https://example.com/some-plugin
with a German language version of cf (don't know how I got this) asks me to confirm whether I really want to install the plugin:
"Achtung: Plug-ins werden als Binärdateien von möglicherweise nicht vertrauenswürdigen Autoren geschrieben. Sie installieren und verwenden Plug-ins auf eigenes Risiko.
Möchten Sie das Plug-in https://swisscom-plugin.scapp.io/linux64/swisscom-plugin installieren? (J oder N)"
(J oder N) is the same as the English (Y or N), but in this case J won't be accepted and the error message is:
"FEHLGESCHLAGEN
Plug-in-Installation abgebrochen" (which means FAILED - plugin installation cancelled).
One has to know that you'll have to confirm with Y but with J.

Hi @lbayerl
It seems this is the only confirmation prompt where we displayed the Y or N and German was one of the p[;few locales where the translators did not leave that intact.
We're migrating commands to a new library that does the printing of [y/n] for us. I prefer to not localise this: it gets too confusing in some locales (like where they have no single-letter abbeviations on a QWERTY keyboard, like Japanese).
In cf CLI 6.23.1, this command no longer displays the J oder N, consistent with other confirmation prompts. In a future release, you'll see the [y/n] added.
https://github.com/cloudfoundry/cli#downloads
Thanks for your report!
Regards,
Dies Koper
CF CLI PM


How to search until at least 3 characters are entered?

Hello.
I would like start the search only after 3 characters have been typed in the search box.
The next code is an example for jQuery datatables 10, but it doesn't work with laravel-datatables.
// Call datatables, and return the API to the variable for use in our code
// Binds datatables to all elements with a class of datatable
var dtable = $(".datatable").dataTable().api();

// Grab the datatables input box and alter how it is bound to events
$(".dataTables_filter input")
    .unbind() // Unbind previous default bindings
    .bind("input", function(e) { // Bind our desired behavior
        // If the length is 3 or more characters, or the user pressed ENTER, search
        if(this.value.length >= 3 || e.keyCode == 13) {
            // Call the API search function
            dtable.search(this.value).draw();
        }
        // Ensure we clear the search if they backspace far enough
        if(this.value == "") {
            dtable.search("").draw();
        }
        return;
    });

Can someone help me?
Thanks.

Your code looks fine. Maybe you should check the arrangement of your scripts? Make sure the plugin is loaded first before the table initialization.

i'd do
...

 .bind("keyup", function(e) { // Bind our desired behavior
              // If the length is 3 or more characters, or the user pressed ENTER, search
              if(this.value.length > 2 || e.keyCode == 13) {
                  // Call the API search function
                  dtable.search(this.value).draw();
              }
              // Ensure we clear the search if they backspace far enough
              if(this.value == "") {
                  dtable.search("").draw();
              }
              return;
          });
...

though

how would it be if i'm using the plugins  HTML Builder and Buttons, helpme please


Password Reset issue

Core Library
MSAL.js v2 (@azure/msal-browser)
Core Library Version
2.14.0
Wrapper Library
MSAL React (@azure/msal-react)
Wrapper Library Version
1.0.1
Description
I am seeing a possible issue with this implementation of Password Reset
https://docs.microsoft.com/en-us/azure/active-directory-b2c/add-password-reset-policy?pivots=b2c-custom-policy
We are using Custom Policies, and our SignUpSignIn UserJourney/ all config came from the provided LocalAccounts starterpack.
https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
We are using a React SPA as our client, with @azure/msal-browser v2.14.0 and @azure/msal-react v1.0.1
https://www.npmjs.com/package/@azure/msal-browser
The issue is:

when a user follows the Password Reset ('forgot your password?') steps and lands in the React SPA
and immediately tries to Edit Profile or Change Password
they are confronted with a sign in screen before seeing the Edit Profile or Change Password self-asserted technical profile screen
users who are logged in, in the React SPA, who have NOT just reset their password, do not see this additional sign in screen
This suggests that a user who has just finished the Password Reset flow is not properly authenticated / logged in as a user

More info:

We are using the starter pack ProfileEdit UserJourney and RelyingParty file, as seen below
https://docs.microsoft.com/en-us/azure/active-directory-b2c/add-profile-editing-policy?pivots=b2c-custom-policy
We are using a PasswordChange User Journey and RelyingParty file as seen below
https://docs.microsoft.com/en-us/azure/active-directory-b2c/add-password-change-policy?pivots=b2c-custom-policy
We provide the user with menu options to Edit Profile or Change Password within the React SPA
The extra sign in screen seems to be coming from SelfAsserted-LocalAccountSignin-Email, the first TechnicalProfile in both our ProfileEdit and PasswordChange UserJourneys

Observed:

Using AppInsights logging with AADB2C, we observed differences in both claims and tokens, during a SignUpSignIn with PasswordReset, vs a happy path SignUpSignIn
PasswordReset: email claim exists, userPrincipalName claim exists, signInName claim is in GUID/UPN format
happy path: email claim does not exist, userPrincipalName claim does not exist, signInName claim is of form "email => GUID/UPN format"
PasswordReset: no tokens captured
happy path: tokens from login-NonInteractive are captured

Theories:

The Password Reset tutorial (above) mentions enabling Implicit Grant Flow.  However, MSAL 2 is not compatible with Implicit Grant Flow.  Maybe this explains absence of tokens visible in AppInsights, or is causing some other issue with MSAL not being able to properly sign in a user using Implicit Grant Flow
We are missing some sort of OutputClaim or PartnerClaimType mapping between email and signInName, in one of the starterpack technical profiles (AAD, or one of the self-asserted login related)

I'm wondering if anyone else has observed issues like this, using the MS provided Password Reset instructions.  Thank you!  And please let me know if I can provide any more information.
Error Message
No response
Msal Logs
No response
MSAL Configuration
const msalConfig: Configuration = {
    auth: {
      authority: getAuthorityUrl(azureSettings.AD_B2C_SignUpSignIn_Policy),
      clientId: azureSettings.AD_B2C_ClientId,
      knownAuthorities: [getAuthorityDomain()],
    },
  };

Relevant Code Snippets
Custom Policy config / SignUpSignIn UserJourney
https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack

PasswordReset ClaimsExchange/SubJourney implementation
https://docs.microsoft.com/en-us/azure/active-directory-b2c/add-password-reset-policy?pivots=b2c-custom-policy

Client-side call to Edit Profile policy (using MS starterpack / Base ProfileEdit)

// config file
export const editProfileRequest: RedirectRequest = {
  authority: getAuthorityUrl(azureSettings.AD_B2C_ProfileEdit_Policy),
  redirectUri: azureSettings.SPA_Root_URL,
  scopes: [],
};

// runtime file
instance.loginRedirect(editProfileRequest);

Reproduction Steps

Use the AD B2C LocalAccounts starter pack config for custom policy
Implement Password Reset using this tutorial https://docs.microsoft.com/en-us/azure/active-directory-b2c/add-password-reset-policy?pivots=b2c-custom-policy
Configure a React SPA with MSAL 2, giving an authenticated user options to change password / edit profile
as a user, execute the Password Reset / 'forgot your password?' flow
Finishing the flow, be redirected to the React SPA, seemingly in an authenticated state
Interact with SPA to choose Change Password or Edit Profile (which loginRedirect to a certain RelyingParty/Policy)
EXPECTED: user immediately sees change password/ edit profile screen
BUG/ACTUAL: user is confronted with another sign in screen, before seeing change password/ edit profile screen

Expected Behavior

EXPECTED: user immediately sees change password/ edit profile screen
BUG/ACTUAL: user is confronted with another sign in screen, before seeing change password/ edit profile screen

Identity Provider
Azure B2C Custom Policy
Browsers Affected (Select all that apply)
Chrome, Firefox, Edge
Regression
No response
Source
External (Customer)

@brriann Thanks for the detailed issue. This was identified as an issue with the B2C service. Please file a support ticket with the B2C team by following the instructions here: https://docs.microsoft.com/azure/active-directory-b2c/support-options
They can help you out further, they may ask for a public repro link or additional data. You can also link this Github issue in the support request.

Thank you @jasonnutter !
More info:
Fix is demonstrated here: https://github.com/brriann/b2c-msal-pwreset
Answer from responder here: https://github.com/azure-ad-b2c/samples/issues/274


persistent_notification and configurator do not work with Lovelace

Persistent notifications and configurator currently don't show up in Lovelace. For notifications, even when I add them to the monster card or click in the States Tab, I only see the more-info dialog and no option to dismiss the notification.
Both these should show up automatically in the UI like they currently do in the regular UI.

#105


Check if Eclipse Theia Cloud version can import SecHub reports

Situation
When using eclipse theia as cloud variant  with SecHub plugin the import could be problematic because the import is done by fs inside  sechubModel.ts#loadFromFile
Wanted
Check if this is a problem. If it is - create a new issue to solve the problem.
Solution / How to
We can simple check this by using https://theia-ide.org/ (e.g. gitpod)  + install SecHub plugin there and do an import from report view.

I tried out with https://theia-ide.org/, the plugin was installable, unfortunately the file import does not work because of the file access.
But we will implement api client calls later inside plugin, so reports can be fetched directly from server, which will also work inside cloud.

@de-jcup did you use GitPod?

@Jeeppler : Unfortunately at https://theia-ide.org/ there is no longer the link for cloud variant directly on the main page available. As far as I remember there was a link directly on the website which was used by myself to install the plugin inside the cloud.
But using https://gitpod.io/#https://github.com/eclipse-theia/theia this works as well - sechub is installable as plugin but has got the mentioned problems.


no maping one directory | Esta version esta pésima se cuelga por todo

VSCode Version: Code 1.9.0 (27240e71ef390bf2d66307e677c2a333cebf75af, 2017-02-02T08:31:00.827Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions:

Extension
Author
Version

debugger-for-chrome
msjsdiag
2.5.2

Steps to Reproduce:

English please 👍

When using visual studio code making a directory for projects with angular or javascript, next, when opening these files gives an error if the directory is shared and starts to fail and( VS Code does not work)

From: Benjamin Pasero<EMAIL_ADDRESS>Sent: 05 February 2017 04:02
To: Microsoft/vscode
Cc: patmic; Author
Subject: Re: [Microsoft/vscode] no maping one directory | Esta version esta pésima se cuelga por todo (#19955)
English please 👍
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/vscode/issues/19955#issuecomment-277506070, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFLW0UhsJf4OoCwbaRLOQaB0kfr9p-iWks5rZZAxgaJpZM4L3XxX.


Money lose

People do not get money when they go to the server! How to solve this problem?

I'm sure you understand that there are no "money loss feature" in vRP right, and if the bug was about the money, it would be solved now. There are multiple scenarios that can cause this issue (possible duplicate https://github.com/ImagicTheCat/vRP/issues/312), mostly related to MySQL async (vrp_mysql). Submitting issues without giving maximum information about your setup, your number of players, or anything else even if you think that is not helpful, will not solve anything.
Also, duplicating your message in every place possible (github, discord, FiveM forum) is the best way to make people ignore you. Bug reports are on github ONLY, since the very beginning.

http://prntscr.com/g7ve91
I have 30 people on the server, one of them in the database when entering the game balance of money on the bank 0
Always in the console there are errors, I do not know what they are connected with.
[   7208203] Error running system event handling function for resource vrp: citizen:/scripting/lua/scheduler.lua:39: Failed to execute thread: modules/mission.lua:42: bad argument #1 to 'unpack' (table expected, got nil)
[   7208203] stack traceback:
[   7208203] 	[C]: in function 'table.unpack'
[   7208203] 	modules/mission.lua:42: in field 'nextMissionStep'
[   7208203] 	modules/mission.lua:25: in local 'f'
[   7208203] 	[string "-- Proxy interface system, used to add/call f..."]:39: in upvalue 'handler'
[   7208203] 	citizen:/scripting/lua/scheduler.lua:124: in function citizen:/scripting/lua/scheduler.lua:123
[   7208203] stack traceback:
[   7208203] 	[C]: in function 'error'
[   7208203] 	citizen:/scripting/lua/scheduler.lua:39: in field 'CreateThreadNow'
[   7208203] 	citizen:/scripting/lua/scheduler.lua:123: in function citizen:/scripting/lua/scheduler.lua:92
Can I throw off the whole file with my log files??

If you have different errors in the log file, copying them is helpful, the entire log files can contains IP and other things, which is not good to put publicly.

ACL is known to be causing such issues, if you have that in your server then that's probably the cause

Player lost money after the client crash, there were 25 people on the server. Try to reproduce error and record the logs.

You need to change the mysql system, it obviously can not cope with the load of players ... 30 people on my server always, I think it's time to move to ES

-- save money on leave
AddEventHandler("vRP:playerLeave",function(user_id,source)
  -- (wallet,bank)
  local tmp = vRP.getUserTmpTable(user_id)
  if tmp then
    MySQL.query("vRP/set_money", {user_id = user_id, wallet = tmp.wallet or 0, bank = tmp.bank or 0})
  end
end)

I think problem with tmp.wallet/bank when the client сrush

You changed something in the code? You do not have such a problem anymore?

https://github.com/ImagicTheCat/vRP/commit/a8ba7f80b3a302860e9a936f132800798258f6f7

fixed, can be closed


tittle bar custom is not working

Custom title bar is not showing.

Version: 1.30.0-insider (user setup)
Commit: cd5b4d1bb3fc7e509fba077095b2b280b8ff7161
Date: 2018-11-29T06:32:54.872Z
Electron: 2.0.12
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
OS: Windows_NT x64 10.0.17134
It is now like this:

It was like this:

Title bar style:

Does this issue occur when all extensions are disabled?: Yes

@MrMuMu Can you verify that window.smoothScrollingWorkaround is not enabled on the problematic build. It is incompatible with the custom titlebar

@sbatten it was enabled, it is fixed when I disabled it. However it was working before when it was enabled. Is there a specific reason for disabling it?

@mrmumu the smooth scrolling workaround does not work when the custom title bar is enabled and a recent refactor introduced this check

thank you for explanation, have a nice day, closing the issue.

@lochstar  see comment https://github.com/Microsoft/vscode/issues/64967#issuecomment-446965079


Julia/etcd dashboard

Updates ETCD dashboard to use new API only. Also for it to live in this repo instead of dogweb (I'll open a PR to remove it from there).
Staging dashboard: https://dd.datad0g.com/screen/integration/30245/etcd-overview?from_ts=1569939203983&to_ts=1569942803983&live=true

I think that this widget lacks some clarity, I'm still not sure which of green or orange means "leader"
Also this graph is irrelevant in a containerized environment, any host containing at least one leader would be considered as a leader.

Ok, removed leaderboard and added memstats instead


edit

resubmitted changes, merge conflicts.

Docs Build status updates of commit e69273f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Community/versioning-basics-best-practices.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


New Release Readonly change not working

[#65]) Hi , I am working ng-quill latest version . read-only property working based on initial value if i change read-only dynamically , read-only property not working properly
    <input type="checkbox" ng-model="readOnly">
    <ng-quill-editor ng-model="title" required="true" read-only="readOnly" modules="{toolbar: false}"></ng-quill-editor>

I do not know if quill provides this in general:
http://quilljs.com/docs/configuration/
i only found that i can set it initially for creation.
do you know another way?
If not you have to could add two quill with the same model --> with *ngIf you can destroy the editable one if readonly and vice versa
If this workaround solves the issue or you do not know another approach, close the issue please.

Thanks ,  Giving workaround fix . I am also trying to fix readonly property other way around.

But i think it is cleaner and easier if your grad the editor instance with the editorcreated output from ng2-quill and call the quill function directly, if you need them, instead of adding additional bindings?

i added it anyway and released 2.0.1


The app is always running in release mode after the RN upgrade from 0.71.7 to 0.72.3

I use the multi-env config. After the RN upgrade, the app always runs in release mode when I start it from VSCode (ENVFILE=.env.local react-native run-ios). Since it is release build the Metro bundler shows the following warning:
warn No apps connected. Sending "reload" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB.

But once I run the application from the XCode (also using multiple schemes: "Myapp (local) scheme") it is running in the development mode and I can reload the app or open the dev menu from Metro.
Please ask, if you need any additional information I will try to provide it

Since the 0.72 version ships with React Native CLI v11, there might be some breaking changes.
Everything work fine (in Debug mode) if I run the app in the following way:
"ENVFILE=.env.local react-native run-ios --mode \"Debug\""

I explicitly set the mode arg (former variant arg) to "Debug" as a value.

@arthedza Did you find any solution for this?


GH-44667: [Archery] Suppress pull/push progress logs

Rationale for this change
They are useless and noisy in CI log.
What changes are included in this PR?
Add the --quiet option to docker pull/docker push.
Are these changes tested?
Yes.
Are there any user-facing changes?
No.

@github-actions crossbow submit wheel-manylinux-2-28-cp39-cp39-amd64

@github-actions crossbow submit wheel-manylinux-2-28-cp39-cp39-amd64


Async URLFetch

https://ocd.appscale.com:8080/job/Daily Build/2339/

Build: https://ocd.appscale.com:8080/job/Daily Build/2340/


Monitoring with influxdb

How can i use Grafana and InfluxDb for monitoring vflow? I could not find any documentation for enabling monitoring.
I am running vflow and influxdb on a separate dockers.

@parmenides pls check this:
https://github.com/VerizonDigital/vflow/tree/master/monitor
vFlow exposes metrics through API and there is a sample monitoring collector under /monitor.

@mehrdadrad , what is that monitor command on crontab? I searched for an executable called monitor but couldn't find it after installing vflow on Ubuntu.

@taq it collects the vFlow internal metrics (for examples ipfix/sflow/netflow udp packet per seconds or memory heap allocation) and it ingests them to influxdb or tsdb
https://github.com/VerizonDigital/vflow/tree/master/monitor

Thanks! :-)

Is there an a grafana dashboard we can download as a starting point?


TS gives JSDoc error on ...rest parameter, even when the prescribed fix in the error msg is implemented.

Bug Report
For JavaScript typed with the JSDoc version of TypeScript.
Then TS gives JSDoc error on ...rest parameter, even when the prescribed fix in the error msg is implemented.
Could be related to this PR: https://github.com/microsoft/TypeScript/pull/29352
Which was implemented as a fix for this issue: https://github.com/microsoft/TypeScript/issues/27010
🔎 Search Terms
ts8032 rest, ts 8032 typescript, jsdoc typescript type rest object
🕗 Version & Regression Information
› npx tsc -v
Version 4.6.2

This is a crash

⏯ Playground Link
Playground link with relevant code
💻 Code
// @ts-check

// Error: `Qualified name '...rest' is not allowed without a leading '@param {object} ..'. ts(8032)`
/**
 * @param {object} ...rest
 */
function f1 (...rest) {
  return rest
}

// Works:
// But this is slightly problematic, as the JSDoc then will give a wrong indication to the user of the function:
// by indicating a single input object, instead of a variable amount of input objects.
/**
 * @param {object} rest
 */
function f2 (...rest) {
  return rest
}

🙁 Actual behavior
The f1 case gives error on the ...rest parameter in the JSDoc.
The f2 case renders the documentation as @param rest which is misleading.
🙂 Expected behavior
No error on the ...rest parameter in the JSDoc. Since the code implements exactly what the error message prescribes (adding or removing dots doesn't help).

Rest parameters in JSDoc are annotated by adding the ... in front of the type, so write {...object} rest instead of {object} ...rest.
See: https://jsdoc.app/tags-param.html#multiple-types-and-repeatable-parameters

Thanks! For future reference to others, this works, without error:
/**
 * @param {...object} rest   the name of the argument array
 */
function f2 (...rest) { // the argument array is spread out into individual arguments.
  return rest           // but can still be referenced directly, as here.
}

The tooltip doc shows:
function f2(...rest: object[]): any[]
@param rest — the name of the argument array

Which makes sense. So I'm closing this issue.


Integrate more complex cartopy and basemap features

This will add integration for some addictional cartopy and basemap features, like Basemap.bluemarble. Should be pretty simple. Just add stuff to the ProjectionAxes.format and CartopyAxes._format_apply and BasemapAxes._format_apply methods.

Have you gotten https://github.com/lukelbd/proplot/issues/21 / https://github.com/SciTools/cartopy/pull/1117 to work prior to the formal cartopy update? I know you mentioned in #21 that you could get it to work manually, but I haven't had any success. Curious if you have any hacky ideas to get grid labeling done in proplot.


Dynamically pass credentials to the Napalm module

Issue type
[x] Feature request
[ ] Bug report
[ ] Documentation

Environment

Python version: 3.5.4
NetBox version:  2.1.3

Description
Please implement a way to pass SSH credentials to the Napalm module via the web interface or login creds.
I require a dynamic way to pass the --user and --password Naplam values to the module. My goal is to hookup NetBox to LDAP therefore allowing users to auth with NetBox and query devices using Napalm with the same creds.
Thanks,

I require a dynamic way to pass the --user and --password Naplam values to the module.

What is the modification being proposed?

Could the device details be edited to provide an option to specify a "secret" that is defined in NetBox that can then be passed to NAPALM?
I don't believe applying such as setting anywhere other than per-device makes much other sense, unless a "Device Group" feature is implemented in the future.
This would be very scaleable as if the login is used across a range of devices (such as per-customer), editing it in one place (say when the RADIUS/TACACS password is updated) and then all devices that it applies to, NAPALM will use the correct details.
Thanks for putting together such a great tool...keep these improvements coming.

An alternative to using POST requests would be to pass the username and password as HTTP headers. For example:
curl \
-H "Authorization: Token <TOKEN>" \
-H "NAPALM-Username: <USERNAME>" \
-H "NAPALM-Password: <PASSWORD>" \
-H "Content-Type: application/json" \
-H "Accept: application/json; indent=4" \
https://netbox/api/dcim/devices/<PK>/napalm/?method=get_facts

The provided parameters would override the statically configured credentials. This approach could be extended to support other arguments as well.

we are currently running into exactly the same problem described above and asking for a possible solution period or a way to "bypass" the issue at the moment ?
We use different static usernames and passwords for different devices.
How about getting the usernames and passwords from the "Contextual Configuration Data" ?


Opacity for Spatial Images

User Story:
As a researcher, I want the ability to adjust the opacity for spatial images so I can control the opacity and allow me to visualize certain regions of the tissue if the original image quality is poor.

@niknak33 updated wording to opacity !

Thank you @tihuan

Done!


filepicker can only go three levels down in the filetree

The Filepicker can only go three levels down in the filetree.

I have checked again, i cant open the last folder in filetree, i can add all the levels i want.
But the last folder will not fold out

Amalie,
This is fixed in the latest version

Thanks :+1:


Eventhub event metadata is None

I followed the example code in Eventhub triggerred Azure function in python. However, I got None for event enqueue time, offset, and etc.
import logging
import azure.functions as func

def main(event: func.EventHubEvent):
    logging.info('Function triggered to process a message: ', event.get_body())
    logging.info('  EnqueuedTimeUtc =', event.enqueued_time)
    logging.info('  SequenceNumber =', event.sequence_number)
    logging.info('  Offset =', event.offset)

EnqueuedTimeUtc, SequenceNumber, Offset are all None.
event.getbody() return the right payload I sent to evetnhub. Do I need to modify the payload I sent to eventhub to get the EnqueuedTimeUtc and other metadata?

@elprans can you investigate this?

@elprans I tried to set    "cardinality": "many" and one. Both of them print offset None. Cloud you help with it? Do I need to modify the data I send to eventhub for using those metadata?

I was able to repro. Will need to take a fix for this in the library code.

Still experiencing None for metadata here too... Is this going to be fixed soon?

This still appears to be an issue? Nothing within the passed in object func.EventHubEvent has SystemProperties? Like above, no EnqueuedTime available

Have the same problem mentioned by @richardleeaus

Any thoughts @Hazhzeng ?

While the func.EventHubEvent.iothub_metadata is filled locally with func host start where I use
Azure Functions Core Tools (2.7.2508 Commit hash: 4da36643c32783a832094318afcd679fa9d76455)
Function Runtime Version: 2.0.13351.0

In the cloud infrastructure it is empty. So when will it be fixed in the cloud. It is currently a show stopper for a project I am working on. Or is there another method to get the sending device_id from the event variable I haven't found yet. Any help is appreciated.


Add docs for workaround of issue #108

I added a section to the install section of the readme to address issue #108.
Let me know if i need to change or move anything, or if I messed something up with the PR.

This doesnt apply anymore, node-pty-prebuilt took care of this.


not detecting various imports and missing cycles

Hi,
it seems the tool doesn't process all the import syntax correctly. Not sure which ones it skips but I recommend checking into it:
import Package [as newname]
from Package import sub [as newname]
from .. import relativething [as newname]
from Foo import *
I don't know if the cycle detection is buggy or that the tool misses some imports (or both), but it doesn't find any cycle at all in my Pyro4  project. But there sure are cycles! See https://github.com/irmen/Pyro4/issues/148  (the graphs are generated by my own cycle analisys tool + graphviz btw)

Thanks for reporting! I'll take a look


ENH: Add CI job to publish multimodal package

Resolves #461.

@ant0nsc can we please create a PyPI token for this package?

[Pinging @ant0nsc]


Can't get correct evaluation results by following instructions

Hi,
Thanks for your work! I followed the instructions to evaluate on segmentation propagation but failed. I tried to evaluate all folds by executing following commands:
python run_segmentation.py 1 0
python run_segmentation.py 1 1
python run_segmentation.py 1 2
python run_segmentation.py 1 3
python run_segmentation.py 1 4
python eval.py ../data/seg_results/STAGE1_RESULT/ ../data/seg_results/
python eval_view.py ../data/seg_results/STAGE1_RESULT.h5
this is what I have got:

I got the same result for STAGE0.
Thanks for your help!

Hi Wei,
Thanks for your interest. Good that you got the same result for STAGE0. So, it seems there is something wrong with the 'caffemodels' that you got by downloading or re-training. Can you please check them? With out further information, it is difficult to find out what is the issue.
Thanks,
Varun

@varunjampani Sorry, I mean the same as above.

Can you check the output of the network? Are they all zeros? And, what about the loaded network weights? Are they also all zeros?

I thought there might be problems with gSLICr superpixels. Here is what I got for bear/00000.pgm

I rescaled the pixel value with a factor of 5 and it looks like this.

Is this normal? Could you please post some superpixels result pictures for reference？
Thank you very much.

For the first picture, the pixel value increases from 1 to 44 continuously.

I doubt that this is a problem of superpixels as 'STAGE0' (BNN-Identity) worked for you. I think, the above super pixel problem you mentioned is an issue of visualization. Can you please confirm if the STAGE1 caffemodels that you downloaded have around 79MB size?

Actually, STAGE0 didn't work for me. I actually meant I got the same result as STAGE1 for STAGE0 when I said I got the same result. I'm sorry if my words made you confused.

Sorry that I misunderstood your message. Then, this might be a problem with superpixels. It is difficult to compare with the visualizations. Can you email me a couple of superpixel files (ppm files) so that I can compare them with the superpixel files that I have?

Thanks very much! I have sent the files to your email address at tue.mpg.de.

There is nothing wrong with the superpixels. I just compared yours with the superpixels I extracted. Problem seem to be somewhere else.

Did you find where the problem is?

Hi Varun,
Thanks for your concern! I'm sorry  for forgetting to reply. Actually I
didn't find out where the problem is. For other reasons, I have changed my
research topic and didn't go deeper into it. Thanks for your help and
concern! Really appreciate it! I will close the issue.
Best regard,
Tianhao Wei
2017-09-08 21:13 GMT+08:00 Varun Jampani<EMAIL_ADDRESS>
Did you find where the problem is?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/varunjampani/video_prop_networks/issues/2#issuecomment-328099782,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARHQNjQA_o2V1KikqUCJFqHrVsqY02lzks5sgT2TgaJpZM4OvKI3
.

--
Best regards,
魏天昊 | Tianhao Wei
Phone:(+86)155-5803-6613

Hi Wei, Thanks for the information.

Hi @varunjampani ,
I figured out where the problem is!  It's related to the cuda version. I degraded the cuda version to 7.5 and got a much better results!
I got the right results for stage 0 and stage 1 fold 2, 3, 4. The results for stage 1 fold 0 and stage 1 fold 1 are wrong.
Is there any difference between fold 0, 1 and the rest?

Hi @varunjampani ,
I figured out where the problem is! It's related to the cuda version. I degraded the cuda version to 7.5 and got the right results!

Thats good to know. Thanks for the information.


Cjs

Cjs webpart simple support
Future updates according to the development of cjs server part
#TODO
support for db

A couple issues but so far good work.
Your nginx config has bad indentation, and you can combine the location block into one to cover all languages.
location ~ ^/(.*)/web-service/snfgenerator/session$ {
    proxy_pass http://localhost:3000/session;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

Also please move your routes into their own subdirectory like this:-
├── dash
│   ├── routes
│   │   ├── snow
│   │   │   ├── session.py
│   │   |   └── swrequest.py


Add .NET Core 3.0 target and enable COM support on that target

Add a .NET Core 3.0 target.
Enable COM on the .NET Core 3.0 target
Port over the .NET Core COM events implementation
Make Microsoft.Scripting.ComInterop.ComObject public so the Microsoft.Scripting.ComInterop.ComObject.ObjectToComObject method is publicly exposed.

Since .NET Core 3.0 will not support using dynamic with COM objects because of time constraints (see dotnet/coreclr#24246) and the DLR in this repository already has the a full dynamic COM implementation, I feel that by exposing the Microsoft.Scripting.ComInterop.ComObject.ObjectToComObject method so users can hook into this dynamic support when using C#'s dynamic feature, we can enable users to use dynamic with COM objects on .NET Core 3.0.
TODO: Fix Azure DevOps CI to use a host that has VS2019/.NET Core 3.0
Fixes #190

/azp run

CI has been having issues lately, triggered a build manually: https://dev.azure.com/dotnet/IronLanguages/_build/results?buildId=16439
This will likely break the IronPython build process since there are some things that are skipped when building with MSBuild Core.

I'm fine switching back to full MSBuild. I was just having a few issues so I decided to try out the Core version.

Yeah I don't know why the non-Windows build is failing the way it is. Looks like a bug in Mono (and for somre reason it also looks like the Mono version in those images got downgraded for some reason)

I had similar issues with Mono and recent SDKs: https://github.com/dotnet/core/issues/2540

If I recall correctly the blocker for switching to building with MSBuild Core is the exec ilasm in ClrAssembly.csproj.

@slozier where is the ReachType target called in the build process?

Idea: depending on how you do your NuGet deployment, we could change the build to use Full MSBuild on Windows and MSBuild Core off-Windows.

@jkoritzinsky It's not used in the build process itself. The assembly is only used for testing.

@slozier I have a clean CI build using Full MSBuild on Windows and Core MSBuild off-Windows. The bug with using Full MSBuild + .NET Core 3.0 off-Windows that you linked should be fixed in the next VS for Mac release based on what I can find online (it's a versioning bug in NuGet's assemblies).

@jkoritzinsky Thanks for the PR. I will have to run some tests against IronPython to make sure this doesn't break anything unexpected (may take a few days before I egt around to it since I'll be at Pycon).

That’s fine with me. Enjoy Pycon!


irradiadiance.extraradiation() returned values inconsistency

The method 'pyephem' returns a pandas.TimeSeries whereas the methods 'asce' and 'spencer' do not.

Yes, this has bothered me in the past and I meant to fix it in #214 or #215. It also does not accept datetime.date, datetime.datetime, or pandas.Timestamp inputs. I think that regardless of method, pandas input should yield TimeSeries output, and all other input should yield scalar or array output.


⚠ Bofrost.fr has degraded performance

In ddf9cfd, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1910 ms

Resolved: Bofrost.fr performance has improved in 8ef520d after 9 minutes.


HARP-13852 Increase precision, otherwise tilt is too inaccurate

Improve the epsilon used when comparing the dot product.
When the tilt animation has finished, a final check is done to see if the targeted tilt is reached, and if not, we apply the delta needed to reach the desired tilt.

@atomicsulfate , I agree, I will put the test in a separate PR, so we can at least get this into the release.

@atomicsulfate , I agree, I will put the test in a separate PR, so we can at least get this into the release.

retest this please

retest this please


Not compatible with Apollo client 3.6 due to removed hooks.

Compiled with problems:

ERROR in<EMAIL_ADDRESS>21:22-77

Module not found: Error: Can't resolve '@apollo/client/react/hooks/utils/useDeepMemo'

Thanks for the report! Im on vacation for another 2ish weeks. Im thinking the fix here is to just copy that util into this lib or see how they’re memoizing hook post the refactor. I can look into that once im back or if anyone wants to dive in feel free


Cannot GET /

When i enter to the url i get the error
Cannot GET /

did u find out what the problem was?
if yes i'd like to know because i have this issue. thanks.


[igraph] no -Werror

Otherwise the build fails for me

Thank you!

Otherwise the build fails for me

Please report this to upstream, including your compiler and OS version.


[FLINK-22519][flink-python] support tar python archives

What is the purpose of the change
Support tar python archives.
Brief change log

Add TarUtils.
Choose between ZipUtils vs. TarUtils based on the archivePath.
TODO: tests and docs.

Verifying this change
This change added tests and can be verified as follows: TODO
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? docs and JavaDocs

Any update on

Any update  on this PR ? Supporting tar is definitely necessary.

Any update on this PR ? Supporting tar is definitely necessary.

Hi Jeff, I haven't worked on this for a while. Though if you see the need being urgent, I am happy to revisit and try to finish this next week.

Thanks @YikSanChan I am trying to make a workaround via yarn.ship-archives, but it would still be helpful if this PR is merged.

@YikSanChan Regarding to tests, you could take a look ZipUtilsTests which is added recently for reference.

@YikSanChan  What's the status of this PR? I'm asking because we are approaching the feature freeze of 1.14 which is planned at the end of this month. It would be great to include this feature in 1.14.

@YikSanChan @dianfu  Here's one zeppelin notebook which create conda env tar and zip file to use customized python env in yarn cluster. But it would be great if this PR can be merged so that I can only create one tar file. http://<IP_ADDRESS>/#/notebook/2G8N1WTTS

@dianfu @zjffdu my bad since I wasn't working on this for a while. Luckily I will get some free time next week, I will try and let you folks know by EOW next week

@YikSanChan Any update ?

@YikSanChan Any update ?

Hi Jeff, I am not able to work on this recently.

@YikSanChan Since this feature is very important and you don't have much bandwidth on this work. If you don't mind, I'd like to take over this PR and continue the work based on this PR.

@YikSanChan Since this feature is very important and you don't have much bandwidth on this work. If you don't mind, I'd like to take over this PR and continue the work based on this PR.

Feel free, no worry at all.

@YikSanChan Thanks a lot~


[BUG] VM IP addresses should be labeled per network interface

Describe the bug

currently, it is unclear why/which IP is relevant for the user. i.e. the vm in screenshot with 2 IPs was provisioned through harvester. The ones with 3 IPs were through rancher. I'm assuming this is something like  , , <vlan/current_networkIP>

To Reproduce
Steps to reproduce the behavior:

deploy a VM through harvester
deploy a VM using harvester node driver through rancher

Expected behavior
UI Should display clearly what is shown to the user
Environment:

Harvester ISO version: v1.0.1-rc1
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): baremetal, dell poweredge r510)

Verified fixed on master-26bff4f1-head (06/10) with Rancher v2.6.5. Close this issue.
Result
Now the VM list only show IP which related to user access.
And provide hover message on each displayed IP address

Test Information

Test Environment: 1 node harvester on local kvm machine
Harvester version: master-26bff4f1-head (06/10)

Verify Steps

Enable network with magement-mgmt interface
Create vlan network vlan1 with id 1
Check the IP address on the VM page
Create a VM with mangement-mgmt network
Import Harvester in Rancher
Provision a RKE2 cluster from Rancher
Check the IP address on the VM page


fix(Rx): make sure all necessary operators are added for router inter…

…nal use
There was an issue where all unit tests would pass even though all of the appropriate operators for Rx usage inside of the router were not added. This is because importing all of Rx (as the tests had done) adds all operators by default.
This change forces the tests to require the same observable that the router is using, and for any additional operators or functionality, the tests are pulling in those bits from RxJS directly without mutating the prototype.
We should be more careful from now on to make sure no tests bring in all of Rx.

related to https://github.com/Netflix/falcor-restify/issues/5
cc @sdesai @jhusain

FYI: after this change, we'll want to do a patch release.


Additional software needed in docker

[x] 1. trimmomatic-0.39.jar in rna_quant
[x] 2. collapse_annotation.py script in bioinfo
[x] 3. gffread in bioinfo
[x] 4. Normalization script in bioinfo

[ ]

collapse_annotation.py script in bioinfo

This should go to rna_quant

I fixed it.


Remove octokit.dll. Release v4.5.7

After merging from latest main, the octokit.dll reference in security.csproj was already gone.


Rich container implementation

Issue Description
Rich container is a very valuable feature of container technology. With the popular docker's concept, we should always run a single process or application in one single container. It seems to simplify process management in container. However it would affect application itself. This would be somewhat invasive to application which is definitely not a good way.
While rich container is one kind of container which could bear other system service running in container to help application run with whatever it wants. More specifically, we construct a system init process in the initialization of container.
Describe what happened:
Currently one single process or application in the only way suggested.
Describe what you expected to happen:
Rich container can be implemented in Pouch.

I think this has been implemented in PR https://github.com/alibaba/pouch/pull/767. Closing this.


Can't unhide 'Run or debug' button

There is no way to unhide the 'Run or debug' button once hidden, which I have accidentally done

@Youtheone1 here is how you can get it back: https://github.com/microsoft/vscode-python/issues/20064#issuecomment-1292338331
FYI, You should file this as an issue on VS Code. This is related to how VS Code UI manages buttons contributed by various extensions. So, python extension does not control this behavior.


Do we need to take multiple inputs for type converter?

typeconverter XtoYConverter(xmlElement input1,  xmlElement input2, ..) (xmlElement output) {
statements+;
}

typeconverter support is removed from Ballerina from 0.88. this is replaced with transformStmt.


Fixed dgram_recv_queue_overflow unit test

Just fixes the broken dgram_recv_queue_overflow unit test.
It was probably a fault on my side, I was sure I had fixed it but apparently.. not :)

Merged, thanks!


[BUG][Remote Store] Snapshot failing with metadata not found for given commit generation and Primary Term

Describe the bug
Sometimes Shallow copy snapshot fails with  java.nio.file.NoSuchFileException: Metadata file is not present for given primary term x and generation y. This was not failing before this change to enable remote translog by default for all remote store enabled indices. With remote translog, for some reason sometimes metadata upload is failing.
StackTrace
 1> [2023-09-20T18:35:08,312][INFO ][o.o.g.GatewayService     ] [node_s_0] recovered [0] indices into cluster_state
  1> [2023-09-20T18:35:08,335][INFO ][o.o.p.PluginsService     ] [node_s_0] PluginService:onIndexModule index:[5xKtmZlJRVebR0ZXyQUZTg/3pX3b02mT0i4h__cwb5nog]
  1> [2023-09-20T18:35:08,475][INFO ][o.o.c.m.MetadataIndexTemplateService] [node_s_0] adding template [one_shard_index_template] for index patterns [*]
  1> [2023-09-20T18:35:08,529][INFO ][o.o.p.PluginsService     ] [node_s_0] PluginService:onIndexModule index:[gW_0lhzgRQ2jP722YTjFDA/87LlrmZPT66T9xhIbvg9rQ]
  1> [2023-09-20T18:35:08,531][INFO ][o.o.c.m.MetadataIndexTemplateService] [node_s_0] adding template [random-soft-deletes-template] for index patterns [*]
  1> [2023-09-20T18:35:08,572][INFO ][o.o.r.b.BlobStoreRepositoryRemoteIndexTests] [testRetrieveShallowCopySnapshotCase2] before test
  1> [2023-09-20T18:35:08,574][INFO ][o.o.r.b.BlobStoreRepositoryRemoteIndexTests] [testRetrieveShallowCopySnapshotCase2] -->  creating snapshot repository
  1> [2023-09-20T18:35:08,610][INFO ][o.o.r.RepositoriesService] [node_s_0] put repository [test-repo]
  1> [2023-09-20T18:35:08,668][INFO ][o.o.r.b.BlobStoreRepositoryRemoteIndexTests] [testRetrieveShallowCopySnapshotCase2] --> creating an index and indexing documents
  1> [2023-09-20T18:35:08,674][DEPRECATION][o.o.d.c.m.MetadataCreateIndexService] [node_s_0] index [test-idx] matches multiple legacy templates [one_shard_index_template, random-soft-deletes-template], composable templates will only match a single template
  1> [2023-09-20T18:35:08,682][INFO ][o.o.p.PluginsService     ] [node_s_0] PluginService:onIndexModule index:[test-idx/Mp2VSUHSTjSU5CV2fZWKfw]
  1> [2023-09-20T18:35:08,687][INFO ][o.o.c.m.MetadataCreateIndexService] [node_s_0] [test-idx] creating index, cause [api], templates [random-soft-deletes-template, one_shard_index_template], shards [1]/[0]
  1> [2023-09-20T18:35:08,755][INFO ][o.o.p.PluginsService     ] [node_s_0] PluginService:onIndexModule index:[test-idx/Mp2VSUHSTjSU5CV2fZWKfw]
  1> [2023-09-20T18:35:09,152][DEBUG][o.o.r.b.BlobStoreRepositoryRemoteIndexTests] [testRetrieveShallowCopySnapshotCase2] indices [_all] are green
  1> [2023-09-20T18:35:09,242][INFO ][o.o.p.PluginsService     ] [node_s_0] PluginService:onIndexModule index:[test-idx/Mp2VSUHSTjSU5CV2fZWKfw]
  1> [2023-09-20T18:35:09,247][INFO ][o.o.c.m.MetadataMappingService] [node_s_0] [test-idx/Mp2VSUHSTjSU5CV2fZWKfw] create_mapping
  1> [2023-09-20T18:35:11,975][INFO ][o.o.i.t.t.TranslogTransferManager] [node_s_0] [test-idx][0] Deleting primary terms from remote store lesser than 1
  1> [2023-09-20T18:35:18,596][INFO ][o.o.r.b.BlobStoreRepositoryRemoteIndexTests] [testRetrieveShallowCopySnapshotCase2] --> creating a remote store enabled index and indexing documents
  1> [2023-09-20T18:35:18,598][INFO ][o.o.p.PluginsService     ] [node_s_0] PluginService:onIndexModule index:[test-rs-idx/SVXDkTFQRaiuRcGdZIu6iQ]
  1> [2023-09-20T18:35:18,601][INFO ][o.o.c.m.MetadataCreateIndexService] [node_s_0] [test-rs-idx] creating index, cause [api], templates [random-soft-deletes-template, one_shard_index_template], shards [1]/[1]
  1> [2023-09-20T18:35:18,642][INFO ][o.o.p.PluginsService     ] [node_s_0] PluginService:onIndexModule index:[test-rs-idx/SVXDkTFQRaiuRcGdZIu6iQ]
  1> [2023-09-20T18:35:18,794][INFO ][o.o.i.s.RemoteStoreRefreshListener] [node_s_0] [test-rs-idx][0] Scheduled retry with didRefresh=true
  1> [2023-09-20T18:35:18,806][INFO ][o.o.p.PluginsService     ] [node_s_0] PluginService:onIndexModule index:[test-rs-idx/SVXDkTFQRaiuRcGdZIu6iQ]
  1> [2023-09-20T18:35:18,809][INFO ][o.o.c.m.MetadataMappingService] [node_s_0] [test-rs-idx/SVXDkTFQRaiuRcGdZIu6iQ] create_mapping
  1> [2023-09-20T18:35:27,437][INFO ][o.o.r.b.BlobStoreRepositoryRemoteIndexTests] [testRetrieveShallowCopySnapshotCase2] --> create first remote index shallow snapshot
  1> [2023-09-20T18:35:27,437][INFO ][o.o.r.RepositoriesService] [node_s_0] update repository [test-repo]
  1> [2023-09-20T18:35:27,485][INFO ][o.o.r.b.BlobStoreRepositoryRemoteIndexTests] [testRetrieveShallowCopySnapshotCase2] --> creating snapshot [test-snap-1] of [test-idx, test-rs-idx] in [test-repo]
  1> [2023-09-20T18:35:27,514][INFO ][o.o.s.SnapshotsService   ] [node_s_0] snapshot [test-repo:test-snap-1/2q4MFU80Sue7Z093iODCkQ] started
  1> [2023-09-20T18:35:27,523][INFO ][o.o.r.b.BlobStoreRepository] [node_s_0] [[test-rs-idx][0]] [test-snap-1/2q4MFU80Sue7Z093iODCkQ] snapshot to [test-repo] [_new] ...
  1> [2023-09-20T18:35:27,546][WARN ][o.o.s.SnapshotShardsService] [node_s_0] [[test-idx][0]][test-repo:test-snap-1/2q4MFU80Sue7Z093iODCkQ] failed to snapshot shard
  1> java.nio.file.NoSuchFileException: Metadata file is not present for given primary term 1 and generation 4
  1>    at org.opensearch.index.store.RemoteSegmentStoreDirectory.getMetadataFileForCommit(RemoteSegmentStoreDirectory.java:500) ~[main/:?]
  1>    at org.opensearch.index.store.RemoteSegmentStoreDirectory.acquireLock(RemoteSegmentStoreDirectory.java:442) ~[main/:?]
  1>    at org.opensearch.index.shard.IndexShard.acquireLockOnCommitData(IndexShard.java:1548) ~[main/:?]
  1>    at org.opensearch.snapshots.SnapshotShardsService.snapshot(SnapshotShardsService.java:409) [main/:?]
  1>    at org.opensearch.snapshots.SnapshotShardsService.lambda$startNewShards$1(SnapshotShardsService.java:282) [main/:?]
  1>    at org.opensearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:849) [main/:?]
  1>    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) [?:?]
  1>    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) [?:?]
  1>    at java.lang.Thread.run(Thread.java:1623) [?:?]
  1> [2023-09-20T18:35:27,672][INFO ][o.o.s.SnapshotsService   ] [node_s_0] snapshot [test-repo:test-snap-1/2q4MFU80Sue7Z093iODCkQ] completed with state [PARTIAL]
  1> [2023-09-20T18:35:27,678][INFO ][o.o.r.b.BlobStoreRepositoryRemoteIndexTests] [testRetrieveShallowCopySnapshotCase2] after test
  1> [2023-09-20T18:35:27,681][INFO ][o.o.c.m.MetadataDeleteIndexService] [node_s_0] [test-idx/Mp2VSUHSTjSU5CV2fZWKfw] deleting index
  1> [2023-09-20T18:35:27,682][INFO ][o.o.c.m.MetadataDeleteIndexService] [node_s_0] [test-rs-idx/SVXDkTFQRaiuRcGdZIu6iQ] deleting index
  1> [2023-09-20T18:35:27,739][INFO ][o.o.i.t.t.TranslogTransferManager] [node_s_0] [test-idx][0] Deleted all remote translog data
  2> REPRODUCE WITH: ./gradlew ':server:test' --tests "org.opensearch.repositories.blobstore.BlobStoreRepositoryRemoteIndexTests.testRetrieveShallowCopySnapshotCase2" -Dtests.seed=4C1E3EA4A4E022F9 -Dtests.security.manager=true -Dtests.jvm.argline="-XX:TieredStopAtLevel=1 -XX:ReservedCodeCacheSize=64m" -Dtests.locale=en-US -Dtests.timezone=Portugal -Druntime.java=20
  2> java.lang.AssertionError:
    Expected: is <SUCCESS>
         but: was <PARTIAL>
        at __randomizedtesting.SeedInfo.seed([4C1E3EA4A4E022F9:5752428A1ED9A30]:0)
        at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
        at org.junit.Assert.assertThat(Assert.java:964)
        at org.junit.Assert.assertThat(Assert.java:930)
        at org.opensearch.repositories.blobstore.BlobStoreRepositoryHelperTests.createSnapshot(BlobStoreRepositoryHelperTests.java:160)
        at org.opensearch.repositories.blobstore.BlobStoreRepositoryRemoteIndexTests.testRetrieveShallowCopySnapshotCase2(BlobStoreRepositoryRemoteIndexTests.java:302)
  1> [2023-09-20T18:35:27,841][INFO ][o.o.n.Node               ] [suite] stopping ...
  1> [2023-09-20T18:35:27,846][INFO ][o.o.n.Node               ] [suite] stopped
  1> [2023-09-20T18:35:27,846][INFO ][o.o.n.Node               ] [suite] closing ...
  1> [2023-09-20T18:35:27,854][INFO ][o.o.n.Node               ] [suite] closed
  1> [2023-09-20T18:35:27,910][INFO ][o.o.i.t.t.TranslogTransferManager] [node_s_0] [test-rs-idx][0] Deleted all remote translog data
  1> [2023-09-20T18:35:27,917][INFO ][o.o.i.s.RemoteSegmentStoreDirectory] [node_s_0] Remote directory still has files , not deleting the path
  2> NOTE: leaving temporary files on disk at: /local/home/hbhakuni/workspace/os-opensource/OpenSearch/server/build/testrun/test/temp/org.opensearch.repositories.blobstore.BlobStoreRepositoryRemoteIndexTests_4C1E3EA4A4E022F9-001
  2> NOTE: test params are: codec=Asserting(Lucene95): {index_uuid=Lucene90, type=Lucene90}, docValues:{}, maxPointsInLeafNode=1665, maxMBSortInHeap=7.490396343497602, sim=Asserting(RandomSimilarity(queryNorm=false): {}), locale=en-US, timezone=Portugal
  2> NOTE: Linux 5.4.254-175.358.amzn2int.x86_64 amd64/Eclipse Adoptium 20.0.2 (64-bit)/cpus=8,threads=2,free=531453120,total=708837376
  2> NOTE: All tests run in this JVM: [BlobStoreRepositoryRemoteIndexTests]

Tests with failures:
 - org.opensearch.repositories.blobstore.BlobStoreRepositoryRemoteIndexTests.testRetrieveShallowCopySnapshotCase2

1 test completed, 1 failed

To Reproduce
reproduced this by running the above test in a loop and it fails after some 100th run. so this issue is not that frequent but happening due to some corner case.

Taking a look

After investigating trace logs of the failure, we found following:
[2023-09-29T05:16:21,070][DEBUG][o.o.i.s.RemoteSegmentStoreDirectory] [node_s_0] [test-rs-idx][0] Uploaded metadata file: metadata__9223372036854775806__9223372036854775803__9223372036854775787__9223372036854775805__9223370340875794737__1
.
.
.
[2023-09-29T05:16:21,126][INFO ][o.o.i.s.RemoteSegmentStoreDirectory] [node_s_0] [test-idx][0] Metadata file not found to lock for primary term = 1 and generation = 4. All files = [metadata__9223372036854775806__9223372036854775804__9223372036854775784__9223372036854775797__9223370340875802139__1, metadata__9223372036854775806__9223372036854775804__9223372036854775787__9223372036854775798__9223370340875803173__1, metadata__9223372036854775806__9223372036854775804__9223372036854775789__9223372036854775799__9223370340875804244__1, metadata__9223372036854775806__9223372036854775804__9223372036854775790__9223372036854775800__9223370340875805313__1, metadata__9223372036854775806__9223372036854775804__9223372036854775792__9223372036854775801__9223370340875806374__1, metadata__9223372036854775806__9223372036854775804__9223372036854775793__9223372036854775802__9223370340875807457__1, metadata__9223372036854775806__9223372036854775804__9223372036854775795__9223372036854775803__9223370340875808536__1, metadata__9223372036854775806__9223372036854775804__9223372036854775797__9223372036854775804__9223370340875809615__1, metadata__9223372036854775806__9223372036854775804__9223372036854775798__9223372036854775805__9223370340875810670__1, metadata__9223372036854775806__9223372036854775804__9223372036854775799__9223372036854775806__9223370340875810909__1]
[2023-09-29T05:16:21,126][WARN ][o.o.s.SnapshotShardsService] [node_s_0] [[test-idx][0]][test-repo:test-snap-1/82c6GdaFRUuk_7iLTnhLeA] failed to snapshot shard
java.nio.file.NoSuchFileException: Metadata file is not present for given primary term 1 and generation 4

If we have 2 refresh flows executing concurrently (one for scheduled refresh, another as part of flush), there is a race condition where the scheduled refresh uploads the new segments, new segments_N is created with flush and the refresh that is part of flush becomes a no-op as it does not find any new segments that are not part of the reader.
Due to this, the metadata file corresponding to commit generation on disk is not uploaded to remote store and results in NoSuchFileException.

Logs from test failure (prefixed to show the two refreshes executing concurrently):
Refresh 1 - [2023-10-03T16:27:30,424][INFO ][o.o.i.e.Engine           ] [node_s_0] [test-idx][0] --> In refresh, with source = schedule, block = false, scope = EXTERNAL
Refresh 1 - [2023-10-03T16:27:30,424][INFO ][o.o.i.e.I.ExternalReaderManager] [node_s_0] --> In ExternalReaderManager.refreshIfNeeded, before internalReaderManager.maybeRefreshBlocking()
Refresh 1 - [2023-10-03T16:27:30,424][INFO ][o.o.i.e.OpenSearchReaderManager] [node_s_0] --> Before calling openIfChanged
Refresh 1 - [2023-10-03T16:27:30,467][INFO ][o.o.i.e.OpenSearchReaderManager] [node_s_0] Reader post refresh. Generation: 3
Refresh 1 - [2023-10-03T16:27:30,471][DEBUG][o.o.i.s.RemoteStoreRefreshListener] [node_s_0] [test-idx][0] --> In afterRefresh
Refresh 1 - [2023-10-03T16:27:30,472][INFO ][o.o.i.s.RemoteStoreRefreshListener] [node_s_0] [test-idx][0] --> shouldSync is true, triggering syncSegments. didRefresh = true

Flush     - [2023-10-03T16:27:30,478][TRACE][o.o.i.e.E.IW             ] [node_s_0] [test-idx][0] opensearch[node_s_0][flush][T#1] IW: commit: done writing segments file "segments_4"

Refresh 2 - [2023-10-03T16:27:30,481][INFO ][o.o.i.e.Engine           ] [node_s_0] [test-idx][0] --> In refresh, with source = version_table_flush, block = true, scope = INTERNAL

Refresh 1 - [2023-10-03T16:27:30,508][INFO ][o.o.i.e.I.ExternalReaderManager] [node_s_0] --> In ExternalReaderManager.refreshIfNeeded, after internalReaderManager.maybeRefreshBlocking()
Refresh 1 - [2023-10-03T16:27:30,509][INFO ][o.o.i.e.I.ExternalReaderManager] [node_s_0] --> In ExternalReaderManager.refreshIfNeeded, after internalReaderManager.acquire()
Refresh 2 - [2023-10-03T16:27:30,509][INFO ][o.o.i.e.OpenSearchReaderManager] [node_s_0] --> Before calling openIfChanged
Refresh 2 - [2023-10-03T16:27:30,509][INFO ][o.o.i.e.OpenSearchReaderManager] [node_s_0] Reader post refresh. Reader: null
Refresh 2 - [2023-10-03T16:27:30,509][DEBUG][o.o.i.s.RemoteStoreRefreshListener] [node_s_0] [test-idx][0] --> In afterRefresh
Refresh 2 - [2023-10-03T16:27:30,509][INFO ][o.o.i.s.RemoteStoreRefreshListener] [node_s_0] [test-idx][0] --> shouldSync is false, returning successful. didRefresh = false

Refresh 2 - [2023-10-03T16:27:30,509][INFO ][o.o.i.e.Engine           ] [node_s_0] [test-idx][0] --> Refresh completed, with source = version_table_flush, block = true
Refresh 1 - [2023-10-03T16:27:30,513][INFO ][o.o.i.e.Engine           ] [node_s_0] [test-idx][0] --> Refresh completed, with source = schedule, block = false

Ran 1500+ times on local without failure with a fix in https://github.com/opensearch-project/OpenSearch/pull/10341

Good find @sachinpkale. Thanks for quickly root causing and fixing this.


Remove a typo in user_agents

Hi, I am using slowhttptest to test the concurrency of my web server. It helped me a lot. Thank you!
And I also noticed an access record like this:
HEAD / HTTP/1.1
Host: localhost:1234
User-Agent: User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like GeckoAppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30
Referer: https://github.com/shekyan/slowhttptest/
Range: bytes=0-,5-0,5-1,5-2,5-3,5-4,5-5,5-6,5-7,5-...(deleted)
Accept-Encoding: gzip
Connection: close

I just deleted a typo in user_agents. Please merge it if it's okay. Thanks.

Thanks!


Added Python3 compatibility

Added a few tweaks to make NeuroM compatible with both python2 and python3.
I tested this branch with both python2 and python3 python setup.py test & all test passed.
Pls consider a merge.

Hello,
Thanks for all the changes!
After a couple changes, I think we should be able to merge this.  Until we get continuous integration running w/ python3, I'm not sure that we'll be able to guarantee compatibility, but now that the bulk of the work is done, I will try and get py3 CI going.
Please bear with me, as I'm quite busy at the moment, so I'm not sure how fast I'll get to this.

That's great! Pls take your time. In the meanwhile we have this branch to be used with our python3 code & will contribute when we find anything.

On 16 Nov 2016, at 7:18 PM, MikeG<EMAIL_ADDRESS>wrote:
Hello,
Thanks for all the changes!
After a couple changes, I think we should be able to merge this. Until we get continuous integration running w/ python3, I'm not sure that we'll be able to guarantee compatibility, but now that the bulk of the work is done, I will try and get py3 CI going.
Please bear with me, as I'm quite busy at the moment, so I'm not sure how fast I'll get to this.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Ok, I'm going through this now.  I'm following my plan of moving all necessary functionality to _compat.py, and going from there.

I couldn't push to your branch, so I opened another pull request here: #550.
I also am trying to get CI for python3, and python2.6 at the same time.  I will probably have to break these commits up for them to make sense, but I don't have the time now.  In addition, I am booked until next Friday with other stuff, so I won't be able to look further into this until the 25th.
Thanks

Good idea to have a _compat.py to do all the version checking in one place. Let's follow this up in #550

I'm back.
I'm going to close this up, and finish it in #550.


isValid returns true if matched against ISO_8601

Describe the bug
moment("4173154", moment.ISO_8601, true).isValid() returns true
Expected behavior
Validation against ISO_8601 should return false, when just an integer is provided.
Environment:

Node.js
Version 13.11.0

Moment-specific environment

The time zone setting of the machine the code is running on: UTC+1
The time and date at which the code was run: 2020-03-27T10:40:02.213Z
Other libraries in use: none

Please run the following code in your environment and include the output:
Fri Mar 27 2020 11:41:19 GMT+0100 (Central European Standard Time)
3/27/2020, 11:41:19 AM
-60
2.24.0

That's not 'just an integer', it's a string matching the "YYYYDDD" ordinal date format.

0000 is also passing, but does not seem to be a valid ordinal date.
Looks like a bug to me.

@TimBeyer That's a valid year-only date.

The problem here is just that moment.ISO_8601 is too vague of a matcher. My solution was to just validate against a string thats specific enough.

I see. In any case, this should have probably been changed on a major version bump.
This caused a lot of test failures all over the place for us relying on the previous behavior.


Optimize database upserts.

Right now upserts are done really inefficiently: the whole latest.platform_name database is deleted, and forecasts are inserted one by one. This is inefficient and could be much improved.
It's not clear whether it's worth it to optimize on postgres directly, rather than waiting until the graphql code is set up, and in fact I'm leaning towards the later.

Yes! I've already noticed this and working on it currently (simultaneously with some refactorings for platforms code).

The low hanging fruit is to replace DROPs with DELETEs.
The next step is to do actual upserts and avoid unnecessary DELETE/INSERT steps.

But: do we want to delete stale forecasts if new fetch doesn't return the ones that were previously in the DB? (probably; for example, a platform can return invalid results, e.g. publish a bad draft and then delete it). This affects whether we want to check if the new set of forecasts covers all the existing rows.

Then we could optimize inserts to be bulk. I predict most of the speedups to be from this step, right now the performance is probably limited by the ping distance between the DB and backend server.

GraphQL is a separate and higher layer of abstraction than DB-related code, I don't see how it's relevant. Maybe you mean Prisma?..
In that case, I agree that it doesn't make sense to write much SQL by hand now when it's all going to be replaced. But I might do (1) and (3) from the list anyway, it doesn't seem difficult.

PS: I'd also like to figure out some kind of partial updates API for platforms; that should make updates for some platforms much more efficient. E.g., if a platform supports sorting by "latest" then we could just fetch the new forecasts and not everything. But that's a different and a larger task.
Note that this kinda conflicts with point (2): if the platform code provides a stream of updates then it's hard to detect whether another forecast in the DB which wasn't updated for a while is dead and should be deleted.

do we want to delete stale forecasts if new fetch doesn't return the ones that were previously in the DB?

So the way I was doing this is  to delete the old ones if the new fetch brings up a non-empty array. I'm ok with other heuristics, though.


How to forceRefresh only for a particular route ?

Currently the forceRefresh prop is at the global level of BrowserRouter component. I have a requirement to force refresh only for a particular history.push (navigating away to a different context root). Is there any existing way to achieve this ?

when you say "force refresh" do you just want to re-render?

@chrisPfaff no, I wanted to do full browser reload. basically  window.location.href = href;

I've been using this for now
history.push(...);
window.location.reload(true);


AJV with typescript problem

I'm using "ajv": "^5.1.5" with webpack and typescript but i'm getting  several errors related with ajv's dependencies.
import * as AJV from 'ajv';
ERROR in ./~/ajv/lib/ajv.js
Module not found: Error: Can't resolve './compile/resolve' in '/home/javier/projects/dbdash-app/node_modules/ajv/lib'
@ ./~/ajv/lib/ajv.js 4:14-42
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts
ERROR in ./~/ajv/lib/ajv.js
Module not found: Error: Can't resolve './cache' in '/home/javier/projects/dbdash-app/node_modules/ajv/lib'
@ ./~/ajv/lib/ajv.js 5:12-30
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts
ERROR in ./~/ajv/lib/ajv.js
Module not found: Error: Can't resolve './compile/schema_obj' in '/home/javier/projects/dbdash-app/node_modules/ajv/lib'
@ ./~/ajv/lib/ajv.js 6:19-50
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts
ERROR in ./~/ajv/lib/ajv.js
Module not found: Error: Can't resolve './compile/formats' in '/home/javier/projects/dbdash-app/node_modules/ajv/lib'
@ ./~/ajv/lib/ajv.js 8:14-42
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts
ERROR in ./~/ajv/lib/ajv.js
Module not found: Error: Can't resolve './compile/rules' in '/home/javier/projects/dbdash-app/node_modules/ajv/lib'
@ ./~/ajv/lib/ajv.js 9:12-38
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts
ERROR in ./~/ajv/lib/ajv.js
Module not found: Error: Can't resolve './$data' in '/home/javier/projects/dbdash-app/node_modules/ajv/lib'
@ ./~/ajv/lib/ajv.js 10:22-40
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts
ERROR in ./~/ajv/lib/ajv.js
Module not found: Error: Can't resolve './patternGroups' in '/home/javier/projects/dbdash-app/node_modules/ajv/lib'
@ ./~/ajv/lib/ajv.js 11:20-46
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts
ERROR in ./~/ajv/lib/ajv.js
Module not found: Error: Can't resolve './compile/util' in '/home/javier/projects/dbdash-app/node_modules/ajv/lib'
@ ./~/ajv/lib/ajv.js 12:11-36
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts
ERROR in ./~/ajv/lib/ajv.js
Module not found: Error: Can't resolve './compile/async' in '/home/javier/projects/dbdash-app/node_modules/ajv/lib'
@ ./~/ajv/lib/ajv.js 30:29-55
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts
ERROR in ./~/ajv/lib/ajv.js
Module not found: Error: Can't resolve './keyword' in '/home/javier/projects/dbdash-app/node_modules/ajv/lib'
@ ./~/ajv/lib/ajv.js 31:20-40
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts
ERROR in ./~/ajv/lib/ajv.js
Module not found: Error: Can't resolve './compile/error_classes' in '/home/javier/projects/dbdash-app/node_modules/ajv/lib'
@ ./~/ajv/lib/ajv.js 36:19-53
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts
ERROR in ./~/ajv/lib/ajv.js
Module not found: Error: Can't resolve './compile' in '/home/javier/projects/dbdash-app/node_modules/ajv/lib'
@ ./~/ajv/lib/ajv.js 3:20-40
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts
ERROR in ./~/ajv/lib/ajv.js
Module not found: Error: Can't resolve 'co' in '/home/javier/projects/dbdash-app/node_modules/ajv/lib'
@ ./~/ajv/lib/ajv.js 13:9-22
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts
ERROR in ./~/jsonify/index.js
Module not found: Error: Can't resolve './lib/parse' in '/home/javier/projects/dbdash-app/node_modules/jsonify'
@ ./~/jsonify/index.js 1:16-38
@ ./~/json-stable-stringify/index.js
@ ./~/ajv/lib/ajv.js
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts
ERROR in ./~/jsonify/index.js
Module not found: Error: Can't resolve './lib/stringify' in '/home/javier/projects/dbdash-app/node_modules/jsonify'
@ ./~/jsonify/index.js 2:20-46
@ ./~/json-stable-stringify/index.js
@ ./~/ajv/lib/ajv.js
@ ./src/libs/validator.ts
@ ./src/components/app/app-login/index.ts
@ ./src/index.ts

@jegj this is a webpack configuration issue, not an Ajv issue. It affects jsonify package as well, as you can see from the output. Possibly the issue is that .js is not set as the default extension?

@epoberezkin  That was the problem. Thank you so much !


backend: handle LOADING the same way as MASTERDOWN

this fixes #1295.
sorry for ugly code from a golang n0000000b.

[LGTM] Thanks!


Make a personal connection with chucknorris

Add script to re-scrape chucknorris fortunes from chucknorris.com.
Rebuild the chucknorris fortune file with it, using 20 pages worth.
This replaces the original chucknorris fortune file which was drawn from a distribution with a GPL license. With this change, there are no files left from the GPL-ed package, and I think we can safely remove the GPL license notice from the oh-my-zsh code and not worry about GPL contamination.

Note: When testing this, be aware that until #3611 is merged, you must manually delete the fortunes/chucknorris.dat file to get it to be regenerated from the updated fortunes source file that scrape-norris.zsh writes out.

This PR now removes the GPL LICENSE file itself, for convenience and to make it clear what's going on.
Also added a data validation pass to the scraper script, to ensure the integrity of the generated Facts database file.

Sorry for the late response...looks good to me :)

I resolved the conflicts and finally merged this puppy. I had to remove the scraper because chucknorrisfacts.com is no longer up.


Update StreamingKMeans.scala

What changes were proposed in this pull request?
I think the ‘n_t+t’ in the following code may be wrong, it shoud be ‘n_t+1’ that means  is the number of points to the cluster  after it finish the no.t+1 min-batch.

$$
\begin{align}

c_t+1 &= [(c_t * n_t * a) + (x_t * m_t)] / [n_t + m_t] \\

n_t+t &= n_t * a + m_t

\end{align}
$$

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Test build #4174 has started for PR 21179 at commit e061dce.

Test build #4174 has finished for PR 21179 at commit e061dce.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds no public classes.

Merged to master


Refresh Button to maintain the state of labels and chart

It would be helpful if one can edit the dataset in the text area and on click of the refresh button , the page reloads with the new dataset and already selected labels and the corresponding selected chart.

now possible in v2


Add Codex Arcanum

Codex Arcanum is a really cool mod that I made that adds a new consumable type, new jokers, and much more.
https://github.com/itayfeder/Codex-Arcanum
I would love if it was added to the page!

Very cool, I found it in Discord before. Thank you for your work


Add Kyonggi Univ

@jhyun0227 I am sorry, the domain kyonggi.ac.kr is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Not working for me

Hello, thanks for creating this plugin, it would be a godsend if I could actually get it to work.
So I have a vanilla Vite app with 2 files - navkeys.js and worker.ts. Worker file just console.logs a message, and navkeys is the file of my chrome extension. I have the NODE_ENV set to development (confirmed with a console.log), and the following is my Vite config:
import hotReloadExtension from 'hot-reload-extension-vite';
import { defineConfig } from 'vite';

export default defineConfig({
    build: {
        rollupOptions: {
            input: './src/navkeys.js',
            output: {
                assetFileNames: '[name].[ext]',
                entryFileNames: '[name].js'
            }
        }
    },
    plugins: [
        hotReloadExtension({
        log: true,
          backgroundPath: 'src/worker.ts' // src/pages/background/index.ts
        })
    ]
});

Thank you very much! If there's more info you need let me know!

Same for me, the changes of my content script are correctly watched (dist dir is rebuilt), however those changes are not reflected in the UI on the web page (my extension adds DOM elements on the page, from content script).
The web page needs to be reloaded (reloading extension from chrome://extensions/ has no effect).
It still saves me some time since I don't have to npm run build every time but it does not work like shown on the demo video.

hot-reload-extension-vite: 1.0.13
vite: 5.1.0
Chrome 121.0.6167.161
node v20.11.0
Windows 11

@JorensM ,
I already see the problem in your vite config file. You should pass the src/worker.ts to build option. So, your vite config should look something like below:
import hotReloadExtension from 'hot-reload-extension-vite';
import { defineConfig } from 'vite';

export default defineConfig({
    build: {
        rollupOptions: {
            input: {
                    navkeys:'./src/navkeys.ts',
                    worker: './src/worker.ts'
             },
            output: {
                assetFileNames: '[name].[ext]',
                entryFileNames: '[name].js'
            }
        }
    },
    plugins: [
        hotReloadExtension({
        log: true,
          backgroundPath: 'src/worker.ts' // src/pages/background/index.ts
        })
    ]
});

The reason being the reload script is added to your server worker on build time on dev environment.
After this donot forget to add the built service worker into manifest.
// manifest.json

{
    "manifest_version": 3,
     //..... other stuff
    "background": { "service_worker": "./worker.js" } // add this line
}

And lastly make sure your pass NODE_ENV as development.
Let me know if it works.

@isaurssaurav I'm already importing the worker from navkeys.js and the console.log in my worker.ts confirms that it's being imported. But I haven't added the worker to the manifest, I'll try that and report back

@captn-d,
Could you provide me with some example code so that I could help you better 😄 ?. You could also go to the example directory of this project to see if you are missing some configs. The example project works with this hot-reload-extension-vite-plugin and demo video is actually started with example project as starter project file.

@JorensM ,
Service worker file should be built separately and you cannot import service worker in other context of your extension. It will not work. Please do follow above vite.config file i suggested.

Closing this issue as it is related more to the misconfiguration of vite's config file than the actual bug in the pakage.
Feel free to open the new issue incase the issue is not resolved.

Hello, this is my configs, it also not working yet.
import { resolve } from 'node:path';
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react-swc';
import hotReloadExtension from 'hot-reload-extension-vite';

export default defineConfig({
  plugins: [
    react(),
    hotReloadExtension({
      log: true,
      backgroundPath: 'src/background/index.ts',
    }),
  ],
  build: {
    rollupOptions: {
      input: {
        options: resolve(__dirname, 'options.html'),
        test: resolve(__dirname, 'test.html'),
        side_panel: resolve(__dirname, 'side-panel.html'),
        service_worker: resolve(__dirname, 'src/background/index.ts'),
        content_script: resolve(__dirname, 'src/content-script.ts'),
      },
      output: {
        chunkFileNames: '[name].[hash].js',
        assetFileNames: '[name].[hash].[ext]',
        entryFileNames: '[name].js',
        dir: 'dist',
      },
    },
  },
});

{
  "manifest_version": 3,
  "name": "MVP",
  "description": "MVP Extension",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "options_ui": {
    "page": "options.html",
    "open_in_tab": true
  },
  "action": {
    "default_title": "点击打开插件! haha"
  },
  "commands": {
    "_execute_action": {
      "suggested_key": {
        "default": "Ctrl+B",
        "mac": "Command+B"
      }
    }
  },
  "content_scripts": [
    {
      "matches": ["https://news.ycombinator.com/*", "http://*/*", "https://*/*"],
      "js": ["content_script.js"]
    }
  ],
  "background": {
    "type": "module",
    "service_worker": "service_worker.js"
  },
  "permissions": [
    "storage",
    "declarativeContent",
    "activeTab",
    "notifications",
    "sidePanel",
    "contextMenus",
    "tabs",
    "activeTab",
    "cookies",
    "scripting",
    "downloads",
    "history"
  ],
  "side_panel": {
    "default_path": "side-panel.html"
  },
  "host_permissions": ["http://*/*", "https://*/*"]
}


Add a clear option to the Select component

this came up in: https://github.com/boundlessgeo/qgis-webappbuilder-plugin/issues/242

Coverage increased (+0.04%) to 70.612% when pulling 95cf2de374771330c639c1a1076904b041ea02b3 on select-clear into 6efa2136c9bdd23c10a8208290ebbc115b7f7bef on master.