Copy and paste: pastes the older copied text about 10% of the time.

VSCode Version: 1.35.1
OS Version: Mac 10.14.5

Steps to Reproduce:

I can't repro this with any sort of consistency. It seems to not care about how fast or slow I press the keys, but pressure the short cut for copy does not grab the correctly selected text and when I paste (which does work) it then pastes older copied text. This is really frustrating and I have never experienced this issue on PC, only mac. I am using karabiner to re-map some keys. Cmd is moved to Ctrl so I can use a windows friendly layout.

Does this issue occur when all extensions are disabled?: Yes
These are my key settings in case that is needed
// Place your key bindings in this file to override the defaultsauto[]
[
    {
        "key": "ctrl+shift+c",
        "command": "editor.action.clipboardCopyAction",
        "when": "editorTextFocus"
    },
    {
        "key": "shift+cmd+z",
        "command": "redo",
        "when": "textInputFocus && !editorReadonly"
    },
    {
        "key": "shift+cmd+z",
        "command": "-redo",
        "when": "textInputFocus && !editorReadonly"
    },
    {
        "key": "cmd+pagedown",
        "command": "workbench.action.nextEditor"
    },
    {
        "key": "shift+cmd+]",
        "command": "-workbench.action.nextEditor"
    },
    {
        "key": "cmd+pageup",
        "command": "workbench.action.previousEditor"
    },
    {
        "key": "alt+cmd+left",
        "command": "-workbench.action.previousEditor"
    },
    {
        "key": "ctrl+a",
        "command": "cursorHome",
        "when": "textInputFocus"
    },
    {
        "key": "home",
        "command": "-cursorHome",
        "when": "textInputFocus"
    },
    {
        "key": "cmd+c",
        "command": "editor.action.clipboardCopyAction",
        "when": "textInputFocus"
    },
    {
        "key": "cmd+c",
        "command": "-editor.action.clipboardCopyAction",
        "when": "textInputFocus"
    },
    {
        "key": "cmd+k",
        "command": "editor.action.addCommentLine",
        "when": "editorTextFocus && !editorReadonly"
    },
    {
        "key": "cmd+k cmd+c",
        "command": "-editor.action.addCommentLine",
        "when": "editorTextFocus && !editorReadonly"
    },
    {
        "key": "shift+cmd+k",
        "command": "editor.action.removeCommentLine",
        "when": "editorTextFocus && !editorReadonly"
    },
    {
        "key": "cmd+k cmd+u",
        "command": "-editor.action.removeCommentLine",
        "when": "editorTextFocus && !editorReadonly"
    },
    {
        "key": "cmd+down",
        "command": "-cursorBottom",
        "when": "textInputFocus"
    },
    {
        "key": "cmd+up",
        "command": "-cursorTop",
        "when": "textInputFocus"
    }
]```

The cut short-cut has the same issue.

Upon more testing, I think this is related to some sort of small delay when you change lines and do a copy or cut in short time, it does not capture the next text. It's almost as if there is a delay before the app can recognize this selection. It's quite slow and I feel like its related to the time that the light bulb shows up to the left of a highlighted line of code. Perhaps 100 to 200ms. This is far too slow for a snappy text editor and the mac I'm using in 2019 model -- it should be fast enough for this type of stuff.

Turns out this is mac issue, PC captures such events faster. If you use shift+arrow to highlight text in a mac and then use the copy short cut, it won't work if you're fast. You have to slow down.


Please explain the required hardware more

ConnectionDiagram.png shows:
"Adafruit Feather nRF52840 Express" board
2 x 10k Ohm resistors
1 Piezo buzzer
1 Transistor
4 Switches
As an electronics novice, which Piezo buzzer and transistor should be used?
Vik Olliver's Arduino Microwriter recommends particular microswitches at https://www.thingiverse.com/thing:3433244
Do you have recommendations for particular switches for people to use, probably in a 3-switch Morse configuration?
Jon Oxer's https://github.com/SuperHouse/MOAC "Mini Open Adaptive Controller" may interest, if mono 3.5mm  AUDIO-JACK-PJ321 plugs are an AAC standard,  you could connect switches that way.
Currently the  "Adafruit Feather nRF52840 Express" is out of stock, but the smaller "Adafruit ItsyBitsy nRF52840 Express" isn't.
Do you know of any issues using the ItsyBitsy board?

As an electronics novice, which Piezo buzzer and transistor should be used?

You need to use passive buzzer and npn transistor(for example 2n2222).
Your's transistor connection can look not exactly like on schematic because different transistors models can have different pinouts.
You need to check particular transistor pinout in datasheet.
Transistor connection should be next:
Collector -> Buzzer
Base       -> D13 via resistor
Emitter    -> GND

Do you know of any issues using the ItsyBitsy board?

Code was tested with ItsyBitsy too, so you can use that.

Any 3.5mm switches are fine :)
Thanks for the interest - where did you hear of the project from?
(NB: Soon we hope to provide a ready to go kit if its of interest - we are still in the testing phase of all this).

NB: For some reason the image wasnt updated in the docs: https://docs.acecentre.org.uk/products/v/morace/guides/developer-notes#arduino-wiring

Jim Lubin mentioned morAce to me in reply to an email asking about his mouse morse codes.
It would be nice if the Morse strings used were standardized and useful.. I'm not sure whether being completist and adding things like Middle Mouse button clicks & Mouse Scroll wheel support would be useful.
It's a pity that Micropython requires sending Shifts for standard, printable ASCII characters, which would change based on the configured Keyboard Language. Reading the Arduino stuff, it looks like printable ASCII (0x20..0x7E) is just sent straight. It might be worth testing that in Micropython if it's layering straight over the Ardiuno code. (Though looking at the HID code, probably not).

It’s complicated this. Standardisation is difficult because there’s a number of systems all ready been in place for years. Add to that people customise their codes heavily. I had thought we could create a tandemmaster or adap2u codeset. It wouldn’t be that hard..
It would be possible to do what you want. Bear in mind the ble hid library being used is sending a key code - it’s down to the receiving computer and it’s language code / keyboard setup as to what it sees. So to do what you want you’d have to create a middle layer function where eg ! = shift, 1. (Nb. This is pretty standard - take a look for example at this keymap codes for zmk which is a different project entirely built on the same hardware. It’s just the way a keyboard works https://zmk.dev/docs/codes)
We could create a custom key map though. So you could just specify your us or uk or jpn etc -eg in the user config.   (@f1andrew like we do with relaykeys).

@rdbrown1au hope this suffices. Closing for now. Note we now support custom keymaps and sending strings like you want :)


[Help Needed] Can't copy slideMasters with themeOverride

Hello!
I have an issue with relations when proceed to copy slideMasters:
TypeError: Cannot read properties of undefined (reading 'filenameBase')
    at Chart.<anonymous> (/Users/user/Documents/pptx-automizer-main/src/shapes/chart.ts:235:31)
    at Generator.next (<anonymous>)
    at fulfilled (/Users/user/Documents/pptx-automizer-main/src/shapes/chart.ts:5:58)

I've tried connect XmlRelationshipHelper, then go to research deeper and this led me to the point where there is currently no way to handle the so-called "themeOverride" rels.
The thing is, when we override the standard theme colors in PowerPoint with custom ones, a themeOverrideN.xml is created in the /ppt/theme path, which can then be applied in charts to apply custom chart colors on top of the standard theme colors. After that, a link to the themeOverride is created in the chart's relations (see example in ppt/charts/_rels/chart2.xml.rels). Unfortunately, I cannot attach the full pptx file due to NDA reasons, but I think the attached
part should help for understanding my problem.
my_best_presentation.zip
Can you help me solve this, please?
My code is currently very simple, I just copying slides from one presentation to another, but "merge_pres" presentations can be with themeOverrides:
import Automizer, { XmlRelationshipHelper } from './index';
import ModifyBackgroundHelper from './helper/modify-background-helper';
import { vd } from './helper/general-helper';
import ModifyImageHelper from './helper/modify-image-helper';

const run = async () => {
  const automizer = new Automizer({
    templateDir: `${__dirname}/../__tests__/pptx-templates`,
    outputDir: `${__dirname}/../__tests__/pptx-output`,
    autoImportSlideMasters: true,
    showIntegrityInfo: true,
    assertRelatedContents: true
  });

  let root_pres = automizer.loadRoot('root.pptx');
  root_pres.load('root.pptx', 'root_pres');
  root_pres.load('my_best_presentation.pptx', 'merge_pres');
  for (let i = 1; i <= 3; i++) {
    root_pres.addSlide('merge_pres', i);
    console.log('slide: ' + i);
  }
    const summary = await root_pres.write('result_auto.pptx');
    console.log(summary);
};

run().catch((error) => {
  console.error(error);
});

UPD:
maybe I'm wrong about themeOverride, or maybe not, because here an example with it inside and I can copy slide from pres3 to root without fail, BUT chart has default colors, not colors from themeOverride:
pres3.pptx
Don't know how to catch why my first pres fails on chart with themeOverride :(

Hi! Currently, there is no support for themeOverride. I think we would need a similar thing like copyThemeFiles() in src/classes/master.ts.
I need to dig deeper...

themeOverride is referenced from a chart. Please check my latest commit, I've edited src/shapes/chart.ts.

Hm, seems not working for me after update, same output:
TypeError: Cannot read properties of undefined (reading 'filenameBase')
    at Chart.<anonymous> (/Users/user/Documents/pptx-automizer-main/src/shapes/chart.ts:238:31)
    at Generator.next (<anonymous>)
    at fulfilled (/Users/user/Documents/pptx-automizer-main/src/shapes/chart.ts:5:58)

I'll back here soon, need clean up sensitive stuff from my original pptx to drop here

I was trying to understand "my_best_presentation.zip". It seems as if charts/_rels/chart2.xml.rels does not contain a relation to a worksheet at all. This probably causes TypeError: Cannot read properties of undefined (reading 'filenameBase').

Finally, my pptx:
my_best_presentation.pptx
Problems starting with copying slideLayout №5, also you can see slideLayout №6 - there is no linked xlsx for the first chart, so I can't edit it, but PowerPoint works fine with it - can we copy it "as is" to root presentation?

You are trying to copy slideLayouts including charts, which is supposed to be working basically. If I am trying to open the datasheet of your left-top chart Chart Placeholder 2 on slideLayout №5, PowerPoints fails with an error message. Please try to replace the corrupted chart by a working one in your template.

Yes, you're right. And in my case I'm looking for solution to copy it as is (unfortunately), because I get presentations with templates like this massively, maybe you have ideas how to skip corrupted slideLayouts or fix them, or copy as is inside root?

Ok, I understand. I can remember a thing like that happened to me in the past, because PowerPoint probably lost the related worksheet on crashing. I was focusing to automate "healthy" presentations only, so I always try to repair any problem manually.
You could surely try to modify copyFiles() in src/shapes/chart.ts and check if a worksheet relation is present first.

Thank you! I'll try that


Improve the REPL

Here's a summary of what's missing from the current impl:

[x] Lots of methods and fields are package-private, and I don't know why. I guess making more of them private is a better idea.
[ ] Parser is unimplemented.
[ ] Completion is unimplemented. I added completion for keywords, but that's only available for non-commands. If your line starts with :, then no completion. This should be changed after we have commands that accept expressions.
[ ] No repl commands. I think we need a general interface for repl commands so the repl framework is extensible. Here's a list of what I'm looking for.

[ ] :t, :type from GHCi. Completion should be enabled for this command.
[ ] :normalize or :eval -- whatever you'd like to call it -- for normalizing the expression. Completion should be enabled.
[x] :prompt that changes the prompt.
[ ] An option to change the pretty printing width.
[ ] An option to change pretty printing options. Available options should be completed.

[x] Save history for jline3 based repl. We may start using ~/.aya/something for this purpose.
[ ] Handle redefinitions.
[ ] Completion of commands. This is very important.

Originally posted by @ice1000 in https://github.com/aya-prover/aya-dev/issues/86#issuecomment-944882637

@refparo How would you expect, say, to change a code using ~/.aya/something to a code using XGD base dir? I looked up the link and I expected 'read $XDG_STATE_HOME, and if it's null, use ~/.aya, am I right?

If $XDG_STATE_HOME is either not set or empty, a default equal to $HOME/.local/state should be used.

According to the specification.

@refparo Are you sure that everyone wants to use $HOME/.local/state/something? What if two different programs both use, say, $HOME/.local/state/history?

Or should I create a subdir under $HOME/.local/state, like $HOME/.local/state/aya?

Yeah, use $HOME/.local/state/aya_history, or $HOME/.local/state/aya/history. It's just like how people use $HOME/.config (which is the $XDG_CONFIG_HOME)

Great

@ShreckYe It won't work. Your command framework should be able to set the prompt of a repl, do you think picocli knows about our repl?

Also, cli completion is provided by jline3. I think doing completion in the same application based on different frameworks will lead to some inconsistency.
But you have the opportunity to try things out, let me know if it works

code completion is done in Arend with ANTLR right?

You mean arend repl? No, I wrote it from scratch. So it's quite elementary.

OK. I think it is doable with ANTLR, isn't it?

OK. I think it is doable with ANTLR, isn't it?

Sure, but can you do the command framework first? I want to implement some interesting commands

OK.

@ShreckYe Also, I am thinking about integrating the repl in the lsp. Do you think it's possible? Like, provide some vscode-specific commands when the repl is invoked in the lsp

OK I will give it a try.

For where to store aya config, history or cache files. I suggest one of them:

Use our own base path, in every platform, like OpenSSH (~/.ssh)
Use our own base path, in every platform, but provide options to switch to other dirs, like cargo, rustup, and gradle via env XXX_HOME. We can support XDG Base Directory for desktop users by export AYA_HOME="$XDG_DATA_HOME/aya" or a command line option.

I don't suggest:

Use ~/Library/Application Support on macOS. This path is used for applications that ship with an app bundle .app file. We may encounter some strange permission problems. I didn't see any command line only programs use this path. And the path contains an unfriendly space that adds burden to command-line operation.
Use all XDG base directories. This means we save different files in different dirs, which is tiring for both users and developers. And we also need to manually split workspace content into configs, downloads, etc.

Why is our own path that important?
For users that use all main systems (like me), it is important and ideal to easily get re-started from experiences before. I can know that in every platform If I want to find my ssh keys, I just need to navigate to ~/.ssh instead of googling something like ssh key location on windows.
Why shouldn't use XDG base directories by default?

Aya can be run on server-side. Using desktop-specific dir looks strange.
Some servers didn't even have XDG_XXX_HOME set.

Then how to use XDG base directories?
By environmental variables or command-line options, as said above. Actually, lots of programs support XDGs the same way, according to https://wiki.archlinux.org/title/XDG_Base_Directory

@imkiva Great!

Two suggestions:

Use <stdin> as file name, instead of Option.none() which leads to <unknown-file>
Support exiting REPL by Ctrl-D which sends EOF to stdin, currently we will show a stack trace which is unexpected

me: "Which one is important to me? <stdin>? <interactive>?"
<unknown-file>: "<stdin>"
me: "Think again"
<unknown-file>: "Then <interactive>"
me: "Think again"
<unknown-file>: "Still <stdin>"
me: "None of them matters. It matters to me without <unknown-file>."


Items static register

When there are multiple plugins using Customies, problems appear. It is necessary to make them depend on each other, so they load in certain order.
Imagine, we have plugins for copper and donate cases.
On first server load, copper was first loaded and donate cases after. I got copper and restarted the server. On next server startup donate cases loaded first, so instead of copper I got some OP donate case.
Thats because Customies dynamically assigns id to each item. Maybe its possible to make config, in which we can manage the item ids? It would be better.

Sounds like #34 could be a fix to this.


Finish the type index feature (aka Open Any Type)

PR #160 creates a synthetic classpath node in the Bazel Workspace project that contains all the jars found in the bazel-bin directory. This allows you to find types using the Open Type dialog even if the type is not on the classpath of any imported package. This helps when working with large repos and you only import a small portion of them.
I did this as a hackathon project inside Salesforce so it is not finished. Some things to work on:

Sometimes source jars are missing from bazel-bin for maven_install even if fetch_sources=true. If a source jar is missing BEF should try to download it.
Sometimes even the main jars are missing, especially right after a bazel clean. Consider asking the user if it is ok to copy the jars to a dedicated location. This won't work well for large projects though, as that could be Gigs of stuff.
When we link to source for a Bazel package that is in the workspace but is not in an imported project, we should link to the actual source file rather than the one in libname-src.jar
If a jar is already on the classpath of another project imported in the workspace, we should remove it from the Search Classpath so that the Package Explorer goes to that project as the source of it if you have Link with Editor enabled.
Allow the user to change the enable/disable state of this feature in the prefs, and have it take effect without re-importing the workspace
Test coverage
Performance optimizations
Docs

After this is done, we can implement Autodeps #91  - automatically add the dep that contains an imported class to the enclosing project BUILD file.

With #167 the feature has been enhanced quite a lot. But there are still gaps, and I don't fully understand all the behaviors of maven_install. Global search is disabled via a pref by default. (Preferences -> Bazel -> Enable Global Classpath Search)

See this Issue filed directly on the rules_jvm/external/maven_install repo inquiring for an explanation of the behavior of fetch_sources feature. As I have observed when working on the Open Any Type feature for BEF, fetch_sources does not seem reliable.
https://github.com/bazelbuild/rules_jvm_external/issues/479

Known gaps/limitations as of Nov 2022:

We don't index internal jars yet (built by Bazel workspace, but the package is not imported into the IDE)
User needs to do a full build/test to force Bazel to download all the external jars
We don't recompute this index while BEF is up and running. If new jars are added to your workspace, you will need to restart BEF


How to update map markers without map redrawing or reseting to original state

I have a question about pushing and updating drops without updating the state of a component.
I currently have a parent component, and inside with the react-native-maps component with marker components.
If I want to update these markers or add new markers, I have to do it through state that gets passed down as a property. The problem I am having is each time I do this, the map is redrawn and I am moved back to the initial coordinates.
Is it possible to update the maps markers and properties through some sort of push method or direct manipulation. Essentially, I would like to add or remove markers from the map, and change their custom image without the map redrawing.

I have this issue too @NicholasEli  would be super helpful if you could repost using the template, otherwise I will....someday


. prefix username over riding the tab rules [BUG]

Describe the bug
A clear and concise description of what the bug is.
Basically when a player named .xteri will join tab will sort it at the top in column 1 even tho there was a existing data in that column and there werent any place for a player to be shows
To Reproduce
Steps to reproduce the behavior:

Install striketab 'latest'
Install geyser or come with a username .username ''
Then 'press tab and see the magic'
See that 'your player name just sorted it self to top even tho it had permission setup for sorting' happens

Expected behavior
A clear and concise description of what you expected to happen.
The player sorting shouldnt ignore the players with any prefix at all
Screenshots, errors and console logs
If applicable, add screenshots to help explain your problem.

If there are any errors in the console, please include them here.
Sometimes "/striketab debug" may be helpful in debugging specific problems.
[16:59:33 INFO]: [StrikeTab] debug: getLegacyPing failed null ping
is the only debug error its spamming
Checklist

[YES] The issue occurs on latest version of StrikeTab.
[YES ] The issue occurs without other tablist/nametag/scoreboard plugins (except StrikePractice).
[YES] I am using regular spigot or paper (not a fork) and the issue still occurs.

Versions:

Server version [e.g. 1.8.8 paper spigot (not fork)] 1.20.1
Client version [e.g. optifine 1.8.8] any i use fabric 1.19.3 but its same for other client also
Other version [i.e., other related plugins such as StrikePractice] latest dev build 3.9.0-snapshot

Additional context
Add any other context about the problem here.
ALso there is another bug
This bug is confirmed to be done by striketab

This seems to happen because StrikeTab only reorders it once someone joins
See https://github.com/toppev/strike-tab/blob/main/src/main/kotlin/RanksManager.kt in case you want to contribute with some additional logic/events to fix this.
About the 001UpdateMC, I'm not sure if that happens without legacy-support too but as far as I remember there was no way to fix the autocomplete player names and it was something outside the plugin control (the MC client)


JSON escaping ///

EntityChanges outputs with  JSON escaping ///
Test with:

Transaction ID: 0000d8d52c2ef06047faba0d6a82979542ddd401bb12429dce831887b30076ea
Block Number: 391786766

Investigate if there's any solutions around this, or if this is the standard output for JSON string.

This seems intentional since there are two JSON escaping happening:

The json_data within the Action
Within the payload itself

Nothing to fix, closing this issue


Add use template badge

I use my badge generator tool to make a markdown badge
Add your repo details and tick template checkbox, then copy the markdown snippet bit to your readme.
https://michaelcurrin.github.io/badge-generator/#/repo

Sample

Hi @MichaelCurrin , thank you for the suggestion but since this is already provided by GitHub natively, I'm closing this one.


init

Creates a logger adapter that allows streaming of arbitrary ndjson into our logging modules. Makes it easier to interop with existing userland solutions (streaming ndjson loggers, etc.) rather than rewriting / adjusting them. Thanks! 🙌
cc/ @TabDigital/ping-api

Is this something we can merge into https://github.com/TabDigital/api-logger ?

It should probably be standalone as it serves as a bridge between api-logger and ndjson modules. It might be good to add a note to the README to raise awareness that this package now exists (':

As in, can you do something like this?
const logger = apiLogger.create({ logfile: './service.log' });
const stream = bunyanStream({ level: 'info' }, logger);
httpNdjson(req, res).pipe(stream);

Or is it worth having a single "logger" library, but adding the stream capability to it? e.g.
const logger = apiLogger.create({ logfile: './service.log' });
httpNdjson(req, res).pipe(logger);

Hmmmm, your first example makes a lot of sense. It might be cool to have all logs be a streaming target. Perhaps if we build it in as:
const logger = apiLogger.create({ logfile: './service.log' });
const ws = logger.createWriteStream({ level: 'info' });
httpNdjson(req, res).pipe(ws);
```
This would still expose the `.debug()` and `.info()` methods, but adds the capability to stream `ndjson` if we so wish to.

ps: http-ndjson looks interesting. We currently usually use something like this, but it's definitely more coupled to Restify's support which isn't great - as in doesn't help projects that use Express.
const opts = {};
if (config.logAllRequests) {
  opts.log  = log.logger;    // raw Bunyan instance exposed by "api-logger"
};
const server = restify.createServer(opts);


Multiple config files

There's currently an error where you can't have multiple yml config files for different components.
Because Dry::Component::Config would get "locked" with the first loaded file's keys.

Oh nice catch, thank you!


20111 fix italic syntax removing a preceding character

Fixed Issues
$ https://github.com/Expensify/App/issues/20111
Tests

Go to chat and add a comment

h_ello_

Verify that the comment text is h_ello_ and it's not rendered as italic style.

QA
Same

@mollfpr please review

Thanks @amyevans will review it soon!

Removing myself as reviewer, it's weird that PullerBear assigned me 😄


feat: 🎸 Add support http search for lavalink

I've added support for resolve with "http" links. Currently "http" links were not recognized as links and were therefore searched with source....

Also edit it in <Poru>.resolve i overlooked that

I'll look into it tomorrow

Alright, Thanks for updating poru.resolve too.


Adding a job example with placement

thanks to community member Aleksandar Simic.

GitHub swallowed the host-name as it was in angle brackets...


Thank You. Nice project

Leave Your Message Below (don't delete this line though)
Hi,
I was going over this project and this gave me idea to add parser to my own open source project for parsing logs. I have created new repository specific for Catel logs Analogy Catel Parser.
using your example logs I was able to create initial parser:

so thanks you :)

Thanks, project looks great, we will check it out! Maybe we can obsolete LogViewer in favor of this tool later ;-)


[18.09] Gitlab 11.5.0

Motivation for this change
Backport of the GitLab updates from #50962 (excluding the updater.py script, as we cherry-pick updates anyhow, and don't need updater tooling in that branch)
Includes fix for CVE-2018-18643, released as 11.4.6.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Success on x86_64-linux (full log)
Attempted: gitaly, gitlab, gitlab-shell, gitlab-workhorse
Partial log (click to expand)
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/xvs7w29fdqdgildph9vjadsz23wyvr3b-gitaly-0.129.0-ruby/lib  /nix/store/xvs7w29fdqdgildph9vjadsz23wyvr3b-gitaly-0.129.0-ruby/bin
patching script interpreter paths in /nix/store/xvs7w29fdqdgildph9vjadsz23wyvr3b-gitaly-0.129.0-ruby
/nix/store/xvs7w29fdqdgildph9vjadsz23wyvr3b-gitaly-0.129.0-ruby/bin/gitaly-ruby: interpreter directive changed from "/usr/bin/env ruby" to "/nix/store/3881yrlln39nc5901pljfnnvy8bzkpmi-wrapped-ruby-gitaly-env/bin/ruby"
/nix/store/xvs7w29fdqdgildph9vjadsz23wyvr3b-gitaly-0.129.0-ruby/bin/ruby-cd: interpreter directive changed from "/usr/bin/env ruby" to "/nix/store/3881yrlln39nc5901pljfnnvy8bzkpmi-wrapped-ruby-gitaly-env/bin/ruby"
checking for references to /build in /nix/store/xvs7w29fdqdgildph9vjadsz23wyvr3b-gitaly-0.129.0-ruby...
/nix/store/6hpw47iv6rd1nyl7liz34mzmvlmjxsn3-gitaly-0.129.0-bin
/nix/store/h0anwpwr87z5gavrckn1qw7wcz616vzw-gitlab-11.5.0
/nix/store/jj34q9wf8h3kz79vxk5m2wdiggj9il3c-gitlab-shell-8.4.1
/nix/store/28g0fi3774ni58b8973brmqk2vbw2y7c-gitlab-workhorse-7.1.0

Success on aarch64-linux (full log)
Attempted: gitaly, gitlab, gitlab-shell, gitlab-workhorse
Partial log (click to expand)
/nix/store/qlvvqfjb62v9vlzfa0cx7gm42z1wph2q-gitlab-11.5.0/share/gitlab/scripts/detect-new-flaky-examples: interpreter directive changed from "/usr/bin/env ruby" to "/nix/store/g57lz7rgcijjhhk4i4zm7ykidlijdprj-wrapped-ruby-gitlab-env-11.5.0/bin/ruby"
/nix/store/qlvvqfjb62v9vlzfa0cx7gm42z1wph2q-gitlab-11.5.0/share/gitlab/scripts/build_assets_image: interpreter directive changed from "/bin/bash" to "/nix/store/fqm2x6kiay1q4vg7pqp4wp17bdijlyc3-bash-4.4-p23/bin/bash"
/nix/store/qlvvqfjb62v9vlzfa0cx7gm42z1wph2q-gitlab-11.5.0/share/gitlab/qa/bin/test: interpreter directive changed from "/bin/bash" to "/nix/store/fqm2x6kiay1q4vg7pqp4wp17bdijlyc3-bash-4.4-p23/bin/bash"
/nix/store/qlvvqfjb62v9vlzfa0cx7gm42z1wph2q-gitlab-11.5.0/share/gitlab/qa/bin/qa: interpreter directive changed from "/usr/bin/env ruby" to "/nix/store/g57lz7rgcijjhhk4i4zm7ykidlijdprj-wrapped-ruby-gitlab-env-11.5.0/bin/ruby"
/nix/store/qlvvqfjb62v9vlzfa0cx7gm42z1wph2q-gitlab-11.5.0/share/gitlab/plugins/examples/save_to_file.rb: interpreter directive changed from "/usr/bin/env ruby" to "/nix/store/g57lz7rgcijjhhk4i4zm7ykidlijdprj-wrapped-ruby-gitlab-env-11.5.0/bin/ruby"
checking for references to /build in /nix/store/qlvvqfjb62v9vlzfa0cx7gm42z1wph2q-gitlab-11.5.0...
/nix/store/r3sdrnjqznx9x3n70kaai95n8ki7gn7c-gitaly-0.129.0-bin
/nix/store/qlvvqfjb62v9vlzfa0cx7gm42z1wph2q-gitlab-11.5.0
/nix/store/cw1dbadvsf2lhgk1nd0bn9xix8fahcxq-gitlab-shell-8.4.1
/nix/store/fk09ak1g7s0dj5n5h1wygd3yyajp2ga5-gitlab-workhorse-7.1.0

Failure on x86_64-darwin (full log)
Attempted: gitaly, gitlab-shell, gitlab-workhorse
The following builds were skipped because they don't evaluate on x86_64-darwin: gitlab
Partial log (click to expand)
Successfully installed github-linguist-6.2.0
1 gem installed
post-installation fixup
patching script interpreter paths in /nix/store/0fphzj2y8qmbpkr7m365w1b91z0bxm1r-ruby2.5.3-github-linguist-6.2.0
/nix/store/0fphzj2y8qmbpkr7m365w1b91z0bxm1r-ruby2.5.3-github-linguist-6.2.0/lib/ruby/gems/2.5.0/gems/github-linguist-6.2.0/bin/git-linguist: interpreter directive changed from "/usr/bin/env ruby" to "/nix/store/dlsp4m6g9cz69pbx1a9q27x9fnmyhgxk-ruby-2.5.3/bin/ruby"
/nix/store/0fphzj2y8qmbpkr7m365w1b91z0bxm1r-ruby2.5.3-github-linguist-6.2.0/lib/ruby/gems/2.5.0/gems/github-linguist-6.2.0/bin/linguist: interpreter directive changed from "/usr/bin/env ruby" to "/nix/store/dlsp4m6g9cz69pbx1a9q27x9fnmyhgxk-ruby-2.5.3/bin/ruby"
cannot build derivation '/nix/store/g7cib802r73pyxf3nfarphdab022h68n-gitaly-env.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/c1s2vaa7k764vp5nz54x1fa5g4w1c41a-wrapped-ruby-gitaly-env.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/3z289kx7jqg5gikby344skvvq7jvfp1m-gitaly-0.129.0.drv': 1 dependencies couldn't be built
error: build of '/nix/store/3z289kx7jqg5gikby344skvvq7jvfp1m-gitaly-0.129.0.drv' failed

cc @srhb

Failure on x86_64-darwin (full log)
Attempted: gitaly, gitlab-runner, gitlab-shell, gitlab-workhorse
The following builds were skipped because they don't evaluate on x86_64-darwin: gitlab
Partial log (click to expand)
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
error: build of '/nix/store/3z289kx7jqg5gikby344skvvq7jvfp1m-gitaly-0.129.0.drv' failed

Failure on aarch64-linux (full log)
Attempted: gitaly, gitlab, gitlab-runner, gitlab-shell, gitlab-workhorse
Partial log (click to expand)
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/docker/docker/oci
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/docker/distribution
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/docker/distribution/registry/storage/cache
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/docker/distribution/registry/storage/cache/memory
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/docker/distribution/registry/client
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/docker/distribution/registry/client/auth
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/docker/docker/pkg/jsonmessage
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/docker/docker/pkg/httputils
builder for '/nix/store/24mk5wv9w8w8z0s1mbsqc41wbi65pjp8-gitlab-runner-11.5.0.drv' failed with exit code 28
error: build of '/nix/store/1qpdv9xpr8c850p14lx5idq4ysxhmnl7-gitaly-0.129.0.drv', '/nix/store/24mk5wv9w8w8z0s1mbsqc41wbi65pjp8-gitlab-runner-11.5.0.drv', '/nix/store/gm93lky6f5p0hxqa16k56ckxkcc9n8xz-gitlab-11.5.0.drv' failed

I've no problem with this backport. The test succeeded (eventually...) for me, though I guess it might fail on Hydra with this speed. :grinning:

Yeah, 9p filesystem seems to be pretty slow, and ruby very IO-hungry (it reads a lot of small files during migrations). I'm not sure how this can be accelerated.
I'm now taking a look into https://github.com/NixOS/nixpkgs/pull/49385 and also https://github.com/NixOS/nixpkgs/pull/49385#issuecomment-437113767, and will backport that into this PR as well

Failure on x86_64-darwin (full log)
Attempted: gitaly, gitlab-runner, gitlab-shell, gitlab-workhorse
The following builds were skipped because they don't evaluate on x86_64-darwin: gitlab
Partial log (click to expand)
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
find: '/nix/store/ai4napm1y6lqq82shpz0kwvk7hiilg5z-gitlab-runner-11.5.0': No such file or directory
error: build of '/nix/store/3z289kx7jqg5gikby344skvvq7jvfp1m-gitaly-0.129.0.drv' failed

Failure on aarch64-linux (full log)
Attempted: gitaly, gitlab, gitlab-runner, gitlab-shell, gitlab-workhorse
Partial log (click to expand)
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/docker/distribution/registry/storage/cache
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/docker/distribution/registry/storage/cache/memory
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/prometheus/client_model/go
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/docker/distribution/registry/client
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/docker/distribution/registry/client/auth
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/docker/docker/pkg/jsonmessage
gitlab.com/gitlab-org/gitlab-runner/vendor/github.com/docker/docker/pkg/httputils
builder for '/nix/store/24mk5wv9w8w8z0s1mbsqc41wbi65pjp8-gitlab-runner-11.5.0.drv' failed with exit code 29
error: build of '/nix/store/24mk5wv9w8w8z0s1mbsqc41wbi65pjp8-gitlab-runner-11.5.0.drv' failed

Success on x86_64-linux (full log)
Attempted: gitaly, gitlab, gitlab-runner, gitlab-shell, gitlab-workhorse
Partial log (click to expand)
checking for references to /build in /nix/store/nylqihw9hvxa6az3bkmgsq5570bwpbp1-gitlab-11.5.0...
cannot link '/nix/store/.links/0c5dglrfz1ndrzp87jk0cw886l1i1cqppp0wm6f19n1hkk3k86d8' to '/nix/store/nylqihw9hvxa6az3bkmgsq5570bwpbp1-gitlab-11.5.0/share/gitlab/lib/gitlab/project_transfer.rb': No space left on device
cannot link '/nix/store/.links/01isxgznhyjm6qr176wqg02jrr1mbhndjm28h0qzwr7axzffqrir' to '/nix/store/nylqihw9hvxa6az3bkmgsq5570bwpbp1-gitlab-11.5.0/share/gitlab/public/assets/webpack/16.ceb75ea8.chunk.js.map.gz': No space left on device
cannot link '/nix/store/.links/1z24p455a9018158y6rk0k25sapvk4g29mh4fdz5c4wzz7dwfp00' to '/nix/store/nylqihw9hvxa6az3bkmgsq5570bwpbp1-gitlab-11.5.0/share/gitlab/spec/javascripts/vue_shared/components/stacked_progress_bar_spec.js': No space left on device
cannot link '/nix/store/.links/003m2q9yqqqxvqka9035rl3rv60fz7h5p142gz6c0knrg19askyp' to '/nix/store/nylqihw9hvxa6az3bkmgsq5570bwpbp1-gitlab-11.5.0/share/gitlab/doc/user/project/integrations/img/jira_service_page.png': No space left on device
/nix/store/6hpw47iv6rd1nyl7liz34mzmvlmjxsn3-gitaly-0.129.0-bin
/nix/store/nylqihw9hvxa6az3bkmgsq5570bwpbp1-gitlab-11.5.0
/nix/store/k300hr1g9xhzndrra3r4hkzhk2b85r8g-gitlab-runner-11.5.0-bin
/nix/store/v7i0a785vaa142amv16nqk635g87g7ar-gitlab-shell-8.4.1
/nix/store/28g0fi3774ni58b8973brmqk2vbw2y7c-gitlab-workhorse-7.1.0

@GrahamcOfBorg build gitlab-runner

Success on x86_64-darwin (full log)
Attempted: gitlab-runner
Partial log (click to expand)
/nix/store/2bjcl0sdgxwnqfr32k0h7y05mamba0i6-gitlab-runner-11.5.0-bin

Success on x86_64-linux (full log)
Attempted: gitlab-runner
Partial log (click to expand)
shrinking /nix/store/k300hr1g9xhzndrra3r4hkzhk2b85r8g-gitlab-runner-11.5.0-bin/bin/pull-images-for-tests
shrinking /nix/store/k300hr1g9xhzndrra3r4hkzhk2b85r8g-gitlab-runner-11.5.0-bin/bin/gitlab-runner
shrinking /nix/store/k300hr1g9xhzndrra3r4hkzhk2b85r8g-gitlab-runner-11.5.0-bin/bin/gitlab-runner-helper
shrinking /nix/store/k300hr1g9xhzndrra3r4hkzhk2b85r8g-gitlab-runner-11.5.0-bin/bin/scripts
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/k300hr1g9xhzndrra3r4hkzhk2b85r8g-gitlab-runner-11.5.0-bin/bin
patching script interpreter paths in /nix/store/k300hr1g9xhzndrra3r4hkzhk2b85r8g-gitlab-runner-11.5.0-bin
checking for references to /build in /nix/store/k300hr1g9xhzndrra3r4hkzhk2b85r8g-gitlab-runner-11.5.0-bin...
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
/nix/store/k300hr1g9xhzndrra3r4hkzhk2b85r8g-gitlab-runner-11.5.0-bin


Add jekyll-remote-includes plugin. Fixes #7500

This change is

Looks like the TeamCity builds break, and would require a bundle install or equivalent to pull in the plugin.

Hi @ianjevans, I'll take a look. Can you please incorporate a remote_include usage to test and make sure it's working as you intend?

Build passing on https://github.com/cockroachdb/docs/pull/8864. Happy to merge when we have a working example of remote_include to make sure it's what we want!


chore: use starknet-rs from crates.io

Pull Request type
Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[x] Build-related changes
[ ] Documentation content changes
[ ] Testing
[ ] Other (please describe):

What is the current behavior?
Installs starknet-rs crates from GitHub.
Issue Number: N/A
What is the new behavior?
Installs starknet-rs crates from crates.io instead.
Does this introduce a breaking change?

[ ] Yes
[x] No

Other information
Because it's generally a better practice to install from crates.io :)

This item belongs to payment request #263C66 on OnlyDust:

from abdelhamidbakhta to xJonathanLEI
1 item included
$125 for 2 hours of work


Is it compatible with HTTP 1?

@jiachengzhang1 About to release Genie 5.3 that moves to HTTP 1 -- does SwagUI work with HTTP 1 to bump its compat?

It should, HTTP is only used in test. thanks for your put in a fix for test btw.


AnimationPlayer.advance() doesn't advance audio

Godot version:

v3.3.1.stable.official
OS/device including version:

OS: Arch Linux (I don't know how to provide a version for this)
Issue description:

I have an AnimationPlayer with multiple tracks. One of them is an audio playback track. When I call the advance() method, I expect the audio to jump ahead. It doesn't do that.
Workaround
Call AudioStreamPlayer.seek() after calling AnimationPlayer.advance().
Steps to reproduce:

Create an AnimationPlayer.
Give it an animation named "example".
Add an audio playback track to that animation.
Add a 2 minute long sound clip to that audio playback track.
Make sure that the animation is at least 2 minutes long.
Attach the following script to the AnimationPlayer:

extends AnimationPlayer

func _ready():
	play("example")
	advance(60)

	# Workaround:
	#$AudioStreamPlayer.seek(60)

Run the scene.

Minimal reproduction project:

animation_player_does_not_advance_audio.zip

Very new to Godot's source but trying to get started and sharing my observations. I think the relevant code is here:
https://github.com/godotengine/godot/blob/db028ac7001cca42c9f61cc231e2363ae884e70a/scene/animation/animation_player.cpp#L611-L712
I noticed that when you call AnimationPlayer.seek() it works correctly (p_seeked will be true) and it starts playing the audio again at the right start_ofs.
When calling AnimationPlayer.advance(), p_seeked is false and it runs the code inside the else statement below.
The size of the to_play list is 0 and so it skips that part and checks if there is still audio at the position you shifted to and stops the stream in that case (I guess).
If you put another audio file on the same track and call advance(130) (example) it will play the second stream:

The size of the to_play list will be 1 in this case, so it doesn't skip this code inside the else statement.
Further down there is also an else if statement else if (nc->audio_playing) with code that will stop the current playing audio if you advance to a position with no audio present, if I'm reading that right.
I noticed that the value of p_delta is like 0.016666667535901070 (this is from Node::get_process_delta_time ( ) ?) when randomly setting a breakpoint, but will be set to the delta argument of AnimationPlayer.advance() when that function is called.
As a test, by doing something like
if (p_seeked || p_delta > 0.1) {
//find whatever should be playing
[...]

it will correctly jump to the right audio position, as p_delta > 0.1 will only be true when you call AnimationPlayer.advance(delta) with delta > 0.1, but p_delta will be smaller all the other times. But that does not seem like a clean solution to me.
It feels to me AnimationPlayer.advance() should behave as AnimationPlayer.seek() for audio, but the only value that differs in the code to check if advance() was called seems to be p_delta.
Not sure what the optimal solution would be right now, maybe setting a boolean variable when AnimationPlayer::advance is called and checking that. In any case looking forward to read and understand more of the AnimationPlayer code :-)

One thing I've tried to do is adding a advanced bool to the Playback struct:
	struct Playback {
		List<Blend> blend;
		PlaybackData current;
		StringName assigned;
		bool seeked = false;
		bool started = false;
		bool advanced = false;
	} playback;

and setting it to true when calling AnimationPlayer::advance():
void AnimationPlayer::advance(float p_time) {
	playback.advanced = true;
	_animation_process(p_time);
}

then passing it to  AnimationPlayer::_animation_process_data() in  AnimationPlayer::_animation_process2():
_animation_process_data(c.current, p_delta, 1.0f, c.seeked && p_delta != 0, p_started, c.advanced);

and consequently also to AnimationPlayer::_animation_process_animation():
_animation_process_animation(cd.from, cd.pos, delta, p_blend, &cd == &playback.current, p_seeked, p_started, p_advanced);

In the if statement inside the Animation::TYPE_AUDIO switch case, where it is checking if it seeked, then also checking if it advanced:
if (p_seeked || p_advanced) {
	//find whatever should be playing
 [...]

That's similar to how Playback.seeked is being set in AnimationPlayer::seek(). Works fine and solves the issue, but not sure if it is the right approach, since introducing Playback.advanced would only be useful for this particular audio problem.
Testing it here: Changes, branch.


feat(donate): PayPal integration

the integration flow:

user clicks on paypal smart button and directed to paypal account for payment approval
on approval the subscription id and subscription plan info sent to our api server for verification
our api calls paypal api and verifies the subscription is active and update db.

room for improvement for donation flow:

donations forms should be unified and modularized.
paypal donation state and stripe donation state should be unified.
/donate route for the api should be split into multiple files
lato should be used for all donation related text for ease of use.
donation tests should be added for the api and client
donation responses should change client redux store

Also I intentionally avoided adding tests since the client and api of donation will noticeably change in the next week. then we could optimize and add tests if that is ok with everyone.
In order to review this pr you would need the following keys in the .env
PAYPAL_CLIENT_ID
PAYPAL_SECRET
PAYPAL_FIVE_DOLLAR_MONTHLY_PLAN_ID
Closes #37783

on approval the subscription id and subscription plan info sent to our api server for verification
our api calls paypal api and verifies the subscription is active and update db.

I realised that we are unable to proceed as is. We would be needing the web-hooks, because with this we are unable to track cancelations done directly with PayPal.
As a user, I am able to login to PayPal and directly cancel my donation. How are we handling that use case.
This is something we lack in Stripe as well and we should fix this for both.

on approval the subscription id and subscription plan info sent to our api server for verification
our api calls paypal api and verifies the subscription is active and update db.

I realised that we are unable to proceed as is. We would be needing the web-hooks, because with this we are unable to track cancelations done directly with PayPal.
As a user, I am able to login to PayPal and directly cancel my donation. How are we handling that use case.
This is something we lack in Stripe as well and we should fix this for both.

I can add that for cancellation to this PR.

I haven't gone through the client code yet. You say this (whole implementation, I assume) is going to change in upcoming days, can you elaborate?

at this point the minimalDonationForm has a state that is in charge of paypal submission.
On the other hand DonateFormChildViewForHOC which is nested in MinimalDonationForm and DonateForm has a state that is in charge of the stripe from submission.
Ideally we would need to combine MinimalDonationForm and DonateForm into one file and make  it in charge of all donation state ( stripe, paypal, apple pay, amazon pay, ....), then all nested components such as DonateFormChildViewForHOC would report their state upwards. That way we would have a single source of truth for all payment submissions.
That being said, the current setup works but it is not optimal. Therefore I would prefer having tests after we land the above-mentioned improvement.

I can add that for paypal cancellation to this PR.

You mean you can add web-hooks?

I can add that for paypal cancellation to this PR.

You mean you can add web-hooks?

yes.

at this point the ...

That's all client side? So the API side changes are not changing. If yes, let's get some tests in.

yes.

If we are going to be adding web-hooks for cancellations, then we should be doing it for sending the accepting the donations as well. The point being if you are to be implementing calls to the PayPal's API endpoints why not make it single source too.
We wanted the validation to begin with.

at this point the ...

That's all client side? So the API side changes are not changing. If yes, let's get some tests in.

Sure. By tests you are referring to api tests or client and api?

If we are going to be adding web-hooks for cancellations, then we should be doing it for accepting the donations as well. The point being if you are to be implementing calls to the PayPal's API endpoints why not make it single source too.
We wanted the validation to begin with.

I am not sure what exactly you are referring to by validation. do you mean making sure the subscription exist?
If so based on my experience the web-hooks are not fired in a timely manner meaning we are not able to update the UI appropriately if we wait for hooks and then validate a subscription.
Ideally, we need to selectively capture the subscription payments or suspend them (ex. payment already captured on paypal side) if then subscription does not meet our requirements. Additionally  we could utilize web-hooks for events that we do not have control over such as suspension or cancelation by the user.
Let me know if I am way off base here :)

for now, I will do the following improvements:

send the subscription id to the backend after user approval and then active in the backend. (if our tests pass)
add hooks for cancelation( would you like to add a status to donation records and set them to "cancelled"?)
add test to the backend ( after finalizing the logic ).

I can also implement the state unification on the client and add tests for that as well if you wish?

I am not sure what exactly you are referring to by validation.

All the interaction with PayPal's API ideal should go thru our API, like we already do for Stripe. That gives us a chance to implement limits, flexibility, control and more.

If so based on my experience the web-hooks are not fired in a timely manner meaning we are not able to update the UI appropriately if we wait for hooks and then validate a subscription.
Ideally, we need to selectively capture the subscription payments or suspend them (ex. payment already captured on paypal side) if then subscription does not meet our requirements. Additionally we could utilize web-hooks for events that we do not have control over such as suspension or cancelation by the user.
Let me know if I am way off base here :)

Agreed. Web-hooks are async.
This also means you would implement logic to handle cancellations, etc. meaning adding APIs to interact with PayPal's APIs.
Why would we not add APIs to create the subscription in the first place.
For all I know the "Smart Buttons" are creating a id that we are sending from our client app to our API, to verify and update the db on our side.
We do not need that cruft, PayPal would be delivering the web-hook when the subscription was made.
You can safely assume that they are delivered with the same safety with the async logic that you would be using to verify the transaction from the smart button.
What I think is that we should use that onApprove hook to simply show the user that the donation was approved and we would have the status of the same shortly. It is a quick enough message to avoid making the UX blocking.

All the interaction with PayPal's API ideal should go thru our API, like we already do for Stripe. That gives us a chance to implement limits, flexibility, control and more.

To my understanding, since we do not want the users to be redirected to another page we are using smart buttons that come with their own limitations (features). We could make the smart button create subscriptions with an 'approved' status which we could validate and then activate from our own api.
Although now that think about it we should not reject any subscription with paypal because paypal will bear the burden of all fraud. so even if the user is not signed in or has multiple donation we should still allow them to subscribe.

We do not need that cruft, PayPal would be delivering the web-hook when the subscription was made.

Updating the db with hooks would simplify things. Although we would still need a small workaround since the webhooks does not include any user info with which we could update the related user records. we would still need to send some data from smart buttons to our api and create some soft of records with the subscriber email so when the webhook arrives we could look up the user id from that record and update the user accordingly.
In that case, it would be better to directly update the user records when the data arrives from client.

To my understanding, since we do not want the users to be redirected to another page we are using smart buttons that come with their own limitations (features).

There is no re-direction involved. The onApproved callback is the same callback that you would have used to send the id back to our API. Instead, you would use the same to show message? Right?

it would be better to directly update the user records when the data arrives from client.

That is the whole point. Since that data is coming from the client. It is not trusted. It can be spoofed. Correct?
If you are going to be using the id from the button to fetch and update the data from PayPal, you are able to do the same from the hook as well with whatever identifier thy gave. It is literally the same implementation.
The smart buttons are a solution made for merchants who want a quick way of integrating product and subscription sales. It does not come with the tracking features that we want.
Am I missing something here?

Here is what the workflow should be:

First the user lands on the page where they see the PayPal button (smart or our own, I will let you figure that out).
They click through the button and are taken thru the PayPal flow of capturing a transaction.
The client SDK or our own button have the callback from the previous step.
We show a success message.
The API gets pinged with hook, and we update the records as needed (subscription/cancellation) etc.

The API gets pinged with hook, and we update the records as needed (subscription/cancellation) etc.

I am not clear about the last step. the hook data only includes subscription id, plan id, subscriber name and address, email, etc. it does not include any information with which we could find a user and update the db accordingly. that is my confusion.

And that is precisely the reason I was looking for a way to avoid the smart buttons and drive the payment thru our API for control.
There are some compromises to be made here, which is (definitely not security), we should tally by create/update a user record with the email that we receive from PayPal.
If a user choses to use a different email than on record on PayPal for whatever reason, and the email is not with us, we create a new user record. (This is same as the current Stripe flow).

If a user choses to use a different email than on record on PayPal for whatever reason, and the email is not with us, we create a new user record. (This is same as the current Stripe flow).

Forgive for my confusion, it seems like we are modifying the signed in user that is fed to createStripeDonation function here:
https://github.com/freeCodeCamp/freeCodeCamp/blob/059e826465b789d4c76bbd13525fd6b9a1859f03/api-server/server/boot/donate.js#L102
I do not see where we create new users upon email mismatch.
I will investigate more and if you could direct me to the right block, it is highly appreciated.

Are you going to be using smart buttons or the API?
Like I said,

And that is precisely the reason I was looking for a way to avoid the smart buttons and drive the payment thru our API for control.
Anyway, since we are not going that way, there are some compromises to be made here, which is (definitely not security), we should tally by create/update a user record with the email that we receive from PayPal.
If a user choses to use a different email than on record on PayPal for whatever reason, and the email is not with us, we create a new user record. (This is same as the current Stripe flow).

I thought you are using the Smart Buttons from PayPal. If Yes, this means you have two things to do:

Use the onApprove callback to show the message on client and nothing else.
Followed by use the web-hook delivered to our API (which has nothing to do with sign in state, because its not happening on the client) to create or update a user record. If a user used a different email id on PayPal than with us, it's going to mean a new record.

Does that help? Let me know.

It makes sense now.

So, my understanding is that PayPal is responsible for preventing fraud, so all we need to do is track donations on the server.  Given that, shouldn't the 'create a donation' flow look like this:

Donate button is pressed
PayPal window opens, user creates a donation
PayPal tells the client (not the server) when this is done
The client displays a message "Payment confirmed, updating our records" or similar
The client communicates the donation information to the server, with an attached user object
The server checks to see if the plan is valid i.e. is PAYPAL_FIVE_DOLLAR_MONTHLY_PLAN_ID
The server makes sure the id is not currently in the database
The server calls the PayPal api to verify that the donation exists

If the donation exists then

If that user exists on the server update it to track the donation
If not, create something to track the donation, warn the devs and perhaps the user

If the donation does not exist then there's (probably) no donation to track, but the information should be logged somewhere in case of problems and the user informed that something went wrong

Finally the server reports back to the client and the user gets a confirmation message

The server call to PayPal would be instead of a webhook, since it verifies the id is valid and the plan is one of ours.  I think that's all it needs to do.

And you would be correct, but like I said this earlier in the thread, but the thing is we would still depend on the web-hooks for cancellation scenarios happening on PayPal.
This means we would be writing code to handle the hooks, and if we are doing that already, we can do it for subscription creation. It simpler to maintain.
There is no client side to server to client roundtrips required.

Understood.  My main worry is the case where the user's PayPal email address is different from their fcc address and we can't find them.  Creating a separate user to track the donation will probably cause some issues.  For instance the existing user should get the isDonating flag, but they wouldn't.
Possible solutions:

add a flag to donation user accounts so, if there are problems, we at least know which ones are affected
trust the client enough to allow it to set the isDonating flag on successful donation.

I'm not arguing against webhooks, mind, I appreciate the need.  I'm just trying to think through the consequences.

I'm just trying to think through the consequences.

Yeah, I could not agree with you more.
We could update the isDonating flag regardless, because the onApprove callback means the donation was captured.

We could update the isDonating flag regardless, because the onApprove callback means the donation was captured.

Oh, of course, that's much nicer.

@raisedadead, could you please eyeball this solution so I could go ahead with the tests? thank you.

The only consideration is when /update-paypal receives calls that are not hooks, it first returns 200 and then errors out. looking into it ATM


Recently open files palette

Check for existing issues

[X] Completed

Describe the feature
In other editors (vscode/intellij), they provide a palette with recently open files. You can either fuzzy search or go through the list manually with arrow keys (I usually set a different keybinding for selecting which file). When you arrow down, as the selection changes, the editor will update with that selected file. Hitting enter will dismiss the palette.
I do this because I like to hide editor tabs (another feature request for another time?) and only select recently opened files through this pane.
To demo this flow in vscode, these are the keybindings I use and the commands.
  {
    "key": "cmd+e",
    "command": "workbench.action.openPreviousEditorFromHistory"
  },
  {
    "key": "cmd+e",
    "command": "workbench.action.quickOpenNavigateNext",
    "when": "inQuickOpen"
  },

If applicable, add mockups / screenshots to help present your vision of the feature
No response

Have you used cmd + p before? Similar to the command palette, it lists recently open files, and you can search for files across your project.
You can also use cmd + option + o to do the same for recently opened projects. There is also an upcoming palette to do the same with git branches.
Is there some value to you specifically to match only recently opened files in the fuzzy search in the cmd + p palette?

I think what we are missing here for you is the ability to live load the file, while traversing the list of previously-opened files, and the abillity to customize the the bindings for navigating those files. Does that seem correct?

Is there some value to you specifically to match only recently opened files in the fuzzy search in the cmd + p palette?

@iamnbutler One simple issue I have with the cmd + p action right now is that it always lists the currently open file at the top. Instead, it should show the most recent file, which would allow you to bounce between the two most files by repeating cmd + p. This is an interaction I use all the time and feels really painful being missing.
More generally, I think this represents a different kind of editing style that eschews tabs for the concepts of "buffers" or recent locations (see IntelliJ). Basically, I don't want to operate on "open files" or see tabs at all in UI (see also https://github.com/zed-industries/community/issues/1052).
An example of my workspace from IntelliJ of "recent locations" which is even better than recent files:

Another example of where project files falls short is pseudo-files or buffers like the center terminal tab(s), which should be searchable so you don't have to click to navigate.

The tabs issue is currently being tracked here https://github.com/zed-industries/community/issues/1052. I agree that these are very closely linked and roll up into a bigger "tabless editing" feature, although I'm not sure if that would be helpful to track on its own.

Okay, actually the behavior in IntelliJ is a little more subtle. It's not that the currently opened file is ignored in the recent files, it's that it automatically selects the second entry in the list, allowing you to quickly switch back and forth.

Yes, exactly. It is all about the shortcuts as well.


Run app on web browser?

Currently, when you use expo start to set up a tunnel for the app, and then attempt to run the app on web browser, I get the following error:
Module not found: Can't resolve './src/BlurView' in '/Users/richardyu/lynbrook-app/node_modules/@react-native-community/blur'

Not too sure if we can fix this or not. So the question is then: is the app setup only to run on android stimulators? Or is this only an error on my end?

Ok, got the dang thing running on my computer using an Android emulator. Maybe I was being dumb, and could've skipped all those steps. I ended up having to set up adb and emulator as Linux commands on my terminal. (added to bash profile)

Not needed anymore.


Adds arm64e support to the Makefile

You might have to change your SYSROOT, just depends on how you have your THEOS dir setup. Thanks

Closing as arm64e support has been added to KarenPrefs as of several months ago.


Update resource-manager-rest-api.md

Ambiguous term fix

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@rajkumarvishnu : Thanks for your contribution to the Azure documentation! The author, @navalev, has been notified to review your proposed change.

#sign-off


feat: Remove test-metadata test-event-type and use integration service contexts

Maintainers will complete the following section

[ ] Commit messages are descriptive enough (hints)
[ ] Code coverage from testing does not decrease and new code is covered (check the PR coverage on codecov)
[ ] Controllers diagrams are updated when PR changes controllers code  (if applicable)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (main@8822187). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #881   +/-   ##
=======================================
  Coverage        ?   69.22%
=======================================
  Files           ?       43
  Lines           ?     4455
  Branches        ?        0
=======================================
  Hits            ?     3084
  Misses          ?     1048
  Partials        ?      323

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

/retest


[SWARM-1942] Adding the install and deploy phase skip instructions to microprofile-tcks/pom.xml

Windows failure: org.eclipse.microprofile.fault.tolerance.tck.bulkhead.BulkheadAsynchRetryTest.testBulkheadRetryClassAsynchronous55

Hi Michal, the test passed on Linux so I'd say this PR change is safe if you and Ken agree...I'm off tomorrow. I'll get it tested just to try a Windows test passing...

retest this please

@sberyozkin I think the error (as well as org.eclipse.microprofile.fault.tolerance.tck.bulkhead.BulkheadAsynchTest.testBulkheadClassAsynchronous3 in the next attempt) are known issues with MP FT TCK


[1460] Remove course_count from provider factory

Context
This has been rebased onto the previous pr removing site_count do not merge until that PR has been approved and merged
We've decided to remove dependencies from the factories where possible. This PR removes site_count from the provider factory.
Changes proposed in this pull request

Removes course_count from the provider factory.

Checklist
[ x] Make sure all information from the Trello card is in here
[ x] Attach to Trello card
[x ] Rebased master
[ x] Cleaned commit history

 [M] Improve how we create factories & related data in specs.


ci: lint to pre-commit

ci: add dependabot
ci: improve build
Move lint to pre-commit

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Panel & Row repeats

Given a dashboard with the following template variable:

name: foo
type: custom
values: 1,2
multi-value: true

When enabling panel repeat (or row repeat, same issue), the requests generated to fetch the data are invalid if there is multiple values selected (which is the point of the repeating option).
Expected:
If the two values of foo are selected, two requests must be generated.

first one should contain 1 'foo' STORE
second one should contain 2 'foo' STORE

Observed:
Two requests are generated, both with '1 + 2' 'foo' STORE
It works fine with OpenTSDB datasource, so I guess it's a datasource issue.

Thanks for the issue!
I will look at it this week.

This issue seems inactive, closing it.
You can create a new one if you still have this issue.


Resolve missing valuesets from VSAC API

Summary
This PR adds the ability for fqm-execution to make HTTP requests to a FHIR API to retrieve expanded valuesets that aren't included in the measure bundle. The bulk of the new resolution code is in src/helpers/ValueSetResolver.ts.
New behavior

Added -a/--vs-api-key flag to CLI, and options.vsAPIKey to library option object
Added a ValueSetResolver to reach out to the valuesets' URLs and retrieve them (or throw an error)
Valueset parsing now handles expanded valuesets as well as composed ones. Expansions are considered the default if both are present.

Code changes

Turned a bunch of functions into async functions
Added ValueSetResolver class to provide valueset resolution via http, as well as checking whether all missing valuesets have been retrieved
Moved ValueSetResolver and ValueSetHelper into a helpers directory
Added ValueSet expansion conversion to valueSetsForCodeService in ValueSetHelper
Moved getMissingDependentValuesets into ValueSetHelper

Testing guidance

run an npm install to get new packages
Run the fqm-execution CLI using your preferred method, with the test/fixtures/EXM130-7.3.000-bundle-nocodes-missingVS.json measure bundle. Result should be an error like Missing the following valuesets: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1<IP_ADDRESS>6, and no API key was provided to resolve them
Get your NLM API key (instructions in the README), and provide it to the CLI using -a <api_key> and the above measure bundle. Result should be a successful calculation.

jest coverage report 🧪
Total coverage

Status
Category
Percentage
Covered / Total

🟡
Statements
78.11%
1049/1343

🟡
Branches
61.06%
936/1533

🟡
Functions
79.18% (+1.54% 🔼)
194/245

🟡
Lines
78.29%
988/1262

Status of coverage: 🟢 - ok, 🟡 - slightly more than threshold, 🔴 - under the threshold

Show new covered files 🌑
Coverage of new files

Status
Filename
Statements
Branches
Functions
Lines

🟢
src/helpers
95.4%
81.33%
92%
95.24%

🟢
ValueSetResolver.ts
100%
88.89%
100%
100%

Status of coverage: 🟢 - ok, 🟡 - slightly more than threshold, 🔴 - under the threshold

Show files with reduced coverage 🔻
Reduced coverage

Status
Filename
Statements
Branches
Functions
Lines

🟡
src
76.01%
59.63%
77%
76.13%

🔴
CalculatorHelpers.ts
55.56% (-4.86% 🔻)
46.2% (-4.96% 🔻)
41.94% (-10.44% 🔻)
56.69% (-4.6% 🔻)

Status of coverage: 🟢 - ok, 🟡 - slightly more than threshold, 🔴 - under the threshold

I removed all valuesets from my EXM130 bundle, and got some of these error messages:

This seems like a pretty short timeout.. and I'm assuming you don't set this anywhere. I wonder if we can up this somehow to be able to not fail when needing to expand a bunch of valuesets?


NPSP Data Importer (3.89) creates new Account for Contact2 even if Contact1 is matched on ID

STR:

New NPSP Data Import record - Contact1 Imported (select existing Contact), Contact2 First Name/Contact2 Last Name (something that won't match)
Run utility with default matching

Expected: New Created Contact2 in same existing Household as Contact1
Result: Contact1 is Matched correctly. Contact2 is Created in its own Household.

**lurch: add

Tracking W-017687

Included in beta release 3.90 (Beta 2)

Included in production release rel/3.90


Move default nginx annotation to separate block

Since helm merges the values for the extraAnnotations it is not easy to overwrite the default one if a customer is using the upstream Rancher chart repository. They should be made optional so a customer can disable them if they are not using the default nginx ingress but still want to add annotations without disabling the ingress.

Available to test in v2.6.0-rc1

this enhancement is validated in rancher v2.6.0-rc1 chart
Case 1: default value
Results: the default Nginx annotations are applied to the Ingress resource
> k -n cattle-system get ingress rancher -o yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/issuer: rancher
    cert-manager.io/issuer-kind: Issuer
    field.cattle.io/publicEndpoints: '[{"addresses":["<IP_ADDRESS>"],"port":443,"protocol":"HTTPS","serviceName":"cattle-system:rancher","ingressName":"cattle-system:rancher","hostname":"jiaqi-ha2.eng.rancher.space","allNodes":false}]'
    meta.helm.sh/release-name: rancher
    meta.helm.sh/release-namespace: cattle-system
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "30"  <-- thhis
    nginx.ingress.kubernetes.io/proxy-read-timeout: "1800"   <-- thhis
    nginx.ingress.kubernetes.io/proxy-send-timeout: "1800"   <-- thhis
...

Case 2: set ingress.includeDefaultExtraAnnotations=false when installing Rancher
Results: the default Nginx annotations are NOT applied to the Ingress resource
> k -n cattle-system get ingress rancher -o yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/issuer: rancher
    cert-manager.io/issuer-kind: Issuer
    field.cattle.io/publicEndpoints: '[{"addresses":["<IP_ADDRESS>"],"port":443,"protocol":"HTTPS","serviceName":"cattle-system:rancher","ingressName":"cattle-system:rancher","hostname":"jiaqi-ha2.eng.rancher.space","allNodes":false}]'
    meta.helm.sh/release-name: rancher
    meta.helm.sh/release-namespace: cattle-system
  creationTimestamp: "2021-08-10T18:43:02Z"
...

Case 3: install rancher with default value, then upgrade with ingress.includeDefaultExtraAnnotations=false
Results:

at first, the default Nginx annotations are applied to the Ingress resource
and they are removed after the upgrade

@sowmyav27  Please review the validation and close the issue.


Frequency not working on Chrome for Mac OS

This is not working on Chrome for Mac OS  with M2 chip
It works on Safari but not on Chrome
https://ground.bossadizenith.me/docs/cards/frequency

it works

I haven't tested it on safari. I know it works on chrome cause that's what I'm using


migrate glide to go mod

Codecov Report

Merging #189 into master will increase coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master    #189      +/-   ##
=========================================
+ Coverage   76.19%   76.2%   +<.01%
=========================================
  Files         124     124
  Lines       17912   17964      +52
=========================================
+ Hits        13648   13689      +41
- Misses       3256    3267      +11
  Partials     1008    1008

Impacted Files
Coverage Δ

query/aql.go
100% <ø> (ø)
:arrow_up:

...ubscriber/common/consumer/kafka/kafka_confluent.go
82.16% <0%> (+0.52%)
:arrow_up:

memutils/memory.go
88.23% <0%> (-1.51%)
:arrow_down:

query/time_series_aggregate.go
76.88% <0%> (+0.15%)
:arrow_up:

Continue to review full report at Codecov.

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


Friendly echo missing

notice
warning
error
Is missing from common.sh

If it helps, doesn't work on linux either without installing some package... :dancers:

#2 Fixes this issue, closing


nice to have tslint.json for the project

Is the aim to help enforce a consistent code style for contributors in pull requests?

one of the aspects yes :-)

that's a personal choice for the developers of the project, which then boils down to a personal choice or me!!!
personally I don't like code checkers as I find I'm able to write quality code without them. such checkers are useful when you have weaker developers contributing, however I'm not accepting large contributors with the grid (just some small changes, any large change goes through very big code reviews by me and normally gets rewritten anyway). we used similar in work last year and I found them frustrating!!

Agreed that it is your project and you should manage it in the way you think is best and respect your opinion.
Slightly disagree about the necessity of code quality tools - e.g. sometimes you find yourself refactoring code and forgetting to remove a parameter declaration which is no longer needed, etc - code checker catches all sort of different tiny not necessary important details.
And regarding the developers contribution - all of the new frameworks come with tslint by default - e.g. angular2 etc, inappropriate contributions are simply discarded.
Thank you.

thanks for all the valuable feedback, i welcome it all. i need to be balanced and appreciate the world has more experience that me. i've taken your points on board.

You are doing a great work by the way, evaluated other tables too, but this one is in my opinion the most suitable to use with angular2 as of now.
Used slick grid in the past - but the support is discontinued at the moment. Might be nice to get ideas regarding functionality from there.
thanks

yea i'm trying to get tests under way. spent a few hours on it yesterday then got annoyed with trying to configure it all. i'm very versed with testing from other languages. in javascipt, everything is so much more messey to get set up. how the hell to do i test typescript but use javacscript then integrate with node and gulp and then get grid modules loaded ahhhhhhhhh!!!!!!!!!!!!! i'll get back to it again soon, but i had to move on and focus on features again as i was getting to bogged down. but yes, deffo, project is to large now, tests are needed.

There are multiple different options there - from choosing what test runner to use (e.g. karma), what framework to use for assertions (e.g. jasmine/ mocha), whether to do the testing with using transpilers for typescript (e.g. babel - typescript with system js or webpack js) or simply include the generated ag-grid.js file and do a simplified js tests (assuming your tests are not written in typescript but in plain js).
On top of that you can decide whether to write unit tests using injectors (e.g. angular1 injector, then angular2 injectors etc) or simply test the core js (i would choose perhaps) in plain js manner.
Can spend a few hours to help / give you some ideas if you like this week and next week, before switching my attention to universal js :-).

On 12 Jan 2016, at 10:28, Niall Crosby<EMAIL_ADDRESS>wrote:
yea i'm trying to get tests under way. spent a few hours on it yesterday then got annoyed with trying to configure it all. i'm very versed with testing from other languages. in javascipt, everything is so much more messey to get set up. how the hell to do i test typescript but use javacscript then integrate with node and gulp and then get grid modules loaded ahhhhhhhhh!!!!!!!!!!!!! i'll get back to it again soon, but i had to move on and focus on features again as i was getting to bogged down. but yes, deffo, project is to large now, tests are needed.
—
Reply to this email directly or view it on GitHub https://github.com/ceolter/ag-grid/issues/635#issuecomment-170867106.

i was trying plain javascript tests against ag-grid.js generated file. i was caling jasmine directly from gulp using gulp-jasmine, which i understand doesn't require a test runner. i got stuck (annoyed) and left it. when i get my column work done, i'll get back to it.


Do you have any idea on how to update camera view in latest nerfstudio?

I try to install the nerfstudio in your repo, but the requirements for torch and cuda might be old, and I cannot successfully install tiny-cuda-nn for it. So the older version cannot run.
So I install the latest nerfstudio, and it can run as well, except the viewer's camera updating logics, because the code ViewerState in nerfstudio has changed so much. I haven't found a proper way to update the cameras till now.

@elenacliu Check out commit 0fc928d. This should allow the camera positions to populate over time if you refresh the page. I've tested this on my setup and v0.3.3 of nerfstudio.

Closing this for now!


Bump jquery

There's a vulnerability in sub-3 version of jquery. This commit bumps the version to remediate the issue.

I'd like to test this branch out with the new search box feature before we merge, if that's OK.

I'd like to test this branch out with the new search box feature before we merge, if that's OK.

Sure, of course


Terrain height and z-position estimates for rangefinder + optical flow fusion

The height above ground range used for optical flow fusion is set as _terrain_vpos - z_position. But when I am using a rangefinder(EKF2_HGT_MODE is set rangefinder), the z position is directly measuring the height above the ground. In this situation, shouldn't the heightAboveGndEst be equal to _state.pos(2) or z_position?

Even in range finder primary height mode, the inertial data is used and the vertical GPS velocity is fused (if available). This means that even if the terrain height changes, the altitude of the EKF (state.pos(2)) will be stabilized by the other sensors and a relative terrain estimate can be obtained.

Even in range finder primary height mode, the inertial data is used and the vertical GPS velocity is fused (if available). This means that even if the terrain height changes, the altitude of the EKF (state.pos(2)) will be stabilized by the other sensors and a relative terrain estimate can be obtained.

This issue was solved by the following steps:

EKF2_HGT_MODE was set to rangefinder
barometer aiding was removed by commenting out the respective lines from the controlHeightFusion() in control.cpp. This ensured that the rangefinder would solely be used to estimate the the altitude of the EKF (state.pos(2))

This issue was solved by the following steps:

EKF2_HGT_MODE was set to rangefinder
barometer aiding was removed by commenting out the respective lines from the controlHeightFusion() in control.cpp. This ensured that the rangefinder would solely be used to estimate the the altitude of the EKF (state.pos(2))


fix(templates): suppress extra newlines in default changelog

Suppress extra newlines in default generated changelog output
Update test expectations to match (see TODO that I removed after fixing the issue)

Note: this will likely change generated changelogs on the next run, so in that sense, breaking(ish), but I think it's still probably a good idea, and shouldn't change the actual changelogs (when viewed as markdown) in any negative way.
I made similar tweaks in the example in the docs; let me know if this is unwanted.
From local testing, I believe this is correct, but would love some eyes on it to see if I missed some scenarios.

One general thought I had FWIW: with some of these formatting things, it's hard to understand the test cases when the test cases are all generated by code as well... while I get the urge to not have too many raw fixtures in the codebase, it might be good to have at least some tests where there's a fixture or heredoc that's just the raw text of the rendered changelog / release notes / whatever. IMO that would make understanding and testing changes like that somewhat easier.

One general thought I had FWIW: with some of these formatting things, it's hard to understand the test cases when the test cases are all generated by code as well... while I get the urge to not have too many raw fixtures in the codebase, it might be good to have at least some tests where there's a fixture or heredoc that's just the raw text of the rendered changelog / release notes / whatever. IMO that would make understanding and testing changes like that somewhat easier.

That would be ideal but it is not really possible. That was my initial plan and implementation but it doesn't work out well with the varying HVCS links, always different git commit dates, the changing commit hashes with each build of the test repos. The pytest pretty diff plugin is supposed to show you the difference in your two logs but it doesn't work well with newline changes (I think its a bug). I don't like how much code I have to generate the changelog but it was the cleanest way to take a changelog spec and turn it into the correct content with variable HVCS and ever changing hashes. If you have a better solution that overcomes these obstacles then I'd be glad to switch.

Yeah, to replace it entirely probably wouldn’t make sense, especially since it’s already working, but maybe as an extra / separate and more limited test, not intended to cover all different scenarios.
The diffs make it easy to somewhat easy to see the difference between old and new (and did work in this case), but a little harder to see how the end result is supposed to look, or to adjust the test case before the code.


[KYUUBI #895] Enhance output uses the default spark conf

Why are the changes needed?

When start the server, If not specified SPARK_CONF_DIR, it should output default.
KYUUBI_WORK_DIR_ROOT: /root/tmp/kyuubi/work
SPARK_HOME: /root/package/spark-3.1.2-bin-hadoop2.7
SPARK_CONF_DIR:
HADOOP_CONF_DIR: /root/package/hadoop-3.2.0/etc/hadoop

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Codecov Report

Merging #896 (b25a98e) into master (34925fb) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head b25a98e differs from pull request most recent head 9a936a7. Consider uploading reports for the commit 9a936a7 to get more accurate results

@@            Coverage Diff            @@
##             master     #896   +/-   ##
=========================================
  Coverage     79.16%   79.16%
  Complexity       11       11
=========================================
  Files           143      143
  Lines          5346     5346
  Branches        649      649
=========================================
  Hits           4232     4232
  Misses          751      751
  Partials        363      363

Continue to review full report at Codecov.

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

thanks, merging to master


Updated CI to be in line with ACCESS-OM2 (Prerelease Functionality)

ACCESS-OM2-BGCs CI branched off the ACCESS-OM2 CI before I had got the Prerelease Functionality working. This PR adds the appropriate CI files to bring it in line with https://github.com/ACCESS-NRI/ACCESS-OM2/pull/51

I assume you've cherry-picked the commits from the ACCESS-OM2 repo? Happy to approve. We also need to add branch protections I guess?

Yep, will add branch protections and the Gadi environment when the other PRs questions have been resolved


eth_createAccessList implementation

This PR implements calling the eth_createAccessList function in order to estimate access list.
Our Erigon and Nethermind nodes require auth, therefore custom headers are used. If auth is removed in the next days/weeks as a consequence of a OE -> Erigon switch, then I will use web3 transport to refactor and simplify the code a bit.
Still not sure if estimate_access_lists for NodeApi should guarantee the same number of elements in result, compared to a number of transactions for which we are estimating the access lists.

Codecov Report

Merging #1703 (dacd856) into main (45ac68f) will decrease coverage by 0.01%.
The diff coverage is 46.94%.

:exclamation: Current head dacd856 differs from pull request most recent head dbd21ab. Consider uploading reports for the commit dbd21ab to get more accurate results

@@            Coverage Diff             @@
##             main    #1703      +/-   ##
==========================================
- Coverage   65.47%   65.46%   -0.02%
==========================================
  Files         179      179
  Lines       35764    35931     +167
==========================================
+ Hits        23418    23522     +104
- Misses      12346    12409      +63


Add Bruno Borges

:warning: Validation status: warnings

File
Status
Preview URL
Details

advocates/bruno-borges.yml
:warning:Warning
View
Details

advocates/media/profiles/bruno-borges.jpg
:white_check_mark:Succeeded
View

advocates/bruno-borges.yml

[Warning] the value Profile is undefined for metadata pagetype

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


Fix a typo in the document

just a tiny fix for a typo in the documentation.

Good catch, thanks!


Links forged from top-level NodesSelector structures are incorrect

What happened:
When using a single top-level nodesSelector, links to other documentation structure nodes are not rewritten to relative. They are converted to absolute.
What you expected to happen:
Links to nodes from a document structure are always relative. A top-level nodesSelector gets resolved to node structure and this applies to its document nodes as well.
How to reproduce it (as minimally and precisely as possible):
Execute a docforge build with this manifest:
nodesSelector:
  path: https://github.com/gardener/gardener/tree/master/docs

e.g.:
docforge -f manifest.yaml  -d /tmp/1234-test --github-oauth-token $GITHUB_TOKEN
or add the --dry-run option to analyze links rewriting.
Either way, inspect the README.md file in the destination path /tmp/1234-test. All links are absolute, including the ones to other documents that should be resolved as nodes, because they are in the nodesSelector path.
Anything else we need to know:
Note, that the problem is observed only for top-level nodesSelector. With a manifest like this:
structure:
- name: gardener
  nodesSelector:
    path: https://github.com/gardener/gardener/tree/master/docs

links are rewritten correctly.
The root cause of the issue seems to be that with a top-level nodesSelector, the root node is not resolved (see the screenshot below). It features only a single nodesSelector property and no nodes. However, its direct descendants point to it as parent. The search mechanism for other nodes that is involved in resolving links to relative/absolute attempts to search from that root and since it has no child Nodes it doesn't descent any further, always resulting in absolute links resolution.

How to categorize this issue?
/kind bug
/priority critical

Debugging further it turned out that we have a general problem in finding out nodes in peer branches in the Structure array because the top-level nodes in the array do not share a common root node. That affects the generation of relative paths. the problem outlined in this issue has similar issue - in this particular case a root node is set, but only halfway without constructing the downstream hierarchy.

Debugging further it turned out that we have a general problem in finding out nodes in peer branches in the Structure array because the top-level nodes in the array do not share a common root node. That affects the generation of relative paths. the problem outlined in this issue has similar issue - in this particular case a root node is set, but only halfway without constructing the downstream hierarchy.