browser.setupInterceptor is not a function

  "wdio-intercept-service": "^4.0.0",     "webdriverajax": "^2.2.0",     "webdriverio": "^5.18.7"
I have a simple test I'm using to try to test the intercept service.  Thus far I've based it on the example here: https://webdriver.io/docs/wdio-intercept-service.html
describe('Test Intercept Service', () => {
     it('Intercept test', () => {
        browser.url('http://google.com');
        browser.setupInterceptor();
        var requests = browser.getRequests();
        console.log(requests);
    })
})

When I run the test, I get this error: browser.setupInterceptor is not a function
I've done the best basic troubleshooting I can, as I'm fairly new to JS and WDIO.  I've made sure it's using the right version of node, done a yarn install again and tried a few different combinations including putting it in a a browser.call statement.

Hey!
You don't need to install webdriverajax, that's just the old version of this plugin.
I put up an example that you can fork an start from: https://github.com/chmanie/wdio-intercept-example
Or, if you're using TypeScript: https://github.com/chmanie/wdio-intercept-example-ts

@chmanie When I copy and paste your example, it still fails the same way.  I'm using Jasmine.  Could that be a factor here?

Hi I also tried the above example and I still kept getting browser.setupInterceptor is not a function. Is there anything that I need to try?

Hey! Please try to start from this example, then subsequently add your tests: https://github.com/chmanie/wdio-intercept-example
To run the tests (you'll need Chrome 85, obviously you can add more browsers later):
git clone https://github.com/chmanie/wdio-intercept-example.git
npm install
npm test

Please let me know if you get an error with just running these commands

I'm encountering the same issue.
Unfortunately the wdio-intercept-example project is now 4 years old and out-of-date.
Is there a current "Hello World" example ?


undefined method bson_dump

I'm getting issues with saving a Mongoid object through the moped driver.
My model
class Task
  include Mongoid::Document
  include Mongoid::Timestamps

  field :title, type: String
end

After I create a new session, and try to insert a document into the collection:
session = Moped::Session.new([ "<IP_ADDRESS>:27017" ])
session.use "echo_test"
session[:task].insert(Task.new)

I get the following stack trace....
NoMethodError: undefined method `__bson_dump__' for #<Task:0x00000102ca6ba8>
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/mongoid-3.0.2/lib/mongoid/attributes.rb:225:in `method_missing'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/bson/document.rb:11:in `serialize'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/protocol/message.rb:129:in `block in serialize_documents'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/protocol/message.rb:128:in `each'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/protocol/message.rb:128:in `serialize_documents'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/protocol/message.rb:287:in `serialize'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/connection.rb:137:in `block in write'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/connection.rb:135:in `each'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/connection.rb:135:in `write'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/node.rb:518:in `block (2 levels) in flush'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/node.rb:113:in `ensure_connected'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/node.rb:517:in `block in flush'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/node.rb:532:in `logging'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/node.rb:516:in `flush'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/node.rb:505:in `process'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/node.rb:228:in `insert'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/session/context.rb:63:in `block in insert'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/session/context.rb:109:in `block in with_node'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/cluster.rb:139:in `block in with_primary'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/node.rb:158:in `ensure_primary'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/cluster.rb:138:in `with_primary'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/session/context.rb:108:in `with_node'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/session/context.rb:56:in `insert'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/collection.rb:88:in `block in insert'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/session.rb:264:in `with'
    from /Users/.rvm/gems/ruby-1.9.3-p194@list/gems/moped-1.1.5/lib/moped/collection.rb:87:in `insert'

I tailed through some of the closed issues and I can confirm that the object id is an Moped::BSON::ObjectId.
I'm using MongoDB (2.0.7), mongoid (3.0.2), moped (1.1.5)
Could you shed some light?

I had this problem with DateTime object and I did this to fix it (an initializer file with anyone name):
class DateTime
  def __bson_dump__(x,z)
    self.to_time.__bson_dump__(x, z)
  end
end


Roboto czech charset bug on last GIT versions

What OS and browser? I didn't see this on my windows 8.1 chrome

Windows 8.1 and Chrome 40. Do you test it on last git pull? On last version 0.95.3 it"s ok.

I did test it on the latest commits.

Do you try czech language?

Yes I did.

Its a strange...

Hey @lukaspijak, can you download the newest version on master and tell me if this problem still occurs? I am using different Roboto files now.

Great solved :-) Its ok :-)

Thanks for confirming!


Add Util functions to make tests with logging of generated test values

This has been useful quite a few times for us, for instance to investigate deadlocks or livelocks, and build standalone reproducers. This might be more generally useful.
This is still a draft, with the following points to fix:

documentation for the new functions
possibly rename those functions to explicitly mention triple
possibly add slightly more generic versions, not tied to triples, so that all our Test.make{,_neg} can be replaced by these wrappers
maybe share the code between the make functions.

Cool! I was thinking about this yesterday too :+1:
Logs is a nice and popular library for this kind of logging: https://erratique.ch/software/logs (sans dependencies).
AFAIU, it works through callbacks to a 'reporter'. By default, a "nop-reporter" does nothing and hence is relatively cheap.
To have things printed, one then just need to set another reporter.
I was wondering whether it would be handy to use for us? :thinking:


Sidecar missing from Workload menu

We don't have a way to add sidecars to Workloads.

@mantis-toboggan-md - This was implemented for Rio, so you might want to chat with @vincent99 or just see if you can copy the code from there.

Sidecars were how we added multiple containers to a Pod, but it will be replaced using the containers component: https://github.com/rancher/dashboard/issues/596


Git dependency with parent file dependency

👋
I'm trying to build a project that depends on generated bindings for a WIT world (https://github.com/fermyon/spin/blob/main/crates/world/src/lib.rs).
When building with cargo build, things work as expected and everything compiles correctly
When building with crane in a nix-flake however, the build fails with:
error: failed to read file "/nix/store/hivcpp5isdhmzzgj0q7920axnq7fq3xq-vendor-carg....
       Caused by:
           No such file or directory (os error 2)
  --> /nix/store/hivcpp5isdhmzzgj0q7920axnq7fq....
    |
3  | / wasmtime::component::bindgen!({
4  | |     inline: r#"
5  | |     package fermyon:runtime
6  | |     world host {
...  |
12 | |     async: true
13 | | });
   | |__^
   |
   = note: this error originates in the macro `wasmtime::component::bindgen` (in Nightly builds, run with -Z macro-backtrace for more info)

Although you can apply a custom source filter to your own packages, i.e:
    witFilter = path: _type: builtins.match ".*wit$" path != null;
    witOrCargo = path: type:
      (witFilter path type) || (craneLib.filterCargoSources path type);

    commonArgs = {
      src = pkgs.lib.cleanSourceWith {
        src = craneLib.path ./.;
        filter = witOrCargo;
      };

I haven't been able to find an (obvious) way to apply custom source filtering to the git dependency (and I'm not really a rustacean, so I'm unsure if there's something I'm missing that could be passed to cargo to ensure this works consistently).
I'd appreciate any pointers 😅
Reproduction example: https://github.com/endocrimes/crane-build-error-example

It looks like cargo vendor (after doing some issue digging) also doesn't include the wit files - Is there likely a better way to specify the dependency that would include them? (or am I somewhat out of luck?)

Ok so it seems like my issue is because the wit files are in a parent dir in the workspace - Do I have any way to construct that manually? (or an escape hatch to preserve a whole repo a la cargo defaults?)

Hi @endocrimes thanks for the report! I'm assuming you've probably come across https://github.com/ipetkov/crane/pull/271#issuecomment-1475387702 since your analysis about the WIT files being in the parent directory being the problem is spot on.
IMO this should be considered (and reported) as an upstream bug since this sort of pattern would fail to build with both cargo vendor and if the package was ever published to crates.io. (tl;dr cargo happens to check out entire repo for git dependencies and a crate peeking at files outside of its own directory happens to work there, which allows for bugs like these to go "unnoticed". but "normally" published crates can't really rely in files in their repo's parent directory since cargo wouldn't package that source when publishing the crate)

Do I have any way to construct that manually? (or an escape hatch to preserve a whole repo a la cargo defaults?)

Three options come to mind, listed in order of ease to implement:

Fork the repo and use a source override to point to your own fork with the issue fixed (hopefully until a solution is accepted upstream
Configure a Nix derivation which downloads the upstream sources and applies a patch with a fix. Then add a preConfigure hook to your actual package definition to apply a source override for the crate but using a path to the patched sources in the Nix store. This is basically the same as 1 but it avoids having to host an actual fork (at the cost of more complexity...)
If you are truly brave (and/or bored) enough to futz around with crane's vendoring internals there might be a way to achieve this, but it will not be easy or ergonomic so I don't recommend it (but happy to share any insights/guidance on how it works if you really want to go down that path)

@ipetkov
Is there instead a way to hook into a specific dependency and modify the repository right after it was cloned (before the packaging occurs)?

@musjj We don't have a first class way of doing that atm, though you may be able to apply an override for downloadCargoPackageFromGit

With https://github.com/ipetkov/crane/pull/615 we will have a general purpose mechanism for overriding (patching) any arbitrary crate sources!
Hopefully it should make it easier to work around little quirks like moving files around before they are vendored into their own separate directories

Here's a quick start snippet for how to patch dependencies: https://crane.dev/patching_dependency_sources.html


Facing some issue for kd-icon on firefox/safari, Working fine for Chorme

Describe the bug
We have implemented Shidoka design. But on runtime we are getting error as below

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. firefox]
Version [e.g. 122.0.1]

This is working fine on chrome. We have two different bundle with same kd-icon import. Somehow Chrome is successfully overwriting element but not firefox. We can have a call to understand better
And i have came across this article too.
https://pawelpsztyc.medium.com/building-web-components-for-multi-tenant-environments-e3b67b426113

We have Kyndryl bridge project where we have multiple component loading. Into that multiple bundle we have same import for webcomponent is there. We have also given unique webpack name to bundle. Chrome is smart enough to differentiate but not firefox.

Issue has been only with internal import link with kd-icon. Other Shidoka component import is working fine with firefox too

Not have icon import

Have icon import

Have a suggestion why we don't ask application to import icon rather than importing internally? Is this not possible?

after removing below kd-icon highilghted code it worked on firefox. As its taking icon class definition from other bundle. Need to see how we can avoid same internal import for 2 different bundle or ask application to add import at bundle level.
Internal import has only issue once both bundle will be coming to same page.

Please see the README which contains all of the information I have regarding this error: https://github.com/kyndryl-design-system/shidoka-applications?tab=readme-ov-file#handling-failed-to-execute-define-on-customelementregistry

Thanks @brian-patrick-3 . Will try for rollup example. And have tried other workaround mention on same readme file but that is not working.
Just one question on final minified js i can remove import using rollup js? Or for whole final build i need to replace with rollup js

Rollup is just what we use to bundle the Shidoka libraries.


[ids] for keyd-application-mapper?

Firstly, I really enjoy this software and I'm so happy it exist. Thank you!! ^_^
I have a situation where I need application-specific masks in app.conf to vary depending on which keyboard I'm using. Or maybe I just need another approach I haven't considered.
Here's my usecase:
My laptop's internal keyboard's modifier keys are originally laid out as [control][meta][alt][space] but keyd rearranges them to [meta][alt][ctrl][space]  This resembles a Mac-like layout, similar to what kinto.sh does. However, when terminal apps have focus, I like to temporarily change this to [meta][alt][meta][space] and keyd-application-mapper does the job.
Here's an excerpt of my default.conf and app.conf:
[control_cmd:C]

x = S-delete
c = C-insert
v = S-insert

[meta_cmd:M]

x = S-delete
c = C-insert
v = S-insert

[main]

capslock = overload(control, esc)
leftcontrol = layer(meta)
leftmeta = layer(alt)
leftalt = overload(control_cmd, macro(leftmeta))
rightalt = layer(meta)

[org-wezfurlong-wezterm]

leftalt = layer(meta_cmd)

This works great, and gives me consistent keyboard motions to create new tabs (command-T) in both Firefox and WezTerm.
However, I also have an external keyboard with a Mac layout, and the modifier keys are laid out differently: [ctrl][alt][meta][space] I can create a new keyd conf file using the [ids] header to target this keyboard, and adjust the [main] section like so:
[main]

capslock = overload(control, esc)
leftcontrol = layer(meta)
leftmeta = overload(control_cmd, macro(leftmeta))

The alt keys get left alone, because they're already where I want them. The leftmeta key now gets the overload action instead. This is fine until keyd-application-mapper gets involved, where app.conf still masks leftalt:
[org-wezfurlong-wezterm]

leftalt = layer(meta_cmd)

For this external keyboard, I need to override leftmeta instead of leftalt. But I can't update this without breaking the configuration for my laptop's internal keyboard.
How do I make both keyboards work?

Unfortunately application specific bindings can't apply to a specific id. I will probably add some syntax for this in an upcoming release. One thing you might try in the meantime is simply redefining keys within control_cmd to behave as their corresponding alt sequences.
E.G
[org-wezfurlong-wezterm]

control_cmd.a = A-a
control_cmd.b = A-b
....

This has the disadvantage of requiring you to explicitly define each key, and won't capture some of the subtle behaviours of a properly modified layer (e.g immediate actuation, modified clicks, etc), but might be good enough for your intended use case.
P.S
Instead of  overload(control_cmd, macro(leftmeta)) you can just do overload(control_cmd, leftmeta).

Thank you for your feedback, I'll consider how that may work for me.
As for the overload action, you're right that it works without the macro, but I had to wrap leftmeta in a macro to supress this warning:
WARNING: mapping modifier keycodes directly may produce unintended results, you probably want layer(<modifier name>) instead

I have another approach to consider, but it would require a new feature: key aliases defined in /etc/keyd/*.conf. This would allow a unified configuration for varying keyboard layouts--typically Mac and PC keyboards with the Alt and Meta keys swapped.
Something like this:
/etc/keyd/framework.conf
[ids]

# Framework Laptop
0001:0001

# Define alias key names for keyboards with the above id(s)
leftoption = alias_of(leftmeta)
leftcommand = alias_of(leftalt)

[main]

# Assign actions to aliases instead of direct key names
leftoption = layer(alt)
leftcommand = overload(control_cmd, macro(leftcommand))

/etc/keyd/hhkb.conf
[ids]

# HHKB external keyboard
0853:0100

# These keys have switched places on this keyboard
leftoption = alias_of(leftalt)
leftcommand = alias_of(leftmeta)

[main]

# Using aliases, this excerpt of [main] doesn't need to be different
leftoption = layer(alt)
leftcommand = overload(control_cmd, macro(leftcommand))

~/.config/keyd/app.conf
[org-wezfurlong-wezterm]

# Using my configuration's leftcommand alias, this rule now works for both keyboards
leftcommand = layer(meta_cmd)

Just an idea. :-)

I have another approach to consider, but it would require a new feature: key aliases defined in /etc/keyd/*.conf.

I originally considered doing something similar with keycodes. The idea was to have some notion of a 'base layer' in which lefthand values (keycodes) could be reassigned before parsing the rest of the config file in order to facilitate identical configs with slightly different hardware (like a QMK keymap). The user could theoretically then recycle the same config file by making minimal changes in the base layer. Your alias proposal is essentially the same thing with the addition that names don't have to be valid keycodes.
I didn't end up implementing it because I wanted to reduce unnecessary complexity, and #include didn't exist at the time, but I think it solves the current problem more elegantly and intend to include something similar in the next release.

I've added support for aliases in the latest commit.

Amazing! And I haven't tried includes before now, but that's a perfect match with this new feature. It's working great. Thank you!

Just a heads up, I ended up inverting the syntax because I found <key> = <name> more intuitive (especially in the case of key remapping). This is fair game since the syntax is relatively new and hasn't been ratified in the form of a new release. Let me know if you have any objections.


Background color in splatfacto renders can be random if no crop is set

Describe the bug
When rendering splatfacto, if a crop isn't set the background color will be random
To Reproduce
Steps to reproduce the behavior:
ns-render any splatfacto model where the background is poorly defined (ie underreconstructed)
Expected behavior
same color as viewer will be in background
Screenshots
See orange in background of this scene

Additional context
in render.py, BACKGROUND_COLOR_OVERRIDE is only set if the crop is set, this should be set whether the crop is used or not.

Hi! Could you check #2827 with the "flip" bg option on?

@KevinXu02 my understanding of the problem here is that the background is randomized during rendering for both training and exporting/evaluating, whereas we only want the former. This seems a bit different from what the flip option you're proposing tries to do, right?

Oh I know. Maybe we should just set the the background color to white or the viser color besides training to fix this.

Oh I see. Maybe we should just set the the background color to viser color besides training to fix this. PR is updated to set the initialized background color the same as viser. The should won't affect training.

Tested and it should be working.

#2831 patched this


Tester.test queries with variables

Does the library allow testing queries with variables as a runtime object?

Ah, found documentation on the npm package that shows variables must be included in the query, and not in a separate variables object.

Intuitively, it seems like there should be an option where variables are passed in separately, as an object like mutations.


Crash On Client Startup

Hey Zmaster!
Thank you for the updates!!
I just loaded up the new Advanced Rockety/LivVulpes
https://pastebin.com/h31gbnwB
Forge: 2281
MC: 1.10.2
Advanced Rocketry: 1.1.6
LibVulpes: 0.1.18
Thank you!
Darkosto

The 1.1.x versions of AR go with the 0.2.x libvulpes series. So try it with
that?

Ahh, okay! Let me give that a try. Thanks for the quick reply. I'll let you know in a few minutes :)

Yep! That was the problem on my end. Thank you!


alt-up/down doesn't do anything, and ctrl-shift-a is confusing

Halp ticket:

support/d8c483c6c4af11e3900abd3beebdf506

Pressing alt-up and alt-down doesn't move the cursor at all, which isn't what some of our users expect. The same is true for alt-shift-up and alt-shift-down.
As far as I can tell, SublimeText3 uses alt-up/down to jump to the beginning/end of the line, and shift-alt-up/down to select to the beginning/end of the line. Might this be a good default in Atom as well?
This behavior of jumping to the beginning of the line is currently bound to ctrl-a (editor:move-to-beginning-of-line), while cmd-left jumps to the beginning of the physical line (editor:move-to-first-character-of-line).
However, ctrl-shift-a doesn't select to the beginning of the logical line but to the beginning of the physical line (editor:select-to-first-character-of-line), which is the same thing as cmd-shift-left.
In other words, if ctrl-shift-a was consistent with ctrl-a, it would select like this:

while it currently selects like this:

Thanks for recommending this.


update list contribution browser to be in line with latest changes

Notes
All the filtering from #236 works just fine here
Still would be nice if the site could remember whether you last used tile or list browse instead of forgetting every page load
Screenshots
Tablet breakpoint
Largest breakpoint

looks amazing! i'm pressing merge. hope is ok! :)


K8S: HLS Recording  caused SRS API request waiting forever

描述(Description)

描述你遇到了什么问题(Please description your issue here)

I setup SRS that run inside K8S POD. Most of features worked as expected. The only thing happened when I enable HLS to record m3u8 and Segment files. These files will be write to a K8S persistent volume.
I found that SRS successfully save these files to that volume. These files are accessible from external service (I can play .TS files with VLC program).
The issue happened when I request SRS API (http://localhost:1985/api/v1/streams) to see current streams (or any SRS Http APIs). But I can not receive the response because the request is always in waiting status. I check SRS log, I did not see this request log is displayed in SRS Log screen. I also can not access SRS Http server log at SRS default port 8080
But when I stop publishing the stream, I can receive response from these  request as normal.
I tried another location path for .TS files (It must be different from Container's mountPath) and keep .M3U8 path  then above requests worked.
I think there is some bottle neck from  write .TS files to the PersistentVolume. It blocked other SRS's HTTP request.

Publish stream to SRS
Waiting for the first .TS file wrote to disk
Request api: http://localhost:1985/api/v1/streams (or any SRS API)
Receive response

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)

I can request SRS APIs as normal

While tracing the function which caused it block other requests, I think the the problem at this code line https://github.com/ossrs/srs/blob/v4.0.84/trunk/src/kernel/srs_kernel_file.cpp#L135 . It is described at this issue https://github.com/ossrs/srs/issues/1540

Dup to #1540


Show More Feature Not Working

Show More Feature Not Working

@moinkhan780 can you describe the issue in detail?
I’m not aware of a “Show More Feature” for this library

@moinkhan780 can you describe the issue in detail? I’m not aware of a “Show More Feature” for this library

When we have large no of text (Long text). In you example you use this feature but it doesn't work.

@moinkhan780 you have everything in the CustomText widget to get that to work.
onSuffixPressed which will be called when the "Show More" text is pressed.
showAllText which indicates whether the full text should be shown.
suffix which is the text (current default is Show More).
What you want to do is maintain a boolean state, which you will pass as the value of showAllText to the CustomText widget. Then for onSuffixPressed, provide a function that toggles the boolean state.
I'm closing this because this is not a feature of FlutterTagger.


Register v0.2.0

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/40840
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.2.0 -m "<description of version>" 647b79d97c92cb1472e598531d44433db89b442e
git push origin v0.2.0


Change how the Matter framework handles Platform::Memory.

Since for the malloc case the Platform::Memory is just debugging bits,
and since its init is not particularly threadsafe, just do a
dispatch_once init whenever we might need it, and don't worry about
shutting it down.
Problem
See above.
Change overview
See above.
Testing
Ran Darwin framework tests.

since its init is not particularly threadsafe

Don't both Memory::Init and Memory::Shutdown expect external synchronization? If this was sequenced correctly on the same dispatch queue, thread safety shouldn't be a concern?
The PR looks fine, but wanted to ensure my understanding of expectations there were correct.


chore: bump selenium-java from 4.7.2 to 4.8.0

Updates org.seleniumhq.selenium:selenium-java from 4.7.2 to 4.8.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (4.7.2).
You might want to review and update them manually.
build.sbt

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.seleniumhq.selenium", artifactId = "selenium-java" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.seleniumhq.selenium", artifactId = "selenium-java" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, old-version-remains, commit-count:1

Superseded by #259.


Merge changes from master-Alpha to master

This will be merged when master-Alpha reaches version .20


doc(readme): Fix image under Awesome Characters List not shown issue

before:

after:

https://github.com/jagracey/Awesome-Unicode/pull/16 is doing the same thing, but some how the empty lines surrounding the link is required and not working as expected

Fix https://github.com/jagracey/Awesome-Unicode/issues/17


added possibility to not display the progress bar

Proposed changes
I've had issues with tqdm recently as it messes up the profiling of scripts somehow... This just adds a flag to turn it off.
Types of changes
What types of changes does your code introduce to FESTIM?

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Code refactoring
[ ] Documentation Update (if none of the other choices apply)
[ ] New tests

Checklist

[x] Black formatted
[x] Unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Merging after discussions on slack


ISSUE-6 Introduce markdown for VA_readiness_SPARQL_endpoint_analysis/analysis_queries.md

This issue addresses https://github.com/mariaangelapellegrino/virtual_assistant_generator/issues/6

@mariaangelapellegrino FYI


Fixed the #256 issue

Fixes
Closes #256 issue.

Sir, I have removed the comment as mentioned by you.


Bound properties of HTML5 validation are not updated

I have an input who's maxlength property is bound to a computed property and depends on user input. vee-validate reads it only once and sets it on max validator. It does not get updated when the computed property changes.
The library can "watch" the bound values and react accordingly.

This has been implemented in v3


[WIP] Add command to invalidate CDS

Codecov Report

Merging #47 (6780ed9) into devel (855eeb1) will decrease coverage by 1.00%.
The diff coverage is 77.24%.

@@            Coverage Diff             @@
##            devel      #47      +/-   ##
==========================================
- Coverage   76.61%   75.60%   -1.01%
==========================================
  Files          33       34       +1
  Lines        2613     2714     +101
==========================================
+ Hits         2002     2052      +50
- Misses        611      662      +51

Impacted Files
Coverage Δ

transifex/common/console.py
77.77% <ø> (ø)

transifex/native/django/apps.py
62.50% <0.00%> (ø)

transifex/native/django/settings.py
100.00% <ø> (ø)

...sifex/native/django/management/utils/invalidate.py
37.50% <37.50%> (ø)

transifex/native/cds.py
88.28% <66.66%> (-9.42%)
:arrow_down:

transifex/native/core.py
94.73% <70.00%> (-5.27%)
:arrow_down:

transifex/native/django/utils/__init__.py
91.66% <75.00%> (ø)

transifex/native/django/utils/templates.py
96.07% <75.00%> (+0.07%)
:arrow_up:

transifex/common/utils.py
97.75% <89.47%> (-2.25%)
:arrow_down:

...fex/native/django/management/commands/transifex.py
100.00% <100.00%> (ø)

... and 14 more

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 a1a45b3...6780ed9. Read the comment docs.


Allow graphing different values

Useful especially related to #5 for seeing how different scenarios play out

Have a readout at the top for each value type and its summed value (summed over all, and also over leafs)


Question on SB Explorer's Security Certification

Hello!
Has there any work been done to assess potential vulnerabilities in SB Explorer and establish its risk profile?
With so many customers using it, how do those customer certify the use of this tool in their non-prod and prod environments?
When will SB Explorer support reading ASB connection strings from a secure storage like KeyVault instead of having to hard-code them in the application's .config file?
Thank you in advance for your responses.

@TheAzureGuy good question. I have no idea about risk profiling. @paolosalvatori, did you do any of that at any point in time?

When will SB Explorer support reading ASB connection strings from a secure storage like KeyVault instead of having to hard-code them in the application's .config file?

Do you mind to raise a feature request? Raising multiple questions/feature requests in a single issue has been proven not to be very effective. Thank you.

@TheAzureGuy good question. I have no idea about risk profiling. @paolosalvatori, did you do any of that at any point in time?

When will SB Explorer support reading ASB connection strings from a secure storage like KeyVault instead of having to hard-code them in the application's .config file?

Do you mind to raise a feature request? Raising multiple questions/feature requests in a single issue has been proven not to be very effective. Thank you.

Hi @TheAzureGuy your name and that CAT picture remember me someone who worked for many years in my team and I met several times in Seattle and once in Milan in April 2013, right? 😄 Now that the migration from the old to the new SDK is complete, we can think to add Azure Activity Directory (AAD) authentication to the tool. This should also allow integrating SBE with a secret store like Key Vault via Azure RBAC, assuming that the current user is authenticated and proper policies have been created on Key Vault to let him\her list and get connection strings from the selected Key Vault resource. This implementation is doable, but it takes time, and @SeanFeldman, @ErikMogensen, and the other contributors are doing their best to evolve the tool in their spare time. SBE is an OOS tool used by hundreds of customers use SBE every day, but it's not an official Microsoft tool so as such it doesn't need to go through a security threat analysis. If you are very welcome my friend if you want to contribute to the integration of SBE with Key Vault as described above. 😃

Hi @TheAzureGuy your name and that CAT picture remember me someone who worked for many years in my team and I met several times in Seattle and once in Milan in April 2013, right? 😄 Now that the migration from the old to the new SDK is complete, we can think to add Azure Activity Directory (AAD) authentication to the tool. This should also allow integrating SBE with a secret store like Key Vault via Azure RBAC, assuming that the current user is authenticated and proper policies have been created on Key Vault to let him\her list and get connection strings from the selected Key Vault resource. This implementation is doable, but it takes time, and @SeanFeldman, @ErikMogensen, and the other contributors are doing their best to evolve the tool in their spare time. SBE is an OOS tool used by hundreds of customers use SBE every day, but it's not an official Microsoft tool so as such it doesn't need to go through a security threat analysis. If you are very welcome my friend if you want to contribute to the integration of SBE with Key Vault as described above. 😃

@paolosalvatori yes, my friend, I'm the same person who still keeps a special place in his heart for you and our AzCAT team.
It is very exiting to see how Service Bus Explorer, one of your work-life "babies", has become such a popular tool. However, it would have been even better if the tool was able to demonstrate some form of enterprise readiness by supporting AAD auth and KeyVault storage at a minimum.

@paolosalvatori yes, my friend, I'm the same person who still keeps a special place in his heart for you and our AzCAT team.
It is very exiting to see how Service Bus Explorer, one of your work-life "babies", has become such a popular tool. However, it would have been even better if the tool was able to demonstrate some form of enterprise readiness by supporting AAD auth and KeyVault storage at a minimum.

@TheAzureGuy I agree with you, before it was not possible because the old client SDK did not support AAD integration, but now that we dismissed the old SDK it's perfectly doable. Would you have time to help me with this effort? I'm very busy in this period so I may not have much spare time for this 😢

@TheAzureGuy I agree with you, before it was not possible because the old client SDK did not support AAD integration, but now that we dismissed the old SDK it's perfectly doable. Would you have time to help me with this effort? I'm very busy in this period so I may not have much spare time for this 😢

I'd like to see something where you can choose to use the existing way of getting connection strings from config files or login and then stay logged in even if you change namespace. While logged in, you should be able to get connection strings from Key Vault or access Azure Messaging services directly using AAD.

@ErikMogensen that's exactly what I was looking for! I open SBE and it prompts me to log in to my Azure subscription. It then uses my auth token to get a secret from Key Vault the name of which I provide via .config file. The value of the KV key is a JSON with the schema that SBE is able to read (just literally a collection of ASB connection strings expressed via name/value pairs similar to what we currently have to maintain in the .config file. The rest is just as easy as 1+1. Display the collection of connection strings and allow me to choose one which I want to connect to. Super easy. Very secure.

This is on my todo-list, but I just changed team and I'm very busy. Long-term I'm planning to implement AAD authentication and integrated RBAC and the ability to read connection strings from Key Vault.


GPUImageChromaKeyFilter for green screen video sitting on top of view hierarchy. no transparency in file?

I have a full screen overlay video sitting on top on my view hierarchy. the video is a greenscreen video, meaning it contains partly pure green content that i want to filter out with GPUImageChromaKeyFilter.
I tried to use GPUImageChromaKeyFilter, process the video and write it to a file, then i play the video using AVFoundation. The video plays, but it still contains the green parts and is not transparent.
I did my research and found that there seems to be no useful transparent video codec on iOs, so I wonder if and how it works to write a video with transparency to a file using GPUImage?
I also tried GPUImageChromaKeyBlendFilter and replaced the former green content with an image.
That worked very good, but does not yet solve my problem, because i want my view hierarchy be visible below the green parts of the overlay video that sits on top of it.
How can i solve this?
my code:
//add second video player
    NSArray *paths3 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory3 = [paths3 objectAtIndex:0];
    NSString *filePath3 = [documentsDirectory3<EMAIL_ADDRESS>    NSURL* likeVideoURL =[NSURL fileURLWithPath:filePath3];

    self.likeVideoPlayer = [[VideoPlayerViewController alloc] init];
    self.likeVideoPlayer.URL = likeVideoURL;
    self.likeVideoPlayer.view.frame = self.view.frame;
    [self.view addSubview:self.likeVideoPlayer.view];

    //apply greenscreen filter using GPUImage

    //setup filter
    filter = [[GPUImageChromaKeyFilter alloc] init];
    ((GPUImageChromaKeyFilter *)filter).thresholdSensitivity = 0.4;
    ((GPUImageChromaKeyFilter *)filter).smoothing = 0.1;
    [(GPUImageChromaKeyFilter *)filter setColorToReplaceRed:0.0 green:1.0 blue:0.0];
    [filter setEnabled:YES];

    //load file and apply filter
    movieFile = [[GPUImageMovie alloc] initWithURL:likeVideoURL];
    [movieFile addTarget:filter];

    //setup writer
    NSString *filePathAlphaVideo = [documentsDirectory3<EMAIL_ADDRESS>    unlink([filePathAlphaVideo UTF8String]);
    NSURL *alphaVideoURL = [NSURL fileURLWithPath:filePathAlphaVideo];

    movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:alphaVideoURL size:CGSizeMake(480.0, 640.0)];
    [filter addTarget:movieWriter];

    movieWriter.shouldPassthroughAudio = NO;
    movieFile.audioEncodingTarget = nil;
    [movieFile enableSynchronizedEncodingUsingMovieWriter:movieWriter];

    [movieWriter startRecording];
    [movieFile startProcessing];

    __weak GPUImageMovieWriter *writer = movieWriter;
    [writer setCompletionBlock:^{
        [filter removeTarget:movieWriter];
        [movieWriter finishRecording];
        self.likeVideoPlayer.URL = alphaVideoURL;

        [self performSelectorOnMainThread:@selector(filterRecordingFinished) withObject:nil waitUntilDone:NO];

    }];

A little late to the party but you'd want something like GPUImageUIElement to bring the view hierarchy into GPUImage's video pipeline. Then you'd just add both the video and the UIElement (in that order) to the the BLEND filter variation i.e. GPUImageChromaKeyBlendFilter
Best I can tell, both input sources need to match aspect ratios or the second will stretch out to match the first input.


Website to PDF📑

Feature ✅
Description
A script to save a website page as PDF, URL will be provided by user.
Example
The PDF must be encoded appropriately and renamed to the domain name of website.
Contributors are supposed to mention their coding language while asking for assignment

Hey, can I do this with python?

Hey, I will like to work on this using electronjs. Can you assign it to me?


docs: updated links to example file in file-format.md #120

Changed the outdated link in the file format documentation. Fixes #120

Thanks!


Client token action

Ticket
https://jira.bqsoft.com/browse/ATOM-6476
What this does
Adds client token action. Client tokens are passed to a JS front end and then used to interact directly with braintree. This will enable us to save the credit cards on the front end without passing through connect. The front end will get a reference to the credit card which it can pass to connect if needed.
Why we did this
We needed it for PCI compliance.
Overall, I feel this way about this code
Integrations are fun.

@mgates updated the PR message. The token is not real.


debug logs location for streamline and schema-registry

right now logs for streamline and schema-registry point to: /usr/hdf/current/{streamline, registry}. Can we standardize it to be accessible from /var/log.

@ggolani in ambari installed streamline, registry /usr/hdf/current/streamline/logs is symlinked /var/log/streamline and /var/log/registry. Let me know if thats not the case

confirmed with build 408, it is not the case.
an instance to try out (<IP_ADDRESS>), use hdf-qe-keypair.pem

@ggolani its the QE code the redirects the symlink of all the applications to /grid/0/log

In general if a user installed it via Ambari , it will put this symlink to /var/log/streamlne


KAFKA-18026: migrate KTableSource to use ProcesserSupplier#stores

Description
This PR is part of the implementation for KIP-1112 (KAFKA-18026). In order to have DSL operators be properly wrapped by the interface suggestion in 1112, we need to make sure they all use the ConnectedStoreProvider#stores method to connect stores instead of manually calling addStateStore.
Review Guide

Checkout KTableSource which now implements the stores() method
GlobalKTables no longer hack materialized by setting the source name on the builder, instead we pipe a forceQueryable into MaterializedInternal so that we directly indicate that it should be queryable/materialized instead of relying on a side effect of setting the store name
StoreDelegatingProcessorSupplier is used only in the case of GlobalKTables because the stores are expected to be passed in separately in the public API -- this PR doesn't change that
FactoryWrappingStoreBuilder is used so that already created store factories can be typecast as StoreBuilders.

NOTE: For point (3), I think this might be a bug in the current implementation that we may want to change in 4.0 since it's backwards incompatible. If you pass in a ProcessorSupplier to addGlobalTable, the stores() method on that will be ignored.
Testing
This is a refactor only, there is no new behaviors.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

btw @agavra I merged the first KIP-1112 PR so can you add a StreamsBuilderTest to verify the processor wrapping for this operator?
(also there's a question for you about method names in that PR)

@agavra also I enabled the PR build (apparently you now need a committer to approve this :/ ) and it looks like the spotless check failed due to import ordering . If you look at the output it should a command you can run to fix it automatically so you don't have to rearrange everything yourself

@ableegoldman I added the tests! I also changed them to record the processor names, not just the count, to make sure we are actually counting the processors we expect to be counting 😅


Combines Store+Engine into Runtime

This simplifies state management and the amount of terminology end-users
need to learn by using one concept Runtime instead of two: Engine
and Store. This bridges the concepts to the specification by still
having wazero.Runtime implement wasm.Store.
The net result is that we can know for sure which "engine" is used when
decoding. This allows us a lot of flexibility especially pre-compilation
when JIT is possible.
This also changes the default to JIT based on compiler flags so that
downstream projects like wapc-go don't have to do this individually
(including tracking of which OS+Arch have JIT).
Finally, this uses more go-idiomatic terms like New instead of
Instantiate.
// before: to force a specific compilation strategy
store, err := wazero.NewStoreWithConfig(&wazero.StoreConfig{Engine: wazero.NewEngineJIT()})
// now
r := wazero.NewRuntimeWithConfig(wazero.NewRuntimeConfigJIT())

// before: to instantiate a module from source
exports, _ := wazero.InstantiateModule(wazero.NewStore(), &wazero.ModuleConfig{Source: source})
// now
module, _ := wazero.NewRuntime().NewModuleFromSource(source)

// before: to instantiate a host module
_, err := wazero.InstantiateHostModule(store, wazero.WASISnapshotPreview1WithConfig(wasiConfig))
// now
_, err := r.NewHostModule(wazero.WASISnapshotPreview1WithConfig(wasiConfig))

// before: to start a WASI command
_, err = wazero.StartWASICommand(store, &wazero.ModuleConfig{Source: stdioWasm})
// now
_, err = wazero.StartWASICommandFromSource(r, stdioWasm)

Note: this is a follow-up PR from 76c0bfc33f721b8e2de1b41b0f50ae4a27621349 which was accidentally merged without review.

probably an issue with build flags:
WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested

config_supported.go:
//go:build amd64 || arm64
// +build amd64 arm64

config_unsupported.go:
//go:build !amd64 && !arm64
// +build !amd64,!arm64

temporarily flipped default back to interpreter and raised https://github.com/tetratelabs/wazero/issues/308 about switching it back

cool passed

thanks for the look fellas


lng VS lon

In english is more lng than lon. No other geocoding API use lon.

No other geocoding API use lon.
At least Photon and Pelias use lon. Assertions are better served by accurate arguments than hyperboles ;)
Certainly we can support both in the HTTP API anyway.

Reopening, as I need to implement support of both lon and lng. :)

lng: opencagedata, google
longitude: HERE
lon: nominatime


Delayed Jobs support?

@koudelka what do you think about adding Delayed Jobs support to honeydew?
The primary use-case I envision is delayed retries: when a job fail b/o temporary unavailability of some 3-rd party API it makes no sense to retry immediately - that would exhaust all retry attempts too fast.
Would this be a nice feature for honeydew? Maybe it's on the roadmap already?

a priority queue would be the weapon of choice here

Totally agree. In theory:

For in-memory ErlangQueue it should be possible to replace the currently used :queue with one of the implementations.
For EctoPollQueue and Honeydew.Queue.Mnesia, it should be possible to add a column which stores priority

the queue would probably have to keep track of when a job should be dispatched
maybe the Queue behaviour could just require that the underlying implementation be a priority queue

I like this direction. Right now Queue.dispatch() is called in three cases:

Queue.enqueue()
Queue.nack()
Queue.resume()

If I read you right, the plan is to introduce a delayed (via send_after?) call to Queue.dispatch() in case module.reserve(private) returns a job which shouldn't be executed yet. Just need to make sure this implementation doesn't suffer from one of Falsehoods Programmers beliefs about Time
The open questions which come into my mind:

how to represent a “delayed” job in the Job structure
where to store time offsets in persistent storages
for persistent queues - how to properly migrate the storage so that the existing production setups don’t crash after library version update
for multi-node setups - would it be possible to upgrade without stopping the queues?
[long-term] how to implement end-user’s delayed jobs API? Just add another keyword option to Honeydew.async()?

My personal short-term (1-2 months) need is a mnesia-backed job processor with delayed retries. I could dive a spike here and try implementing it the hacky way and later get back to you with my proof-of-concept. My plan is:

add another field to Job structure to hold time offset
delayed calls to Queue.dispatch() call using send_after if the job returned from reserve() shouldn't run yet
introduce Honeydew.Queue.DelayedMnesia and Honeydew.FailureMode.DelayedRetry modules

Sounds good?

hey there, i apologize for not getting back to you sooner, lots going on at the moment.
i've been mulling over your response, and the problem as a whole, and i think i have a fairly simple solution for the "single-node" (more on this later) case.
at the moment, the queue is just a list of jobs, operating in FIFO order, executed as fast as possible. adding delayed jobs means that the queue acquires a few additional characteristics:

it has to have the ability to insert a job into a place in the queue, according to when it should run.
it mustn't execute jobs before they're ready.
it has to know how to wake up to dispatch jobs when they're ready.

i believe we can implement those the requirements with pretty minimal complexity, like so:

jobs would no longer have implicit ordering (FIFO), but be assigned an integer priority indicating when they should run. upon enqueue, the priority would be set by the queue process to the current value of ERTS' monotonic clock.
the queue wont dispatch jobs if their priority is above the current value of the monotonic clock.
the queue needs to wake up every once in a while and check to see if there are jobs that need to run

more concretely, for the mnesia queue:

Mnesia.enqueue/2 will need to use the current monotonic clock's value as the job's ID (the sort key).
Mnesia.reserve/1 needs to return the job that's next in line, if it's ready to run (the job with the lowest ID and only if that ID isn't greater than the current value of the monotonic clock)
When the Queue starts, it should start a one-second timer to send itself a message to wake up and call Queue.dispatch, unless the dispatch function has been called within the last second. (busy queues will never fall back to this polling behavior). i'd prefer this over starting and managing timers, i think those may be prone to subtle race conditions.
Mnesia.reset_after_crash/2 will need to reset id to the current value of the clock after a crash (mentioned below)

we'll have to make note that folks should run honeydew with multi-time warp and time correction enabled, so as to ensure that the monotonic clock doesn't freeze.
if a mnesia node crashes, and it's persisting to disk, the monotonic clock values aren't going to have as much meaning when the node comes back up. the values will still tell us the ordering of the jobs, but it wont tell us which jobs should have already executed. i'm ok with just resetting all of the ordering values to the present moment, since honeydew offers at-least-once execution and we encourage people to write idempotent jobs. that'd also have to be in the docs.

as for ErlangQueue, it'll have to turn into a priority queue that can handle arbitrary integers as priorities, let's not worry about it for now and just try to get you going with the Mnesia queue. :)
the single-node case also applies to queues where just their data storage layer is replicated (mnesia running on another node replicating honeydew's queue tables, but not running a queue process itself), or queues that are backed by systems that have their own notion of time synchronization (EctoPollQueue). the queue systems that have their own notion of time won't be using ERTS' monotonic clock, they'll handle it themselves (like with NOW() in a SQL database).
the truly distributed case (multiple queue process in the cluster) is quite a bit more complex, since time-elapsed would become a matter of opinion between the nodes. i think our two options are to either trust that their clocks are decently synchronized (tut tut), or run a distributed consensus algorithm and disable nodes with unacceptable skew until they agree with the majority.
i think the above answers your first two questions (please tell me if not), to the others:

for persistent queues - how to properly migrate the storage so that the existing production setups don’t crash after library version update

currently, the mnesia queue just uses an integer for ordering, we'd just be swapping it out with a different integer, same schema, shouldn't be a problem. the crash/restart behavior i mentioned above should properly reset the values when it starts up after upgrading.

for multi-node setups - would it be possible to upgrade without stopping the queues?

well, this delayed jobs solution is only going to work in the case where only a single queue process is running in the cluster, due to the time skew concerns. it'd definitely be possible to upgrade it without stopping the queue using BEAM's hot code loading upgrade bits, but i suspect that's a bit more trouble than it's worth in this case.

[long-term] how to implement end-user’s delayed jobs API? Just add another keyword option to Honeydew.async()?

totally, yeah, that sounds good to me dude

i think this solution is pretty low-complexity and should eliminate a lot of edge cases. i hope this all makes sense, please let me know what you think! :)

oh, also, definitely yes to the FailureMode.
it'd be cool to be able to provide it with delay strategies, maybe like fixed: seconds, exponential: seconds, etc.

@vovayartsev , let me know the status of this issue. I'd like to contribute as well.

My current progress is here: https://github.com/vovayartsev/honeydew/pull/1/files
@alkemisti @koudelka adding you as collaborators there in case you have some early comments. Especially on the dispatch_at part.
I added a single test which schedules a delayed job via Honeydew.async(job, queue, at: in_1_sec), and it passes.
It's definitely not a PR to koudelka/honeydew repo yet, because it doesn't match the requirements agreed upon on December 18, and because it's not backward-compatible.
@alkemisti I got blocked by some urgency at my primary job and plan to finish my PR in early March when I have vacations. Please feel free to take over the issue if you're able/willing to move faster (and fork my PR too if you like it).

@vovayartsev hey, just wanted to let you know that i'm working on this. :)

@koudelka Hey! Thanks for the update! :-)
In case I'm not too late - I finished my solution in https://github.com/vovayartsev/honeydew/pull/1/files
(well... I could have added more tests and updated the documentation.... but I want to hear your thoughts on the code first)
It adds delayed jobs support to Honeydew API and mnesia queue, and :fixed_delay_ms option to the retry strategy. It matches your original thoughts, but:

I added uuid4 to the mnesia key, i.e. {_node, _timestamp, uuid} - because timestamp is not a stable ID and can't be used e.g. in cancel function. There's a migration on startup which ensures smooth mix deps.update honeydew
The actual delay mechanism is a bit different from what you proposed, but if we trace the actual function calls and messages, then the trace is not that much different from a 1-second send_after timer checking if there's a task available.

Please let me know if you want me to update the documentation and send a PR to koudelka/honeydew repo, or prefer to finish it yourself.
Thanks again for the great project!

hey @vovayartsev / @alkemisti ,
sorry for the lack of communication, i've implemented both delayed jobs and exponential retry in https://github.com/koudelka/honeydew/pull/74 :)
i've made some major changes to how the mnesia queue stores jobs to allow for new features in the future and backwards compatibility, but unfortunately it's not backward compatible with the current version. queues will have to be drained and recreated.
it's on master, give it a spin and let me know what you think. :)

Cut release 1.4.0, CHANGELOG.
Holler if you see anything broken. :)


Erroneous warning about 0 iteration loops with specialization constants in GLSL compatibility mode

When the loop length is dependent on a specialization constant that is initialized to zero, slangc reports that the "loop runs for 0 iterations and will be removed. It shouldn't, since the value of the specialization constant isn't actually known at compile time. Luckily, even with -O2, it doesn't actually appear to get removed, judging from -target glsl output still emitting the loop anyway. So it's probably just the diagnostics.
Source for replicating:
// test.comp
#version 460
layout(constant_id = 0) const uint A = 0;
layout(local_size_x = 1) in;

layout(binding = 0) buffer output_buffer
{
    float output[];
};

void main()
{
    for(uint i = 0; i < A; ++i)
    {
        output[i] = i;
    }
}

(The output buffer is only there to prevent the compiler from optimizing the loop away, it is not particularly necessary to replicate this bug.)
Output:
test.comp(13): warning 30505: the loop runs for 0 iterations and will be removed.
    for(uint i = 0; i < A; ++i)
    ^~~

It appears that this is incredibly easy to work around; just not using the const keyword with the specialization constant is enough. Since basically all GLSL shaders with specialization constants use the const keyword, I'll submit a PR to fix this anyway.


Handling invalid responses

The first commit adds two failing unit tests that are related to buffer clearing.
 I'm not quite happy with the robustness of the code though. @MathiasKoch maybe you have a good idea for a different approach? Maybe we should always process contents in the buffer until the next line ending or until the end of the buffer has been reached.
I've checked "Allow edits from maintainers", so feel free to push into my branch if you want.

I added a fix for the missing test! It uses get_line to remove only a line from the buffer, not the entire buffer.

Tested in espresso, this seems to work :slightly_smiling_face: Should be ready to merge from my side.

Looks great!
Thanks!


Download a sample guidance updates

Fixes #23363
Thanks @Johnvan! 🦘

Rick ... I'm headed off to slumberland 🛌😴. You may need to touch this up with your own spin on how it should be composed. This is just to get the ball rolling. Please merge when ur done .... I'll be counting 🐑🐑🐑🐑 in a few minutes 😄.


Refine bayesian ridge implementation

I finished cleaning up the implementation of bayesian ridge. Now, it is less than 100 lines of code.

@martinakaduc @LMorlok This test tests the optimizer (i.e., the loss is low) instead of testing whether the core functions (forward, posterior, get_fantasy_model) are implemented correctly. Hence, this test cannot determine whether the class BayesRidgeModel is implemented correctly. I imagine someone could write a wrong forward function while still having a low loss. It would help if you designed better tests. Beyond that, plotting doesn't help with (automated) testing here either.

Currently I don't have any ideas for testing correctness. Can you suggest some ideas?

You can test the correctness as follows:
Instantiate a random weight and a random input. Compute the forward pass by hand (it can be done in close form). Do an assert to see if the computational output from forward matches your result. Do the same thing for the posterior. Does this make sense?

You can test the correctness as follows: Instantiate a random weight and a random input. Compute the forward pass by hand (it can be done in close form). Do an assert to see if the computational output from forward matches your result. Do the same thing for the posterior. Does this make sense?

Please do have a review

Can you explain what you did for the test here?
        model.br_model.coef_ = rand_coef_
        model.br_model.intercept_ = rand_intercept_
        model.br_model.sigma_ = rand_sigma_
        model.br_model.alpha_ = rand_alpha_

        x_test = np.random.rand(100, dim)
        y_test_dist = model.forward(torch.tensor(x_test))
        y_test_mean = y_test_dist.mean
        y_test_std = y_test_dist.covariance_matrix.diag()

        y_test_mean_truth = x_test @ rand_coef_ + rand_intercept_
        sigmas_squared_data = (np.dot(x_test, rand_sigma_) * x_test).sum(axis=1)
        y_test_std_truth = np.sqrt(sigmas_squared_data + (1.0 / rand_alpha_))

@martinakaduc Can you explain what you did for the test here?
        model.br_model.coef_ = rand_coef_
        model.br_model.intercept_ = rand_intercept_
        model.br_model.sigma_ = rand_sigma_
        model.br_model.alpha_ = rand_alpha_

        x_test = np.random.rand(100, dim)
        y_test_dist = model.forward(torch.tensor(x_test))
        y_test_mean = y_test_dist.mean
        y_test_std = y_test_dist.covariance_matrix.diag()

        y_test_mean_truth = x_test @ rand_coef_ + rand_intercept_
        sigmas_squared_data = (np.dot(x_test, rand_sigma_) * x_test).sum(axis=1)
        y_test_std_truth = np.sqrt(sigmas_squared_data + (1.0 / rand_alpha_))

@martinakaduc Can you explain what you did for the test here?
        model.br_model.coef_ = rand_coef_
        model.br_model.intercept_ = rand_intercept_
        model.br_model.sigma_ = rand_sigma_
        model.br_model.alpha_ = rand_alpha_

        x_test = np.random.rand(100, dim)
        y_test_dist = model.forward(torch.tensor(x_test))
        y_test_mean = y_test_dist.mean
        y_test_std = y_test_dist.covariance_matrix.diag()

        y_test_mean_truth = x_test @ rand_coef_ + rand_intercept_
        sigmas_squared_data = (np.dot(x_test, rand_sigma_) * x_test).sum(axis=1)
        y_test_std_truth = np.sqrt(sigmas_squared_data + (1.0 / rand_alpha_))

This code block is used for testing forward function. y_test_mean and y_test_std are extracted from results of forward function.
I compute the y_test_mean_truth and y_test_std_truth manually using predefined coefficients. After that, I compare the results of forward function and the manually computed results to see whether they are exactly the same or not.


Trigger change event when autoComplete fills in input

Fixes #3271

Coverage decreased (-0.007%) to 67.356% when pulling 17ffff685a2c87b52f7b240799bbb5cb4ba9f3be on auto-complete-fix into ae76271cff8ba8a58d08699ca96f2f38c035cc4b on master.


[build] Don't attempt to build the runtime with coverage

What's in this pull request?

Using SWIFT_SINGLE_IS_STDLIB only guards this on the direct Swift stdlib code -- it doesn't handle the runtime, which is handled by SWIFT_SINGLE_TARGET_LIBRARY.
Resolved bug number: (N/A)

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    All supported platforms     | @swift-ci Please smoke test and merge
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    All supported platforms     | @swift-ci Please test and merge
    OS X platform               | @swift-ci Please test OS X platform
    OS X platform               | @swift-ci Please benchmark
    Linux platform              | @swift-ci Please test Linux platform

Lint Testing
    Language     | Comment
    ------------ | -------------
    Python       | @swift-ci Please Python lint

Note: Only members of the Apple organization can trigger swift-ci.

@swift-ci please test

@gribozavr I think this is all we need; thoughts?

LGTM, please merge when CI succeeds.


Not found

python3.5 millionaire.py
Traceback (most recent call last):
File "millionaire.py", line 2, in
from bitcoin_price_prediction.bayesian_regression import *
ImportError: No module named 'bitcoin_price_prediction'

Hi @angelkurten!
Can you tell exactly what is wrong and how to reproduce it?

Hi @stavros0 run command python3.5 millonarie.py and get error:
Traceback (most recent call last):
File "millionaire.py", line 2, in
from bitcoin_price_prediction.bayesian_regression import *
ImportError: No module named 'bitcoin_price_prediction'
¿How can I test the script?

So, the first issue was addressed? If an ImportError exception still arises, it's probably because of your installation process and/or your python environment. Make sure you have installed all the prerequisites and created an isolated Python environment for this project (optional). Then follow the installation instructions.
You don't have sufficient data to run the millionare.py script and therefore a ValueError exception arises. You need at least 721 data points so that m = len(prices) - n > 0. Use the okcoin.py script to gather market data from the OKCoin Spot Price API at the interval of every ten seconds and try again.

@stavros0 When you run some millionarie.py result displayed on the console, I would like to talk to you by e-mail is possible?

millionare.py is given as an example for how to use the bayesian_regression.py module. It intended for tinkering and experimenting only and therefore won't display anything on the screen. You could tinker with my script or write your own script. :-)

Thanks, mi e-mail is<EMAIL_ADDRESS>I remain aware of your message.


Audit the HTTP model for cohesion

Long ago, we bootstrapped this project in part by importing of the Spray model.  Since then, we have fitfully evolved the model, making it better for our needs, but less cohesive.  We want our 1.0 API to be cohesive and stable.  This will be a ticket solved over multiple pull requests.
Preferred types:

scalaz.\/ over scala.Either and scala.util.Try.
scalaz.NonEmptyList if at least one element is required.
scalaz.concurrent.Task, over scala.concurrent.Future.
scala.collection.immutable.* over scalaz.IList, scalaz.IMap, etc.
scala.Option over scalaz.Maybe.
util.CaseInsensitiveString over scalaz.CaseInsensitive.  (The latter takes an implicit, JVM-default Locale.)

Where the Scalaz alternatives are less favored, consider convenience methods.
Other principles:

The model shall be immutable.
Public constructors are total.

Literals may be supported via macros.
Methods exposed only to support macros are prefixed with the jolly roger character.

HTTP literals are represented in their standard form, with backticks.
Implement any relevant Scalaz type classes.
forall(a) { A.parse(render(a)) == \/-(a) }
Common values are on the companion object of the type.

Check the relevant IANA registry for relevant values.

Where are we on this issue? Some of this still seems very relevant, and quite a bit scalaz specific which is less important now.

Yeah, the types section is either obvious or obsolete by this point.
The principles section is still true (except maybe jolly roger), but not particularly actionable.  I just want our API to be predictable in terms of which constructors are total, how I "just get one from a string," etc.  And I want to check for things that were added since RFC2616, which keeps biting us.  (For example, credentials that are just a token.)
I don't know how great this is as a ticket.  The principles might be good for a developer's guide.

I'm going to close this ticket, but create a long series of specific questions along these lines.
You've all been warned. :smiling_imp:


Improve "using" (extension methods) autocompletion

Now extension methods display the first argument and that is wrong.
Also would be great to be able to mark some classes with an optional annotation specifying they are classes with extension methods. That way we would be able to autocomplete those methods (but displaying them as grey and with very low priority if not having an using clause) and when as when adding import clauses, add an using clause.
I would suggest the @extension or @:extension meta:
@extension class ExtraStringMethods {
	static public function ucfirst(str:String):String {
		return str.substr(0, 1).toUpperCase() + str.substr(1).toLowerCase();
	}
}

All clases with the @extension meta would be available grayed without the using clause+action adding the using, and normal with the using clause after the indexing phase.

The folks who make the compiler do not watch this repo closely.  If you want to propose adding the metadata tags, you might want to try the haxe compiler repo.
The resolver needs to be extended to recognize static extensions (among some other things).  Otherwise, we may be able to show them in the completion lists, but they will be marked as unresolved/missing fields after they are inserted (as they are now).

BTW, every static method with at least one argument on any type can be used as a static extension by virtue of the first parameter type.  I'm not sure what the @extension meta buys you, here.  How does it make the completion code any easier?

Is that it is just a suggestion not required at all for compiling. At least for the intelliJ plugin, that could be used for other IDEs including the --display.
The meta is to enable completions without adding explicitly an "using" clause. Without the metadata, it would be slow and displaying zillions of static public methods that probably are not meant to be used as extensions.
With the metadata, it should be faster limiting the classes you are searching and would avoid suggesting lots of garbage.

The documentation for static extensions says explicitly that they are brought into scope by the using keyword.  It gives no other method.  Or are you envisioning that the IDE should include any potential static extension and add the keyword automatically, so the user doesn't have to specify it?  That makes some sense, and it does make the problem larger.  However, I think that the resultant set is fairly small because it is limited by the type of the first parameter -- we can use FindUsages to limit the search scope for static functions.  Or maybe we can (and we probably should) write some better indexing than the default word-based one that is currently in use.

@soywiz,
Like @EBatTiVo suggested - you may want to start a thread on https://github.com/HaxeFoundation/haxe and refer this issue in that thread. You may want to call out @Simn (Simon Krajewski)'s attention for his comments on compiler specific extensions being discussed.

This doesn't seem to be about the compiler itself though. From what I gather he wants to mark some methods as @extension so the IDE keeps track of them, then suggests them as field access completion and, if selected, automatically inserts the using declaration.
Note: Metadata without a leading colon are passed to the run-time, so you might want to use @:extension instead.

Yep. As Simn says, the suggestion was for editing time. Sometimes I fail to express my self in english.
Though the idea was to annotate classes instead of methods (since the using is for classes and maybe it is a bit strange to add using for some classes that are not meant for that).
Yet it would be great for the standard library to mark StringTools, Lambda and so on with @:extensions in the case you like the idea, but just as a suggestion for editors and not having repercussion over the compiler itself.
That would improve a lot the experience specially for people without knowledge about the core api, since they would discover more methods instead of using them statically or trying to reimplement them. And probably won't know which classes are extensions and that they have to put a using clause.
In C# you have to mark the class as static + add this keyword to the first parameter.
https://msdn.microsoft.com/en-us//library/bb383977.aspx#code-snippet-2
In swift you have a whole extension keyword that extends a class and even can implement new protocols/interfaces:
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Extensions.html
So if you like the idea, in my branch I have already fixed the first part of the issue: extensions methods were showing the first parameter wrongly. And I think I could work on the annotation part too.

Now extension methods display the first argument and that is wrong.

Also would be great to be able to mark some classes with an optional annotation...

Rereading the problem description, there are two things described in this bug:

A bug: Completions for static extensions still show the first argument, when they shouldn't.
An enhancement: marking extensions so that the editor doesn't have to do as much work to figure it out.

One of these should be split out into another issue report -- probably the bug portion, since most of the discussion so far is about the enhancement.
That said, Carlos may have already fixed the bug in his huge change #297.  So, I'll wait for him to comment.

Need to recheck this issue


Use SIGTERM instead of SIGKILL when cancelling a trial job

Environment:

NNI version:1.9
NNI mode (local|remote|pai):local
Client OS: linux
Server OS (for remote mode only):linux
Python version:3.7
PyTorch/TensorFlow version:1.5.1
Is conda/virtualenv/venv used?: yes, conda
Is running in Docker?: no

Log message:

nnimanager.log: n/a
dispatcher.log: n/a
nnictl stdout and stderr:n/a

What issue meet, what's expected?:
Is it possible SIGTERM instead of SIGKILL when cancelling trial jobs. By doing so event handler can be registered to perform trial clean-up.
https://github.com/microsoft/nni/blob/master/ts/nni_manager/training_service/local/localTrainingService.ts#L256
How to reproduce it?:
n/a
Additional information:
n/a

Hello @maxxx580, I’m closing this issue as it has been discussed in the wechat group, please feel free to reopen if you are still seeing it an active issue.


Downloader does not remove querystring from filename before downloading

For testing, I tried to download file as abc.png.
The URL for downloading from firebase contains alt & token variables in the URL.
Resulting file will look like this:

Recommended change:
      final extension = url.split(".").last.split("?").first;

Ok will do this change in next release


add DuEL_Baseline

add DuEL_Baseline for CCKS 2020

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.liuzhijie03 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Each child in an array should have a unique key

Short description
On the live demo, when I start typing an address I get the following warning:
Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of t
I am pretty sure someone must have raised this before, but I couldn't find anything in the closed issues.

The problem appears to be the highlight match function. It splits the suggest label in an array and replaces the match with an JSX.Element (<b>). Apparently React complains about the array with individual strings missing a key. Not sure how to solve: adding a span with a key to each doesn’t make sense.

I had a look at the code. The issue comes from the makeBold function which is expecting a key parameter. However, it's called without:  this.makeBold(suggest.label.substring(start, end))
I'll submit a PR @ro-ka

PR #330


missing information on how to start the embedded cache server

there are a few hints about act runner having an embedded cache server but there is no information on how to start it
am I missing something ?

as documented in the readme it is controlled by the environment variable ACT_CACHE_SERVER_ENABLED and it is enabled by default.
what else is unclear?

ACT_CACHE_SERVER_ENABLED disables or enables the cache functionality but there is no command that starts the cache server embedded in act-runner

based on the documentation in the official act_runner repo it should start the server. if it does not please raise an issue in https://gitea.com/gitea/act_runner/issues

it indeed starts and it is accessible in dind configuration
using hosts docker i could not get it to work.


Intermittent npm failing test because of jest timeout

Running yarn test sometimes fails (both locally as a pre-commit hook, and even on the CI) with the following error:
FAIL src/npm/__tests__/index.test.ts (26.801 s)
  ● findAll() › contains the correct keys

    thrown: "Exceeded timeout of 15000 ms for a test.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

       7 |
       8 | describe('findAll()', () => {
    >  9 |   it('contains the correct keys', async () => {
         |   ^
      10 |     const all = await api.findAll({ limit: 2, startkey: '0' });
      11 |
      12 |     expect(all).toEqual(

      at src/npm/__tests__/index.test.ts:9:3
      at Object.<anonymous> (src/npm/__tests__/index.test.ts:8:1)

@Haroenv @MartinKolarik any idea on how to mitigate this?

I believe the tests sometimes call real remote APIs, which is obviously not great. These calls should be mocked via https://github.com/nock/nock

There is an advantage to actually testing the real api (so ci fails if they accidentally change the api, which obviously has happened). Best would be to do:

use nock or another mock so the tests don't actually do requests
periodically, run the tests without mock as well, and make sure we get notified when it fails (this test can have a higher timeout)

I like the idea of keeping it real and having some pro-active way of check if the external endpoints we query have changed.
@Haroenv how do you suggest we handle the "periodically" part? Would it be a local script we sometimes manually run? A specific test that is "randomly" triggered every (some kind of sampling)? Or a CRON job that periodically do a sanity check?
I think the CRON job coupled with a notification system (creating an issue) might be the best way

I think the CRON job coupled with a notification system (creating an issue) might be the best way

GH actions can run on schedule, and they notify the author in case of a failure. Either way, if the goal is to verify the real structure, we should have a couple of retries + larger timeout because, as we know very well, the API fails rather often. Then, it should be fine either as a cron job or even as it is.

FYI I started the work in https://github.com/algolia/npm-search/pull/1154
Failing tests moved in their own api-control folder, and run everyday on CI. We could probably add more retries and timeouts, but for now it moves it out of my own to continue the CI fixes :)

GH actions can run on schedule, and they notify the author in case of a failure.
Who would be the author notified in case of scheduled GitHub actions?


converter-driven changes

Is it worth renaming the import fields now? The roles I won't miss 😺

The CI has now been fixed so the build should pass.

@olafurpg Since field names have become a public API, I think it is important to polish them.


Only works programmatically, not via Graph Explorer

You can either access this API through the Graph Explorer or programmatically using, for example, PowerShell.

The documented URL https://graph.windows.net/contoso.com/activities/signinEvents?api-version=beta isn't possible in the Graph Explorer - attempts to retrieve signin events for my tenant domain always just returns null. Running the PowerShell script works fine, however.
Note,  api-version is also currently hard coded to 1.6 or 1.5 in the Graph Explorer - beta is not an option.

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

ID: ebebab46-c081-a890-e3bb-41c4b31e29cf
Version Independent ID: 794eec54-99a3-545f-56cf-3eabebb09f56
Content: Azure Active Directory sign-in activity report API reference
Content Source: articles/active-directory/active-directory-reporting-api-sign-in-activity-reference.md
Service: active-directory
GitHub Login: @MarkusVi
Microsoft Alias: dhanyahk;markvi

@phw198 Thanks for reporting! I have assigned the issue to the author to investigate and update as appropriate.

Hi @phw198, thanks for the information.
I have created a backlog item to track this.
#please-close

@Mike-Ubezzi-MSFT Not sure this should be labelled as "resolved" when it's only been backlogged and the issue currently remains....?


cron based actions

looking to replace specifically a scheduled-probot with a cron based action. it's clearly not throwing the schedule.repository event when a cron happens, @gr2m have you looked or explored what that integration path looks like?

use the schedule trigger for the workflow and then in your
app.on("schedule", (context) => { ... })

That should work?

That'll do it!

lightweight event payload though....
 event: {
    id: '597502923',
    name: 'schedule',
    payload: { schedule: '*/5 * * * *' }
  },

is that from the actions side I assume? I didn't find reference to the schedule event in the adapter code anywhere. I assume that means most of the normal helper functions and octokit object won't work.
I kind of want to catch the schedule event, augment it with workflow variables, and then process it properly. Is that crazy? What am I missing....

okay, i got all this working. I'll explore in a PR what could be done to make migrating a probot app to an action easier


fix: an blocklet:migrate and add build script

an blocklet:migrate
add build scripts

https://github.com/ArcBlock/abt-node/issues/1823


Build el6: RHEL6/CentOS6 packages

Since https://github.com/StackStorm/st2-packages/pull/65 is complete, we can start building el6 packages and deploying them to https://bintray.com/stackstorm/el6_staging.
Don't merge it yet. Needs +1 CircleCI container, see:
https://stackstorm.slack.com/archives/stackstorm/p1452692070023864

lgtm. lmk when I can merge.


Redirect route name match error

Version
vue@next
<EMAIL_ADDRESS>latest source code
Reproduction link
https://github.com/veaba/vue-router-next/tree/dev-veaba/examples/redirect
Steps to reproduce

Use vue-router example redircet demo test vue-router-next

<EMAIL_ADDRESS>screenshot:

<EMAIL_ADDRESS>latest source code screenshot:

What is expected?
It should be the same as the redirection example in vue2
What is actually happening?
Only part of it can match to the route correctly

will continue to test other examples, and the supported cases are as shown in the screenshot

Thanks for checking this. Most of the tests can be added as unit tests now by instantiating the router and triggering a navigation (router.spec.ts). It should be easier than an e2e
Note that some tests might be intentionally breaking as well but it's great to report those as well so we can list them in the readme 🙂

For such high-level operations, I may need to spend some time learning how to use it.
I complete all the examples first, and I may need them later.
:joy:

No worries, this is still very helpful! I think writing most of the unit tests should be easier than the e2e. e2e tests only need to exist for features that are browser specific or for browser-specific bugs

@posva  Like this?

basic.spec.ts
// todo
// e2e see https://github.com/veaba/vue-router-next/tree/dev-veaba/examples/basic

// import fakePromise from 'faked-promise'
// createWebHistory
import { createRouter, createMemoryHistory } from '../../src'
// import { NavigationCancelled } from '../../src/errors'
// components, tick
import { createDom } from '../utils'
import {
  RouteRecord,
  // RouteLocation,
  START_LOCATION_NORMALIZED,
} from '../../src/types'
// import { RouterHistory } from '../../src/history/common'

const routes: RouteRecord[] = []

describe('Router', () => {
  beforeAll(() => {
    createDom()
  })

  it('can be instantiated basic ', function() {
    const history = createMemoryHistory()
    const router = createRouter({ history, routes })
    expect(router.currentRoute.value).toEqual(START_LOCATION_NORMALIZED)
  })
})

:joy:

Not exactly 😆
They need to be added to existing tests, avoiding duplicates

I want to list the test conditions in __test __ / README.md, I will know which one failed the test, and then add test samples to it
I'm not quite sure now which features need to be tested, or whether test covers all features, so I need examples for reference.
I'm not sure, this is right
__test__/READM.md :
## guards
## history
## matcher
## main
- [x] encoding.spec
  - [x] Encoding
    - [x] params
      - [x] does not encode safe chars
      - [x] encodes a specific charset
      - [x] encodes non-ascii
      - [x] encodes non-printable ascii
      - [x] does not encode a safe set
    - [x] query params
        - [x] does not encode a safe set
        - [x] does not encode safe chars
        - [x] encodes non-ascii
        - [x] encodes non-printable ascii
        - [x] encodes a specific charset
    - [x] hash
        - [x] does not encode a safe set
        - [x] does not encode safe chars
        - [x] encodes non-ascii
        - [x] encodes non-printable ascii
        - [x] encodes a specific charset
- error.spec
- extractComponentsGuards.spec
- mount.spec
- parseQuery.spec
- router.spec
- RouterLink.spec
- RouterView.spec
- stringifyQuery.spec
- url.spec
- url-encoding.spec
- utils

@posva Hi.
Look at this  commit  .
I worry about breaking it
😂

I see. Since redirect is now transformed into a beforeEnter guard, those tests seem to be already covered by guards tests. If not they should be covered there. BTW a redirect must be to an absolute location, redirect: 'foo' is not valid, it should warn in dev mode

In vue-router , is  legal:
{ path: '/absolute-redirect', redirect: '/bar' },
{ path: '/absolute-redirect-a', redirect:'bar' },

to="/redirect/absolute-redirect"  -> /redirect/bar
to="/redirect/absolute-redirect-a"  -> /redirect/bar

I forgot to say relative paths now work. I added a note to the readme about one case that no longer works to make trailing slashes consistent (for SEO).
I don't know what to do with this issue anymore. Are there any tests you want to add to the codebase?

I forgot to say relative paths now work. I added a note to the readme about one case that no longer works to make trailing slashes consistent (for SEO).
I don't know what to do with this issue anymore. Are there any tests you want to add to the codebase?

Sorry，I forgot that also。:joy:
I need to make a new comparison.
I think you did your job very well.

Thank you! And thanks for the help. Let's close this one and I will let you create a new issue or pull request if you add new tests!


Unregister package sid-instant-eft-popup

We initially registered the package 'sid-instant-eft-popup' using a BitBucket git repository<EMAIL_ADDRESS>We now want to move this to GitHub as we are leaving BitBucket, as such I have updated the packages file and removed the reference to our BitBucket location. Once this is merged, I can then re register against our GitHub location.
Please see attached a screenshot of our Bitbucket private repo as proof that we own the repository.

Please note registry is not editable from command line now and you need to send another PR to re-add it


Long error message

I feel like this error message is too long.

How about something like ERROR: SpelledOut.jl does not support numbers larger than 10^120 - 1.  Sorry about that!?

btw, nice package! I might be able to add support for Korean if I have time :)

btw, nice package! I might be able to add support for Korean if I have time :)

@jin-park lol, maybe you are right :P  Should be fixed as of 14afec0!  Thanks for pointing that out—I think I was being silly when I wrote it...
Regarding Korean, please do!!  I welcome supporters!  I have a universal branch (which is currently up-to-date with the master branch) and has the infrastructure to add more languages (you will see how; there is simply a lang kwarg in the main function) :)
All good if I close this issue?

@jin-park lol, maybe you are right :P  Should be fixed as of 14afec0!  Thanks for pointing that out—I think I was being silly when I wrote it...
Regarding Korean, please do!!  I welcome supporters!  I have a universal branch (which is currently up-to-date with the master branch) and has the infrastructure to add more languages (you will see how; there is simply a lang kwarg in the main function) :)
All good if I close this issue?

yep

yep


Preflight dies if Pyxis rejects a submission due to unsupported architecture

Bug Description
If you attempt to run Preflight on a multi-image manifest digest that includes an unsupported architecture (such as 32-bit arm), Preflight will exit out with an error when Pyxis rejects the submission.
Version and Command Invocation
preflight version 1.8.1 <commit: 4c9ea7cbd33fb7deaf0521690a6ab42c8879c55a>
Steps to Reproduce:
(How can we reproduce this?)

preflight check container  quay.io/calico/node-driver-registrar:v3.24.6 --pyxis-api-token  --certification-project-id 64c01702093679e0f47fa153 --submit

This is a multi-architecture image manifest.  The repo is open for read: you should be able to copy the image manifest to a more suitable registry for debugging.
Expected Result
Preflight would carry on with the scanning of the other architectures in the image manifest
-OR- would skip the unsupported architecture entirely (perhaps outputting a suitable message about the skip)
Actual Result
Preflight exited with an error on the arm architecture, the first one (alphabetically) in the manifest digest:
ryzen1> preflight check container  quay.io/calico/node-driver-registrar:v3.24.6 --pyxis-api-token <redacted> --certification-project-id 64c01702093679e0f47fa153 --submit
time="2024-02-06T11:41:52-05:00" level=info msg="certification library version" version="1.8.1 <commit: 4c9ea7cbd33fb7deaf0521690a6ab42c8879c55a>"
time="2024-02-06T11:41:53-05:00" level=info msg="running checks for quay.io/calico/node-driver-registrar:v3.24.6 for platform arm"
time="2024-02-06T11:41:55-05:00" level=info msg="target image" image="quay.io/calico/node-driver-registrar:v3.24.6"
time="2024-02-06T11:41:56-05:00" level=info msg="check completed" check=HasLicense result=FAILED
time="2024-02-06T11:41:56-05:00" level=info msg="check completed" check=HasUniqueTag result=PASSED
time="2024-02-06T11:41:56-05:00" level=info msg="check completed" check=LayerCountAcceptable result=PASSED
time="2024-02-06T11:41:56-05:00" level=info msg="check completed" check=HasRequiredLabel result=FAILED
time="2024-02-06T11:41:56-05:00" level=info msg="detected empty USER. Presumed to be running as root"
time="2024-02-06T11:41:56-05:00" level=info msg="USER value must be provided and be a non-root value for this check to pass"
time="2024-02-06T11:41:56-05:00" level=info msg="check completed" check=RunAsNonRoot result=FAILED
time="2024-02-06T11:41:56-05:00" level=info msg="This image's tag v3.24.6 will be paired with digest sha256:06a4e15cd29af7175f0ea2d4d9d48d700e1e799eccd9d58b3df899d8cfbad2e9 once this image has been published in accordance with Red Hat Certification policy. You may then add or remove any supplemental tags through your Red Hat Connect portal as you see fit."

[intervening output removed]

time="2024-02-06T11:41:56-05:00" level=info msg="preparing results that will be submitted to Red Hat"
Error: could not submit to pyxis: could not create image: status code: 400: body: {"detail": "Payload validation error: {'architecture': ['Must be one of: amd64, arm64, ppc64le, s390x.']}", "status": 400, "title": "Bad Request", "type": "about:blank", "trace_id": "0xc1aa2c95a682ed23de2764518669f59c"}
2024/02/06 11:41:58 could not submit to pyxis: could not create image: status code: 400: body: {"detail": "Payload validation error: {'architecture': ['Must be one of: amd64, arm64, ppc64le, s390x.']}", "status": 400, "title": "Bad Request", "type": "about:blank", "trace_id": "0xc1aa2c95a682ed23de2764518669f59c"}

Additional Context
Platform: RHEL 8.8 on AMD64

/assign


[XCode 14 issue]: No signing certificate iOS Development found. needs selected Development Team for Pod Bundles

Description
Hi
since I set up on Azure XCode 14 the fastlane fails in the build_app phase
Local XCode 14 works (assigning the teamID to the two PODs
ERRORS:
- /Users/runner/work/1/s/Pods/Pods.xcodeproj: error: No signing certificate "iOS Development" found:
No "iOS Development" signing certificate matching team ID "XXXXX"
with a private key was found. (in target 'POD NAME XXXX' from project 'Pods')

- /Users/runner/work/1/s/Pods/Pods.xcodeproj: error: No signing certificate "iOS Development" found:
No "iOS Development" signing certificate matching team ID "XXXXX"
with a private key was found. (in target 'POD NAME XXXX' from project 'Pods')

Do you have any suggestions on how to fix this error?
Thanks
Platforms affected

[X] Azure DevOps
[ ] GitHub Actions

Virtual environments affected

[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 10.15
[ ] macOS 11
[X] macOS 12
[ ] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
macOS 12
Is it regression?
no
Expected behavior
The pipiline should complete the archive without any problems
Actual behavior
The pipiline not work as expectes
Repro steps
Start Pipeline on Azure with XCode 14 and one POD framework (like this https://stackoverflow.com/questions/72561696/xcode-14-needs-selected-development-team-for-pod-bundles)

This is a known issue. See https://github.com/CocoaPods/CocoaPods/issues/11402 for details and workaround.

Close as external.


Trilinos

Do not merge this yet since Frank won't be able to change the geometry.
Github shows more difference that there are really because I added a few if and thus, the indentation is different :-(

Current coverage is 90.18%

Merging #119 into master will increase coverage by +0.71% as of ca6f066

@@            master    #119   diff @@
======================================
  Files           66      67     +1
  Stmts         4141    3995   -146
  Branches         0       0
  Methods        276     267     -9
======================================
- Hit           3705    3603   -102
  Partial          0       0
+ Missed         436     392    -44

Review entire Coverage Diff as of ca6f066

Powered by Codecov. Updated on successful CI builds.

Can one of the admins verify this patch?

I only rebased against master.

This is ready for review.

I think that we can merge this. The other branch should be ready to merge today or tomorrow and it might be easier to see the difference between the two branches. Just don't restart Frank's container until the other branch is merged.


Create a text formatting system

Details
The current system of using inline text transformers inside txt isn't healthy for true internationalization and for interfacing with Lua. There should be a general text formatting format.
Here is an example of adding a localization config for a mod, and using specified variables inside it.
In mods/core/locale/en.toml:
[text]
steal="<name $1> steal<s $1> from \<Legendary\> <name $2>."

In mods/core/init.lua:
Elona.GUI.txt("core.text.steal", chara, target)

Or, to make it more clear what the arguments are:
[text]
steal="{ $cc, $tc } -> <name $cc> steal<s $cc> from \<Legendary\> <name $tc>."

The Fluent project takes this approach. It also has built-in functions.
All localizations have to have the same number of arguments, otherwise positioning will differ between languages. Static analysis can be used to detect user errors where a different number of arguments was passed to Elona.GUI.txt, or the definitions in locale don't all have the same number of arguments.

The main issue I'm coming across is how to format objects of various types. If we choose to pass character around instead of cc then the formatter will have to take into account the types of different arguments. It should be invalid to call name on a raw integer because it could be any arbitrary integer, and input sanitization is critical when dealing with user-created content.

Apparently fmt handles issues of custom formatting and is used widely in other games. The library itself is very small, but I'm wary of adding another library. However this problem seems much harder than at first glance, with the amount of templating needed.


Certification verification issue

In case of macOS, facing error - "<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)>".
This was resolved by installing certificate.
Steps to solution are shown to user.

I am currently cleaning up some other changes that were not pushed into Master and have added your change here too. thanks


[Marker.io] [firefox issue] av is not shown in the footer

Steps to reproduce:

open the site in firefox
go to footer

Actual result: notice that "Av" is not shown
Expected result: it should be shown.
(ignore the captured screenshot..it is incorrectly captured.
video:
https://go.screenpal.com/watch/cZQ12iVRA9p

Reported by: vinod<EMAIL_ADDRESS>- Contact via Marker.io
Source URL: https://proav-stg.webflow.io/contact
Issue details: Open in Marker.io
Device typedesktopBrowserFirefox 129.0Screen Size1366 x 768OSWindows 10Viewport Size1366 x 615Pixel Ratio@1x

🤖 Marker.io bot - This issue was marked as ✅ Resolved in Marker.io