[flutter_tools] attempt to work around null interoplate

Description
No idea what is causing this. Possibly the tool is in a bad state and would crash later, but it is impossible to tell. The line that is crashing is:
    globals.printStatus('Building $app for $logTarget ($typeName)...');
Both app and logTarget are null checked/initialized the line below. TypeName is a lookup from the cache artifacts which asks for a path basename. doesn't seem like that could be null either. NNBD SOON
Crash:
Thread 0 main thread CRASHEDArgumentError: Invalid argument(s)
at _StringBase._interpolate(string_patch.dart:854)
at BuildIOSCommand.runCommand(build_ios.dart:92)
at <asynchronous gap>(async)
at FlutterCommand.verifyThenRunCommand(flutter_command.dart:860)
at _rootRunUnary(zone.dart:1198)
at _CustomZone.runUnary(zone.dart:1100)
at _FutureListener.handleValue(future_impl.dart:143)
at Future._propagateToListeners.handleValueCallback(future_impl.dart:696)
at Future._propagateToListeners(future_impl.dart:725)
at Future._completeWithValue(future_impl.dart:529)
at Future._asyncCompleteWithValue.<anonymous closure>(future_impl.dart:567)
at _rootRun(zone.dart:1190)
at _CustomZone.run(zone.dart:1093)
at _CustomZone.runGuarded(zone.dart:997)
at _CustomZone.bindCallbackGuarded.<anonymous closure>(zone.dart:1037)
at _microtaskLoop(schedule_microtask.dart:41)
at _startMicrotaskLoop(schedule_microtask.dart:50)
at _runPendingImmediateCallback(isolate_patch.dart:118)
at _RawReceivePortImpl._handleMessage(isolate_patch.dart:169)

https://github.com/flutter/flutter/issues/59029#issuecomment-653330662
I think it's that the app's toString id (the bundle identifier) is null.
Probably related to https://github.com/flutter/flutter/pull/56620 based on the commit range @athornz found.

Oh! that makes much more sense. Is this being addressed elsewhere or should I refocus?

Oh! that makes much more sense. Is this being addressed elsewhere or should I refocus?

I don't think it's being addressed anywhere else.  I can take over https://github.com/flutter/flutter/issues/59029#issuecomment-654492636.

Okay! I'm not sure what the fix WRT the app toString should be - but in general toString() can't ever return null or it will crash interpolation. So at the least returning a sentinel value is an improvement.


Remove flakiness from JavaExtractorTest [phab:D555]

Created by schroederc at 2015-10-14 17:08:01:

shahms accepted this revision at 2015-10-14 17:48:45

schroederc closed via commit 7378cfc8955b4c17f32580bf69f8d39589cafa2b at 2015-10-14 17:51:26


Opening context menu can trigger opening a sub menu or menu item

Depending on how the menu aligns when it opens, it can also trigger another click on the menu which can open something or expand a sub menu.

I am hoping this is fixed by https://github.com/DustinBrett/daedalOS/commit/5a4449dee5dd3550a0617937c03e0fa619c8def7 which also stopped the touchEnd event from causing a mouseDown event which could perhaps have been on the menu instead of the desktop. When it is on the desktop which happens more when it's offset changes near the bottom then it closes the menu which was https://github.com/DustinBrett/daedalOS/issues/301. If this logic is right it fixes both bugs.


[Update Content] Docker options

There was an option to use docker here is the file that is presently out of date.
#89 introduces a non-docker option, but we should include a flow to illustrate docker use, and maintain docker files/images here as we did before or upstream.
related: https://github.com/paritytech/cumulus/issues/543

A tool that might be good to highlight use of here: https://github.com/open-web3-stack/parachain-launch
@riusricardo @jimmychu0807 what do you think about that?


Slowdown detection with many lines

Information

OS: Windows
Version: [e.g. 0.45.0]
Terminal: Visual Studio Console & Windows PowerShell

Describe the bug
Detected that Spectre.Console is faster than Console.Writeline from 100 lines until 20K lines. Then, it's performance drops until taking twice the time to print 50K lines or even 10 times slower with 100K lines.
To Reproduce
I prepared a small program to do the testing, for your consideration:
namespace ReproduceSpectreConsoleSlowDown
{
    class Program
    {
        static void Main(string[] args)
        {
            const int reps = 5;
            int[] sizes = new int[] { /* 10, 100, 1000, 10000,*/ 50000 };
            float[] spectreMeans = new float[sizes.Length];
            float[] consoleMeans = new float[sizes.Length];

            for (int k = 0; k < sizes.Length; k++)
            {
                List<string> output = new List<string>(sizes[k]);
                for (int i = 0; i < sizes[k]; i++)
                    output.Add(string.Format("change{0}", i));

                int[] spectreResults = new int[reps];
                int[] consoleResults = new int[reps];
                int sumSpectreResults = 0;
                int sumConsoleResults = 0;

                for (int i = 0; i < reps; i++)
                {
                    consoleResults[i] = PrintChangesWithDefaultConsole(output);
                    spectreResults[i] = PrintChangesWithAnsiConsole(output);

                    sumSpectreResults += spectreResults[i];
                    sumConsoleResults += consoleResults[i];
                }

                spectreMeans[k] = (float)sumSpectreResults / reps;
                consoleMeans[k] = (float)sumConsoleResults / reps;
            }

            for (int i = 0; i < spectreMeans.Length; i++)
            {
                Console.WriteLine(string.Format("Spectre mean time for {0} elements: {1} ms", sizes[i], spectreMeans[i]));
                Console.WriteLine(string.Format("Console mean time for {0} elements: {1} ms", sizes[i], consoleMeans[i]));
            }
        }

        static public int PrintChangesWithAnsiConsole(List<string> output)
        {

            if (output == null || output.Count == 0)
                throw new Exception("output cannot be null or empty.");

            int ini = Environment.TickCount;

            const string consoleColor = "blue";
            //const string consoleColor = "#00FFFF";
            const string shortDescription = "Desc";

            var root = new Tree("");

            TreeNode changes = root.AddNode(
                string.Format("[{0}]{1}[/]", consoleColor, shortDescription));

            Table table = new Table().RoundedBorder();

            table.AddColumns(new string[] { "col1", "col2", "col3" });

            foreach (string str in output)
                table.AddRow(new string[] { str, str, str });

            changes.AddNode(table);

            AnsiConsole.Write(root);

            return Environment.TickCount - ini;
        }
        static public int PrintChangesWithDefaultConsole(List<string> output)
        {
            int ini = Environment.TickCount;

            if (output == null || output.Count == 0)
                throw new Exception("output cannot be null or empty.");

            string spacing = GetCharRep(' ', SPACING);

            PrintTableHeader(string.Format("{0}{1}{2}{3}{4}", "col1", spacing, "col2", spacing, "col3")) ;
            foreach (string str in output)
                PrintLine(string.Format("{0}  {1}  {2}", str, str, str));

            return Environment.TickCount - ini;
        }

        static void PrintTableHeader(string formatedHeader)
        {
            string separator = GetCharRep('-', formatedHeader.Length + MARGIN * 2);

            Console.WriteLine(separator);
            PrintLine(formatedHeader);
            Console.WriteLine(separator);

        }

        static void PrintLine(string line)
        {
            string space = GetCharRep();
            Console.WriteLine(string.Format("{0}{1}{2}{3}{4}", '|', space, line, space, '|'));
        }
        static string GetCharRep(char c = ' ', int times = MARGIN)
        {
            return new string(' ', times);
        }

        const int SPACING = 7;
        const int MARGIN = 2;
    }
}

Expected behavior
We have detected when printing 100K lines withing tables of 3 columns, that using Sprectre.Console takes up to 103 seconds in average while we are printing with Console.Writeline the same amouint of lines in 11 seconds. I'm not saying that it should take the same, just the difference seems too big and keeps on growing with the number of files.
Screenshots

Additional context
I'm not sure whether the preprocessing is lagging the overall times, maybe it is just a compromise solution, but JIC the might be a memory issue somewhere. We are working with Version Control and it is not rare that, when creating a new repo, there might be hundreds of thousands of new files to upload. If we do an status with that amount of private files, it gets frozen for almost 2 minutes.

An easy answer here is that we really don't recommend outputting that many rows with one IRenderable. Way out of the scope of how things are designed to work, it'd be best to break that apart to keep things running smoothly and consistently. No matter what, we are going to need the entire batch of output before we start writing so there will always be delays over outputting smaller items.
BUT, this is a performance issue, so I did a quick profile. Looks like the issue is that on TableRowCollection.Add we are returning the index of the most recently added item. To do so we are using the IndexOf operator. For smaller items this isn't a big deal, but once you get up to 50,000 items the default comparer is looking at a ton of data to see if things are equal and it does this on every call to Add. For 50,000 calls I saw 1,249,291,134 calls to System.Object.Equals alone.
I would suspect a much simpler TableRow comparer that checked if the object reference equals would improve performance across the board and be potentially worth adding.

Thought some more about this. Might be a bit hacky, but removing indexOf altogether and just returning _list.Count - 1 yields this result and should still be valid.
Spectre mean time for 50000 elements: 1750 ms
Console mean time for 50000 elements: 2281 ms

Yes, I confirm the removal of indexOf fixed the performance issue and now spectre.console is more than twice faster than System.Console in  my experiments (50K elements and 5 repetitions):
Spectre mean time for 50000 elements: 3406.2 ms
Console mean time for 50000 elements: 7640.6 ms

Are you doing a pull request with this?


Add a friendlier disclaimer about missing components

Closes #194
Thanks @vemv

can someone merge this?

Thanks @ulrikstrid


Updated memory_nav_test with FlutterDriver.scrollUntilVisible()

The source of this problem was a race in the code that scrolled the Gallery 'Text fields' item into view.
The code was essentially this:
bool scroll = true;
final SerializableFinder menuItem = find.text('Text fields');
driver.waitFor(menuItem).then<Null>((Null value) async {
  scroll = false;
  for (int i = 0; i < 15; i++) {
    await driver.tap(menuItem);
    await driver.tap(find.byTooltip('Back'));
  }
});
while (scroll) {
  await driver.scroll(find.text('Flutter Gallery'), 0.0, -500.0, const Duration(milliseconds: 80));
}

The idea is to keep scrolling downwards, 500dps at a time, until menuItem was visible, and then tap menuItem and back out of its demo 15x.
There are several problems here, the first appears to be the source of the current bug:

The driver.waitFor() call succeeds when menuItem can be found. As in menuItem.evaluate().isNotEmpty (see _waitForElement() in packages/flutter_driver/lib/src/extension/extension.dart). The driver.tap(menuItem) fails if menuItem.hitTest() fails (see _tap(), same file).
If the driver app is notified that the menu item can be found (i.e. the waitFor then clause runs), after the menu item has been created but before it has been scrolled far enough into view to be hit testable, then driver.tap(menuItem) will fail with a timeout.

If the driver app is slow to respond to the notification about the menu item being found, then scrolling might continue until the menu item is scrolled out of view.

If the menu item was visible at the outset, we probably wouldn't find out until after we'd scrolled it out of view.

If the app populated its view lazily, or did other one-time startup work, then the test could fail unpredictably.

This PR's updated version of the test substantially mitigates the first 3 problems:

FlutterDriver.scrollUntilVisible scrolls the menu item to the center of the screen after it has been found. It's always hit-testable there.

The scrolling increment is smaller (300 instead of 500) and there's a human-esque 500ms pause in between scrolls.  This increases the likelihood that the menuItem will be where we expect it at tap time.

No scrolling occurs if the item is already visible.


UI Updates

A batch of UI updates for the Explorer
cc @andresgalante @He1DAr
🔗 Figma link
Header:

[ ] Update background image. Add borders (top, left, right) and "unstick" it (leave static)
[ ] Update "Stacks Explorer" title font size
[ ] Update Stacks icon (attached)

Nav bar:

[ ] Group Transactions, Blocks, Tokens under "Explore" dropdown.
[ ] Update Network selector to new style, and change text so it shows current selected network

Stats block:

[ ] Update all font styles and BTC icon

Recent transactions column:

[ ] Add title
[ ] Update tabs style and "Filter" style
[ ] Add "Update transactions" feat
[ ] Update STX current value tag style
[ ] Update all font styles of the rows
[ ] Move TX hash to be next to the time stamp, crop to 5...5 characters
[ ] Update "View all recent transactions" button style

Recent blocks column:

[ ] Update "Live view" text to "Live updates" and toggle/font style
[ ] Remove checkmark icon
[ ] Remove microblocks legend
[ ] Remove chevron arrow on the right
[ ] Replace "an hr ago" for "1 hr ago" text
[ ] Update STX icon and block heights font styles
[ ] Update "View all recent blocks" button style

Footer:

[ ] Update link and text styles and spacing
[ ] Add Newsletter box

@max-crawford This update involves adding the newsletter box on the footer. Let us know if you need to assist in some way to connect marketing systems for this. Thanks!

@eugeniadigon The only thing I care about is making sure that we are able to track submissions on this form, so we are able to see how this form does and compare it to other newsletter captures we have on our website. Ideally, this should follow a similar nomenclature to what we have used for previous forms. Happy to get involved here as needed as soon as we are ready for it.

@He1DAr I revised these tasks, I'm leaving here some feedback:
Header:

[ ] Background image: add borders (top, left, right) - Is it possible to add these borders or would it have negative implications?

Nav bar:
Pending:

[ ] Replace "Blockchain" with "Explore" and group Transactions, Blocks, Tokens under this dropdown.
[ ] Tweak: This was my mistake - would it be possible to change the font style of Explore / Sandbox / Mainnet and Prices for: font-size: var(--stacks-fontSizes-sm) and font-weight: var(--stacks-fontWeights-r)

Stats block:

[ ] Title of each block should be in uppercase

Recent blocks:

[ ] Replace "live view" for "Live updates" and capitalize L

[ ] STX Icon: This one shouldn't have a border, please remove border: var(--stacks-borders-1px)

Recent transactions:

[ ] Update transaction types icon. Related #1328

[ ] View all recent transactions / blocks button: Update button height and font weight

Transaction row:

[ ] Move txid to the right column and truncate

[ ] Move Fee details to left column and capitalize Fee

[ ] Underline block hash on hover

[ ] Replace "STX transfer" for "Token transfer" to standardize with Filter tx types

[ ] Update price tag color and font-weight

[ ] Move txid to the right column and truncate

[ ] Update Contract call font style to differentiate from Function call

[ ] Bug: When tx failed, the second row appears misaligned

Just realised that the STX Icon on "Recent blocks" column, on dark mode, has a border - which should be removed

We can consider this one done with Nick's PR


files.associations is not case sensitive (".c": "c", ".C": "cpp" doesn't work)

On any OS, files.associations with "*.c": "c" and "*.C": "cpp" are treated identically (case insensitive), but .c needs to be associated with the "C" and language and .C with the "C++" language. When both are present, the last one ends up getting used.
Our C/C++ extension may be able to add some special case workaround for this (not sure yet).

Does anyone know what the duplicate issue is? I searched and couldn't find it:

No help, no nothing, why?

@inweblife You mean why wasn't my question answered?
@bpasero Do you know what issue is tracking this issue and/or what I should search for to find the duplicate issue?


Show the current state of "Always on Top" in the menu

The context menu only say "Toggle Always on Top"
It could use a check item to indicate the state :
Always on top if it is not
✔ Always on top if it is

Awesome! tbh this is that kind of feature that I didn't know I needed. But now that I have seen it, I can't live without it. Thanks for the work 😄

By the way, don't hesitate to modify, or instruct me to modify, some parts of my code, if you have some preferences or ideas.
I'm new to C# (and probably will use it only for WinWidgets :)), so I entirely assume not having certain habits you can have.
I'm not my code, so you can (constructively) criticize it without fear of hurting me.

I'm really happy to help your project, as I'm looking for something like that for a long time.
(My use case : at work, we're asking to write down time we spent on each task; a Always on top widget will allow me to store constantly on which task I'm on, making it easy to compute time after that)

By the way, don't hesitate to modify, or instruct me to modify, some parts of my code, if you have some preferences or ideas. I'm new to C# (and probably will use it only for WinWidgets :)), so I entirely assume not having certain habits you can have. I'm not my code, so you can (constructively) criticize it without fear of hurting me.

Sure, thank you for contributing 😄. If there's anything wrong I'll let you know. I'm also not an expert when it comes to C#, I only use it for personal projects. At work we use other languages, thankfully they are close enough to C# so that some of the knowledge carries over.


{string} from example table does not work unless using quote: ''

Current behavior
Scenario:
   ...
    Then this <stringFromTable> is displayed
    Examples:
        | stringFromTable |
          abcdef

Code:
Then("this {string} is displayed", (myValue) => {
    cy.log('The value is: '+myValue)
})

Result:
Step implementation missing for: this abcdef is displayed
Desired behavior
It should find the step and print The value is abcdef
It works if adding quote in scenario:
Then this '<stringFromTable>' is displayed
Which is not correct regarding Gherkin syntax.
However there is no issue with {int}:
   ...
    Then this <myInt> is displayed
    Examples:
        | stringFromTable |
          1234

Code:
Then("this {int} is displayed", (myValue) => {
    cy.log('The value is: '+myValue)
})

Then this 1234 is displayed
Versions

Cypress version: 9.1.0
Preprocessor version: 4.3.0
Node version: Node.js v17.2.0

@vince-ee I believe this is the cucumber expression behavior that the string data should be wrapped in single/double quotes. This is not the framework issue. Check this for an example

Due to personal reasons, the previous maintainers of this package are stepping down and handing the reigns over to me, a long-time contributor to the project and a user of it myself. This is a responsibility I'm very excited about. Furthermore, I'd like to thank @lgandecki ++ for all the work that they've done so far.
Read more about the transfer of ownership here.
The repository has however moved and all outstanding issues are being closed. This is not a reflection of the perceived importance of your reported issue. However, if after upgrading to the new version, you still find there to be an issue, feel free to open up another ticket or comment below. Please make sure to read CONTRIBUTING.md before doing so.


HTTP 500 for update-cloud-config with not interpolated variables

We have a cloud-config containing dns: [((dns_nameservers))]
bosh update-cloud-config <cloud_config> leads to an HTTP 500 with the following in the director.debug.log:
E, [2017-03-06 15:35:32 #15340] [] ERROR -- Director: NetAddr::ValidationError - Could not auto-detect IP version for '((dns_nameservers))'.:
/var/vcap/packages/director/gem_home/ruby/2.3.0/gems/netaddr-1.5.1/lib/ip_math.rb:54:in `detect_ip_version'
/var/vcap/packages/director/gem_home/ruby/2.3.0/gems/netaddr-1.5.1/lib/cidr.rb:157:in `create'
/var/vcap/packages/director/gem_home/ruby/2.3.0/gems/bosh-director-260.0.0/lib/bosh/director/dns/dns_manager.rb:121:in `block in dns_servers'
/var/vcap/packages/director/gem_home/ruby/2.3.0/gems/bosh-director-260.0.0/lib/bosh/director/dns/dns_manager.rb:120:in `each'
/var/vcap/packages/director/gem_home/ruby/2.3.0/gems/bosh-director-260.0.0/lib/bosh/director/dns/dns_manager.rb:120:in `dns_servers'
/var/vcap/packages/director/gem_home/ruby/2.3.0/gems/bosh-director-260.0.0/lib/bosh/director/deployment_plan/manual_network_subnet.rb:47:in `parse'
/var/vcap/packages/director/gem_home/ruby/2.3.0/gems/bosh-director-260.0.0/lib/bosh/director/deployment_plan/manual_network.rb:18:in `block in parse'
/var/vcap/packages/director/gem_home/ruby/2.3.0/gems/bosh-director-260.0.0/lib/bosh/director/deployment_plan/manual_network.rb:17:in `each'
/var/vcap/packages/director/gem_home/ruby/2.3.0/gems/bosh-director-260.0.0/lib/bosh/director/deployment_plan/manual_network.rb:17:in `parse'
/var/vcap/packages/director/gem_home/ruby/2.3.0/gems/bosh-director-260.0.0/lib/bosh/director/deployment_plan/cloud_manifest_parser.rb:61:in `block in parse_
networks'

On the client side:
Updating cloud config:
  Director responded with non-successful status code '500' response ''

Exit code 1

@loewenstein currently we don't support variables interpolation in the Cloud Config. There should be a plan to support it eventually.

We use the bosh-cli for interpolation. Our expectation was to get a better error message. Does it make sense to invest time here for a better error message? Also the return code shouldn't be HTTP 500?

@loewenstein @beyhan true, error message could be better. In the meanwhile you can use the new cli to interpolate the cloud-config before uploading it. Example:
bosh interpolate /path/to/cloud-config.yml -v dns_nameservers="<IP_ADDRESS>" >> interpolated-cloud-config.yml
This command will interpolate the cloud-config, then you can separately upload interpolated-cloud-config.yml
Check bosh interpolate -h for more options.

Added story for cloud config interpolation: https://www.pivotaltracker.com/story/show/141743773

Closing - above story has been accepted and is available in 262.0 and up. https://github.com/cloudfoundry/bosh/issues/1637 remains open for tracking bad error handling (unhelpful 500) when uploading malformed cloud configs.


Label type?

There are several types of labels in O365, I'm assuming that this is for Retention labels but this is not explicitly stated. Please update the text to make the type of label unambiguous.

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

ID: 0d96eadd-522c-fed2-d867-aae9596b5371
Version Independent ID: 561744f4-8bef-38a4-fccd-4aff02175e8d
Content: Get-ComplianceTag (ExchangePowerShell)
Content Source: exchange/exchange-ps/exchange/Get-ComplianceTag.md
Service: exchange-powershell
GitHub Login: @chrisda
Microsoft Alias: chrisda

@DeanGross, you're right, it's retention labels. I updated the description in this and the other *-ComplianceTag cmdlet topics.
Thanks for the feedback.
Closing.


Fail with meaningful error message if the list elements are not all strings

fixes #6818
This makes sure that a configured list contains strings only or fails with a meaningful error message.

Warnings

:warning:
This PR is approved with no milestone set. If merged, it won't appear in the detekt release notes.

  Generated by :no_entry_sign: dangerJS against cb13e934dc9743a6f74484e14fa56c6b3460050c


Race on call to Serve() and  _____Listener() functions

Problem statement
There is a race condition involving calling func (s *Server) Serve() (err error) and any of the func (s *Server) _____Listener() (net.Listener, error) functions. I don't think these functions are generally used in the framework so this race condition won't affect very many people; e.g. I use these functions only to set up integration tests.
Steps to reproduce
package main

import (
	"log"
	"time"

	"github.com/go-openapi/loads"
	"github.com/go-swagger/go-swagger/examples/todo-list/restapi"
	"github.com/go-swagger/go-swagger/examples/todo-list/restapi/operations"
)

func main() {
	swaggerSpec, err := loads.Embedded(restapi.SwaggerJSON, restapi.FlatSwaggerJSON)
	if err != nil {
		log.Fatalln(err)
	}

	var server *restapi.Server
	api := operations.NewTodoListAPI(swaggerSpec)
	server = restapi.NewServer(api)
	server.EnabledListeners = []string{"http"}

	server.ConfigureAPI()
	defer server.Shutdown()

	go func() {
		if err := server.Serve(); err != nil {
			log.Fatalln(err)
		}
	}()

	// Uncomment this to make sure that the server has (probably) definitely started
	// by the time `server.HTTPListener()` is called and the ports will be the same
	// time.Sleep(1 * time.Second)
	listener, err := server.HTTPListener()
	if err != nil {
		panic(err)
	}
	log.Printf("%+v", listener.Addr())

	time.Sleep(1 * time.Second)
}

This very consistently outputs stuff like:
> go run main.go
Result of server.HTTPListener(): <IP_ADDRESS>:53060
Serving todo list at http://<IP_ADDRESS>:53061
> go run main.go
Serving todo list at http://<IP_ADDRESS>:53102
Result of server.HTTPListener(): <IP_ADDRESS>:53103
> go run main.go
Serving todo list at http://<IP_ADDRESS>:53118
Result of server.HTTPListener(): <IP_ADDRESS>:53119
> go run main.go
Result of server.HTTPListener(): <IP_ADDRESS>:53140
Serving todo list at http://<IP_ADDRESS>:53141

while with the delay uncommented, the output looks like this:
go run main.go
Serving todo list at http://<IP_ADDRESS>:55073
Result of server.HTTPListener(): <IP_ADDRESS>:55073
go run main.go
Serving todo list at http://<IP_ADDRESS>:55092
Result of server.HTTPListener(): <IP_ADDRESS>:55092

Although triggering the race is dependent on the timing of the code execution so results might vary by machine, but if run enough times it should produce a visible race. (In the test suite where I encountered this problem, because the code is quite different the race only occurs about 1 in 1000 runs on my machine.)
Proposed resolutions
In order of difficulty:

Delete these functions as they do not seem to be used anywhere in the framework itself
Spin on the condition variable (s.hasListeners) and don't call s.Listen() from the _____Listener()
e.g:func (s *Server) InMemoryListener() (*bufconn.Listener, error) {
    for !s.hasListeners {
        time.Sleep(1 * time.Millisecond)
    }
    return s.inMemoryL, nil
}

Add appropriate locking to ensure that s.Listen() is not called twice

Environment
swagger version: head (although templates are from an older version, but the code in question looks identical)
go version: go version go1.8.7 darwin/amd64
OS:   macOS High Sierra 10.13.3 (17D47)

we can wrap those in a sync.Once


Stacktrace HTML formatting

Hi Howard,
Turns out I do have a question: any plans/possibility of adding format-exception support for formatting to HTML?
Use cases include Ring middleware to display well-formatted stacktraces to authorised users, stacktraces in email log reports, etc.
On superficial examination, it looks like this might be possible by tweaking the *fonts* design to use arbitrary formatting patterns instead of prefixes - something like:
(def ^:dynamic *fonts*
  {:exception #(format "<strong>%s</strong>" %)
   ...})

Any thoughts?
Thanks, cheers!

For those finding this later, the file is in https://github.com/AvisoNovate/twixt/blob/042c88bb59150b46051efc1b1df3407b73236d22/src/io/aviso/twixt/exceptions.clj.

I think boosting that code out of twixt (which, I'm afraid, is currently not in my scope to maintain) and move it to pretty, would be useful.

I agree, I took a look at the dependency tree, and it was too much to take on for HTML formatted stacks.

I think a good solution would be able to produce a markup string OR a
Hiccup-style data structure.
Also note that Twixt would put the outermost exception first (at the top of
the page, so you don't have to scroll) whereas pretty puts the outermost
exception last (on the console, so you don't have to scroll).
On Mon, Oct 2, 2017 at 11:49 AM, Daniel Compton<EMAIL_ADDRESS>wrote:

I agree, I took a look at the dependency tree, and it was too much to take
on for HTML formatted stacks.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/AvisoNovate/pretty/issues/15#issuecomment-333628792,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADNtP84Lwz4E3SqAvIi0Y8dKi_h0EsVks5soTBIgaJpZM4BRGAj
.

--
Howard M. Lewis Ship
Senior Mobile Developer at Walmart Labs
Creator of Apache Tapestry
(971) 678-5210
http://howardlewisship.com
@hlship

I think a better solution would be to expose some of the private functions inside io.aviso.exception so that all the data used by pretty when writing text output could be used for markup output instead, but not tied to any particular representation.

Closing this for house keeping after 4 years.


The repo's README file should contain information on how to use markdown links

Docusaurus provides an opinionated suggestion for referencing other markdown files as a link: use ../link/to/file.mdx instead of ../link/to/file (for example).
The issue is that this is only possible when the two markdown files are using the same plugin. Our site is (currently) bifurcated into two instances of the plugin-content-docs plugin:

everything under the /docs directory, and
everything under the /network directory.

When "crossing the barrier" from one plugin to the other, we cannot use the .mdx file extension, while links within the same plugin should use the .mdx file extension.
This information should be present in the README file, or contribution guidelines, or somewhere.

👍🏻 incorporated as discussed and will be in final version


Sanitize server response to UI code, using cgi.escape

Jinja is already doing most of sanitization, but since % raw syntax is used at few places, this sanitization still helps with preventing XSS attack.
Helps with solving https://github.com/SpriteLink/NIPAP/issues/937
`

To give example of existing XSS, and to verify this solves it:
Go to http://nipap-demo.spritelink.net/, edit some prefix, and set following description

after this fix, this will not be possible, I think :)

Hey guys, any thoughts on this change?


ホームページ上部のテキストを改善します

製品チームから最新のホームページのテキストを受け取りました。

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: dodondon sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Port stuck if host computer crashes

⚠ Please verify that this bug has NOT been reported before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
If the host computer crashes and docker did not normally shut down the container NodeJS gets stuck in a loop where it can't start as it thinks the port is in use.
Rebooting the host does not fix the problem, only removing the container and recreating it.
👟 Reproduction steps
HALT the host computer (Power loss)
👀 Expected behavior
Start normally as the port is not held by anything
😓 Actual Behavior
Get stuck in a loop where the webserver can't start
Dockge Version
1.4
💻 Operating System and Arch
Debian GNU/Linux 11 (bullseye)
🌐 Browser
Firefox osx 20.0.1
🐋 Docker Version
Docker version 20.10.21, build baeda1f
🟩 NodeJS Version
No response
📝 Relevant log output
Node.js v18.17.1
node:internal/errors:496
    ErrorCaptureStackTrace(err);
    ^

Error: listen EADDRINUSE: address already in use /tmp/tsx-0/7.pipe
    at Server.setupListenHandle [as _listen2] (node:net:1734:21)
    at listenInCluster (node:net:1799:12)
    at Server.listen (node:net:1898:5)
    at file:///pnpm/global/5/.pnpm/tsx@4.6.2/node_modules/tsx/dist/cli.mjs:53:31317
    at new Promise (<anonymous>)
    at yn (file:///pnpm/global/5/.pnpm/tsx@4.6.2/node_modules/tsx/dist/cli.mjs:53:31295)
    at async file:///pnpm/global/5/.pnpm/tsx@4.6.2/node_modules/tsx/dist/cli.mjs:55:459 {
  code: 'EADDRINUSE',
  errno: -98,
  syscall: 'listen',
  address: '/tmp/tsx-0/7.pipe',
  port: -1
}

Changing the image tag from "louislam/dockge:1" to "louislam/dockge:1.4.1" got it to work again for me (using unraid template)

I am experiencing the same effect. Every time I shutdown or reboot the server properly, afterwards I get dockge in a restarting loop with the same log messages.
Node.js v18.17.1
node:internal/errors:496
    ErrorCaptureStackTrace(err);
    ^
Error: listen EADDRINUSE: address already in use /tmp/tsx-0/7.pipe
    at Server.setupListenHandle [as _listen2] (node:net:1734:21)
    at listenInCluster (node:net:1799:12)
    at Server.listen (node:net:1898:5)
    at file:///pnpm/global/5/.pnpm/tsx@4.6.2/node_modules/tsx/dist/cli.mjs:53:31317
    at new Promise (<anonymous>)
    at yn (file:///pnpm/global/5/.pnpm/tsx@4.6.2/node_modules/tsx/dist/cli.mjs:53:31295)
    at async file:///pnpm/global/5/.pnpm/tsx@4.6.2/node_modules/tsx/dist/cli.mjs:55:459 {
  code: 'EADDRINUSE',
  errno: -98,
  syscall: 'listen',
  address: '/tmp/tsx-0/7.pipe',
  port: -1
}

Same here.

Glad this wasn't just me. Racking my brains out trying multiple ports. Only worked after deleting container and re deploying.

The error is thrown from tsx, which may be a upstream bug.
https://github.com/privatenumber/tsx/blob/985bbb8cff1f750ad02e299874e542b6f63495ef/src/utils/ipc/server.ts#L40
Let's see if I can reproduce with minimal steps.

Possibly Wordaround:
docker compose down
docker compose up

docker compose down
docker compose up

Is this considered closed because we can down and up again? or is a permanent fix on the roadmap?

@AmIBeingObtuse No, I implemented a workaround, which deletes the tmp folder before start. See #380.

Awesome thanks for the fast reply and workaround will test this soon.
On Fri, 19 Jan 2024, 19:12 Louis Lam, @.***> wrote:

@AmIBeingObtuse https://github.com/AmIBeingObtuse No, I implemented a
workaround, which deletes the tmp folder before start. See #380
https://github.com/louislam/dockge/pull/380.
—
Reply to this email directly, view it on GitHub
https://github.com/louislam/dockge/issues/353#issuecomment-1900966506,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2PH7LJAZKSCNNJWYBQ5XXLYPLARHAVCNFSM6AAAAABBTMG5HKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBQHE3DMNJQGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Awesome thanks for the fast reply and workaround will test this soon.

Thanks. You can try the nightly image:
services:
  dockge:
    image: louislam/dockge:nightly

PS: You should switch back to 1 when 1.4.2 is released.

Awesome thanks for the fast reply and workaround will test this soon.

Thanks. You can try the nightly image:
services:
  dockge:
    image: louislam/dockge:nightly

PS: You should switch back to 1 when 1.4.2 is released.

Seems to be working perfectly.
Once again thank you for your fast turn around on this.

Are you sure this is fixed?  I experienced this in 1.4.2 as well.  Taking the container down and back up fixed it.

I'm having this bug now on nightly. New deployment on debian stable and can't get it to initialize at all

This is still a problem.


feat(client): fallback image for portfolio page

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Related to #49146

Please close this PR


Fix event query error #81

Fixes #81
The problem was that the timeout for gevent.joinall() was too short. I added a longer timeout for now.

I've pushed commit c033a2e2bedcb930317d2039f7d846ff012accc4. Didn't know we had an open PR for that issue.

This was solved in #108


canPerformAction doesn't enable menu item

I'm trying to add a custom UIMenuItem for a cell. Just like #569
I'm adding the menu item via setMenuItems and returning YES from canPerformAction, but the item still does not appear in the menu.
It seems to work if I add the expected custom selector to JSQMessagesCollectionViewCell.
My code:
- (void)viewDidLoad
{
    ...
    UIMenuController *menuController = [UIMenuController sharedMenuController];
    UIMenuItem *hooray = [[UIMenuItem alloc] initWithTitle:@"hooray"
                                                    action:@selector(hooray:)];
    [menuController setMenuItems:@[hooray]];
    ...
}

- (BOOL)collectionView:(UICollectionView *)collectionView canPerformAction:(SEL)action forItemAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender
{
    if (action == @selector(hooray:))) {
        return YES;
    }

    return [super collectionView:collectionView canPerformAction:action forItemAtIndexPath:indexPath withSender:sender];
}

- (void)collectionView:(JSQMessagesCollectionView *)collectionView performAction:(SEL)action forItemAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender
{
    if (action == @selector(hooray:)) {
        [self hooray:indexPath];
    } else {
        [super collectionView:collectionView performAction:action forItemAtIndexPath:indexPath withSender:sender];
    }
}

What exactly did you do in this case?
I have added and showed up custom item menu successfully. But when I tap this item, there is nothing happen.
I realize that UICollectionView Delegate didn't call
collectionView:performAction:forItemAtIndexPath:withSender: method.
What should I do in this case? Thanks!

@buithuyen there are some issues with custom menu items and behaviors that aren't slated to be fixed until the 8.0 branch is released. Check out PR #1563 -- perhaps you can incorporate that into your code for now.

Is it still the case that there is no clean way to get the cell / index path of the item selected from collection view?  I also see that collectionView:performAction is never called.
As a simple workaround I am storing the indexpath of the item touched to display the menu when collectionView:canPeformAction is invoked.  (It actually seems to be invoked twice: once before showing the menu as I'd expect and once after the user selects the menu item.)


Niloofar/ Added tests for MenuHeader component

This PR includes:

MenuHeader component test cases

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 75.125%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
4641

Relevant Lines:
5591

💛  - Coveralls


Please document the format used by exportDocuments

Is your feature request related to a problem? Please describe.
Sometimes one will reach limitation with a firestore database, due either to a bad design, or other constraints, or one may want to stop using Firestore in favor of another db technology. However, there is no straightforward way of exporting the database and importing it into another one, because the format of the dump generated by exportDocuments (see rpc) is not documented. AFAIK it uses a level db representation, but it seems that many required files to read it are missing.
Describe the solution you'd like
Documentation on the export format used, so one could extract the data of the dump. This would avoid lock-in and would allow us to write converters to import the database into other engines.
Describe alternatives you've considered
Currently the only way I see to export a DB is to first export it with `exportDocuments, import it with BigQuery and finally exporting that dataset.

@sk- Thanks for bringing this up! The full documentation for the function is further down in the file (link), but it was pretty difficult to figure out where more granular documentation was. The Google Cloud documentation has an article that details the export's behavior and LevelDB's log format.
The documentation for the admin and gapic clients on the node SDK are auto-generated by the upstream proto files, so I can't make any changes directly in this repo. I'll work with the backend teams and try to add a link in the protos with more details.

Thanks @thebrianchen for the pointers. I was able to extract the individual records by parsing the leveldb log format. However, those records are protobufs, so one needs to know the proto definition in order to decode them.
Based on some of the data we have, I was able to come up with this proto definition:
syntax = "proto2";

message Record {
  required Path path = 13;
  repeated KeyValue field = 15;
  required PathWrapper footer = 16;
}

message Path {
  required string db = 13;
  required PathWrapper path = 14;
}

message PathWrapper {
  repeated group PathPart = 1 {
    required string collection = 2;
    required string document = 4;
  };
}

message KeyValue {
  optional Type type = 1;
  required string key = 3;
  required bool array = 4;
  repeated Value value = 5;
}

enum Type {
  NATIVE = 0;
  TIMESTAMP = 7;
  NESTED = 19;
}

message Value {
  optional int64 int = 1;
  optional bool boolean = 2;
  optional string string = 3;
  optional double double = 4;
}

Note: the same is true for the metadata, and in fact the docs mention it, even how to "decode" them, but they don't show what the proto definition is.
Is there any chance you can document these proto definitions?

@sk- Thanks for digging into this! I'll forward this to the backend and docs teams to see where it's appropriate to include.
How did you decode the proto definitions?

@thebrianchen Thanks.
I used both https://protogen.marcgravell.com/decode, which is useful for highlighting groups and also protoc --decode-raw. Using that output and the knowledge of the data structure I was able to come up with the proto definition above.
Also note that the level db documentation is not complete, as the checksum is not exactly crc32c because the result is masked.

@thebrianchen is there any chance you could reopen this issue and document what the actual proto is?

cc @schmidt-sebastian

@schmidt-sebastian I would respectfully request that this decision would be revised, because without it you are effectively locking your customers in.
The data does not need to be part of the API contract, it just needs to be documented. Or at the very least some guidelines should be provided so that the community could do a better job while reverse engineering your proprietary encoding.
There are projects which document in someways their implementation details.


Server crashes when first player joins

Setting up a PYX server for my group, using the command mvn clean package war:exploded jetty:run -Dmaven.buildNumber.doCheck=false -Dmaven.buildNumber.doUpdate=false the application builds and starts successfully, but crashes as soon as the first player clicks "Set" on the nickname screen.
This seems to happen some of the time when that player is connecting over the internet, but every time if that player is connecting to the server via its LAN address from another device on the same network or via localhost.
I've installed it on both a Raspberry Pi 3 B+ and a desktop running Ubuntu 20.04, and both experience the same problem.
Attaching a log file that appears in the Maven directory following a crash.
hs_err_pid18521.log

There is no Tomcat install, the server is being run according to the quick start guide using this command from a terminal:
mvn clean package war:exploded jetty:run -Dmaven.buildNumber.doCheck=false -Dmaven.buildNumber.doUpdate=false
The Ubuntu server is using OpenJDK 11.

Yeah, Java versions above 7 just straight up crash, it happened to me back when I tried using Tomcat 8. This project is unmaintained so it's doubtful that you'll get any more support for this. When I set this up so many years ago, I had to go out of my way to install Tomcat 7, which was a real pain.
If you want dark theme for everyone and MySQL support instead of PostgreSQL, I did make a fork a long time ago

Doesn't compile with Java 7 (code contains lambda expressions which are Java 8 minimum), but I downloaded OpenJDK 8 and ran with Jetty on another server and it seems to work ok. The first server had Java 11 which seemed to cause the crash.


chore: Split Algebra.Function.Support/Algebra.Function.Indicator

... in a file about Group and another one about GroupWithZero. Credit Yury for https://github.com/leanprover-community/mathlib/pull/2340 and Zhouhang for https://github.com/leanprover-community/mathlib/pull/1949.

Great, thanks!
maintainer merge


Chore/update changelog 1.9.3

Description
Version update before release
Fixes # (issue)
Type of change
Please delete options that are not relevant.
N/A
How Has This Been Tested?
N/A
Checklist
N/A

:tada: This PR is included in version 1.9.3-beta.12 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Bitcoin currency repository should throw an exception when currency is unkown

Why? The contains method already returns false?

What happens if I call it with some random currency? It returns the static value. AFAIK that's exactly why we introduced the UnkownCurrency exception. Am I wrong?

It never returns the currency code. It returns boolean for contains, int for subunitFor and iterator for getIterator. I dont see the problem.

https://github.com/moneyphp/money/blob/master/src/Currencies/BitcoinCurrencies.php#L24-L30
This one returns 8 for each currency, while I think it should throw an exception for non-bitcoin: https://github.com/moneyphp/money/blob/master/src/Currencies/ISOCurrencies.php#L44-L46

You are right!

PR is there.


Bake AxesSelector into AxesFold

While writing documentation, I realized things would be cleaner if <AxesSelector /> were automatically present in <AxesFold />. I'm not sure if it ever makes sense to have one without the other. @ben thoughts?

@VeraZab do you want to try to do this? Would be great if we didn't have to add AxesSelector manually in every fold...

yes!


Add Eyeball, Green Tea, Ringworm, and Headlight rebuses

Associated Issue: #
Summary of Changes
-Add Eyeball, Green Team, Ringworm, and Headlight rebuses

Pull Request Test Coverage Report for Build 653

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 87.143%

Totals

Change from base Build 514:
0.0%

Covered Lines:
158

Relevant Lines:
180

💛  - Coveralls


Give Spine.js a Good Read-through.

As @maccman and I have discussed, it would be great for projects like Backbone and Spine to learn from one another. Before 0.5.0 is released, we should give the Spine.js codebase a good read-through for interesting ideas.

I doubt it, as Spine is essentially a fork and complete rewrite of Backbone in a different style. The entire point, and all of the interesting bits, are what is done differently...
@artellectual -- I'd be curious to hear (in this ticket) about what specifically you think Backbone could gain from Spine.

@jashkenas I'm curious -- why backbone.js isn't written in coffeescript, like spine, batman and many other modern frameworks?

@jashkenas I think in terms of features you wouldn't gain very much i mean both have almost the same feature sets but what you would gain is @maccman as a core contributor which would be invaluable to the project.
I feel there is just so many implementations of the Frontend MVC rite now we need to merge some and it will make the merged ones stronger, as a team.
I think there are a lot of things that still need work in terms of the Frontend MVC side of things for example a solid localStorage implementation thats smart enough to 'cache' data from the server and 'sync' data back to the server properly for offline access while still keeping the data real time, basic things like that that need to be focused on an ActiveRecord for frontend MVC you could say. I just think that a combined effort will help you reach these goal faster.

then again i probably don't know what i am talking about, but thats my 2 cents.

@paulmillr: Backbone isn't written in CoffeeScript because it both predates it, and is extracted from DocumentCloud, which is written in JavaScript.
@artellectual: The feature sets are a good bit different -- Spine removes collections and makes the Model class responsible for aggregating every model instance ... a patten that I think is a common fallacy when applied to the client-side. Backbone relies on Underscore for http://documentcloud.github.com/backbone/#Collection-Underscore-Methods -- some extremely useful functions for manipulating model data, Spine doesn't have this dependency. Spine has a mobile framework for building iOS-style applications -- Backbone is entirely UI agnostic.
Having @maccman as a core contributor to Backbone would be grand, but it's also great to have folks exploring and pushing client-side patterns in different directions.
I think I can say definitively that a combined effort wouldn't get us any closer to an "ActiveRecord for frontend MVC" ... because that's entirely out of scope for Backbone.js -- and there are no plans to push things in that direction.

@jaskenas so backbone would essentially fit better into some back end technology like rails while spine strives to be a framework on its own, interacting with a headless backend...

@artellectual: You don't actually want an "ActiveRecord for frontend MVC" with a "headless backend" ... here's why:
myAccount.update({admin: true, permissions: "all"});

ah understood.
btw i just tried out document cloud, very nice app you got there ;)


fix(element): css importing paths

When trying to work with the swiper as a webcomponent and the needs to call the register function with false paramenter (https://swiperjs.com/element#injecting-styles).
And then trying to import the swiper elements styles 'swiper/element/css' or some other swiper element css styles (not modules) it fails with the reason that the styles are not found.
So correcting some exports in copy package.json should fix this.

Oh, that was a silly typo. Merged, thank you!


API: Type of urlParameters probably wrong

OpenUI5 version: Any
URL (minimal example if possible): https://sapui5.hana.ondemand.com/#/api/sap.ui.model.odata.v2.ODataModel%23methods/callFunction
The parameter urlParameters is of type Object<string, string>. However you can pass anything to the function (booleans, dates, numbers, strings) and it will be converted to a string under the hood.
So I assume the API is wrong and should be changed to something like Object<string, string | number | Date | boolean> or simply Object<string, unknown>. This would simplify working with TypeScript.
Not sure if and how you can pass Edm.Time to a function import because it will be converted to an object { __edmType: string;     ms: number; }, so maybe unknown or any might be better than explicitely stating all valid types.
Maybe this affects other methods that accept urlParameters as well (read, update, create, remove).

Hello @mschleeweiss,
Thank you for sharing this finding. I've created an internal incident<PHONE_NUMBER>. The status of the issue will be updated here in GitHub.
Regards,
Tereza


chore(dynamic-plugins) generate dynamic plugins table

What does this PR do?
chore(dynamic-plugins) generate dynamic plugins from content in janus plugins and showcase repos; instead of description, link to npmjs.com package
Signed-off-by: Nick Boldt<EMAIL_ADDRESS>Screenshot/screencast of this PR
N/A
What issues does this PR fix or reference?
RHIDP-2519
How to test this PR?
run the script to see the output. Or look at the changes to modules/dynamic-plugins/rhdh-supported-plugins.adoc in this PR!
PR Checklist
As the author of this Pull Request I made sure that:

[x] The Eclipse Contributor Agreement is valid
[x] Code produced is complete
[x] Code builds without errors
[ ] Tests are covering the bugfix
[x] The repository devfile is up to date and works, if one exists
[x] Sections What issues does this PR fix or reference and How to test this PR completed
[x] Relevant user documentation updated
[x] Relevant contributing documentation updated
[x] CI/CD changes implemented, documented and communicated

Reviewers
Reviewers, please comment how you tested the PR when approving it.

Preview at https://redhat-developer.github.io/red-hat-developers-documentation-rhdh/pr-300/plugin-rhdh/#con-preinstalled-dynamic-plugins
Some ideas to further improve:

split table by support levels (RH GA, RH TP, Community)
split table so scaffolders are in a separate table from the other plugins
split front end, back end, and scaffolders into 3 tables
combine name, role, and version into a single column, eg., 3scale backend-plugin 1.6.0
move Default column to the left, and remove all values where disabled; just use a (/) icon for the TWO which are enabled.

Some things to check / fix:
new since 1.1 (+5):
@janus-idp/backstage-plugin-argocd
@parfuemerie-douglas/scaffolder-backend-module-azure-repositories-dynamic
@backstage/plugin-catalog-backend-module-gitlab-org
@roadiehq/scaffolder-backend-module-http-request
@janus-idp/backstage-plugin-catalog-backend-module-scaffolder-relation-processor
missing (-1):
@janus-idp/backstage-plugin-dynamic-plugins-info
Changed:

missing link to xref:rhdh-keycloak_{context}[@janus-idp/backstage-plugin-keycloak-backend]

Are these correct?

disabled now: @backstage/plugin-kubernetes-backend
disabled now: @janus-idp/backstage-scaffolder-backend-module-quay
disabled now: @janus-idp/backstage-scaffolder-backend-module-regex

Where did this config go?

@backstage/plugin-techdocs-backend
TECHDOCS_BUILDER_TYPE
TECHDOCS_GENERATOR_TYPE
TECHDOCS_PUBLISHER_TYPE
BUCKET_NAME
BUCKET_REGION_VAULT
BUCKET_URL
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY


feat: add auto upgrade feature, liv-6434

@ihors-livestorm You have forgot to remove the useless mock in the other spec files and also you maintained the use of yarn and every developer don't use that package manager.


⚠ Bofrost.si has degraded performance

In fdbf776, Bofrost.si (https://www.bofrost.si) experienced degraded performance:

HTTP code: 200
Response time: 1869 ms

Resolved: Bofrost.si performance has improved in c3e162c.


Tabs in middle

I am attempting to make an application where the top half of the view is generic profile information, the tabs are in the middle and below them is tab-able contents. Is there any way to embed a TabNavigation as part of the page, not the whole of it.

Found the example of the custom tabs with a custom view. using this i was able to put content both above and below the tabs. It would be nice if it was possible to have a middle tabs position by default.


Implemented Bucket sort in C++

Implemented Bucket sort in C++.
Can one of the admins verify this update?

Mention the issue

https://github.com/Algo-Phantoms/Algo-Tree/issues/1310


eliminate side effects from gpkit.build import

As described in https://github.com/convexopt/gpkit/commit/6623431be55c03a738941e2b834cc5908e4d4b99#commitcomment-12502281

Check PR #322.


Add support for plotting subclasses of cftime.datetime

We would love to use nc-time-axis in xarray.  There was some discussion over the summer about possibly adding support for plotting subclasses of cftime.datetime (e.g. cftime.DatetimeNoLeap) directly.  This would make using it in xarray somewhat easier.  This PR is an attempt to add that.  In so doing, I've retained support for plotting nc_time_axis.CalendarDateTime objects, so this should be backwards-compatible.
Let me know if there is still interest in this.  I'm happy to iterate on it if desired.
For example, with this PR one can now do something like this:
import random

import matplotlib.pyplot as plt
import nc_time_axis
import cftime

d_time = [cftime.Datetime360Day(year=2017, month=2, day=n) for n in range(1, 31)]
temperatures = [round(random.uniform(0, 12), 3) for _ in range(len(d_time))]

plt.plot(d_time, temperatures)
plt.margins(0.1)
plt.ylim(0, 12)
plt.xlabel("Date")
plt.ylabel("Temperature")
plt.show()

Coverage increased (+0.7%) to 91.228% when pulling 0ab03958e41b1e60736bb020214a74eaabd6d60f on spencerkclark:raw-cftime into 46aee1a3983ff035a38c08c8532dc8e50015d7db on SciTools:master.


[dart_services] main failing to deploy

I don't have visibility into why, but https://github.com/dart-lang/dart-pad/runs/19696731885 is the GH actions workflow.
https://github.com/dart-lang/dart-pad/runs/19716575090 also failed.

The next commit, https://github.com/dart-lang/dart-pad/commit/7e7f5337aa15ed98684f5973de617bccf85825be deployed successfully, so 🤷?


A problem with ghidra

Now,I'm using adoptopenjdk 16(openj9),but ghidra doesn't work.I tested on windows 10 and manjaro linux,both of them can't work like them should be.

Thanks for getting in touch, but as it stands, you do not provide enough information to diagnose the problem. Please share a minimal, reproducible example.

Well,when I use jdk15,ghidra works well,but when  I use jdk16,it doesn't work.I can't analyze any file.
Ghidra is download from here:
https://ghidra-sre.org

it doesn't work.I can't analyze any file.

How does that manifest itself? Does something crash, do you get an error, ...?

No, I didn't see anything, but it really doesn't work.
I am analyzing an elf file.

Just like this

Maybe the software isn't ready for Java 16?

Solution:https://github.com/NationalSecurityAgency/ghidra/issues/2879


Add extra_probe_peers serialization, add Nautilus test JSON

- This field may have been missed in previous versions as the
json test files in `tests` did not have this field populated.
Looking at older Ceph versions the struct `entity_addr_t` has
not changed significantly enough that would break backward
compatibility should the `extra_probe_peers` field be populated

I assume you've tested this against older versions?

This repo contains JSON from the same monitor commands across other versions. Outside of that, I haven't done any additional testing. We would have to get some cluster up that have those fields available in their JSON


WIP: Add link to documentation

Just a starting point. Might look better with the link under sandbox. Note cannot click on link at the moment as elevation2before and elevation2after blocking click event somehow.

Ah, I was about to file an issue about this--as a beginner to RxJS, I would find this really helpful. Thanks for working on it @ichpuchtli!

People looking at rxmarbles do not come from RxJs only but all kind of languages.
It might make sense to link to the reactivex.io website instead
e.g: http://reactivex.io/documentation/operators/flatmap.html


Feature/more performant number grammar

A duplicate of adhearsion/ruby_speech#39

@gfaza Can you review this for me?
FYI the following 2 minor commits are new:

[CS] Satiate the CI hound's newfound appetite for single over double-quotes a719c6a
[CS] Appease the blood hound with a frozen string sacrifice 1d2ceb3

👍

Sorry, a few more commits to come down the pike very soon.

np - i'll be watching

👍

@ajayanty Can you merge this for me?


ImportError: No module named QtWebKit

The program installed with no error but when running it throws:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/moithilb/virtualenvironment/SerialApp/local/lib/python2.7/site-packages/webui/__init__.py", line 1, in <module>
    from webui import *
  File "/home/moithilb/virtualenvironment/SerialApp/local/lib/python2.7/site-packages/webui/webui.py", line 4, in <module>
    import PySide.QtWebKit as web_core
ImportError: No module named QtWebKit

I have found that qtwebkit has been deprecated and qtwebengine has to be used. Is there any quick workaround to solve the issue?
I have installed dependencies and libraries inside virtualenv.

Try installing directly from this git repo, the webui package is out of date.
If anyone is interested in becoming the maintainer of this repo I would love to hand it off, I have no interest in supporting this library going forward.

pip install PyQtWebEngine
will solve your problem


Fixed GET_MANY handler

Fix for issue #5
Correctly handle GET_MANY from admin-on-rest.

great work!


Fix duplicated element attributes in rendered output

Fixes #22

Thank you! 😎👌

Your welcome! 🙂
Could you please release a new version?

v2.3.0 released now! 😉


Add EU section to the consent document of account creation

Add a bit field to the participant table named "IsEUCitizen"
Add a nullible datetime field to the participant table named "EUCitizenAgreedOn"
Add a checkbox below "I am Over 18" on the participant creation form with the label "Are you an EU Citizen?"
When IsEUCitizen checked add a scrollable div with attached eu confirmation and save to IsEUCitizen
When IsEUCitizen is checked add a accept EU Confirmation checkbox that saves the current datetime to EUCitizenAgreedOn.  This is required to be checked before continuing.

Changes & Issues Log Notes.docx

ChatGPT says I am an EU Citizen translate to Soy ciudadano de la UE in spanish.  That is what i am using right now in the messages_es.properties file


Customize weekend days

I'd like to customize weekend days, for example, disable them and/or change their color. How can I do this?
Thanks in advance.

I found a way to change the layout of the weekend days:
.calendar__day:nth-child(7n+1) {   background-color: yellow; } .calendar__day:nth-child(7n) {   background-color: yellow; }


Add 'coverageArch' build scan custom value and FlakyTestQuarantineMacOsM1 build

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


Add Kotlin support

Adds Kotlin support.
I don't use Kotlin but I thought it would be good to get support for a few languages to help decide on best design for handling multiple languages.
BSP spec is not finalised for Kotlin.  See here.  I've no idea about how to setup associates in a Gradle build so I've ignored it.
Kotlin plugin doesn't seem to be part of Gradle so everything here is done with reflection - I guess you could add the Kotlin library into the plugin project if you don't want to use reflection.
Up to you if you want to merge. I could change this to a draft PR.

rebased


Fix issue #3085 -- 'Parent' link in page chooser search should not navigate away

The handling of links is slightly different between ajaxifyBrowseResults and ajaxifySearchResults in browse.js so I created a new class to distinguish parent links from other links.
Also, the naming of the url, wagtailadmin_choose_page_child, is slightly confusing, since it can be used to choose either a child or parent, based on what id you supply as an argument. Perhaps there should be a url called wagtailadmin_choose_page_parent, but it would have the same url pattern as wagtailadmin_choose_page_child - making it redundant.
Perhaps a new name is needed for the r'^choose-page/(\d+)/$' url to reflect this.

Hi @saevarom - thanks for the PR!
Unfortunately this fix isn't valid as it stands - the template wagtailadmin/pages/listing/_list.html is used by all page listings, not just the one in the chooser. As a result, this produces the wrong 'parent' link in search results when using the search box in the main navigation menu, for example.


Update the doc for Style/BlockDelimiters

Follow https://github.com/rubocop/rubocop/issues/7898#issuecomment-617181785
This PR updates the doc for Style/BlockDelimiters cop.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[ ] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Thanks!


Found and fixed two bugs while working on the Fluo Tour.

Threads were not shutting down
Multiple collisions of non trigger node was failing in commit

The changes look good to me.  Do you know why tests are failing?

If you mean Jenkins, it's been having a lot of problems lately, like not being able to resolve dependencies, etc.

I was talking about TravisCI which looks like it has tests that are failing and not dep issues.

I was able to run mvn verify 3 times successfully against this branch.   I am not sure why that test failed, I opened an issue to look into it.

+1


fix publish go ahead even if quorum is not met (#23806)

Proposed changes
pick: #23806
If publish txn is not quorum met, writes will be stucked. Let publish go ahead if each tablet contains at least one succ replica and time exceeds 5 min.
This PR also change some hints.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

I've picked https://github.com/apache/doris/pull/23806 to branch-2.0, close this PR.


CloneOptions should reuse Auth method when recursing submodules

_, err := git.PlainClone(pathToService, false, &git.CloneOptions{
	URL:               "ssh://git@host:repo.git",
	Auth:              sshAuth,
	RecurseSubmodules: 10,
})
// err = error creating SSH agent: "SSH agent requested but SSH_AUTH_SOCK not-specified"

Observed
The PlainClone of the initial repository succeeds, however recursing submodules fail as they require use of the same transport.AuthMethod
Expected
The Auth method set in the CloneOptions is also used as a part of the SubmoduleUpdateOptions.Auth
Happy to make a PR if that is desirable?

sure


Validation error while loading prompt flow in azure ml pipeline

Prompt flow with Azure ML Pipeline
A link to the published documentation article - https://github.com/microsoft/promptflow/blob/main/examples/tutorials/run-flow-with-pipeline/pipeline.ipynb
Issue: I am unable to load the flow which I authored and tested on prompt flow UI in Azure ML Pipeline. I am using the load_component function from  azure.ai.ml library.
It throws validation error. Like so

Could you please help resolve this?

@ektaraj
It would be great if you could add a link to the documentation you are following for these steps? This would help us redirect the issue to the appropriate team. Thanks!!

@ektaraj It would be great if you could add a link to the documentation you are following for these steps? This would help us redirect the issue to the appropriate team. Thanks!!

https://microsoft.github.io/promptflow/tutorials/pipeline.html

@ektaraj
Thank you for bringing this to our attention.
I've delegated this to content author @alainli0928, who will review it and offer their insightful opinions.


Apply statically initialised juce::Identifiers for View props

We've seen that dynamic creation of juce::Identifier instances
when rendering view and setting properties shows up in profiling
sessions. This tidies things up to use juce::Identifier as
advices and initialises view property identifiers statically
rather than creating Identifier instances from strings at
runtime.

Ooops. Didn't add the TextView additions. Will push that up now

@nick-thompson, I think the main thing to decide here is whether or not we keep the declarations of all these identifiers public ?

Yup! LGTM. I'm curious what the before/after profile looks like, if you happen to have the numbers around?

I don't right this moment but I'll get the data. This was driven by findings in a profiling session a while back which showed a fair amount of CPU time going down into identifier construction. I'll get some more up to date metrics.


when use addListener method then app crashed

android:
error : java.lang.double cannot be cast to java.lang.string
ios:
app crashed
my react native info
System:
  OS: macOS 13.4
  CPU: (10) arm64 Apple M1 Max
  Memory: 10.54 GB / 64.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 20.3.1
    path: /opt/homebrew/bin/node
  Yarn:
    version: 1.22.19
    path: /opt/homebrew/bin/yarn
  npm:
    version: 9.6.7
    path: /opt/homebrew/bin/npm
  Watchman:
    version: 2<IP_ADDRESS>
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.12.1
    path: /opt/homebrew/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 22.4
      - iOS 16.4
      - macOS 13.3
      - tvOS 16.4
      - watchOS 9.4
  Android SDK:
    API Levels:
      - "28"
      - "29"
      - "30"
      - "31"
      - "33"
    Build Tools:
      - 29.0.2
      - 30.0.2
      - 30.0.3
      - 31.0.0
      - 33.0.0
      - 33.0.1
      - 33.0.2
    System Images:
      - android-31 | Google APIs ARM 64 v8a
      - android-31 | Google Play ARM 64 v8a
      - android-33 | Google APIs ARM 64 v8a
      - android-33 | Google Play ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2021.2 AI-212.5712.43.2112.8609683
  Xcode:
    version: 14.3.1/14E300c
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 11.0.19
    path: /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home/bin/javac
  Ruby:
    version: 2.6.10
    path: /usr/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react: Not Found
  react-native: Not Found
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false

send example code. in empty project in react-native or expo - work fine. maybe another package crash app?

+1 Error in Android when use AddListner.


No way to pass in --server option?

This package only connects to the localDB. Anyway to pass in --server option?
I've tried this workaround but it does not work for me. I would have to re-write a lot of client code to get this working. I just want the desktop app to connect to meteor server like normal. Don't really care about hot code push for desktop app
https://forums.meteor.com/t/can-this-be-done-the-current-state-of-the-write-once-run-anywhere-stack/8947/5

I was able to get DDP working. If you would like to do a screenshare I can walk you through the process. You can chat with me privately on the gitter.im https://gitter.im/arboleya/electrify just click my profile picture in the users list and click chat privately!


exploitdb: 2024-03-19 -> 2024-03-21

Diff: https://gitlab.com/exploit-database/exploitdb/-/compare/refs/tags/2024-03-19...2024-03-21
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
24.05 Release Notes (or backporting 23.05 and 23.11 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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.


Application Insights OpenTelemetry Profiler early access

Please reply if you are interested in getting early access to the Profiler that works with Azure Monitor OpenTelemetry distro.
Tagging people who asked before: @christophwille, @dominic-codespoti, @onionhammer
Update 12/16
A new repository has been created for the early access. Please go to Azure Monitor OpenTelemetry Profiler for .NET repository for the instructions of how to access the new package alone with a Get Started in the readme.
There are several beta versions there, it is recommended to use 1.0.0-beta4 or newer.
Please feel free to file issues in the new repository for questions, feedback and suggestions.

I certainly would try it out!

Absolutely!

@onionhammer, @christophwille See the instructions in 12/16 update. Thanks!

@xiaomi7732 can you link to what you're referring to?

@xiaomi7732 can you link to what you're referring to?

@onionhammer please scroll up to the top of this issue to see the update info:


how to invoke js funciton in PyWidget?

Hi,
I want to handle "Esc" key when switching to another panel, here is what I do:
Base_app(PyWidget):
VBox(tabindex=0) as self._cont:

When switch:
old_panel.set_parent(None)
new_panel.set_parent(self._cont)

This works by reaction on key_down event for _cont, but nothing get focused after switching, so "Esc" key can't be captured.
From previous thread here, "node.focus()" should work, but how to invoke it from PyWidget?
Thanks,
Steeven

You cannot directly access the node attribute from Python. You should create an action on your JsWidget somewhere, that does what needs to be done, and then call that action from Python.

Great, the folowing code works:
class FocusBox(flx.VBox):
@flx.action
def focus(self):
self.node.focus()


Disable ARCH=arm allyesconfig on mainline

Same as a9d8571b91a5b19cd6a48780ed2231938a25283f, but for mainline.

The presubmit checks passed, so I am merging without explicit approval to keep the CI moving and hopefully green. Please scream after the fact if you disagree with this change and I will address any feedback.


A visualize problem consult

Hello, I have a question how you can find the typical scene to visulize for comparing w/wo. softgroup, could you please tell me the test scene name about the fig.5 in the paper? I'd like to visualize it for more information.

Sorry for the late reply. I am busy with a new project so finding the scene name is not convenient at this moment. I will check when available later.


[BUG] Sidebar doesn't load options

Describe the bug
I was adding breadcrumbs to my project, and after updating composer, installing diglactic/laravel-breadcrumbs and publish the configuration file my sidebar stopped loading my options.
expected

now

Environment
Complete the next environment information.

Item
Version

Laravel

OS

@DesarrolloProm May be a deployment issue, or some error in your files after the installation / updating procedure. Try next options:

Check the Laravel log file for errors (storage/logs/laravel.log).
Check that the config/adminlte.php file wasn't overwritten.

It´s clearly a deployment issue or something when I run composer update, so I don't think it's a bug.

Quick update: I figured up why is this happening, It turns out that because I'm using Laratrust to define roles and permissions, the 'can' part in menu wasn't taking into account that my user had the permissions to see those options.

if I use that I can see the option without the "can", but the other doesn't work.
Does that make any sense ?

Take a read to Custom Menu Filters, there is an example of how to implement a custom filter with Laratrust and remove the built-in one that uses Laravel Gate. On the example, it is assumed that you will use the permission attribute on the menu items instead of the can attribute. If your project already has the custom filter created, review the logic. Note you can't use the built-in filter with Laratrust, you need to make your own filter.

That worked, thanks!


chapter 15 pag.530

there are two identical imports in the same code block

from torch.utils.data import Dataset

Good catch, and thanks for the note! Just added this to the errata.


Login window do not appears at top

Login window do not appears at top when Connect-MicrosoftTeams command or any similar command is entered which opens login window.

I was using below command in  *.ps1 file
Connect-MicrosoftTeams -AccountId $ParametersJson.TenantAdminAccountID
The office365 login window should have been appeared on top of VS code, but it was not. I had to switch tab to access that window to put password.

@BipulRaman did you type the command in the integrated terminal inside VS Code ?

No, it was in ps1 file. I executed ps1 file through PowerShell terminal on VS code.

@BipulRaman and it works as expected when executing in a normal PowerShell terminal ?

https://github.com/Microsoft/vscode/issues/42356


Use fixtures for tests

Needs to use both can-fixture and can-fixture-socket.

Closed in https://github.com/canjs/can-connect-feathers/pull/46


Provider does not seem to work with latest SDK docker image

The readme is not very clear on what the prerequisites are for this on Linux -- or, indeed, whether or not this even works with dotnet on Linux. I have a container based on microsoft/dotnet:2.1-sdk which contains version 2.1.402 of the SDK according to dotnet, I have run the install script and /root/.nuget/plugins contains the provider, but:

Setting VSS_NUGET_EXTERNAL_FEED_ENDPOINTS does not seem to have any effect (even with the correct syntax, as per #33)
Running dotnet restore --interactive project.csproj likewise fails with a 401 without ever prompting for anything.

There's no evidence that the plugin is being run, so I'm guessing my prerequisites are somehow wrong.

It’s an Azure Artifacts feed, so I’d expect it to not be misconfigured, because there’s not that much to configure. 🙂

It works for me, so perhaps that may help you narrow down your troubleshooting. My configuration is Ubuntu 18.04, 2.1.402, running on a desktop so not running as root. My installation process was manually copying the netcore directory to ~/.nuget/plugins so that ~/.nuget/plugins/netcore/CredentialProvider.Microsoft exists and contains the DLLs. Running dotnet restore --interactive with a correctly set up NuGet.Config prompts me to do an oauth dance with the provided code, then running dotnet restore afterwards restores my packages as expected.
Note that I did NOT use the install scripts, and I have not set any additional environment variables.
Hope this helps.

I'm forced to conclude that there seems to be something about running dotnet in a Docker container that prevents this from working. I successfully got it to run in an Ubuntu 18.04 VM, then a Debian Stretch VM... and then failed to get it working in the dotnet:2.1-sdk Docker image. I then tried a standard Debian Stretch image, where I manually installed everything, and it didn't work there, either.

So, it turns out that the problem is this:
https://github.com/NuGet/Home/issues/7223
The workaround is to ensure that the container in question has a non-default locale (such as en_US.UTF-8) available and in use, after which the provider kicks into gear.

Not strictly related, but as an FYI, we do have work planned (not yet scheduled - hopefully sometime in Q4) to get the Credential Provider shipped in the SDK Docker containers by default, so you don't have to manually install them.

For the complete workaround, here the code to install a specific locale on a debian based image (like microsoft/dotnet-sdk).
RUN apt-get update && apt-get install -y locales
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8
ENV LANG en_US.UTF-8

@ducas only on an internal backlog, sorry :(. It's getting close to the top of the stack; I'm hoping we get to it either this sprint or next (so, 3-6 weeks).

Thanks @alexmullans.
So just to clarify, at the moment I need my Dockerfile to look like this -
FROM microsoft/dotnet:2.1-sdk AS dotnet-builder
ARG FEED_URL
ARG PAT

RUN apt-get update && apt-get install -y locales
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8
ENV LANG en_US.UTF-8

RUN wget -qO- https://raw.githubusercontent.com/Microsoft/artifacts-credprovider/master/helpers/installcredprovider.sh | bash

WORKDIR /app

COPY ./ .

ENV NUGET_CREDENTIALPROVIDER_SESSIONTOKENCACHE_ENABLED true
ENV VSS_NUGET_EXTERNAL_FEED_ENDPOINTS {\"endpointCredentials\": [{\"endpoint\":\"${FEED_URL}\", \"username\":\"build\", \"password\":\"${PAT}\"}]}

RUN dotnet restore --source $FEED_URL
WORKDIR /app/src/WebApi
RUN dotnet publish -c Release -o out

FROM microsoft/dotnet:2.1-runtime AS runtime
WORKDIR /app
COPY --from=dotnet-builder /app/src/WebApi/out .
ENTRYPOINT ["dotnet", "WebApi.dll"]

Once this the provider is rolled into the SDK image I should be able to reduce my Dockerfile to this:
FROM microsoft/dotnet:2.1-sdk AS dotnet-builder
ARG FEED_URL
ARG PAT

WORKDIR /app
COPY ./ .

ENV NUGET_CREDENTIALPROVIDER_SESSIONTOKENCACHE_ENABLED true
ENV VSS_NUGET_EXTERNAL_FEED_ENDPOINTS {\"endpointCredentials\": [{\"endpoint\":\"${FEED_URL}\", \"username\":\"build\", \"password\":\"${PAT}\"}]}

RUN dotnet restore --source $FEED_URL
WORKDIR /app/src/WebApi
RUN dotnet publish -c Release -o out

FROM microsoft/dotnet:2.1-runtime AS runtime
WORKDIR /app
COPY --from=dotnet-builder /app/src/WebApi/out .
ENTRYPOINT ["dotnet", "WebApi.dll"]

Is this correct?

That looks right but I don't have a Docker instance stood up to verify. Did this work?
I've also asked the team to produce a sample (which I suspect will look basically like this) when we pick up some additional Credential Provider work in the next sprint or two. Thanks for trailblazing.

Thanks @alexmullans.
So just to clarify, at the moment I need my Dockerfile to look like this -
FROM microsoft/dotnet:2.1-sdk AS dotnet-builder
ARG FEED_URL
ARG PAT

RUN apt-get update && apt-get install -y locales
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8
ENV LANG en_US.UTF-8

RUN wget -qO- https://raw.githubusercontent.com/Microsoft/artifacts-credprovider/master/helpers/installcredprovider.sh | bash

WORKDIR /app

COPY ./ .

ENV NUGET_CREDENTIALPROVIDER_SESSIONTOKENCACHE_ENABLED true
ENV VSS_NUGET_EXTERNAL_FEED_ENDPOINTS {\"endpointCredentials\": [{\"endpoint\":\"${FEED_URL}\", \"username\":\"build\", \"password\":\"${PAT}\"}]}

RUN dotnet restore --source $FEED_URL
WORKDIR /app/src/WebApi
RUN dotnet publish -c Release -o out

FROM microsoft/dotnet:2.1-runtime AS runtime
WORKDIR /app
COPY --from=dotnet-builder /app/src/WebApi/out .
ENTRYPOINT ["dotnet", "WebApi.dll"]

Once this the provider is rolled into the SDK image I should be able to reduce my Dockerfile to this:
FROM microsoft/dotnet:2.1-sdk AS dotnet-builder
ARG FEED_URL
ARG PAT

WORKDIR /app
COPY ./ .

ENV NUGET_CREDENTIALPROVIDER_SESSIONTOKENCACHE_ENABLED true
ENV VSS_NUGET_EXTERNAL_FEED_ENDPOINTS {\"endpointCredentials\": [{\"endpoint\":\"${FEED_URL}\", \"username\":\"build\", \"password\":\"${PAT}\"}]}

RUN dotnet restore --source $FEED_URL
WORKDIR /app/src/WebApi
RUN dotnet publish -c Release -o out

FROM microsoft/dotnet:2.1-runtime AS runtime
WORKDIR /app
COPY --from=dotnet-builder /app/src/WebApi/out .
ENTRYPOINT ["dotnet", "WebApi.dll"]

Is this correct?

Does #1 actually works for you at the moment?
I'm struggling with this still.
I still get 401 error.
Are you using the v2 or v3 Azure Artifacts link?

I've got a working setup, with two differences: First, I use:
ENV LC_ALL=en_US.UTF-8

Second, I pass the entire VSS_NUGET_EXTERNAL_FEED_ENDPOINTS string as a build argument. I'm guessing the LC_ALL bit is the important one.
For diagnosing, I recommend you take the last intermediate container ID before the failing restore step from the docker build output, then:
docker run -it --rm <id here> bash
to enter a shell at that stage. There, you can first use set to check whether or not your environment variables actually match what you're expecting. If they do, you can then try to manually run dotnet restore. Note: if the problem is with credentials, you should see error output from the credential provider. If you don't see any output from the credential provider and the restore still fails, it's likely because your locale is incorrect, and the provider invocation fails altogether.

@alexmullans should we be hopeful for a new sdk image with this built in
before Xmas?
On Thu, 22 Nov 2018 at 19:53, Lauri Kotilainen<EMAIL_ADDRESS>wrote:

I've got a working setup, with two differences: First, I use:
ENV LC_ALL=en_US.UTF-8
Second, I pass the entire VSS_NUGET_EXTERNAL_FEED_ENDPOINTS string as a
build argument. I'm guessing the LC_ALL bit is the important one.
For diagnosing, I recommend you take the last intermediate container ID
before the failing restore step from the docker build output, then:
docker run -it --rm  bash
to enter a shell at that stage. There, you can first use set to check
whether or not your environment variables actually match what you're
expecting. If they do, you can then try to manually run dotnet restore.
Note: if the problem is with credentials, you should see error output from
the credential provider. If you don't see any output from the credential
provider and the restore still fails, it's likely because your locale is
incorrect, and the provider invocation fails altogether.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/artifacts-credprovider/issues/35#issuecomment-440956923,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALysJ3aaG9e4Ub-9qm_sglHji17eTskks5uxmYEgaJpZM4W-XYN
.

--
Regards,
Ducas Francis

@alexmullans thanks!


dynamic url support is required

Is your feature request related to a problem? Please describe.
There is a need to route requests based on their attributes - different users to different backends. So for purpose, users service is called inside of extended AbstractGatewayFilterFactory - returned url should be set in request. Found one possible solution:
exchange.getAttributes().put(ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR, new URI(userUrl));

but set url doesn't replace url set in request.
Now for me only one option - use reflection:
            Route route = (Route) exchange.getAttributes().get(GATEWAY_ROUTE_ATTR);

            try {
                Field uriField = route.getClass().getDeclaredField("uri");
                uriField.setAccessible(true);
                uriField.set(route, uri);
                uriField.setAccessible(false);
            } catch (NoSuchFieldException | IllegalAccessException e) {
                e.printStackTrace();
            }

            exchange.getAttributes().put(GATEWAY_ROUTE_ATTR, route);

Describe the solution you'd like
Provide a setter for the uri field in Route.
Describe alternatives you've considered
Continue use reflection.

The url is already dynamic, but is likely an ordering issue. Make sure your filter runs after RouteToRequestUrlFilter.ROUTE_TO_URL_FILTER_ORDER

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.

the version of mine is 3.1.5  ,the RouteToRequestUrlFilter can't change url, url doesn't replace url set in request
this is origi code :
URI mergedUrl = UriComponentsBuilder.fromUri(uri).scheme(routeUri.getScheme()).host(routeUri.getHost()).port(routeUri.getPort()).build(encoded).toUri();
exchange.getAttributes().put(ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR, mergedUrl);


Possible XSS vulnerability in LearningResources.tsx (CWE-79)

Unsanitized input from browser storage flows into a dynamically spread object within a HTML element, where it is used to dynamically construct the HTML page on client side. This may result in a DOM Based Cross-Site Scripting attack (DOMXSS).
In ui/components/LearningResources/LearningResources.tsx:
  const language = localStorage.getItem("bridge/language") || "en";

  // ...

  const drawerProps = {
    // ...
    language,
    // ...
  };

  // ...

  return (
    <QuickStartContainer {...drawerProps}>
      <QuickStartCatalogPage
        title="Quick starts"
        hint={
          "Learn how to create, import, and run applications with step-by-step instructions and tasks."
        }
      />
    </QuickStartContainer>
  );

Thank you. This component isn't used at the moment, nor I think it will as it doesn't work ok with next.js. I'll remove it from the codebase

It looks like maybe we can remove the entire components/LearningResources directory.


Scraping data for shared or replicated profiles

Hello, thanks for a great little project - @recourse set me upon it and I think it is going to be very useful!
However some of the dialog profile names that I used are suffixed with /b and /s naming flags as per the documentation for marking binary replicated and shared dialog profiles here https://opensips.org/html/docs/modules/3.2.x/dialog.html
I notice that the scraper does indeed request these profiles and a response is received with the correct profile flag set (replicated:yes in this case) but the data does not end up in prometheus.
Check the request (from dialoginfo to opensips) for egress/b below
T 2023/09/12 12:29:48.258981 <IP_ADDRESS>:39022 -> <IP_ADDRESS>:8888 [AP] #314
{"jsonrpc": "2.0", "id": "12360", "method": "profile_get_size", "params": ["egress/b"]}

T 2023/09/12 12:29:48.259047 <IP_ADDRESS>:8888 -> <IP_ADDRESS>:39022 [AP] #316
HTTP/1.1 200 OK.
Connection: close.
Content-Length: 125.
Content-Type: application/json.
Date: Tue, 12 Sep 2023 11:29:48 GMT.
.
{"jsonrpc":"2.0","result":{"Profile":{"name":"egress","value":null,"count":0,"shared":"no","replicated":"yes"}},"id":"12360"}

Is this something I can solve with configuration somehow? If not, perhaps these could be exported with a naming convention of -b or -s into prometheus?
Thanks
Pete

Hey Pete,
My initial suspicion is that the '/' isn't a valid character for a prometheus label and so the profile is being dropped. I didn't expect OpenSIPs to include the tags in the profile names (which it doesn't in the response to the profile_get_size, so it seems a bit inconsistent)
Could you provide the output of the list_all_profiles MI command? This is how dialoginsight learns all the profile names used for export.
Could you also confirm if doing a 'profile_get_size' against just the profile name without tags ("egress" instead of "egress/b") returns the expected values? I'm thinking that just stripping the tags off the name might be the best approach.

root@sv-sbc1:/usr/local/src/dialoginsight# opensips-cli -x mi list_all_profiles
{
    "Profiles": [
        {
            "name": "ingress",
            "has value": false
        },
        {
            "name": "egress",
            "has value": false
        },
        {
            "name": "ccchecks",
            "has value": true
        },
        {
            "name": "ccchecksrepl",
            "has value": true
        }
    ]
}

ccchecksrepl, ingress and egress are actually defined within the opensips cfg as /b  but as you see from the above they don't show this tag in the output from list_all_profiles
modparam("dialog", "profiles_no_value", "ingress/b; egress/b")
modparam("dialog", "profiles_with_value", "ccchecks; ccchecksrepl/b")

Calls to profile_get_size actually require the /b flag in the name:
root@sv-sbc1:/usr/local/src/dialoginsight# opensips-cli -x mi profile_get_size ccchecksrepl/b
{
    "Profile": {
        "name": "ccchecksrepl",
        "value": null,
        "count": 2,
        "shared": "no",
        "replicated": "yes"
    }
}

opensips-cli -x mi profile_get_size ccchecksrepl
ERROR: command 'profile_get_size' returned: 404: Profile not found

Hmm, that is interesting. Where is dialoginsight getting the '/b' from? Do you have that dialog listed in the export_profiles option?

I manually specified it in the configuration because it wasn't coming out as part of export_all
        "insight_label": "insight",
        "export_profiles": ["ccchecks", "ccchecks/b", "ingress/b", "egress/b"],
        "export_all": false,
        "timeout": "3s",
        "idle_remove": "1m",
        "enable_profiling": false

It has not been tested at all yet, but I stared work for this under shared_profiles. Using the 'replication_hints' it should allow remapping the reported profile name to a tagged name.
Feel free to give that branch a try.

Thanks for your help in identifying and testing this.
This should now be fixed via the 0.10 release. Feel free to reopen if you find that is not the case.


Fix Markdown list in database-credentials.md

Small fix to make the list look as intended

Nice work! ✨


Descripton fields in .yaml mapping files

Add capability to write some metadata at the top of each .yaml mappign file.
Mapping file description - creator, creation date, updated, license?
Full list metadata TBC

closing, moving discussion to #10


Proposal: SA1407 configurability

Would it be possible to configure 'aggressivity' of SA1407 some how?
It's nice rule, but we're not using it now because of its excessive agressivity.
Some examples where the precedence is obvious and required bracket makes only cluter:
a * b + c
a * b + c * d
a + b / c

versus
(a * b) + c
(a * b) + (c * d)
a + (b / c)

I'm undecided yet on this, but I think it will be quite difficult to get a consistent set of rules that determine when parenthesis are required or not, especially since this rule is also about catching potential bugs.
For example:
a * b + c could have been intended to be a * (b + c), but the developer made a mistake here.

After quick look at code of SA1407 it occurred to me that maybe you can configure it in way you would be able to relax behaviour of SA1407ArithmeticExpressionsMustDeclarePrecedence.IsSameFamilyMethod.
For example you could say in configuration that '*' and '+' are in same family.

I agree that in some places the precedence is clear. How would a configuration option would look like? How would I express that '+' and '*' are in the same family?

Currently I am in favor of leaving the rule as-is. I might change my mind if someone posted a very specific proposal with rationale, but this request in its current form seems to raise more questions than it answers.

I think the point of the rule is that a programmer doesn't need to count on the order of precedence of operators in C#. When I did C programming, I kept a little chart on the precedence of the various operators taped to my monitor so I could figure out what was actually happening with some of the more complex C statements written by other people. With this rule in place, there is no need for a chart like that. Remember that unsafe code is almost C.
Of course, if a statement only has * and + in it, most people know the order, but I think it still makes the code more clear. I also makes it really clear what the programmer who wrote the code intended.

It looks like this is a wontfix based on the current responses.


OTR - Messaging?

Is there anything planned to allow messaging using "Off the record"?

How about https://github.com/arlolra/otr?
It would be a good plugin.

@Dafvid Contributions welcome :)

I'm looking at it right now but don't hold your breath =) All pointers appreciated. I have Prosody running and OTR added in Pidgin so I'm pretty set for testing.