Restore edimax type error check for units without energy tracking

Description:
Some edimax switch devices don't have energy tracking functionality, so this change adds back the handling of the type error when trying to convert the energy usage values allowing them to be set back to None instead of yielding the following traceback as in the current release:
Traceback (if applicable):
ERROR (MainThread) [homeassistant.helpers.entity] Update for switch.kitchen1 fails^[[0m
Traceback (most recent call last):
  File "/Users/josh/.pyenv/versions/3.6.2/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 204, in async_update_ha_state
    yield from self.async_device_update()
  File "/Users/josh/.pyenv/versions/3.6.2/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 327, in async_device_update
    yield from self.hass.async_add_job(self.update)
  File "/Users/josh/.pyenv/versions/3.6.2/lib/python3.6/asyncio/futures.py", line 332, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/Users/josh/.pyenv/versions/3.6.2/lib/python3.6/asyncio/tasks.py", line 250, in _wakeup
    future.result()
  File "/Users/josh/.pyenv/versions/3.6.2/lib/python3.6/asyncio/futures.py", line 245, in result
    raise self._exception
  File "/Users/josh/.pyenv/versions/3.6.2/lib/python3.6/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/josh/.pyenv/versions/3.6.2/lib/python3.6/site-packages/homeassistant/components/switch/edimax.py", line 86, in update
    self._now_power = float(self.smartplug.now_power)
  File "/Users/josh/.homeassistant/deps/lib/python3.6/site-packages/pyedimax/smartplug.py", line 208, in now_power
    float(res)
TypeError: float() argument must be a string or a number, not 'NoneType'

Related issue (if applicable): fixes #13619
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>
Example entry for configuration.yaml (if applicable):
switch:
  - platform: edimax
    name: Kitchen1
    host: <IP_ADDRESS>

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass

Removal of TypeError was requested here https://github.com/home-assistant/home-assistant/pull/13011


Unable to set Activationstrategy

I'm submitting a bug report

Library Version:
Aurelia CLI 0.24.0

Operating System:
Windows 10

Node Version:
6.9.4

NPM Version:
3.10.10

Browser:
Chrome 55

Language:
TypeScript 2.1.5

Current behavior:
We want to set the activationStrategy to invokeLifecycle, but it does not work.
Reproduce
We created a new application through the Aurelia CLI, created a new page under src with contents:
<template>FOO</template>

it's .ts file:
export class tst{};

In our app.ts we define:
 import { Router, RouterConfiguration, activationStrategy } from 'aurelia-router';

export class App {
  message = 'Hello World!';

  determineActivationStrategy() {
    alert("tst");
    return activationStrategy.invokelifecycle;
  }

  public configureRouter(config: RouterConfiguration, router: Router) {
    config.map([
      { route: ['', 'foo'], name: 'foo', moduleId: 'tst', title: 'FOO', nav: true, }
    ]);
  }
}

When navigating to the website, Hello word is displayed, as well as FOO. So the routing worked.
But we never hit the alert which is in our determineActivationStrategy function.

That method is per-screen. So, you need to place it on the tst module, not on app.


798 census individual schema final content update

What is the context of this PR?
Review/Update individual schema
https://trello.com/c/PrZli0nM/798-census-individual-schema-final-content-update
Slides https://docs.google.com/presentation/d/1eD3btr06jWJA8bwo6lBoes2IQMkrgYY5_saUd4aALPs/edit#slide=id.g1763972a4f_1_377
How to review
Open sides in one screen and individual survey in the other and check slides

Is there any reason I'd be getting a confirmation screen with a list with a single item on it in this branch?

@benjefferies Can you update the Date of Birth example to 1980 instead of 2014 - Discussed with Louise.

@collisdigital Changed the date of birth examples
@iwootten this has been fixed in https://github.com/ONSdigital/eq-survey-runner/pull/688/files

Referencing Trello card
3. What is date of birth? Example of date done in census_household.json, rather than census_individual.json, probably should be both.
22a. Last year address, seeing 22
23. Other isn't type 'Other' so this doesn't need changing, additional this won't be a problem anyway

What is date of birth? Example of date done in census_household.json, rather than census_individual.json, probably should be both. - Fixed
22a. Last year address, seeing 22 - Fixed on census household branch
Other isn't type 'Other' so this doesn't need changing, additional this won't be a problem anyway Thanks for confirming

Tested against latest slides. Found:

Some guidance text gets cut off on the right hand side:

Question numbers aren't being output for all questions.
Routing issue on question '23. What passports do you hold?' - If other selected with other options, 23a is not displayed. This needs #687 merged before it can work

@ajmaddaford  Question numbers being output on questions with multiple answers is fixed in #683 see https://github.com/ONSdigital/eq-survey-runner/pull/683/files#diff-e80db9608eb2273765145ab36a20454eR23


noissue bumped dependencies

Codecov Report
Base: 65.60% // Head: 65.60% // No change to project coverage :thumbsup:

Coverage data is based on head (1295bbf) compared to base (4ab8a74).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #119   +/-   ##
=======================================
  Coverage   65.60%   65.60%
=======================================
  Files          71       71
  Lines        1442     1442
  Branches       31       31
=======================================
  Hits          946      946
  Misses        496      496

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Engine Routes with dynamic segments cannot be linked from the consuming app.

Example Setup
Engine routes.js
  this.route('foo', { path: '/:id'});

App router.js
this.mount('<some-engine>', { as: 'my-engine', path: 'baz'});

App application.hbs
{{#link-to 'my-engine.foo' 1}} Link to Foo (1) {{/link-to}}

Example Error
ember.debug.js:18694 Error: Assertion Failed: You used the dynamic segment id in your route foo, but <app-name>.Foo did not exist and you did not override your route's `model` hook.
    at new Error (native)
    at Error.EmberError (http://localhost:4200/assets/vendor.js:33145:21)
    at assert (http://localhost:4200/assets/vendor.js:21159:13)
    at Object.assert (http://localhost:4200/assets/vendor.js:32957:34)
    at Object.find (http://localhost:4200/assets/vendor.js:43463:28)
    at model (http://localhost:4200/assets/vendor.js:152988:32)
    at _emberRuntimeSystemObject.default.extend.deserialize (http://localhost:4200/assets/vendor.js:43430:19)
    at Object.applyHook (http://localhost:4200/assets/vendor.js:79140:30)
    at Object.HandlerInfo.runSharedModelHook (http://localhost:4200/assets/vendor.js:77329:33)
    at Object._routerUtils.subclass.getModel (http://localhost:4200/assets/vendor.js:77245:19)

Leaving a note for those weary spelunkers that come after me, having ventured on a long journey attempting to discover why their routes fail.
The real issue here is that Ember has provided a store service basically since the beginning, with an API that is close to ember-data, and which attempts a global lookup for model for you.
In an engine, even if you've shared the store service from your app to the engine, it has not yet been injected onto Route's and Controllers.  So the store property on a route or controller will refer to this Ember API, and not the store you might expect.
You'll want to either inject the store on just those routes / controllers where you need it, or you'll need to setup an initializer that injects it onto all routes and controllers for you.
<3


fix: vscode.window.onDidChangeWindowState in extHost not triggered

I've an extension which rely on this vscode.window.onDidChangeWindowState extHost api, but since code-server did not implemented the focus and blur events in the custom windowsService, my extension doesn't work in the code-server. So I make this fix and it works on my local environment. I hope this change can fit into the mainline version.

Notice that your guys rewrite the code-server based on the vscode-remote version. 😂
I just test the code-server 2 preview.

@LeuisKen does this work in the v2 prerelease?


feat: add dev info to temp file

Codecov Report

Merging #511 (d98cc0c) into release-next (a6cc811) will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff              @@
##           release-next     #511   +/-   ##
=============================================
  Coverage         87.80%   87.80%
=============================================
  Files                21       21
  Lines               779      779
  Branches            196      196
=============================================
  Hits                684      684
  Misses               86       86
  Partials              9        9


Distinguish star bindings from star-named bindings

Fixes #56
Modules can bind an export name to the literal string '*', so namespace bindings require a special binding notation.
[edit: This is a strawman; I expect bike-shedding]

I fear that it's too easy to confuse exportAs/importAs with just as. In import { x as y }, I'm importing x and and I am importing it as y: there is no intuitive way to remember if it's { import: "x", as: "y" } or { import: "x", importAs: "y" }.
I think that the solution you proposed in https://github.com/tc39/proposal-compartments/issues/56#issuecomment-1155807735 is better: import * is already read as "import all" or "import namespace", so naming the option importAll would avoid confusion.

I'd be wary of * anyway since it doesn't have a consistent meaning unfortunately export * excludes default but import * does not.

In revising, I found the names I proposed were inadequate. I’m now proposing:
  // import * as X from 'X';
  { importAllFrom: string, as: string } |

  // export * from 'X';
  { exportAllFrom: string };


[FEATURE] Panic if configuration for the harvester cloud provider is invalid.

Is your feature request related to a problem? Please describe.

Once the ccm runs with failure, the taint node.cloudprovider.kubernetes.io/uninitialized: true will be added. The scheduler will not schedule the pods without the tolerance to the nodes and most of the pods will be pending. It's better to go to panic rather than just printing error logs once the configuration for the harvester cloud provider is invalid to make users easier to find the pending reason.
Describe the solution you'd like

Describe alternatives you've considered

Additional context

(1) There are 4 places where klog.Fatalf is called, but no panic
(2) There are also 2 places of os.Exit, should them also be panic? @yaocw2020
https://github.com/harvester/cloud-provider-harvester/blob/3f55818ed78b709912f2c3e1f449882171f6cc55/main.go
Call of klog.Fatalf, but no panic
func main() {
	ccmOptions, err := options.NewCloudControllerManagerOptions()
	if err != nil {
		klog.Fatalf("unable to initialize command options: %v", err)
	}
}

func cloudInitializer(config *cloudcontrollerconfig.CompletedConfig) cloudprovider.Interface {
	cloudConfig := config.ComponentConfig.KubeCloudShared.CloudProvider
	// initialize cloud harvester with the cloud provider name and config file provided
	cloud, err := cloudprovider.InitCloudProvider(cloudConfig.Name, cloudConfig.CloudConfigFile)
	if err != nil {
		klog.Fatalf("Cloud provider harvester could not be initialized: %v", err)
	}
	if cloud == nil {
		klog.Fatalf("Cloud provider harvester is nil")
	}

	if !cloud.HasClusterID() {
		if config.ComponentConfig.KubeCloudShared.AllowUntaggedCloud {
..
		} else {
			klog.Fatalf("no ClusterID found.  A ClusterID is required for the cloud harvester to function properly.  This check can be bypassed by setting the allow-untagged-cloud option")
		}
	}

	return cloud
}

Call of os.Exit
		if err != nil {
			klog.Errorf("set flag %s failed, error: %s", fl.Name, err.Error())
			os.Exit(1)
		}
	})

	logs.InitLogs()
	defer logs.FlushLogs()

	if err := command.Execute(); err != nil {
		os.Exit(1)
	}

(1) There are 4 places where klog.Fatalf is called, but no panic (2) There are also 2 places of os.Exit, should them also be panic? @yaocw2020
https://github.com/harvester/cloud-provider-harvester/blob/3f55818ed78b709912f2c3e1f449882171f6cc55/main.go
Call of klog.Fatalf, but no panic
func main() {
	ccmOptions, err := options.NewCloudControllerManagerOptions()
	if err != nil {
		klog.Fatalf("unable to initialize command options: %v", err)
	}
}

func cloudInitializer(config *cloudcontrollerconfig.CompletedConfig) cloudprovider.Interface {
	cloudConfig := config.ComponentConfig.KubeCloudShared.CloudProvider
	// initialize cloud harvester with the cloud provider name and config file provided
	cloud, err := cloudprovider.InitCloudProvider(cloudConfig.Name, cloudConfig.CloudConfigFile)
	if err != nil {
		klog.Fatalf("Cloud provider harvester could not be initialized: %v", err)
	}
	if cloud == nil {
		klog.Fatalf("Cloud provider harvester is nil")
	}

	if !cloud.HasClusterID() {
		if config.ComponentConfig.KubeCloudShared.AllowUntaggedCloud {
..
		} else {
			klog.Fatalf("no ClusterID found.  A ClusterID is required for the cloud harvester to function properly.  This check can be bypassed by setting the allow-untagged-cloud option")
		}
	}

	return cloud
}

Call of os.Exit
		if err != nil {
			klog.Errorf("set flag %s failed, error: %s", fl.Name, err.Error())
			os.Exit(1)
		}
	})

	logs.InitLogs()
	defer logs.FlushLogs()

	if err := command.Execute(); err != nil {
		os.Exit(1)
	}

Our purpose is to stop the program, so both os.Exit() and panic would be fine. In some way, os.Exit() is more comprehensive.
Reference: https://stackoverflow.com/questions/28472922/when-to-use-os-exit-and-panic

@yaocw2020
Referring the link and code here:
The  first os.Exit seems should be replaced with  panic, the "defer logs.FlushLogs()" needs to be run before exit, otherwise, the last log may be lost,  the code plans to leave log and exit asap,  but os.Exit doesn`t give chance to logs.FlushLogs()
The second os.Exit seems should be removed, because it also shortcuts the deferred function execution, when the main() functions goes to end, then program will terminate by nature.
Those two os.Exit can also be replaced with "return", let go routine process all deferred work, and make sure the log is flushed, the user will get info from log. If use "panic" instead, then it will be attractive.
Maybe all of those os.Exit and planned panic in main.c here, should be replaced with "return" to terminate the program.
I will further check :  "Once the ccm runs with failure, the taint node.cloudprovider.kubernetes.io/uninitialized: true will be added"
Notice the "defer"
		if err != nil {
			klog.Errorf("set flag %s failed, error: %s", fl.Name, err.Error())
			os.Exit(1)  ---> first
		}
	})

	logs.InitLogs()
	defer logs.FlushLogs()

	if err := command.Execute(); err != nil {
		os.Exit(1) ---> second
	}

Normally, the klog will flush every 5 seconds.
If we really need to terminate the program, maybe call logs.FlushLogs() directly before os.Exit.
The defer is a widely used feature in golang, shortcut it should be carefully checked.
https://github.com/kubernetes/component-base/blob/v0.22.4/logs/logs.go#L62

var logFlushFreq = pflag.Duration(logFlushFreqFlagName, 5*time.Second, "Maximum number of seconds between log flushes")

// InitLogs initializes logs the way we want for kubernetes.
func InitLogs() {
	log.SetOutput(KlogWriter{})
	log.SetFlags(0)
	// The default glog flush interval is 5 seconds.
	go wait.Forever(klog.Flush, *logFlushFreq)
}

// FlushLogs flushes logs immediately.
func FlushLogs() {
	klog.Flush()
}


This lets you run embed and rerank locally.

I wanted to demonstrate/run everything local so there was no chance of data leakage.
There is a bit of a hack in here because the NGC_API_KEY needs two have two different values in two different places.  The rerank and embed services need a non nvapi- key to pull down their models on startup.  The chat front end requires a nvapi- key to talk to the remote nvidia endpoints.  Chat startup fails if the key doesn't start with nvapi-. So I added a second NGC_API_KEY_2 with a description of where to get the key
Tested on Ubuntu with a TITAN RTX card.

This PR may conflict with https://github.com/NVIDIA/nim-anywhere/pull/31

Thanks Joe. The trick here is that the nvapi keys are tied to specific teams in NGC. The old style keys are not specific to a team.
So you'll need to create your nvapi key in the team that you are a member of that has access to the embed and rerank services.

I have literally nine different keys I created by poking around. None of the them work for everything :-( I'm not sure I'm even in a team let alone one that has access to the embed and rerank service.

So you'll need to create your nvapi key in the team that you are a member of that has access to the embed and rerank services.

I have no idea what this means or how to do it.  I have a team but I don't see any way to assign keys to a team.


feat(mock-builder): ApplicationModule providers

By default all providers of ApplicationModule will be kept until they're explicitly mocked / replaced.

Hi @ike18t, how is life?
Is there a change to review PRs this weekend?

Hey @ike18t, ping ping.


feat: make few improvements to the prover

Motivation
Make the @lodestar/prover useful for production.
Description

Utilize batch request to improve performance
Expose api object on the root provider
Verify the execution compatibility on start
Add support for the timeout to the proxy

Partially #4706
Steps to test or reproduce

Run all tests

:tada: This PR is included in v1.9.0 :tada:


Feature/ignore avoid_catches_without_on_clauses always_use_package_imports in generated code

A simple PR which ignores always_use_package_imports in intl/messages_all.dart and l10n.dart, and avoid_catches_without_on_clauses in messages_all.dart.

Alternatively only always_use_package_imports can be added to l10n.dart, and the remaining generated files can ignored using the analyzer:
analyzer:
  exclude:
    - lib/generated/intl/*

If l10n.dart is ignored, however, then IDEs (at least VSCode) can auto import localization delegates.
Happy to update PR as you see fit :)

Hi @defuncart,
Thanks for the PR!
As you mentioned, it is possible to exclude some files and directories from the analysis. Could you provide us more details on why excluding all generated files from the analysis does not work for you?
The analysis_options.yaml file:
analyzer:
  exclude:
    - lib/generated/l10n.dart
    - lib/generated/intl/*

*Earlier, we were adding lint ignore comments within generated files as analyzer exclude didn't work.

@lzoran Did they fix the exclude with the analyzer yet? I just now created a feature request just because I ran into that exact issue (since exclude does not seem to work on Dart 2.13 on VS Code, I can only try to use ignore_for_file)


test: setup vscode-e2e

~After further exploration, I ended up creating a package vitest-e2e https://github.com/hi-ogawa/vscode-extension-shell-shortcut/tree/main/packages/e2e, so let me dog-food this here.~
EDIT: now all code is inlined to test-e2e/helper.ts

You can download playwright trace.zip from the artifact https://github.com/vitest-dev/vscode/actions/runs/8135218393 and you can load it on https://trace.playwright.dev/
~Current (failing) trace looks like this now:~ Finally successful trace is here:
Screenshot

I just found one more idea of providing launch function fixture  a0a709d.
This is inspired by playwright's internal fixture _contextFactory https://github.com/microsoft/playwright/blob/d5d4f591f35970f48ffe82bfc5c9e117660d7f0f/packages/playwright/src/index.ts#L304

As I've seen test-e2e failing a few times on ecosystem-ci PR https://github.com/vitest-dev/vitest-ecosystem-ci/pull/12, I just found it's also failing in this repo too:
https://github.com/vitest-dev/vscode/actions/runs/8139113562/job/22241536646
This failing trace is showing that "Test result not found" for all-pass.test.ts, but I'm not sure what race condition would cause this:
Trace screenshot

Probably just adding --retry should save us from CI failure for now.

Can this be merged? I would love to have some new tests in #253

Yeah, I think this was is ready. Please feel free to merge!


update README example to use instance variables

Summary
The examples in the README show component templates using local variables instead of instance variables. If you followed the examples, you would raise "undefined local variable or method" error.
Other Information
none

@ultrawebmarketing @jonspalmer do you think it would be better to recommend use of attr_readers or instance variables? I have a distaste for ivars myself, but it's probably baseless in this context.

you make the call. i'm impartial to either.

So, maybe my previous comment was a little premature. Here is something to consider. When using attr_reader, although you have to add one more line into the component definition to declare what instance variables you want to create a reader accessor for, it makes porting partials over to components a breeze. Essential I can copy and paste my partial template directly into my component template.

My sense is we should encourage attr_reader and I've very comfortable that the examples we have document that.

@rmacklin while I agree that most of the example will pass CI without altering them, it's the consistency that I'm after. I don't want people getting tripped up like I did. Which ever way has the final say, I will update the doc.

I think attr_readers do a great job of protecting against typos because you get a NoMethodError, whereas undefined ivars silently render nil.

I updated my pull request to use attr_reader and also corrected some errors when running the examples. For some reason the checks are failing with the following, but I think it's unrelated:
Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    bundler (>= 1.14)

    rails (= 5.0.0) was resolved to 5.0.0, which depends on
      bundler (< 2.0, >= 1.3.0)

  Current Bundler version:
    bundler (2.1.4)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
##[error]Process completed with exit code 6.


It's not working with Tablet and also Width is fixed

In MaterialEntry.xaml you have set the Width of BorderlessEntry to 200 which does not work on tablet. I have tried to remove the fixed width and set Horizontal Options="Fill" but then also it's width not increase properly.
 <controls:BorderlessEntry VerticalOptions="Center"
                                      HorizontalOptions="Fill"
                                      Focused="MEEntry_Focused"
                                      Unfocused="MEEntry_Unfocused"
                                      x:Name="MEEntry"
                                      Text="{Binding Text}"
                                      HeightRequest="{OnPlatform iOS=40, MacCatalyst=40}">

Can we make it dynamic based on device resolution?

Yep absolutely. I mentioned in the video that if I were doing this for real I wouldn't hard-code those values. You can use the OnSizeAllocated method to get the screen width and set the value based on that.


Using "axes_measurement" to pass an axis to MSInlet.gas_flux_calibration_curve() broken

When passing an axis to MSInlet.gas_flux_calibration_curve() using axes_measurment, this should highlight the signal over the tspan selected to calculate the calibration. It doesn't work, however, when using the option of using a certain concentration in a carrier gas. Must have something to do with how the highlighted part is generated, seems it calculates the flux somehow?

I haven't tested it, but I would guess the same goes for single point gas calibrations.

Any chance you can provide a working example and data that reproduces the bug?

There's an example here: https://github.com/ixdat/tutorials/blob/new_ecms_tutorials/ec_ms_quantification/EC-MS_ixdat_tutorial.ipynb

fixed.


the plugin keeps creating undefined frames and how do I set each image to its natural size?

so these are my options:
                    $(el).spritespin({
                        source: sprArr,
                        loop: false,
                        sizeMode: 'fit',
                        renderer: 'image',
                        animate: false,
                        frames: sprArr.length,
                        plugins: [
                        '360',
                        'move'
                        ],
                        responsive: true
                    });
                });

where el is the container of my imgs and sprArr is where I push those img's srcs.
now to fix the issue with undefined frames I just forced it to use the exact number of imgs that are in my sprArr and it seems to have worked.
But I can't figure out how to display my imgs in their natural size... they all seem to stretch out no matter what values I pass to: sizeMode or responsive
I gave the container a width in % but it seems to ignore that and it calculates its own width.
So when sizeMode: 'fit' they seem to stretch at the size of the biggest img,
when sizeMode: 'original' they stretch at the size of the smallest img and
when responsive: false they stretch to an even smaller size?!

When using the 360 plugin, you have to tell spritespin how many frames you are going to use per 360 rotation (frames option) and how many viewing angles you have (lanes option). If you dont, spritespin will try to guess these values but that only works in rare cases. I doubt that you actually need the 360 plugin, since you don't have  the lanes option set. Now remove the 360 plugin from your setup. Then if frames is not set, it will fallback to source.length.
If width and height is not set (as in your example), spritespin will use the width and height of the first image and use that as the size of the container. All images should have the same size or the same aspect ratio. Otherwise they will be stretched into the size of the container (size of first image). You can use the sizeMode to avoid stretching:
sizeMode: 'original' will not stretch the image and place it horizontally and vertically centered using the original image dimensions.
sizeMode: 'fit' will scale the image so it fits into the container without cutting the image off.
sizeMode: 'fill' will scale the image so it fills the whole container. The image might get cut off.

thanks! I think I got it... also happy new year!
you may close this thread


RBAC prototype for Group Maintenance

AD-managed metadata

Figure out how to store meta-data along with the AD objects.

Adding a custom attribute into ActiveDirectory and assigning to AD Classes :
https://social.technet.microsoft.com/wiki/contents/articles/20319.how-to-create-a-custom-attribute-in-active-directory.aspx

Obsolete because of Issue SynapseProject/handlers.ActiveDirectory.net#85


add target for badge button

Hi, how can I add target function for the badge when I click on it?
And thanks for this awesome library.

Hi! Thanks for your feedback.
Unfortunately any interaction with the badge is not currently supported as there is no way to access the badge's view. What is your use case? Would making currentBadge property on BadgeController public instead of private solve your issue?

Hi, again. Thanks for your response. I am making an MCQ app in which the badge button shows the number of answers selected, and also be submitted when the badge is clicked. I will let you know if I come up with a better solution or suggestions.

Hi!
I just released new version of BadgeControl that contains changes that should solve your problems. You can now use currentBadge property on BadgeController to access the current badge (and you can for example attach a gesture recognizer to it so that you can click on it).
Also you can create your own BadgeImageView as the initializer is now public (unfortunately it's not possible to modify it after creation, if you need this behavior, feel free to open a PR!).
Let me know if this solves your issue!


The LIBGRAPELITE_HOME should be pointed to where it locates.

rather than the hard absolute path where it placed during installation.

Codecov Report

Merging #27 (cde4c34) into master (9b4467f) will decrease coverage by 0.07%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #27      +/-   ##
==========================================
- Coverage   86.38%   86.31%   -0.08%
==========================================
  Files          50       50
  Lines        3350     3310      -40
==========================================
- Hits         2894     2857      -37
+ Misses        456      453       -3

Flag
Coverage Δ

app_tests
86.31% <ø> (-0.08%)
:arrow_down:

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

Impacted Files
Coverage Δ

grape/parallel/parallel_engine.h
93.79% <0.00%> (+0.30%)
:arrow_up:


Ingest Data on v0.3.1 and Data History

Dear Catalyst Maintainers,
Before I tell you about my issue, let me describe my environment:
Environment

Operating System: Ubunutu 16.04
Python Version: python 2.7

Description of Issue

Ingest Data not being loaded for many markets. I have only focused on Poloniex minute data but here is a list of pairs that currently do not work with version 0.3.1

'bcn_btc', 'burst_btc', 'dgb_btc', 'doge_btc', 'emc2_btc', 'pink_btc', 'sc_btc'
Out of a total of 69 pairs in Poloniex BTC market we have 7 pairs not working

Data History is not accurate. data prices are not matching exchanges prices on that date at that time.
This may be because data from the 3 exchanges are being now aggregated, but that's not the only issue.
Data values are spiking/jumpy. Example prices increase from 1.4e-6 to 1.6e-6 in 30 minutes when the expected behavior (on exchange candle data) was that it will incrementally increase from 1.4e-6 to 1.43 to 1.5 to 1.55 to 1.6. These are just hypothetical numbers but I have seen this behavior in most currencies since the update.

These two errors did NOT exist on version 0.2.X
Here is how you can reproduce this issue on your machine:
Reproduction Steps

Run the following code. lines 64-70 comment the markets that give errors. Uncomment them to filter them from the universe.

Code
import pandas as pd
from catalyst import run_algorithm
from catalyst.exchange.exchange_utils import get_exchange_symbols

from catalyst.api import (
    symbols,
)

def initialize(context):
    context.i = -1
    context.base_currency = 'btc'

def handle_data(context, data):
    lookback = 60 * 24 * 7  # (minutes, hours, days)
    context.i += 1
    if context.i < lookback:
        return

    today = context.blotter.current_dt.strftime('%Y-%m-%d %H:%M:%S')

    try:
        # update universe everyday
        new_day = 60 * 24
        if not context.i % new_day:
            context.universe = universe(context, today)

        # get data every 30 minutes
        minutes = 30
        if not context.i % minutes and context.universe:
            for coin in context.coins:
                pair = str(coin.symbol)

                # ohlcv data
                open = data.history(coin, 'open', lookback, '1m').ffill().bfill().resample('30T').first()
                high = data.history(coin, 'high', lookback, '1m').ffill().bfill().resample('30T').max()
                low = data.history(coin, 'low', lookback, '1m').ffill().bfill().resample('30T').min()
                close = data.history(coin, 'price', lookback, '1m').ffill().bfill().resample('30T').last()
                volume = data.history(coin, 'volume', lookback, '1m').ffill().bfill().resample('30T').sum()

                print(today, pair, close[-1])

    except Exception as e:
        print(e)

def analyze(context=None, results=None):
    pass

def universe(context, today):
    json_symbols = get_exchange_symbols('poloniex')
    poloniex_universe_df = pd.DataFrame.from_dict(json_symbols).transpose().astype(str)
    poloniex_universe_df['base_currency'] = poloniex_universe_df.apply(lambda row: row.symbol.split('_')[1],
                                                                       axis=1)
    poloniex_universe_df['market_currency'] = poloniex_universe_df.apply(lambda row: row.symbol.split('_')[0],
                                                                         axis=1)
    poloniex_universe_df = poloniex_universe_df[poloniex_universe_df['base_currency'] == context.base_currency]
    poloniex_universe_df = poloniex_universe_df[poloniex_universe_df.symbol != 'gas_btc']

    # Markets currently not working on Catalyst 0.3.1
    # 2017-01-01
    # poloniex_universe_df = poloniex_universe_df[poloniex_universe_df.symbol != 'bcn_btc']
    # poloniex_universe_df = poloniex_universe_df[poloniex_universe_df.symbol != 'burst_btc']
    # poloniex_universe_df = poloniex_universe_df[poloniex_universe_df.symbol != 'dgb_btc']
    # poloniex_universe_df = poloniex_universe_df[poloniex_universe_df.symbol != 'doge_btc']
    # poloniex_universe_df = poloniex_universe_df[poloniex_universe_df.symbol != 'emc2_btc']
    # poloniex_universe_df = poloniex_universe_df[poloniex_universe_df.symbol != 'pink_btc']
    # poloniex_universe_df = poloniex_universe_df[poloniex_universe_df.symbol != 'sc_btc']
    date = str(today).split(' ')[0]

    poloniex_universe_df = poloniex_universe_df[poloniex_universe_df.start_date < date]
    context.coins = symbols(*poloniex_universe_df.symbol)
    print(len(poloniex_universe_df))
    return poloniex_universe_df.symbol.tolist()

if __name__ == '__main__':
    start_date = pd.to_datetime('2017-01-01', utc=True)
    end_date = pd.to_datetime('2017-10-15', utc=True)

    performance = run_algorithm(start=start_date, end=end_date,
                                capital_base=10000.0,
                                initialize=initialize,
                                handle_data=handle_data,
                                analyze=analyze,
                                exchange_name='poloniex',
                                data_frequency='minute',
                                base_currency='btc',
                                live=False,
                                live_graph=False,
                                algo_namespace='test')

Error
[2017-10-24 19:06:46.909017] INFO: exchange_bundle: pricing data for [u'bcn_btc'] not found in range 2017-01-01 05:30:00+00:00 to 2017-01-08 05:30:00+00:00, updating the bundles.
    [====================================]  Fetching poloniex minute candles: :  100%
Pricing data open for trading pairs bcn_btc trading on exchange poloniex since 2014-05-20 00:00:00+00:00 is unavailable. The bundle data is either out-of-date or has not been loaded yet. Please ingest data using the command `catalyst ingest-exchange -x poloniex -f minute -i bcn_btc`. See catalyst documentation for details.

Since it crashes on bcn_btc pair all other pairs in that 30 minute cycle skipped, without printing ther values.
Sincerely,
avn3r

I believe both issues reported here have been resolved with commit 3d88d6a2c707adfb4e3791773e1ace942f62f8aa in release 0.3.3. Re-open if that's not the case.


[DS-2911] Inspect and fix unused variables

The following differences points to potential bugs, the other changes are mere code cleanup:
https://github.com/DSpace/DSpace/pull/1185/files#diff-c027cc8129f5476cfe253043fcb66971R1263
https://github.com/DSpace/DSpace/pull/1185/files#diff-36833b35a6f2d36c81f0d875d3bcd41aR680
https://github.com/DSpace/DSpace/pull/1185/files#diff-a17391bd2bf6fed372045f6ddf202430R182


fix(v4-examples): remove use router context on examples

link from useRouterContext is deprecated
Please check all items below before review.

[ ] Corresponding issues are created/updated or not needed
[ ] Docs are updated/provided or not needed
[ ] Examples are updated/provided or not needed
[ ] TypeScript definitions are updated/provided or not needed
[ ] Tests are updated/provided or not needed
[ ] Changesets are provided or not needed

Can we remove remaining ones?

blog-responsive-navbar
live-provider-ably
mern-dashboard-client
multi-tenancy-appwrite
multi-tenancy-strapi

They are in other PR's


Deprecation in brew

Warning: Calling bottle :unneeded is deprecated! There is no replacement.
Please report this issue to the somnambulist-tech/somnambulist tap (not Homebrew/brew or Homebrew/core):
  /usr/local/Homebrew/Library/Taps/somnambulist-tech/homebrew-somnambulist/Formula/syncit.rb:8

Fixed, in future: issues with brew formulas should be added to https://github.com/somnambulist-tech/homebrew-somnambulist/


String task

Enter your question -
The question is from code forces.
Enter link to the question(if question belongs to any online platform) -
https://codeforces.com/contest/118/problem/A
Tags for the question(eg - Array, Basic, Stack, etc.) -
String

@SarthakKeshari Can you please approve this issue.


refactor: move mapping logic to layer cache

Problem
This PR is intended to move mapping to layer cache, move eviction and download logic to a separate layer cache (will do in future PR). As we are using the layer map lock to ensure compaction will not affect ongoing reads, it is not very easy to make the move. We might need to do reference counting before we can fully transform to immutable storage state. For now we have to keep the layers_operation_lock to avoid compaction/GC removing layers while get_reconstruct_data reads the data.
part of https://github.com/neondatabase/neon/issues/4373
Summary of changes
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

I plan to replace the current layers with the new layer_mgr in the next PR, but still retain a mock lock layer_operations_lock. In this way, we can have a skeleton of immutable storage state, and once we correctly handles the file deletion, we can remove the mock lock and opt in full immutable storage state.

deprecated in favor of https://github.com/neondatabase/neon/pull/4618


feat: quickchart create short url via POST

This Postman instance shows how to create a shorter URL via a POST request with Quickchart.
This works as expected and resolves the issue of the URL being rejected for being too long. However, I have noticed a handful of caveats related to using this approach:

Doesn't seem to be any way to specify the returned chart to be PNG or PDF, it just returns a WEBP image.
Our custom MAPS watermark is not added to the image.
There is an error when trying to download an image of a chart that has type treemap.

Regarding these current issues, leaving this PR as draft for now until we have found out how to resolve them or accept the caveats with the POST approach.

Postponing until updates to our custom Chartjs setup have been completed. Need to set up new API route to create short URL but with MAPS branding.


Display tribe names instead of TribeID in ship popups

TribeIDs are not informative. Can you swap them for names in ship popups, please?

This is nothing but an example. Its up to you to do the work to provide a map with the info you want


[Feature] Disable automatic redirect-following

Some of the APIs that I am testing return the status-code 303, but I do not want to automatically follow them. I would need an option that let's me toggle "automatically follow redirects" yes/no.
I am fine with a global option, but I think a per-collection option is more appropriate. I do not need a per-request-option, but it would not hurt, either.

Found a method that works for me.
In the pre-request script, enter
req.setMaxRedirects(0);

See also the discussion in https://github.com/usebruno/bruno/issues/200


Code which runs with fastOptJS but crashes with fullOptJS

Minimal reproducing example project:
https://github.com/woost/wust2/tree/fullopt-bug
git clone https://github.com/woost/wust2 -b fullopt-bug --depth=1
cd wust2
./test.sh

Confirmed.
The root cause is that Closure decides to rename our internal property $classData (with we use to distinguish Scala.js objects from JS objects) into b. And then of course it mistakes some JS objects for Scala.js objects, and things go awry.
We should prevent GCC from renaming $classData, although

It will increase the size of -opt.js files
It still leaves us vulnerable to a JS object that has a property named $classData.

A full solution would be to use a symbol instead of $classData. And when symbols are not available, a randomized name with sufficient entropy (e.g., that of a UUID).

Obvious workaround (but which makes -opt.js files much bigger): disable GCC with
scalaJSOptimizerOptions in (Compile, fullOptJS) ~= { _.withUseClosureCompiler(false) }

Fixed in 5918016b88f420c9678888450e2cbe6095f4581d.


[Composer\Repository\InvalidRepositoryException]                                                                                No valid bower.json was found in any branch or tag of https://github.com/jquery/jquery-dist.git, could not load a package from it.

composer  install or composer update occurs the problem。
Installation environment：lnmp
Installation process：
1：curl -sS https://getcomposer.org/installer | php
2：php composer.phar global require "fxp/composer-asset-plugin:^1.2.0"
3：php composer.phar create-project yiisoft/yii2-app-basic basic 2.0.12
When the third step is performed，occur the exception

My solution
vi  composer.json
update  config

github.com:
Authorization code

@CodeingMonkey is it related to OroPlatform? From what I see you are installing Yii2 application.


cannot get data on componentDidMount in 1.0.0-rc14

here is my code:
  getMeteorData(){
    const handler = Meteor.subscribe('vm');
    const vms = Meteor.collection('vm').find();

    return {
      ready: handler.ready(),
      vms: vms
    }
  }

  componentDidMount(){
    const {ready, vms} = this.data;

    //THIS IS NEVER READY OR ALWAYS RETURN FALSE, AND NOT REACTIVELY CHANGED
    if(ready){
      console.log('did mount')
      console.log(vms); // <--- SO THIS ONE NEVER BEING ABLE TO BE CALLED
    }
  }

Sure, because your handler is not ready at the time your component mounts.
You have to use componentWillReceiveProps if you want to check this.

not working too, even the console.log is not working
componentWillReceiveProps(){
    console.log('will receive props');
    const {ready} = this.data;
    console.log(ready);
}

Actually I think you should use componentDidUpdate instead.
The getMeteorData mixin doesn't make React trigger component*Props but instead it does trigger component*Update. If none of that works for you, you should consider using a container so you'll be able to use component*Props

Thanks @grsabreu for the explanation.
componentWillReceiveProps works in my case because I use createContainer.
Closing this ;)

:+1:


fix: include ts and js files in scan

🔗 Linked issue

Resolves #247
❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

This PR adds the missing ts and js files to the default scan globInclude.
The JSDOC says it does include them by default, but the actual implementation doesn't. So this PR adds them to match and also include TypeScript/JavaScript files into the scan.

It's on purposely not included by default, as for most of them js/ts shouldn't be your component file and it would be too costly to scan. We should fix the docs instead.


python3Packages.flask-basicauth: init at 0.2.0

Description of changes

This PR is very similar to #90762, except in this PR I was able to get the package's test suite to run successfully. In the other PR, the tests were skipped instead. Thanks for reviewing this PR!
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@winterqt thanks for your suggestions -- i agree that it's a bit easier to read this way. an official style guide or linter would be a cool thing for nixpkgs to add in the future!

Wonder why it didn't build this time around...
@ofborg eval

Thanks, OfBorg.
@ofborg build python3Packages.flask-basicauth

@mweinelt ah, thank you for these suggestions! it seemed like the tests were getting run automatically when i built this locally, but i wasn't sure if it was the right thing to do. having a checkPhase is much nicer.

The tests were being ran automatically via the setuptools check setup hook, which is added automatically.
However, I believe the reason that unittest is recommended over it is the following warning:
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.

(@mweinelt can correct me if I'm wrong, which I very much may well be.)


Update display names from Artik 5 and 10 to 520 and 1020

Would like to change the artik 5 name to artik 520, as we don't support the artik 530. Should also update the 10 to 1020. I'm not sure where all we'd need this change to be made, but at least in the name that shows up in the UI.

These boards have been discontinued: https://github.com/resin-os/resin-artik/pull/108


pythonPackages.pillow: 4.3.0 -> 5.0.0

Motivation for this change
Checking whether this fixes an issue with sigal, which uses this lib.
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Committed 56b429c252429c42c20fb6c01cf05679f01aed86.


High CPU usage in web export in Linux when max FPS is set

Tested versions
Reproduces in:

v4.3.beta2.official [b75f0485b]
v4.2.2.stable.official [15073afe3]

Doesn't seem to reproduce in Windows, although my hardware there is different. In Linux I tested with Firefox and Chromium and it reproduces in both.
System information
Arch Linux #1 SMP PREEMPT_DYNAMIC Sun, 16 Jun 2024 19:06:37 +0000 - Tty - GLES3 (Compatibility) - Mesa Intel(R) Graphics (ADL GT2) - 12th Gen Intel(R) Core(TM) i5-1235U (12 Threads)
Issue description
Web export uses too much CPU. The usage starts high, then usually drops for a bit to where it normally is. Then after some seconds it starts to climb until it caps out a processor.
Steps to reproduce

Create a new project
Set max FPS to 60
Add default web export configuration
Select Remote Debug -> Run in Browser

Minimal reproduction project (MRP)
web-export-fps.zip

Does your web build have threads enabled?

No threads, variant/thread_support=false.


Max number of fields / performance

Is there a limit on the number of fields you can have in an index?
Currently, I am doing a PoC on Pilosa and have rows of data in the following simplified format:
Id: Int
Name: String
Location: String
SegmentIds: Set[Int]
I was planning on creating a boolean field for each possible unique value in the "SegmentIds" column.  There are at least 200,000 unique values for "SegmentIds".  Is this a feasible data model?  And am I using it correctly?
Thanks

You'll want to create one field with a row for each segment id. you can set multiple bits in each column, so this should fit your usage perfectly

Ok, so for my data model I'd have 4 fields (Id, Name, Location, SegmentIds).
Is it possible to insert data like this via the REST API or do I need to use one of the client libraries?
My data in csv format essentially looks like
Id,Name,Location,SegmentIds
1,"John","USA","[123,456]"

I don't see anything in the API reference to insert multiple rows from one record, or would I have to split out each of my "records" into multiple API calls?
Thanks for the fast feedback!

you'll want to use the import endpoint to load data. the client libraries support this and I recommend the Go client if you have an option.
what you have to do is create an index object, and then a field object for each of your fields. then you call field.Import.
So to answer your question... no, you can't load a record in one api call, you break it out by field.
we should probably consider supporting record-at-a-time ingest for ease of use, but you'll ultimately get the best performance breaking things out by field.


STL in Recast & Detour

The decision not to use STL and be very strict with dynamic memory allocations in Recast & Detour is starting to show up in a lot of places where it hurts us. For example:
#307: Can be solved easier with a simple queue
#314: Shoehorning data-structures into the existing rcIntArray as separate fields (actually we do this in a lot of places)
#151: Turns out rcIntArray was not optimized well
I am sure there are more. I suggest that we get rid of our own dynamic data structures and begin using STL instead. I think the old reasons not to use STL are largely obsolete by now: STL should be well optimized on almost any relevant platform. and the dynamic allocations we need are usually so small that the memory allocated should not be a problem.
Thoughts?
cc @grahamboree, @hymerman, @memononen

I want to make it clear that I don't suggest drastic changes; for example, span allocation code and such should be left as-is (it has been carefully thought about to be as good as possible). It is mainly in places where there are glaringly obvious solutions to problems that we have needed to avoid for STL reasons.

My personal opinion is that yes, we should allow use of the STL in both Recast and Detour. That definitely doesn't mean we shouldn't be careful with memory allocation of course :) But I agree completely that there are cases where STL containers etc. will make code clearer, less robust and potentially even faster. I've never liked rcIntArray!!
This is something that should go towards a 2.0.0 version I guess, since it's a change in the library's dependencies.

I've had a lot of feedback over the years thanking that Recast did not use STL.
Most game studios where I have worked have not used STL, for one reason or other. The two most common reasons have been that: 1) different implementations on different platforms have small subtle differences, which makes hard to find bugs, 2) dealing with custom allocators in STL is pain, not impossible, but just super annoying.
In some cases it makes sense to roll your own algorithm to better match your data structure/access pattern, but that is problem with all general purpose code.
I definitely went too far with repurposing the int array. A lot of tool code I worked with at that time were really sloppy with allocations and data structures, and thus slow. There were maps of vectors of sets of strings. I wanted restrict myself on dynamic allocations.
I think you should choose the way that you feel comfortable maintaining. I lightly recommend to not use STL at runtime (Detour), and if you use it in Recast, make sure it works with the custom allocators.

FWIW, I've been working up a PR that wraps rcAlloc/rcFree in an STL-style allocator, and turns rcIntArray into a wrapper around std::vector. I understand some trepidation around using std::map, etc., on account of the complex RB-tree implementation and somewhat surprising performance profile, but vector is well-understood, straight-forward, and arguably the correct structure to use 80% of the time. IMO, a reasonable approach is to make rcFoo versions of a few white-listed structures (like vector), and use them as appropriate.

This is something that should go towards a 2.0.0 version I guess, since it's a change in the library's dependencies.

I'm not sure if this is considered a new dependency when it's part of the C++ standard library?

I've had a lot of feedback over the years thanking that Recast did not use STL.

Good to know, I wasn't aware of any feedback.

In some cases it makes sense to roll your own algorithm to better match your data structure/access pattern, but that is problem with all general purpose code.

Right, but I think it is a problem when we let this significantly complicate the code, for example leading to the bug described in #307. However, now that I think about it we probably wouldn't even want to use STL here -- it would lead to a dynamic allocation on every call to update.
Actually, the main thing we need in many cases is a good std::vector substitute, like @mbabinski-at-google has realized. LLVM's SmallVector<T> might be exactly what we should strive for -- it can be used to avoid dynamic allocation in common cases, but fall back on dynamic allocation when more elements are needed.
I must admit that I dislike having to copy our implementations between both Recast and Detour, and also that we do not get the performance optimizations that many clever people have done to STL data structures. But perhaps this is an ok trade-off.

I submitted #316. IMO, it makes the code more readable, and as of yet, doesn't change external interfaces. It would likely be easy to move all of the STL-specific code into private headers, if that's a concern.
If the STL version is rejected, I think homebrewing an rcVector is a superior option to manipulating arrays of ints, though it is still a shame to duplicate the efforts of the various STL authors.
SmallVector is very nice, but, from what I've seen in the corner I've been mucking in, most of Recast's vectors are anything but small =)

Our studio just doesn't use STL, when I mentioned this to my head he was
very adamant that we would not take changes that introduced the user of it,
and pretty much echo'd the points made by Mikko.
Homebrewing a data structure would be far more preferable for cross
platform consistencys sake.
On Sat, 28 Apr 2018, 05:44 mbabinski-at-google<EMAIL_ADDRESS>wrote:

I submitted #316
https://github.com/recastnavigation/recastnavigation/pull/316. IMO, it
makes the code more readable, and as of yet, doesn't change external
interfaces. It would likely be easy to move all of the STL-specific code
into private headers, if that's a concern.
If the STL version is rejected, I think homebrewing an rcVector is a
superior option to manipulating arrays of ints, though it is still a shame
to duplicate the efforts of the various STL authors.
SmallVector is very nice, but, from what I've seen in the corner I've been
mucking in, most of Recast's vectors are anything but small =)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/recastnavigation/recastnavigation/issues/315#issuecomment-385140077,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGr0lxPEqx7165OWsv5hsctat1rleGWGks5ts_OkgaJpZM4TqAFs
.

@jakobbotsch Fixed buffer sizes are always tricky. Either you have to prove that the fixed size buffer is good for all cases, or document precisely what happens when you drop stuff on the floor. There are two patterns I have used for growing since: 1) buffered callbacks, 2) allocate pages to grow the buffer.
Bufferred callbacks are good in a case where you call an API and are interested in one result (i.e. find nearest polygon). The idea is that instead of returning an array, you pass in a callback, but it gets called with N items (i.e. 32 polygons) instead of one. This generally hides the function call overhead.
Pages allocations means that you grow the list by a big chunk at a time. Avoids copying on grow and you can often trade off cache usage too since you are likely to touch a chunk of linear memory at a time. Good for cases where you generally do linear iteration over the array, a bit nasty for random access.
I think the right solution to #307 would be to dynamically grow the buffer, not complicate the code. I faintly remember that idea for dynamic obstacle update was that if the buffer was full, adding/moving the obstacle would fail, and the caller should retry until success. Might not be the best strategy.
Also sounds like many of the problem cases currently are related to growing an array, so something like rcVector (even SmallVector style) could be an excellent idea.

I think based on the feedback (both from @SpangMcgraw and from @memononen) that we should not allow STL then. In reality we probably only need a good dynamic array, as discussed, so limiting it to that should be ok.

FYI, I made a PR (#318) to add an rcVector that mostly copies the STL vector api.


Event.js unhandeled error event

I keep getting this error when running npm run dev, i'm using the browserify version
><EMAIL_ADDRESS>dev /Users/cor/Development/woording/woording-web
> watchify -vd -p browserify-hmr -e src/main.js -o dist/build.js & http-server -c 1 -a localhost

events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: listen EADDRINUSE
    at exports._errnoException (util.js:746:11)
    at Server._listen2 (net.js:1156:14)
    at listen (net.js:1182:10)
    at net.js:1280:9
    at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:81:16)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:99:10)

npm ERR! Darwin 15.2.0
npm ERR! argv "node" "/usr/local/bin/npm" "run" "dev"
npm ERR! node v0.12.3
npm ERR! npm  v3.3.12
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>dev: `watchify -vd -p browserify-hmr -e src/main.js -o dist/build.js & http-server -c 1 -a localhost`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>dev script 'watchify -vd -p browserify-hmr -e src/main.js -o dist/build.js & http-server -c 1 -a localhost'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the woording-web package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     watchify -vd -p browserify-hmr -e src/main.js -o dist/build.js & http-server -c 1 -a localhost
npm ERR! You can get their info via:
npm ERR!     npm owner ls woording-web
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/cor/Development/woording/woording-web/npm-debug.log

+1

+1

EADDRINUSE means your 8080 port is already in use.

@yyx990803 That's really weird because port 8080 definitely isn't in use, I've tried it on multiple machines and I keep getting this error

@cor hmm try upgrading your Node version? The latest stable is at 5.x...

It had something to do with our (@PhiliPdB, @LeonGr and I) school network, sorry for the inconvenience.


 See last leak for addr2line decoded trace
addr2line --exe router/qdrouterd --pretty-print 0x<addr>

alloc.c: Items of type 'qd_http2_buffer_t' remain allocated at shutdown: 10
Leak: 2022-02-27 14:54:31.996089 +0100 type: qd_http2_buffer_t address: 0x62900007d290
/lib64/libasan.so.6(+0x44701) [0x7fb03d518701]
qdrouterd(qd_alloc+0x1fe) [0x4ba4ce]
qdrouterd() [0x697522]
qdrouterd() [0x698111]
/lib64/libnghttp2.so.14(+0xad1b) [0x7fb03d086d1b]
/lib64/libnghttp2.so.14(nghttp2_session_send+0x69) [0x7fb03d088e89]
qdrouterd() [0x6950ca]
qdrouterd() [0x6b036e]
qdrouterd() [0x662fd5]
qdrouterd() [0x66a6a6]

Leak: 2022-02-27 14:54:31.996285 +0100 type: qd_http2_buffer_t address: 0x629000082290
/lib64/libasan.so.6(+0x44701) [0x7fb03d518701]
qdrouterd(qd_alloc+0x1fe) [0x4ba4ce]
qdrouterd() [0x697522]
qdrouterd() [0x698111]
/lib64/libnghttp2.so.14(+0xad1b) [0x7fb03d086d1b]
/lib64/libnghttp2.so.14(nghttp2_session_send+0x69) [0x7fb03d088e89]
qdrouterd() [0x6950ca]
qdrouterd() [0x6b036e]
qdrouterd() [0x662fd5]
qdrouterd() [0x66a6a6]

Leak: 2022-02-27 14:54:31.996481 +0100 type: qd_http2_buffer_t address: 0x629000168290
/lib64/libasan.so.6(+0x44701) [0x7fb03d518701]
qdrouterd(qd_alloc+0x1fe) [0x4ba4ce]
qdrouterd() [0x697522]
qdrouterd() [0x698111]
/lib64/libnghttp2.so.14(+0xad1b) [0x7fb03d086d1b]
/lib64/libnghttp2.so.14(nghttp2_session_send+0x69) [0x7fb03d088e89]
qdrouterd() [0x6950ca]
qdrouterd() [0x6b036e]
qdrouterd() [0x662fd5]
qdrouterd() [0x66a6a6]

Leak: 2022-02-27 14:54:31.996670 +0100 type: qd_http2_buffer_t address: 0x6290000af290
/lib64/libasan.so.6(+0x44701) [0x7fb03d518701]
qdrouterd(qd_alloc+0x1fe) [0x4ba4ce]
qdrouterd() [0x697522]
qdrouterd() [0x698111]
/lib64/libnghttp2.so.14(+0xad1b) [0x7fb03d086d1b]
/lib64/libnghttp2.so.14(nghttp2_session_send+0x69) [0x7fb03d088e89]
qdrouterd() [0x6950ca]
qdrouterd() [0x6b036e]
qdrouterd() [0x662fd5]
qdrouterd() [0x66a6a6]

Leak: 2022-02-27 14:54:31.996820 +0100 type: qd_http2_buffer_t address: 0x6290000e1290
/lib64/libasan.so.6(+0x44701) [0x7fb03d518701]
qdrouterd(qd_alloc+0x1fe) [0x4ba4ce]
qdrouterd() [0x697522]
qdrouterd() [0x698111]
/lib64/libnghttp2.so.14(+0xad1b) [0x7fb03d086d1b]
/lib64/libnghttp2.so.14(nghttp2_session_send+0x69) [0x7fb03d088e89]
qdrouterd() [0x6950ca]
qdrouterd() [0x6b036e]
qdrouterd() [0x662fd5]
qdrouterd() [0x66a6a6]

Leak: 2022-02-27 14:54:31.996987 +0100 type: qd_http2_buffer_t address: 0x6290002e9290
/lib64/libasan.so.6(+0x44701) [0x7fb03d518701]
qdrouterd(qd_alloc+0x1fe) [0x4ba4ce]
qdrouterd() [0x697522]
qdrouterd() [0x698111]
/lib64/libnghttp2.so.14(+0xad1b) [0x7fb03d086d1b]
/lib64/libnghttp2.so.14(nghttp2_session_send+0x69) [0x7fb03d088e89]
qdrouterd() [0x6950ca]
qdrouterd() [0x6b036e]
qdrouterd() [0x662fd5]
qdrouterd() [0x66a6a6]

Leak: 2022-02-27 14:54:31.997152 +0100 type: qd_http2_buffer_t address: 0x629000325290
/lib64/libasan.so.6(+0x44701) [0x7fb03d518701]
qdrouterd(qd_alloc+0x1fe) [0x4ba4ce]
qdrouterd() [0x697522]
qdrouterd() [0x698111]
/lib64/libnghttp2.so.14(+0xad1b) [0x7fb03d086d1b]
/lib64/libnghttp2.so.14(nghttp2_session_send+0x69) [0x7fb03d088e89]
qdrouterd() [0x6950ca]
qdrouterd() [0x6b036e]
qdrouterd() [0x662fd5]
qdrouterd() [0x66a6a6]

Leak: 2022-02-27 14:54:31.997321 +0100 type: qd_http2_buffer_t address: 0x629000069290
/lib64/libasan.so.6(+0x44701) [0x7fb03d518701]
qdrouterd(qd_alloc+0x1fe) [0x4ba4ce]
qdrouterd() [0x697522]
qdrouterd() [0x698111]
/lib64/libnghttp2.so.14(+0xad1b) [0x7fb03d086d1b]
/lib64/libnghttp2.so.14(nghttp2_session_send+0x69) [0x7fb03d088e89]
qdrouterd() [0x6950ca]
qdrouterd() [0x6b036e]
qdrouterd() [0x662fd5]
qdrouterd() [0x66a6a6]

Leak: 2022-02-27 14:54:31.997487 +0100 type: qd_http2_buffer_t address: 0x6290001ef290
/lib64/libasan.so.6(+0x44701) [0x7fb03d518701]
qdrouterd(qd_alloc+0x1fe) [0x4ba4ce]
qdrouterd() [0x697522]
qdrouterd() [0x698111]
/lib64/libnghttp2.so.14(+0xad1b) [0x7fb03d086d1b]
/lib64/libnghttp2.so.14(nghttp2_session_send+0x69) [0x7fb03d088e89]
qdrouterd() [0x6950ca]
qdrouterd() [0x6b036e]
qdrouterd() [0x662fd5]
qdrouterd() [0x66a6a6]

Leak: 2022-02-27 14:54:31.997619 +0100 type: qd_http2_buffer_t address: 0x6290001e0290
/lib64/libasan.so.6(+0x44701) [0x7fb03d518701]
qdrouterd(qd_alloc+0x1fe) [0x4ba4ce] /home/jdanek/repos/skupper-router/src/alloc_pool.c:349
qdrouterd() [0x697522] /home/jdanek/repos/skupper-router/src/adaptors/http2/http2_adaptor.c:51
qdrouterd() [0x698111] /home/jdanek/repos/skupper-router/src/adaptors/http2/http2_adaptor.c:154
/lib64/libnghttp2.so.14(+0xad1b) [0x7fb03d086d1b]
/lib64/libnghttp2.so.14(nghttp2_session_send+0x69) [0x7fb03d088e89]
qdrouterd() [0x6950ca] /home/jdanek/repos/skupper-router/src/adaptors/http2/http2_adaptor.c:2173
qdrouterd() [0x6b036e] /home/jdanek/repos/skupper-router/src/adaptors/http2/http2_adaptor.c:2555
qdrouterd() [0x662fd5] /home/jdanek/repos/skupper-router/src/server.c:780
qdrouterd() [0x66a6a6] /home/jdanek/repos/skupper-router/src/server.c:1095

qdrouterd: /home/jdanek/repos/skupper-router/src/router_core/delivery.c:440: qdr_delete_delivery_internal_CT: Assertion `sys_atomic_get(&delivery->ref_count) == 0' failed.

curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

I also saw a leak from pn_record_def

/home/jdanek/repos/skupper-router/src/adaptors/http2/http2_adaptor.c:192:60: runtime error: member access within null pointer of type 'struct qdr_http2_adaptor_t'
    #0 0x680b4b in qdr_http2_q2_unblocked_handler /home/jdanek/repos/skupper-router/src/adaptors/http2/http2_adaptor.c:192
    #1 0x534c6b in qd_message_free /home/jdanek/repos/skupper-router/src/message.c:1095
    #2 0x5f696e in qdr_core_free /home/jdanek/repos/skupper-router/src/router_core/router_core.c:263
    #3 0x6534bd in qd_router_free /home/jdanek/repos/skupper-router/src/router_node.c:2125
    #4 0x4f60a2 in qd_dispatch_free /home/jdanek/repos/skupper-router/src/dispatch.c:355
    #5 0x6b6354 in main_process /home/jdanek/repos/skupper-router/router/src/main.c:109
    #6 0x432332 in main /home/jdanek/repos/skupper-router/router/src/main.c:359
    #7 0x7f43d1a8155f in __libc_start_call_main (/lib64/libc.so.6+0x2d55f)
    #8 0x7f43d1a8160b in __libc_start_main_alias_1 (/lib64/libc.so.6+0x2d60b)
    #9 0x4325a4 in _start (/home/jdanek/repos/skupper-router/cmake-build-relwithdebinfo-asan/router/qdrouterd+0x4325a4)

qdrouterd: /home/jdanek/repos/skupper-router/src/router_core/delivery.c:440: qdr_delete_delivery_internal_CT: Assertion `sys_atomic_get(&delivery->ref_count) == 0' failed.

I haven't seen this for a long time. Maybe just close as out-of-date?

57: Router EdgeB output file:
57: >>>>
57: ==================
57: WARNING: ThreadSanitizer: data race (pid=6969)
57:   Read of size 8 at 0x724c00096f08 by thread T6:
57:     #0 handle_event_with_context /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:107 (skrouterd+0x51b88c) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #1 handle_raw_connection_event /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:115 (skrouterd+0x51b88c)
57:     #2 handle_raw_connection_event /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:111 (skrouterd+0x51b88c)
57:     #3 proactor_thread /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:194 (skrouterd+0x51b9f8) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #4 _thread_init /home/runner/work/skupper-router/skupper-router/skupper-router/src/posix/threading.c:207 (skrouterd+0x4bf2dd) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:
57:   Previous write of size 8 at 0x724c00096f08 by thread T2:
57:     #0 free_qdr_http2_connection /home/runner/work/skupper-router/skupper-router/skupper-router/src/adaptors/http2/http2_adaptor.c:446 (skrouterd+0x459e09) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #1 qdr_del_http2_connection_CT /home/runner/work/skupper-router/skupper-router/skupper-router/src/adaptors/http2/http2_adaptor.c:2892 (skrouterd+0x45a0ee) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #2 qdr_del_http2_connection_CT /home/runner/work/skupper-router/skupper-router/skupper-router/src/adaptors/http2/http2_adaptor.c:2881 (skrouterd+0x45a0ee)
57:     #3 router_core_thread /home/runner/work/skupper-router/skupper-router/skupper-router/src/router_core/router_core_thread.c:252 (skrouterd+0x507177) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #4 _thread_init /home/runner/work/skupper-router/skupper-router/skupper-router/src/posix/threading.c:207 (skrouterd+0x4bf2dd) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:
57:   Location is heap block of size 448 at 0x724c00096f00 allocated by thread T4:
57:     #0 posix_memalign <null> (libtsan.so.2+0x556b6) (BuildId: 7cbb0e7a8424da37537f8f181125fcd8fd60706e)
57:     #1 qd_alloc /home/runner/work/skupper-router/skupper-router/skupper-router/src/alloc_pool.c:348 (skrouterd+0x48779a) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #2 new_qdr_http2_connection_t /home/runner/work/skupper-router/skupper-router/skupper-router/src/adaptors/http2/http2_adaptor.c:53 (skrouterd+0x460f86) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #3 qdr_http_connection_egress /home/runner/work/skupper-router/skupper-router/skupper-router/src/adaptors/http2/http2_adaptor.c:3053 (skrouterd+0x460f86)
57:     #4 qd_http2_configure_connector /home/runner/work/skupper-router/skupper-router/skupper-router/src/adaptors/http2/http2_adaptor.c:3496 (skrouterd+0x46428a) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #5 qd_dispatch_configure_http_connector /home/runner/work/skupper-router/skupper-router/skupper-router/src/adaptors/http_common.c:212 (skrouterd+0x43e23d) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #6 ffi_call_unix64 <null> (libffi.so.8+0x9055) (BuildId: a190bf03e644181cadab122962ab83ae96271696)
57:     #7 qdr_forward_on_message /home/runner/work/skupper-router/skupper-router/skupper-router/src/router_core/forwarder.c:375 (skrouterd+0x4fc648) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #8 qdr_general_handler /home/runner/work/skupper-router/skupper-router/skupper-router/src/router_core/router_core.c:1032 (skrouterd+0x4fa179) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #9 qd_timer_visit /home/runner/work/skupper-router/skupper-router/skupper-router/src/timer.c:317 (skrouterd+0x52ea21) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #10 handle_proactor_other_event /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:142 (skrouterd+0x52ce44) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #11 proactor_thread /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:194 (skrouterd+0x51b9f8) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #12 _thread_init /home/runner/work/skupper-router/skupper-router/skupper-router/src/posix/threading.c:207 (skrouterd+0x4bf2dd) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:
57:   Thread T6 'wrkr_3' (tid=6979, running) created by main thread at:
57:     #0 pthread_create <null> (libtsan.so.2+0x5a6e6) (BuildId: 7cbb0e7a8424da37537f8f181125fcd8fd60706e)
57:     #1 sys_thread /home/runner/work/skupper-router/skupper-router/skupper-router/src/posix/threading.c:229 (skrouterd+0x4c021a) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #2 qd_server_run /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:298 (skrouterd+0x52d381) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #3 main_process /home/runner/work/skupper-router/skupper-router/skupper-router/router/src/main.c:111 (skrouterd+0x430480) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #4 main /home/runner/work/skupper-router/skupper-router/skupper-router/router/src/main.c:365 (skrouterd+0x42a20e) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:
57:   Thread T2 'core_thread' (tid=6973, running) created by main thread at:
57:     #0 pthread_create <null> (libtsan.so.2+0x5a6e6) (BuildId: 7cbb0e7a8424da37537f8f181125fcd8fd60706e)
57:     #1 sys_thread /home/runner/work/skupper-router/skupper-router/skupper-router/src/posix/threading.c:229 (skrouterd+0x4c021a) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #2 qdr_core /home/runner/work/skupper-router/skupper-router/skupper-router/src/router_core/router_core.c:130 (skrouterd+0x50995c) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #3 qd_router_setup_late /home/runner/work/skupper-router/skupper-router/skupper-router/src/dispatch.c:430 (skrouterd+0x49da79) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #4 ffi_call_unix64 <null> (libffi.so.8+0x9055) (BuildId: a190bf03e644181cadab122962ab83ae96271696)
57:     #5 main_process /home/runner/work/skupper-router/skupper-router/skupper-router/router/src/main.c:101 (skrouterd+0x430422) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #6 main /home/runner/work/skupper-router/skupper-router/skupper-router/router/src/main.c:365 (skrouterd+0x42a20e) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:
57:   Thread T4 'wrkr_1' (tid=6977, running) created by main thread at:
57:     #0 pthread_create <null> (libtsan.so.2+0x5a6e6) (BuildId: 7cbb0e7a8424da37537f8f181125fcd8fd60706e)
57:     #1 sys_thread /home/runner/work/skupper-router/skupper-router/skupper-router/src/posix/threading.c:229 (skrouterd+0x4c021a) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #2 qd_server_run /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:298 (skrouterd+0x52d381) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #3 main_process /home/runner/work/skupper-router/skupper-router/skupper-router/router/src/main.c:111 (skrouterd+0x430480) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:     #4 main /home/runner/work/skupper-router/skupper-router/skupper-router/router/src/main.c:365 (skrouterd+0x42a20e) (BuildId: ff494da932379fc07ddd8270f2e95dd00f09c918)
57:
57: SUMMARY: ThreadSanitizer: data race /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:107 in handle_event_with_context
57: ==================
57: ThreadSanitizer: reported 1 warnings

https://github.com/skupperproject/skupper-router/actions/runs/9664630485/job/26659738876#step:34:5066


Improving docker documentation for static p2pidentity

Docker is generating new p2pidentity when the user needs to delete mainnetdb folder and restart the container, if there isn't p2p private key in config.json. Will be good to include in docker documentation the process to generate p2pidentity.

This is available here already: https://hornet.docs.iota.org/post_installation/post_installation.html#node-identity


Remove Sharpness from RE2 RT Patch

Hello
Does anyone know of a way to turn off the sharpness in the RE2 RT Patch?
The script only seems to work in some areas and the upscaler slider does absolutely nothing. I would like to know if there are plans to update the script, as it is quite annoying to use the upscaler with the sharpness turned down, with artifacts and strange appearance.
Oddly enough it works perfectly in the RE3 RT Patch.

I managed to use this Reshade addon to disable the sharpening filter.


Change some string fields that contain \n to lists, with exclusions

Currently some fields return a string with \n separated values. This proves difficult to work with and makes normalization overly complicated.
Convert applicable fields to lists (Whois emails, NIRWhois nameservers). Certain fields such as Whois description and address should be excluded.

Merge pending #67 review/tests

Merged in #136, will be in v0.14.0


The results of inference is weird

Hi, I run the inference.py and I get werid result.

Can you help me get the correct result?

I just ran those two images in the colab notebook and got the following results (the original is on the left and the reconstruction after 5 steps is on the right):

The step-by-step results (obtained by running the actual inference.py script) returns the following:

So it seems like it should work. I can't find something wrong with your parameters. Is your code identical to the original code?

Thanks for your reply, I clone your project again, the result of inference is normal. I don not know why. It is very a amazing. @yuval-alaluf


questions about render_image.py

@hturki thanks for your great work! I'm following the tutorial to see its outcome. However, after the evaluation, I can only see the matrixs.txt, which I want is to see some rendered images or videos. The question is I don't really understand how to creat 3 files of the input param in render_image.py, could you pls offer some examples?

At present I have succeeded in rendering an image using poses, intrinsics and embeddings provided by the train dataset(those pt files). However I modified line 95 to make it work. The original line is "ImageMetadata(Path(''), c2ws[i], W, H, torch.FloatTensor(intrinsics[i][2:]), embeddings[i], None, False)". I deleted the number 2 in the intrinsics matrix, so the modified line is "ImageMetadata(Path(''), c2ws[i], W, H, torch.FloatTensor(intrinsics[i][:]), embeddings[i], None, False)" and that works. I'm not sure if that is really a mistake?

I write a new script in my fork in order to generate video by using _render_images function
in render_images.py provided and the train data(those pt files including poses and intrinsics). The mega nerf viewer need too much vram to run it :(

@hturki thanks for your great work! I'm following the tutorial to see its outcome. However, after the evaluation, I can only see the matrixs.txt, which I want is to see some rendered images or videos. The question is I don't really understand how to creat 3 files of the input param in render_image.py, could you pls offer some examples?

You need to generate poses by yourself. Here is a quick example:
a) For poses, you can randomly start at one location in your scene. A quick easy way is you choose one pose from the training meta.pt file. The first 3 by 3 is rotation matrix, you can rotate it with the rotation matrix R. For example, [1,0,0; 0, cos, -sin;0, sin, cos] will turn your first axis by theta degree. The latter 3 by 1 vector is the transition matrix, you can shift it via moving z (height), x(horizontal), y(vertical).
This is how you create a new pose in the scene, but mega-nerf is bounded by the unit sphere from nerf ++, so make sure the new pose is within the range.

intrinsic you can just copy the training meta.pt if you use pretrained model

embedding needs to have the same length as your pose / intrinsic file. for example, it can be 0 to 10 if you have 11 poses.


Implement endpoint to withdraw a course that a user is enrolled in

Description

Solves Issue #108
Implemented API endpoint that withdraws a course that a user is enrolled in. A user is unenrolled from a course while the course remains available for other currently enrolled users and for future enrolments. The unenrolled user is no longer a student in that course and the number of students is decremented for that course.
How has this been tested?

Automated test cases have been added to test the successful removal of the same course for different users followed by the unsuccessful removal of the same course no longer enrolled in for each user.
Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I have checked my code and corrected any misspellings

This looks pretty good. But lets wait for the CI fix PR to be merged so that we can be certain that this passes the CI.

Thank you! All tests pass locally. I will merge the CI fix PR now and we will see.

This looks pretty good. But lets wait for the CI fix PR to be merged so that we can be certain that this passes the CI.

Thank you! All tests pass locally. I will merge the CI fix PR now and we will see.

It turns out that without new changes to this PR the now merged workflow for this repository will not be executed

I've tested it locally and it has passed. So feel free to merge it in. @R055A

LGTM

I just noticed you have been included in the pull request review. Sorry, but thanks for the review!


:hammer: build: add githooks

There should be githooks added:

[ ] before commiting: run linter and formatter
[ ] before pushing: run tests

I am closing this issue, as githooks can actually be ignored. Instead things like running the linter and formatter, and running tests, should be done in CI pipelines. That's why #48 was created.

Coming back on the idea of githooks, they might be very usefull still. The problem with the fix #48 provided is that alot of commits will be made by the bot. We can fix this by also providing a githook that runs the formatter.
The githooks should be bash scripts, and should not be mandatory, so people can choose if they want to use them


Need to store Slack installations in MongoDB

I am implementing my own installation service using Spring Boot and following the steps here https://slack.dev/java-slack-sdk/guides/app-distribution by implementing the methods from the InstallationService interface to store the installations in mongodb.
I am trying it in my dev environment (exposed with ngrok) by installing my app using /oauth/v2/authorize and then calling /oauth.v2.access with the code I got from the /oauth/v2/authorize endpoint. After this, the app is installed successfully but looks like my methods saveInstallerAndBot and findBot/findInstaller are not called.
My Slack config looks like this:
@Bean
public InstallationService initInstallationService() {
    return new MongoSlackInstallationService();
}

@Bean
public App initSlackApp(@Qualifier("initInstallationService") InstallationService installationService) {
    App app = new App().asOAuthApp(true);
    app.command("/hello", (req, ctx) -> {
        return ctx.ack(":wave: What's up?");
    });
    app.service(installationService);
    return app;
}

Maybe I am missing something?
Another question is, do I need to implement OAuthStateService if I'm not using the state param?
Thanks!
The Slack SDK version
com.slack.api:bolt-servlet:1.24.0
Java Runtime version
openjdk version "11.0.15"
OS info
ProductName:	macOS
ProductVersion:	12.5.1
BuildVersion:	        21G83
Darwin Kernel Version 21.6.0: Wed Aug 10 14:28:23 PDT 2022; root:xnu-8020.141.5~2/RELEASE_ARM64_T6000

Hi @alejovazquezsplit, thanks for asking the question! Refer to the complete Spring Boot app example here: https://github.com/slackapi/java-slack-sdk/tree/v1.24.0/bolt-spring-boot-examples/src/main/java/example
Also, please note that your app installers need to start the OAuth flow at https://{your app's public domain}/slack/install, not the slack.com authorize URL.

@seratch thank you! I started the flow with /slack/install and also updated my redirect url which was also wrong and now it's calling my methods.
Another questions I have:

Do I need to implement the save and find installer methods from InstallationService interface if I will use only the bot token for workspaces/organizations?
Do I need to implement OAuthStateService if I'm not using the state param so far?

Thanks!

@seratch Hi, also another question. I am trying to remove an installation from my DB turning the event handlers on by doing app.enableTokenRevocationHandlers(); but my delete methods which implement the ones from InstallationService are not being called.
The way I am uninstalling the app is by going to the app configuration page and then "Remove app".
Is this the right way to do it?

@alejovazquezsplit

Do I need to implement the save and find installer methods from InstallationService interface if I will use only the bot token for workspaces/organizations?

In this case, your findInstaller method can always return null values.

Do I need to implement OAuthStateService if I'm not using the state param so far?

For better security, we don't recommend disabling state parameter validation. With the default settings, your app will use the built-in ClientOnlyOAuthStateService, which simply uses browser cookies only and does not require any server-side data storage for it. You can go with the default one if it's fine for your use case.

I am trying to remove an installation from my DB turning the event handlers on by doing app.enableTokenRevocationHandlers(); but my delete methods which implement the ones from InstallationService are not being called.

Please double-check if you've already added two events ("tokens_revoked", "app_uninstalled") at your Slack app configuration page: https://api.slack.com/apps/{your app ID}/event-subscriptions
I think that we've already provided answers to your questions here. Would you mind closing this issue? Whenever you have a different question in the future, please feel free to create a new issue for it.

@seratch thank you!


Finish stack

[x] retain errors on rollback
[ ] loop regions, currently only does one
[ ] replace params
[ ] changesets

[ ] create changeset
[ ] view changeset
[ ] exec changeset

[x] refactor reporting output
[ ] refactor to Platform methods
[x] run on first deploy? or just suggest it?
[x] change records to array
[x] add text to progress bar (creating, rolling back, etc)
[x] change color on rollback?
[x] show stack state / events
[x] fix dns example
[ ] documentation w/ images

needs a cleanup but works for now


chore: update pnpm package manager to version 9.6.0

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


Why does this happen to me when I try to compile with Koala? :(

Compile with Koala material-kit.sass and I get this error, and the compiled css that gives me is this:

I get the same error.

Hi! Did you try to compile the scss with gulp from our docs?
Regards,
Dragos

Thanks for the quick response Dragos. Yes I ended up making it work via
Gulp. In the end I created my own gulpfile because I wanted to customize a
few things.
Cheers.
Brendan
On 9 February 2018 at 04:41, dragosct<EMAIL_ADDRESS>wrote:

Hi! Did you try to compile the scss with gulp
https://demos.creative-tim.com/material-kit/docs/2.0/components/colors.html
from our docs?
Regards,
Dragos
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/creativetimofficial/material-kit/issues/103#issuecomment-364358988,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQXzF5iOEMWo1Stt6ama3e3n2Tgo5mLEks5tS_a3gaJpZM4R1fI9
.

--
Brendan Layton
Digital Marketer | Front End Web Developer
Ph: +1<PHONE_NUMBER>
Website http://www.brendanlayton.com | LinkedIn Profile
http://www.linkedin.com/in/brendanlayton

Hi, @brendanlayton! So now your scss is compiling good, right?
Regards,
Dragos

That's right Dragos. It's compiling fine now that I'm using Gulp rather
than Koala.
On 12 February 2018 at 07:20, dragosct<EMAIL_ADDRESS>wrote:

Hi, @brendanlayton https://github.com/brendanlayton! So now your scss
is compiling good, right?
Regards,
Dragos
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/creativetimofficial/material-kit/issues/103#issuecomment-364880967,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQXzF8m_1J-E0gJU5pIHGAk2X2A8wfNmks5tUBBcgaJpZM4R1fI9
.

--
Brendan Layton
Digital Marketer | Front End Web Developer
Ph: +1<PHONE_NUMBER>
Website http://www.brendanlayton.com | LinkedIn Profile
http://www.linkedin.com/in/brendanlayton

Hello guys,
Thank you for your interest in working with our products, this issue is solved in the latest version (v2.0.4).
All the best,
Stefan


Default rank for non-clan group members

Suggestion: Allow group leaders to choose a default rank for members that get added without a specified rank

I'm not sure what this means 🤔  @Sethmare do you remember?

In several places when, such as when creating a group we default the group role to member if none is provided. The suggestion here is to make it configurable per group instead of defaulting to member.

Ah I see, this seems not very worth it. Closing until it becomes relevant again.

Sorry I just saw this. What @rorro said haha


distribute pamac as pre-compiled package

available to install via pacman now with sudo pacman -S pamac-full


int to int64

In go std library almost return value of something get is int64
So I think to change int to int64  is better and type safe
How about it?

int and int64 are not the same type even though they may have the same size on a particular architecture.
Enforcing int64 will limit usage to certain architectures. The user is expected to enforce type portability.

Oh I'm noob to golang
I'll close this issue


Remove checkpoint files

Validators seem to generate lots of backup files when running rerun commands which is problematic. Find a graceful way to stop checkout generation

We can stop a lot of the outputs from generating by changing the .mdp file, check here for the docs: https://manual.gromacs.org/documentation/current/user-guide/mdp-options.html#output-control


mrc-4634-utils: Add a util function to check if form values are valid

At the moment the validation logic in hint is always marking rehydrated projects options as invalid which is leading to problems with broken project state. I want to tighten up the check that we use to see if the model options are still valid.
At the moment what we do is

Fetch the DynamicFormMeta from the backend
Populate the form with any options from the state (these are the rehydrated options) and return as newForm
Check that the newForm is identical to the DynamicFormMeta saved in the state

If it isn't then mark this options as invalid i.e. state.valid = false
This is causing problems because in a rehydrated project we do not have a DynamicFormMeta in the state so it is always marking it as invalid. It also is a bit too strict as if we reload a project after for example adding a new option we are now marking that as invalid which I don't think it should be.
This PR adds a utility function I want to call from hint to change this logic. It checks that in the DynamicFormMeta every selected value in SelectControl and MultiSelectControl is one of the possible option ids. We then call this instead of step 3 above. I think this should achieve what we want for both rehydrated and reloaded projects. See the mrc-4634 ticket for more in depth details.
Keen to hear about any code which I could approach in a more idiomatic way. I've not done much typescript so keen for feedback.

Closing this in favour of having this a util function in https://github.com/mrc-ide/hint/pull/872 we can move it into here if anyone else ever wants to use it


DrawerNav starts on screen with RTL language

We're currently implementing RTL support. When setting Arabic as the default language, the DrawerNavigation start position is on screen:

And slides out to:

When using a LTR language such as English or French, the menu position starts off screen and slides in as expected:

Also for reference, we had to manually configure the drawer to slide in from the right in RTL mode as follows:
const Navigator = DrawerNavigator({
  View1: {
    screen: View1Screen,
  },
  View2: {
    screen: View2Screen,
  },
}, {
  drawerPosition: I18nManager.isRTL ? 'right' : 'left',
});

react-native: 0.42.0rc
react-navigation: 1.0.0-beta.3

+1

+1

Quick bump. Any chance to get a second set of eyes on this, or any suggestions on places to start if one wanted to look at patching this?

+1

It looks like this issue might be solved in<EMAIL_ADDRESS>https://github.com/react-native-community/react-native-drawer-layout/pull/30
Currently<EMAIL_ADDRESS>is using<EMAIL_ADDRESS>with dependency on
"dependencies": {
    "react-native-drawer-layout": "1.2.0"
  }

Is it possible to upgrade just this package? Or do we have to wait for the next react-navigation release?

I take it back. I upgraded to 1.3.0 and my drawer is still in the middle of the screen when its closed.

cc @DanielMSchmidt

I am currently working on this 👍

+1

Pinging OP @dkpalmer  since this issue is quite old and related to an old version of the lib. If no answer I'll close in 7 days.

@kelset This seems to be related to / a duplicate of: https://github.com/react-community/react-navigation/issues/1773. We still experience this issue, and it's essentially rendering the Arabic version of our app unusable. Any pointers would be welcome.

Hey @thisischris thanks for letting me know. Since this is the older one of the two issues I'm going to close the other one.
First off I think we should ask @DanielMSchmidt if he ever produced any code related to this in the end. It looks like it was fixed for the project we rely on but since we are already using v1.3.2 I'm not sure.

@kelset I was under the assumption that it should work in react-navigation as it works in the drawer and the react-native-drawer-layout-polyfill version is recent

@DanielMSchmidt same ><' That's why I don't understand why the bug is still present. Btw what do you think of this diagnosis?
@thisischris or @dkpalmer or adlahd3 can you post a small snippet that shows the bug in Snack or a repo?

we're using the latest version of react-native-drawer-layout-polyfill so hopefully this is resolved. if not, please create an issue on https://github.com/react-navigation/react-navigation-drawer

@dkpalmer  It worked perfectly for me


RFC: Write a plan for Zebra Consensus Failure

Motivation
We want to write a plan for how we'll deal with a Zebra consensus failure, and maybe other security issues.
We'll need this plan when users start relying on Zebra.
Tasks

[ ] write a RFC about Zebra consensus failure
[ ] move the final RFC to the Zebra Book
[ ] maybe look at the tor security process - add link
[ ] follow up on the ECC offer to share security issues  - add ticket number

We might want to subsume this into #2001

We've deferred this task a lot, we can do it if needed later.


submit with --ebs not cleaning up EBS volumes

When submitting a job with the --ebs option, the created EBS volume is not cleaned up from the EC2 instance, rather it stays attached to the EC2 instance for the duration of the instance lifetime.
I suspect this trap command:
https://github.com/base2genomics/batchit/blob/master/submit/submit.go#L116
overrides this trap command:
https://github.com/base2genomics/batchit/blob/master/submit/submit.go#L218

something else must be going on because we run thousands of jobs and the ebs volumes get cleaned up. I'm fine with adding the PR if you verify that it resolve your particular issue (and updates to address my comment).

Just curious, do your ebs volumes get cleaned up on instance termination or right upon job completion?
On our end, I can confirm they are cleaned up on instance termination (as a consequence of the DeletionOnTermination attribute being set), but not on job completion.

I am almost certain they are cleanup on job completion.

Interesting. Maybe it's best not to accept the pull request then.
I'm happy to maintain this fix in the forked repo for ourselves until we can pin down the root cause.

I'd be happy to accept the PR. Perhaps I am mistaken. I had though that given e.g.
trap "echo asdf" EXIT
trap "echo 1234" EXIT

both traps would fire. but that is not the case so the code as-is should not cleanup.

Think I might have gotten to the bottom of this. We are using both --ebs and --volumes, in which case both trap commands run, and the second one overrides the first. This situation introduced the need for this fix.
If only --ebs is used (which might be your case?), then volumes should have been properly cleaned up prior to applying this fix.

ah. yeah. that must be it. I rarely/never use --volumes.