Receiving incorrect data using ListAggs

Im on the free plan, running the below code gives me today data, rather than the first 5 days of the year.
Can you help me understand what is happening here?
Using the rest api works correctly.
curl https://api.polygon.io/v2/aggs/ticker/SPY/range/1/day/2024-01-01/2024-01-05\?adjusted\=true\&sort\=asc\&apiKey\=<REDACTED> | jq

package main

import (
	"context"
	polygon "github.com/polygon-io/client-go/rest"
	"github.com/polygon-io/client-go/rest/models"
	"log"
	"time"
)

func main() {
	// init client
	c := polygon.New("REDACTED")

	iter := c.ListAggs(context.Background(), models.ListAggsParams{
		Ticker:     "SPY",
		Multiplier: 1,
		Timespan:   "day",
		From:       models.Millis(time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC)),
		To:         models.Millis(time.Date(2024, 1, 5, 0, 0, 0, 0, time.UTC)),
	}.WithOrder(models.Asc).WithLimit(1000).WithAdjusted(true))

	for iter.Next() {
		log.Print(iter.Item()) // do something with the current value
	}

	// if the loop breaks, it has either reached the end of the list or an error has occurred
	// you can check if something went wrong with iter.Err()
	if iter.Err() != nil {
		log.Fatal(iter.Err())
	}

}

fmt.Println(models.Millis(time.Date(2024, 1, 5, 0, 0, 0, 0, time.UTC)))

{0<PHONE_NUMBER>0 }

fmt.Println(time.Date(2024, 1, 5, 0, 0, 0, 0, time.UTC).Unix()*1000)

1704412800000

Am i misunderstanding something or is there an issue with models.Milliis?

Hey, I'm checking this out an not able to reproduce. Here's what I see:
// Stocks - Aggregates (Bars)
// https://polygon.io/docs/stocks/get_v2_aggs_ticker__stocksticker__range__multiplier___timespan___from___to
// https://github.com/polygon-io/client-go/blob/master/rest/aggs.go
package main

import (
	"context"
	"log"
	"os"
	"time"

	polygon "github.com/polygon-io/client-go/rest"
	"github.com/polygon-io/client-go/rest/models"
)

func main() {

	// init client
	c := polygon.New(os.Getenv("POLYGON_API_KEY"))

	// set params
	params := models.ListAggsParams{
		Ticker:     "SPY",
		Multiplier: 1,
		Timespan:   "day",
		From:       models.Millis(time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC)),
		To:         models.Millis(time.Date(2024, 1, 5, 0, 0, 0, 0, time.UTC)),
	}.WithOrder(models.Desc).WithLimit(50000).WithAdjusted(true)

	// make request
	iter := c.ListAggs(context.Background(), params)

	// do something with the result
	for iter.Next() {

		// Convert Nanos to time.Time
		timestamp := time.Time(iter.Item().Timestamp)

		// Print the datetime
		log.Printf("Datetime: %v, unixtime (millisecond) %d", timestamp, timestamp.UnixMilli())

	}
	if iter.Err() != nil {
		log.Fatal(iter.Err())
	}

}

And here's the output:
go run main.go
2024/06/18 14:24:51 Datetime: 2024-01-03 21:00:00 -0800 PST, unixtime (millisecond)<PHONE_NUMBER>000
2024/06/18 14:24:51 Datetime: 2024-01-02 21:00:00 -0800 PST, unixtime (millisecond)<PHONE_NUMBER>000
2024/06/18 14:24:51 Datetime: 2024-01-01 21:00:00 -0800 PST, unixtime (millisecond)<PHONE_NUMBER>000

You can also turn on debugging to see what url is being called behind the scenes. Just add models.WithTrace(true) to the request.
From this:
iter := c.ListAggs(context.Background(), params)

To this:
iter := c.ListAggs(context.Background(), params, models.WithTrace(true))

Then you can see the url and all the headers:
Request URL: /v2/aggs/ticker/SPY/range/1/day/1704067200000/1704412800000?adjusted=true&limit=50000&sort=desc
Request Headers: map[Accept-Encoding:[gzip] Authorization:[REDACTED] User-Agent:[Polygon.io GoClient/v1.16.0]]
Response Headers: map[Content-Encoding:[gzip] Content-Length:[293] Content-Type:[application/json] Date:[Tue, 18 Jun 2024 21:27:15 GMT] Server:[nginx/1.19.2] Strict-Transport-Security:[max-age=15724800; includeSubDomains] Vary:[Accept-Encoding] X-Request-Id:[a318714c88177265c81f4557ccd48f39]]
2024/06/18 14:27:15 Datetime: 2024-01-03 21:00:00 -0800 PST, unixtime (millisecond)<PHONE_NUMBER>000
2024/06/18 14:27:15 Datetime: 2024-01-02 21:00:00 -0800 PST, unixtime (millisecond)<PHONE_NUMBER>000
2024/06/18 14:27:15 Datetime: 2024-01-01 21:00:00 -0800 PST, unixtime (millisecond)<PHONE_NUMBER>000

Hey @kaykhan this has been open for about a month and I wasn't able to reproduce what you're seeing. There is code above that should work. So, I'm going to close this but feel free to re-open if you have more information.


Local transformations can only be applied to one target

In the Local#applyTo attribute you can only specify one target: FIELD, TYPE or METHOD. It should allow more than one type at the same time:
package asteroid.local.samples

import asteroid.Local

@Local(
    value   = WithLoggingTransformationImpl,
    applyTo = [Local.TO.TYPE, Local.TO.METHOD])
@interface WithLogging { }

Then, in the implementation, it should be enough to declare a wider type instead of the concrete one, and delegate dispatching to polymorphism:
package asteroid.local.samples

import asteroid.A
import asteroid.Phase
import asteroid.AbstractLocalTransformation

import groovy.transform.CompileStatic

import org.codehaus.groovy.ast.AnnotationNode
import org.codehaus.groovy.ast.AnnotatedNode
import org.codehaus.groovy.ast.stmt.Statement
import org.codehaus.groovy.ast.expr.Expression

@CompileStatic
@Phase(Phase.LOCAL.SEMANTIC_ANALYSIS)
class WithLoggingTransformationImpl extends
    AbstractLocalTransformation<WithLogging, AnnotatedNode> {

    @Override
    void doVisit(final AnnotationNode annotation, final AnnotatedNode annotatedNode) {
        processNode(annotatedNode)
    }

    MethodNode processNode(MethodNode annotatedNode) { }
    MethodNode processNode(ClassNode annotatedNode)  { }
}

Observations about the example:

Annotation adds safety because transformation can only be applied to classes and methods
Therefore AnnotatedNode can only be one of MethodNode or ClassNode
Groovy polymorphism dispatching seems to be a handy solution

Things to check:

How @CompileStatic will work with polymorphism dispatching

Moving this to next milestone

Decision taken:

Added all possible targets
It's only possible to target one type at the same time
To overcome the problem of multiple annotated nodes To.ANNOTATED has been added

Why:

Most of the time we only target one node type
It's not possible to parametrize N number of types in the implementation (only one generic is allowed). Then it makes sense that that type must be AnnotatedNode.
Reduce complexity


multiple versions of 'vsnprintf'

When adding this into code::blocks, I am getting this error when I attempt to compile. I am honestly not sure where to begin with this one, as it has never happened before I included this
here's a screenshot of what is happening

I would try including only "stdio.h" or "cstdio", not both.  The two headers declare the same functions, the former in the global namespace, and the latter in the std namespace.  They may be interfering.

That is not the issue. Upon narrowing it down, I have determined that it is an issue with including json.hpp and fstream. When one of them is gone, the error goes away. However without fstream I have no way (that I know of, I'm still a bit of a rookie) of reading in json files

In that case, it's probably one of the other header files that json.hpp includes. You could confirm that by including these header files instead of json.hpp and commenting out the use of the json library.
https://github.com/nlohmann/json/blob/develop/src/json.hpp#L32-L56

Nope :/ including all of those compiled just fine

compiled just fine.

What if you add a call to snprintf in main()? - Does it still work?
Since this is a linker rather than compiler issue, I'd hypothesize that you may be linking against multiple libraries with conflicting definition of vsnprintf.

With the json stuff commented out and the listed includes included, adding a reference to snprintf worked correctly with no errors.
Also, I am not linking to any other libraries in my linker settings in codeblocks

Which compiler are you using inside code::blocks. I remember a discussion (https://github.com/nlohmann/json/issues/136#issuecomment-284449805) a while ago that was related to MinGW support.

Yeah I am using mingw. What should I do about this? I'm only a junior in
college so I dont really know anything about that sort of thing
On Thu, Apr 6, 2017 at 3:18 AM, Niels Lohmann<EMAIL_ADDRESS>wrote:

Which compiler are you using inside code::blocks. I remember a discussion (#136
(comment)
https://github.com/nlohmann/json/issues/136#issuecomment-284449805) a
while ago that was related to MinGW support.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/nlohmann/json/issues/549#issuecomment-292089909, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AVcekU-KGR6VuEQQRYXcqSXmyGV5SNrJks5rtJG8gaJpZM4M077d
.

The problem with MinGW is that it may have a compiler with a non-compliant standard library. A frequent problem with MinGW is also the support of the std::to_string function, but I also heard problems with all kinds of snprintf. So, which compiler are you using?

Oh! It says gnu gcc compiler
On Thu, Apr 6, 2017 at 11:44 AM, Niels Lohmann<EMAIL_ADDRESS>wrote:

The problem with MinGW is that it may have a compiler with a non-compliant
standard library. A frequent problem with MinGW is also the support of the
std::to_string function, but I also heard problems with all kinds of
snprintf. So, which compiler are you using?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/nlohmann/json/issues/549#issuecomment-292215812, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AVceka--x_TaX-fmIeVVs2zWG6WVxWQnks5rtQhRgaJpZM4M077d
.

Can you switch to Clang?

Well I tried switching to clang, and now Im getting problems where clang
cant find ANY of the include headers, even simple ones like iostream. Im
fairly certain that that is a compiler issue, but even after lots of
research I have no clue how to resolve it
On Fri, Apr 7, 2017 at 8:55 AM, Niels Lohmann<EMAIL_ADDRESS>wrote:

Can you switch to Clang?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/nlohmann/json/issues/549#issuecomment-292528832, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AVcekQhpGSBhr5xcHNtgZ7bRXVgns_SRks5rtjJIgaJpZM4M077d
.

Sorry to hear that. I also have little experience with MinGW. Could you please try just compiling
#include "json.hpp"

using json = nlohmann::json;

int main() {
    json j;
}

with GCC? Also, can you tell me the version of GCC?

That resulted in the same vsnprintf error. How can I find the version?
On Fri, Apr 7, 2017 at 3:28 PM, Niels Lohmann<EMAIL_ADDRESS>wrote:

Sorry to hear that. I also have little experience with MinGW. Could you
please try just compiling
#include "json.hpp"
using json = nlohmann::json;
int main() {
json j;
}
with GCC? Also, can you tell me the version of GCC?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/nlohmann/json/issues/549#issuecomment-292630267, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AVcekRX6WGRRb5ivS9Uv1Uo_CntmdZeaks5rto5YgaJpZM4M077d
.

gcc -v returned this:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=C:/TDM-GCC-64/bin/../libexec/gcc/x86_64-w64-mingw32/5.1.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-5.1.0/configure --build=x86_64-w64-mingw32 --enable-targets=all --enable-languages=ada,c,c++,fortran,lto,objc,obj-c++ --enable-libgomp --enable-lto --enable-graphite --enable-cxx-flags=-DWINPTHREAD_STATIC --disable-build-with-cxx --disable-build-poststage1-with-cxx --enable-libstdcxx-debug --enable-threads=posix --enable-version-specific-runtime-libs --enable-fully-dynamic-string --enable-libstdcxx-threads --enable-libstdcxx-time --with-gnu-ld --disable-werror --disable-nls --disable-win32-registry --prefix=/mingw64tdm --with-local-prefix=/mingw64tdm --with-pkgversion=tdm64-1 --with-bugurl=http://tdm-gcc.tdragon.net/bugs
Thread model: posix
gcc version 5.1.0 (tdm64-1)

You may want to try https://github.com/JamesBremner/nlohmann-json-parser-for-mingw.

Thank you, that works!

Good to hear. Sorry about the suboptimal support for MinGW.


TextBox StackOverflows with DateTime and IValueConverter bind.

Describe the bug
DateTime bind with converter to string causes infinite loop and StackOverflow in TextBox controls.
To Reproduce
Steps to reproduce the behavior:

Create TextBox and bind(mode TwoWay or Default) it to an DateTime
Create an IValueConverter to show DateTime in Text property of TextBox
The IValueConverter comes back and forth from and to Convert and ConvertBack methods
StackOverflow occurs

Expected behavior
IValueConverter convert string to DateTime and DateTime to string(00/00/0000 format)
Screenshots

Desktop (please complete the following information):

OS: Windows 10 22H2
Version 11.0.4

Any reason why you do not use DateTimePicker ?
Anyway, please prepare a very minimal sample as I wasn't able to get into that SO you are facing. upload or link it here. Thx.

Hi, I didn't used DateTimePicker because I didn't wanted the user to waste much time selecting the date(I need to work with dates far beyond 1800 and lower) unless there's some way to type the date and I'm unaware of that.
AvaloniaTextBoxTest.zip

The issue you have is that the converter is called on every key stroke (see #3754). I uses this workaround to overcome this, but this has many drawbacks. But SO is gone at least:
public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
{
    // this will be called on every key stroke. So make sure the new date was typed completely before trying to parse.
    // There may be better options, one has to investigate. But we cannot convert the string before user has finished typing!
    if (value is string {Length:10} dateTime && DateTime.TryParse(dateTime, out DateTime date))
        return date.ToLocalTime();

    // In case conversion was not successful, let's do nothing instead of restetting to null
    return BindingOperations.DoNothing;
}

However I still think using the build in control is way better. The user is not forced to use the calendar, but they can if they want to:

<CalendarDatePicker SelectedDate="{Binding Date}"
                    CustomDateFormatString="dd/MM/yyyy" />

Note: this is not a bug imo, so I'll convert it into a Q&A.


[android] Update to LTS NDK 26b

NDK 26 renamed the directory in which it places the Android compiler-rt from lib64/, and added a bunch of nullability annotations to the Bionic libc.
@drodriguez, please review. You'll need to update the NDK on the community CI and this will likely break some tests in the compiler validation suite, which I haven't tried with NDK 26b yet. I will submit a separate pull to fix any tests once this is in.

As explained in https://github.com/apple/swift/pull/70174#issuecomment-1837239428 you might need to live with the existing NDK for the time being until another Android Community CI is available. I do not have time to install and test new pieces in the existing machines.

Alright, understood.

@kateinoigakukun, please run the CI here.

@swift-ci Please smoke test

Mac CI failed at checkout.

@swift-ci smoke test macOS platform

@bnbarham, the mac CI was broken a couple weeks ago, please run it again now.

@swift-ci please test

Heh, now the Windows CI failed at source checkout.

@swift-ci please test Windows platform

@swift-ci please test


Fix/lint warnings

          2 Messages

:book:
Executed 4 tests, with 0 failures (0 unexpected) in 0.483 (0.487) seconds

:book:
What a good PR :white_flower:

Develop PR Check Result

Item
Result

Head Branch check
:o:

Base Branch check
:o:

Merge Commits check
:o:

Modification Volumn check
:o:

  Generated by :no_entry_sign: Danger


Please issue new version to support Jekyll 4.0.0

My theme (Classic-Jekyll-Theme) depends on jekyll-data. In order to support Jekyll 4.0 a new version of jekyll-data is necessary.
I know that HEAD should have this issue resolved, but until the gem is published in a new release my users cannot upgrade to Jekyll 4.0

The reasons why I didn't ship a release are:

Jekyll 4.0 has added support for loading a _config.yml from a theme-gem when available.
Jekyll 4.1 may add support for loading data files from a theme-gem as well.

Thereby leaving this plugin redundant once Jekyll 4.1 ships.
However, I understand your predicament and shall cut a new version soon..

Thank you, appreciate it very much.

v1.1.0 has been released.


Preparation to integrate ABAP as an official extension of prism

Current version of prismABAP.js is based on the following version of prism-core from commit https://github.com/PrismJS/prism/commit/8a7157be3dceafe5e1a85819ce68e2def4338aba#diff-be553e8a1b66b66f387cb98326dbae83
Which is currently outdated.
The objective here is to:

Remove the modifications made to the core in prismABAP.js
Update the prism core used in prismABAP.js

Modifications

Why is this here? to avoid highlighting of class/structure components?

  				var wrapped;

  				/* Next line amended by PragmatiQa(Ram) */

  					if((token == 'keyword')&&((before.charAt(before.length-1) == '-')||(before.charAt(before.length-1) == '>')||(before.charAt(before.length-1) == '&'))){

  						// wrapped = match;
  						wrapped = new Token(' ', inside? _.tokenize(match, inside) : match);
  					} else{
  						wrapped = new Token(token, inside? _.tokenize(match, inside) : match);
  					}

  				// var wrapped = new Token(token, inside? _.tokenize(match, inside) : match);

Maybe this can be avoided/mitigated using an alias
 /* Next line added by PragmatiQa(Ram) */
 if(o.type == 'comment1'){ o.type = 'comment';}

Hello @rmtiwari , do you recall the details for the first modification?

hmm..component/method/name of structure/class/macros having name same as an ABAP Keyword.

..may be if you use operations defn, this won't be a problem - worth checking.

I created a branch for this issue (update_prism_core).
In commit 05b157e4bfcf49bd13908d98faf348a891a111ab I updated the core with the latest version.
The modification 1 was kept.
Modification 2 was successfully removed with the use of an alias.

..just to say that report RODPS_REPL_TEST from sap system is a good example for testing.

I can see that there are some class->get( ) and range structures (struct-sign, low, etc...) where the problem occurs in RODPS_REPL_TEST.
do you have a sample for macros where the problem also occurs?
I'm thinking the problem could be solved in the keyword regex by using whitespace (\s) + lookbehind instead of \b in the beginning of the keyword. Maybe consider punctuation too:
.WRITE 'a'. " is valid

I think this would cover most cases.

I tested with the following RegEx for keywords, after removing modification 1.
  'keyword' : {
		pattern: /(\s|\.)(ALL_KEYWORDS)\b/gi,
		lookbehind: true,
	},

And RODPS_REPL_TEST seems to be working well.

..good stuff!
a few checks I would advise:

check if performance is not too bad.
check keywords on very start of a line in the middle of code, continuation of statement in next line with or without indentation etc. ..code snippet does not need to be syntactically correct, for highlighting to work on keywords/comments etc .

Something like:
" Keyword at the start of the line
WRITE 'text'.

" In the middle of the code
  LOOP AT lt_table INTO ls_structure
    WHERE some_component = 1.
  ENDLOOP.

  ENDLOOP.

Currently looks like:

(We look better than github :smiley: )
but I had to change to:
  'keyword' : {
        pattern: /(\s|\.|^)(ALL_KEYWORDS)\b/gi,
        lookbehind: true,
    },

introducing the ^ (beginning of line) so that a keyword at the very beginning is also highlighted.
Performance does not look to be a drag, the report you mentioned (RODPS_REPL_TEST) has almost 2000 lines and it is being highlited instantly.
I also tested with a 14000 lines class. In chrome it took someting like one second (I tested with both the new and old RegEx and it seems to take the same time, maybe the old was slightly faster). I have to say though that a certain browser with the blue e logo took almost ten seconds to do it.

If that is ok for you I'll merge this branch into the master.

..yup! please go ahead.
worth putting all these code snippets as example/visual test cases and may be make a github.io site for it. I've not made one before but will check later.

Merged. I added the examples as html file.
Now the language definition does not depend anymore on modifications to the core.
It could be integrated to prism, but I want to work on #2 and #3 first.


UDP Associate support for socks5

refer to https://github.com/riobard/go-shadowsocks2/pull/17
Only solved some conflicts, I haven't checked other functions.

Thanks a lot!


fix(packages/a/arrow): typo in ARROW_BUILD_SHARED

The current arrow package contains a definition with a duplicated D.

@leodido PR #1105 has lots of fixes and improvements for the arrow package. Please run xrepo update to get the latest changes.
I've also made a project to show how to use xmake to install Arrow with more features enabled, along with compiling PyArrow package.

Thank you both!
I was about to send almost the same changes, but then I got stopped by jemalloc (which is giving me issues at the linking step, after successful compilation).

I actually didn't test with jemalloc as mimalloc is default.
I guess the link problem arises because arrow is building vendored jemalloc and collecting the object file in libarrow_bundled_dependencies.a. I have to use package:add("links", xxx) to control link order in order for on_test to pass.

@leodido Just tested with jemalloc=true and it works.
The PyArrow package build in my project still needs some work.

@cyfdecyf I confirm that jemalloc=true works now.
But, I had to disable lz4. In fact, with lz4=true I keep getting a CMake error:
-- Checking for module 'liblz4'
--   Found liblz4, version 1.9.3
CMake Error at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Lz4 (missing: LZ4_LIB)

At first, I thought it was something similar to boost (which configs need to have system = true).
But, configuring lz4 dep as lz4 = {version = "v1.9.3", configs = {system = true}}, doesn't help anyway.
Any idea?
To me it seems the error is here.

@leodido Do you have pkg-config installed on your system?
The whold build process should be able to use all non-system installed packages, which is how I did this in my helper project.
lz4 packages provides only pkg-config .pc files, so the FindLz4.cmake cmake module is relying on PkgConfig module to find lz4.
If you already have pkg-config installed. Please clone my project and then add a file pkg/lz4.lua with following content:
includes("common.lua")

add_requires("lz4", get_configs("lz4"))

Then run xrepo fetch pkg/lz4.lua and post the output.

At first, I thought it was something similar to boost (which configs need to have system = true).
But, configuring lz4 dep as lz4 = {version = "v1.9.3", configs = {system = true}}, doesn't help anyway.

To use system provided package, the config should be:
lz4 = {version = "v1.9.3", system = true}
boost = {version = "1.78.0", system = true, configs = {system = true, ...}}

Note for boost: configs = {system = true} means enable the Boost System Library, this is not for using system installed boost.

@leodido Do you have pkg-config installed on your system?

Indeed I have it :)

Then run xrepo fetch pkg/lz4.lua and post the output.

{
  {
    links = {
      "lz4"
    },
    version = "v1.9.3",
    includedirs = {
      "~/.xmake/packages/l/lz4/v1.9.3/55e9aa7ed4014be287ab80a488dfae47/include"
    },
    libfiles = {
      "~/.xmake/packages/l/lz4/v1.9.3/55e9aa7ed4014be287ab80a488dfae47/lib/liblz4.a"
    },
    linkdirs = {
      "~/.xmake/packages/l/lz4/v1.9.3/55e9aa7ed4014be287ab80a488dfae47/lib"
    },
    static = true
  }
}

To me, it seems correct. But when I enable such a dep (lz4) I get the error mentioned above... 🤷 😕
Anyways, I took a look at your example project. Very useful, thank you!
On a side note: you probably forgot snappy dependency for snappy compression, but overall it's very well done!

It's weird. Xrepo adds all the depenedent packages' install paths to CMAKE_PREFIX_PATH, the PkgConfig module would then search under those paths.

-- Checking for module 'liblz4'
--   Found liblz4, version 1.9.3
CMake Error at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Lz4 (missing: LZ4_LIB)

Not sure why this happened. As I can't reproduce the problem, I can only give you some advices on possible ways to debug this:

cd ~/.xmake/cache/packages/2203/a/arrow/7.0.0/source/arrow-apache-arrow-7.0.0/cpp
Modify cmake_modules/FindLz4.cmake and add message to help identify which branch is taken
Run xrepo install -vD -f xxx arrow, look for the cmake configure command in the output
Run the cmake configure command use by xrepo install

On a side note: you probably forgot snappy dependency for snappy compression, but overall it's very well done!

Snappy is now added. For fight rpc (which I don't use currently), it relies on grpc which is not currently in xmake-repo and requires more effort to add.
@waruqi The arrow build code uses some patched or pre-release version (for unreleased fixes) thirdparty libraries. e.g. lz4 for ubsan, snappy for ubsan, rapidjson the last release is in 2016.
For those patches which fixes UBSan problems, can we submit PR to include thoses patches in xmake-repo?
For those pre-release version, can we create PR to create a virtual version to refer to speicfic commit?

It's weird. Xrepo adds all the depenedent packages' install paths to CMAKE_PREFIX_PATH, the PkgConfig module would then search under those paths.

-- Checking for module 'liblz4'
--   Found liblz4, version 1.9.3
CMake Error at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Lz4 (missing: LZ4_LIB)

Not sure why this happened. As I can't reproduce the problem, I can only give you some advices on possible ways to debug this:

maybe we need add add_rules("utils.install.pkgconfig_importfiles", {filename = "liblz4.pc"}) to fix .pc filename in xmake.lua
lz4 has been ported use xm

For those patches which fixes UBSan problems, can we submit PR to include thoses patches in xmake-repo?
For those pre-release version, can we create PR to create a virtual version to refer to speicfic commit?

sure, you can try.

maybe we need add add_rules("utils.install.pkgconfig_importfiles", {filename = "liblz4.pc"}) to fix .pc filename in xmake.lua

Thanks. Guess this should be the root cause. I'll have a send a PR today.

@leodido The fix for lz4 pkg-config file name has been merged. Arrow's FindLz.cmake is looking for .pc file named liblz4.pc, but xrepo installed one provides lz4.pc which I guess the cause of the problem. (I'm still not clear why I'm not affected as I don't have lz4 dev packages installed on system.)
Please run following command to see if the problem is fixed.
xrepo update-repo
xrepo remove lz4
xrepo install -f lz4=true arrow

Thank you for looking into this @cyfdecyf
I've investigated this another bit because it keeps not working even with your improvements for the location of the .pc.
I'm convinced the error has something to do with find_package_handle_standard_args (line 76) of my CMake version, when the first level else-branch evaluates.
-- Checking for module 'liblz4'
--   Found liblz4, version 1.9.3
CMake Error at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Lz4 (missing: LZ4_LIB)
Call Stack (most recent call first):
  /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  cmake_modules/FindLz4.cmake:76 (find_package_handle_standard_args)
  cmake_modules/ThirdpartyToolchain.cmake:241 (find_package)
  cmake_modules/ThirdpartyToolchain.cmake:2143 (resolve_dependency)
  CMakeLists.txt:546 (include)

If I specify LZ4_ROOT like so -DLZ4_ROOT=/<REDACTED>/.xmake/packages/l/lz4/v1.9.3/55e9aa7ed4014be287ab80a488dfae47, it configures correctly.
-- Found Lz4: /<REDACTED>/.xmake/packages/l/lz4/v1.9.3/55e9aa7ed4014be287ab80a488dfae47/lib/liblz4.a
-- Providing CMake module for Lz4

Now, providing LZ4_ROOT= is an easy fix, even tho a more generic solution would be preferable.
For this reason, I kept looking...
And I've discovered that when not using LZ4_ROOT, after entering the else (and thanks to your last fix) it enters the if(LZ4_PC_FOUND) branch.
At this point find_library fails to provide LZ4_LIB which is why after at line 76 find_package_handle_standard_args complains so much. So at least we know where the actual problem is...

And I've discovered that when not using LZ4_ROOT, after entering the else (and thanks to your last fix) it enters the if(LZ4_PC_FOUND) branch.
At this point find_library fails to provide LZ4_LIB which is why after at line 76 find_package_handle_standard_args complains so much. So at least we know where the actual problem is...

Is @cyfdecyf  latest fix not working either? try reinstalling lz4 first.
xrepo remove --all -y lz4

@leodido If you have already tried reinstalling lz4 and still got the problem. Take a look of this fix https://github.com/microsoft/vcpkg/pull/14805/files#diff-2949f257677b5b14a643f87e15b452f2931b0d7e50cdf153b339a930f299270aR18
I encounter similar problems for libevent after fixing the _INSTALL_PREFIX, but then the NO_DEFAULT_PATH argument  causes problems for finding header and lib in the correct path (I added debug message to check the path).
It's can be frustrating to debug cmake problems. And I still don't know why the NO_DEFAULT_PATH need to be removed after I read the cmake document.
I'll send fix for libevent tonight and that fix can be a reference for changing cmake files before install.

And I've discovered that when not using LZ4_ROOT, after entering the else (and thanks to your last fix) it enters the if(LZ4_PC_FOUND) branch.
At this point find_library fails to provide LZ4_LIB which is why after at line 76 find_package_handle_standard_args complains so much. So at least we know where the actual problem is...

Is @cyfdecyf latest fix not working either? try reinstalling lz4 first.
xrepo remove --all -y lz4
xrepo install lz4

I did of course :)


Explore fallbacks for huge diffs

https://wiki-topic.toolforge.org/diff-tagging?lang=en&revid=1020479871
This change affects two tables and the trees are about 700 nodes large even after pruning unchanged sections. As a result, the diff takes over 100 seconds (I didn't test any further). The issue is that tables can contain a huge amount of nodes so a potential fallback when diffs are too slow would be to not expand tables (or more reasonably, just not expand any nodes). It wouldn't be ideal but would make a response more likely and the response wouldn't be incorrect so much as a subset of what actually happened.

Fixed now -- if trees are >500 nodes in total after pruning and before unnesting, I just diff sections (very fast and still tells how many sections changed). If trees would be >1000 nodes after unnesting, I don't unnest. That could be probably made more coherent -- for now, it's just arbitrary.


Network errors

In both clb and the portal we get network errors pretty frequently. The Google bot also hits these errors which probably could hurt page rank:
https://www.google.com/search?q=site%3Acatalogueoflife.org+network+error
I suspect it might be the caching server and do not think it is any particular endpoint, but I'll try to capture more information the next time I hit it.

I would really like to better understand what goes wrong in these cases. It's not immediately clear. @thomasstjerne any ideas?

@gdower do you ever see the Network Errors on the initial page load? I only see them when I return to a browser tab opened hours earlier / day before and suspect that these are mostly network changes.

Since the varnish cache was started 8.5 days ago the backend produced 124 errors out of 6.5 million requests served. I doubt this is the problem. There is a timeout of 5 minutes if the backend does not starts responding until then. That also does not seem to be hit much. Still a bit mysterious to me whats causing this.
As the vast majority of API calls just poll the maintenance status and even those return some 503s I have changed the API to write the maintenance status into a static file served by apache. That avoids varnish and the backend to serve the same over and over (we cannot cache it either as it needs to be potentially updated quickly). Maybe that brings some light into the tunnel.

Personally I have not seen a single network error all of today. Neither in my browser nor in the logs since 2 hours

I finally caught a network error in the console while trying to upload a zip archive for import. It says CORS failed for the OPTIONS request and NS_ERROR_DOM_BAD_URI for the POST. The domain is correct so maybe it is caused by Varnish responding with an error? I can't view the response body because of CORS.

Hm, if the option request fails then the subsequent one fails too. I am surprised the browser actually still tries to call without a successful OPTION response.
Just why the OPTION one failed is unclear to me. @thomasstjerne any insight maybe?

Afraid I don´t really have any good ideas on this

I caught another one and this one had the varnish cache server error.

That first failed response had the body:

{
"message":"Service Unavailable",
"url":"/importer",
"status":"503"
}

The 2nd one had the body:

503 Backend fetch failed

Error 503 Backend fetch failed
Backend fetch failed
Guru Meditation:
XID: 93815103
Varnish cache server

The rest of them have Response body is not available to scripts (Reason: CORS Preflight Did Not Succeed) errors with no response body.

Here's the logs for that time period and there are a couple of errors in there, but maybe this is the one at 2023-02-06 15:48:13.142 which corresponds closely with my browser request time of Mon, 06 Feb 2023 15:48:17 GMT?
org.neo4j.kernel.impl.store.UnderlyingStorageException: java.nio.channels.ClosedByInterruptException
	at org.neo4j.kernel.impl.store.MetaDataStore.scanAllFields(MetaDataStore.java:623)
	at org.neo4j.kernel.impl.store.MetaDataStore.refreshFields(MetaDataStore.java:605)
	at org.neo4j.kernel.impl.store.MetaDataStore.checkInitialized(MetaDataStore.java:825)
	at org.neo4j.kernel.impl.store.MetaDataStore.getLastCommittedTransactionId(MetaDataStore.java:772)
	at org.neo4j.kernel.impl.store.CountsComputer.recomputeCounts(CountsComputer.java:45)
	at org.neo4j.unsafe.batchinsert.internal.BatchInserterImpl.rebuildCounts(BatchInserterImpl.java:568)
	at org.neo4j.unsafe.batchinsert.internal.BatchInserterImpl.shutdown(BatchInserterImpl.java:1001)
	at org.neo4j.unsafe.batchinsert.internal.FileSystemClosingBatchInserter.shutdown(FileSystemClosingBatchInserter.java:184)
	at life.catalogue.importer.neo.NeoDb.endBatchMode(NeoDb.java:432)
	at life.catalogue.importer.NeoCsvInserter.insertAll(NeoCsvInserter.java:131)
	at life.catalogue.importer.Normalizer.insertData(Normalizer.java:915)
	at life.catalogue.importer.Normalizer.call(Normalizer.java:100)
	at life.catalogue.importer.ImportJob.importDataset(ImportJob.java:303)
	at life.catalogue.importer.ImportJob.run(ImportJob.java:155)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.nio.channels.ClosedByInterruptException: null
	at java.base/java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:199)
	at java.base/sun.nio.ch.FileChannelImpl.endBlocking(FileChannelImpl.java:162)
	at java.base/sun.nio.ch.FileChannelImpl.readInternal(FileChannelImpl.java:816)
	at java.base/sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:796)
	at org.neo4j.io.fs.StoreFileChannel.read(StoreFileChannel.java:99)
	at org.neo4j.io.pagecache.impl.SingleFilePageSwapper.swapIn(SingleFilePageSwapper.java:240)
	at org.neo4j.io.pagecache.impl.SingleFilePageSwapper.readAndRetryIfInterrupted(SingleFilePageSwapper.java:300)
	at org.neo4j.io.pagecache.impl.SingleFilePageSwapper.read(SingleFilePageSwapper.java:290)
	at org.neo4j.io.pagecache.impl.muninn.PageList.fault(PageList.java:434)
	at org.neo4j.io.pagecache.impl.muninn.MuninnPageCursor.pageFault(MuninnPageCursor.java:391)
	at org.neo4j.io.pagecache.impl.muninn.MuninnPageCursor.uncommonPin(MuninnPageCursor.java:340)
	at org.neo4j.io.pagecache.impl.muninn.MuninnPageCursor.pin(MuninnPageCursor.java:308)
	at org.neo4j.io.pagecache.impl.muninn.MuninnReadPageCursor.next(MuninnReadPageCursor.java:60)
	at org.neo4j.kernel.impl.store.MetaDataStore.scanAllFields(MetaDataStore.java:616)
	... 18 common frames omitted
	Suppressed: java.io.FileNotFoundException: /tmp/col/scratch/1027/normalizer/neostore (No such file or directory)
		at java.base/java.io.RandomAccessFile.$$YJP$$open0(Native Method)
		at java.base/java.io.RandomAccessFile.open0(RandomAccessFile.java)
		at java.base/java.io.RandomAccessFile.open(RandomAccessFile.java:345)
		at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:259)
		at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:214)
		at org.neo4j.io.fs.DefaultFileSystemAbstraction.open(DefaultFileSystemAbstraction.java:69)
		at org.neo4j.io.fs.DefaultFileSystemAbstraction.open(DefaultFileSystemAbstraction.java:54)
		at org.neo4j.io.pagecache.impl.SingleFilePageSwapper.tryReopen(SingleFilePageSwapper.java:657)
		at org.neo4j.io.pagecache.impl.SingleFilePageSwapper.readAndRetryIfInterrupted(SingleFilePageSwapper.java:309)
		... 25 common frames omitted

These were just during a restart of the server which puts the API down for half a minute.
During a regular deploy we spin up a new server while we keep the old running and then just switch varnish to the new one. That works without any downtime. But a restart of the existing deploy needs to shut down and start up again which takes some time. Especially starting up the names index, which is needed for matching, imports & syncs, can take some minutes. So these causes are not bugs, they are just maintainance related outages.
@timrobertson100 @MattBlissett in case we need to fix a broken server again consider if a col-prod-deploy is feasable. At least when the existing service is not yet fully down a new deploy keeps downtimes minimal. If the server is unresponsive anyways it doesnt matter and a simple restart is probably better.


Bug: It's possible to enter in a room without actually being in a room

I joined a room but I was not in the player list.

I'm working on it :fire: :fire_engine:

Fixed (or at least not happened in a while...).


Bump versions

$subject

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6898139663

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6898140901

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/6898139663
Status: failure

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/6898140901
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6899921268

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6899922813

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/6899921268
Status: failure

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/6899922813
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6900024819

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6900043580

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/6900043580
Status: success

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/6900024819
Status: success


[pkg]: Enable Threeshaking imports and custom build with rollup

TODO :
make a tools or library can threeshakeable for importing specific files

Mark as completed at the new commit in v0.1.6


Allow adding panel average to view_timelines

[ ] Allow plotting a cross-average average timeline (based on available cross-sections) to each facet axes, for one category only.
[x] xcats order is not respected for hue in line charts but set alphabetically, leading to inconsistencies with xcat_labels

2nd task I do not think occurs - xcats do not appear to be ordered alphabetically but instead match the order received which should match the xcat_label parameter if defined.


Update to prevent #55 from occurring again

This change in the readme is to help future developers not have binary issues across lambda functions created by the next build command.

Fixes #55

I would be very wary of setting this as the default option without reviewing this more. I realize that it fixes #55, but it means that all dependent node_modules for each page are included in the bundle, slowing down the build and increasing the function zips bundled for lambda significantly. In my case this simple change increased each of my page zip sizes 7x.

I would be very wary of setting this as the default option without reviewing this more.

@spencewood that's a good point. I updated this to mention it's only needed to copy over binaries.

thanks for opening this @garrypolley! we hear @spencewood's point and will keep it in mind :).


UI hide empty cover images

Our book cover source returns 1px blank images if it can't find an actual image.
Quick fix: Set .search-result img.cover-thumbnail (launchpad.css 216) to max-height instead of height.
Possible Real fix: use jquery naturalHeight and naturalWidth to check for images that match the 1px dimensions and hide those divs with display:none.

Not all titles pull the empty 1px image.


pagefind: 1.2.0 -> 1.3.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/cloudcannon/pagefind/releases.
meta.description for pagefind is: Generate low-bandwidth search index for your static website
meta.homepage for pagefind is: https://pagefind.app/
Updates performed

Rust version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.3.0 with grep in /nix/store/3nxws5y5fyrkf6qvls0bac0nixyd4x2d-pagefind-1.3.0
found 1.3.0 in filename of file in /nix/store/3nxws5y5fyrkf6qvls0bac0nixyd4x2d-pagefind-1.3.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

pagefind

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/3nxws5y5fyrkf6qvls0bac0nixyd4x2d-pagefind-1.3.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A pagefind https://github.com/r-ryantm/nixpkgs/archive/da413772e0aeadc528dc820ab30c47c280825412.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/da413772e0aeadc528dc820ab30c47c280825412#pagefind

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/3nxws5y5fyrkf6qvls0bac0nixyd4x2d-pagefind-1.3.0
ls -la /nix/store/3nxws5y5fyrkf6qvls0bac0nixyd4x2d-pagefind-1.3.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

pagefind

Maintainer pings
cc @pbsds for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

checked the fod hashes


Transform Dalaran workers into Nexus workers when going Nexus

Closing; from February so I imagine it's not getting done.


Update branch to master, use new event API

I merged in master and fixed your use of a now-removed method in space pen.
This should fix up your PR on atom/tree-view :)

Awesome! Thanks!


Crash when navigating to certain pages

Description
See this support ticket that has not been followed up since November 2023: https://forum.newrelic.com/s/hubtopic/aAX8W000000L5NQWA0/crash-in-xamarinforms-project-when-navigate-to-page-with-collectionview
Steps to Reproduce
Expected Behavior
Relevant Logs / Console output
Your Environment

ex: Browser name and version:
ex: Operating System and version:

Additional context

@follesoe is it happening on android or ios? can you please add more details?

It does not crash on Android, only on iOS
It crashes when I navigate to a view that has Google Maps iOS SDK on it

One guess could be that some of the instrumentation/hooks onto HTTP clients or other areas, in combination with the Google Maps SDK, is triggering the crash.
The configuration I am using looks like this:
/// <summary>
/// Starts the New Relic agent using the correct token and configuration for the platform in use.
/// </summary>
/// <param name="clientManager">The <see cref="CrossNewRelicClient.Current"/> client manager.</param>
public static void Start(this INewRelicClientManager clientManager)
{
	var config = new AgentStartConfiguration
	{
		crashReportingEnabled = true,
		offlineStorageEnabled = true,
		networkRequestEnabled = false,
		networkErrorRequestEnabled = false,
		webViewInstrumentation = false,
		loggingEnabled = true,
		logLevel = LogLevel.VERBOSE,
		interactionTracingEnabled = false
	};

	clientManager.NetworkRequestEnabled(false);
	clientManager.NetworkErrorRequestEnabled(false);
	clientManager.HttpResponseBodyCaptureEnabled(false);
	clientManager.HandleUncaughtException();
	clientManager.SetMaxOfflineStorageSize(MaxOfflineStorageInMb);
	clientManager.Start(applicationToken: GetToken(), config);
}

The crash is logged in New Relic (if there is a way I could give you access): https://one.newrelic.com/nr1-core/crash-analysis/home/NDQyODYxMXxNT0JJTEV8QVBQTElDQVRJT058MTEyMDI5NTM5MA?account=4428611&duration=1800000&filters=(domain%3D'MOBILE' AND type%3D'APPLICATION')&state=bcc740ef-1f4d-b801-0aae-280bb00572c9

@follesoe can you share permalink for crash?

@ndesai-newrelic https://onenr.io/0PwJmKGykQ7

@ndesai-newrelic Have you had a chance to look into this? It's a show stopper for our New Relic adoption.

There is no stack trace, as it happens on a separate thread than mine. The app just segfaults. But have you tried to look at the app with the reproduction example in the Forum thread?

The error happens on a view using the Google Maps SDK. Don't know if it is relevant. Could also be due to HTTP instrumentation (as allot of requests will occur to download tiles), even though I have turned this off.
Also; the forum thread has a repro of a case where the New Relic Xamarin integration just crash the app.
For now, I am looking for alternatives to New Relic as this is a show-stopper (the crash reporting crashing the app).


services/horizon: Move effects endpoints to new actions code

PR Checklist
PR Structure

[x] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[x] This PR's title starts with name of package that is most changed in the PR, ex.
services/friendbot, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[ ] This PR adds tests for the most critical parts of the new functionality or fixes.
[ ] I've updated any docs (developer docs, .md
files, etc... affected by this change). Take a look in the docs folder for a given service,
like this one.

Release planning

[ ] I've updated the relevant CHANGELOG (here for Horizon) if
needed with deprecations, added features, breaking changes, and DB schema changes.
[x] I've decided if this PR requires a new major/minor version according to
semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.

What
Move the /effects endpoints to the new actions code as part of #2582 .
Why
The old actions code is awkward and convoluted.
Known limitations
There is a change of status code (from 410 to 400) when moving the cursor validation to the generic code. I didn't think it was worth perpetuating the the 410 error.

@bartekn PTAL, I think I have addressed everything

@bartekn @abuiles PTAL

@abuiles PTAL

@abuiles I had to rebase the PR. Would you mind taking a last look?


Can we integrate ISSO in SIngle Page web app like Angular 4

Hi
Nowadays lots of single-page web applications are created. We have migrated our application with Angular4 and its normal page structure is like sitename.com/#/page-name. But ISSO comments takes different pages after hash. Is there any way to treat this different content pages as separate URL under Angular
Any help is appreciated

You need I.E. support?

Ping? Any up date to this. The ability to place multiple threads per single page is a must. I am evaluation commenting systems that would be compatible with TiddlyWiki.com which shows each post as a stream of cards so multiple blog posts would be in one DOM. Can ISSO handle that?

Sorry for the poor reactivity. I don't know if it works but there might be a possibility that it does.
Threads are based on URLs but you can specify a data-isso-id to bypass this. However the thread itself has an attribute id="isso-thread" so I suspect that multiple threads at the same time on a page might fail but one thread on a SinglePageApp might work.
No sure thing since I didn't tested any of those. Any feedback on these two usecases is very welcome!

Thanks, @blatinier . Need to dig further into this and will update

IIRC looking at the source. the API supports separate threads through the isso-id tag. It is the client side script that make assumptions on its use in a web page. Most static sites separate articles as individual pages allowing a script like ISSO and Disqus to presume that the whole page (URL) is a unique identifier. Even many SPA will manipulate the URL to reflect a unique identifier.
In some cases (like in my case) my page has multiple articles on one page and through the SPA will show hide as needed. Therefore the solution is to use ISSO (not Disqus because their API doesn't support this while ISSO does) a custom JavaScript library that will take into account multiple comment threads on a single page.
The down side at the moment is that to do separate threads it requires a single AJAX request per thread. Add on counts and that is two AJAX requests per thread. If I have say 25 articles on display that make 50 AJAX requests total. Or if I hide the comment threads until the user clicks then it would be 25 AJAX requests for the counts and then one request per user click.
It would be awesome if the API supported collating. Perhaps a site wide count API that returns a hash of topic ids to counts like GET /api/all?url=www.example.com:
[
  {
    "titile": "Lorem",
    "count": 4,
    "thread_url": "http://www.example.com/api/thread?isso-id=12345"
  },
  ...
]

And then the SPA could add buttons and labels were needed.

Maybe you would be intersted in #452 ...

In case anyone else finds this, I got it working on my SPA with the following steps:
Whenever the page changes:

Create a new script tag with all the isso data (reply-to-self, vote-levels, etc). Set its src to embed.min.js.
Remove the old #isso-thread.
Create a new #isso-thread with attribute "data-isso-id" set to a unique ID for the new page.
Inject the new script tag. Isso will update automatically and insert the new page's comments into #isso-thread.

I merged #452 which provides necessary code & doc to integrate into SinglePageApps

Yes, I achieved this, you can create your own script which will create a div with classname 'dynamic-div'  and insert it dynamically.  It tested from my side and worked perfectly just like many forms in a single page


Fix OCI container pushes on merge (attempt 3)

Seems like it didn't work? Why are we testing for it being a merged PR? Wouldn't it be sufficient to push for every commit on master?

@elsirion I think this might have been simpler indeed.

Seems like it didn't work?

The issue now seems to be something with credentials. @justinmoon Can you check if the secret name and other things match?
        if: github.event.pull_request.merged == true
        uses: docker/login-action@v2
        with:
          username: fedimint
          password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}


Any plan to add bwlimit to rsync client side?

I didnot found --bwlimit option to limit transfer speed. Sometimes we donot want rsync client to exhaust my bandwidth on server.

Many options are missing and might be added as they are needed.
For bandwidth limits, however, perhaps you can already use https://manpages.debian.org/bullseye/iptables/iptables-extensions.8.en.html#hashlimit without changing the application itself.


The hanging-punctuation property:     Currently unsupported by any browser, but it would be nice to ...

The hanging-punctuation property:
http://www.w3.org/TR/css3-text/#hanging-punctuation
Currently unsupported by any browser, but it would be nice to know if and when it becomes supported.

This issue was imported from Google Moderator
Moderator votes: +3
Issue added by Evan D on 2012-11-05
To vote this issue up or down, simply include +1 or -1 in your comment.

Duplicate of #1287.

^this, please close.

@Fyrd please, close: https://caniuse.com/css-hanging-punctuation


Use Ruby 2.2.3 for CloudController

Update Ruby to 2.2.3 in CloudController and bump dependencies where necessary (mysql2 gem is update to 0.3.20 - older versions do not support Ruby 2.2.3)
CC unit tests and CATs have been run with both dbs: postgress and mysql.
Attention: This change needs to be included in cf-release together with the PR against cf-release which provides the ruby-2.2.3 package and updates jobs/packages to ruby 2.2.3
See Tracker Story for reference #101225348

@MarcSchunk The PR was failing on Travis due to api_spec.rb being broken. I believe the branch just needed to be rebased on top of master, so I did that and force-pushed. If Travis goes green, this should be fine to merge in.

Merged. Thanks!


Is Certmagic suitable for my use case of adding subdomains pointed to a reverse proxy?

Apologies if this is a duplicate of "Does certmagic have any limitations?"
Here's my use case:
I have a "distributed" reverse proxy/ specialized cache hosted in a few locations across the world that points to an origin server.
1, I'll ask my customers to point a subdomain (or main domain) to my SaaS (both A and AAAA records). This should satisfy the bolded requirement in the docs.

For my implementation of certmagic, I'll use on Demand TLS with:

Use a custom decisionFunc that grabs the domain from my backend and verifies it's a customer of mine
Write some sort of fancy certmagic.DefaultStorage to either grab the certificate from storage, or fetch it from a REST endpoint.

I'm 99% sure this will work for me, I'm just looking for verification.
Also, does this enable HTTP2?

Yup, that's a pretty typical usecase for On-Demand TLS.
Any reason for not using Caddy directly? Seems like it could do this for you out of the box (i.e. no need to write code). You could implement your proxy handling as a HTTP middleware module in Caddy and get all the extra benefits that Caddy brings at the same time.

Thanks so much for the response!
@francislavoie I had some issues when it came to a few things, is the following possible? If so, do you mind telling me where to look?

Use a persistent cache of "rules" for different incoming domains. IE one URL might need to be redirected for a given time.
Add custom headers
Rewrite the request URL and query parameters based on URL (stateless, just redirecting media files elsewhere)

I'm sure I could figure out 2&3 quickly enough, but what about #1? Is that something I should use?
On top of that, is there any other benefit to using Caddy besides ease of use? I'm currently using Go's built in reverse proxy.

2 & 3 are solved by the header directive and the rewrite directive respectively, but 1 isn't something Caddy does out of the box.
Extending Caddy is very easy though: https://caddyserver.com/docs/extending-caddy
Caddy's reverse_proxy is very powerful, has a ton of great features you'd want for load balancing. Caddy can allow you to enable gzip encoding, serve static files easily, etc. It can do pretty much anything you need. And if it's missing something, you can write a plugin.

@francislavoie Where should I start for #1? How should I persist the data? Just with a custom function to either read or get from the caddy cache?
Also, when it comes to multiple client connections and http2, does Caddy enable that?

https://github.com/nicolasazrak/caddy-cache is a Caddy v1 plugin, so it won't work here (v1 plugins aren't compatible with v2).
You can use whatever caching strategy you want, I don't know your business requirements here. You say "for a given time", but what enables this rule for example? How do you configure the amount of time? Etc.
Caddy's request matching is very powerful, you can even use CEL expressions which might allow you do to what you need in terms of time-based conditions if that's important. I'm not sure how much would be gained by caching there though, for simple redirects there's hardly any benefit to caching that type of rule.
Caddy does give you HTTP2 out of the box, but I think Go's stdlib server does as well if you have TLS configured (don't quote me on this, I don't know the specifics there, @mholt could confirm)

I will definitely look into Caddy again then.
"if you have TLS configured." That's my understanding as well. My last remaining question, and thank you so much for your thoroughness, is if running certmagic.HTTPS uses TLS under the hood, enabling HTTP2

Feel free to ask on the community forums if you need more specific help with Caddy
https://caddy.community

I agree with everything Francis said here.
Go's defaults for HTTPS requests is to negotiate HTTP/2 but if you mess with the transport or TLS config structs, all bets are off (the Go docs are specific about what disables HTTP/2, so you can know for sure).
So yeah, I'd recommend just using Caddy for this, you won't have to rewrite a bunch of the same logic yourself.

Thank you @mholt

One last question for you guys:
I'm trying to set up the OnDemandConfig and am having issues.
func main() {
	mux := http.NewServeMux()
	mux.HandleFunc("/", test)
	certmagic.Default.OnDemand = new(certmagic.OnDemandConfig)
	certmagic.DefaultACME.Agreed = true
	certmagic.DefaultACME.Email =<EMAIL_ADDRESS>	certmagic.DefaultACME.CA = certmagic.LetsEncryptStagingCA
	s := &http.Server{
		ReadHeaderTimeout: 20 * time.Second,
		ReadTimeout:       10 * time.Second,
		WriteTimeout:      30 * time.Second,
		Handler:           mux,
	}
	ln, err := tls.Listen("tcp", ":443", certmagic.Default.TLSConfig())
	if err != nil {
		panic(err)
	}
	err = s.Serve(ln)
	if err != nil {
		panic(err)
	}
}

When running this in a docker container and trying to make a request from http://localhost:444 after binding port 443 to 444 I get a null pointer error:

Error here
net/http.(*conn).serve.func1(0xc0000a1680)
        /usr/local/go/src/net/http/server.go:1800 +0x139
panic(0x7cb5a0, 0xb5dc30)
        /usr/local/go/src/runtime/panic.go:975 +0x3e3
github.com/caddyserver/certmagic.(*Cache).getAllMatchingCerts(0x0, 0xc0000a69f0, 0x9, 0x0, 0x0, 0x0)
        /go/pkg/mod/github.com/caddyserver/certmagic@v0.11.2/cache.go:267 +0x4a
github.com/caddyserver/certmagic.(*Config).selectCert(0xb64d80, 0xc0000f6780, 0xc0000a69f0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /go/pkg/mod/github.com/caddyserver/certmagic@v0.11.2/handshake.go:173 +0x8e
github.com/caddyserver/certmagic.(*Config).getCertificate(0xb64d80, 0xc0000f6780, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /go/pkg/mod/github.com/caddyserver/certmagic@v0.11.2/handshake.go:120 +0x3be
github.com/caddyserver/certmagic.(*Config).getCertDuringHandshake(0xb64d80, 0xc0000f6780, 0x6d5adb0e80101, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /go/pkg/mod/github.com/caddyserver/certmagic@v0.11.2/handshake.go:225 +0x7a
github.com/caddyserver/certmagic.(*Config).GetCertificate(0xb64d80, 0xc0000f6780, 0xc000093958, 0x40bfd6, 0xc0000f6780)
        /go/pkg/mod/github.com/caddyserver/certmagic@v0.11.2/handshake.go:70 +0x101
crypto/tls.(*Config).getCertificate(0xc0000ac300, 0xc0000f6780, 0xc0000f6780, 0x0, 0x5)
        /usr/local/go/src/crypto/tls/common.go:870 +0x41a
crypto/tls.(*serverHandshakeStateTLS13).pickCertificate(0xc000125ac8, 0x0, 0x0)
        /usr/local/go/src/crypto/tls/handshake_server_tls13.go:364 +0x74
crypto/tls.(*serverHandshakeStateTLS13).handshake(0xc000125ac8, 0xc00011f200, 0x0)
        /usr/local/go/src/crypto/tls/handshake_server_tls13.go:52 +0x79
crypto/tls.(*Conn).serverHandshake(0xc00017ca80, 0x453309, 0x55bd2f3e19d3)
        /usr/local/go/src/crypto/tls/handshake_server.go:53 +0x1b0
crypto/tls.(*Conn).Handshake(0xc00017ca80, 0x0, 0x0)
        /usr/local/go/src/crypto/tls/conn.go:1342 +0x1e1
net/http.(*conn).serve(0xc0000a1680, 0x8d7780, 0xc0000874d0)
        /usr/local/go/src/net/http/server.go:1816 +0x19d
created by net/http.(*Server).Serve
        /usr/local/go/src/net/http/server.go:2962 +0x35c
4:43:25 app         | 2020/09/04 04:43:25 http: panic serving <IP_ADDRESS>:59856: runtime error: invalid memory address or nil pointer dereference
goroutine 31 [running]:
net/http.(*conn).serve.func1(0xc0000a1720)
        /usr/local/go/src/net/http/server.go:1800 +0x139
panic(0x7cb5a0, 0xb5dc30)
        /usr/local/go/src/runtime/panic.go:975 +0x3e3
github.com/caddyserver/certmagic.(*Cache).getAllMatchingCerts(0x0, 0xc0000a6a90, 0x9, 0x0, 0x0, 0x0)
        /go/pkg/mod/github.com/caddyserver/certmagic@v0.11.2/cache.go:267 +0x4a
github.com/caddyserver/certmagic.(*Config).selectCert(0xb64d80, 0xc0000f6840, 0xc0000a6a90, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /go/pkg/mod/github.com/caddyserver/certmagic@v0.11.2/handshake.go:173 +0x8e
github.com/caddyserver/certmagic.(*Config).getCertificate(0xb64d80, 0xc0000f6840, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /go/pkg/mod/github.com/caddyserver/certmagic@v0.11.2/handshake.go:120 +0x3be
github.com/caddyserver/certmagic.(*Config).getCertDuringHandshake(0xb64d80, 0xc0000f6840, 0x2352fc5b40101, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /go/pkg/mod/github.com/caddyserver/certmagic@v0.11.2/handshake.go:225 +0x7a
github.com/caddyserver/certmagic.(*Config).GetCertificate(0xb64d80, 0xc0000f6840, 0xc000093958, 0x40bfd6, 0xc0000f6840)
        /go/pkg/mod/github.com/caddyserver/certmagic@v0.11.2/handshake.go:70 +0x101
crypto/tls.(*Config).getCertificate(0xc0000ac300, 0xc0000f6840, 0xc0000f6840, 0x0, 0x5)
        /usr/local/go/src/crypto/tls/common.go:870 +0x41a
crypto/tls.(*serverHandshakeStateTLS13).pickCertificate(0xc000125ac8, 0x0, 0x0)
        /usr/local/go/src/crypto/tls/handshake_server_tls13.go:364 +0x74
crypto/tls.(*serverHandshakeStateTLS13).handshake(0xc000125ac8, 0xc00011f400, 0x0)
        /usr/local/go/src/crypto/tls/handshake_server_tls13.go:52 +0x79
crypto/tls.(*Conn).serverHandshake(0xc00017ce00, 0x453309, 0x55bd2f778ae7)
        /usr/local/go/src/crypto/tls/handshake_server.go:53 +0x1b0
crypto/tls.(*Conn).Handshake(0xc00017ce00, 0x0, 0x0)
        /usr/local/go/src/crypto/tls/conn.go:1342 +0x1e1
net/http.(*conn).serve(0xc0000a1720, 0x8d7780, 0xc0000874d0)
        /usr/local/go/src/net/http/server.go:1816 +0x19d
created by net/http.(*Server).Serve
        /usr/local/go/src/net/http/server.go:2962 +0x35c
                                                                            crypto/tls.(*Conn).Handshake(0xc00017ce00, 0x0, 0x0)
        /usr/local/go/src/crypto/tls/conn.go:1342 +0x1e1
net/http.(*conn).serve(0xc0000a1720, 0x8d7780, 0xc0000874d0)
        /usr/local/go/src/net/http/server.go:1816 +0x19d
created by net/http.(*Server).Serve
        /usr/local/go/src/net/http/server.go:2962 +0x35c

Any advice would be greatly appreciated.

@austincollinpena Check the godoc for certmagic.Default:

Default contains the package defaults for the various Config fields. This is used as a template when creating your own Configs with New(), and it is also used as the Config by all the high-level functions in this package.
The fields of this value will be used for Config fields which are unset. Feel free to modify these defaults, but do not use this Config by itself: it is only a template. Valid configurations can be obtained by calling New() (if you have your own certificate cache) or NewDefault() (if you only need a single config and want to use the default cache). This is the only Config which can access the default certificate cache.

Using certmagic.Default.TLSConfig() uses certmagic.Default directly (without construction), which is against the documented proper use. Always use New() or NewDefault() as the documentation describes.

Thank you for your patience here-
I'm still having issues. I reread the docs but still am having some issues.
Here's my new main func:
func main() {
	mux := http.NewServeMux()
	mux.HandleFunc("/test", test)
	magic := certmagic.NewDefault()
	fmt.Println("NICE I EXIST")
	certmagic.Default.OnDemand = new(certmagic.OnDemandConfig)
	myACME := certmagic.NewACMEManager(magic, certmagic.ACMEManager{
		CA:     certmagic.LetsEncryptStagingCA,
		Email:  "",
		Agreed: true,
	})
	magic.Issuer = myACME
	s := &http.Server{
		ReadHeaderTimeout: 20 * time.Second,
		ReadTimeout:       10 * time.Second,
		WriteTimeout:      30 * time.Second,
		Handler:           mux,
	}
	ln, err := tls.Listen("tcp", ":443", magic.TLSConfig())
	if err != nil {
		panic(err)
	}
	err = s.Serve(ln)
	if err != nil {
		panic(err)
	}
}

I get a nice verification that the maintenance routine works with [INFO][cache:0xc0000805a0] Started certificate maintenance routine
But then I get an error:
http: TLS handshake error from <IP_ADDRESS>:36786: no certificate available for 'test-tls.localhost.com'
// or
http: TLS handshake error from <IP_ADDRESS>:36702: no certificate available for 'localhost'

Thinking it might be a localhost issue, I also deployed it and tried to point a domain to it (both a and aaaa records), but a similar error:
TLS handshake error from <IP_ADDRESS>:63562: EOF

If there's not something still wrong with my config, I think it might be a storage issue. I tried to enter my /home/.local but it did not exist. My Dockerfile is built with full permissions for read/ write/ execute.
Do you have any idea for what's still going on?

For potential future visitors, here is my config that seemed to work for me. I will update it if it's a bad example:

func main() {
	mux := http.NewServeMux()
	mux.HandleFunc("/test", test)
	certmagic.Default.OnDemand = new(certmagic.OnDemandConfig)
	certmagic.DefaultACME.CA = certmagic.LetsEncryptStagingCA
	certmagic.DefaultACME.Email = ""
	certmagic.DefaultACME.Agreed = true
	magic := certmagic.NewDefault()
	s := &http.Server{
		ReadHeaderTimeout: 20 * time.Second,
		ReadTimeout:       10 * time.Second,
		WriteTimeout:      30 * time.Second,
		Handler:           mux,
	}
	ln, err := tls.Listen("tcp", ":443", magic.TLSConfig())
	if err != nil {
		panic(err)
	}
	err = s.Serve(ln)
	if err != nil {
		panic(err)
	}
}

That looks better. The key is certmagic.NewDefault(), which is one of the ways (the easiest) to get a valid, initialized config.
I hate that that's required, but I really struggled to find any other way to do it.

This looks exactly like the config I need, except that I also need to support one wildcard subdomain. My setup is pretty much similar to Hyperping's. How do I go about this?

@ImedAdel Did you try magic.Manage([]string{"example.com", "*.example.com"})? (or ManageAsync)

Did you mean ManageSync instead of Manage? I added magic.ManageSync([]string{"example.com", "*.example.com"}) but I have to add a DNS provider now, is that right?
According to the readme, I should add (or any other provider)
certmagic.DefaultACME.DNS01Solver = &certmagic.DNS01Solver{
	DNSProvider: cloudflare.Provider{
		APIToken: "topsecret",
	},
}

However, DNS01Solver  doesn't seem to exist on neither DefaultACME nor certmagic 😕 So I tried
certmagic.DefaultACME.DNSProvider = cloudflare.Provider{
		APIToken: "hoho",
	}

But I'm getting cloudflare.Provider does not implement challenge.Provider (missing CleanUp method).
Am I doing something wrong?

Did you mean ManageSync instead of Manage?

Yes, my bad.

but I have to add a DNS provider now, is that right?

If you're using Let's Encrypt. They require DNS challenge for wildcard certificates.
Make sure to use the latest versions committed (not the latest tagged version), we're going through a transition right now.

Oooh. My bad. Can you please mention that in the readme, please 😄
Sorry for not opening a new issue!
Thank you!


Make it a ROS package

Instead of a standalone-manually-installable package, why not make it a ROS package?
It is a very useful tool I think! I can help on that and releasing it if you want.

Working on this -- if you have progress let me know, if not I will probably be able to do this within a few days.

Hi @awesomebytes Sorry it has been so long! I'm working a bit more actively on this now.

It is now a ROS package and Python 2.x compatible.


[#272, Part 2, Final] Add keyboard controls for editing Registry keys.

Implements #272 (along with PR #275). Added keyboard commands for editing keys in the Registry.

KEY_RIGHT/KEY_RETURN: Edit the selected key.
KEY_SHIFT+KEY_ENTER: Submit edit.
KEY_ESCAPE: Close dialog without submitting.

Other interactions:

KEY_RIGHT/KEY_RETURN/KEY_LEFT/KEY_BACKSPACE: Disabled when search is selected.
KEY_RETURN: Will unfocus the search when selected.
KEY_UP/KEY_DOWN: Will still navigate when search is selected, and will blur the search if used.

LGTM. Looking forward to getting #278 in as well :-)

Merged manually.


Create embed for individual POIs/Trails

Dynamic based on poi_info_id or trail_info_id (need to create)

I am going to generally start from the structure/styling we used to create the full list embed (#173 )

For POIs we use the poi_info_id as the main id. So Schiller Woods-West id is 218. For trails, everything is done by trail subsystem, so the id for North Branch Trail System is North Branch Trail System. @versatilehuman Does this match how you intend to reference ids on the new site?
I have a proof of concept version of the embed list that will only show alerts based on the id specified in the url. So for Schiller Woods-West: https://smartchicago.github.io/trailsy-vis-staging/individual.html?id=218 . For North Branch Trail System: https://smartchicago.github.io/trailsy-vis-staging/individual.html?id=North+Branch+Trail+System
You can see how that looks in the iframe code at https://github.com/smartchicago/trailsy-vis-staging/blob/gh-pages/iframe_test.html#L12
Thoughts?

I can definitely build the embed with the poi_info_id. Subsystem will be more difficult (or just as easy but I'd have to store "North+Branch+Trail+System" etc. somewhere and that feels sloppy).
Could we use trail_desc_id stored in trails_desc? Or I could talk to Garret about adding a subsystem ID? That might make more sense.

We won't need the name of the location or trail in the embed. That information will be present there wherever these appear.
What are you thinking for loading this conditionally on fpdcc.com (i.e. only when there are active alerts)?

It doesn't have to have the pluses, it can just be spaces (or the %20 equivalent). This is how map.fpdcc.com operates for the trail urls (https://map.fpdcc.com/#/?trail=North+Branch+Trail+System).
You are right it is messy though. I think trails_desc was an issue before because there wasn't necessarily a record for every trail_subsystem in trails.csv.
Creating a subsystem ID might be best but see what Garret thinks.

Garret is good with that:
https://github.com/fpdcc/webmap_data_updates/issues/121
We can focus on the POIs for now. Once we have unique IDs for trails let's also look at if it's advantageous to use those vs. trail_subsystem beyond alert embeds.

We won't need the name of the location or trail in the embed. That information will be present there wherever these appear.

Okay, I'll update it.

What are you thinking for loading this conditionally on fpdcc.com (i.e. only when there are active alerts)?

Right now if there are no alerts in the json file for the poi, it doesn't load anything (you can see by trying to load a dummy poi id https://smartchicago.github.io/trailsy-vis-staging/individual.html?id=555555). I can leave it like that or have it say something. Its up to you.

I added default Open text for when there is no alert.

This is working on the site. I updated the JS file with my tweaks (https://github.com/fpdcc/trailsy-vis-staging/commit/acd9c5cb651213fcca79eca1234de295d24f0252). You can clean up what you need and I can pull the new code.
@shua123 I'm thinking we go ahead and approach the full list (#173) the same way for the new website. Thoughts on how much work that would be? I can create a page template that includes a div and we can populate it with the JS via the div's id, data-id or whatever? Could we even call the trails and pois separately?

Are you already using jQuery on the new site? Everything I am doing could be done with regular javascript. I don't want you to have to load jquery just for this if you aren't using it other places on the site.
We can definitely do the full list in a similar way. I think it makes sense to be consistent in how the javascript is pulling info using the data attributes, having poi/trail as the loctype and data-id would be kept blank or maybe something like "all"? Also probably keep consistent with the alertlist div that you have for the individual alerts. So something like:

Yeah, we're already using jQuery so no issue there.
That looks good to me. I think "all" is a good approach, just in case one of the individual alert boxes ends up with a blank data-id somehow.

What do you want to do about global alerts on these? Show or not?

I added the concept of a global div section similar to all.
https://github.com/fpdcc/trailsy-vis-staging/blob/gh-pages/js/onpage.js#L38
https://github.com/fpdcc/trailsy-vis-staging/blob/gh-pages/onpage.html#L51
Let me know what you think.

Yeah, I think this approach works.
For individual alerts: as we currently have this set up, would global alerts show up in the individual alerts?

As we currently have it set up, individual alert divs do not show global alerts. I can change this if you want though.

Yeah, we should include global as well. Let's use the same markup as for Alerts. I'll think about the language for the label.

Can we also display the current date in the "No Issues" fallback message?

@versatilehuman Can you please either edit https://github.com/fpdcc/trailsy-vis-staging/blob/gh-pages/css/main.css with the css you are using for this, or if the css file is public, let me know what it is so that we can test this with the css.

Updated CSS. Tinkered with the JS so we'll get this with a global alert active:

and this without:

Okay, global alerts are added now. I have them showing after the location specific alerts but I can reverse that.

Looks good:

@shua123 Are we good to go with trail alerts now that we have trail_subsystem_id?

No, I still need to fix that today.

@shua123 Waiting for one last data tweak and then this is the only remaining issue.

@versatilehuman  This actually should work now.
See https://fpdcc.github.io/trailsy-vis-staging/onpage.html
https://github.com/fpdcc/trailsy-vis-staging/blob/gh-pages/onpage.html#L19

Sounds good. I should be able to figure this out on the site.

Working


Blog app db model

This PR contains the following for the project

Install Ruby on Rails framework.
Use Ruby Gems as a software packages system.
Apply the Understand of ORM.
Use database migration files to maintain database schema.

Thank you review. Appropriate thing has been done.


Request path is unknown

HI
I just setup kong on my system in vagrant.
I am trying this
curl -i -X POST \
>   --url http://localhost:8001/apis/ \
>   --data 'name=mockbin' \
>   --data 'upstream_url=http://mockbin.org/request' \
>   --data 'request_path=/'

I am getting error
HTTP/1.1 400 Bad Request
Date: Wed, 08 Mar 2017 12:15:07 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
Server: kong/0.9.9

{"request_path":"request_path is an unknown field"}

Any solutions ?

You are probably running Kong from the cloned git repo no?
so checkout the appropriate tag first, eg. get checkout 0.9.9 and then try again.
reason: you're probably now running on development code, which still reports as 0.9.9, but actually is 0.10RCx. Because in 0.10 the request_path field was renamed to uris.

@Tieske Thanks so much.
vagrant@precise64:/kong$ git checkout 0.9.9
Note: checking out '0.9.9'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 27059d4... tests(dao) fix DAO testss erroring with Cassandra
vagrant@precise64:/kong$ curl -i -X POST   --url http://localhost:8001/apis/   --data 'name=mockbin'   --data 'upstream_url=http://mockbin.org/request'   --data 'request_path=/'
HTTP/1.1 400 Bad Request
Date: Wed, 08 Mar 2017 13:02:38 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
Server: kong/0.9.9

{"request_path":"request_path is an unknown field"}

I just did what you said.


Retrieving log information from cf

My application's database connection automatically closing after 15 to 20 days from started time.Last night again app lost its connectivity with database. I want to know which point the app is breaking. So I want to see yesterday logs from cf. It is taking too long time to retrieve logs. I also tried using grep. Is there any other way to access logs?.
I am not getting the expected output from --recent. It is printing last 30 mins to 1 hour log only.
command : cf log app_name | grep -v RTR
taking too long time. But no output printed.

Hi @srinivasan-git,
Thanks for reaching out to us.
This sounds like an irritating problem and I'm sorry to hear you're not able to access the logs related to the failure.
The short response here is the cf CLI supports accessing app logs for real-time dev/debugging. Logs aren't stored on the platform long-term by design, so you'd need to set up log egress to another 3rd party system in order to view/search historical logs from your app.
Perhaps this will be helpful: https://help.papertrailapp.com/kb/hosting-services/cloud-foundry/.
I'm going to close this issue now, but please feel free to reach out to us in the #cli slack channel, or re-open with comments if you would like to continue our discussion.


[A11y] Form elements must have labels

Screenshots

Version

To determine what version of Web Chat you are running, open your browser's development tools, and paste the following line of code into the console.
[].map.call(document.head.querySelectorAll('meta[name^="botframework-"]'), function (meta) { return meta.outerHTML; }).join('\n')
If you are using Web Chat outside of a browser, please specify your hosting environment. For example, React Native on iOS, Cordova on Android, SharePoint, PowerApps, etc.

<meta name="botframework-directlinespeech:version" content="4.8.1">
<meta name="botframework-webchat:bundle:variant" content="full-es5">
<meta name="botframework-webchat:bundle:version" content="4.8.1">
<meta name="botframework-webchat:core:version" content="4.8.1">
<meta name="botframework-webchat:ui:version" content="4.8.1">

Describe the bug

Steps to reproduce

Verify you have the Deque axe browser plugin installed on Firefox or Chrome
Go to https://www.va.gov/coronavirus-chatbot/
Click on My current COVID-19 symptoms (CDC self-checker tool)
Scroll down and click on I agree
Scroll down and click on United States
Run axe check and verify the error message Form elements must have labels

Expected behavior

An axe check should not announce a violation for the state <select> about a missing label. This will ensure screen reader users can understand why they are being asked to select a location, and what that location means in context.
Additional context

This bug is related to the data being generated by the CDC covid19healthbot JSON objects. I've looked through that repo but couldn't find any indication the <select> menu was being created.
The axe violation can be fixed by adding an aria-label to the select menu:
<select
  aria-label="Where in the United States are you located?"
  class="ac-input ac-multichoiceInput ac-choiceSetInput-compact"
  style="width: 100%; min-width: 0px;"
>

Please advise if this is an upstream issue, and I will refile with the CDC's healthbot repo. Thank you.
[Bug]

Thanks @1Copenut.
I will investigate if our recent fix #3146 will also fix this one automatically. If it's not, I will communicate with Adaptive Cards team to see if we can inject an aria-label to their select element.

Hi @compulim, do you have any updates on this one?

This is an external issue. The bug here is for tracking purpose only.

@compulim Do I need to refile this issue elsewhere, perhaps with the CDC?

@clearab This looks like an issue with Adaptive Cards. Could you take a look at it.

@compulim Is there an Issue open on the AC side for this, or should I open one?

This is fixed in #3287.


RuntimeError: istft requires a complex-valued input tensor matching the output from stft with return_complex=True.

Hello,
I am deeply intrigued by your research and have been diligently monitoring its progress. I would like to express my utmost gratitude for generously sharing your exceptional research findings. I eagerly anticipate the forthcoming advancements in your work.
Upon running the provided stage1.py script in my Python environment, I encountered the aforementioned error during the execution of the istft function. It appears that I may be using a distinct version of PyTorch. Could you kindly suggest the recommended approach for utilizing it?
Thank you kindly.

I changed the version of torch to 1.13 and it seems to be working fine.


Node.js 17 headers problem

In Node.js 17.0.0 an header is missing and this cause the following error during the compilation of a C++ addon.
In file included from ../node_modules/nan/nan.h:58:
In file included from /var/folders/b1/nkhppp291574ww7ftwplz6t80000gn/T/prebuild/node/17.0.0/include/node/node.h:63:
In file included from /var/folders/b1/nkhppp291574ww7ftwplz6t80000gn/T/prebuild/node/17.0.0/include/node/v8.h:25:
In file included from /var/folders/b1/nkhppp291574ww7ftwplz6t80000gn/T/prebuild/node/17.0.0/include/node/v8-array-buffer.h:13:
In file included from /var/folders/b1/nkhppp291574ww7ftwplz6t80000gn/T/prebuild/node/17.0.0/include/node/v8-object.h:10:
/var/folders/b1/nkhppp291574ww7ftwplz6t80000gn/T/prebuild/node/17.0.0/include/node/v8-persistent-handle.h:10:10: fatal error: 'v8-weak-callback-info.h' file not found
#include "v8-weak-callback-info.h"  // NOLINT(build/include_directory)

This was a known problem and was solved in version 17.0.1; so, in order to solve this compilation error, this row should be changed to: "target": "17.0.1".
In fact, forcing prebuild to use source of Node.js 17.0.1, the compilation succeeds:
$ npx prebuild -r node -t 17.0.1 --force --strip --tag-prefix ""
prebuild info begin Prebuild version 11.0.0
prebuild info build Preparing to prebuild<EMAIL_ADDRESS>for node 17.0.1 on darwin-x64 using node-gyp
prebuild info find Python using Python version 3.10.0 found at<EMAIL_ADDRESS>prebuild http GET https://nodejs.org/dist/v17.0.1/node-v17.0.1-headers.tar.gz
prebuild http 200 https://nodejs.org/dist/v17.0.1/node-v17.0.1-headers.tar.gz
prebuild http GET https://nodejs.org/dist/v17.0.1/SHASUMS256.txt
prebuild http 200 https://nodejs.org/dist/v17.0.1/SHASUMS256.txt
(node:9457) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.

Thanks for the issue, @matteodisabatino ! This should be fixed in the next release 🙇♀

Sorry to bother again but there's something I can't understand: release 3.4.1 contains the fix this issued refers to (Node.js version has been switched from 17.0.0 to 17.0.1) but then has been released version 3.5.0 in which version was rolled back to 17.0.0. What happened? 🤔

@matteodisabatino The ABI registry is auto generated, manually editing the registry will be reverted within ~30 minutes by our automation.  @VerteDinde if there is an issue with the registry we'll need to update the script not the JSON file

Sorry, Is it possible to have any news?

@VerteDinde sorry, but... are there any news? The problem still persist...


[NDTensors] Remove unwrap_array from Unwrap and rename

This is my first refactor PR where I am only dealing with unwrap_array and renaming Unwrap to something that makes more sense.
Checklist:

[x] Use TypeParameterAccessors.unwrap_array_type over Unwrap.unwrap_array
[x] Define parenttype for Tensors, StorageTypes, and ITensors
[x] All NDTensors and ITensors test pass.
[x] Fix NDtensors.mtl it was not converting objects properly.
[x] Rename Unwrap module

Codecov Report
Attention: Patch coverage is 0% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 53.68%.  Consider uploading reports for the commit e6f7dcb to get more accurate results

Files
Patch %
Lines

src/set_types.jl
0.00%
3 Missing :warning:

src/mps/dmrg.jl
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1350       +/-   ##
===========================================
- Coverage   84.42%   53.68%   -30.75%
===========================================
  Files         100       99        -1
  Lines        8579     8528       -51
===========================================
- Hits         7243     4578     -2665
- Misses       1336     3950     +2614

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

@mtfishman This should be ready for you to review when you have time.  If it is merged I will begin working on the 2nd PR note from the Drive document. Thank you!

Looks good, thanks!


webpack 5 source code

Hi,I want to read the source code for webapck 5.
please suggest which branch should i clone?
Is there any getting started guide for reading src code?If not I can help in creating one.

For the questions, please, use stackoverflow.com cause this section is for issues or feature request only.
You can read webpack 5 source code at the master-branch of this repo


Add Alexa message payload info logging

Breaking Change:
None
Description:
Alexa component logs full received message and full requesta at debug level.
Full messages are too verbose. The message data is the payload. This PR adds logging of directive name and payload at info level.
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[ ] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[ ] Untested files have been added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

IMHO this is still too much for info level logs - IE: Imagine all of sudden people getting flooded daily with possibly thousands of alexa sendreports.

@tulindo Do you have any particular reason driving the need to have this information at the INFO level?
I can't see the need for it, but I'm always using DEBUG.

@ochlocracy as I've written in the description currently alexa component logs exchanged messages at debug level and this is perfect IMHO. Those exchanged message do contains a lot of information and only directive name and payload are useful to understand what alexa asked to do.
Enabling debug fills the log with lots of messages. Extract payload and directive name from the message can be annoying. With only payload data (that is shorter and contains only "real handler parameter" written in the log this task will be easier. I'm currently trying to add an alexa related feature to my samsung tv and this "easily retrievable" information is helping me.
I could have written it ad DEBUG level too but every message request will be logged twice. Since there is no INFO message logging in the alexa component I choosed to put this simplified logging at INFO level.
@ochlocracy, can you see my point?
@clapbr I think that this can be seen as an information "Alexa asked HA to do this". If this information fills logs... can always be disabled at config level for the alexa component leaving info for all the others.

@balloob I know full messages are already logged. This (as I wrote in the description) is just to simplify the logs message keeping only the IMHO most meaningful part of the message

I'm sorry, that doesn't much sense. It's not simplified, the payloads are big, and for people developing we're now seeing it twice.
Going to close this PR.


remove mobx, angular-mobx, lodash, lodash-es dependencies

Can we imagine this awesome lib without these depedances: mobx, angular-mobx, lodash, lodash-es, they are totally increase my build size, tree shaking not works on them ! What people think ?
Cheers

I really think something should be done about this.  I've added #526, but there has been no response.  The full lodash library is ~526KB, which is entirely unnecessary given this library only uses 15 or so methods from it.  Even then, it seems somewhat silly the version is locked down specifically to 4.17.4.  If I depend on 4.17.5, I'll have 2 versions of Lodash in my build.
I don't know how the tree-component would be able to get rid of mobX though.  It seems so intertwined with everything, but I really don't even know it's purpose.
Regardless, this library and it's dependencies are about 1006 KB, almost a full MB.  I would call that extremely bloated when the dist directory itself is only ~280 KB, about 1/4th the size.

@mtraynham  i think lib developer is attached to theses dependencies, damage coz imo rxjs cover all needs, i think too the bundle size is big

Latest mobx version caused karma failures on our system
Error: [mobx] Autorun expects a function as first argument [INFO] 	    at invariant (node_modules/mobx/lib/mobx.umd.js:2631:15) [INFO] 	    at Object.autorun (node_modules/mobx/lib/mobx.umd.js:533:9) [INFO] 	    at MobxAutorunDirective.autoDetect (node_modules/mobx-angular/dist/mobx-angular.umd.js:286:29) [INFO] 	    at MobxAutorunDirective.ngOnInit (node_modules/mobx-angular/dist/mobx-angular.umd.js:276:14) [INFO] 	    at checkAndUpdateDirectiveInline (node_modules/@angular/core/bundles/core.umd.js:12407:19) [INFO] 	    at checkAndUpdateNodeInline (node_modules/@angular/core/bundles/core.umd.js:13931:20) [INFO] 	    at checkAndUpdateNode (node_modules/@angular/core/bundles/core.umd.js:13874:16) [INFO] 	    at debugCheckAndUpdateNode (node_modules/@angular/core/bundles/core.umd.js:14767:76)
We will be pegging<EMAIL_ADDRESS>but I add my vote to remove dependencies on mobx...

谢谢，请问怎么remove mobx, angular-mobx, lodash, lodash-es dependencies？

Hi,
Published - can you try with version 7.0.2-beta1?
@mtraynham merged #526 - published in above release
@lroitman - should also be fixed in coming publish (I changed mobx version to ^3)
@istiti - I'm never attached to libraries, only to people :) MobX is much simpler than RxJS, which is an overkill IMO. MobX is around 60KB in size BTW.

@adamkleingit  yes but rxjs is already here better use it, and then there is lodash then lodash-es, this is juste my opinion im not criticize, lib's awesome and would be more awesome without dep
thanks

@adamkleingit thanks for merging #526, reduces my build size by ~372 KB (pics below)!
There does seem to be one more thing that could further reduce the build, which is laxing the dependency range of lodash.  This would allow package managers to resolve the same versions more often and reuse modules in the build.  Personally, I think it's safe to allow "lodash": "^4".
It might also be ok to lax the mobx and mobx-angular dependencies, even though you just pegged them, to the specific major version (3, not 4, as 4 breaks the component).  Really depends on how careful you want to be with minor vs patch updates.  Usually you shouldn't see API changes with minor bumps (if they are doing it right).
I'm not sure how many people are using mobx, but rx-js is basically a requirement for Angular 2+, so I'm in agreement with @istiti, it would be nice without mobx.
Before:

After:

@adamkleingit , thanks a lot, that helped!

@mtraynham - will relax the versions in the next release. I am a bit skeptic about other people using semver, but I think in this case it should be OK.
@istiti - first of all I totally appreciate opinions and always happy to get feedback and suggestions, sorry if it got interpreted otherwise. I just feel very productive with MobX and I think the library is better thanks to it, so I decided to compromise the size in this case. Same with lodash.
Any suggestions to reduce size more will be welcome
Thanks

@adamkleingit LGTM thank you!

@tobiasengelhardt can this issue be reevaluated/open ? (a work was tried here https://github.com/e-cloud/ngx-tree). We should try to avoid deps a max to get angular's update smooth. Thanks for 10.0.0 bdw it wrks on ng10.0.6

@elvisbegovic thanks for bringing this issue up again. I also thought about it and did not know there was already a discussion about it. angular-mobx is gone now, but mobx and lodash-es are still there and deep imports. We kept it the same for now to not introduce more breaking changes, but this should change.


Error while deploying new Revision with description

Description:
Validation error is displayed when deploying new Revision with description

Description added :
Matific's Planned Activities feature allows you to quickly and effectively plan your scope & sequence for the entire year. Your children will be automatically assigned the right activities at the right time. With Matific’s Planned Activities, you will see your school year at a glance, stay paced all year, and end the year without rushing.

Affected Product Version:
API-M 4.0.0-beta
Environment details (with versions):

OS: Windows

Optional Fields
Related Issues:

Suggested Labels:
API-M 4.0.0
Suggested Assignees:

Error coming from the rest API is
{"code":400,"message":"Bad Request","description":"Validation Error","moreInfo":"","error":[{"code":"400_description","message":"description: size must be between 0 and 255","description":null}]}

We need to change the limit in the UI to 255


API Error when using a proxy

Bug Report
Form
Requirements

[x] I've searched the Issues
[x] I've read the basic concepts
[x] I'm using the latest version
[x] I've debugged my code using the DEBUG variable.

Platform

[x] I'm using Node.js version v16.13.2
[ ] I'm using electron

Description
When using any type of proxy and making any kind of request, the following occurs: IgNetworkError: Instagram API error was made. Unfortunately, I have little data on this error, although it is DEBUG.
Error
IgNetworkError: Instagram API error was made.
    at Request.faultTolerantRequest (.../node_modules/instagram-private-api/dist/core/request.js:133:19)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Request.send (.../node_modules/instagram-private-api/dist/core/request.js:48:26)
    at async UserStoryFeed.request (.../node_modules/instagram-private-api/dist/feeds/user-story.feed.js:14:26)
    at async UserStoryFeed.items (.../node_modules/instagram-private-api/dist/feeds/user-story.feed.js:7:26)

Check proxy, or give correct format.

Check proxy, or give correct format.

Proxy works through other services, format set as in the example.

Get  the same problem today, call this error:
IgNetworkError: Instagram API error was made.
I tried different Proxy IPs but it does not work. and I tried http and socks5 all failed now...
please Help!

Same problem. Proxy is working normaly

Same problem

Check response code, it seems it giving 500> status code on Instagram. Or Instagram blocking IP.

https://github.com/kingbotss/igportable

Same error here.
IgNetworkError: Instagram API error was made.
    at Request.faultTolerantRequest (/root/instanote/node_modules/instagram-private-api/src/core/request.ts:179:13)
    at async Request.send (/root/instanote/node_modules/instagram-private-api/src/core/request.ts:77:22)
IgNetworkError: Instagram API error was made.
    at Request.faultTolerantRequest (/root/instanote/node_modules/instagram-private-api/src/core/request.ts:179:13)
    at async Request.send (/root/instanote/node_modules/instagram-private-api/src/core/request.ts:77:22)

It is proxy error.

@kingbotss I've tried proxies from different providers, and got the same error. And these proxies work perfectly fine with other libraries which logs in to Instagram, so Instagram doesn't ban their IPs.

share me details (privately). I will check.


Feature/structuring pdf

I preprossed the data from .PDF to csv using the notebook, all the instruction followed and data is ready for use. I will push another notebook soon If you need the notebook as a script let me know so I can prepare it as a script

Thanks so much