refactor(*): replace HashMap with NgMap

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Refactoring.
What is the current behavior? (You can also link to an open issue here)
Same old, same old!
What is the new behavior (if this is a feature change)?
HashMap is replaced with NgMap, which for the time being points to NgMapShim, an API-compatible Map implementation (for the features Angular needs). This will allow us to easily switch to native implementations once they become more stable.
Does this PR introduce a breaking change?
No.
Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit-message-format
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

Other information:
See #13209 and #15114 for related discussions.

BTW, this is the same code as in #15114, minus #13209. The ES6Map part of #13209 is irrelevant now. The perf(copy) part of #13209 (which is still relevant) can be rebased and merged once this has been merged.

So I know we were debating this in that other issue, but I still think an implementation closer to $$HashMap is more ideal with property lookups than using dual arrays for perf reasons.
It would not be a breaking change since due to how it worked, the old HashMap implementation could never support frozen objects anyway since it did a property assignment on them.  This mainly affects IE9/IE10 though since in newer browsers, we should just use the native implementation.

According to my understanding, the discussion on #13209 was not conclusive on whether our implementation of HashMap is faster than our implementation of NgMap. Anyone feels like benchmarking? :smiley:
Furthermore, this benchmarking would only make sense for copy(), because based on https://github.com/angular/angular.js/pull/15114#issuecomment-246338413 other uses of NgMap don't seem to have a noticeable impact on performance. (And this PR does not affect copy(), so performance-wise it should make no difference overall.)
The main benefit of using NgMap imo is that it is easy to swap it for window.Map when we feel we're ready. Of course, we could change the underlying implementation of NgMapShim to use a HashMap if we find out it offers better performance, but keeping a window.Map-compatible interface is a good thing imo.
I suggest we merge this (which is just a refactoring - not a perf change) and debate performance on #13209 (which is a perf change).

JSPerf is down at the moment so I can't do any basic tests, but do you have any stats on what the average size of a Map is versus the max size?  If N is low enough in your use cases, it's possible that it's fast enough, but I suspect that it'd breakdown with larger maps.  Will try to test once I can make some benchmarks.
No matter what we do, I am 100% in agreement that we should refactor any APIs to use a Map compatible interface.  As long as it's present in the injector as well rather than being a closure variable, applications could choose to override the private $$Map factory with the native one if they deem it important so long as they understand that they're tinkering with private details that are subject to change at any time.

As long as it's present in the injector as well rather than being a closure variable, applications could choose to override the private $$Map factory with the native one if they deem it important so long as they understand that they're tinkering with private details that are subject to change at any time.

I assume "people" is "you" 😛 The problem is that not all cases retrieve NgMap via DI. Off the top of my head, NgMap is used in the following places:

ngAnimate
ngOptions
createInjector()

(In the future, it may also be used by copy().)
ngAnimate already uses DI and ngOptions can be changed to use it too.
createInjector() obviously can't and I don't think copy() (which is probably the most critical performance-wise) can either.

I assume "people" is "you"

Yep.  I tinker with a lot of internals for fun/performance sometimes, but always with the understanding that nothing I do is supported.  Almost have an entire implementation of Observable bindings working that only participate in the digest cycle when necessary - including interpolation in templates and a new $ binding in components :smiling_imp:
Anyway, I will try to run some basic perf tests when JSPerf is back up.

PTAL

LGTM


Not an issue

Just want to say thank you for building this! I'm trying to learn python with fantasy football and this package is a god send! Your hardwork is appreciated!

Closing this issue.


Cannot run multiple instances of Angora.

I succesfully started one instance of angora. But when I started the second one, the following error message came out:

thread 'main' panicked at 'Output directory has existed!: Os { code: 17, kind: AlreadyExists, message: "File exists" }', src/libcore/result.rs:1188:5
stack backtrace:
0: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
1: core::fmt::write
2: std::io::Write::write_fmt
3: std::panicking::default_hook::{{closure}}
4: std::panicking::default_hook
5: std::panicking::rust_panic_with_hook
6: rust_begin_unwind
7: core::panicking::panic_fmt
8: core::result::unwrap_failed
9: angora::fuzz_main::fuzz_main
10: fuzzer::main
11: std::rt::lang_start::{{closure}}
12: std::panicking::try::do_call
13: __rust_maybe_catch_panic
14: std::rt::lang_start_internal
15: main
16: __libc_start_main
17: _start
note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace.

This error msg locates back to fuzz_main.rs:130.
This is not a bug but a feature.
Angora won't allow you to have multiple fuzzers dumping to the same directory. Please try -o <dir> to specify different output directories for different fuzzers to prevent this.


Remove 16 bytes from BufferSegment

Not sure caching memory here does much? Always calling it once and stashing, vs calling very light .ctor on use and inlining it?
/cc @davidfowl

Need to see how this affects Kestrel. Originally this showed up on the profile but we have since then gone through lots of iterations...

Used to have the check on owner so was much more expensive

Given BufferSegment is a class, do you think these 16 bytes matter?

Is allocated for every request; so increases the likelyhood the GC will become interested

Is allocated for every request (read); so increases the likelyhood the GC will become interested; if its not adding benefit is there a need for it?

If they are not adding benefits, we should of course not have them (the 16 bytes).

I'd like to re-measure with this change.

I think this would make the perf of writing worse.


Allow install of gitlab from other release' apt source

Discovered this when trying to install gitlab on Ubuntu Jammy (22.04). See also https://gitlab.com/gitlab-org/gitlab/-/issues/364673 . Tested with Gitlab from Focal (20.04) on Jammy (22.04)

Accidentially added more changes, so I created another PR (#208) from a separate branch like I should have in the first place (learning by doing)


Will API v5 be supported?

It looks like v5 will be using JSON instead of XML, among adding tons of functionality. Will support be added for v5?

Is there any plan to move to V5 of the API ?

Let me see if I can reach out and get an answer to this. If not, maybe I suck it up and come back around to committing on this repo :)

I'm currently building an application using V5 (using raw api calls), and I'm thinking about using this gem instead. Is there any current working branch to start from @jsmestad? I will start a fork but interested on keep posted about this.

I use this gem pretty extensively in a core business app, but I really also
need to make the switch to v5. I would contribute to a fork. I think the
public API of this gem is pretty solid and worth preserving, although the
internals will probably need a pretty extensive overhaul due to the switch
from v3's XML to v5's JSON.
On Thu, Feb 5, 2015 at 5:36 AM, Alvaro Fernando Lara <
<EMAIL_ADDRESS>wrote:

I'm currently building an application using V5 (using raw api calls), and
I'm thinking about using this gem instead. Is there any current working
branch to start from @jsmestad https://github.com/jsmestad? I will
start a fork but interested on keep posted about this.
--
Reply to this email directly or view it on GitHub
https://github.com/jsmestad/pivotal-tracker/issues/86#issuecomment-73026019
.

I've already convinced a friend at work to get started into this. And completely agree on keeping the current gem API. Is there a tracking system setup for this gem in particular? If not, Pivotal Could be a good place to get one started for it.

I don't know of any tracking system. Pivotal does seem like an obvious
choice!
On Thu, Feb 5, 2015 at 9:53 AM, Alvaro Fernando Lara <
<EMAIL_ADDRESS>wrote:

I've already convinced a friend at work to get started into this. And
completely agree on keeping the current gem API. Is there a tracking system
setup for this gem in particular? If not, Pivotal Could be a good place to
get one started for it.
--
Reply to this email directly or view it on GitHub
https://github.com/jsmestad/pivotal-tracker/issues/86#issuecomment-73058484
.

Hey all, @jsmestad reached out to me a while back, and the following was my response.  I'd love to see this get worked on, unfortunately, I don't have the time.
Tracker project is available at https://www.pivotaltracker.com/n/projects/1269684
=============================================
I spent some time on this a year and a half ago…
https://github.com/jasonnoble/pivotal-tracker/tree/api_version5
This was my initial re-write.  Last updated in August of 2013.
https://github.com/davincicoders/pivotal-tracker-v5
This was my student’s effort to expand on my repo above, it’s  a little farther, but still a year outdated
Note:  https://github.com/davincicoders/pivotal-tracker-v5/blob/master/spec/spec_helper.rb
This has some IMO helpful VCR stuff to filter out sensitive data from the VCR tapes (1)
I definitely think the gem needs to support V5 API, unfortunately I don’t have the time to take a leadership role on this.
Also… @forest commented on https://github.com/jsmestad/pivotal-tracker/issues/86 that the updates need to be thread safe.  Looks like he has some work at https://github.com/dashofcode/tracker_api, so you may want to consider pulling (some of?) that code back into the pivotal-tracker gem.  Maybe @forest has some time to help out?

My hope with these changes would be that someone who wants to contribute to the gem would simply have to do the following:
Login to Pivotal Tracker
Create Project -> Check the Add sample project data checkbox and click Create Project
*** Populate pivotal_credentials.yml *** (https://github.com/davincicoders/pivotal-tracker-v5/blob/master/config/pivotal_credentials.yml.example)
rake spec

This would then run all the tests.  Maybe have an environment variable that would hit the live API?

@jasonnoble I'm committed now to the new https://github.com/dashofcode/tracker_api gem. I am actively maintaing and have been accepting many pull requests from the community using this new gem. The read interface is mostly complete, but there is work to do still on updating data. I just pushed a version with the ability to update stories that lays a good foundation for adding update capabilities to the other resources.
The inteterface is similar to this gem as I use it heavely before I ran into thread safe issues and needed features from the v5 API. So it shouldn't be a big streach for people to change.
I'd be happy to have contributions.

Would you consider combining the two?  // @jsmestad

@jasonnoble @forest definitely. I would love to move to using Faraday anyway.

@forest I'm committing to re-writing this gem over the next month or two.

Have you looked at Blanket Wrapper gem, it's ideal for this sort of project.

@jsmestad how's the V5 rewrite going? Can you use any help with it? I'm trying to figure out if I should focus on https://github.com/dashofcode/tracker_api instead.

I have not had much time to work on it to be honest. the
dashofcode/tracker_api I have used and can say its lacking some features
and customization that this gem provides, but overall stable.
Regards,
Justin Smestad
<EMAIL_ADDRESS>On Sat, Sep 19, 2015 at 7:32 AM, Leon Miller-Out<EMAIL_ADDRESS>wrote:

@jsmestad https://github.com/jsmestad how's the V5 rewrite going? Can
you use any help with it? I'm trying to figure out if I should focus on
https://github.com/dashofcode/tracker_api instead.
—
Reply to this email directly or view it on GitHub
https://github.com/jsmestad/pivotal-tracker/issues/86#issuecomment-141668198
.

Thanks for the update, @jsmestad.

Leon Miller-Out - Singlebrook Technology -<PHONE_NUMBER>
On Sun, Sep 20, 2015 at 4:00 PM, Justin Smestad<EMAIL_ADDRESS>wrote:

I have not had much time to work on it to be honest. the
dashofcode/tracker_api I have used and can say its lacking some features
and customization that this gem provides, but overall stable.
Regards,
Justin Smestad
<EMAIL_ADDRESS>On Sat, Sep 19, 2015 at 7:32 AM, Leon Miller-Out<EMAIL_ADDRESS>
wrote:

@jsmestad https://github.com/jsmestad how's the V5 rewrite going? Can
you use any help with it? I'm trying to figure out if I should focus on
https://github.com/dashofcode/tracker_api instead.
—
Reply to this email directly or view it on GitHub
<
https://github.com/jsmestad/pivotal-tracker/issues/86#issuecomment-141668198

.

—
Reply to this email directly or view it on GitHub
https://github.com/jsmestad/pivotal-tracker/issues/86#issuecomment-141827956
.


Re-implement "open derived source" feature

Hi team,
In the early days of VSCode, there was a feature that I adored that allowed me to open the compiled output of my TypeScript files. By simply right clicking the source .ts file and clicking Open derived output I could view my .js output.
This feature was pulled due to not being able to find the compiled output if it was in a different directory.
There are many workarounds for this, but none as effective as this feature. I would love to see this re-added.
Thanks

Duplicate of #21018


feat: If possible get rid of openssl link and use tls from rust-tls

This one should allow a build of musl variant of the app.

Done in #111


AttributeError: 'RAdamOptimizer' object has no attribute '_create_non_slot_variable'

Hi,
Please take a look at screenshot.

upgrade your tf-version


Add test for accepting array as parameter based on wsdl

v. 0.19.0 broke giving array as a parameter. It would now accept the "array"
with invalid syntax like this: {input: {PeriodList: {"PeriodType[]": {PeriodId: '1'}}}}
i.e. it wants the "[]" as the parameter name and it does not accept an array, but an
object. The invalid syntax then prints invalid XML like this:
"<PeriodType[]>1</PeriodType[]>"
This test shows old and correct syntax.
This test passes if you revert commit 5dbcb1d715843310c799419f260e0962722cd2fb
or disable if statement mentioned in
https://github.com/vpulim/node-soap/pull/914#pullrequestreview-40039598

Coverage increased (+0.1%) to 93.191% when pulling 0e580aa8d303c0aaafa8930498ad56bfbfc690d7 on pihvi:master into 358c611321e94d30b0483fdf312bb03d1872df6a on vpulim:master.


Example project fails

Hi,
When running the example project it fails at document.GeneratePdf(filePath);
QuestPDF.Drawing.Exceptions.DocumentDrawingException
HResult=0x80131500
Message=An exception occured during document drawing.
Source=QuestPDF
StackTrace:
at QuestPDF.Drawing.DocumentGenerator.RenderPass[TCanvas](PageContext pageContext, TCanvas canvas, Container content, DocumentMetadata documentMetadata, DebuggingState debuggingState)
at QuestPDF.Drawing.DocumentGenerator.RenderDocument[TCanvas](TCanvas canvas, IDocument document)
at QuestPDF.Drawing.DocumentGenerator.GeneratePdf(Stream stream, IDocument document)
at QuestPDF.Fluent.GenerateExtensions.GeneratePdf(IDocument document, Stream stream)
at QuestPDF.Fluent.GenerateExtensions.GeneratePdf(IDocument document, String filePath)
at QuestPDF.ExampleInvoice.Program.Main(String[] args) in C:\Users\ddebono\Source\repos\QuestPDF-ExampleInvoice-main\QuestPDF-ExampleInvoice-main\Program.cs:line 21
This exception was originally thrown at this call stack:
[External Code]
Inner Exception 1:
ArgumentNullException: Value cannot be null. (Parameter 'key')

Hello 😁 Thank you for finding this issue! I might have accidentally pushed a code update that covers changes of the beta release. At that moment, QuestPDF had an insignificant bug causing the mentioned exception. I have just published a fixed version. I am very sorry for this inconvenience.


Logo / Branding?

I have had logos made for some of my projects like Status Board.
Should I have someone design one for React Pure Loaders?
If I had Sticker Mule print stickers would you sport it on your laptop?
Or forget branding it, not worth the time?

Having a logo would be something nice, but how about the cost?

I normally get something off Fiverr, normally pay like $25 and get it in three days.
Sent with GitHawk

Wow, that's cheaper that I thought.

The logo for status board is from Fiverr

@wps13 I started the process to get a logo designed from Fiverr.
I picked a premium package design due to I like to pay the most they are asking for generally.
We get with the premium package:

1 Day Delivery
Unlimited Revisions
4 Initial Concepts Included
Logo Transparency
Vector File
Source File
High Resolution
3D Mockup
Social Media Kit

Is there a way to touch base with you on the designs off GitHub, I don't want to post the raw concept designed on this thread due to the designer owns the copyrights to them and we only get the copyrights to the one we pick.

@wps13 Logo's are done and located here.


exception:Error: Failed to build C++ embedding:

I've installed tizen sdk and tizen TV emulator.
flutter-tizen doctor has no issues with tizen
trying to run flutter-tizen and it's giving me this error:
target: tizen_cpp_embedding
exception:Error: Failed to build C++ embedding:
Exception in thread "main" java.lang.NoClassDefFoundError: org/tizen/sbilib/for_cli/sbiplugin/SBIPluginManager
at org.tizen.ncli.subcommands.build.buildnative.BuildNativeCLICommand.call(BuildNativeCLICommand.java:198)
at org.tizen.ncli.subcommands.build.buildnative.BuildNativeCLICommand.call(BuildNativeCLICommand.java:48)
at org.tizen.ncli.subcommands.AbstractSubCommand.runCommand(AbstractSubCommand.java:76)
at org.tizen.ncli.ide.shell.BuildNativeCLI.execute(BuildNativeCLI.java:107)
at org.tizen.ncli.ide.shell.AbstractCLI.execute(AbstractCLI.java:91)
at org.tizen.ncli.ide.shell.Main.run(Main.java:190)
at org.tizen.ncli.ide.shell.Main.main(Main.java:123)
Caused by: java.lang.ClassNotFoundException: org.tizen.sbilib.for_cli.sbiplugin.SBIPluginManager
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
... 7 more
#0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
#1      NativeEmbedding.build (package:flutter_tizen/build_targets/embedding.dart:124:7)

#2      _BuildInstance._invokeInternal (package:flutter_tools/src/build_system/build_system.dart:861:9)

#3      Future.wait. (dart:async/future.dart:518:21)

#4      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:799:32)

#5      Future.wait. (dart:async/future.dart:518:21)

#6      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:799:32)

#7      Future.wait. (dart:async/future.dart:518:21)

#8      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:799:32)

#9      FlutterBuildSystem.build (package:flutter_tools/src/build_system/build_system.dart:628:16)

#10     TizenBuilder.buildTpk (package:flutter_tizen/tizen_builder.dart:104:11)

#11     TizenDevice.startApp (package:flutter_tizen/tizen_device.dart:352:7)

#12     FlutterDevice.runHot (package:flutter_tools/src/resident_runner.dart:476:33)

#13     HotRunner.run. (package:flutter_tools/src/run_hot.dart:432:14)

#14     Future.wait. (dart:async/future.dart:518:21)

#15     HotRunner.run (package:flutter_tools/src/run_hot.dart:463:34)

#16     RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:808:27)

#17     FlutterCommand.run. (package:flutter_tools/src/runner/flutter_command.dart:1389:27)

#18     AppContext.run. (package:flutter_tools/src/base/context.dart:153:19)

#19     CommandRunner.runCommand (package:args/command_runner.dart:212:13)

#20     FlutterCommandRunner.runCommand. (package:flutter_tools/src/runner/flutter_command_runner.dart:355:9)

#21     AppContext.run. (package:flutter_tools/src/base/context.dart:153:19)

#22     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:295:5)

#23     run.. (package:flutter_tools/runner.dart:119:9)

#24     AppContext.run. (package:flutter_tools/src/base/context.dart:153:19)

#25     main (package:flutter_tizen/executable.dart:84:3)

Looks like an issue with the Tizen Studio. Would you try reinstalling all installed packages or Tizen Studio itself?

will uninstalling and re-installing tizen studio solve the problem?
Just I faced a lot of problems during the installation of tizen-studio on windows.
flutter-tizen could not find tizen-sdk, then I created a new path named TIZEN_SDK, then pasted the path of tizen-studio\tools\ide\bin, after that it could not find the location of Gcc 9.2 toolchain and Native app development cli of Wearable 5.5.
Then I pasted only the path of tizen-studio. Finally flutter-tizen doctor didn't show any issue.

Thank you, uninstalling and re-installing solved my issue


added video

Added a youtube video explaining the demo.

Hi Luis,
I already added the missing files when I merged this sample + just a few minutes ago added a link to the video before I saw this PR...so all what's in this PR is already in and as such I'm gonna simply close this PR.
Thanks for the excellent sample!


Add executablePath Parameter for Custom Pandoc Executable Location

I would like to suggest adding a key called executablePath as shown below (or in a similar way you think is best):
pypandoc = pypandoc(executablePath='/cache/pandoc_file')
pypandoc.convert_text(html_content, output_format, format='html', outputfile=tmpfile.name)

This would be similar to how Puppeteer allows specifying the Chrome executable path. It would enable us to set our own path externally. This feature would be particularly useful for those of us compiling with Nuitka, where we need to manually specify the path to the executable when the files are unpacked.

Hi. This is already possible through the "PYPANDOC_PANDOC" env variable.
Is this not sufficient for your usecase?

sorry, i just saw it recently, Thanks for the notice. I didnt know how to delete my post so i left it ,u can close it now


TAJO-1867: TajoMaster should handle the change of ${tajo.root}.

It may be hard to make unit tests. I verified it in a local cluster.

+1 LGTM


DioError [DioErrorType.DEFAULT]: SocketException: Connection failed (OS Error: Too many open files, errno = 24)

New Issue Checklist

[ ] I have searched for a similar issue in the project and found none

Issue Info

Info
Value

Platform Name
ios

Dio Version
3.0.9

Android Studio
Android Studio 4.0.1

I have this error in IOS platform when call many apis.
DioError [DioErrorType.DEFAULT]: SocketException: Connection failed (OS Error: Too many open files, errno = 24)

This error is reported in the Android emulator ？

Yes, in Android emulator I have error too.

@mohammadnejad Did you manage to fix this?


Running error on xcode 11

This library has worked very well on xcode10 in the past year. But recently Apple requested that all App need to be packaged with xcode11. I found monkey test runs error on xcode11.
Error message:
Failed to get matching snapshots: Timed out snapshotting com.apple.testmanagerd, app is either unresponsive or taking too long to snapshot.
Here is my code
let application = XCUIApplication()
 _ = application.descendants(matching: .any).element(boundBy: 0).frame
 let monkey = Monkey(frame: application.frame)
 monkey.addDefaultUIAutomationActions()
 monkey.addXCTestTapAlertAction(interval: 100, application: application)
 monkey.monkeyAround(iterations: 1000)

I tried the method mentioned on #83, but it didn't work.
Could you help me to check it?
Thanks a lot.

same issue here, can anyone have a look?


restore: give priority to large tables for importing

What problem does this PR solve?
Put the large table in the front of the slice which can avoid large table take a long time to import and block small table to release index worker.
What is changed and how it works?
Sorting tables before restore.
Check List
Tests

Unit test
Integration test

Side effects
N/A
Related changes
N/A

Please rebase on the latest master (if you still want to proceed on this PR).

PTAL @GregoryIan @kennytm

LGTM


Fix example new market proposal to have correct oracle

Fix newMarket proposal
For some reason, this was using the incorrect oracle string. Now it uses the correct one

Fix new market sample proposal
Regenerate all sample proposals

Closes #568

Converted to draft to give me time to test this out as it seems.. suspiciously easy


Upgrade to Cassandra 3.0

Actually an upgrade to Cassandra 3.1 would be better now

Upgrade to 3.4 or better is required.

This is blocked by: https://issues.apache.org/jira/browse/CASSANDRA-11154


Try to use similarity as a loss

Mse (sim(new clip image, new clip text), sim(original clip image), sim (original clip text))
Could be completely instead of alignment or in addition to

Pros:

more flexible than just alignment, will allow larger models to come up with better solutions for "teacher proposed similarities"
More likely to end up better

Cons:

You lose a lot of signal. Will likely take way more time to train.

Perhaps this is something in between contrastive from scratch and our standard distillation we're doing. This is like teacher guided contrastive learning. But in that case this makes more sense to me:
total_loss = contrastive_loss(student) + MSE(student_embedding, teacher embedding)
That way if the H can find better solutions than the L the contrastive_loss(H) part will push it toward using it's independent solutions vs. using the teacher solutions in the MSE loss.

Also in the proposed method above you'd probably like to decay the influence of the teacher over time, so actually it would be like:
total_loss = (1-gamma) * contrastive_loss(student_embeddings) + gamma * MSE(student_embedding, teacher embedding)

Potential idea: instead of MSE between similarities just do contrastive loss but instead of identity matrix as label do matrix of teacher scores


no-auth option

For publishing we have auth=True option
Should we check if the user has hop credentials (hop auth locate we can even grab the username if the authentication file exists), and if they do not have the credentials we raise a warning first and default to auth=False in publisher. Or do we only want people with credentials to test the tools? (or that they know they don't have credentials and manually set auth=False ? )
For subscription, we do not have an auth option at all. Maybe at least there we should check this and say "yo, you don't have permission to subscribe, go check your hop credentials"

Khafka has said they only want authorized messages to be published.  I'll close the issue but it can be re-opened if someone thinks we need no-auth subscriptions.


gemini-1.5-pro model configured with gemini-1.0-pro-001 version

Affected plugin(s)

[ ] VertexAI

Describe the bug
In the VertexAI plugin (js/plugins/vertexai/src/gemini.ts) gemini-1.5-pro model is configured with the gemini-1.0-pro-001 version. It should be using version gemini-1.5-pro-001
export const gemini15Pro = modelRef({
  name: 'vertexai/gemini-1.5-pro',
  info: {
    label: 'Vertex AI - Gemini 1.5 Pro',
    versions: ['gemini-1.0-pro-001'],
    supports: {
      multiturn: true,
      media: true,
      tools: true,
      systemRole: true,
    },
  },
  configSchema: GeminiConfigSchema,
});

Plugin(s) version:
0.5.2
Genkit version:
0.5.2

Hi, thanks for opening the issue. However, this repo contains the community maintained plugins (the ones starting with genkitx-, while the VertexAI plugin is an official Firebase plugin (the ones starting with @genkit-ai/). Anyways, I can confirm the issue is present in the official plugin. I opened a PR here to fix it. I'll close this issue since it's not related to this repo, but feel free to open a new one in the official Genkit repo here if you want to follow up.


CI with tests

@m-iwanicki I accidentally deleted the branch and can't reopen this PR after restoring it. Let's continue here: https://github.com/Dasharo/meta-dts/pull/193

@PLangowski Can't reopen because:

And no review comments in new PR. Either transfer comments to new PR or comment here with link to commit fixing it


fix(generators): fixed generation when using hooks and forms

Status

READY
Description
When generating
Related PRs
Todos
A test can be added as described below, let me know if that is desired.

[ ] Tests
[ ] Documentation
[ ] Changelog Entry (unreleased)

Steps to Test or Reproduce

In tests/configs/react-query.config.ts, replace formData with:

  formData: {
    output: {
      target: '../generated/react-query/formData/endpoints.ts',
      schemas: '../generated/react-query/formData/model',
      client: 'react-query',
      mock: true,
      override: {
        mutator: {
          path: '../mutators/use-custom-instance.ts',
          name: 'useCustomInstance',
        },
      },
    },
    input: {
      target: '../specifications/form-data.yaml',
    },
  },

> git fetch --all
> git checkout fix-use-custom-instance-with-form
> yarn; yarn build
> cd tests
> yarn; yarn generate

Check tests/generated/react-query/formData/endpoints.ts

Hello @DavideWalder, thanks! Can you also add that test then?


Cannot navigate CommandBarFlyout with keyboard if dpiAwareness is enabled in XAML Islands App

Describe the bug
Cannot navigate CommandBarFlyout with keyboard if dpiAwareness is enabled in XAML Islands App. This was first detected in React Native Windows and an issue was filed here https://github.com/microsoft/react-native-windows/issues/8306. But after further investigation, this is a XAML Islands bug not related to React Native Windows.
Steps to reproduce the bug

Create XAML Islands app.
Add a TextBox to UI.
In app.manifest add:

  <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
		<dpiAwareness>PerMonitorV2</dpiAwareness>
	</windowsSettings>
  </application>

Run app
Right click on TextBox.
Use keyboard up/down arrows to navigate the context menu.

Note the bug only seems to happen on certain monitors, possibly based on certain resolutions.
Expected behavior
Expected that navigation works but pressing arrow keys does nothing.
Screenshots
Here's a video reproducing the bug:
https://user-images.githubusercontent.com/359157/129081699-d3ced5e3-b34e-408e-a6c3-3dc53ac06928.mp4
Here's things working correctly if that dpiAwareness isn't set:
https://user-images.githubusercontent.com/359157/129081704-941453e1-2b02-4222-a482-e0cb1c5db79e.mp4
Version Info
Windows 10 21H1 / 19043 Islands

Device form factor
Saw the problem?

Desktop
Yes

Xbox

Surface Hub

IoT

Additional context

@Austin-Lamb @JesseCol I'm not sure what dpi awareness does, can you inform us?
There was a very similar issue that was fixed very recently.  I wonder if this is a duplicate of that other issue tracked internally here

A workaround is to use the WinUI 2 (I was using version 2.6.1-prerelease.210709001) CommandBarFlyout, and add another workaround on top of that to fix a crash that happens. I documented in the comments of a related GitHub issue starting with this one: https://github.com/microsoft/react-native-windows/issues/8306#issuecomment-897177843

If you don't want to use WinUI 2 to fix this, I was able to workaround this by subclassing CommandBarFlyout and adding in some hacks. I have a working example here: https://github.com/lyahdav/XamlIslandsFlyoutBug/tree/command-bar-flyout-kb-bug-with-dpi-awareness

I found out that this bug is more generic than just CommandBarFlyout, so I'm going to retitle it. It happens when setting the UIElement.XYFocusKeyboardNavigation Property to Enabled. I'm pretty sure this is how arrow keys change focus in CommandBarFlyout in system XAML. Pretty sure WinUI 2 CommandBarFlyout doesn't have this bug because it doesn't rely on XYFocusKeyboardNavigation and instead manually handles the keyboard up/down arrow key press events.
I also found another workaround: Nest the element with XYFocusKeyboardNavigation inside a ScrollViewer which clips its content. With some additional changes you can make it seem like there is no ScrollViewer (e.g. hiding the scroll bars). I have a working version of this here: https://github.com/lyahdav/XamlPlayground/tree/XYFocusKeyboardNavigation-bug

Likely still relevant


Operator connection fails with 431 Request Header Fields Too Large

Bug Description
When I try to run mirrord using via the operator I get the following error:
Failed to connect to the operator, probably due to RBAC: creating a websocket connection failed: failed to upgrade to a WebSocket connection: failed to switch protocol: 431 Request Header Fields Too Large

Steps to Reproduce

Installed Mirrord operator
Installed Jetbrains Rider Mirrord plugin
Tried to run Mirrord using the operator (as we want to use teams) - I tried this both in Rider and via the CLI. Both failed with the same error.

Config file looks like:
{
    "target": {
        "path": {
            "deployment": "auditsupervisor-dev"
        },
        "namespace": "platform-dev"
    },
    "agent": {
        "namespace": "platform-dev"
    },
    "operator": true,
    "feature": {
        "network": {
            "incoming": {
                "mode": "steal",
                "port_mapping": [[ 5000, 8080 ]],
                "http_filter": {
                    "header_filter": "X-Starling-Route-Key: dane"
                }
            },
            "outgoing": {
                "tcp": false,
                "udp": false
            },
            "dns": false
        },
        "fs": {
            "mode": "local"
        },
        "env": {
            "include": ""
        }
    }
}

Operator Helm Chart Version: mirrord-operator-0.10.1
Operator Version: 3.72.0
Kubernetes Version: 1.28.3
Kubectl Version: 1.29.0
Rider Plugin Version 3.57.0
We do have Istio 1.20.0 running in the cluster. I disabled the sidecar on the mirrord-operator pod to test but I still end up with the same error. I can't disable the sidecar on the actual pod I'm trying to steal from for other reasons.
If I don't use the operator I can run mirrord just fine against this same workload.
Backtrace
No response
Relevant Logs
No response
Your operating system and version
Ubuntu 22.04 and Mirrord operator 3.72.0
Local process
.NET 6 web application
Local process version
No response
Additional Info
No response

hey @dbarentine - sorry to hear about your experience. Hopefully we'll get it resolved together!
Few things to help us debug it better:

In the mirrord-operator deployment add env with key RUST_LOG set to mirrord=trace - please re-produce and attach logs.
Run mirrord operator status from cli - does that work?
Do you have any special configuration in your cluster? is it EKS/AKS/GKE/bare-metal/k3s/... etc? What version of k8s is used?
Do you have HTTPS_PROXY or HTTP_PROXY or SOCKS_PROXY in use?

Lastly, if you'd like we can schedule a debug session so we'll reduce the ping-pong time :) - https://calendly.com/aviram-5/30min

@aviramha I don't get any additional log messages with mirrord=trace. I changed it so the operator also is set to trace and think I may have an idea of what is going on. I've only included the mirrord=trace log below because the other one has some information I don't want to post here. But if you want me to schedule a debug session I can get you the full one.
trace.txt
mirrord operator status

Kubernetes Version

No proxy
But I think this is the key, we are running AKS with Azure AD integration. I see this message from the operator trace:
in operator_controller::restful::handle_get with remote: RestfulRemote { session_id: 187B6E73C72D6641 }, path: {"namespace": "platform-dev", "name": "deploy.auditsupervisor-dev"}, params: RestfulGetParams { connect: None, on_concurrent_steal: None }, req: Request { method: GET, uri: https://<IP_ADDRESS>:3000/deploy.auditsupervisor-dev, version: HTTP/2.0, headers: {"x-remote-group": "b1357603-...", "x-remote-group": "caeeaf03-...", "x-remote-group" ...
I have a bunch of groups in AAD that appear to be getting included as an x-remote-group header. So the key to reproducing it is probably an AKS cluster that is AAD integrated with a user in a bunch of AAD groups.
Let me know if that's enough or if you still want me to schedule a debugging session.

hi @dbarentine - I think it's a good clue - but I'm wondering what's the solution here - I'd suggest to increase the header size of kubeapi, as I assume those headers are needed for authentication? I'd be happy to schedule a session to debug it further and find a proper solution for this.

I think the problem with changing something at the cluster level is this is a managed cluster. So there is a good possibility that I have no ability to do so as Microsoft manages the k8s API control plane. But if you know how to change that setting let me know. I didn't see anything in the kube-apiserver documentation where that header comes up.
I'm not sure it's at that level anyways. We use this all the time and have never seen this particular issue across any of the third-party operators we've installed.
My suspicion is there is a limit set somewhere in one of the libraries being leveraged by the mirrord operator code. But I'm not all that familiar with Rust so it's hard for me to track down where it might possibly be. It feels like maybe it's in kube or hyper. Although hyper says it supports header maps up to 32 KB and I doubt I'm over that. Maybe tokio-tungstenite since the error specifically mentions it got the 431 on trying to upgrade to websockets. Although even that looks like a max of 64 KB. Given the output in the log I seem to be right around 8 KB.
I'm happy to schedule a debug session. But my trial just expired so let me get that straightened out first and then I will schedule it.
While I straighten that out maybe you could tell me where I find the operator/controller/src/restful.rs file? It's not under the operator folder in the mirrord repo. That's one of the files referenced when the operator logs the request with all the x-remote-group headers. I was hoping to take a look at it to try and understand how it works.

operator/controller/.. is part of a private repository.
I think you're right - this might be it
https://github.com/snapview/tungstenite-rs/pull/379/files

Turns out hyper has a max header count, which is set to 100.
We've changed it to 1000 until they merge the configurable value PR
https://github.com/metalbear-co/hyper/commit/b61858cf6cf9ae6580cb9d14fefbed7291daf15c
It will be released soon as operator 3.73.1

Thanks @aviramha. I've upgraded the operator and it all seems to be working now. Thank you for the help and the quick fix.


Add the constraint_append functionality

See here for the API: https://github.com/MrPowers/mack/#append-data-with-constraints

@MrPowers this function is very useful, i think that we can add column like "violated_constraint" with the description of constraint and also return json ou array with :
Nb_inserted_rows
Nb_rejected_rows
Ps we should verify  the target table must be  different to the quarantine table

Hi, can I take this ticket?


Update request: gnomeExtensions.gsconnect 55 → 56

Package name: gnomeExtensions.gsconnect
Latest released version: 56

Current version on the unstable channel: 55
Current version on the stable/release channel: 55

[X] Checked the nixpkgs pull requests

Notify maintainers
@NixOS/gnome

Note for maintainers: Please tag this issue in your PR.
Priorities
Add a :+1: reaction to issues you find important.

https://github.com/NixOS/nixpkgs/pull/269668


Strip @cluster or hide it when only one AM configured

Hello @prymitive,
I've been trying to hide @cluster via labels/strip feature in #3221 but that doesn't seem to work (karma 0.98), is that expected ? Alternatively I'd like to suggest hiding @cluster by default when only one AM is configured, similar logic as @receiver in #1715, what do you think?
Thank you!

I could swear that's what was suppose to happen (hide @cluster if there's only one in the config). Must have changed that accidentally at some point. Raised #3998 for a fix.
Hiding won't work, @cluster is needed otherwise you can have 2 identical alerts with no way of telling the difference between them.


LICENSE file is missing

What is the license?

\cc @zoeyfan Can you figure this out and get a license added?
Without a license, developers can't properly use super_dash as a reference.


DCIM>Interface Connection Export Template - Form Factor Label Blank

When creating an export template for Interface connections, if you include the form factor label as per the API call reference interface_a.form_factor.label there is no output returned, example export template below
{% for connection in queryset %}
{{connection.interface_a.device|addslashes}},{{connection.interface_a.name|addslashes}},{{connection.interface_a.form_factor.label|addslashes}},{{connection.interface_b.device.name|addslashes}},{{connection.interface_b.name|addslashes}},{{connection.interface_b.form_factor.label|addslashes}}
{% endfor %}

Thank you for your interest in NetBox. GitHub issues are intended for reporting reproducible bugs and requesting features, and must be submitted using the template provided here. For general discussion, questions, or assistance with installation issues, please post to our mailing list.


[VL] Using system arrow does not trigger find thrift

Problem description
I build&install arrow first, then velox using system arrow, but seems the action of found thrift not executed.
System information
n/a
CMake log
cmake  -B \
	"_build/release" \
	-DTREAT_WARNINGS_AS_ERRORS=1 -DENABLE_ALL_WARNINGS=1 -DVELOX_BUILD_MINIMAL="OFF" -DVELOX_BUILD_TESTING="ON" -DCMAKE_BUILD_TYPE=Release \
	-GNinja -DMAX_LINK_JOBS=20 -DMAX_HIGH_MEM_JOBS=20 -DVELOX_FORCE_COLORED_OUTPUT=ON \
	-DVELOX_ENABLE_PARQUET=ON -DVELOX_ENABLE_HDFS=ON -DVELOX_BUILD_TESTING=OFF -DVELOX_BUILD_TEST_UTILS=OFF -DVELOX_ENABLE_DUCKDB=OFF -DVELOX_ENABLE_PARSE=OFF
-- Building using CMake version: 3.29.3
-- Build type: Release
-- Using ccache: /usr/bin/ccache
CMake Warning at CMakeLists.txt:237 (find_package):
  By not providing "Findlibhdfs3.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "libhdfs3",
  but CMake did not find one.

  Could not find a package configuration file provided by "libhdfs3" with any
  of the following names:

    libhdfs3Config.cmake
    libhdfs3-config.cmake

  Add the installation prefix of "libhdfs3" to CMAKE_PREFIX_PATH or set
  "libhdfs3_DIR" to a directory containing one of the above files.  If
  "libhdfs3" provides a separate development package or SDK, be sure it has
  been installed.

Setting CMAKE_CXX_FLAGS=-mavx2 -mfma -mavx -mf16c -mlzcnt -std=c++17 -mbmi2
FINAL CMAKE_CXX_FLAGS= -mavx2 -mfma -mavx -mf16c -mlzcnt -std=c++17 -mbmi2 -D USE_VELOX_COMMON_BASE -D HAS_UNCAUGHT_EXCEPTIONS -Wall -Wextra -Wno-unused        -Wno-unused-parameter        -Wno-sign-compare        -Wno-ignored-qualifiers        -Wnon-virtual-dtor        -Wno-implicit-fallthrough          -Wno-class-memaccess          -Wno-comment          -Wno-int-in-bool-context          -Wno-redundant-move          -Wno-array-bounds          -Wno-maybe-uninitialized          -Wno-unused-result          -Wno-format-overflow          -Wno-strict-aliasing
-- Setting Boost source to AUTO
-- Found Boost: /usr/local/lib/cmake/Boost-1.84.0/BoostConfig.cmake (found suitable version "1.84.0", minimum required is "1.77.0") found components: atomic context date_time filesystem program_options regex system thread
-- Using SYSTEM Boost
-- Setting gflags source to AUTO
-- Using SYSTEM gflags
-- Setting fmt source to AUTO
-- Using SYSTEM fmt
-- Setting re2 source to AUTO
-- Found RE2 via pkg-config.
-- Using SYSTEM re2
-- Setting Protobuf source to AUTO
-- Using SYSTEM Protobuf
-- Setting simdjson source to BUNDLED
-- Building simdjson from source
-- Adding -Og to compile flag
-- Setting folly source to AUTO
-- Found Boost: /usr/local/lib/cmake/Boost-1.84.0/BoostConfig.cmake (found suitable version "1.84.0", minimum required is "1.51.0") found components: context filesystem program_options regex system thread
-- Found folly: /usr/local
-- Using SYSTEM folly
-- Setting xsimd source to AUTO
-- Using SYSTEM xsimd
-- Building stemmer from source
-- Setting Arrow source to AUTO
-- Using SYSTEM Arrow
CMake Deprecation Warning at velox/tpch/gen/dbgen/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Configuring done (0.1s)
-- Generating done (0.1s)
-- Build files have been written to: /root/oap-velox/_build/release
make[1]: 离开目录“/root/oap-velox”
make[1]: 进入目录“/root/oap-velox”
cmake --build _build/release -j 30
[69/602] Building CXX object velox/dwio/parquet/thrift/CMakeFiles/velox_dwio_parquet_thrift.dir/ParquetThriftTypes.cpp.o
FAILED: velox/dwio/parquet/thrift/CMakeFiles/velox_dwio_parquet_thrift.dir/ParquetThriftTypes.cpp.o
/usr/bin/ccache /usr/lib64/ccache/c++ -DFOLLY_HAVE_INT128_T=1 -DVELOX_DISABLE_GOOGLETEST -DVELOX_ENABLE_HDFS3 -DVELOX_ENABLE_PARQUET -I/root/oap-velox/. -I/root/oap-velox/velox/external/xxhash -isystem /root/oap-velox/velox -isystem /root/oap-velox/velox/external -mavx2 -mfma -mavx -mf16c -mlzcnt -std=c++17 -mbmi2 -D USE_VELOX_COMMON_BASE -D HAS_UNCAUGHT_EXCEPTIONS -Wall -Wextra -Wno-unused        -Wno-unused-parameter        -Wno-sign-compare        -Wno-ignored-qualifiers        -Wnon-virtual-dtor        -Wno-implicit-fallthrough          -Wno-class-memaccess          -Wno-comment          -Wno-int-in-bool-context          -Wno-redundant-move          -Wno-array-bounds          -Wno-maybe-uninitialized          -Wno-unused-result          -Wno-format-overflow          -Wno-strict-aliasing -Werror -O3 -DNDEBUG -std=gnu++17 -fPIC -fdiagnostics-color=always -MD -MT velox/dwio/parquet/thrift/CMakeFiles/velox_dwio_parquet_thrift.dir/ParquetThriftTypes.cpp.o -MF velox/dwio/parquet/thrift/CMakeFiles/velox_dwio_parquet_thrift.dir/ParquetThriftTypes.cpp.o.d -o velox/dwio/parquet/thrift/CMakeFiles/velox_dwio_parquet_thrift.dir/ParquetThriftTypes.cpp.o -c /root/oap-velox/velox/dwio/parquet/thrift/ParquetThriftTypes.cpp
In file included from /root/oap-velox/velox/dwio/parquet/thrift/ParquetThriftTypes.cpp:23:
/root/oap-velox/velox/dwio/parquet/thrift/ParquetThriftTypes.h:25:10: 致命错误：thrift/TApplicationException.h：没有那个文件或目录
   25 | #include <thrift/TApplicationException.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@PHILO-HE could you help take a look?

@Yohahaha, we have proposed a fix: https://github.com/facebookincubator/velox/pull/10355.

@Yohahaha, we have proposed a fix: facebookincubator/velox#10355.

could you help explain how gluten fix this issue temporarily?

@Yohahaha, we have proposed a fix: facebookincubator/velox#10355.

could you help explain how gluten fix this issue temporarily?

@Yohahaha, to work around this issue, please "export Arrow_SOURCE=BUNDLED" in your env. to let velox always use bundled arrow.

@Yohahaha, we have proposed a fix: facebookincubator/velox#10355.

could you help explain how gluten fix this issue temporarily?

@Yohahaha, to work around this issue, please "export Arrow_SOURCE=BUNDLED" in your env. to let velox always use bundled arrow.

I see....


getReddit throws exception

*FinalReddit> getReddit "haskell"
*** Exception: not enough input

Any ideas?

Here's the definition of getReddit:
getReddit :: String -> IO Listing
getReddit subreddit = do
  let url = "http://www.reddit.com/r/" <> subreddit <> "/hot/.json?count=25"
  response <- simpleHTTP (getRequest url)
  body <- getResponseBody response
  case eitherDecode (cs body) of
    Right listing -> pure listing
    Left e -> error e

My guess is that eitherDecode is failing when trying to parse the input.

Exactly. But why?
Is it working on your end?

I haven't looked at the response in quite some time. I'd guess that Reddit changed their API or the URL structure such that the parsing methods don't work anymore.

OK, so it looks like Reddit can only be accessed via https now, which is not supported by simpleHTTP. I've tried using http-conduit which supports https, but I haven't managed yet.

Oh, that is a bummer!
There are a few HTTP clients for haskell that support https without too much overhead. Off the top of my head, there's wreq, which has a nice tutorial and shouldn't be too tough to drop-in replace.

Wohoo! Thanks for that info — I got it to work in a breeze.
Would it be helpful if I opened a pull-request with updated instructions in the README?

@vimuel Sure! I don't want to make any edits to the actual code base in order to maintain consistency with the video, but a disclaimer in the README sounds like a good compromise.

Yeah, I will open a pull-request for an updated README if I manage to get everything running.
PS: I figured it was better to leave this issue open so that others that try to follow the tutorial easily find the solution.

Hi @5outh , could you please mention which version of lens and wreq are needed ?

I added these in extra dependency,

lens-4.13
wreq-<IP_ADDRESS>
containers-<IP_ADDRESS>
but on executing stack build, I get these errors
Could not find module ‘Network.Wreq’
Could not find module ‘Control.Lens.Getter’
Could you tell why they are not being build ?

@Lightyagami1 A stack build with no arguments from the root directory works for me - can you paste the full output? You shouldn't need any extra dependencies.
I should mention that I don't know how well this project has aged. It's possible that the reddit API has drifted and the project no longer works at all :sweat_smile:


Action is not fired

The transition happens normally, but the action is not triggered. This is the template:

{{#link-to "logout" invokeAction="invalidateSession"}} LOGOUT{{/link-to}}

The action is defined on the application route:
import Ember from 'ember';
import ApplicationRouteMixin from 'ember-simple-auth/mixins/application-route-mixin';

export default Ember.Route.extend(ApplicationRouteMixin, {
    session: Ember.inject.service('session'),

    actions: {
        invalidateSession: function() {
            this.get('session').invalidate();
        }
    }
});

The action is working fine with:

 LOGOUT

But with that I loose the link-to functionality, of course. Specifically, the whole application is reloaded (because the a tells the browser to navigate to another page I guess, even though I am using href="#")
I am running<EMAIL_ADDRESS>I have installed<EMAIL_ADDRESS>I am not sure ember-cli is automatically picking it up. Normally the
var app = new EmberApp(defaults, {
    // Add options here
});

should automatically package the necessary modules, right? (btw: what heuristics is EmberApp using to decide what to package?)
How can I verify if the ember-link-action package is included in the application?

I have restarted travis build to see if it works with recent Ember versions but it does work even with ember 2.3.0-beta.3.
Can you confirm actions is not fired? Maybe try putting console.log in invalidateSession and see.
You can also try using:
{{#link-to "logout" invokeAction=(action 'invalidateSession')}}

It's working for me with ember 2.3.0-beta.3. Just what I needed to make my sidebar links close the sidebar. Thanks!

@Panman8201 That's great to hear! :D I would appreciate if you could star this repo so I can get karma back. :D


Add host IP for the remote viewer

$(/usr/sbin/ip r | grep default | awk '{print $9}' | head -n 1)

https://github.com/kevydotvinu/openshift-network-playground/blob/2d95c07c9855a1216157c320da31d8a70373f8fe/ignition/00-core.bu#L919

Fixed in #74


Updates to Multitouch Joystick (take #2)

Note: I decided to start a new PR with a clean branch from main. :)
Version 1.0.1

Removed the requirement for specific event ordering.
Renamed "JoystickAmplitude" to "JoystickForce"
Various small cleanups

Playable game
https://liluo.io/instant-builds/2c8a3cc5-84f7-46b6-a3e8-b972ca9c2dc6
Project files
MultitouchJoystick.zip
(I recently submitted this to the official example repo)

I think I'll merge this to get these updates live.


Added multiarch image support

This will make it possible for this image to run on graviton nodes, and will make local mac development a little bit easier.
PR check will verify that this works properly.

Verified working with tag ghcr.io/gravitational/aws-quota-checker:fred-multiarch-image-support-1-86aa1ef-20240529T211653


Add support for Show/Hide

Add support for Show/Hide
This requires several endpoints.
The first is the data representation, likely in Network Views, to represent individual objects and their settings:

[x] GET /v1/networks/{networkId}/views/{viewId}/{objectType}/{objectId} should have some access to visibility.

The second possibly belongs under the v1/apply area, and should provided automated hiding for sets of nodes/edges. Not certain whether or not this should follow the GUI pattern of using the GUI selection, as that is definitely stateful, and it would be more flexible to pass selections to hide/show directly from Python as lists.

[ ] Batch hide/show (see #73)

Already supported for individual graph objects. The visual properties that define this:
 {
    "visualProperty": "NODE_VISIBLE",
    "value": false
  }

 {
    "visualProperty": "EDGE_VISIBLE",
    "value": false
  }


Added even more words to German list and sorted it

Added over thirty new words

@muellermartin I imported this to our DoltHub bad-words repository, and included your changes. DoltHub is GitHub for Dolt. You can see your additions in this commit, which I submitted in a PR.


2.1.0 works, 2.2.0 doesn't. No errors given

I hate to be vague, but when I am using 2.2.0 lite-server doesn't open a browser tab in Chrome, hitting the URL results in ERR_CONNECTION_REFUSED, and I don't see anything helpful in the terminal log. I delete lite-server and install 2.1.0 and everything is normal. Is there a way to turn on logging or something?
gulpfile:
gulp.task('server', serverTask);

function serverTask() {
	// To require this is to execute it.
	require('lite-server');
}

bs-config:
{
  "notify": false,
  "port": 1337,
  "files": ["./dist/**/*{html,css,js}"],
  "server": {
    "baseDir": "dist"
  }
}

The API changed in lite-server 2.2 to allow greater control from gulp.
Take a look at the source: https://github.com/johnpapa/lite-server/blob/master/index.js
You should be able to change your serverTask() fn to:
require('lite-server').server(); // returns browsersync reference

did this resolve it for you?

closing due to inactivity


Performance Optimization and Cleanups

Heavily increase MetaData queries for Tables by setting read on access properties to expensive
Fixed missing close cursor statement
Enable edit of description on schema and table objects
bug in meta data query for views

Cool, thanks.
Note: when you declare "expensive" properties you need to add extra parameter (DBRProgressMonitor monitor) in property getter. Do not use VoidProgressMonitor.INSTANCE because operation will stuck forever if anything will go wrong. Real progress monitor allows to cancel most of IO or JDBC operations.

I've just fixed ExasolTable expensive properties. This was easy, in some other cases obtaining real progress monitor is tricky. Anyhow VoidProgressMonitor should be used only if you 100% sure that operation won't perform remote database request.


Bidirectional BatchSubscribeEnvelopes stream

Gives clients the ability to modify what they are subscribed to without tearing down and re-establishing the stream.
This is a little different from the old server - the client stream consists of deltas to the subscription request, rather than replacing the subscription request entirely. This saves the server implementation from having to tear down and re-establish the stream, and should be a little easier to implement.
https://github.com/xmtp/xmtpd/issues/167

We decided this is no longer necessary - clients will stream by cursor, and have only one cursor per stream, with an arbitrary number of topics


Connect/Migrate hadeeth data and subscribers to MongoDB (external data source)

This is a solution to #17

need to do more research and study on how to do so.


When I use pc.redirect, how to handle "redirect same url" error ?

Describe the bug
A clear and concise description of what the bug is.
I created a button that redirects the page using pc.redirect .
However, when I click the button twice and redirect to the same url, the following error appears (please refer screenshot).
To Reproduce
Steps to reproduce the behavior:
I have commented "here" on the offending part.
class GlobalState(BaseState):
    saved_filters: List[model.SavedFilter] = api.list_saved_filter()
    current_saved_filter: Optional[model.SavedFilter] = model.SavedFilter.default()

    def refresh_saved_filters(self) -> None:
        self.saved_filters = api.list_saved_filter()

    def redirect_saved_filter_content(self, saved_filter_: model.SavedFilter):
        self.current_saved_filter = saved_filter_
        try:
            return pc.redirect("/saved-filters") # here
        except:
            pass

def sidebar():
    return pc.box(
        pc.box(
            pc.link(pc.text("Query", font_size="1em"), href="/query"),
        ),
        pc.box(
            pc.text("Saved filters", font_size="xs", margin="0 0 1rem 0"),
            pc.foreach(
                GlobalState.saved_filters,
                lambda saved_filter: pc.box(
                    pc.link(
                        pc.text(
                            saved_filter.name_,
                            padding="0 0 0 1rem",
                            on_click=lambda: GlobalState.redirect_saved_filter_content(saved_filter.id),  # here
                            font_size="1rem",
                        ),
                        href="/filters",
                    ),
                    padding="0.2rem 0",
                    color="#00000080",
                    _hover={
                        "color": "#000000",
                        "cursor": "pointer",
                    },
                ),
            ),
            padding_top="1rem",
        ),
        width="20%",
        min_width="240px",
        height="100%",
        padding="1rem 1rem 0 0",
        border_right=f"0.07rem solid {style.Color.border}",
    )

Expected behavior
A clear and concise description of what you expected to happen.
Error messages should not be displayed even when redirected to the same url.
Screenshots
If applicable, add screenshots to help explain your problem.

** Specifics (please complete the following information):**

Python Version: 3.11.0
Pynecone Version: 0.1.13
OS: Mac OS Monetrey 12.6
Browser (Optional): Chrome 109.0.5414.87 arm 64

Additional context
Add any other context about the problem here.

other paths work besides the same path of the page though right?

Right.
Okay, I'll wait the time the problem is resolved.

Hi, I'm new here. Mind if I work on this issue?

Sure, thanks! Feel free to take this issue and join the discord if you have any questions or need help

Hi. I am unable to reproduce the same error in the following code.
"""Welcome to Pynecone! This file outlines the steps to create a basic app."""
from pcconfig import config

import pynecone as pc

docs_url = "https://pynecone.io/docs/getting-started/introduction"
filename = f"{config.app_name}/{config.app_name}.py"

class State(pc.State):
    """The app state."""
    cnt: int = 0

    def increment(self):
        self.cnt += 1

    def decrement(self):
        self.cnt -= 1

    def redirect(self):
        return pc.redirect("/")

    pass

def index():
    return pc.hstack(
        pc.button(
            "Decrement",
            color_scheme = "red",
            border_radius = "1em",
            on_click = lambda : State.redirect()
        ),
        pc.heading(State.cnt, font_size = "2em"),
        pc.button(
            "Increment",
            color_scheme = "green",
            border_radius = "1em",
            on_click = State.increment
        ),
    )

# Add state and page to the app.
app = pc.App(state=State)
app.add_page(index, route="/")
app.compile()

I get no error on clicking the decrement button. I get an error if I change the redirected URL to a route that does not exist. (For example, if I change the pc.redirect("/") to pc.redirect("/hello"), then I get the error that @heumsi has mentioned.

I think it's  some kind of code leak.

I too ran into this issue when I was working with pages. I solved my issue in the following way:

Anything passed into pc.redirect() needs to account for spaces. So these need to be handled.
pc.redirect() should be in lower caps, so using lower() is needed.

Here's an example:

# Endpoint #2: Get specific book by title
def get_book(book_title: str, data: dict):
    def book_page() -> pc.Component:
        # so here when we search for a book title in the input field,
        # our main page to be created is book_page.
        # this will call the book_ui method and display the book we searched for.
        return book_ui(data)

    # this function crates and adds the page so that we can access it.
    # this way, the page is only crated when a title is searched,
    # rather than creating all pages when loading the website/app,
    # some titles have spaces in them, and we should be able to handle this.
    # the below function used replace() to replace the spaces with a hyphen
    route = book_title.replace(" ", "-")

    # moreover, the route should be all lower caps, so we use the .lower() func.
    @pc.route(route=f"/books/{route.lower()}", title=book_title)
    def book_page_route() -> pc.Component:
        return book_page()

    return book_page_route

    # handle the create page for book title search
    def get_book_by_title(self):
        # first, we need to loop through all the data and get the book we searched
        book = [book for book in self.books if book["title"] == self.input_value]
        # get the first element of the list because we are only retunring one book
        book = book[0]
        # call the create book page method and pass in the args
        get_book(self.input_value, book)
        # compile the app
        app.compile()
        # re-route to the corresponding page
        # we repeat the same thing here...
        route = book["title"].replace(" ", "-")
        return pc.redirect(f"http://localhost:3000/books/{route.lower()}")

By doing doing this, I was able to get the correct pages and redirect correctly.
You can also try and printing the pages using app.pages method.

Hi @heumsi , I'm looking at this but same as @Sanyam-Garg , I'm not able to reproduce this.
It seems to me that the error is complaining more about invalid/non-existing routes? From your error message, seems the problematic lines aren't those with /save-filters, but it's where you have the href="/filters",?
Can you point me to a full example if possible? just wanted to make sure that the /filters path is accessible.

Agreed - this error means that you are redirecting to a page that does not exist. I created this issue to throw a more clear error message when this happens #1196


Create sqlserver.md

The product has a very confusing lifetime. Due to the multitude of versions and the strong emphasis on the Azure SQL version, it is sometimes difficult to understand the exact life cycle.
Each version has its own sub-products that use a same engine, and which separate the licensing method and the purpose of the product

Build is failing. Kindly refer to https://github.com/captn3m0/endoflife.date/blob/master/CONTRIBUTING.md for the sample markdown files to add tools

To help you with verifying if the site builds properly - https://github.com/captn3m0/endoflife.date/blob/master/HACKING.md#development

assigning myself, will fix and merge tonight.

Thanks a lot @V3sp :+1:


remove obsolete odb tcl & python

In this PR

OpenDB's tcl and python standalone executables are removed as well as redundant obsolete tests.
OpenDB's python unittests are updated

Note: some of the tests are commented because of changes in API's that lead to failure. Fix is not straight forward as well.
Added a new helper function create_db to create a db and link it to a logger

Added section for OpenROAD's python mode in README

DCO!

DCO!

I am gonna create a new PR on a new branch because rebasing to that point is impossible.


Stop showing "Zulip needs your permission to enable desktop notifications"

I am participating in some Zulips where I deliberately do not want desktop notifications (the reasons do not matter). So when Zulip says "Zulip needs your permission to enable desktop notifications", I just close that banner. Unfortunately, Zulip shows the banner every single time I log in. This kind of constant nagging is rather irritating.  I wish Zulip would request my choice of not wanting desktop notifications, and it would just stop showing that banner.
I even tried removing all checkmarks for "desktop" notifications in the settings, and that did not help either.

Thanks for the report. I'm a bit puzzled -- when you click the X on the banner, it should display this revised banner:

Clicking the "never" option there should do what you want.
The other option is to approve it and then just uncheck desktop notifications in "notification settings" -- you'll have given Zulip permission to do at the browser level so but configured that organization to never so.

Clicking the "never" option there should do what you want.

I assume that doesn't work since I do not usually permit websites to store cookies across a browser restart. And indeed I would like the option to be 'never ask for this account', which IMO makes more sense -- Zulip already has an account for me, so there is no need to use cookies to store preferences like this.

The other option is to approve it and then just uncheck desktop notifications in "notification settings" -- you'll have given Zulip permission to do at the browser level so but configured that organization to never so.

I will try that, thanks. It is somewhat counterintuitive though.


Added error handling

PR Fixes:

1 1 Handles sigin errors better with toasts

Resolves #[#1225 ]
Checklist before requesting a review

[x] I have performed a self-review of my code
[x] I assure there is no similar/duplicate pull request regarding same issue

@devsargam
This is #1226 with minimal changes.
Kindly check.

Thank you sir!!


test(auth): Added unit test for auth reducer, closes #334

What:

Added unit test for AuthReducer

Issue number: #334

@erhise  thank you for your contribution!


ThreadMode.MAIN should cause events to queue

IMHO if a subscriber is configured as ThreadMode.MAIN, then events to it should always be queued for the next main Thread loop. Ie even if the caller is the main thread, the event would be added to the main thread queue instead of being delivered in the current thread of execution.
I say this because if you have caller1 (background thread) and caller2 (main thread) both posting EventA to a subscriber configured with ThreadMode.MAIN, then even though caller1 posts before caller2, caller1's event may get delivered last.
A classic example of this is where caller1 is notification of an event starting and caller2 is of event ending. Because caller2 is main thread, the order of the events gets reversed.
NB you may not always know what thread your callers will be invoked from, especially if the initiator is from another library.
If it is not palatable to enforce delivery to ThreadMode.MAIN subscribers in a separate main Thread loop, then ThreadMode.MAIN subscribers should be able to be configured to allow this to happen. Adding a new ThreadMode would suffice, eg ThreadMode.MAIN_DEFERRED.

This would also be a solution to #318. Thanks for the PR!
@greenrobot This is worth a look.
-ut

I would expect that all events requested to be delivered via a certain delivery mode would be processed in the order that they were posted. The actual order of delivery would depend on the semantics of the delivery mode.
Real life example was:

Network availability (background thread) initiates a connection to server and posts a start event. Subscriber is requesting event in MAIN thread as it needs to present UI on start of the connection.
Connection makes async call to a library and waits for connection success/fail callback. On success/fail a stop event is posted to a Subscriber configured for MAIN thread.
Library makes connection success callback in MAIN thread. Stop event is posted and appears immediately.
Start event is processed some time later.

I don't think performance is the right attribute to focus on here. Correctness is more relevant. The intent of an EventBus is to decouple event emitter from event consumer. By posting an event on the same thread as the emitter you are coupling the emitter to the consumer based on execution context. It is overriding the execution context explicitly defined by the subscriber.

That makes sense to me. That was the intent behind #308 . Provide the capability and then make it default.
I have have come to believe that all events handled by the EventBus need to be handled async in order to completely decouple the poster from the subscriber. If in-thread execution is required then it is tantamount to an implicit method invocation. And implicit anything is a bad smell.