Pattern that doesn't consume a set of terminal characters

We are currently using a parser for a chat message composer in our Flutter app. Among other tokens, we need to parse urls to display previews and give feedback on the UI.
I've followed the spec as closely as possible, but we don't want to consume the chars .,? at the end of a url because our users will often terminate links with punctuation.
Here is how our test + failing test looks like
import "package:test/test.dart";
import 'url.dart';
import 'package:petitparser/petitparser.dart';

void main() {
  group('url', () {
    test('does not consume ending punctuation', () {
      expect(url.matchesSkipping('hi please use https://acme.com next time.'),
          ['https://acme.com']);

      expect(url.matchesSkipping('hi please use https://acme.com.'),
          ['https://acme.com']);
    });
  });
}

Test results:
00:01 +1 -1: url does not consume ending punctuation [E]
  Expected: ['https://acme.com']
    Actual: ['https://acme.com.']
     Which: was 'https://acme.com.' instead of 'https://acme.com' at location [0]

And our corresponding code:
import 'package:petitparser/petitparser.dart';

Parser<String> _url() {
  final scheme = string('https') | string('http');
  final query =
      (char('?') & pattern('0-9A-Za-z+&@/%=~_|!:,;-').star()).flatten();

  final safe = anyOf('\$-_@.&+-'); // anyOf('\$-_@.&+-');
  final extra = anyOf('!*"\'(),');
  final port = (char(':') & digit().plus()).flatten();

  final hex = pattern('0-9A-Fa-f');
  final escape = (char('%') & hex & hex).flatten();

  final segmentChar = (word() | safe | extra | escape);
  final segment = segmentChar.plus().flatten();

  // in reality, these grammars differ slightly but this won't matter for our case
  final hostSegment = segment;
  final pathSegment = segment;

  final host = hostSegment.separatedBy(char('.'));
  final hostPort = host & port.optional();
  final path = (char('/') & pathSegment.separatedBy(char('/'))).flatten();

  // https://stackoverflow.com/a/26119120/67655
  // chars allowed in a fragment
  final fragmentChars = pattern('0-9a-zA-Z?/:@._~!\$&\'()*+,;=-');
  final fragment = (char('#') & fragmentChars.star()).flatten();

  return (scheme &
          string('://') &
          hostPort &
          path.optional() &
          query.optional() &
          fragment.optional())
      .flatten();
}

final url = _url();

Is there a clean way to prevent consuming the ending chars of anyOf(',.?') without special casing the entire grammar?

Probably the easiest is if you crop it off at the end, something along ...
return (...)
  .flattten()
  .map((value) => /* cut off the last character, if it ends with punctuation */);

Thanks! The problem is that I would like these characters to still be consumed by the other parts of the grammar. Because it will be composed with other tokens. For example:
    test('matches skipping', () {
      final input =
          'hi <file:abc> and <file:123456><datetime:2020-10-08T21:57:50.118523Z> @Venkat @Vlad Lokshin https://starkindustries.com/projects/iron-man check it';

      final mtb = MessageBodyParser(
        users: [
          User(id: 'ven', name: 'Venkat'),
          User(id: 'vlad', name: 'Vlad Lokshin'),
        ],
      );

      final tokens = mtb.parse(input);

      final serializedTokens = tokens.map(mtb.tokenToMarkup).toList();
      expect(serializedTokens, [
        'hi ',
        '<file:abc>',
        ' and ',
        '<file:123456>',
        '<datetime:2020-10-08T21:57:50.118523Z>',
        ' ',
        '<user:ven>',
        ' ',
        '<user:vlad>',
        ' ',
        'https://starkindustries.com/projects/iron-man',
        ' check it',
      ]);
    });

If I were to add a period after iron-man, it would fail because the . would be dropped. I would want it to be part of '.check it'
The tokens are defined as:
  final specialToken = users.isEmpty
      ? entityToken | dateTimeToken | linkToken
      : buildMentionedUserToken(users) |
          entityToken |
          dateTimeToken |
          linkToken;

  final stringToken = any()
      .plusLazy(specialToken | endOfInput())
      .flatten()
      .map((v) => StringObject(string: v));

  return (specialToken | stringToken).cast();

I see.
The clean way would be to rewrite the URL grammar so that it does not consume the separator characters at the end. There are various ways of doing that (separatedBy, and, not), but none of them is particularly simple. Also you wrote you don't want to change the existing grammar, so I assume this is not a solution.
Another approach is to use what I originally proposed, but do the transformation in the continuation parser (callCC) and resume the parsing one character earlier. Something along the lines of:
return (...)
  .token() // get token with start and stop position in input
  .callCC((continuation, context) {
    final result = continuation(context);
    if (result.isFailure) return result;
    final token = result.value;
    if (token.input.endsWithPunctuation) {
      final newToken = Token(token.value, token.buffer, token.start, token.stop - 1); // shorten token by 1 char
      return result.success(newToken, result.position - 1); // continue 1 char earlier
    } else {
      return result;  // just continue
    }
  })
  .map((token) => token.input);  // replace token with consumed input

Works perfectly, thanks!
I didn't want to modify the grammar because I copied the official grammar as closely as possible and wanted to keep it intact. (It looks urls are technically allowed to end in periods based on the official grammar, but 99% of the time, when a url ends with a period or comma, the intent is punctuation.)


Improve error handling in Cache and subclasses

[x] tests and linter show no problems (npm t)
[x] code is properly formatted (npm run fmt)

Landed in https://github.com/metarhia/impress/commit/d2c32154ca01cbbb2c456ed9e7384e727dde301b


Asking for Interact-sound compatibility clarifications & making an offer

I'm sorry to make questions that I myself could find the answer to, but I think you already have the answers, I'm overloaded with work and at the same time I'm making an offer

Should interact-sound NOT be used alongside Xsound?

By Can work with API interact sound in README.MD, did you mean it's fully compatible BUT one has to change the triggered events or make a compatibility layer, right?

if made a Plug & Play compatibility layer (with interact-sound's event names) and made a pull request, would you accept it?

interact-sound can be used alongside xsound, it is disabled by default in config so nothing will happen.
if your server use some kind of custom events for better "Security" for interact sound then yes, you will have to change them.
if those changes will be unnecessary like the guy with crewPhone did example here: https://github.com/Xogy/xsound/blob/master/addon/crewphone/client/client.lua I will most likely not accept anything.


Fixed/Added few things

can't edit constant now
created stack for future use with scoping
changed from variableDeclerationList to VariableStatemenet
You can define more than one variable now at the same time

We can merge the scoping draft to main since i did some other fixes in other places.
the scoping branch have the updated features compared to main.


[pilot] also wait for build processing when only distributing

Checklist

[ ] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
Resolves #18072
Description
I'm already on my personal machine, so I couldn't test it and I'll be AFK for a week. I don't usually use ruby, so the syntax might need fixing but the general idea should be correct.
Testing Steps
First only upload the ipa with fastlane pilot (skip waiting for processing and don't set changelog)
fastlane pilot distribute_only

Could probably use some additional automated tests. I've tested the use case in the linked issue.

@googlebot I consent.


[Travis] Ruby 1.8.7 and 1.9.3 have been retired

https://www.ruby-lang.org/en/news/2013/06/30/we-retire-1-8-7/
https://www.ruby-lang.org/en/news/2015/02/23/support-for-ruby-1-9-3-has-ended/

"They are no longer supported" and "They are no longer used so Bundler should not support them" are completely different things.
Allow them to fail, maybe, but do not remove them.

Thanks for the pull request! While 1.8.7 and 1.9.3 will no longer get patches or security updates, Bundler follows SemVer, which means that every 1.x version of Bundler needs to do everything that 1.0 did. That includes working on 1.8.7 and 1.9.3. We plan to drop support for 1.8.7 and 1.9.3 in Bundler 2.0, since that is the first time we will be able to make changes that are not backwards compatible.


ci: add static-checker

Description
This PR adds a static-checker pipeline as part of our workflows.
Notes for Reviewers
It's good to assess the state of the code, plus trying to identifying shortcomings before entering the code
Signed commits

[x] Yes, I signed my commits.

This is a good idea mudler... but it seems a bit overactive. Can we tune that at all before we set it loose?

This is a good idea mudler... but it seems a bit overactive. Can we tune that at all before we set it loose?

Yes definitely,  I've been opening this PR to see what should be addressed, not going to enable it until the warnings/errors are fixed. Let's use this PR for reference


Problem using XLForm with MZFormSheetController

Hello,
I'm trying to use XLForm inside MZFormSheetController and when I try to scroll the form the rows disappear. Example: http://cl.ly/image/1n2m232o0C15
Any idea?
Thank you

I rewritten MZFormSheetController to MZFormSheetPresentationController which is build on iOS8+ and don't use UIWindow tricks. I am sure that you will not have problem if you use it


Fix scanline calculation for FFT used by ATMS remapping

ATMS remapping code does not work correctly for data from DB (ATMSDB) and RARS (ESATMS) - data becomes missing  (grey).
Examples: ESATMS and ATMSDB from N20 Channel 2

Sources of issues identified:

FFT calculation requires the calculation of scanline from observation time.  To get accurate scanline numbers, the observation time precision needs to be increased from seconds to milliseconds
Also, for scanline calculation, the observation time used for the scanline calculation should be the observation time at fov number 1 (fovn = 1)
The code needs to ensure that no field of view footprints (for) are missing in one scan. If numbers are missing in one scan, this needs to be identified, and the observation time at fovn=1 needs to be calculated.

This PR provides the code modifications to resolve the issues listed above.
Here are the results from the corrected code:

@rmclaren Thanks for reviewing the code.
I modified DatetimeVariable.cpp based on your suggestions.  Please look at it again.  I ran the test again and produced the same results.
I am looking into your suggestion in RemappedBrightnessTemperatureVariable.cpp now.


FYI: carpentries lesson

Just FYI, there's also a carpentries lesson about julia being developed: https://github.com/carpentries-incubator/julia-novice

Thanks for pointing this out. I took some guidance from it for this one, but perhaps we should think about consolidating.


COMP: Add vtk < 9.1 guard for vtkConfigure.h

vtkConfigure.h has been deprecated and should only
be included if VTK version is < 9.1.

@jcfr take a look. This is needed for VTK-install to work. CTK was picking up the vtkConfigure.h from build directory even though VTK_LEGACY_REMOVE flag is set. Nevertheless, this header is not needed for vtk >= 9.1 as also confirmed by @mathstuf

Closing. This was superseded by https://github.com/commontk/CTK/commit/2e1c014b826ffa2a4d22935818f29451c69df418 introduced through https://github.com/commontk/CTK/pull/1041
@jadh4v Thanks for contributing this change in the first place and my apology for not integrating it earlier and not giving proper credits in the latest pull request integrating a similar change.

No worries


Add text embedding task

This PR adds the task of Text Embedding and the corresponding tests.

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!


Feature request: Newline capitalization

I would like to have an option to enable a feature that will:
Capitalize the first word after newline
Usecase:
I generally don't end my sentences with a period while texting or writing on the internet
And I often start new sentences on new lines, so it would save me a press to capitalize the first word
ER:
Lorem ipsum↵
Dolor sit amet
AR:
Lorem ipsum↵
dolor sit amet

Sure, but I would like to have it as a separate option. Personally, I would not want capitalization after a new line.

Yes, that's what I ask for
Thanks!


Aggregate data per customer and create customer-level features

Functions were added to preprocessing.py that aggregate visits belonging to a single customer. The result is a single row per customer that we can use to directly predict the target. A notebook was added to show the use of the functions and perform a simple prediction using the new datasets.

Note that I moved the preprocessing functions from the load notebook to the preprocessing file. It shows a conflict now, but since I didn't change anything else, this should be an easy one.

Overlapping with the PR we just merged, closing


Unique quest / add new quests to npcs

Where else have you looked for answers to this question?
Youtube
Share your question with as much detail as possible?
I have a little problem
When I create a new quest and add to an npc which already had some they all restart and the player can do all of them again
Is there a way to set a quest to only be done once?
Or add the quests to an npc without it being reset?
If applicable, which class or method is this in reference to?

Iirc if your new quest uses another quest as a requirement or block, that quest will be restarted for all players that have it to avoid them potentially getting stuck if the new terms of the quest are impossible to meet.
If you believe this is not the issue, open a new ticket as a Bug with specific instructions on how to replicate it.


Doc updates, new big-picture and virtualization docs, localization priorities added

Docs Build status updates of commit 6b95b75:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.gitattributes
:white_check_mark:Succeeded

.openpublishing.publish.config.json
:white_check_mark:Succeeded

README.md
:white_check_mark:Succeeded

docs/TOC.md
:white_check_mark:Succeeded
View

docs/about-character-mode-applications.md
:white_check_mark:Succeeded
View

docs/addconsolealias.md
:white_check_mark:Succeeded
View

docs/allocconsole.md
:white_check_mark:Succeeded
View

docs/attachconsole.md
:white_check_mark:Succeeded
View

docs/attaching-to-a-console.md
:white_check_mark:Succeeded
View

docs/char-info-str.md
:white_check_mark:Succeeded
View

docs/character-mode-applications.md
:white_check_mark:Succeeded
View

docs/classic-vs-vt.md
:white_check_mark:Succeeded
View

docs/clearing-the-screen.md
:white_check_mark:Succeeded
View

docs/closepseudoconsole.md
:white_check_mark:Succeeded
View

docs/closing-a-console.md
:white_check_mark:Succeeded
View

docs/console-aliases.md
:white_check_mark:Succeeded
View

docs/console-application-issues.md
:white_check_mark:Succeeded
View

docs/console-buffer-security-and-access-rights.md
:white_check_mark:Succeeded
View

docs/console-code-pages.md
:white_check_mark:Succeeded
View

docs/console-control-handlers.md
:white_check_mark:Succeeded
View

docs/console-cursor-info-str.md
:white_check_mark:Succeeded
View

docs/console-font-info-str.md
:white_check_mark:Succeeded
View

docs/console-font-infoex.md
:white_check_mark:Succeeded
View

docs/console-functions.md
:white_check_mark:Succeeded
View

docs/console-handles.md
:white_check_mark:Succeeded
View

docs/console-history-info.md
:white_check_mark:Succeeded
View

docs/console-input-buffer.md
:white_check_mark:Succeeded
View

docs/console-modes.md
:white_check_mark:Succeeded
View

docs/console-process-groups.md
:white_check_mark:Succeeded
View

docs/console-readconsole-control.md
:white_check_mark:Succeeded
View

docs/console-reference.md
:white_check_mark:Succeeded
View

docs/console-screen-buffer-info-str.md
:white_check_mark:Succeeded
View

docs/console-screen-buffer-infoex.md
:white_check_mark:Succeeded
View

docs/console-screen-buffers.md
:white_check_mark:Succeeded
View

docs/console-selection-info-str.md
:white_check_mark:Succeeded
View

docs/console-selection.md
:white_check_mark:Succeeded
View

docs/console-structures.md
:white_check_mark:Succeeded
View

docs/console-virtual-terminal-sequences.md
:white_check_mark:Succeeded
View

docs/console-winevents.md
:white_check_mark:Succeeded
View

docs/consoles.md
:white_check_mark:Succeeded
View

docs/coord-str.md
:white_check_mark:Succeeded
View

docs/createconsolescreenbuffer.md
:white_check_mark:Succeeded
View

docs/createpseudoconsole.md
:white_check_mark:Succeeded
View

docs/creating-a-pseudoconsole-session.md
:white_check_mark:Succeeded
View

docs/creation-of-a-console.md
:white_check_mark:Succeeded
View

docs/ctrl-c-and-ctrl-break-signals.md
:white_check_mark:Succeeded
View

docs/ctrl-close-signal.md
:white_check_mark:Succeeded
View

docs/definitions.md
:white_check_mark:Succeeded
View

docs/ecosystem-roadmap.md
:white_check_mark:Succeeded
View

docs/fillconsoleoutputattribute.md
:white_check_mark:Succeeded
View

This comment lists only the first 50 files in the pull request.
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Per Teams discussion, waiting on #174 to merge.

Docs Build status updates of commit 133ee9a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.gitattributes
:white_check_mark:Succeeded

.openpublishing.publish.config.json
:white_check_mark:Succeeded

README.md
:white_check_mark:Succeeded

docs/TOC.md
:white_check_mark:Succeeded
View

docs/about-character-mode-applications.md
:white_check_mark:Succeeded
View

docs/addconsolealias.md
:white_check_mark:Succeeded
View

docs/allocconsole.md
:white_check_mark:Succeeded
View

docs/attachconsole.md
:white_check_mark:Succeeded
View

docs/attaching-to-a-console.md
:white_check_mark:Succeeded
View

docs/char-info-str.md
:white_check_mark:Succeeded
View

docs/character-mode-applications.md
:white_check_mark:Succeeded
View

docs/classic-vs-vt.md
:white_check_mark:Succeeded
View

docs/clearing-the-screen.md
:white_check_mark:Succeeded
View

docs/closepseudoconsole.md
:white_check_mark:Succeeded
View

docs/closing-a-console.md
:white_check_mark:Succeeded
View

docs/console-aliases.md
:white_check_mark:Succeeded
View

docs/console-application-issues.md
:white_check_mark:Succeeded
View

docs/console-buffer-security-and-access-rights.md
:white_check_mark:Succeeded
View

docs/console-code-pages.md
:white_check_mark:Succeeded
View

docs/console-control-handlers.md
:white_check_mark:Succeeded
View

docs/console-cursor-info-str.md
:white_check_mark:Succeeded
View

docs/console-font-info-str.md
:white_check_mark:Succeeded
View

docs/console-font-infoex.md
:white_check_mark:Succeeded
View

docs/console-functions.md
:white_check_mark:Succeeded
View

docs/console-handles.md
:white_check_mark:Succeeded
View

docs/console-history-info.md
:white_check_mark:Succeeded
View

docs/console-input-buffer.md
:white_check_mark:Succeeded
View

docs/console-modes.md
:white_check_mark:Succeeded
View

docs/console-process-groups.md
:white_check_mark:Succeeded
View

docs/console-readconsole-control.md
:white_check_mark:Succeeded
View

docs/console-reference.md
:white_check_mark:Succeeded
View

docs/console-screen-buffer-info-str.md
:white_check_mark:Succeeded
View

docs/console-screen-buffer-infoex.md
:white_check_mark:Succeeded
View

docs/console-screen-buffers.md
:white_check_mark:Succeeded
View

docs/console-selection-info-str.md
:white_check_mark:Succeeded
View

docs/console-selection.md
:white_check_mark:Succeeded
View

docs/console-structures.md
:white_check_mark:Succeeded
View

docs/console-virtual-terminal-sequences.md
:white_check_mark:Succeeded
View

docs/console-winevents.md
:white_check_mark:Succeeded
View

docs/consoles.md
:white_check_mark:Succeeded
View

docs/coord-str.md
:white_check_mark:Succeeded
View

docs/createconsolescreenbuffer.md
:white_check_mark:Succeeded
View

docs/createpseudoconsole.md
:white_check_mark:Succeeded
View

docs/creating-a-pseudoconsole-session.md
:white_check_mark:Succeeded
View

docs/creation-of-a-console.md
:white_check_mark:Succeeded
View

docs/ctrl-c-and-ctrl-break-signals.md
:white_check_mark:Succeeded
View

docs/ctrl-close-signal.md
:white_check_mark:Succeeded
View

docs/definitions.md
:white_check_mark:Succeeded
View

docs/ecosystem-roadmap.md
:white_check_mark:Succeeded
View

docs/fillconsoleoutputattribute.md
:white_check_mark:Succeeded
View

This comment lists only the first 50 files in the pull request.
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 6ba0f89:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.gitattributes
:white_check_mark:Succeeded

.openpublishing.publish.config.json
:white_check_mark:Succeeded

README.md
:white_check_mark:Succeeded

docs/TOC.md
:white_check_mark:Succeeded
View

docs/about-character-mode-applications.md
:white_check_mark:Succeeded
View

docs/addconsolealias.md
:white_check_mark:Succeeded
View

docs/allocconsole.md
:white_check_mark:Succeeded
View

docs/attachconsole.md
:white_check_mark:Succeeded
View

docs/attaching-to-a-console.md
:white_check_mark:Succeeded
View

docs/char-info-str.md
:white_check_mark:Succeeded
View

docs/character-mode-applications.md
:white_check_mark:Succeeded
View

docs/classic-vs-vt.md
:white_check_mark:Succeeded
View

docs/clearing-the-screen.md
:white_check_mark:Succeeded
View

docs/closepseudoconsole.md
:white_check_mark:Succeeded
View

docs/closing-a-console.md
:white_check_mark:Succeeded
View

docs/console-aliases.md
:white_check_mark:Succeeded
View

docs/console-application-issues.md
:white_check_mark:Succeeded
View

docs/console-buffer-security-and-access-rights.md
:white_check_mark:Succeeded
View

docs/console-code-pages.md
:white_check_mark:Succeeded
View

docs/console-control-handlers.md
:white_check_mark:Succeeded
View

docs/console-cursor-info-str.md
:white_check_mark:Succeeded
View

docs/console-font-info-str.md
:white_check_mark:Succeeded
View

docs/console-font-infoex.md
:white_check_mark:Succeeded
View

docs/console-functions.md
:white_check_mark:Succeeded
View

docs/console-handles.md
:white_check_mark:Succeeded
View

docs/console-history-info.md
:white_check_mark:Succeeded
View

docs/console-input-buffer.md
:white_check_mark:Succeeded
View

docs/console-modes.md
:white_check_mark:Succeeded
View

docs/console-process-groups.md
:white_check_mark:Succeeded
View

docs/console-readconsole-control.md
:white_check_mark:Succeeded
View

docs/console-reference.md
:white_check_mark:Succeeded
View

docs/console-screen-buffer-info-str.md
:white_check_mark:Succeeded
View

docs/console-screen-buffer-infoex.md
:white_check_mark:Succeeded
View

docs/console-screen-buffers.md
:white_check_mark:Succeeded
View

docs/console-selection-info-str.md
:white_check_mark:Succeeded
View

docs/console-selection.md
:white_check_mark:Succeeded
View

docs/console-structures.md
:white_check_mark:Succeeded
View

docs/console-virtual-terminal-sequences.md
:white_check_mark:Succeeded
View

docs/console-winevents.md
:white_check_mark:Succeeded
View

docs/consoles.md
:white_check_mark:Succeeded
View

docs/coord-str.md
:white_check_mark:Succeeded
View

docs/createconsolescreenbuffer.md
:white_check_mark:Succeeded
View

docs/createpseudoconsole.md
:white_check_mark:Succeeded
View

docs/creating-a-pseudoconsole-session.md
:white_check_mark:Succeeded
View

docs/creation-of-a-console.md
:white_check_mark:Succeeded
View

docs/ctrl-c-and-ctrl-break-signals.md
:white_check_mark:Succeeded
View

docs/ctrl-close-signal.md
:white_check_mark:Succeeded
View

docs/definitions.md
:white_check_mark:Succeeded
View

docs/ecosystem-roadmap.md
:white_check_mark:Succeeded
View

docs/fillconsoleoutputattribute.md
:white_check_mark:Succeeded
View

This comment lists only the first 50 files in the pull request.
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Add directional icons, carets & arrows.

Adds 8 directional icons for the request https://github.com/saeedalipoor/icono/issues/8

Hey @jenil27
thanks for contribution, i did merge your pull request with develop.

Cool, thanks!


Add test for enableAutomaticPings & fix a bug in disableAutomaticPIngs

I now added the unit test for the automatic pinging engine, and as it turns out, that was a very good idea! There was actually a bug in disableAutomaticPings that I didn't notice. It seems like the WsContext object is reinitialized often, which meant that the pingFuture got set to null, making disabling pings impossible. They just kept running.
This patch moves the ping futures to a separate hash map, though I don't like the performance & memory implications of having a separate hash map just for that. I thought about attaching the future to the session attributes, but I think that might interfere with user code that expects full control of the session attributes.
That said, we already have a separate thread (the executor) that we start once per javalin instance, even if the user doesn't need websockets. Maybe that's overkill, but maybe it should be possible to disable that thread with a config option?

I now added the unit test for the automatic pinging engine, and as it turns out, that was a very good idea! There was actually a bug in disableAutomaticPings that I didn't notice. It seems like the WsContext object is reinitialized often, which meant that the pingFuture got set to null, making disabling pings impossible. They just kept running.

Really great that you followed up on this !

This patch moves the ping futures to a separate hash map, though I don't like the performance & memory implications of having a separate hash map just for that. I thought about attaching the future to the session attributes, but I think that might interfere with user code that expects full control of the session attributes.
That said, we already have a separate thread (the executor) that we start once per javalin instance, even if the user doesn't need websockets. Maybe that's overkill, but maybe it should be possible to disable that thread with a config option?

If you want to avoid this cost, you can wrap the properties in an object, or define the executor/map with val xyz by lazy { ... }. This way it will be initialized the first time a user calls enableAutomaticPings().
The test you have written runs very slow, so it should probably be disabled/manual, or rewritten to use much shorter waits.

If you want to avoid this cost, you can wrap the properties in an object, or define the executor/map with val xyz by lazy { ... }. This way it will be initialized the first time a user calls enableAutomaticPings().
Done!

The test you have written runs very slow, so it should probably be disabled/manual, or rewritten to use much shorter waits.
I turned the sleeps now down to a combined 0.5s. We can make them shorter, but I'm a bit worried that that could make the tests flaky in the CI pipelines.

We can make them shorter, but I'm a bit worried that that could make the tests flaky in the CI pipelines.

We rerun 3 times on error, so flakiness should be fine, as long as it usually passes.

Okay, made that test very fast now, it didn't fail for me at all, but with slightly different timeouts (that are also in theory correct though) I had it fail like 10% of the time, now it's maybe like 1% I guess?

(Just fixed a typo in a comment there, didn't want that to appear in the history)

@VayuDev seems you need to adjust the tests a bit to make them pass on CI (CI is usually pretty slow) ☺

Let's see if that worked out, added a bit of leeway in the results

Almost there 😄

Now all failing runs are on macOS, does that mean it's broken on macOS or that macOS is just really slow? Because what I saw, in a period where we should have seen 5 pings or so, there were 15 in the failing runs...

I don't have any ideas, it's very strange 🤔
Try to make them very slow just in case?

Sorry for the delay, I had some exams I had to take care of first😅. Changed the strategy a bit, let's see if it works now, should take around 0.4s now

Appears to be working!

Yeah, finally! So, is the PR ready for merging?

It looks very nice, thank you @VayuDev !

Great! You're welcome, thanks for merging ^^


IGAPP-1373: Normalize SVGs

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword IGAPP.

Thanks for your reviews, the wrong size of the two icons is not related to the svgs, but due to a bug in our Tooltip-Component, I opend a ticket for this here: https://issues.tuerantuer.org/browse/IGAPP-1374


Stereoscopic 360 Video

I have a problem with playing a 360 stereoscopic video with this framework. I followed this tutorial on how to display a monoscopic 360 video. What I changed is just this line:
GVRVideoSceneObject video = new GVRVideoSceneObject(gvrContext, mesh, mPlayer, GVRVideoSceneObject.GVRVideoType.MONO);
to
GVRVideoSceneObject.GVRVideoType.VERTICAL_STEREO
But the problem is that I can only hear the audio and it also seems that the sound is not directional because the direction does not change when I turn my head.

I tried the same and VERTICAL_STEREO produced the expected result for me. Are you using a different video?
For spatial audio you will need ResonanceAudio and our extension that adds support for it - GearVRf/GVRf/Extensions/ResonanceAudio/. We have a demo app that shows how to use it - GearVRf-Demos/gvr-cardboard-audio.

Yes I use a different video with 4k x 4k resolution. But I changed it to the EXO player and then it worked. So this Issue can be closed.


[Android] LocalNotification soundName

On Android I can't set a custom sound for local notifications.
There is a way to do that? I can't find it from docs
                         ```
                   if (Platform === 'android') {
				NotificationsAndroid.localNotification({
					title,
					body,
					extra: ""
				})
			}
			else {
				NotificationIOS.localNotification({
					alertTitle: title,
					alertBody: body,
					soundName: 'Alarm.caf',
					silent: false,
					userInfo: { }
				});
			}

any body find out how to do this?

any issue abount custom sound has been set closed for inactivity. I wish someone sees that.

No stale


Delete unused locales. Using en-es-pt

Coverage decreased (-1.07%) to 87.335% when pulling 62288a4e3f8dbba3cd3d04752bbbbfd3a55d949f on despegar:develop into 13a61b285c095bda7ea8e33156090ea5ccfeaef1 on moment:develop.


feature: playwright e2e tests form electron application

Same as #1643 but for in-browser-merged branch.

basic flow how we can use playwright for basic tests of UI

Adding new way how to handle incoming urls (call it from test)
tidepooluploader://localhost/keycloak-redirect#state....
    await window.evaluate((url) => {
      window.electron.handleIncomingUrl(url);
    }, href);

How to test:
Add these variables (qa2 personal account) into .env
E2E_USER_EMAIL=
E2E_USER_PASSWORD=

yarn test:e2e --headed for visible Chrome
yarn test:e2e

It is draft, please let me know what do you think about my changes.

Currently I am trying to setup circleCI and I am not sure where can be a problem - it seems, that Electron doesn't have access to internet. But I tried to curl to google before running tests and it returns status code 200.
Check video from test.
It stucks on this screen:

1f81c21831e5194fb3eadd406437e929.webm
CircleCI build


Silence the warning about forgetting the vendoring

When sparse crates.io is used, dependencies from crates.io always come from ReplacedSources, as the non-sparse crates.io gets replaced by the sparse one. As far as diagnostics go, this case shouldn't "count" as a replaced source.
I had trouble adding a test for this change, because the test harness replaces everything with a dummy registry.
Fixes #12802

Thanks!
I believe you can use the replace_crates_io() function to replace crates.io without using the typical source replacement. See the test builtin_source_replacement as an example. Can you give that a try and see if it works?
Also, can you update the docstring on Registry::is_replaced to mention that it is false for built-in replacements?
Perhaps @arlosi could give this a second set of eyes to determine if this is the best strategy to fix the issue. I think it should be fine. This method is only used for this one error message. I just have a slight concern that it could cause confusion in the future (returning false for something that is replaced internally).

Thanks for the hint! I managed to get a test working (which fails before this PR, and passes after).

I just have a slight concern that it could cause confusion in the future (returning false for something that is replaced internally).

I was a little worried about this too. I think the usages of ReplacedSource::is_builtin_replacement suggests that it's often necessary to distinguish between builtin and non-builtin replacements. So if it ever becomes necessary to do so on the Source trait, we could replace is_replaced by a method returning a three-value enum (NotReplaced, BuiltinReplaced, OtherReplaced)

I think this is OK:

The fact that Cargo is using source replacement to handle sparse registry access to crates.io is an implementation detail.
Consumers of the Source trait should not see it as a source replacement since the user did not configure source replacement here.

Thanks for this fix!
@bors r+

:pushpin: Commit 2f97a3b323044aa289127b499daddb96ac2cfcec has been approved by arlosi
It is now in the queue for this repository.

:hourglass: Testing commit 2f97a3b323044aa289127b499daddb96ac2cfcec with merge 34a6a87d8a2330d8c9d578f927489689328a652d...

:sunny: Test successful - checks-actions
Approved by: arlosi
Pushing 34a6a87d8a2330d8c9d578f927489689328a652d to master...


Fix for  Category Based Route not workinf

https://github.com/harshit1142/NewsX/issues/10

@all-contributors please add @ripu2 for code


git submodule init asking for authentication

First is if I enter blank username/password, second is if I cancel the login prompt.
jack@linux:~/src/pok3rtool> git submodule update --init
git submodule update --init
Submodule 'libchaos' (https://gitlab.com/ChaoticEnigma/libchaos.git) registered for path 'libchaos'
Cloning into '/home/jack/src/pok3rtool/libchaos'...
remote: HTTP Basic: Access denied
fatal: Authentication failed for 'https://gitlab.com/ChaoticEnigma/libchaos.git/'
fatal: clone of 'https://gitlab.com/ChaoticEnigma/libchaos.git' into submodule path '/home/jack/src/pok3rtool/libchaos' failed
Failed to clone 'libchaos'. Retry scheduled
Cloning into '/home/jack/src/pok3rtool/libchaos'...
remote: HTTP Basic: Access denied
fatal: Authentication failed for 'https://gitlab.com/ChaoticEnigma/libchaos.git/'
fatal: clone of 'https://gitlab.com/ChaoticEnigma/libchaos.git' into submodule path '/home/jack/src/pok3rtool/libchaos' failed
Failed to clone 'libchaos' a second time, aborting
jack@linux:~/src/pok3rtool> git submodule update --init
Cloning into '/home/jack/src/pok3rtool/libchaos'...
error: unable to read askpass response from '/usr/lib/ssh/ssh-askpass'
Username for 'https://gitlab.com': ^C

I'm aware of this issue, it seems to be a long standing but difficult to reproduce bug in GitLab. My gitlab ci is failing for the same reason. Looking into it.

I'm shooting from the hip, and you've probably already seen it, but from the gitlab docs:

Just leaving these here in case you haven't seen them:
https://gitlab.com/gitlab-org/gitlab-ce/issues/33150
https://gitlab.com/gitlab-org/gitlab-ce/issues/24032

Alright, this seems to be fixed. I suspect it wasn't a bug, just some misconfiguration on my part. It looks like all the gitlab repos can be cloned anonymously now.


ECS Data & Mgt on different IPs

Hey,
So we've looked at using this code in our environment and it works perfectly except for one thing - the data/node api is on a different IP to MGMT/Administration (required for our implementation). Is it possible to modify the code to deal with this? Currently we get the following:
INFO[13090] Connecting to ECS Cluster: contoso.com
INFO[13090] Error connecting to ECS Cluster at: http://contoso.com:9020/?endpoint  source="ecsclient.go:231"
DEBU[13090] ECS Cluster version is:
DEBU[13090] ECS Cluster node count: 0
DEBU[13090] Looking for cached Auth Token for contoso.com
DEBU[13090] Authtoken pulled from cache for contoso.com
DEBU[13090] Register node DT exporter
DEBU[13090] Register cluster exporter
DEBU[13090] Register Replication exporter
INFO[13090] Nodestate exporter finished                   source="node-collector.go:66"
INFO[13090] Replication exporter finished                 source="repl-collector.go:80"
INFO[13091] Cluster exporter finished                     source="cluster-collector.go:170"
Additionally, we noticed that you are using the non-secure port for the data api (9020) - could there be an option to change to the secure (9021) - I can see this hard coded in the ecsclient.go code
Thank you in advance!

HI,
Thanks for asking... so I am going to look at this as two requests:

can we use https to connect to the system instead of http for node query?
Yep, I think we can do this.  I would ask that you create a separate support issue for "use TLS/SSL for node state query" so I can track these two issues separately. This is a quick change that I should be able to turn around rapidly (and looks like you already did in your fork) but I agree it would be best to make it the default.

data/node api is different from mgmt/admin can we support this?
So we are not set up this way at Paychex, BUT looking at your fork of the code I see you do a quick search/replace of "mgt" to "data" in the URL.  Hitting the data/node endpoint to get a list of nodes was the only way to get a definitive list of nodes at the time this code was written. I think the best thing to do would be to see if there is a management api we can hit to get the list of nodes and use that list.  I will take a look at the API spec and see if there is something that would work.

Thanks and glad to see the code is helping out somewhere.

Awesome thanks for the response! I'm guessing it's obvious from my super hacky changes on the fork, but I'm very new to Go (I know enough to be dangerous based on other languages). I'll also take a look at the api now and see if there's an alternative to getting the Node IPs

It seems like it is possible to get the node IPs from mgt now:
https://www.emc.com/techpubs/api/ecs/v2-0-0-0/NodesService_getNodes_0877757447b3b6c2e0c6018c2c38bd73_494fbd37b965fca309197939182de220_detail.htm

After some testing there is an issue using '9021' do get the node info from the data api - it seems the /ping url doesn't exist when using 9021 - it is only there for 9020.

@VortexUK  I am looking at the API you supplied, and seeing what I can find.  The information that comes back looks like so:
{             "rackId": "red",             "version": "3.2.1",             "isLocal": true,             "ip": "<IP_ADDRESS>",             "nodename": "node1.contoso.com",             "mgmt_ip": "<IP_ADDRESS>",             "geo_ip": "<IP_ADDRESS>",             "data_ip": "<IP_ADDRESS>",             "private_ip": "<IP_ADDRESS>",             "nodeid": "SOME-UID",             "data2_ip": "<IP_ADDRESS>"         },
based on my understanding of your issue ... I think we need to use the "data_ip" to do the work when we call a "data" api, and this will auto-magically work in your environment once I update the code.
Also we should be able to use port 9021 (TLS), to do the ping.  It doesn't work in the main-line code because retrieval of the "9021" info uses a default client that doesnt have TLS skip/verify enabled. The version1.2 branch has addressed this issue.  The only thing that does not appear to support TLS is the DTState retrieval (port 9101). (DTState is an undocumented (but valuable) indicator of health).  You can feel free to watch the progress on the version1.2 branch if you would like where I am doing a bunch of re-factoring how this exporter works to make it more optimized and easier to maintain.

@VortexUK I just released version 1.2 which should address this issue as well as issue #3 can you let me know if it works for you and I will close these two issues out.  Thanks

Closing this issue out.  If there are issues with the fix please let me know or re-open this incident.


Dynamic Color goes to default on undo

I'm creating a page where I have added 4-5 dynamic color boxes to choose from, and it works very well..
But the problem is when I use undo functionality, if I select color red and draw a line, then I change color to green and draw 2nd line, then I choose color Red and draw 3rd line, then when I click undo it works but all lines color changes back to the current selected color..

Unfortunately, it's a bug :/ I created a demo to replicate it: https://jsfiddle.net/szimek/js6u2L27/.
Fortunately, it's easy to fix ;) I'll try to find some time during the weekend to release a new version, but in the meantime, you can just add:
this.penColor = color;

right before this line: https://github.com/szimek/signature_pad/blob/master/example/js/signature_pad.js#L496 to fix it.

Great! it fixed the issue, Thanks a lot

Fixed in 2.3.2!


Weird issue with anchor scrolling

Describe the bug
I just want to know if what is shown in this video is expected. I have a widget_page with lots of widgets (many of them portfolio). If I'm in a page and click on a link that goes to an anchor (section) on the previous widget_page, the first thing that I see is the section, but then the page scrolls to the bottom and then back to the section, slowly. If I, however, go back with my browser from the first page (back to the section on the widget_page), I don't experience any weird scrolling.

To Reproduce
Just click here and you will see that the page initially loads at the right section (2º Bach Química) but then goes crazy to the bottom and back to the section. The source of that widget_page (and all the widgets) is here.
Expected behavior
Ideally I'd like to have a behavior like what I have when going back with my browser. Go directly to the section without any weird scrolling.
Technical details:

Link to your GitHub project: https://github.com/rodrigoalcarazdelaosa/rodrigoalcarazdelaosa.me
Wowchemy Version (from your go.mod): 3a03b72
Hugo Version (run hugo version): 0.78.2
Browser/OS: Safari 14.0.1/macOS 11.0.1
Wowchemy Template: Based on starter-academic.

Related to this, I just updated this discussion to reflect an update for AnchorJS, although not sure if it has to do with it.

Relevant part of the code that may be related to this: https://github.com/wowchemy/wowchemy-hugo-modules/blob/master/wowchemy/assets/js/wowchemy.js#L499

The effect is quite noticeable in this case as you are using a lot of dynamic height elements on that page. The height of each Portfolio widget is dynamic and currently unknown until Isotope JS and the images are fully loaded. The height of the fixed navbar is also dynamic, changing based on the window size.
To calculate the offset to a section on a page which has dynamic height elements, we need to know the height of those dynamic elements, such as by letting them load before determining the offset and then scrolling to it. You can see the first result is not quite right and appears before the page has fully loaded as it doesn't account for the dynamic height of the navbar, then it corrects itself and shows the start of the section with the correct spacing above it.
In this case, the user experience might be improved in a number of ways:

Try to place less Portfolio widgets on the same page (i.e. breakdown the content over more widget pages), reduce the number of Portfolio items on any one page, or link to the widget page itself in the navbar rather than a specific section on a widget page which has Portfolio widgets
Hide the page contents until the dynamic elements are fully loaded
Investigate if the anchor scrolling logic can be improved in some way

I think there may have also been a discussion somewhere in the past discussing a similar case.
If anyone has an improvement, feel free to open a PR for review.

Thanks @gcushen. Let me comment on your response:

To calculate the offset to a section on a page which has dynamic height elements, we need to know the height of those dynamic elements, such as by letting them load before determining the offset and then scrolling to it. You can see the first result is not quite right and appears before the page has fully loaded as it doesn't account for the dynamic height of the navbar, then it corrects itself and shows the start of the section with the correct spacing above it.

I'd actually be quite happy if the page initially loaded to that not-quite-right position before taking into account the navbar, and allowed me to interact with it (eventually correcting after fully loading all elements). That loading of that initial (wrong) position is almost instantaneous. The problem is the scrolling afterwards and the fact that the page is unresponsive until it's fully loaded (it'd be great if the rest of the page could be loaded in the background but allowing interacting with the section loaded). Just a note: if I instead load the page without any anchors (https://rodrigoalcarazdelaosa.me/recursos-fisica-quimica/) loading is almost instantaneous and I can scroll down the page perfectly without all the page fully loaded.

Try to place less Portfolio widgets on the same page (i.e. breakdown the content over more widget pages), reduce the number of Portfolio items on any one page, or link to the widget page itself in the navbar rather than a specific section on a widget page which has Portfolio widgets

This would a perfect solution for me if widget_pages could be nested, this is, having folders inside folders. For the case we're discussing here, I'd be very happy if I could create folders inside my widget_page and then make those folders widget_pages too (with the corresponding index.md with type: "widget_page" in its front matter), in order to have widgets there too. Do you think this may be possible in a future update?

I think there may have also been a discussion somewhere in the past discussing a similar case.

I think you're referring to this closed issue #1643 right?
I'll keep an eye on this issue as I'm really interested on any improvement.

Investigate if the anchor scrolling logic can be improved in some way

There's definitely room for improvement here. If I access this page (source here) without  any anchor, it loads very fast and I can start scrolling (interacting with the page) immediately. If I, however, access a section of it, even if that section is almost at the beginning of the page, such as this one (source here), the page is unresponsive (I cannot scroll, or click any link) until it loads completely.
Also, if I access a section of the page once I'm in the page (clicking on any of the buttons such as the Graduation Cap Emoji 🎓), that weird issue with the scrolling does not happen, even if the page has not had time for loading completely (I just tested this clearing my cache). Does this give any clues?

The effect is quite noticeable in this case as you are using a lot of dynamic height elements on that page. The height of each Portfolio widget is dynamic and currently unknown until Isotope JS and the images are fully loaded. The height of the fixed navbar is also dynamic, changing based on the window size.

This note:
// Note: If there are multiple project widgets on a page, ideally only perform this once after images
// from *all* project widgets have finished loading.

suggests that scrolling to anchor should be performed once all images have finished loading but I guess is not currently implemented like that right? That's the reason I initially see the correct section, but then the page scrolls to bottom and back again (it should wait until all images are loaded)

The effect is quite noticeable in this case as you are using a lot of dynamic height elements on that page. The height of each Portfolio widget is dynamic and currently unknown until Isotope JS and the images are fully loaded. The height of the fixed navbar is also dynamic, changing based on the window size.

This note:
// Note: If there are multiple project widgets on a page, ideally only perform this once after images
// from *all* project widgets have finished loading.

suggests that scrolling to anchor should be performed once all images have finished loading but I guess it's not currently implemented like that, right? That's the reason I initially see the correct section, but then the page scrolls to bottom and back again (it should wait until all images are loaded).

Scrolling to anchor after all images have been loaded definitely improves the situation. This can be easily achieved by first running the code to filter projects and then scrolling to anchor, checking if all images have been loaded (see here). I still don't see why, with this code, the first loading of the page goes to the section, but then (I guess after all the images have been loaded) it scrolls again. My website already has this revised code running.


Move manifests into a subdirectory

This allows us to remove the public.yaml / private.yaml hardcodes, which in
turn allows us to split the public / private pods into more specific pods
matching the typical patterns used to deploy workloads in K8S.
Depends-On: https://github.com/kubic-project/automation/pull/191

This PR has now some conflicts.


New Upgrade List

IMPORTANT: Upgrades need to move to using well-defined IDs instead of relying on an array or we can't remove them
Standard upgrades for buildings are going to be implement after the game rebalance, along with a few others related to the end-game pinkiepocalypse, but there is still room for other upgrades. This list captures any new upgrade ideas people might have.

Trade-off upgrades, for example giving ponies +0.05% SPS for every friendship linking them to another pony, but -0.1% SPS for every connection they are lacking.
Conditional upgrades, like one that grants +2% SPS, but is only active if the number of friendships is fully saturated.
Saturation bonus upgrades for upgrading buildings past 200. Maybe each building can have a series of overkill upgrades that increase SPS for every building over 200.

There could be thematic upgrades for the buildings, like one that increases smile output from concerts for the number of recitals, for instance.
There aren't currently any upgrades that touch on the achievements. Maybe a +0.1% SPS upgrade for each achievement, or a +0.5% SPS for every number-of-buildings related achievement, or +1% SPS for every achievement with a muffin worth of 5 or greater.
There could also be some trade-off upgrades, like one that makes ponies give +0.05% SPS for every friendship linking them to another pony, but -0.1% SPS for every connection they are lacking.
There could be conditional upgrades, like one that grants +2% SPS, but is only active if the number of friendships is fully saturated.
Or perhaps some over-achievement upgrades for upgrading buildings past 200, since currently it only seems like the early buildings are worth it to upgrade to 200 for the muffins, then afterwards it isn't terribly cost efficient to upgrade them further. Maybe each building can have a series of overkill upgrades that increase SPS for every building over 200.
Another possibility is to keep higher levels of achievements locked behind upgrades. Like maybe once someone reaches at least 1 septillion SPS or something, it unlocks another tier of achievements that deal with getting octillion and nonilion smiles, 300 of buildings, 200k boops, and so on.
Related to the last one is locking higher tiers of buildings behind upgrades as well. Like once a building reaches 200, it enables an upgrade that, when purchased, unlocks a more powerful version of that building. For example, 200 concerts could unlock the ability to build symphonies, festivals into celebrations, raves into mosh pits, elements of harmony into rainbow powers, etc.
And then of course, whatever upgrades make the Pinkiepocalypse more interesting. }:)

There aren't currently any upgrades that touch on the achievements. Maybe a +0.1% SPS upgrade for each achievement, or a +0.5% SPS for every number-of-buildings related achievement, or +1% SPS for every achievement with a muffin worth of 5 or greater.

Achievements give muffins, which in turn give a global SPS bonus

There could also be some trade-off upgrades, like one that makes ponies give +0.05% SPS for every friendship linking them to another pony, but -0.1% SPS for every connection they are lacking.
There could also be some trade-off upgrades, like one that makes ponies give +0.05% SPS for every friendship linking them to another pony, but -0.1% SPS for every connection they are lacking.
There could be conditional upgrades, like one that grants +2% SPS, but is only active if the number of friendships is fully saturated.
Or perhaps some over-achievement upgrades for upgrading buildings past 200, since currently it only seems like the early buildings are worth it to upgrade to 200 for the muffins, then afterwards it isn't terribly cost efficient to upgrade them further. Maybe each building can have a series of overkill upgrades that increase SPS for every building over 200.

These are some really good ideas.

Another possibility is to keep higher levels of achievements locked behind upgrades. Like maybe once someone reaches at least 1 septillion SPS or something, it unlocks another tier of achievements that deal with getting octillion and nonilion smiles, 300 of buildings, 200k boops, and so on.

Achievements are already hidden, but additional achievements should probably be added.

Related to the last one is locking higher tiers of buildings behind upgrades as well. Like once a building reaches 200, it enables an upgrade that, when purchased, unlocks a more powerful version of that building. For example, 200 concerts could unlock the ability to build symphonies, festivals into celebrations, raves into mosh pits, elements of harmony into rainbow powers, etc.

This will be partially addressed by some of the upgrades the rebalance introduces, which doubles the effectiveness of a building or grants it bonuses for having more of them, etc.

Achievements are already hidden, but additional achievements should probably be added.

I meant that the achievements aren't even added to the list until the upgrade unlocks them. So before the upgrade, anyone who doesn't know better wouldn't know there were more achievements to be had.

I'm not sure actually hiding achievements is a good idea, because there's an achievement for getting all of them.

That can be a hidden achievement too. :P

What are the benefits of hidden achievements?  Can't we duplicate the
discovery element with upgrades, etc.
On May 21, 2015 6:48 PM, "Abion47"<EMAIL_ADDRESS>wrote:

That can be a hidden achievement too. :P
—
Reply to this email directly or view it on GitHub
https://github.com/blackhole12/PonyClicker/issues/67#issuecomment-104443389
.

The benefit of having certain goals initially hidden from the player is that it adds longevity to the game in a sense. At some point, the player will have achieved almost everything there is to do in the game, so if they discover more to do as they play, they will generally get reinvested. If everything that is possible to do is given at the start, then the player will know exactly at what point they will have "beaten" the game. Sure, the same effect can be had with discovering upgrades, but I see nothing wrong with there being even more to discover.
I'm not saying to add secret achievements that can only be obtained by an untold and convoluted process or arbitrary means (like having the game open on Tara Strong's birthday or something), because those are annoying. Just that an extra tier of objectives that gets collectively revealed once certain conditions are met could merit a rush of fresh excitement on the side of the player.

I am against hiding achievements unless we want to include unfair shadow achievements that do not give muffin bonuses (like the ones in cookie clicker)

Very well, then.

An idea for an end-game achievement that is related to the mirror pools could be "Each building of type x gains +15% SPS for each building you own over 200". The purpose of this would be for late game balancing. If we make all building functions sub-exponential and rely on upgrades to continue boosting SPS, at some point we run out of upgrades, and the cost function will overrun the SPS because of it's faster growth rate (this is the same issue cookie clicker has). Instead of relying entirely on soft resets, this upgrade would allow each additional building purchased after a given point to provide a cumulative SPS bonus, which would equal the cost curve, thus preventing the cost curve from outpacing the building SPS (or at the very least allowing us to control how quickly it outpaces it)

Perhaps for a later milestone, create new upgrades -- or a new class of upgrades -- that are different unique Ponyville buildings?  They could have effects related to your wheel.
Start with only Pinkie Pie and background ponies unlocked for the wheel.
Train Station - When purchasing a new pony, you may select which one you buy.
Sweet Apple Acres - Unlocks Granny Smith, Applejack, Apple Bloom, Big Mac
Carousel Boutique - Unlocks Rarity, Sweetie Belle
Napping Cloud - Unlocks Rainbow Dash, Scootaloo
Gate to Tartarus - Unlocks Chrysalis, Sombra, other villains
The Friendship Castle - Unlocks alicorns
The Everfree Forest - Unlocks Fluttershy, and ...
... ooh, I just realized this might tie in with the Mirrorpocalypse: maybe you need to unlock the Everfree to be able to explore it and find late-game game-overhaul features like the Pool.  That suggests that maybe (some or all) buildings are rewards for resetting after hitting certain muffin targets (or gameplay-time targets)?
This also suggests a possible actual plotline and endgame state beyond simply "earn smiles, get ponies".  Ponyville has fallen through a Sadness Vortex (or insert other plot-coupon quest here) and your goal is, with the power of smiles (and muffins), to restore everything back to the way it was.  You can have a win state when you buy a certain building (Sugarcube Corner) or when Ponyville is fully restored, and then have that achievable without 100%ing the game so that completionists can continue on past it to complete, and the truly obsessed can just keep going indefinitely in search of smile records.
Other buildings maybe could have effects other than unlocking ponies, but I don't know what yet.  Sugarcube Corner, Town Hall, The Library Tree, and Quills and Sofas seem like obvious candidates.  Maybe they unlock upgrades, or they're late-game bonuses that are kick-plot upgrades in themselves, or they give you new clicking modes or otherwise freshen the game as the curves are starting to level off.  (The Mirror Pool then becomes the secret crazy ultra bonus level.)

How about an upgrade that makes pinkie clones give, but not take, more smiles? You could also add prestige upgrades that make cupcakes more powerful, or giving you a "starter kit" when you reset, like the Cookie Clicker heavenly chip system.


multus cni binary and configuration not found in the host

Spiderpool Version
main
Bug Type
IPAM
Main CNI
/
What happened?
The spiderpool-agent component runs good, but the multus binary and configuration file not found in the host(/etc/cni/net.d and /opt/cni/bin).
the helm value multus.multusCNI.uninstall was set to be true. And the spiderpool-agent restarts several times.
I tried to reproduce it in my kind environment, but can't do it. It's very strange.
What did you expect to happen?
/
How to reproduce it (as minimally and precisely as possible)
/
Additional Context
The spiderpool-agent container has preStop hook to clean up the multus binary and cni configuration:
          preStop:
            exec:
              command:
              - "/bin/sh"
              - "-c"
              - |
                {{- if .Values.multus.multusCNI.uninstall }}
                rm -f /host/opt/cni/bin/multus || true
                rm -rf /host/etc/cni/net.d/multus.d || true
                rm -f /host/etc/cni/net.d/00-multus.conf || true
                {{- end }}
                {{ .Values.spiderpoolAgent.binName }} shutdown

And the initContainer would install the multus binary and cni configuration.

无法确定如何安装的？但在如下的场景中，将会出现你所提到的问题。

你的集群中，并没有自行安装过 multus
安装 spiderpool 时 --set multus.multusCNI.install=false 指定了 false

~# helm upgrade --install spiderpool spiderpool/spiderpool -n kube-system --version=0.9.2 --set multus.multusCNI.install=false

[root@controller-node-1 bin]# kubectl get po -n kube-system | grep spiderpool
spiderpool-agent-59lkz                                  1/1     Running     0                 3m
spiderpool-agent-srdpg                                  1/1     Running     0                 3m
spiderpool-controller-5769cc7776-ftr6l                  1/1     Running     0                 3m
spiderpool-init                                         1/1     Running     0                 3m

[root@controller-node-1 bin]# pwd && ls multus
/opt/cni/bin
ls: cannot access multus: No such file or directory
[root@controller-node-1 bin]# pwd && ls spiderpool
/opt/cni/bin
spiderpool

[root@controller-node-1 net.d]# pwd && ls
/etc/cni/net.d
10-calico.conflist  calico-kubeconfig

No issue hit so far, I will close it, feel free to reopen this.


feat: cse support credential provider and vhd cache binary for Linux

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Requirements:

[x] uses conventional commit messages

[ ] includes documentation
[x] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

@AbelHu I moved the windows cse part to https://github.com/Azure/AgentBaker/pull/4281

LGTM

@AbelHu This change is basically for Linux side work, but include a few data model change, could you please take another look?
ping @feiskyer  for another look.
Thank you.


[Multi Gen Bit Perm] Minor improvement and flipping the order of inputs to start from lsb to msb

I had accidentally done the opposite
Thanks Alex for the improvement AND also helping uncover this issue!

nice!


doc: fix typos/indentation

Thanks for your contribution! I'm not sure how useful indentation fixes are when you aren't already touching the code (if it causes a merge conflict for someone else probably not), so don't go out of your way to fix them, but typo fixes are certainly appreciated.

typo fixes are certainly appreciated.
Are these kinds of small chore-PRs generally welcome, or are they more noise for you than anything else?

That is a good question. I’d say anything user-visible and obviously annoying (typos, wrong references in docstrings) is very welcome. Fixes to user-visible markup (bold theorem name) maybe as well, if it improves consistency. Typos in comments when they annoy you, but not need to be proactive about them. Indentation changes I personally don’t care too much about and would leave it to whoever touches the code next.
If you expect to do more, then grouping multiple similar ones in one PR makes reviewing quicker.

(Sorry, that last commit was an accident, but I guess it's also enough of a chore that I'll just leave it in.)

Ok, now I'm confused how the PR even got merged, but does not include the final commit...

Maybe there was a race condition with the Github merge queue. But separate PR is better anyways, since it isn’t about docs here.


refactor: add builder for Frontend

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
Make creating Frontend instance more clearer, and more flexible (for later dual-rw mode usage).
Checklist

[ ]  I have written the necessary rustdoc comments.
[ ]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)

Nit: FrontendBuilder uses the style with_xxx , but the MetasrvBuilder uses the xxx. Consider keeping the same style.

Could you send a PR to let them to keep the same style? we can use with_xxx

Let's make it a good first issue!


extruder heater and fan connection

I am a little bit confused.
As per the video, the extruder heater is connected to D10 and the fan to D9.
In the md file https://github.com/dherrendoerfer/The-Robin-3D-Printer-Project/blob/master/STL-Files/Bad-Robin/Build-Instructions.md the following is mentioned:

Connect the extruder heater to E0
Connect the extruder fan to E1, watch the polarity !

Probably it means the same because the heater of the first extruder is connected to D10. However, calling the first extrude E0 is also a little bit misleading, because the picture here https://reprap.org/wiki/File:Rampswire14.svg calls it extruder 1.
Suggestion is to change the description in the build instructions:

Connect the extruder heater to D10
Connect the extruder fan to D9, watch the polarity !

Fixed with commit: https://github.com/dherrendoerfer/The-Robin-3D-Printer-Project/commit/65b15908f6b379d16c3a0390eba980823d689b62


docs: fix composer package name

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

Fixed issues

👍 thks


Fix slice truncation on ID reads

This PR fixes an issue where we leak and corrupt the memory obtained from the NativeHeap when reading ts.ID-s from disk – the NativeHeap tracks owned memory chunks using the data pointer and length, while during the read operation we used to shift the start of the slice essentially changing both the pointer and length, leaking the underlying storage and ultimately corrupting the NativeHeap.

Coverage decreased (-0.01%) to 78.348% when pulling 8f90a57603d99b5375729f440357b595234be06c on kobolog/fix-truncated-slices into 82b8fdd24c7c8ce685c12c443e327476922d99d4 on master.


Support Grafana Cloud

Is your feature request related to a problem?
Since https://github.com/grafana/grafana-api-golang-client has been archived this library is to be used as a replacement, it would be great if this library can also support Grafana Cloud API endpoints (which are currently only available in grafana-api-golang-client).
Describe the solution you'd like
Support Grafana Cloud API endpoints
Describe alternatives you've considered
n/a
Additional context
There doesn't appear to be any published OpenAPI spec for the Grafana Cloud API at the moment.
API docs: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/

👋. You can use the client here: https://github.com/grafana/grafana-com-public-clients. It supports more endpoints than the archived client did


Fix scatter chart gap on FUTA mobile

Describe your changes
Describe the purpose + content of these changes
Link the related issue
Closes #0000
Checklist before requesting a review

[ ] Is this PR ready for merge? (Please convert to a draft PR otherwise)
[ ] I have performed a self-review of my code.
[ ] Did I request feedback from a team member prior to the merge?
[ ] Does my code following the style guide at docs/CODING-STYLE.md?

Instructions for Reviewers
Functionalities or workflows that should specifically be tested.

Environmental conditions that may result in expected but differential behavior.

If relevant, list additional work to complete pre-merge (delete logging, code abstraction, etc)

Old version :

Last status:

old:

fixed:


Add publishing api overview dashboard to grafana

https://trello.com/c/qPIJoZIV/728-publishing-api-metrics-making-visible
Makes the Publishing API dashboard template available to Grafana 3
@deanwilson This adds a specific dashboard to the ever growing list, as discussed this could be done with some clever puppetry, happy to make it so with some advice.

Looks fine. Merge away.


Register() and Deregister() methods of Registrar class should be virtual

The Register() and Deregister() methods of Registrar class should be virtual so as to allow overriding in inherited subclasses.

Fixed.


WIP: Uninst restart sidecar

This is a second implementation instead of https://github.com/openshift/hive/pull/1099 but I cannot yet get it to work. The file watcher doesn't seem to see any changes, it seems to be restarting itself, but it never kills the deprovision pod.

This is a second implementation instead of #1099 but I cannot yet get it to work. The file watcher doesn't seem to see any changes, it seems to be restarting itself, but it never kills the deprovision pod.

If it is working properly, I do not think that the sidecar container should ever restart.

This is a second implementation instead of #1099 but I cannot yet get it to work. The file watcher doesn't seem to see any changes, it seems to be restarting itself, but it never kills the deprovision pod.

If it is working properly, I do not think that the sidecar container should ever restart.

Oops, ignore that. I think it does restart when the PID changes.

Got past problem 1 which was mounting the cred secret into the filewatch container, it actually expects the files to be in the container with the pid we will kill.
Unfortunately problem 2 looks worse, this code appears to be written for processes that never end, it will kill the pid but the pod stays up and that container just restarts. If the deprovision is successful, the file watcher goes into an infinite loop looking for the pid that no longer exists. There's no way to exit this as far as I can see. We're going to need to patch it or write our own filewatcher module. Maybe copy and modify.

Giving up on this approach, it's been days of attempts and I still can't get the IPC right even after forking library-go's watcher and trying to modify it for non-permanent processes (and I haven't found a way yet that I think they'll accept and works). Latest progress is in this branch but the code still can't detect when the process is completed, it's probably fixable but it's gone on way too long.


Add lint:fix command.

We add a |lint:fix| command to fix lint errors easily via simple command.
Also, this patch contains fixing lint errors in gulpfile.babel.js.

Thank you for review. But this is not ready to review yet.
I'll add a [WIP] tag to CL description.


Question: change CVC placeholder from JS, when ccType resolved

Hi,
Is this possible to detect/subscribe to the event when ccType becomes know in the JS, so I can change CVC placeholder (4 digit for amex, 3 for visa) as appropriate?
Use case: when visa is detected, cvc is set to ... ; when Amex is detected, CVC is set to ....
Thanks!

Sure, you can use $scope.watch for that


[WIP] Add lower and upper bounds on the label for survival analysis

As part of #4491, we need to add lower and upper bounds for the label, where the label is censored.
[More information coming]
cc @avinashbarnwal

Will try again later.


Tabular: Added initial RAPIDS KNN model

Issue #, if available:
Description of changes:

Added initial RAPIDS KNN model
On a p3.2xlarge, shows 1000x+ faster inference speed with zero accuracy drop compared to sklearn!!

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Install instructions:
conda create -n rapids-0.18 -c rapidsai -c nvidia -c conda-forge -c defaults rapids-blazing=0.18 python=3.7 cudatoolkit=10.1 -y
conda activate rapids-0.18
git clone -b tabular_rapids_rf https://github.com/awslabs/autogluon
cd autogluon
python3 -m pip install -e core/
python3 -m pip install -e features/
python3 -m pip install -e tabular/[all]
cd ..

Test code:

from autogluon.tabular import TabularPredictor, TabularDataset

# SAMPLE = 5000
SAMPLE = 100000
# SAMPLE = None
LABEL = 'Cover_Type'

if __name__ == '__main__':
    path_prefix = 'https://autogluon.s3.amazonaws.com/datasets/CoverTypeMulticlassClassification/'

    path_train = path_prefix + 'train_data.csv'
    path_test = path_prefix + 'test_data.csv'

    train_data = TabularDataset(path_train)
    test_data = TabularDataset(path_test)

    if SAMPLE is not None:
        train_data = train_data.sample(n=SAMPLE, random_state=0)

    # from autogluon.tabular.models.rf.rf_rapids_model import RFRapidsModel
    from autogluon.tabular.models.knn.knn_rapids_model import KNNRapidsModel

    predictor = TabularPredictor(label=LABEL, eval_metric='log_loss').fit(
        train_data=train_data,
        hyperparameters={
            # 'RF': {},
            # RFRapidsModel: {},
            'KNN': {},
            KNNRapidsModel: {},
        },
    )

    leaderboard = predictor.leaderboard(test_data)

Output:
                 model  score_test  score_val  pred_time_test  pred_time_val  fit_time  pred_time_test_marginal  pred_time_val_marginal  fit_time_marginal  stack_level  can_infer  fit_order
0       KNNRapidsModel   -0.307182   -0.31517        0.474391       0.430484  3.345487                 0.474391                0.430484           3.345487            1       True          2
1  WeightedEnsemble_L2   -0.307186   -0.31517      503.129004      10.521359  0.657844                 0.021013                0.001806           0.585180            2       True          3
2           KNeighbors   -0.307186   -0.31517      503.107990      10.519553  0.072664               503.107990               10.519553           0.072664            1       True          1

Job PR-997-3 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-997/3/index.html

Should the get default models function automatically choose between rapids and sklearn KNN based on num_gpus argument?

Should the get default models function automatically choose between rapids and sklearn KNN based on num_gpus argument?

This will likely be the case once we are more confident in their stability (plus we need a check for rapids install). I've documented the models as experimental, so we can change them / merge them with other models as we see fit.

Job PR-997-4 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-997/4/index.html


AOKALSTR values are strings

In [2]: dat = fetch.Msid('aokalstr', '2012:031:08:00:00', '2012:031:11:00:00')
In [3]: dat.iplot()  # FAIL
In [4]: dat.vals
Out[4]:
array(['8 ', '8 ', '8 ', ..., '8 ', '8 ', '8 '],
dtype='|S2')
@aarvai  -  Does this make any sense to you?  Is this MSID a string valued quantity in GRETA?

Dave Jones was kind enough to help me out on this.  GRETA also decoms it as a string.  The data type was originally derived from the telemetry database.  In P009, the data type is listed as IDIS.  I can't figure out the acronym, but it appears to correlate to state code.  The state code table is given below.  This is the same type of data type as AOPCADMD.
I'm guessing it would be preferable for this parameter to be decommed as an integer or float (FMIL).  Is that a change you can make in the eng archive database separate from the operational database?  Matt may have some insight on whether or not it's still possible to make this change for P010.
SEQUENCE_NUM	COUNT
1	0
2	1
3	2
4	3
5	4
6	5
7	6
8	7
9	8
10	9
11	10
12	11
13	12
14	13
15	14
16	15

It's probably not worth the trouble to change this MSID in P010.  Everything in the rest of the system basically works now, but I found the issue in fetch.  A fetch.MSID object has an attribute "raw_vals" that gives the COUNT corresponding to the state code.  That gets used to make plots of state-code based values.  But the CXC values for AOKALSTR have a trailing space e.g. "3 " while the state codes do not.  So the likely change is just a fix in the fetch.raw_vals() routine to deal with this problem.


/recent

It would be nice if there was a /recent page that would show the most recently updated modules. Just as we could do sorting the modules by date before the update of the site a few weeks ago.
It would be also nice if that listing included the Travis and Appveyor status of the modules so we could find which recently updated modules are still missing either of those.

I think that the second part is already done. Can you please check?


Add CockroachDB to styles list

I closed #3 as we restructured our styles library into separate repos for better distribution. I cannot seem to get the correct "latest release" link to work in the  same way that you have and the GitHub docs state, so hopefully this is fine.
More styles to come!

Linking to master works in the sense that it'll always fetch the "latest" files, but there are two problems from Vale Server's perspective:

This downloads the entire repository instead of just the style .zip. This means that we could potentially be installing a lot of unnecessary files (for example, the Microsoft style contains almost twice as many files related to testing than the actual style itself). It can also result in error messages if the repository contains unrelated .yml files (such as yamllint.yml).

Since there's no named release asset (i.e., a CockroachDB.zip file containing only the style files), the style would be installed as CockroachDB-master—meaning, for example, we'd need to write BasedOnStyles = CockroachDB-master in a config file.

Another issue is that your meta.json isn't valid JSON since it contains JS-style comments (\\). This was likely due to poor documentation on my part and I'll make sure to update the README with a copy-paste-able example.

I know the requirements for this repo are strict, but that's only because it has to support a fully-automated installation process for Vale Server (so even things like .zip naming matter). To (hopefully) make it easier, I've made the Joblint style into a template repository. So, adding a new style should now only require minor edits.

That's fine. I have fixed the meta.json files, but I am still struggling to generate the latest.zip file as mentioned here - https://help.github.com/en/github/administering-a-repository/linking-to-releases
I wonder if it's because we have no sub folders? We don't really need any sub folders to be honest, but I guess we could restructure them if this works.
We did create our own style template, but maybe I'll fork yours now instead.

I think the missing step is the last section in GitHub's docs:

If you'd like to link directly to a download of your latest release asset you can link to /owner/name/releases/latest/download/asset-name.zip.

All of the styles currently included in this repo include a release asset named <style>.zip (e.g., CockroachDB.zip). You don't need to have subfolders to create this (although I do think including tests is an important aspect of maintaining a style): You just need to create a .zip file and upload it as a release asset.
The Joblint template mentioned above does this automatically whenever a new release is cut:
https://github.com/errata-ai/Joblint/blob/35e9a2d7c9f1a94bb1b26b7f9aaed89fd8d1f69f/.travis.yml#L20-L27

Ohh, you're creating the zip and adding it to the release! Not using the default GitHub generated ones! That might make sense. That aside, even that link in the GitHub docs, still doesn't work, no idea why.
I will look into tests at some point, but not quite yet.
So you think that the best approach is to follow some of the similar steps you have above, using a CI to create a zip file (of whatever) and then use that the create the release asset?
If all this works, I'll make a PR to this repo with instructions for people like me :)

Hey @jdkato I made a whole bunch of changes to https://github.com/testthedocs/CockroachDB to get this in sync with your template. I noted a few things to add to docs once I got it all working. I'm just wondering if there's a way to automate the zip file you need for the release? As Travis generates one, it seems like adding something manually is double handling 🤔

Travis will automatically upload it to GitHub after you push a tag, too.

@jdkato Do these changes look right? Keen to get the other styles we have up to scratch and want to know if I got things right

This looks good besides the two points below:

The meta.json  file needs to be included in the style folder.

The url entry in this PR needs to be changed from https://github.com/testthedocs/CockroachDB/archive/master.zip (the entire repo) to just https://github.com/testthedocs/CockroachDB/releases/latest/download/CockroachDB.zip (once the .zip is uploaded).

@jdkato I really don't understand where you get this latest release link from. I have Travis setup, it's automatically creating release assets, and still all I get is
https://github.com/testthedocs/CockroachDB/archive/0.1.0.zip etc
And when I look at other repos, that's also all I see, any instructions I can look at? This is confounding me :(
meta.json moved

Is it possible that you haven't set up the GITHUB_TOKEN that gives Travis permission to upload the zip?
https://github.com/testthedocs/CockroachDB/blob/8320863e48a077a77ba67110e8398a486f7d0b5e/.travis.yml#L23

@jdkato Oh my, I finally got it working. Was a mix of incorrect secret formatting in Travis and some other things

Yes, it looks good. Once the link is updated, I'll merge this and it'll be available in Vale Server.

@jdkato link updated… But when I have more of these ready, we'll transfer ownership too and update the links again.


Add missing Go modules and add go.sum

gofpdf contains a go.mod file but it is missing the actual list of modules. go.sum is also missing. This PR fixes both problems.

This PR is appreciated, but we still haven't resolved the best way to handle the fact that all non-standard packages are imported only from the barcode add-on in the contrib directory. gofpdf itself without the contrib directory depends only on the standard library. There is some discussion in PR #185.
What are your recommendations?

Thanks for the link to #185. I'll weigh-in there.

I am now maintaining two branches: master (the default go get branch) and v2 (the git clone github.com/jung-kurt/gofpdf/v2 branch). v2 will comply with semantic versioning. In order to keep gofpdf free of all third party dependencies, in v2 the contrib directory (with packages for barcode and tiff support, etc) have been moved to github.com/jung-kurt/gofpdfcontrib which itself uses go.mod and go.sum and semantic versioning.

Belated thanks for fixing this :)

Thanks for the nudge, @twpayne -- it was definitely time for this project to get with the program and start taking semantic versioning more seriously. Incidentally, this article was the one I found most helpful for learning how Go modules work.


How to evaluate the generated pointcloud?

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
{ R200 / F200 / SR300 / ZR300 / D400 }

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
{Win (8.1/10) / Linux (Ubuntu 14/16/17) / MacOS

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
PC/Raspberry Pi/ NVIDIA Jetson / etc..

SDK Version
{ legacy / 2.. }

Language
{C/C#/labview/nodejs/opencv/pcl/python/unity }

Segment
{Robot/Smartphone/VR/AR/others }

Issue Description
<Describe your issue / question / feature request / etc..>
Suppose that the pointcloud is generated by the camera and i can visualize it using pcl, how can i know if the pointcloud is good or not ? Is there any quality  indicators for generated pointcloud?
Thanks a lot!

Hi jianjuan,
Checking the depth performance with the RealSense Depth Quality Tool could be a good place to start to evaluate the D400 camera.
The tool can also display 3D point cloud.
https://github.com/IntelRealSense/librealsense/tree/master/tools/depth-quality


[bug]Cannot enter Chinese in the SearchBar

Ionic version:  (check one with "x")
[ ] 1.x (For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[ x] 3.3.0
I'm submitting a ...  (check one with "x")
[x ] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

When I enter Chinese in the SearchBar, there are redundant English characters.
Related code:
<ion-searchbar [animated]=true [autocomplete]="on" (ionInput)="onSearchInput($event)" [(ngModel)]="currentSearchCondition.name"></ion-searchbar>

Dup: https://github.com/ionic-team/ionic/issues/11566

Hello! Closing this as a duplicate of #11566. We plan on having this issue fixed for the next release. Thanks!


Remove Extra White Spaces And Cleaning Code

I found too many extra white spaces in most of the python files, from this issue I intend to remove them so that the code looks clean, also rewrite proper comments wherever needed, and improving the README.md file.

PLease assign this issue to me if you find this issue useful so that I can start working on it.

@ajjayymahato For spaces just run black. What improvements you intend on the README?

I can reformat the Readme file so that it looks little appealing and maybe add something if you want anything added?


Volume Mixer fix.

Fix for #365
Made a smaller version (32x32) of the .png icon and replaced it where it needed to be loaded.
Results.

LGTM

thanks!


Keep_alive isn't clearing the vision model portion of LLaVa from VRAM

I'm on Windows and do a lot of things with models. Mostly a VLM->Get a detailed description of an image->Use a different LLM that's better at writing prompts to inject/mix my ideas in with->Stable diffusion->Image type workflow with ComfyUI. Obviously, I need all the VRAM I can get, but I sometimes run into scenarios where every megabyte of VRAM is precious(ipadapter, controlnets, etc)
I have my own custom nodes that I've made, that incorperate sending the command to unload the model after they are used, so that I don't run into any OOM/OOVM scenarios leading to using shared memory(destroys performance):
For example, it pretty much ultimately runs the command:
client.generate(model=model, prompt=prompt, images=images_b64, system=system, options={'num_predict': num_predict, 'temperature': temperature, 'seed': seed}, keep_alive="0")
Everything works fine and the keep_alive = "0" does indeed unload the model when it's done, but it seems like it leaves the mmproj-model-f16 portion of the associated model still loaded in VRAM. Whatever VRAM load I was at before starting->loading->unloading remains higher until I exit out of the Ollama Windows icon in my task tray; freeing up the chunk that was trapped.
I've tested this with regular LLMs and the command does completely work and return my VRAM load back to what it was before I loaded the model.
EDIT: Oh and I can also replicate this identical behaviour with a regular *.py script doing the same thing with a basic template

Newer versions of Ollama have moved the LLM processing into the server itself, and it looks like there are some memory leaks to be fixed, you might want to follow this issue https://github.com/ollama/ollama/issues/1848

@RandomGitUser321 yes, llama.cpp is temporarily removing llava support, but we'll continue to support it. There have been a few issues which have crept up with it lately though that we're working through right now.

#3149 should address the issue.

This should be fixed now


No way to tell which shift/control/alt is being pressed?

I'd love to be able to tell whether it was the left or right shift/control/alt being pressed instead of just knowing if at least one of them was being pressed.

Hello @JaCoB123456798, sorry for the late reply!
Please have a look at the extendedKey property of the MouseEvent! In case extendedKey = true, it's the RIGHT button for all of the individual duplicate buttons:
VK_LWIN -> winPressed = true
VK_RWIN -> winPressed = true and extendedKey = true
The same applies for: LWIN/RWIN, LMENU/RMENU, LSHIFT/RSHIFT and LCONTROL/RCONTROL.
Hope that helps! Best regards.


Segmentation fault during fir_convolve_impl_mirror_mirror_antisymmetric_avxfmaN

I've encoutered segmentation faults while running code in a ipython notebook using fastfilters to validate a model to be used in ilastik.  I've managed to narrow it down to this minimal case to trigger it:
import fastfilters
import numpy as np

data = np.random.normal(size=(200, 200))
data = fastfilters.hessianOfGaussianEigenvalues(data, window_size=3.5, scale=3.5)
data = fastfilters.structureTensorEigenvalues(data, window_size=3.5, innerScale=3.5, outerScale=3.5)

It seems to occur in fir_convolve_impl_mirror_mirror_antisymmetric_avxfmaN as seen in the crash report attached below.
python3.6_2017-10-10-123502_MacBook-Pro.crash.txt
This was using fastfilters compiled from the latest master at the time of this post: 1f8d11a8bf0651566c18f47bf269792555c6d35f

Thanks for the detailed report. I've heard about this bug before but so far no one had been able to produce a small testcase!
I'm busy teaching this week but will try to fix it afterwards.
@stuarteberg @k-dominik I think this is the bug we've run into a few times already.

Running hessianOfGaussianEigenvalues twice also reliably triggers this segfault for me.
I think the first call overwrites some memory which triggers the fault in the second call.

Interestingly, using two consecutive hessianOfGaussianEigenvalues but with scale and windowSize set to 1.2 (or lower) do not trigget the segmentation fault.

I think in this case the problem is that you try to filter the result of an eigenvalue filter again. Fastfilters will assume 3d convolution for the second one and then fault because one axis only has a length of two.
Did you want to do this or is the testcase just coincidentally faulting and the real error is somewhere else?

Indeed, the testcase is coincidentally faulting. I'll try to make another testcase closer to what I wanted to do.

OK, so here's a example closer to what I was doing.
import numpy as np

data = np.full((60,60,60), 1.0)
L = []

L.append((
    data[:,:,:48],
    data[:,:,48:],
))

# triggers the fault
print(L[0][0].shape)  # (60, 60, 48)
print(L[0][1].shape)  # (60, 60, 12)
fastfilters.laplacianOfGaussian(L[0][0], window_size=3.5, scale=3.5)
fastfilters.laplacianOfGaussian(L[0][1], window_size=3.5, scale=3.5)


Move auth configs into app

Refs https://github.com/firezone/product/issues/413 https://github.com/firezone/product/issues/349

Remaining work:

[x] move oidc config parsing into start proxy
[x] add config ui
[x] restart oidc worker on config change
[ ] fix tests

Pull Request Test Coverage Report for Build f6d92dca7b5597620d81c60850a9f1a7eb77df32-PR-812

5 of 12 (41.67%)  changed or added relevant lines in 9 files are covered.
42 unchanged lines in 12 files lost coverage.
Overall coverage decreased (-3.3%) to 66.079%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

apps/fz_http/lib/fz_http_web/live/device_live/new_form_component.ex
0
1
0.0%

apps/fz_http/lib/fz_http_web/live/device_live/unprivileged/show_live.ex
0
1
0.0%

apps/fz_http/lib/fz_http/oidc/start_proxy.ex
0
2
0.0%

apps/fz_http/lib/fz_http/conf/cache.ex
0
3
0.0%

Files with Coverage Reduction
New Missed Lines
%

apps/fz_http/lib/fz_http/application.ex
1
0%

apps/fz_http/lib/fz_http/conf/cache.ex
1
22.22%

apps/fz_http/lib/fz_http_web/user_from_auth.ex
1
83.33%

apps/fz_http/lib/fz_http/sites.ex
2
86.67%

apps/fz_http/lib/fz_http_web/controllers/auth_controller.ex
2
71.43%

apps/fz_http/lib/fz_http_web/live/device_live/new_form_component.ex
2
80.0%

apps/fz_http/lib/fz_http_web/live_helpers.ex
2
66.67%

apps/fz_http/lib/fz_http_web/live/setting_live/unprivileged/account_form_component.ex
5
16.67%

apps/fz_http/lib/fz_http_web/live/setting_live/unprivileged/account_live.ex
5
9.09%

apps/fz_http/lib/fz_http/oidc/refresher.ex
6
52.17%

Totals

Change from base Build 5304cea102e5afc49d1590bb1ea1c6d7ce723678:
-3.3%

Covered Lines:
937

Relevant Lines:
1418

💛  - Coveralls

@princemaple Thanks for starting on this. Just FYI, we may not merge this for 0.5.0 just because I think some users are automating this config in their /etc/firezone/firezone.rb config file and if we moved this to the UI without some sort of API for modifying these configs, it may cause an issue.
Open to suggestions though. I was thinking after 0.5.0 is released we can tackle this config issue, v1 REST API, and Prod Docker.

@jamilbk this will not be a breaking change.
This PR will prioritize user setting but fallback to existing configuration.

@jamilbk this will not be a breaking change.
This PR will prioritize user setting but fallback to existing configuration.

Music to my ears. Well done!

@jamilbk give this branch a go. Haven't fixed the tests yet but the functionalities are working.

Looks great. Thanks for adopting the new config layout from @akrousset and nice using those switches.
I have some help text suggestions but this looks really awesome.

This is ready.


Scrolling behaviour is buggy

The scrolling behaviour in windowed mode is weird and seems buggy. I can only scroll when my mouse pointer is positioned outside of the window, instead of at the border of the viewport. Furthermore, when the game is scrolling and then loses focus (by clicking outside of the window), the game gets confused and scrolls back-and-forth very rapidly.
I've made a short video for clarification:

Interesting, I can't seem to reproduce the back-and-forth thing, needs investigation on that part.
As for the 'border does not scroll' thing, that probably is a bug within here.

I believe we have determined this is expected behaviour, we have seen this in C&C as well.


webpack entry file cannot be a coffee script file

If there is a work-around I would use it, but I can't figure it out. I'm using browserify right now and I was looking into webpack. Here is what I have in my makefile so far (using browserify).
coffee -w -c sm.coffee engine.coffee &
watchify -t glslify sm.js engine.js -o bundle.js -v

Here are the files in my project: I have only 2 sources coffee files, and 2 glsl shaders.
src$ ls
bundle.js  engine.coffee  index.html  js  makefile
node_modules  sm.coffee  sm.js  vert.glsl frag.glsl sm.py webpack.config.js

Here is what my webpack.config.js file looks like: I would like to specify my entry point to be my main coffee script file.
module.exports = {
    entry: 'engine.coffee',
    output: {
        filename: "bundle.js"
    },
    loaders: [
        { test: /\.coffee$/, loader: "coffee-loader" }
    ]
}

It looks like I can use loaders to embed my glsl files, and to compile my cofeescript. If I'm missing something I'd appreciate it to be pointed out.
Thanks !

I have similar issue. I've created demo to reproduce the issue https://gist.github.com/mainiak/1ae02e2694054f5fa6be#file-readme-md

entry: './engine.coffee',

Tobias (@sokra) - As you can see in my gist, my entry point is javascript file - not coffee script file - and it doesn't work anyway.

Tobias (@sokra) - if I change my gist to have JavaScript file as entry point - and require coffee script file in it - it will just throw different kind of error.

:+1:

I'm in the same boat here. I'd like to see this implemented, as my codebase is geared around using that index.coffee file and without being able to specify it as an entry point it's much more difficult to take advantage of this module.

This is working for me

Looks like this is working now, I'm not very interested in this myself so if it turns out it doesn't really work, someone can file another issue.


fix(schema): remove not required params and catch errors from validation process

workaround for https://github.com/eemeli/yaml/issues/497

:tada: This PR is included in version 1.16.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Created the Anime Recommendation System

Description
In this project , I've created an Anime Recommendation System which recommends the user with anime on the basis of its content and demographic.
Tasks Performed:-

Data Collection & Pre-processing
The dataset comprised of Top2000 Anime from MyAnimeList (Source:Kaggle). The dataset was used to extract the key features like -  Score, Genre ,Demographic and Theme(s) from the dataset.
Conversion of Textual Data into Feature Vectors
Using Cosine Similarity to get similarity scores between different anime
Testing for an User Input and finding its closest match on the basis of similarity score
Creation of a Simple GUI for Anime Recommendation System.
In the output we see Anime Name and its Demographic.

Screenshots
1]

Checklist

[X] I've read the contribution guidelines.
[X] I've checked the issue list before deciding what to submit.
[X] I've edited the README.md and link to my code.

(Add x in the [] to mark as completed.)
#326
(Link the Issue Number over here.)

Kindly review this PR.

@khusheekapoor, Kindly review this PR.