alloy metrics pod crashes with alloy v1.2.1 when using prometheus.operator.servicemonitors config

What's wrong?
We are using prometheus.operator.servicemonitors in our config for alloy metrics pod in kubernetes and with the update to version 1.2.1 new pods crashing directly. The pods do not crash if an existing pod gets updated from alloy 1.1.1 or 1.2.0 to 1.2.1.
Maybe this has to do with this recent code change
Steps to reproduce
Deploy a new pod don't update an existing pod, because then the issue does not occur.
System information
GKE 1.27.11-gke.1062001
Software version
Grafana alloy 1.2.1
Configuration
// Discover and scrape Servicemonitor resources

        prometheus.operator.servicemonitors "default" {
          namespaces = ["monitoring",  "grafana"]
          clustering {
            enabled = true
          }
          forward_to = [prometheus.remote_write.mimir.receiver]
        }

Logs
alloy ts=2024-07-24T09:03:17.830097937Z level=info msg="scrape manager stopped" component_path=/ component_id=prometheus.operator.servicemonitors.default
alloy panic: runtime error: index out of range [0] with length 0
alloy
alloy goroutine 96 [running]:
alloy github.com/grafana/alloy/internal/component/prometheus/operator/common.filterTargets(0xc00221ecc0, {0x7aac3c48b238, 0xc002f93f70})
alloy     /src/alloy/internal/component/prometheus/operator/common/crdmanager.go:203 +0x5f1
alloy github.com/grafana/alloy/internal/component/prometheus/operator/common.(*crdManager).Run(0xc00290f7a0, {0x92bead0, 0xc001d64af0})
alloy     /src/alloy/internal/component/prometheus/operator/common/crdmanager.go:158 +0x925
alloy github.com/grafana/alloy/internal/component/prometheus/operator/common.(*Component).Run.func2()
alloy     /src/alloy/internal/component/prometheus/operator/common/component.go:95 +0x38
alloy created by github.com/grafana/alloy/internal/component/prometheus/operator/common.(*Component).Run in goroutine 460
alloy     /src/alloy/internal/component/prometheus/operator/common/component.go:94 +0x38b

Running into to the same, downgrading to 1.2.0 fixes this for us

We encountered the same issue and can confirm the it runs fine if updating from 1.1.1 or 1.2.0 to 1.2.1. We are running alloy chart 0.5.1 with alloy 1.2.1 as a statefulset with clustering enabled to scrape metrics.
In addition, with 1.2.1, when we removed the operator configurations from the ConfigMap and restarted the statefulset, alloy came up with clustering. However, the way clustering came up was a bit strange, we have 3 pods in the cluster, only 2 joined the cluster, the first pod restarted needed another restart to join the cluster. Once the cluster came up we added back the operators configurations and it worked fine.

Hey, thanks for reporting this bug :)

Maybe this has to do with this recent code change
This is actually the fix for this bug, it's not yet in v1.2.1. (the panic above indicates that it's trying to access the first value in the slice but the slice is empty. The fix is checking for the slice length to avoid this).
This should be solved in the next release (currently planned for the 1st of August)

Oh I somehow missed that it is not yet in 1.2.1
But great that it will be fixed with the next release. Thank you very much for the update. :)

Hi @wildum , just want to follow up on the bug, do you think the fix is on track to release this week? Thanks.

Hey, the release is slightly delayed, we are aiming for next Monday (5th of August)

Thanks @wildum , does v1.3.0-rc.0 have it though? I was thinking about give it a try.

it does yes :) Feel free to try it, keep in mind that this is a release candidate that may contain bugs. We test it internally before release a stable version

I tested v1.3.0-rc.0, just to provide some data point, it did not give index out of range error anymore. However, it still fails to form the cluster. It is still showing the same behavior in the dev image.
{"ts":"2024-08-01T17:41:57.250315897Z","level":"info","msg":"Using pod service account via in-cluster config","component_path":"/","component_id":"prometheus.operator.podmonitors.unified_relay"}
{"ts":"2024-08-01T17:41:57.25651462Z","level":"warn","msg":"failed to resolve SRV records","service":"cluster","addr":"unified-relay-metrics-cluster","err":"lookup unified-relay-metrics-cluster on <IP_ADDRESS>:53: no such host"}
{"ts":"2024-08-01T17:41:57.256553615Z","level":"error","msg":"fatal error: failed to get peers to join at startup - this is likely a configuration error","service":"cluster","err":"static peer discovery: failed to find any valid join addresses: failed to extract host and port: address unified-relay-metrics-cluster: missing port in address\nfailed to resolve SRV records: lookup unified-relay-metrics-cluster on <IP_ADDRESS>:53: no such host"}

@thampiotr do you know why this happens?

It happens because Alloy fails to resolve the provided cluster join peer addresses at startup:
failed to resolve SRV records: lookup unified-relay-metrics-cluster on <IP_ADDRESS>:53: no such host

In previous versions, there was another bug where at startup a failure to resolve the cluster join peers would not result in failure and errors would not be logged. This is undesired behaviour, because such misconfiguration can result in all instances starting their own cluster and trying to take on all the work, resulting in duplication and likely resource exhaustion. We want to fail fast and fail hard in this scenario, hence you get this error. This behaviour was changed here.
Try to verify that the name unified-relay-metrics-cluster can be resolved (e.g. that it matches your k8s service). Also, if you have a large number of instances in the cluster and using the helm chart, you may be running into this issue. We're working on a fix for it, but a workaround for now could be to use e.g. 40 but slightly larger instances.

Thanks @thampiotr. Looking back, in 1.2.1, I already hit the DNS resolution issue, it was just obfuscated by the index out of range issue. In 1.3.0-rc-1, the 1) index out of range issue is fixed and 2) the pods will fail hard when failing to resolve the cluster join peers, that's why I see the failed to resolve SRV records messages.
I found a way to fix the DNS issue by adding this to the service-cluster.yaml:
publishNotReadyAddresses: true
This allows the Statefulset headless service to propagate the srv records of the pods for it to form a cluster and become ready.

This is now working with version 1.3.0 in our env.

Version 1.3.1 addresses this: https://github.com/grafana/alloy/releases/tag/v1.3.1


Showcase page close #302

In this page user can add their project to EduHub. An addProject.md is written for telling the user how they can add their project.

I tried to linked my PR with issue no 302 but I am not able to do that. Please review my changes.


Add keyring support for uv

uv has support for keyrings, as long as the option is --keyring-provider=subprocess. But this isn't exposed in the rye CLI.
Some things I haven't addressed, happy to discuss:

I haven't implemented it for piptools. I expect it's possible, in fact more features could be implemented using pip-compile's --pip-args argument, but I think the plan is to move to uv as the default going forward, so I don't know how much desire there is to extend the piptools backend. But if it's needed, I can do it, either in this PR or as followup work.

In practice, I'd expect that people would want to always pass this --keyring-provider value for all calls, and it does pollute the code a bit, passing round the CLI options. I think another way to go could be to put it in the global config and/or the project TOML, and just read it from there. (I'd actually prefer this interface for my own uses.) But I wanted to stay close to the existing CLI of uv and pip, so stuck with that interface. Again, happy to iterate.

Test
From a rye init project:
❯ ../rye/target/debug/rye lock
Generating production lockfile: /home/emarsden/src/rye-proj/test-proj/requirements.lock
error: Failed to build editables
  Caused by: Failed to build editable: /home/emarsden/src/rye-proj/test-proj
  Caused by: Failed to install requirements from build-system.requires (resolve)
  Caused by: No solution found when resolving: hatchling
  Caused by: HTTP status client error (401 Unauthorized) for url (https://[snip]/hatchling/)
error: could not write production lockfile for project

Caused by:
    Failed to run uv compile /tmp/.tmplGQmy9/requirements.txt. uv exited with status: exit status: 2

❯ ../rye/target/debug/rye lock --keyring-provider=subprocess
Generating production lockfile: /home/emarsden/src/rye-proj/test-proj/requirements.lock
Generating dev lockfile: /home/emarsden/src/rye-proj/test-proj/requirements-dev.lock
Done!

@charliermarsh thanks for taking a look and fixing things up, looks good to merge now?

Thanks for the nudge, I honestly though it had merged.


[REVIEW]Q27 using HuggingFace for NER

This pr adds an alternate to spacy for running NER using distilbert-base-en-cased model.

[x] Clean UP

[ ] Benchmark 1k

[x] Benchmark 10k
(Avg 17.5s vs 27.5s spacy)

[ ] Update Readme explaining pros and cons of both implementation (as per @randerzander 's suggestion)

[ ] Add instructions on downloading the model to Readme.md

[ ] Update benchmark_runner.py to use this implimentations

CC: @beckernick  / @randerzander  / @robocopnixon
Not doing:

Swap to electra Cased Model (Should be faster than distil-bert by 2x)

Because we are already fast enough and I could not find an open-source HF pytorch electra-cased model.

When this is ready, can you retarget to the main branch?

When this is ready, can you retarget to the main branch?

Done.

When you have a minute, it'd be good to make a README note for the q27 folder that we have two implementations, explaining what are the differences and pros and cons of each.
Also the benchmark runner will need to be updated to use this HF based impl, which we'd want to be the default.

Thanks, added this to the list of todo's to do. Will get to these soon.

@robocopnixon / @randerzander/ @beckernick,  This pr should be ready for an initial review.

This replaces the original method? I would like the readme changes @randerzander mentioned in comments above if two methods are going to stay in the code base.

This should be resolved now by https://github.com/rapidsai/tpcx-bb/pull/84/commits/455c1b582dbae487357f5f6a8ebc863ab2fa3c30.

I see you've added dependencies to the conda environment.

I need to add pytorch and huggingface to the conda environment.

Does that include the necessary model files to run your impls of q27? If not, the main repo README needs an update explaining how to install them.

It does not , I have added it to query readme for now, will add it to main repo when we put in the runner .  That is waiting to  fix on the  https://github.com/rapidsai/dask-cuda/issues/383 issue

If we're making your implementation the new default, lets remove spacy and the download step from the main README, but put it in your q27 README.

Not removing it for now, will do it after updating the runner in a follow up PR after resolving https://github.com/rapidsai/dask-cuda/issues/383 .

This generally looks excellent. There's a lot of complexity here, particularly in the size and nested nature of the functions in run_inference_on_df. They look good to me, but we may want to see if there's an opportunity to factor some of these into separate files or even a class or two in the future

Yup, I will look into more clean up in the future  PR (will file an issue to track)  but it would be amazing if we can merge it in without the refactor for now.
All other issues have been addressed.


Recursive/nested plugin scopes/templates

Is your feature request related to a problem? Please describe.
I know that in RNV we have the possibility of defining a source/scope for plugins, as mentioned here in the docs. I was wondering however if we can have this "multiple-levels deep"/recursive.
So e.g. consider the following scenario; within your root (project's) renative.json you have defined the following custom scope;
// root project's renative.json
{
  "paths": {
      "pluginTemplates": {
          "myCustomScope": {
              "npm": "some-renative-template-package",
              "path": "./pluginTemplates"
          }
      }
   },
   "plugins": {
        "my-plugin": "source:myCustomScope"
    }
}

But then within that custom scope use another (custom scope), so;
// in some-renative-template-package/pluginTemplates/renative.template.json
{
  "paths": {
      "pluginTemplates": {
          "myOtherCustomScope": {
              "npm": "some-other-renative-template-package",
              "path": "./pluginTemplates"
          }
      }
   },
   "plugins": {
        "my-plugin": { // USES THE SAME PLUGIN
            "source": "myOtherCustomScope",
            ...some-override of the config defined within "myOtherCustomScope"
        }
    }
}

// in some-other-renative-template-package/pluginTemplates/renative.template.json
{
    "plugins": {
        "my-plugin": {
            …my-plugin configuration
        }
    }
}

So in this case the "my-plugin" plugin from the project's perspective would go;
project root -> some-renative-template-package -> some-other-renative-template-package
Describe the solution you'd like
RNV to allow for recursive plugin scopes/templates.
Describe alternatives you've considered
This wouldn't really give us override/reuse behaviour and could lead to duplication, but I guess an alternative could/would be;
// root project's renative.json
{
  "paths": {
      "pluginTemplates": {
          "myCustomScope": {
              "npm": "some-renative-template-package",
              "path": "./pluginTemplates"
          },
          "myOtherCustomScope": {
              "npm": "some-other-renative-template-package",
              "path": "./pluginTemplates"
          },
      }
   },
   "plugins": {
        "my-plugin": "source:myOtherCustomScope"
    }
}

Additional context
https://renative.org/docs/api-config#source

this is now supported in 0.31.0 onwards. so closing this issue


re-organize integration code

Right now, we have a lot of integrations in our codebase, so I think it would be nice to re-organize and clean it up a bit!
I was thinking whether we should move all the integrations into a strawberry/contrib folder, so that users can import integrations from strawberry/contrib/integration_name.
Therefore, the current project structure would turn into:
strawberry/
    __init__.py
    contrib/
        aiohttp
        asgi
        django
        fastapi
        flask
        sanic
        starlette
        chalice

If you're okay with this, I could make a PR! :)
The only thing I'm concerned about is that this could be a breaking change - people who already use our integrations could have their imports broken.

With new integrations like aws chalice dropping in is it a good time to revisit this issue? 🤔

I think we should work with @BryceBeagle proposal (#849) but keep the imports nice 😊
I prefer import strawberry.django to import strawberry.contrib.django :D

That sounds good!


Capitalize Words drops period within initials

Capitalize Words drops period within initials.
To Reproduce
Steps to reproduce the behavior:

select text DAVID W.T. BROWN
String Manipulation > Switch case... > Capitalized Words / camelCase
selected text becomes David W T. Brown

Expected behavior
Selected text to become David W.T. Brown (retaining both periods).
Environment :
IntelliJ IDEA 2021.1 (Ultimate Edition)
Build #IU-211.6693.111, built on April 6, 2021
Runtime version: 11.0.10+9-b1341.35 x86_64
VM: Dynamic Code Evolution 64-Bit Server VM by JetBrains s.r.o.
macOS 11.2.1
GC: G1 Young Generation, G1 Old Generation
Memory: 30728M
Cores: 16
Registry: search.everywhere.settings=true, debugger.watches.in.variables=false
Non-Bundled Plugins: YAML/Ansible support (0.11.2), ideanginx9 (0.1.9), net.seesharpsoft.intellij.plugins.csv (2.15.1), org.jetbrains.plugins.rest (211.6693.44), name.kropp.intellij.makefile (211.6693.108), com.intellij.kubernetes (211.6693.108), JFlex Support (1.5.1), JOL (1.9.0), String Manipulation (<IP_ADDRESS>.0), StringToolsPlugin (4.0), com.egoshard.intellij.k8s-runtime-config-plugin (1.2.6), org.jetbrains.plugins.hocon (2020.1.0), com.dmarcotte.handlebars (211.6693.44), org.intellij.scala (2021.1.16), Pythonid (211.6693.115), ru.meanmail.plugin.requirements (2021.3-211), mobi.hsz.idea.gitignore (4.0.4)
Kotlin: 211-1.4.32-release-IJ6693.72

That action is for a universal switching, e.g from dot.case, snake-case, which makes it bad for other uses.
But Capitalize action should now do the job.
You can try it:
StringManipulation.zip


no result oupt

程序执行完了，控制台有输出，但是result里面没有生成文件啊？

Sorry for the late reply.
In my environment, the output was generated in the following directory structure, under "output".
Npy_to_Ply
├ input/***.npy
├ output/
└ main.py


let color of whitespace inherit

Closes: https://github.com/StylishThemes/GitHub-Dark/issues/1050
Test
https://github.com/sindresorhus/refined-github/blob/master/package.json
Before

After

Sounds good! Thank you


conversationId is private

The Microsoft Bot Framework team prefers that "How To" questions be submitted on Stack Overflow. The official Bot Framework GitHub repository  is the preferred platform for submitting bug fixes and feature requests.
Bot Info

SDK Platform:
SDK Version:
Active Channels:
Deployment Environment:

Issue Description

We're trying to add the below code in Chat.tsx to resume the conversation history in webchat.
 const botConnection = new BotChat.DirectLine({
        secret: 'XXXXXXXXXXXXXXXXXXXXXX',
        conversationId: localStorage.conversationId,
        watermark: "01",
        webSocket: false,
        pollingInterval: 5000
    });

BotChat.App({
    botConnection: botConnection
    ,user: { id: 'USER_ID', name: 'User' },
    resize: 'detect'
}, document.getElementById("chatdiv"));

botConnection.connectionStatus$.subscribe(function (status) {
    if (status == 2) {  // wait for connection is 'OnLine' to send data to bot
        var convId = **botConnection.conversationId**;
        if (convId !== localStorage.conversationId) {
                     localStorage.setItem('conversationId', convId);
         }
    }
});

Code Example

Reproduction Steps

Expected Behavior

Be able to get the conversation after botconnection is created. Any suggestions?
Actual Results

Getting the build error Property 'conversationId' does not exist on type 'IBotConnection'

Looking at current implementation of Directline, it seems one of the viable option is to subscribe to activity observable which is public. You can consume the observable once which will provide you conversation id.

This issue was moved to Microsoft/BotBuilder-V3#1

Hi @huajunzhao
conversationId is private on DirectLineJs https://github.com/Microsoft/BotFramework-DirectLineJS/blob/master/src/directLine.ts#L303 IBotConnection  This PR would make it public: https://github.com/Microsoft/BotFramework-DirectLineJS/pull/49
Client side code can handle this.  (It shouldn't be necessary to alter Chat.tsx )
The method described by @Kartik1607 would be something like:
        botConnection.activity$.take(1).subscribe(function (activity) {
            var convId = activity.conversation.id;
            console.log('"activity$.subscribe" received activity with conversation.id value: ' + convId);
            if (convId !== localStorage.conversationId) {
                localStorage.setItem('conversationId', convId);
            }
        });

Also, you might want to use watermark: "" instead of "01".

If you require further assistance with WebChat questions, please ask on this repository: https://github.com/Microsoft/BotFramework-WebChat/issues or StackOverflow: https://stackoverflow.com/questions/tagged/botframework


Broken link

The documentation refers to an example https://github.com/lecopivo/SciLean/blob/master/examples/HarmonicOscilator.lean which does not refer to any existing webpage.

I have fixed the link, but the example is broken right now. I'm in the middle of substantial rewrite of core parts of the library. Fortunately, I'm almost done and the example with be functioning again in couple of days.

Dear Tomas,
I am happy to learn that the library is moving on. I think that it is a
good idea.
Best wishes,
Joaquim
El dt., 22 d’ag. 2023, 15:46, Tomáš Skřivan @.***> va
escriure:

I have fixed the link, but the example is broken right now. I'm in the
middle of substantial rewrite of core parts of the library. Fortunately,
I'm almost done and the example with be functioning again in couple of days.
—
Reply to this email directly, view it on GitHub
https://github.com/lecopivo/SciLean/issues/11#issuecomment-1688222281,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAU6R5XPW5XBES2GGQOJJZ3XWSZ4JANCNFSM6AAAAAA3ZZRYZI
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thank you for the encouragement!
The HarmonicOscillator.lean example works again, closing the issue


boards: nrf9160dk: enable external_flash_pins_routing by default

It is not possible to connect to an external flash if this is not
enabled, causing a bad user experience.
Also, the official board controller firmware enables this use case by
default.
Hence we enable the required pin by default to improve the user
experience and to align with the official board controller firmware.
Signed-off-by: Håkon Øye Amundsen<EMAIL_ADDRESS>

A decision was taken not to change this as there will be some pin conflict if we do.


Websocket is not open Error

Hey!
Lately I've been getting this randomly after hours of my mixer bot running without issues;
/home/minecraft/mixer-bot/node_modules/ws/lib/websocket.js:328
throw err;
^
Error: WebSocket is not open: readyState 2 (CLOSING)
at WebSocket.send (/home/minecraft/mixer-bot/node_modules/ws/lib/websocket.js:322:19)
at ConstellationSocket.sendPacketInner (/home/minecraft/mixer-bot/node_modules/carina/dist/commonjs/socket.js:243:21)
at Timeout._onTimeout (/home/minecraft/mixer-bot/node_modules/carina/dist/commonjs/socket.js:281:23)
at ontimeout (timers.js:498:11)
at tryOnTimeout (timers.js:323:5)
at Timer.listOnTimeout (timers.js:290:5)
I'm not sure what's causing this, only thing I thought of to do was post on here.
This is all of my Carina code:
const ca = new Carina({ isBot: true }).open();
	ca.subscribe('channel:' + bot.chanID + ':followed', data => {

		if (bot.settings.follow_alerts == 1 && data.following && !(followed_names.includes(data.user.username.toLowerCase()))) {

<EMAIL_ADDRESS>has just followed! FOLLOW HYYYYYPE! <3 <3 <3`]);
			followed_names.push(data.user.username.toLowerCase());
		}
	})
	.catch(error => {
		console.error('[%s] Something went wrong.', getDateTime());
		console.error(error);
	});

	if (bot.nameL == "botname") {

		ca.subscribe('channel:' + bot.chanID + ':update', data => {

			if ('online' in data && Object.keys(data).length > 1 && data.online === true) {

				client[bot.nameL].request('GET', 'channels/' + channelId)
				.then(response => {

					let body = response.body;
					const discSock = new ws('ws://localhost:****/');
					discSock.on('open', function open() {
						discSock.send(JSON.stringify({type: "mixerLive", data: {body}}));
					});
				})
				.catch(error => {
					console.error('[%s] Something went wrong.', getDateTime());
					console.error(error);
				});
			}
		})
		.catch(error => {
			console.error('[%s] Something went wrong.', getDateTime());
			console.error(error);
		});
	}

Update:
I wasn't aware you had to include Client ID headers nowadays, so I added that and haven't had the issue since... Hopefully it'll stay that way.


Works only partially

Hi Thijs, thanks for providing the script!
I does only work partially for me. Most devices are created under homie5 however many of the are missing the $description and $state topic. Also for many some properties seem to be randomly missing (in the topic structure - they are included in the $description json). Also forwarding set messages are not forwarded at all for none of the 10 devices I tested it with.
I do get a lot of warnings and errors from the script:
Warnings
(I guess these are epected as I am using the "eu.epnw.meta:1.1.0:4.0" extension to which these topics belong to)
Sun Jan 15 11:15:53 2023 WARN [homie45] 'homie/sensor-37' don't know how to handle topic 'homie/sensor-37/$meta/hc-controller/model-id/$value'
Sun Jan 15 11:15:53 2023 WARN [homie45] 'homie/sensor-4' don't know how to handle topic 'homie/sensor-4/$meta/hc-controller/device-fw/$key'
Sun Jan 15 11:15:53 2023 WARN [homie45] 'homie/sensor-4' don't know how to handle topic 'homie/sensor-4/$meta/hc-controller/device-fw/$value'
Sun Jan 15 11:15:53 2023 WARN [homie45] 'homie/sensor-4' don't know how to handle topic 'homie/sensor-4/$meta/hc-controller/device-mac/$key'
Sun Jan 15 11:15:53 2023 WARN [homie45] 'homie/sensor-4' don't know how to handle topic 'homie/sensor-4/$meta/hc-controller/device-mac/$value'

Errors (at the end of the output):
Sun Jan 15 11:16:28 2023 ERROR client 'homie45-bridge-123' failed to send PUBLISH: connector.send failed: failed acquiring send_lock: timeout
Sun Jan 15 11:16:28 2023 ERROR client 'homie45-bridge-123' failed to send PUBLISH: connector.send failed: failed acquiring send_lock: timeout
Sun Jan 15 11:16:28 2023 ERROR client 'homie45-bridge-123' failed to send PUBLISH: connector.send failed: failed acquiring send_lock: timeout

I am using vernemq for which the parameters should be tuned up enough for the corresponding settings you took for the eclipse mqtt.
DOCKER_VERNEMQ_MAX_INFLIGHT_MESSAGES=15000
DOCKER_VERNEMQ_MAX_OFFLINE_MESSAGES=100000
DOCKER_VERNEMQ_MAX_ONLINE_MESSAGES=100000
I do have a huge number of devices (homie4 shows about 12000 topics for all the devices).
also during the docker build I am getting several strange errors (build however finishes):
Step 6/17 : RUN luarocks install Tieske/luamqtt --dev
 ---> Running in dcbeb27dd5f1
Warning: Failed searching manifest: Failed downloading https://luarocks.org/dev/manifests/tieske/manifest-5.1 - HTTP/1.1 404 Not Found
Warning: Failed searching manifest: Failed downloading https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/dev/manifests/tieske/manifest-5.1 - HTTP/1.1 404 Not Found
Warning: Failed searching manifest: Failed downloading https://luafr.org/luarocks/dev/manifests/tieske/manifest-5.1 - HTTP/1.1 404 Not Found
Installing https://luarocks.org/manifests/tieske/luamqtt-scm-1.rockspec
Cloning into 'luamqtt'...

This very much looks like the exact same issue I had when setting the queue size 🤔 . I recall you mentioned you have a lot of devices, so many that a restart took a while because of all the topics.
Maybe I should build in a delay, when subscribing to a devices, wait at least for 2 seconds before subscribing to the next?
(the errors you can ignore; that's because I use development versions, not published ones)

also; any errors in the logs?

So I tried it with a local mosquitto server and subset of my devices (about 51 devices with ~3000 topics). This one works nicely. no more "send_lock: timeout" messages and the /set topic relay works. Also as far as I can see all topics are there.
The new protocol reduces the total amount of topics down to about 300! Much more reasonable IMHO :)
I am not familiar with lua, with regards to real thread parallelism. I use mainly nodejs which has only one main thread, so even if it does async work nothing really happens actually in parallel - but even with this I had to do some sensible rate limiting when publishing to mqtt. Maybe you can process the devices in batches of 5-10 in parallel only - this is what I usually did.

also; any errors in the logs?

Only the ones listed above from your script - nothing in the mqtt logs out of the ordinary

just pushed a fix (attempt). It has an extra parameter now;
export HOMIE_SUBSCRIBE_DELAY=1000

Which is the delay, in ms, of subscribing to topics of newly discovered v4 devices.
Can you give that a try?

Thanks, with the delay it works nicely now. Only the disconnected devices are missing the $description and $state topics.
v4:

v5:

That is correct. It will wait for a "first time seen 'ready'" situation, and only then will publish the description.
So by design. Let me know if you think this should be done differently

I pushed a fix today, should work like that now.


Updates made for Marked JS 0.6.1

Cancelled last PR. This update should take care of Examples issue but an update on Marked JS is required

I honestly can't tell the difference from the last PR.
Can you do the following to remove all the unrelated commits?
1. Clone your fork somewhere:
git clone https://github.com/andrew-qio/marked-extensions.git
cd marked-extensions

2. Set upstream to this repo:
git remote add upstream https://github.com/Codewars/marked-extensions.git

3. Create and switch to a new branch for the work:
git checkout -b some-branch-name

4. Make changes and commit.
5. Push it to your fork.
git push -u origin some-branch-name

6. Then open a PR from that branch. GitHub should tell you how.

After the PR is merged, you need to sync your local repository:
git checkout master
git pull upstream master

Always do this before creating a branch for new feature/bug fix. There's other ways but remembering to do this is most simple.

@andrew-qio I just looked at your fork and realized you pushed to your master. The steps I wrote above won't work in this case. Please create a new fork and follow the steps. Keep the current local repository so your work is not lost. Just move it somewhere so you can clone the new fork.


Face Id Is not Working in Android with the help of Plugins

We implemented this local auth plugin to use this feature Fingerprint & FaceId but the issue is it takes the first priority a Fingerprint to unlock our developed app in flutter & if we switch off the fingerprint in our device and active a face id (enable in device) then in our developed app, its showed No biometric is enabled, (Only in Android Devices)

Hi @ShanuM123,
Can you please provide your flutter doctor -v and flutter run --verbose logs, and a minimal complete reproducible code sample?
Also, what version of local_auth are you using?
What device(s) are you experiencing this issue on?
Thank you

What version of local_auth_android are you using (you can check with flutter pub deps -s compact)?
We'll also need the code to reproduce this as requested above; it's not clear which API you are calling exactly.


Decode multipart headers as UTF-8.

#175
@yishaigalatzer @muratg @GrabYourPitchforks @Eilon
Please consider for Beta3.

Please add tests for unicode wide characters, especially invalid surrogate pairs.

:shipit:

Merged.


Fix link to Cloudron demo

We recently changed our demo location to https://my.demo.cloudron.io

@jasonblais You did review the original PR (https://github.com/mattermost/docs/pull/2285). Maybe you can also take a look at this one.


Documentation is missing

https://contain-rs.github.io/raw-vec/raw_vec give a 404

This should just need a successful Travis build to work.

Boom. Built.


Load list in menus doesnt get updated unless clicked

In addition, the menu state is remembered, i.e. open controls in main menu, start new game, exit to main menu and controls are still open. This needs to be fixed too

done in 0.2


Remove code related to one.backend.infer

This removes code relate to one.backend.infer, which was
introduced for previous release to check feasibility.
From #1118
ONE-vscode-DCO-1.0-Signed-off-by: Hyun Sik Yoon<EMAIL_ADDRESS>

@struss Could you take a look at this PR? I added you as a reviewer since you're working source code in Executor.

/cc @yunjayh

@struss Could you take a look at this PR? I added you as a reviewer since you're working source code in Executor.

I think this removal will make TEM and TCM more nice. also, as one-infer adopted on samsung/one, I also think one.backend.infer will no longer needed.
so, I agree with this change.


Packages under rsc.io are no longer available

What version of Go are you using (go version)?
Go 1.12, Go 1.14
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
I don't think this matters but here it goes.
Ran go build command
What did you expect to see?
Modules should be fetched successfully and compilation should succeed.
What did you see instead?
Since this morning, 2 packages under rsc.io have been failing:
go build -buildmode c-shared -o ./bin/kinesis.so ./
go<EMAIL_ADDRESS>requires
<EMAIL_ADDRESS>requires
<EMAIL_ADDRESS>unrecognized import path "rsc.io/quote/v3": reading https://rsc.io/quote/v3?go-get=1: 503 Service Unavailable

$ go mod download

go: finding github.com/aws/amazon-kinesis-firehose-for-fluent-bit v1.2.2-0.20200717080229-e3ffb88e79bb
go: finding github.com/aws/aws-sdk-go v1.33.13
go: finding github.com/lestrrat-go/strftime v1.0.2-0.20200618102204-1b0bc59fa4ab
go: finding github.com/stretchr/objx v0.3.0
go: finding github.com/sirupsen/logrus v1.6.0
go: finding github.com/yuin/goldmark v1.1.33
go<EMAIL_ADDRESS>unrecognized import path "rsc.io/sampler" (parse https://rsc.io/sampler?go-get=1: no go-import meta tags ())
go: finding golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899
go: finding golang.org/x/text v0.3.3
go: finding github.com/google/gofuzz v1.1.0
go: finding gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776
go: finding github.com/cenkalti/backoff v2.2.1+incompatible
go: finding golang.org/x/net v0.0.0-20200707034311-ab3426394381
go: finding github.com/fluent/fluent-bit-go v0.0.0-20200707230002-2a28684e2382
go: finding github.com/stretchr/testify v1.6.1
go: finding github.com/json-iterator/go v1.1.10
go: finding gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f
go: finding golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae
go: finding golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6
go: finding github.com/golang/mock v1.4.3
go: error loading module requirements

https://rsc.io/sampler?go-get=1 and https://rsc.io/quote/v3?go-get=1 show
Go 1.9 is no longer available. Please refer to https://goo.gl/aESk5L for more information.

Seems like the service that serve these pages are deprecated by Google Apps engine

this is mitigated by using the proxy, which you appear to have disabled with GOPROXY=direct
but @rsc probably needs to update their app engine server

not sure then, but they're in there<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

cc @rsc @dmitshur @toothrot
While this would probably not normally be considered a Go issue, it is breaking the -longtest builders.
e.g., https://storage.googleapis.com/go-build-log/3c347861/linux-amd64-longtest_bb29e807.log

Just wanted to chime in and say that it's breaking for my builds (go 1.12) as well:
go test -coverprofile=coverage.txt -covermode=count ./...
go: finding github.com/golang/mock v1.4.3
go: finding github.com/go-kit/kit v0.9.0
go: finding github.com/prometheus/client_golang v1.3.0
go: finding github.com/golang/protobuf v1.4.2
go: finding github.com/kelseyhightower/envconfig v1.4.0
go: finding github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a
go: finding github.com/stretchr/testify v1.6.1
go: finding google.golang.org/grpc v1.30.0
go: finding github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
go: finding github.com/golang/protobuf v1.3.2
go: finding github.com/go-logfmt/logfmt v0.4.0
go: finding github.com/go-stack/stack v1.8.0
go<EMAIL_ADDRESS>unrecognized import path "rsc.io/quote/v3" (parse https://rsc.io/quote/v3?go-get=1: no go-import meta tags ())
go: finding github.com/json-iterator/go v1.1.8
go: finding github.com/stretchr/testify v1.3.0
go: finding github.com/prometheus/client_model v0.1.0
go: finding github.com/prometheus/procfs v0.0.8
go: finding golang.org/x/tools v0.0.0-20190425150028-36563e24a262
go: finding github.com/kr/pretty v0.1.0
go: finding go.opencensus.io v0.22.1
go: finding golang.org/x/sys v0.0.0-20191220142924-d4481acd189f
go: finding github.com/cespare/xxhash/v2 v2.1.1
go: finding gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
go: finding github.com/beorn7/perks v1.0.1
go: finding github.com/davecgh/go-spew v1.1.0
go: finding golang.org/x/net v0.0.0-20190628185345-da137c7871d7
go: finding github.com/pmezard/go-difflib v1.0.0
go: finding gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127
go: finding github.com/davecgh/go-spew v1.1.1
go: finding github.com/stretchr/objx v0.1.0
go: finding github.com/prometheus/common v0.7.0
go: finding github.com/golang/mock v1.3.1
go: finding github.com/satori/go.uuid v1.2.0
go: finding cloud.google.com/go/datastore v1.1.0
go: error loading module requirements

@hencrice I can't reproduce this with Go 1.14 with a default configuration:
$ go version
go version go1.14.6 darwin/amd64
$ cd $(mktemp -d)
$ go mod init example.com/m
go: creating new go.mod: module example.com/m
$ go mod download<EMAIL_ADDRESS>$ echo $?
0

What is your go env GOPROXY value? Is it modified from the default? I'm guessing it does not use the module mirror (https://proxy.golang.org/). Is it an option for you to start using it?
Making cmd/go tests not depend on external services is tracked in issue #28856. We should see if the current -longtest failures should be in scope of that issue. I'll see how quickly Russ expects to be able to fix rsc.io to determine the best next steps for it.

@dmitshur I've tried to set GOPROXY to direct, https://proxy.golang.org and https://proxy.golang.org,direct. All failed with the same error message.

Okay, setting GOPROXY fixed it for me:
$ export GOPROXY="https://proxy.golang.org"

Then when I directly download binaryregexp, it succeeds:
$ go get -u rsc.io/binaryregexp
go: finding github.com/go-openapi/errors v0.17.0
go: finding github.com/go-openapi/jsonreference v0.19.2
go: finding github.com/mitchellh/mapstructure v1.1.2
go: finding golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f
go: finding github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb
go: finding github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf
go: finding github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329
go: finding github.com/kr/pty v1.1.5
go: finding golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8
go: finding github.com/go-openapi/jsonpointer v0.19.2
go: finding rsc.io/binaryregexp v0.2.0
go: finding github.com/PuerkitoBio/purell v1.1.1
go: finding github.com/go-openapi/loads v0.19.0
go: finding github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8
go: finding golang.org/x/net v0.0.0-20190613194153-d28f0bde5980
go: finding github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63
go: finding github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578
go: finding golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59
go: finding github.com/go-openapi/runtime v0.19.0
go: finding github.com/go-openapi/errors v0.18.0
go: finding github.com/go-openapi/jsonreference v0.18.0
go: finding golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54
go: finding golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53
go: finding golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576
go: finding github.com/go-openapi/validate v0.18.0
go: finding github.com/go-openapi/jsonpointer v0.18.0
go: finding github.com/go-openapi/strfmt v0.18.0
go: finding github.com/go-openapi/spec v0.17.0
go: finding golang.org/x/net v0.0.0-20181005035420-146acd28ed58
go: finding github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe
go: finding github.com/go-openapi/swag v0.17.0
go: finding github.com/docker/go-units v0.3.3
go: finding github.com/go-openapi/swag v0.18.0
go: finding github.com/go-openapi/jsonreference v0.17.0
go: finding github.com/go-openapi/loads v0.18.0
go: finding github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9
go: finding github.com/go-openapi/spec v0.18.0
go: finding github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277
go: finding github.com/go-openapi/jsonpointer v0.17.0
go: finding github.com/PuerkitoBio/purell v1.1.0
go: finding github.com/go-openapi/strfmt v0.17.0
go: finding github.com/pborman/uuid v1.2.0
go: finding github.com/go-openapi/analysis v0.17.0
go: finding github.com/go-openapi/loads v0.17.0
go: finding github.com/go-openapi/analysis v0.18.0
go: finding github.com/google/uuid v1.0.0
go: downloading rsc.io/binaryregexp v0.2.0
go: extracting rsc.io/binaryregexp v0.2.0

@AntonNguyen Could you show your full go env? I tried setting GOPROXY but it still failed for me.

@hencrice Please post the full output of running go version, then go env, then the exact command you ran that's still giving an error, so we have full information.
It should work okay if GOPROXY is set to use the module mirror and the value is used when you run go build or go mod download, so perhaps the problem was your configuration change wasn't picked up by the other command.

@AntonNguyen Could you show your full go env? I tried setting GOPROXY but it still failed for me.

$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/circleci/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/go"
GOPROXY="https://proxy.golang.org"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/go/src/github.com/user/repo/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build689553606=/tmp/go-build -gno-record-gcc-switches"

@dmitshur
go version outputs:
go version go1.14.3 darwin/amd64

go env outputs:
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/yenlinc/Library/Caches/go-build"
GOENV="/Users/yenlinc/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY="*"
GONOSUMDB="*"
GOOS="darwin"
GOPATH="/Users/yenlinc/go"
GOPRIVATE="*"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.14.3/libexec"
GOSUMDB="off"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.14.3/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/yenlinc/workplace/yenlinc/amazon-kinesis-firehose-for-fluent-bit/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/v4/nbxvs8tj4ms68w5ghhnzn_f1ckngqg/T/go-build709008692=/tmp/go-build -gno-record-gcc-switches -fno-common"

Content of go.mod:
module github.com/aws/amazon-kinesis-firehose-for-fluent-bit

go 1.12

require (
	github.com/aws/aws-sdk-go v1.33.13
	github.com/cenkalti/backoff v2.2.1+incompatible
	github.com/fluent/fluent-bit-go v0.0.0-20190614024040-c017a8579953
	github.com/golang/mock v1.4.3
	github.com/json-iterator/go v1.1.10
	github.com/lestrrat-go/strftime v1.0.2-0.20200618102204-1b0bc59fa4ab
	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
	github.com/modern-go/reflect2 v1.0.1 // indirect
	github.com/sirupsen/logrus v1.6.0
	github.com/stretchr/testify v1.6.1
)

Commands ran:
$ mkdir -p ./bin && go build -buildmode c-shared -o ./bin/firehose.so ./

go<EMAIL_ADDRESS>requires
<EMAIL_ADDRESS>unrecognized import path "rsc.io/quote/v3": reading https://rsc.io/quote/v3?go-get=1: 503 Service Unavailable

One thing I discovered is if I just:

remove the go.mod and go.sum
reinitialize the module via go mod init github.com/aws/amazon-kinesis-firehose-for-fluent-bit
Change the go version in go.mod from 1.14 to 1.12
Re-run go build
Then it compiles successfully. But I suspect that's just because the indirect dependency on rsc.io/sampler and rsc.io/quote were removed

@hencrice The GOPRIVATE environment variable in go env output is set to *, which tells the go command to consider all modules as private and not to use the module mirror and checksum database for them.
To be able to fetch rsc.io/quote/v3 and other public modules from the mirror, that environment variable will need to be updated to something narrower. See https://golang.org/cmd/go/#hdr-Module_configuration_for_non_public_modules for more information about it.

This break gRPC's tests for go 1.12 as well: https://travis-ci.org/github/grpc/grpc-go
While we try to figure the reason behind the failure, is there any intent to fix rsc.io/quote?
rsc.io/quote still shows Go 1.9 is no longer available. Please refer to https://goo.gl/aESk5L for more information.

@menghanl Fixing rsc.io/quote is being tracked in issue https://github.com/rsc/quote/issues/4.

rsc.io is working again now (see https://github.com/rsc/quote/issues/4#issuecomment-665300101). Making cmd/go tests not depend on external services is tracked in issue #28856. I don't think there's anything else left to do here, so I'll close this.

Russ's personal website (https://swtch.com/), which also hosts a lot of semi-official Go-related content like the Go versioning and Go proposal documents, is down with the same issue. I have a ton of respect for Russ (and Google, on good days), and these things can happen to anyone -- but one does have to see the funny side of this. As an acquaintance of mine put it: "heh, that is funny ... Go project lead's web site down due to using an EOL version of the language ... film at 11 :)"


⚠ Bofrost.at has degraded performance

In e290dd4, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1080 ms

Resolved: Bofrost.at performance has improved in b42a8eb.


Wrap correctly on small width

Hello @rsandz ,
I usually keep the plugin panel on a small sidebar, and when viewing it on smaller screen it makes quite difficult to manage the bottom buttons.
This PR take advantage of a few flex attributes to improve the layout on very small widths. Otherwise it makes no difference.
Before:

Before
After

Thank you.

LGTM! Thanks for the contribution


Notif popup flikers when opened

https://github.com/lightbeam24/customtube/assets/113631055/6f677543-982f-438e-89bd-fbaa1918c97f
OS: Windows 11 22631.1835 (Insider beta)
Browser: Firefox Nightly 116.0a1

Are you sure CustomTube causes this? As of now, the notifications panel is almost completely unmodified by the extension. Try disabling CustomTube and see if it still happens.
If it does still happen, could you try it on the 2012, 2013, and 2019 layouts, to see if it's a layout-specific bug?

it seems to happen randomly, some times it does, some times it doesn't. It mostly happens when whatching videos from playlists. disabling the addon fixes the issue completely. layout-specific? not sure since it's an hard bug to replicate on pourpuse.
(anyways sorry for any typo i made)

im currenly using layout 2014 on the latest version (1.0.4)

Okay. I have to admit that I don't know how to fix this as of now since I can't reproduce it myself, but I'll keep it in mind anyway. I'll let you know if I figure anything out.

It seems that it doesn't happen anymore. Still not sure what caused it

Nope, it's happening again
https://github.com/lightbeam24/CustomTube/assets/113631055/c3e4bb8e-5934-42ee-80c4-ffafa6eaf04e
layout: early 2013

Is it fixed now? I have a feeling this is related to issue #34 which is fixed.

Yup, i'ts fixed


remove some flags that haven't had an effect in a while

@rust-lang/miri any objections to this?

Nope. Happy to see it.

All right let's land this then.
@bors r=saethlin

:pushpin: Commit 62e1f31fae39e654cd481e4ec9459140ce9c7a31 has been approved by saethlin
It is now in the queue for this repository.

:hourglass: Testing commit 62e1f31fae39e654cd481e4ec9459140ce9c7a31 with merge dddad63398e297f4ff41e682f003264c9736bdd5...

:sunny: Test successful - checks-actions
Approved by: saethlin
Pushing dddad63398e297f4ff41e682f003264c9736bdd5 to master...


Restructure database for testausserveri-id

This commit restructures the database for easy implementation of testausserveri-id authentication.
The only thing remaining to do after this is to add the actual logic and endpoints, the database already has the table.

Could this be created as a separate branch until the whole testausserveri-id implementation is complete?


Fix markup on Installation header

In recent years, Github changed its Markdown to require spaces after a hash-headers.

@chuckhoupt Thanks for the fix!


fix https://github.com/sapphiredev/framework/blob/main/guides/getting-started/CreatingCommands.md line 58

this.container.client.ws.ping to message.client.ws.ping
I tried this method, but this.container was undefined and the value was not readable, so I changed it to message and it worked.

You were most likely using Sapphire v1.0.2 in which it is this.context instead of this.container. The "main" branch is the in-dev version, which is published with the npm dist-tag of next and thus installable with npm i @sapphire/framework@next.

Closing this due to lack of response from OP.


Update meta.json encoding

Follows #40.
However, this encoding is temporary. It allows to use any field in meta.json which is obviously not robust. This means that it will not warn for errors if a field is declared as optional and written with a typo.

title.txt and max_score.txt are integrated into meta.json. If the field is not available, it falls back to the said file (max_score is completely optional).

Can you update the docs please?

About max_score : I have actually find what I think is a bug with max_score. I am trying to fix it (or will open an issue if I can't) but basically, I have an exercise where max_score does not match the actual maximum possible score for the exercise (3 functions are tested, for 10 points each. max_score = 20 instead of 30).
And why put it in meta.json ? Can it be actually changed ? Isn't it a computed value, depending of the number of tests done ?

Actually, max_score is never used (it wasn't even in the exercise representation used by the grader, so it couldn't access it). I suppose this was imagined to override the grader's given score if it returns a score higher than max_score. As such, it is not computed.
I think it should be easy to implement now that it is available into the representation of exercises.


Update Notebooks?

Many of the jupyter notebooks appear to be copy and pasted python scripts and contain code that is a little bit unusual in jupyter notebooks like if __name__=="__main__" it might be good to update some of these. As this is a google project it would also probably be cool to have collaboratory links for a few notebooks as well.

Note that I convert python examples into notebooks with tools/export_to_ipynb.py.
So we could improve the script to remove the name and just call main.

I hadn't seen that script. It would probably be cool to split cells at every double blank line and put comments into markdown cells. It might also make sense to add notebook testing to Travis to make sure errors/refactors get noted

ambitious :-) but great
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le jeu. 2 août 2018 à 11:26, Kevin Mader<EMAIL_ADDRESS>a
écrit :

I hadn't seen that script. It would probably be cool to split cells at
every double blank line and put comments into markdown cells. It might also
make sense to add notebook testing to Travis to make sure errors/refactors
get noted
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/778#issuecomment-410023311,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKj17YZNkoYR8ZSDSbWc236He_ymq06lks5uM0RQgaJpZM4Vsmxk
.

Also it might be interesting to have a few colab examples which work natively from github
https://colab.research.google.com/github/google/or-tools/blob/master/examples/notebook/jobshop_ft06_sat.ipynb
but it would require prepending the first cell with
!pip install ortools svgwrite
!pip install 'plotly>=2.0'

which would be considered pretty bad form for the standard notebooks.

Actually, you need a local server.
We just need instructions to setup a local server with ortools loaded,
along with dependencies.
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le jeu. 2 août 2018 à 14:22, Laurent Perron<EMAIL_ADDRESS>a écrit :

Do we know if we are running in github?
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68
53 00
Le jeu. 2 août 2018 à 14:07, Kevin Mader<EMAIL_ADDRESS>a
écrit :

Also it might be interesting to have a few colab examples which work
natively from github
https://colab.research.google.com/github/google/or-tools/blob/master/examples/notebook/jobshop_ft06_sat.ipynb
but it would require prepending the first cell with
!pip install ortools svgwrite
!pip install 'plotly>=2.0'
which would be considered pretty bad form for the standard notebooks.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/778#issuecomment-410068147,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKj17akvM7yDyjnWn_npoksbhiF0F6MBks5uM2n3gaJpZM4Vsmxk
.

@lperron so colab runs both locally and on google compute engine (most people run it on GCE since they give you free GPUs). The standard-ish practice seems to be just adding a !pip command to the first cell (https://github.com/tensorflow/hub/blob/master/examples/colab/action_recognition_with_tf_hub.ipynb)

I meant to run notebooks on github, you need to have a local backend.
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le ven. 3 août 2018 à 01:35, Kevin Mader<EMAIL_ADDRESS>a
écrit :

@lperron https://github.com/lperron so colab runs both locally and on
google compute engine (most people run it on GCE since they give you free
GPUs). The standard-ish practice seems to be just adding a !pip command
to the first cell (
https://github.com/tensorflow/hub/blob/master/examples/colab/action_recognition_with_tf_hub.ipynb
)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/778#issuecomment-410185534,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKj17WRq_oJQ2VpjYo3gEOhJIcMh1XB9ks5uNAtIgaJpZM4Vsmxk
.

I have updated most of the notebooks to remove the main() and if app == main() parts.
Splitting into blocks need to be improved and I disabled it for the time being.

Cool! Thanks


Gather NADP data for DRB

We're interested in atmospheric deposition of Na and Cl in the DRB. There should be multiple years available, so tasks might include:

Assess interannual variability of Cl and Na deposition rates in DRB
If little interannual variability, decide whether to pull most recent NADP values, for example, or to average all years to come up with average deposition rates for Cl and Na
Become more familiar with the format of these data - are the data published as rasters (maps)? More information here: https://nadp.slh.wisc.edu/committees/tdep/

I looked at these data and they are available as images and grids. I'm not sure if the images are spatially referenced, but the grids are. Hopefully the in-development raster to reach script can be used for this dataset, too. I viewed several years for dry and wet deposition of Na and Cl and the patterns looked similar from year to year. Wet deposition was a little more spatially variable, I'd assume due to precipitation patterns. My analysis was not exhaustive, though

Just noting that these have been processed to NHD reaches for Cl, Mg, and Ca. Starting there could be simpler than having to start from the raw rasters. And someone (Mike?, Andrew?) must have scripts to process these data

That sounds like a good plan, @jds485. Updating this issue:

[ ] For now, start by bringing in processed NADP Cl, Mg, and Ca data from NHD MasterList data set

We can revisit processing of the raw NADP data as our modeling needs progress.

Just noting that these have been processed to NHD reaches for Cl, Mg, and Ca. Starting there could be simpler than having to start from the raw rasters. And someone (Mike?, Andrew?) must have scripts to process these data

Yes @jds485, pulling from here. https://www.sciencebase.gov/catalog/item/57e2ac2fe4b0908250045981
Xwalk to PRMS will be part of initial processing here, as the data is structured with a COMIDs as row indices.
There is a data table per year here from 1987 to 2010. Do we want all of it?

Yes, I think it's best to pull every year. We'll have to create static features for these variables, so from Lauren's 1st post in this issue:

Assess interannual variability of Cl and Na deposition rates in DRB
If little interannual variability, decide whether to pull most recent NADP values, for example, or to average all years to come up with average deposition rates for Cl and Na

I'm not sure if Na is part of this dataset, and that's okay if it's unavailable.

Can this be closed?

Yes closed.
Note that the NADP data in our pipeline is current at target: p2_NADP_Data with a table that is by COMID
    COMID CAT_DEP_CA CAT_DEP_NO3 CAT_DEP_SO4 CAT_DEP_N CAT_DEP_MG CAT_DEP_NH4 CAT_DEP_CL CAT_NADP_NODATA Year
1  2588313       1.14       10.73        8.75      4.96       0.26        3.08       1.94               0 2012
2  1750653       0.78       18.47       25.06      6.42       0.17        2.90       1.82               0 1994
3  4186517       1.24       10.10        9.01      6.30       0.29        5.18       1.90               0 2013
4  4494432       1.27       14.13       21.64      6.57       0.51        4.36       6.33               0 2007
5  4185459       0.90       20.55       27.42      6.75       0.28        2.71       2.90               0 1993
6  4780769       1.04       10.65       13.44      5.17       0.48        3.56       6.37               0 2009
7  4778901       1.07       19.14       24.49      6.71       0.21        3.08       2.02               0 1998
8  4496484       1.19       12.88       19.66      5.82       0.67        3.75       9.08               0 2007
9  9483454   -9999.00        8.06       11.56      3.99       1.43        2.80      20.67               0 2010
10 1748563       0.63        8.18        9.16      3.37       0.15        1.96       1.65               0 2009

New Issue to xwalk these comid to PRMS id


Add logo

Let's get an awesome logo and put it in the header: https://topmate-readme-badge.netlify.app/

please assign this to me @vinitshahdeo


Error after source code python 3 install

I get this after running the install sh and starting the env and run "python mac_apt.py -h"
Traceback (most recent call last):
File "mac_apt.py", line 23, in
import plugins.helpers.macinfo as macinfo
File "/Users/examiner/Desktop/mac_apt/mac_apt/plugins/helpers/macinfo.py", line 26, in
from plugins.helpers.hfs_alt import HFSVolume
File "/Users/examiner/Desktop/mac_apt/mac_apt/plugins/helpers/hfs_alt.py", line 29, in
from plugins.helpers.btree import AttributesTree, CatalogTree, ExtentsOverflowTree
File "/Users/examiner/Desktop/mac_apt/mac_apt/plugins/helpers/btree.py", line 18, in
from plugins.helpers.structs import *
File "/Users/examiner/Desktop/mac_apt/mac_apt/plugins/helpers/structs.py", line 185, in
"unicode" / PaddedString(lambda ctx: ctx["length"] * 2, encoding="utf-16-be") # "unicode",
NameError: name 'PaddedString' is not defined

Try upgrading to latest version of Construct

As pointed by Jack, this is due to a recent code update to update to the newer version of Construct library.
I just updated the Wiki installation page to reflect the new version of construct. Latest (2.9.45) works just fine.
pip install construct --upgrade should fix it.

Thanks guys!

Hello!!
I have updated construct with pip3 install construct --upgrade, but I still have "NameError: name 'PaddedString' is not defined"
What could I do now?

I just tested this with latest construct and did not get any problems.
Are you in the python virtual environment ? It is likely that you have installed this in the virtual env and then you are trying to use mac_apt  outside that environment, hence it is not seeing the upgrade. Or perhaps it is the other way around. Just ensure that wherever you installed construct is the same as where you are running mac_apt.

This prompt jump out when I run the installing script too.
Do you mean run pip install construct --upgrade outside the virtual env or in it?
I tried both, finnaly got the  latest version of construct is (2.10.56)outside, but a upgrade process inside.
After I run construct upgrade inside, the error about  'PaddedString' gone. However, when I run python mac_apt ..., it tell me No module named 'xxxx', i am sure i am in the mac_apt env.

This prompt jump out when I run the installing script too.
Do you mean run pip install construct --upgrade outside the virtual env or in it?
I tried both, finnaly got the latest version of construct is (2.10.56)outside, but a upgrade process inside.
After I run construct upgrade inside, the error about 'PaddedString' gone. However, when I run python mac_apt ..., it tell me No module named 'xxxx', i am sure i am in the mac_apt env.

Everything should be inside the virtual env. Instead of version 2.10, try using 2.9.45
Do this inside your virtual env:
pip uninstall construct
pip install construct==2.9.45

This is the recommended version. Follow the instructions on wiki here:
https://github.com/ydkhatri/mac_apt/wiki/Installation-for-Python3.7#macos-osx
I also updated the install script there which should do this automatically.

This prompt jump out when I run the installing script too.
Do you mean run pip install construct --upgrade outside the virtual env or in it?
I tried both, finnaly got the latest version of construct is (2.10.56)outside, but a upgrade process inside.
After I run construct upgrade inside, the error about 'PaddedString' gone. However, when I run python mac_apt ..., it tell me No module named 'xxxx', i am sure i am in the mac_apt env.

Everything should be inside the virtual env. Instead of version 2.10, try using 2.9.45
Do this inside your virtual env:
pip uninstall construct
pip install construct==2.9.45

This is the recommended version. Follow the instructions on wiki here:
https://github.com/ydkhatri/mac_apt/wiki/Installation-for-Python3.7#macos-osx
I also updated the install script there which should do this automatically.
Just ensure that you are also trying to start mac_apt inside the virtual env. This is indicated on the terminal with a  (env) in the far left of the terminal prompt (on every line).
Edit: I just tested latest version 2.10.56, and it will work too.

I thought there are some dependencies missing in v16.
Just tested the v17 script, it worked everthing correctly. Thank you.

Yes, the v16 script did not have all the dependencies as the code now requires more due to some newer plugins that were added recently. Thanks for testing v17 install script.


Add topic "JSON:API"

Follow-up to #3992

Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/main/CONTRIBUTING.md.
[x] I am not the sole author or employee of a company who created the topic or collection I'm changing.

Which change are you proposing?

[ ] Suggesting edits to an existing topic or collection
[x] Curating a new topic or collection
[ ] Something that does not neatly fit into the binary options above

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288, size <= 75 kB)
[ ] Content (and my changes are in index.md)

Please replace this line with an explanation of why you think these changes should be made.

Curating a new topic or collection

[x] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[x] My folder contains a *.png image (if applicable) and index.md
[x] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/main/docs

JSON:API is important enough to have it's own topic page apart from JSON.

Something that does not neatly fit into the binary options above

[ ] My suggested edits are not about an existing topic or collection, or at least not a single one
[ ] My suggested edits are not about curating a new topic or collection, or at least not a single one
[ ] My suggested edits conform to the Style Guide and API docs: https://github.com/github/explore/tree/main/docs

Please replace this line with an explanation of your proposed changes.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

You're welcome – would have been a shame if that topic would have become uncurated since it wasn't an alias anymore


Libraries do not compile on Ubuntu:14.04

Checking out the code and trying to compile does not work.  My initial diagnostic:

gRPC depends on either BoringSSL (as a submodule), or OpenSSL-1.0.2g.
Ubuntu:14.04 installs OpenSSL-1.0.1 by default.
Compiling OpenSSL-1.0.2 from source does not work because libcurl (which we use) on that platform cannot link against the 1.0.2 version.
We can compile both OpenSSL and libcurl from source, but then things start to get silly, we probably should turn these libraries to external projects at this point.

Testing within Docker shows that it is possible to compile both OpenSSL and libcurl from source and then compile google-cloud-cpp. However, if OpenSSL or libcurl are already installed then the build breaks or generates many warnings.

These steps seems to workaround the problems:
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt update
sudo apt install -y cmake3 git gcc-4.9 g++-4.9 make wget zlib1g-dev
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 100
cd /var/tmp/
sudo wget -q https://www.openssl.org/source/openssl-1.0.2n.tar.gz
sudo tar xf openssl-1.0.2n.tar.gz
cd /var/tmp/openssl-1.0.2n
sudo ./Configure --prefix=/usr/local --openssldir=/usr/local linux-x86_64 shared
sudo make -j $(nproc)
sudo make install

cd /var/tmp/
sudo wget -q https://curl.haxx.se/download/curl-7.61.0.tar.gz
sudo tar xf curl-7.61.0.tar.gz
cd /var/tmp/curl-7.61.0
sudo ./configure
sudo make -j $(nproc)
sudo make install

@coryan — given that PR #914 was merged, can this issue be closed?

Yes.  I cannot think of a better fix for this problem given what gRPC needs.


Reposilite 4.x wishlist

About
Reposilite 3.x is a stable piece of software and for most of the time it serves you well. Of course, some decisions I made during 2.x -> 3.x rewrite were good, and some of them are a bit of a problem these days. I think that's a good time to start summing up the 3.x release line, so we can prepare for the next major version. Fortunately, this time we're more likely talking about an evolution, not a revolution - the backend module is much easier to maintain, Kotlin really paid off here. Sadly, I can't say it about frontend in JS + Vue 3.
Roadmap
Some high level estimation of a roadmap for Reposilite 4.x 💕

Date
Description

Q1 2024
Get some feedback from the community about current state of the project and possible enhancements in the 4.x

Q2 2024
Refine ideas, prepare project & start development

Q2 & Q3 2024
Development phase

Q4 2024
Release 4.x 🎉

RFCs

Priority
Domain
Description
Status

P1
Tokens -> Users
Reposilite should introduce user system. Users should be able to generate personal tokens on their own.
✔

P1
Authentication
Thanks to the new user system in Reposilite, we should be able to support the following auth methods in the UI: OAuth, OIDC
📢

P1
UI / Dashboard
Maintaining current REST API + standalone frontend module requires a lot of work. With JTE-like template engine + some lightweight frameworks like HTMX + Tailwind we could probably do the same thing with a better result
❔

P3
Database layer
Exposed should be replaced with Sqiffy
✔

Priority: P1 - high, P2 - medium, P3 - low
Status: ✔ - approved, 📢 - requires feedback/details, ❔ - unknown

Thanks to all sponsors that decided to support me this year! We wouldn't be here without you 💛

Since it seems like the UI is going to be majorly reworked: thoughts on adding "looks at least somewhat decent on mobile" to the list? (especially the admin interface, so admin stuff can be done from a mobile device)

also, one note: you mentioned using jte.
for me personally, jte is kinda okay-ish. I'd just like to add freemarker as a suggestion for a templating engine to consider.
there's also thymeleaf, which I've been using for my personal site. the experience has been okay-ish (solonovamax/solonovamax.gay if you wanna look at how I do stuff. kotlin + ktor.), but there have been a few kinda jank-ish parts, but other than that it's been nice.

Since it seems like the UI is going to be majorly reworked: thoughts on adding "looks at least somewhat decent on mobile" to the list? (especially the admin interface, so admin stuff can be done from a mobile device)

Sure, the mobile support should be way better there. In current UI, it's mainly blocked by the tabs & jsonforms libraries, but it's a minor issue, so I didn't decide to invest my time into it for now.

I'd just like to add freemarker as a suggestion for a templating engine to consider. there's also thymeleaf, which I've been using for my personal site. [...]

When I'm thinking about a desired stack for a new frontend, I want to cover these 3 crucial requirements:

Get rid of a translation layer between backend and frontend (optimized template engine)
Avoid covering with JS basic CRUD operations (frontend framework that covers the most common boilerplate code)
Interface should become a part of the plugin api, so it'll be customizable to some degree (some sort of a component system)

The main reason behind JTE choice is performance - it provides a compilation mode, where it generates classes for all template components:

This + a possibility to implement Node-like hot reloading makes it a good candidate. It has some issues tho - writing a JavaScript code inside a template might be a bit painful. Even if HTMX/Unpolly/something similar would cover most of the features, there are still some side cases, when we may need to cover with JS. Raw JS/state management is kind rough, so we could try to utilize something like Preact locally, for some specific features.

Since it seems like the UI is going to be majorly reworked: thoughts on adding "looks at least somewhat decent on mobile" to the list? (especially the admin interface, so admin stuff can be done from a mobile device)

Sure, the mobile support should be way better there. In current UI, it's mainly blocked by the tabs & jsonforms libraries, but it's a minor issue, so I didn't decide to invest my time into it for now.

I'd just like to add freemarker as a suggestion for a templating engine to consider. there's also thymeleaf, which I've been using for my personal site. [...]

When I'm thinking about a desired stack for a new frontend, I want to cover these 3 crucial requirements:

Get rid of a translation layer between backend and frontend (optimized template engine)
Avoid covering with JS basic CRUD operations (frontend framework that covers the most common boilerplate code)
Interface should become a part of the plugin api, so it'll be customizable to some degree (some sort of a component system)

The main reason behind JTE choice is performance - it provides a compilation mode, where it generates classes for all template components:

This + a possibility to implement Node-like hot reloading makes it a good candidate. It has some issues tho - writing a JavaScript code inside a template might be a bit painful. Even if HTMX/Unpolly/something similar would cover most of the features, there are still some side cases, when we may need to cover with JS. Raw JS/state management is kind rough, so we could try to utilize something like Preact locally, for some specific features.

The only thing I'm missing is an indexer+search built-in.
That's it :)

The only thing I'm missing is an indexer+search built-in.
That's it :)

I was working on that for a bit as a plugin sometime ago, and may continue it one day™ (or I might just forgor again)

Maybe not too related to Reposilite. But what about an integrated docker registry?

Yes, the Docker registry would be absolutely great. Unfortunately, it requires a lot of work, as the specification seems to be quite complex - there's an issue for that:

https://github.com/dzikoysk/reposilite/issues/1618

It'd be nice to document all things we need to do (from specification perspective), so later on we could try to estimate if we'll be able to do that or not.

Maybe not too related to Reposilite. But what about an integrated docker registry?

There is already Harbor for that, so I don't think it is strictly necessary. I do appreciate Reposilite's focus on providing great light weight solution for hosting Maven repositories.

Yeah you're right. There is enough software which is already capable of providing a registry and reposilite should stay simple-ish

I'd like to see support for byte ranges. I want to use reposilite as a simple arch mirror, and arch is complaining about failed downloads.

Maybe not too related to Reposilite. But what about an integrated docker registry?

There is already Harbor for that, so I don't think it is strictly necessary. I do appreciate Reposilite's focus on providing great light weight solution for hosting Maven repositories.

Well, yes and no. These days, you're often distributing JVM apps as containers, so it'd be kinda nice to have it supported at some point - I could even distribute Reposilite itself there. Of course, it can't be considered as the new main target, because we don't have enough resources to compete with dedicated tools, like e.g. Harbor. Hopefully, something like that should be possible to implement purely as an optional plugin.

I'd like to see support for byte ranges. I want to use reposilite as a simple arch mirror, and arch is complaining about failed downloads.

It'd be nice if you could submit a new issue with a bit more detailed description. As long as we don't aim to support arch itself, supporting http range requests probably could be a thing.

One thing I would like to see is the ability to customize the appearance

yeah, the ability to provide your own css styles/themes would be quite nice
ie. use the default frontend, but just have some customized css (ie. to make the frontend a bit less "harsh")

also here's a few misc. things:

smth I thought of a while back that would be nice is:

the ability to store cached files from a proxied/mirrored repository in a separate location.
so, for example, the releases repo could be stored in

oopsies, sent that before I was finished typing lol

One thing I would like to see is the ability to customize the appearance
yeah, the ability to provide your own css styles/themes would be quite nice
ie. use the default frontend, but just have some customized css (ie. to make the frontend a bit less "harsh")

I'll most likely implement the new frontend with HTMX+Tailwindcss. These sources don't need a build process, so users should be able to pretty much do whatever they want there. I don't think I'll target the appearance that much tho, because it's quite niche feature, but the idea with a separate CSS file for some most common stuff like e.g. colors might be interesting. I think I'll be able to tell more once I'll start doing this, because I'm not completely sure how it should be done yet.

smth I thought of a while back that would be nice is: the ability to store cached files from a proxied/mirrored repository in a separate location.

This is already possible - just create a new repository per each mirrored repository and link these local mirrors via local loopback link:

https://reposilite.com/guide/mirrors#link

You can set individual storage limits per each repo as it'd be a regular repo.

add a badge on remote artifacts/modules to indicate they're from a mirror (& maybe which mirror they're from?)
policy to discard old cached artifacts

Currently, we're only providing a built-in option to delete snapshot files, but if we'd have an option to determine if a given file was proxied or not, then date based cleanup for mirrors would be a great enhancement. This is not really related to 3.x/4.x, so I created a new issue for this:

https://github.com/dzikoysk/reposilite/issues/2074

the ability to change the name of the repository provided in the generated "repository details" for maven, gradle kotlin, gradle groovy, and sbt. (eg. I'd like the "name" to be smth specific rather than what was generated, as well as using specific capitalization, etc.)

It was requested a lot of times - not sure how it'll look like on the new frontend, but in general this is already planned ✔

since you're looking at making the frontend part of the plugin api, should a search plugin be added to the roadmap? if it is, I could start that one thing I was working on a while ago with maven-indexer back up.

I still think that the search option in UI should be implemented internally in Reposilite, based on some metadata we'll store in the database. Speaking about the maven-indexer, we have a separate issue for this:

https://github.com/dzikoysk/reposilite/issues/601

There were some issues with it, if you have some more data on this, it'd be nice to continue this thread there, just so we can keep this in one place.

funny numbers: it would be cool if the statistics showed more information, [...] unsure if this might be better suited for just sending that data to prometheus and using grafana for this, though.

The problem with detailed statistics is that it highly increases the database usage - that's why we're currently only counting unique requests per month by default. On the other hand, the prometheus integration will be merged into the core sources, so we should be fine with just pushing some extra events instead of storing this on our own. In this case, it's also not important to address this directly in 4.x - extra metrics can be added later as a feature requests.

minor change to the badges api: support for different styles (see: https://shields.io/badges), eg. flat, flat-square, plastic (current), for-the-badge, and social.

It wouldn't be a breaking change, so I think it could be moved to a standalone issue if needed. In general, I have a limited time for the project, so such issues usually have really low priority for me, but feel free to submit a PR - it's cool to have such options.

increased visibility of metadata via a dashboard for a specific version. eg. when clicking on a specific version of an artifact, it will list (all of this is in the pom.xml)

Probably could be addressed after 4.x, but I'll try to remember about this after rewriting the layout.

the ability to have "repository overlays" or to "inherit repositories".
eg. let's say I have snapshots and releases. when a user adds the snapshots repo and attempts to fetch a version from it, but said version does not exist in it (or any of its mirrors), it would be nice if it then went and checked if it existed in the releases repo. so, snapshots falls back on/inherits from/is an overlay on top of releases.

I think this should be also already possible with local links 🤔

Copying this over here just in case: https://github.com/dzikoysk/reposilite/issues/1011#issuecomment-2093826063

Maintaining current REST API + standalone frontend module requires a lot of work. With JTE-like template engine + some lightweight library like HTMX + Tailwind, we could probably do the same thing with a better result (and improve mobile UX)

As for the UI of Reposilite, I think that using something like Tailwind or UnoCSS would be a good fit. I wonder if there could be a redesign of the way that data was fetched from the backend and the frontend that wouldn't require a templating engine serving the content. I wonder if there is some sort of RPC that existed for generating Web based code from Kotlin types and APIs? If not then a templating engine and a lightweight framework with styling sugar sounds like a good step towards there, as I don't think Kotlin has amazing web features.

I wonder if there could be a redesign of the way that data was fetched from the backend and the frontend that wouldn't require a templating engine serving the content.

I'm a bit tired of introducing intermediate layers, just to display some sort of static content. Having a template engine, I could possibly get rid of the whole frontend module. There are some drawbacks as always, but as far as I see it could be an option to significantly reduce the size of the codebase, so it'd be easier to maintain it.
Another benefit of having the frontend generated by backend is extensibility - currently, there is no option to modify frontend via plugin API, because frontend is just a standalone app that is precompiled earlier. It's even hard to inject custom base path url, not speaking about some more advanced effects.

I wonder if there is some sort of RPC that existed for generating Web based code from Kotlin types and APIs

Even if we'd have some sort of RPC framework, it'd still need to make some calls over the network to fetch/update latest state for client-side logic. It means we're falling once again into the world with 2 independent states (client and server) we need to synchronize at some point.

If not then a templating engine and a lightweight framework with styling sugar sounds like a good step towards there, as I don't think Kotlin has amazing web features.

I had some time to prototype a basic plugin for Javalin, and it's promising:
https://github.com/dzikoysk/reposilite/assets/4235722/ab85c822-8748-4d21-ab88-75f5a7d80416
So we can prototype frontend with hot-reloads. Of course, for backend changes we need to rebuild a project, but it's good enough I'd say. :shipit:

Of course, for backend changes we need to rebuild a project, but it's good enough I'd say. :shipit:

if you don't introduce any methods/etc. you can hotswap code in intellij when running in debug mode. I personally have a macro set up to execute:

SaveAll action
CompileProject action
Hotswap action

when pressing ctrl + s (you can create a similar macro by starting macro recording, using double shift then searching for and executing each action, and then afterwards edit the macro to remove all the double shifts & other useless stuff)
it won't hotswap anything which introduces new methods or new classes, but if it's just a change to the method body, it hotswaps it. quite useful.

So we can prototype frontend with hot-reloads. Of course, for backend changes we need to rebuild a project, but it's good enough I'd say. :shipit:

That's perfect yeah! I understand that reasoning.

Even if we'd have some sort of RPC framework, it'd still need to make some calls over the network to fetch/update latest state for client-side logic. It means we're falling once again into the world with 2 independent states (client and server) that we need to synchronize at some point.

I do feel like that for this, if an RPC framework existed, there are good solutions for syncing up backend and client. Even just a simple SSE connection could go a long way for a simple dynamic frontend, and if there was an RPC, all the API infrastructure for the framework side code could be standardized and modified from the backend, without requiring a change to the frontend. Obviously this is easier said than done, but I'd be happy to look into if this is a possible solution, since generally the downsides of a templating engine can introduce limitations in the future, but I think in this case, either solution would work generally well.

As long as we are talking about choices of frontend technology, what about going for a nice "clean" HTMX powered front-end?
Backend could use your own favorite templating engine to serve html smippets, so we get best of both worlds -- fast in-place reloads and templated/skinnable frontend.

As long as we are talking about choices of frontend technology, what about going for a nice "clean" HTMX powered front-end?
Backend could use your own favorite templating engine to serve html smippets, so we get best of both worlds -- fast in-place reloads and templated/skinnable frontend.

afaik, htmx was/is already being considered. (and, from what I can tell, is currently the preferred option)

We've got a decent conversation regarding the 4.x, so I'd say we're close to finalizing the RFCs list. I'll try to refine this in the upcoming month, so we'll have a batter overview of what needs be done.
Looking at my schedule, I think the roadmap is still quite up-to-date - the development phase will more likely start in Q3. I'

So searching for an artifact didn't make it into the list? :(

The RFCs list is not yet updated, but I can already say that some sort of artifact browser should be a part of 4.x :)

As discussed on discord: adding the ability to have the metrics served on another port so you don't need to expose an authenticated endpoint but can just use a docker network to grab the data without auth and security risk

Wanted to comment on OAuth/OIDC:
Personally I'd love to see this feature as I'm currently evaluating Authentik and I think that would be very cool as it can also be integrated with forgejo/gitea.
So it would bring some kind of SSO in a dev-environment/homeland with a central user management.

Just noticed that configuration via environment variables (for docker/kubernetes) is not on the task list for v4

@Minecraftschurli Complex configuration via environment variables is not something that would work for us quite good - e.g. consider some predefined access tokens, there's no way we can include more advanced details like routes etc. I don't quite like the way Reposilite is configured right now, so it'll be definitely reworked from scratch. My rough idea on how it should work in 4.x:

Use parameters/env variables only for some crucial settings like e.g. port
Store whole configuration in JSON file (by default stored in db, but can be also linked as a static file).
Updating db credentials will be tricky, so we'll have an additional command for that
For the initial setup, we'll have new UI

everything that is set up through a ui should also be able to be preconfigured using parameters/env/configfiles so installation in cloud environments (docker/kubernetes) is easier


Provide a way to store refs to ecmascript values in C

I finally started writing libuv bindings to duktape and hid a pretty hard wall. Libuv is callback based.  One function like uv_timer_start will accept a C struct uv_timer_t and a C function pointer and return without blocking.  Then later on while the process is blocked inside uv_run it will call the C function with the struct as context.  I am able to store the duk_context just fine inside the uv_timer_t since it has a void* data property.  The problem is I can't seem to store the ecmascript function anywhere in C and call it later.
In lua, I use luaL_ref and luaL_unref.  Now there is no reason this can't be done in userspace (meaning my app and not internal to duktape).  The luaL_* functions all use the public lua APIs and simply provide sugar.  The general idea is to store the object as a property of some global array and track which integer offsets are being used.
I'll post my implementation here when done.

Wow, still open.  What's the best practice these days?

up. same question as above. thanks :)

The basic mechanism is to use the stash objects. Here's an example in the context of a timer implementation: http://wiki.duktape.org/HowtoNativePersistentReferences.html.


Complex-formatted text with URLs from Telegram gets randomly corrupted

Describe the bug
Long messages (posts forwarded to bridged chat from telegram channel) with multiple URLs gets corrupted: the URLs are misplaced and appear in the middle of the text, rewriting original text in this place.
See the screenshot.
с суммарным полезным объёмом ~45TB и начинаете ЭКСПЛУАТАЦИЮ.
became
с суммарным полезным объёhttps://t.me/TrTrTr8holes/119ПЛУАТАЦИЮ.
This URL should be in обои от стен отклеиваются
P.S. music.yandex.ru link on top is missing space before the link. I'm not sure if it's relevant to this bug.
To Reproduce
Open https://t.me/TrTrTr8holes/236 and forward it into bridged chat.
Expected behavior
The URLs are placed correctly
Screenshots/debug logs

Environment (please complete the following information):

OS: Linux, x86_64
Matterbridge version: 1.15.1 87788f3

Additional context
[telegram.bridged]
…
RemoteNickFormat="{LABEL}<b><{NICK}></b> "
UseInsecureURL=false
MessageFormat="HTMLnick"
Label="[T] "

Issue is probably in https://github.com/42wim/matterbridge/blob/727fa9f92971a29eaa1790fb249bd3a7baa919f6/bridge/telegram/handlers.go#L367-L388 if anyone wants to debug.
https://github.com/go-telegram-bot-api/telegram-bot-api/issues/231 is also related

Fixed by https://github.com/42wim/matterbridge/pull/1765


Re encrypt

Re-encrypted .clasprc.json and update keys.
Signed-off-by: campionfellin<EMAIL_ADDRESS>

Looks like it finished, with the build error being only for Node 7 (https://travis-ci.org/google/clasp/jobs/399342926), which will be fixed in #251


Remove newtonsoft.Json

Manual JSON implementation. Simplified by serializing only a single hashtable (so no recursion).

Done in https://github.com/simgreci/SQLXEtoEventHub/commit/2f31979ced7b03e8fd029c854c9fa026f14b4fec.


Ktlint complains about extra spaces between when conditions and ->

We align ->s after when block conditions like this:
when(foo) {
  conditionA -> "a"
  bar        -> "b"
}

The formatter (after applying it to the project) doesn't change this formatting but ktlint complains about it having extra spaces.
@shyiko

Actually, it only does this when merged with our existing styles and I see occurrences of it non-vertically aligned in the Kotlin coding conventions.


Working with isaacsim's python environment

I don't fully understand the container/cloud setup, so maybe there is a very different solution to the problem I have but ultimately I would like to work with the python environment that comes with isaacsim.
When I install the application via the omniverse launcher I just have to alias isaacpython ~/.local/share/ov/pkg/isaac.../python.sh and then work with isaacpython instead of python.
Now I found this repository, which automates the (very tedious) installation process and I would like to work with these images in the future. So is there a way to work with the python.sh here as well?
/home/ubuntu/isaacsim.sh --cmd="./python.sh" opens the interpreter I want, but so far I couldn't figure out how I can install pip packages into this environment.

@johannespitz thanks for the feedback!
You can install new pip packages inside Isaac Sim container with the following command: /isaac-sim/python.sh -m pip install <module>.
If you want packages installed on container startup, you can do ~/isaacsim.sh --cmd="./python.sh -m pip install <module>;  bash". This command will install a pip package and give you bash inside the container.

Please let me know if this solution works for you.

Thanks for the help.
I need to install quite a few packages and in particular and editable version of my own project.
Is there a the Dockerfile where I could make that part of the image such that I don't have to install packages for each run?

What you can do – place your custom isaacsim-custom.dockerfile in the uploads/ dir and then build it automatically on a deployed system from the autorun.sh script, giving it isaacsim tag, like so:
# contents of the autorun.sh
docker build -t isaacsim -f ~/uploads/isaacsim-custom.dockerfile .
# the rest of autorun.sh

Then you will have custom isaacsim container built on startup.
Your isaacsim-custom.dockerfile can look something like:
FROM nvcr.io/nvidia/isaac-sim:4.0.0
RUN /isaac-sim/python.sh -m pip install <modules>


Preserve nullness checks in final fields when propagating nullness into inner contexts.

This resolves #699 by making sure that dataflow information about @Nullable final fields is
propagated down to the nullness store of lambdas, local classes, and anonymous inner classes,
at the time of declaration. We extend this support to chains of @Nullable final fields.
The key insight is that, given that the field is final, once we know it is non-null due to dataflow,
that fact will forever remain true, regardless of which other methods access the field. So, if at the
time the closure for a lambda or class is being created, we know that the field is non-null, then
we know it will remain non-null in all of its usages through that closure.

Pull Request Test Coverage Report for Build #1017

0 of 0   changed or added relevant lines in 0 files are covered.
10 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.007%) to 92.948%

Files with Coverage Reduction
New Missed Lines
%

../nullaway/src/main/java/com/uber/nullaway/dataflow/AccessPath.java
1
96.3%

../nullaway/src/main/java/com/uber/nullaway/dataflow/AccessPathNullnessAnalysis.java
9
90.99%

Totals

Change from base Build #1016:
-0.007%

Covered Lines:
5140

Relevant Lines:
5530

💛  - Coveralls

Hrm, I had only thought about the lambda case, and forgot about inner / anonymous / local classes.  I am slightly concerned that in those cases this would mean something different inside the inner class, so if the inner class also declared a non-final field with the same name as a final field in the enclosing class, we could miss an issue.  But, I think we may be ok here, since when comparing access paths, we compare fields by element, not just by the name.  Could we add a test around this scenario (assuming it makes sense)?

Hrm, I had only thought about the lambda case, and forgot about inner / anonymous / local classes. I am slightly concerned that in those cases this would mean something different inside the inner class, so if the inner class also declared a non-final field with the same name as a final field in the enclosing class, we could miss an issue. But, I think we may be ok here, since when comparing access paths, we compare fields by element, not just by the name. Could we add a test around this scenario (assuming it makes sense)?

So, it's actually free from that false negative, based on how strictly we compare APs. The converse of it, though, is that we don't really detect the passed foo from the closure as equivalent to the OuterClass.this.foo AP. I wonder if there is an easy way to fix that, but in general it seems tricky, because technically every non-shadowed closure element now has at least 2 APs that refer to it... either way, probably not part of this fix...


Added Nanobox guides and docs

Sorry about my linter cleaning up some hanging whitespace.

Any needed changes or feedback before this can be merged?

bump

Hi, I wanted to merge this to my reborn fork: https://github.com/King-of-Spades/beautiful-docs-reborn
Sadly, the guides are unreachable, and Nanobox in google has the subtext:

WARNING: Nanobox is reaching its end of life on March 31, 2021. After that time, you will be unable to access the Nanobox service.


The config file uses daily log rotation, but only access.log and stat.log are rotating correctly, while the others are not.

切割结果是这样的，error.log和severe.log，slow.log无法分割

我的配置：
ServiceName: test
Mode: file
Rotation: daily
path: ./logs
Encoding: json
TimeFormat: 2006-01-02 15:04:05
Stat: true

The log files rotate when printing logs. If there is no error, it will not rotate.


⚠ Bofrost.de has degraded performance

In 5d92d20, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1200 ms

Resolved: Bofrost.de performance has improved in 980a4ff.


Remove latest label from feature set and feature store entity operations

Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
Remove latest label from feature set and feature store entity operations
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-ml


Feature/gcp function allows enabling http proxy separately for dt and gcp

Function creates two separate client sessions. Base on USE_PROXY adds proxy support to client sessions.

We should also handle proxy in run_docker.py - try_configure_dynatrace() and initial_check()


Laravel 5  ?

@mitchellvanw  is this compatible with Laravel 5?

Not really, no. :frowning:

you can use this https://github.com/atrauzzi/laravel-doctrine

This is a duplicate of #40 (Laravel 5), so this can probably be closed.


Implement rfind() for unicode based on Cpython

The PR is continuation of https://github.com/numba/numba/pull/4611.

git squash please


Reorganize specs

Improve code quality of specs:

Remove unused configurations.
Split large files into smaller ones.
Organize specs in spec/unit and spec/integration directories instead of spec/lib.
Redesign test suite for database migrations.
Ensure that DB env variable is always set.

Code style violations typically come from legacy code. They will be resolved later.