Running all tests in parallel

Specs2 in scala runs its tests using akka. We don't have to do that (could use an executor pool) but atm we're not taking advantage of multi cores to run the tests concurrently. @helmbold

Goode idea! (Although I thought tests were already running in parallel with the executor in TestBase.)

The executor is dependent on the thread count you specify. If you don't change it and have 200 tests, you get serial testing. Also it only makes sense if we go for one instance per test by default as you want :)

You need to implement org.junit.runners.ParentRunner to execute tests parallely (at least for usage with Maven).

@sksamuel Any progress on this issue? Can I support you in some way?

I haven't started it yet. I've been busy writing my Kotlin book. I can pick this up soon or you can if you wish? I thought we could use a normal thread pool executor service and drop each test into it as a task.

You write a Kotlin book? Cool! :-)
The idea to use a thread pool sounds good and I would implement it - however I'm not that deep in JUnit, that I have an idea how to use the ParentRunner mentioned by @mfriedenhagen . Maybe you could give me a little hint.

Yep should be published by end of year, we're about half way through it.
I can pick it up, but it won't be for 1-2 weeks, or if you want to do it then I think you can skip ParentRunner, and just implement it yourself. I would add a shared thread pool executor service to our jUnit runner, and for each test, submit a task that executes that test into the executor. Then once all tests are submitted, you block waiting for them to finish. You need to take into account the config options regarding concurrency and replay as well.

Ok, it sounds like you'd have the implementation pretty much in your head and one or two weeks more or less doesn't matter. I think it would be the best if you implement it. I'll try to design an extension mechanism (#77) in the mean time.

Ok sounds good.
On 11 Sep 2016 10:53, "Christian Helmbold"<EMAIL_ADDRESS>wrote:

Ok, it sounds like you'd have the implementation pretty much in your head
and one or two weeks more or less doesn't matter. I think it would be the
best if you implement it. I'll try to design an extension mechanism (#77
https://github.com/kotlintest/kotlintest/issues/77) in the mean time.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kotlintest/kotlintest/issues/51#issuecomment-246171776,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAtZGm-rerPdxSz7mVn-asUcgr_YAtYRks5qo8-rgaJpZM4JBQFq
.

I might bump this to 2.1, if there's no objection @helmbold

I wonder whether this would be a breaking change. The API wouldn't change, but the behavior could change, so that tests could break. This would require another major version bump. Maybe we should just delay 2.0 a bit.

Ok good point.
On 3 Oct 2016 15:11, "Christian Helmbold"<EMAIL_ADDRESS>wrote:

I wonder whether this would be a breaking change. The API wouldn't change,
but the behavior could change, so that tests could break. This would
require another major version bump. Maybe we should just delay 2.0 a bit.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kotlintest/kotlintest/issues/51#issuecomment-251116082,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAtZGsP16E8fjCa2AcWjZyDVEN3JDgcRks5qwQ0pgaJpZM4JBQFq
.

Playing around with this, it's clear its problematic. This might be the reason junit is single threaded, and why sbt / gradle runs their tests in order too. I vote to close this without an implementation.

Well, junit is not single threaded, it uses the aforementioned ParallelRunner and has an implementation for running methods or classes in parallel in junit.run  It is by no means trivial and a similar issue is open for a Groovy test framework called Spock for a long time.

I think the ParentRunner (is that what you mean rather than ParallelRunner because you refer to ParentRunner earlier) will run suites in parallel but not tests inside suites. (So the docs say on ParentRunner).

We should definitely look for a way to run tests in parallel. In large projects it is the only way to run tests again and again. Maybe TestNG as the underlying test runner could help. http://testng.org/doc/documentation-main.html#parallel-running But I haven't thought about any details.

I don't see what mechanism we can use in junit. ParentRunner isn't suitable. I can put the tests in an execution pool but it gets confused on output. Most build tools allow tests to be split off and run in parallel at the class file level.
I vote to close and maybe re-consider for a 3.0 release. Then we fix up last remaining bugs and released 2.0.

Sad to hear that :-( I'v thought about trying it with TestNG, but that would be a pretty big change I think, and I don't know how to do it (but maybe we could ask @cbeust for help, since he uses Kotlin himself).
There more reasons to try TestNG:

unresolved problems with JUnit/KotlinTest/IntelliJ interop
we could unify the interceptor model for the whole project (instead of before/after methods)

However, I can not estimate how big the effort would be.

I would be keen to release 2.0 before (if) we decided to move to TestNG.

agreed. I think 2.0 is an important release for KotlinTest and we shouldn't delay it in such a dimension. So, lets move this issue to 3.0.

Let me know how I can help...

Thanks, @cbeust , we'll come back to you ...

3.0.0 RC1 supports parallelism. Instructions are in the change log.
If you have the time, please give it a try. There are some breaking changes that should be aware of by reading the changelog here: https://github.com/kotlintest/kotlintest/blob/master/CHANGELOG.md


Invalid test data for getUniqueNewElements causes react 18 typescript issues

Description
In pre-react 18, when using React.ReactNode as a type, you would basically accept anything as its type accepted {}. This has been fixed in the latest typings for React, which means passing a plain object to something that should be of type React.ReactNode is not allowed.
We have some tests for getUniqueNewElements that do this https://github.com/Altinn/app-frontend-react/blob/v3.47.0/src/altinn-app-frontend/src/utils/validation/validation.test.ts#L2119 and I'm not entirely sure what the idea was behind this. It may be that this should filter out any non-unique React elements which is why it was added, but the testdata is then not mirroring what would happen in a real scenario.
We should investigate what the underlying purpose is here, and fix the testdata to more closely mirror a real scenario.
Additional Information
Related to React 18 upgrade task #357
Tasks
No response
Acceptance Criterias
No response

This is no longer in use


[ADAP-432] [Feature] Snowflake Adapter supports INSERT OVERWRITE

Is this your first time submitting a feature request?

[X] I have read the expectations for open source contributors
[X] I have searched the existing issues, and I could not find an existing issue for this feature
[X] I am requesting a straightforward extension of existing dbt-snowflake functionality, rather than a Big Idea better suited to a discussion

Describe the feature
Snowflake has an optional parameter for inserts which does TRUNCATE behavior before INSERT. It's one transaction and avoids dropping or recreating tables.
https://docs.snowflake.com/en/sql-reference/sql/insert#optional-parameters
INSERT [ OVERWRITE ] INTO <target_table>
Support this feature in dbt
Describe alternatives you've considered
There is no single-transaction alternative feature to TRUNCATE / DELETE * and then INSERT. This is documented by Snowflake.
Who will this benefit?
Anyone who needs to avoid DROP/RECREATE and at the same time wants to full load will benefit, with the added bonus of keeping the behavior single-transaction.
In our use case, we don't want tables to be dropped as the table has permissions and policies which need to be kept in place despite which process is doing the load. At the same time, the rows of the table are completely replaced during load.
Are you interested in contributing this feature?
Yes, I need to understand materializations better but in my naivete this seems like a simple and valuable feature
Anything else?
Matt Winkler already built this:
(https://github.com/matt-winkler/dbt_workspace/blob/master/dbt/macros/materializations/snowflake_custom_incremental/insert_overwrite.sql)](https://github.com/matt-winkler/dbt_workspace/tree/master/dbt/macros/materializations/snowflake_custom_incremental)

Hey there!
I'm still trying to understand the scope of work here.
Is the ask to add a model config applicable to table and incremental only, to indicate that CREATE OR REPLACE should be avoided in favor of INSERT OVERWRITE?
This would mean that normal runs for table, and full-refresh runs for both table and incremental would be impacted?
Is that a fair description of the requirements?

My understanding is that this would be best as a new incremental strategy
incremental_strategy: insert+overwrite

+1 for this feature!

Hi @adammarples - can you please tell me more?
The adapters where we support an insert_overwrite strategy for incremental, we do because the overwrite is done at the partition level. We only drop and regenerate the partitions where data has actually change.
In Snowflake this is not possible, as the entire table is truncated with INSERT OVERWRITE. So to me it's not incremental anymore? Am I missing something?

@markproctor1 I think we agree here. There is value, but not limited to incremental models. So it's not an incremental strategy, but rather an overall switch to make all drop/replace operations replaced by INSERT OVERWRITE.

I think I covered the fact that it was not a strategy for incremental models.
Could it be a materialization by itself? Materializations are about the type of object being created in the database. We have views, tables, CTEs (ephemerals), and soon materialized views. The only exception is incremental models, which do generate tables, but needed to be clearly delineated from tables as the handling mechanism is widely different. This is me post-rationalizing, because I wasn't there for that decision, but I'm glad it's not a switch on tables.
Is using INSERT OVERWRITE deserving of its own materialization? It's still resulting in a table, and the ergonomics of using it, from the dbt user standpoint is minimal. Yes I want it, or no. That's why I'm seeing it as an option on table and incremental.

This is intuitive to me:
{{ config(materialized='table', insert_overwrite=true) }}
However, "insert overwrite" as a concept can be full load or incremental:
https://docs.getdbt.com/reference/resource-configs/glue-configs#the-insert_overwrite-strategy

If no partition_by is specified, then the insert_overwrite strategy will atomically replace all contents of the table, overriding all existing data with only the new records. The column schema of the table remains the same, however. This can be desirable in some limited circumstances, since it minimizes downtime while the table contents are overwritten. The operation is comparable to running truncate + insert on other databases. For atomic replacement of Delta-formatted tables, use the table materialization (which runs create or replace) instead.

So there's concept disagreement, the term can mean both table and incremental outside of dbt. In Snowflake, it means materialized=table.

I agree! I don't think we should name it insert_overwrite, despite the DDL being INSERT OVERWRITE
Maybe something like:
{{ config(materialized='table', overwrite=true) }}

After more thinking, maybe we should narrow it down to only non --full-refresh runs for table:

It's not applicable to non --full-refresh runs for incremental models because it truncates the whole table, which defeats the purpose of incremental processing.
It's not applicable to --full-refresh runs of tables and incremental models, because the expectation of --full-refresh is that tables will be dropped and re-created. Wiping things clean are the point here.
It's not applicable to views and ephemeral models (CTE) for obvious reasons

Now what we need to figure out, is what happens when the model has changed, and is now different from the table in the database?
What happens if I dbt run with this model:
{{ config(materialized='table', overwrite=true) }}
select 1 as c1, `two` as c2

When in database the table looks like:

c1 (number)
c2(number)

1
2

Here the INSERT OVERWRITE will fail on c2 with a type mismatch.
Should we just let that happen? Or should we be clever and somehow re-use on_schema_change from incremental?
{{ config(materialized='table', overwrite=true, on_schema_change= 'sync_all_columns') }}
select 1 as c1, `two` as c2

I'm thinking we should not be clever. This is supposed to be a simple optimization, not a complicated piece of logic. I'm interested in your opinion?

Totally agree, no need to be clever here.
In our case we'd actually prefer to know if the table schemas don't line up, fast failure rather than handling the schema change. We tested this in the custom materialization to make sure that dbt doesn't modify the schema on mismatch.
{{ config(materialized='table', overwrite=true) }}
Your way looks better to me, same concept with fewer characters.
Overwrite being true is binary, there is no consideration of partitions, where partitioning might be considered elsewhere. So you get the idea of changing ALL results, without changing DDL.
It's an overwrite, not a replace. I like it.

Since you already have some code there, would you be interested in contributing a PR?
I'll flag this issue as help_wanted if you do ;)

@Fleid yes my mistake, it would be a table materialization, not an incremental strategy

@Fleid I'm trying to decide when to fit this in, as sprint work or on the side. I am interested, will get back to you asap.

@jtcohen6 Your comment makes sense about seeds, but I don't know enough to say whether it should be in scope here.
Regarding table models: Do you expect materialized='table', overwrite=true to succeed if the columns have since changed? In our use case, if we want to INSERT OVERWRITE we don't expect column changes. If we expected column changes and wanted full load behavior, we'd aim for create/replace or something else.
What is the dbtonic of resolving target table changes not handled by the specified materialization? If it were incremental and the target object is no longer compatible it would just error right?

Like discussed, I would not be clever. If we limit the scope of overwrite to simple runs for tables, then INSERT OVERWRITE is an optimization that you should only use when the model is stable. If you get an error from Snowflake because your model changed, you need to go --full-refresh to resolve it. That sounds fair to me.

@Fleid Our teams are discussing this again. We're finding the benefit of INSERT OVERWRITE in our custom materialization isn't worth the extra dev/maintenance time through table schema changes. So as you say, it would be best to have --full-refresh.
@dataders I'm not sure this is incremental, in the sense of incremental materialization, as we've discussed it.

We're finding the benefit of INSERT OVERWRITE in our custom materialization isn't worth the extra dev/maintenance time through table schema changes. So as you say, it would be best to have --full-refresh.

@markproctor1 my read here is that you and your team no longer think that inclusion of Snowflake's INSERT OVERWRITE within dbt would be a useful addition?

@dataders No, I was unclear! We want it more than ever but think it should be handled as a table materialization instead of an incremental materialization.

@markproctor1 do you care to open a PR that modifies the existing table materialization? I think that'd make this discussion much more focused.

Hello, is this still in progress or are there any plans for this? key feature here is using the underlying time travel feature which gets lost when we drop/replace tables.

Checking on the status of this.  Did the INSERT OVERWITE concept get moved to a different PR?
We want to retain time travel on our mart-level objects.

I don't know whether it moved to a different PR; I ran into some design decisions over the months.
Snowflake Insert Overwrite

It doesn't cleanly fit into either full load or incremental

The rows are full load, but there shouldn't be drop / replace table behavior

The terminology for "insert overwrite" in Snowflake is not universal, it won't match other adapter terminology in dbt

Doesn't match BigQuery for example

When the table column datatype don't match between dbt definition and existing target, how to handle the change is complex
(One reason we use INSERT OVERWRITE is so that columns and tables aren't dropped.)

We still use Matt Winkler's custom materialization for all our most important work, but I don't know how to design this.
@dataders @matt-winkler @james-mcp-cdi

Could this be an incremental strategy within the incremental materialization instead of an option in table? Might be a simple way to implement this? There's even schema change logic already a part of the incremental materialization.

Is this issue still open ? Do we have a workaround for INSERT OVERWRITE in dbt

I also support this change whichever way it's implemented
We have tables in snowflake with tags on the columns for data masking policies
We are currently using custom materialisation to truncate the table and then refreshing the data into the table so that the tags are never removed
if we use normal table materialisation then it loses the tags and the masking is removed until the tags are reapplied again


data folder empty

Hello,
I am not sure what I am doing wrong, but I ran the docker-compose.yml and it looks as if it installed, but the portal doesn't load. As I looked into this, the data folder is empty. Any idea what I may be doing wrong. Can anyone help me out?

Can you show me the exact docker-compose you run?
What URL did you put in your browser?

Here is the docker-compose.yml. I used the exact same file and ran it on my windows PC and it works fine. After creating the docker-compose.yml I run the following command. sudo docker-compose up -d. I now get the following message. But the url still does not work. http://<IP_ADDRESS>:7912
spoolman_spoolman_1 is up-to-date
docker-compose.yml
version: '3.8'
services:
spoolman:
image: ghcr.io/donkie/spoolman:latest
restart: unless-stopped
volumes:
- ./data:/home/app/.local/share/spoolman
ports:
- "7912:8000"

Everything looks correct from what I can see. Can you show me the output of
sudo docker logs $(sudo docker ps -aqf "name=spoolman_spoolman_1")

spoolman.log
I appreciate you helping me with this. I really hope to get this off of my desktop and onto my server. Looking at the log (i'm no programmer) it looks like this is a permission issue.

Ah, I was able to reproduce this locally. An data directory empty should appear in the same directory as your docker-compose.yml, do sudo chown 1000:1000 data on that data folder and restart your docker container, and it should now work!
A spoolman.db file should appear in the data folder as well.

That did it! thank you so much! Like I said before, this project is so needed! I appreciate your efforts. I would love to donate to this cause if you have a method. Also, Is there a way to submit feature requests? I can submit issues but not sure if that is the best route to go. I have some good suggestions that I think would help alot. Of course, I know you are waiting to see if it gets added to the master branch.

Thank you for the nice feedback :) For now you can use https://paypal.me/donkieyo if you want to donate
Please make issues here on github.com if you want to submit any feature requests, it's the best place for it!

I ran a few prints but the estimated remaining  weight has not adusted. I waited quite a while to see if it just takes time to sync but nothing. Here is the command I get that verifies (I believe so) I selected the correct spool.
solo@SoLoServer:~/Spoolman$ POST <IP_ADDRESS>:7126/spoolman/set_spool
Please enter content (application/x-www-form-urlencoded) to be POSTed:
{"spool_id": 7}{"result": true}solo@SoLoServer:~/Spoolman$

Interesting. Could you show me the logs of Spoolman, and also the logs of Moonraker?

spoolman2.log
moonraker (1).log

Looks like you're not setting the spool correctly:
2023-06-25 10:54:40,202 [spoolman.py:set_active_spool()] - Setting active spool to: None
2023-06-25 10:54:40,202 [database.py:_insert_impl()] - Error inserting key '['spoolman.active_spool_id']' in namespace 'spoolman'

It's interpreting your spool setting request as if you want to un-set the spool_id for some reason. That should work in either case though.
Maybe your method of sending a POST request is flawed? Try running this unix curl command on your server, replacing the spool ID and the IP&port for your moonraker instance of course:
curl -X POST -H "Content-Type: application/json" -d '{"spool_id": 123}' http://<IP_ADDRESS>:1234/spoolman/set_spool

That did it! Thanks, and good luck with your PR I am glad to see that Arksine is checking it out.

No problem! I have made some updates in the PR now to address the review comments. Would be nice if you fetch the latest changes (using same approach as last time to pull them in) and test it out.
Note that the command to set the spool ID has been updated, the curl command would now be:
curl -X POST -H "Content-Type: application/json" -d '{"spool_id": 123}' http://<IP_ADDRESS>:1234/spoolman/spool_id

So I wentthrough the same process to switch over to your branch but I don't think it is updating. It says "Your branch is up to date" but the new curl command is not working. The old command still appears to work.  Here are the commands and responses.
Spoolman cmd.txt

Strange.
In any case, it seems like the PR will get merged quite soon, so just sit tight for that :)


Changing queue-sort with groupCommentsOnModPage causes hr-tags to appear bottom of the page

When you have queuetools, groupCommentsOnModPage setting enabled and you change the sort within a queue, the hr lines will be moved to the bottom of the page.

Enable groupCommentsOnModPage
Go to unmoderated or modqueue
Change the sort to one that changes the order
Scroll to the bottom and observe a stack of <hr>-elements

This is actually an issue only on the old.reddit repo, as this function isn't a thing on the redesign. Regardless, fixed in https://github.com/toolbox-team/reddit-moderator-toolbox/commit/4d9ef8bec0c4b9f4ad220a8c3057d8f2fe92b9a3.


EasyCLA Bug Report - username, role or scope conflict on company creation

Summary
When user tries to create a company with new signing entity name we get the error.
Background
The reason for the issue is we handle the user role/scope assignments for external company ids but adding a new signing entity name still uses the old external id.
Expected behavior
Company creation should not fail because the role is already assigned to the user.
Screenshots

Environment
Please complete the following information:

Environment:

[x ] DEV

As confirmed by Youssef, he verified the fix on Dev &found it working fine.

This is deployed to Staging & PROD on 3-Feb.


Index of string now returns string instead of rune

@mattn ,
Is this good?

Added rune

Thanks so much


viz ui fixes

the scroll is kinda laggy, I think notion does this correctly:
https://github.com/user-attachments/assets/8b3149de-7064-4738-b20b-d580abba50d0

Yea, scrolling shouldn't use javascript.

For the resize/collapse I think figma does it right.
right now when i resize the left sidebar the right one changes too
there should be one collapse button that just focuses the screen on the center.
https://github.com/user-attachments/assets/87d3fcff-92e2-4f20-9360-df62baafe994

scroll is better but it stopped working when I hit this kernel
VIZ=1 python3 test/test_schedule.py

I just tried to go down with arrow keys:

VIZ=1 test/test_ops.py TestOps.test_tiny_add

collapse functions well!
can you give this a max width for resize:

autoscroll doesn't work and the scroll is laggy, I don't like this
    // reduce scroll lag
    if (Date.now() - lastPress > 300) lastPress = Date.now();

why do you need any javascript for the default scroller?

there's too many rerenderings otherwise. not laggy anymore, just slow. maybe some select and enter for faster scroll, but there's already mouse scroll for that

after many feedback iterations, when I see bugs in the simplest possible test I lose trust in this diff.

That lag is unacceptable, I don't see why the speed would be any different than master.

I'd merge two simple, small PRs for that vscode opener and collapse/resize.


Allow to include front-matter markdown files

Front matter is a special markdown format that eventually is parsed as a JSON or YAML (e.g., https://github.com/jxson/front-matter or https://www.npmjs.com/package/gray-matter). So, it would be cool to have an ability to specify function to use that parses including files, by default it can be yaml.load
What do you think?

Hey @stalniy, sorry about the incredibly slow response. Were you thinking this would then allow support for inclusion of Markdown files? I'm not sure what you're looking to accomplish with this feature.
I think I was confused when I initially read your request, and it was in the early days of the pandemic, and ... a lot has happened since then.
Please clarify the goal with this ... from the sound of what you're describing, it might be better as a Markdown processor feature?

Hey,
I don't remember the actual purpose. I guess I wanted to use this for my static website. This is what front matter -> https://dpericich.medium.com/what-is-front-matter-and-how-is-it-used-to-create-dynamic-webpages-9d8dc053b457
Basically this is yaml file but written in more CMS friendly format, its content is separated from yaml config but this is still parsed into JSON object so can be included into yaml resulting object without issues:
https://miro.medium.com/v2/resize:fit:1400/format:webp/1*qzY5XeszpqC13SFiqmJBHg.png


Can't open notebook file in editor or in JSON View

Description
Right clicking a notebook in tree view shows options to 'open with' a JSON View or a text editor. However, clicking either of these opens up a new tab in notebook view.
Reproduce

Install latest retrolab (0.3.15)
Open a directory containing notebooks
Right click a notebook, and select 'Open With', then 'Editor' or 'JSON View'
A new tab opens with the notebook in notebook view, rather than the view that was chosen

Expected behavior
Either a new tab should open up with the correct view, or the context menu options should be removed.

Thanks @yuvipanda.
This looks a like a duplicate of https://github.com/jupyterlab/retrolab/issues/297? (and related to https://github.com/jupyterlab/retrolab/issues/290)

Ah, i clearly had not searched well enough! Closing as duplicate of https://github.com/jupyterlab/retrolab/issues/297


sims doesn't report multiple sim output

only a single simulation is reported when using
cyan -db foo.sqlite sims

this is because an implicit assumption is used that only one simid is ever queried

So it is meant to show all sims - it should work the way you expect, but I haven't done much testing on that front since it my use cases haven't need that functionality.


locked down dependencies

Looks like something is breaking hot-reload, locking down dependencies seemed to fix things, need others to confirm

:+1:

+1

@vescogma :tada:


fix(cli): Normalize globby path for cli build command

Component / Package Name:
This PR contains:

[x] bugfix
[ ] feature
[ ] refactor
[ ] documentation
[ ] other

Are tests included?

[ ] yes (bugfixes and features will not be merged without tests)
[x] no

I used the existing test suite and did not make any new tests
Breaking Changes?

[ ] yes (breaking changes will not be merged unless absolutely necessary)
[x] no

List any relevant issue numbers:

resolves #41
Description

As discussed in #41, the jsx-email's CLI build command use globby to search for file names to read, build, and write to. However, per https://github.com/sindresorhus/globby/issues/179, on Windows system, Globby won't work as Windows path contains backslashes but Globby only wants path with forward slashes.
Therefore, a normalizePath function (inspired by rollup) was used to normalize the path so it would work on both Windows and UNIX systems

Thanks for getting this in. Will merge as soon as CI is done.
In other news, pnpm has prioritized a fix for the issue that is preventing us from running the Windows CI workflow here. Hoping that we get a fix soon and can enable better Windows support in development.


No replicas found for

Hallo All,
I want to share my issue during promote a slave afer the master failed.
The topology as follows
db4a:1111     [0s,ok,10.3.8-MariaDB-log,rw,ROW,>>,downtimed]
+ db6a:1111   [0s,ok,10.3.8-MariaDB-log,rw,ROW,>>,GTID]
  + db5a:1111 [0s,ok,10.3.8-MariaDB-log,rw,ROW,>>,GTID]

After I killed db4a, I tried manually promote db6a,
but unfortunately, I got this error msg
No replicas found for db4a:1111
and my json config as follow
  "RecoverMasterClusterFilters": [
    "*"
  ],
  "RecoverIntermediateMasterClusterFilters": [
    "*"

  "CoMasterRecoveryMustPromoteOtherCoMaster": true,
  "DetachLostSlavesAfterMasterFailover": true,
  "ApplyMySQLPromotionAfterMasterFailover": true,
  "MasterFailoverDetachSlaveMasterHost": true,
  "MasterFailoverLostInstancesDowntimeMinutes": 0,

is there something miss here ?
thanks

Hallo Shlomi
What I did was click recover from web GUI and chose "Recover, try to promote db5a" and I saw as well the error msg in Web GUI.
For the log, I attached the file since it quite messy if I pasted it here
Logfile.txt
many thanks

What I see in the log is mention of another recovery. Are you sure you have not initiated your manual recovery even while an automated recovery was taking place? I see the master is downtimed. Did you downtime it? I suspect not, and that the automated recovery did.

Hallo Shlomi,
Unfortunately, automated recovery did not happen, so I have to click the recovery button in web GUI.
Anyway .... on the top of everything, as you might see, I am using mariadb 10.3.8 and do you have maybe other info if that version is not compatible?
Why I am asking this, because I just tried as well with MySQL 8.013 and everythings (eg. automated recovery/failover) work as expected.
many thanks

Hallo Shlomi,
I guess, I found the root issue here,
I am running semi-sync replications and maybe the automated recovery did not happen and promote new master also did not happen.
So, after I run as async replication, then automated recovery/failover work as expected.
please let me know if there is any limitation with semi-sync replications in MariaDB 10.3.xx
thanks

@miczard I'm unaware of any limitation with MariaDB & semi-sync, though I'm not running such setup myself.
Anecdotally, 8.0.13 and 10.3.8 are anagrams. Has to mention this.

I had the same problem，when I use “ orchestrator -c graceful-master-takeover -i c150:3303”  failed，but use “orchestrator-client -c graceful-master-takeover -i c150:3303”  successed ~~，

@cloudufull unsure if it's the same problem. Are you running a raft setup? What's your config? What's the topology like?


ci: changes sonar.login to sonar.token in SonarCloud pipeline

Checklist before requesting a review

[x] I have performed a self-review of my code.
[x] Implemented tests for new features.
[x] I tested the features already implemented.
[x] Added usage examples in the readme.

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


Tooltip persists after leaving point

Create a chart with a tooltip.  Hover over the item with the tooltip and you will see the tooltip.  Now stop hovering (move mouse away).  Sometimes the tooltip persists, and won't go away.

I believe this was caused because multiple event handlers were competing for the same events. I have modified the code to give each event a type. I replicated the defect when using both tooltip and interaction(select) and verified the fix solved the issue, so hopefully all will be well in the upcoming  build.


[BUG] Selected patch version not highlighted

Problem
If you are on the play page and press any button for a patch as example the Community Patch the button will bot be highlighted.
This makes it difficult to detect what is selectes right now.

Fixed #43
This is fixed via pull request


Test PR

Testing Github CI checks, please ignore.

Codecov Report

Merging #67 (26a5336) into main (c471939) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff            @@
##              main       #67   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            6         6
  Lines          118       118
  Branches        29        29
=========================================
  Hits           118       118

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

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

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


"sudo python openbazaard.py stop" doesn't stop the server on Ubuntu

Fresh ubuntu 14.04 install. Fresh install of OB
~/OpenBazaar-Server$ sudo python openbazaard.py stop OpenBazaar server stopping...                                                                                pidfile /tmp/openbazaard.pid does not exist. Daemon not running?
and then it's still in the processes viewable in htop
running the command few times doesn't help

nobody?

If you're trying to stop it and the pid is missing and there's no process then it's stopped. I am not sure what you're asking for.

There IS process and it is working. I can even connect to the server.
I'm asking how to effectively stop it and why the stop doesn't work I guess.

so no one else is unable to stop it with "sudo python openbazaard.py stop" ?

That's because you're running it in daemon mode yo. I'm closing this as it works intended if you start in daemon mode. Otherwise no .pid file gets created.


Feature/navigation with event as argument

One doubt, is this visual Coverage report table published by kover just running ./gradlew koverXmlReport in the pipeline? O there are other steps in the pipelines or github configuration that I haven't seen


Add picture captions

Codecov Report

Merging #368 (d7fbb6f) into master (e9e0107) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #368   +/-   ##
=========================================
  Coverage     71.23%   71.23%
  Complexity      807      807
=========================================
  Files           129      129
  Lines          2632     2632
  Branches        327      327
=========================================
  Hits           1875     1875
  Misses          667      667
  Partials         90       90

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e9e0107...d7fbb6f. Read the comment docs.


Using LAlt and LControl as mod key ?

First of all I want to thank all the developers who make this magnificent TWM possible.
Could someone explain me how to configure Workspacer to use the Alt and Windows keys as a mod key?
Thanks in advance

Try this
var altCtrl = KeyModifiers.LAlt | KeyModifiers.LControl;
binds.Subscribe(altCtrl, Keys.H, () => context.Workspaces.SwitchToPreviousWorkspace(), "Switch to previous workspace");

Hi Martin. Thanks for your message.
I start using Workspacer, but it seem that your suggestion allows to bind the 'switch to previous workspace' function to CtrlL+ AltL + H key combination.
However, I'm looking for a way to use the key combination CtrlL + AltL as mod key instead of the default Alt key.

I think I understand, have you tried this method?
https://github.com/workspacer/workspacer/blob/f981f23fa2ea5244a3741dbcd59b7e63a259af05/src/workspacer/Keybinds/KeybindManager.cs#L220
Perhaps if you do context.Keybinds.SubscribeDefaults(KeyModifiers.LAlt | KeyModifiers.LControl); you'll change the default mod key/keys.

Yes, I also try it. In this case I get an error message saying  (message translated from french language):
<<'IKeybindManager' does not contain a definition for 'SubscribeDefaults' and no accessible 'SubscribeDefaults' extension method accepting a first argument of type 'IKeybindManager' was found (is a using directive or an assembly reference missing?)>>

Do you know which version of workspacer you are runnning?

Martin,
Today I downloaded the latets unestable version <IP_ADDRESS>.
I have the same error message.
By the way, how can I check the running version  ?

Maybe the easiest solution is to copy the method SubscribeDefaults to your config and modify it to use the keys you want?
I installed workspacer using Scoop, and Scoop tells me the version I'm running. Don't think there is an about box for the program that says the version.

Thanks you for your suggestion.
It is still interesting to know why
context.Keybinds.SubscribeDefaults(KeyModifiers.LAlt | KeyModifiers.LControl)
does not work in this context.
Perhaps someone reading this post can have an answer.

I finally found the 'issue' #195 where a similar key binding is demanded and arm32x user gives the following code which works:
KeyModifiers mod = KeyModifiers.Win;
Type keybindManagerType = context.Keybinds.GetType();
var subscribeDefaultsMethod = keybindManagerType.GetMethod("SubscribeDefaults", new Type[] { typeof(KeyModifiers) });
if (subscribeDefaultsMethod != null) {
context.Keybinds.UnsubscribeAll();
subscribeDefaultsMethod.Invoke(context.Keybinds, new object[] { mod });
} else {
Console.WriteLine("Could not change modifier key: SubscribeDefaults method not found.");
}


[pick][fix](jdbc catalog) Change Druid Pool dependency to version 1.2.5

Proposed changes
Issue Number: close #xxx
pick #31783
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Update FreeBSD package install instructions

Use binary packages instead of building from the ports tree.  For most
users this is more convenient, and users who would rather build using
the ports tree are most likely already familiar with the steps.

Current git version in the FreeBSD ports tree:
git-2.11.0_4                   Distributed source code management tool
Update history is probably most easily observed here:
https://svnweb.freebsd.org/ports/head/devel/git/distinfo?view=log
Note that the version installed by the the new (binary package) method will have at most a few days latency from the old (build from ports tree) method. The binary packages are built from the same ports tree metadata.

I'm also a FreeBSD developer and support this change.

@matthewmccullough, much-belated ping :)

I think a few days latency is just fine. That's similar for most of the other non-source packages shown here.


link on back class

Links  on div with "back" class not working.

@dancaron is the problem only on firefox?

@nnattawat - no, was having the issue in chrome

Got the same issue as reported by @dancaron: changing to
var direction = settings.reverse? "-179deg" : "179deg";
avoids the problem and the missing one degree is barely noticeable.

I have pushed the new code that might fix the problem.

Sorry no, problem still there and now affects firefox css 'center'.
I created a JSFiddle, so you may see my setup: http://jsfiddle.net/toel/373pxccj/2/

I closed this issue as it was duplicated with the #8


Add npm install instruction in README

Your welcome to do a pull request for it if you like. I tend to be old skool, and don't use package managers, but your more than welcome to add it.


clarify docs license to CC-BY

Needs to be paired with docs generator change to exclude new LICENSE.md file.

Migurski doesn't think this needs anything special, merging away.


LinearAlgebra.Matrix.Multiply throws ArgumentException

Not sure if I should use a gist for this, but here's a screenshot, but the code below shows the same thing, yet my replacement works fine: http://prntscr.com/9hwy43
Both matrices are of size 3x1 but yet this code produces an exception.
var temp1 = -(Y - Forward());
var temp2 = Z3.Map(ActivatorPrime);
// Temporary replacement
var temp3 = new double[3,1];
for (int i = 0; i < 3; i++)
{
    temp3[i, 0] = temp1[i, 0] * temp2[i, 0];
}
D3 = Matrix<double>.Build.DenseOfArray(temp3);

// TODO: Checkout bug
D3 = temp1*temp2;  /// Exception thrown here

With the exception being:
ArgumentException was unhandled
An unhandled exception of type 'System.ArgumentException' occurred in MathNet.Numerics.dll

Additional information: Matrix dimensions must agree: op1 is 3x1, op2 is 3x1.

Thanks for any help!

Given your temporary replacement, you seem to be looking for a pointwise product instead of a full matrix product. The following may help:
D3 = temp1.PointwiseMultiply(temp2);

Closing, but feel free to comment/reopen anyway if unclear.

If the matrix with was "called" the multiply() was being multiplied with a scalar it would give error. "System.ArgumentOutOfRangeException: Matrix dimensions must agree: op1 is 3x3, op2 is 1x1." Why ??
I don't understand, is it not possible to multiply all the elements in a matrix with a scalar (single element)?

Yes, it's certainly possible to multiply all elements in a matrix with a scalar. A 1x1 matrix is a matrix though, not a scalar.

The link you provided on "1" describes my situation the best. This is the line that is the issue:
"weights_hiddenXoutput = weights_hiddenXoutput.Add(C.Multiply(learningRate));"
learningRate is a double variable, so, a scalar. Multiply() as an overload that takes a double as input, essentially a scalar. C is a 3x3 matrix result of a previous multiplication. So why does the error say learningRate is a 1x1 matrix when it is not. I simply cannot understand what the issue is..


DCOS-55889 show tooltip if task is not existent

Mesos garbage collects tasks. We don't want to tasks that are not present anymore in Mesos. We want to show a tooltip instead.
Review
commit-by-commit
Testing
You most likely want a DCOS with a Job that has both kinds of tasks. It looks like a pretty good one is this job on SOAK: http://localhost:4200/#/jobs/detail/spark-hdfs-kerberos-terasort.
Make sure that we don't link to old tasks and that we link to tasks when they are present. Also make sure there are no weird states when reloading the page.
Screenshots

Closes DCOS-55889

I left some comments. Other than that, it looks good.

@GeorgiSTodorov 	thanks for the awesome review! i think i addressed all of the points.
regarding Edit: I ran the extract command and there were changes.: i see them as well but did not commit them as i thought it might be strange to see those changes popping up in this PR. maybe we should fix this directly on master.

@pierrebeitz , thank you for addressing my feedback so well and so fast. I will take a look again when I am done with another task.

regarding Edit: I ran the extract command and there were changes.: i see them as well but did not commit them as i thought it might be strange to see those changes popping up in this PR. maybe we should fix this directly on master.

We had some issues with the extraction of these strings, and maybe you started working on your PR before these issues were fixed.

@pierrebeitz , do you want a second review or should we merge when it is green?

i think we can merge once green.

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

@izharbuendia please PDUX validate


error with cgo completion on macOS

My settings are as follows:
let g:deoplete#sources#go#gocode_binary = $GOPATH.'/bin/gocode'
let g:deoplete#sources#go#use_cache = 1
let g:deoplete#sources#go#json_directory = '~/.cache/deoplete/go/$GOOS_$GOARCH'
let g:deoplete#sources#go#auto_goos = 1
let g:deoplete#sources#go#cgo = 1
let g:deoplete#sources#go#cgo#libclang_path = '/Library/Developer/CommandLineTools/usr/lib/libclang.dylib'

When trying to complete this file (cursor is |):
package main

/*
#cgo CFLAGS: -x objective-c
#cgo LDFLAGS: -framework Cocoa
#import <Cocoa/Cocoa.h>

int pbcopy(const char *data) {
	@autoreleasepool {
		[[NSPasteboard generalPasteboard] declareTypes:[NSArray arrayWithObject:NSPasteboardTypeString] owner:nil];
		[[NSPasteboard generalPasteboard] setString:[NSString stringWithUTF8String: data] forType:NSPasteboardTypeString];
	}
	return 0;
}
*/
import "C"

// copy byte
// C.pbcopy((*C.char)(unsafe.Pointer(&append(s.Bytes(), '\x00')[0])))

import (
	"flag"
	"log"
	"net/url"
	"path/filepath"
	"time"

	"github.com/fsnotify/fsnotify"
)

var dir = flag.String("dir", "/Users/nhooyr/dropbox", "directory to monitor")

func main() {
	C.|
	w, err := fsnotify.NewWatcher()
	if err != nil {
		log.Fatal(err)
	}
	defer w.Close()

	for {
		err = w.Add(*dir)
		if err != nil {
			log.Println("could not add, trying again...")
			time.Sleep(1 * time.Second)
			continue
		}

		log.Println("watching", *dir)
		for {
			select {
			case event := <-w.Events:
				log.Println("event:", event)
				f := filepath.Base(event.Name)
				if f[0] != '.' && event.Op != fsnotify.Chmod && event.Op != fsnotify.Remove {
					l := (&url.URL{Scheme: "https", Host: "aubble.com", Path: f}).String()
					C.pbcopy(C.CString(l))
					log.Println("copied link", l)
				}
			case err := <-w.Errors:
				log.Println("error:", err)
			}
		}

	}
}

I get the following error
[deoplete] Traceback (most recent call last):
[deoplete]   File "/Users/nhooyr/.cache/dein/.cache/init.vim/.dein/rplugin/python3/deoplete/deoplete.py", line 98, in gather_results
[deoplete]     ctx['candidates'] = source.gather_candidates(ctx)
[deoplete]   File "/Users/nhooyr/.cache/dein/repos/github.com/zchee/deoplete-go/rplugin/python3/deoplete/sources/deoplete_go.py", line 135, in gather_candidates
[deoplete]     return self.cgo_completion(self.buffer)
[deoplete]   File "/Users/nhooyr/.cache/dein/repos/github.com/zchee/deoplete-go/rplugin/python3/deoplete/sources/deoplete_go.py", line 202, in cgo_completion
[deoplete]     self.cgo_inline_source
[deoplete]   File "/Users/nhooyr/.cache/dein/repos/github.com/zchee/deoplete-go/rplugin/python3/deoplete/sources/deoplete_go/cgo.py", line 100, in complete
[deoplete]     fname, cgo_flags, unsaved_files=files, options=options
[deoplete]   File "/Users/nhooyr/.cache/dein/repos/github.com/zchee/deoplete-go/rplugin/python3/deoplete/clang/clang/cindex.py", line 2322, in parse
[deoplete]     self)
[deoplete]   File "/Users/nhooyr/.cache/dein/repos/github.com/zchee/deoplete-go/rplugin/python3/deoplete/clang/clang/cindex.py", line 2440, in from_source
[deoplete]     raise TranslationUnitLoadError("Error parsing translation unit.")
[deoplete] clang.cindex.TranslationUnitLoadError: Error parsing translation unit.
[deoplete] Could not get completions from: go.  Use :messages for error details.

@nhooyr Sorry for the delay.
I was hardcoded clang -x flag to c at
https://github.com/zchee/deoplete-go/blob/master/rplugin/python3/deoplete/sources/deoplete_go/cgo.py#L78
So, maybe caused by can't parses -x objective-c(or duplicate -x flag).
But It is an impression of seeing the sample code. I have not tested it. will debug it.
Thanks!

@nhooyr I was just removed -x c flag on https://github.com/zchee/deoplete-go/commit/54f0feade203882d3a810af841771acaa16f3a47
See commit message why remove it, and could you test it?

Works now, thanks!


Updated Contributor/ Team Page with real-time data fetching

Related Issue
Feat: A Contributor/Team Page that displays real-time data about team members, enhancing transparency and engagement while fostering community collaboration.
Fixes:  #738
Description
In our latest update, we have introduced a new community.html page, designed to foster user engagement and highlight community contributions. Accompanying this page are communityStyle.css for styling and communityScript.js for interactive features.
The community.html page showcases various contributions, allowing users to view and appreciate the input from other community members. This addition aims to create a sense of belonging and collaboration among users.
To ensure easy access to this new feature, we modified the index.html navbar by adding a dedicated link to the community page. This adjustment enhances overall navigation within the website, making it more user-friendly.
These updates collectively improve the user experience by emphasizing community involvement and facilitating interaction, ultimately enriching the platform's value for all users.
Issue No. : #738
Type of PR

[ ] Bug fix
[] Feature enhancement
[] Documentation update
[x] Other (specify): Create a Page for Contributors

Screenshots / videos (if applicable)
Before :

After:

Checklist:

[x ] I have made this change from my own.
[ ] I have taken help from some online resources.
[x ] My code follows the style guidelines of this project.
[ x] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[x ] My changes generate no new warnings.
[ x] I have tested the changes thoroughly before submitting this pull request.
[x ] I have provided relevant issue numbers and screenshots after making the changes.

@Prathameshzad Your pull request has been successfully merged! Don't stop here—continue contributing by addressing more issues and aiming to become a top contributor. Exclusive swag awaits for those who go the extra mile!
Great contribution ! 🎉


ancient pack retries with simpler after failure

Problem
when ancient packing runs, it can encounter a pubkey that is alive in an ancient slot, but is also present in an older slot (alive or dead). This means the older entry needs to be shrunk/packed/dropped before this found entry will be the ONLY entry for this pubkey. We don't know where the older entry is. So, packing can only move this alive entry to a slot that is >= the current slot. Otherwise, we might pack this account behind a dead version of this account. However, if we have one of these accounts to move but we can't guarantee its new slot will be high enough, we currently abort the pack. If this occurs repeatedly, we don't make progress and we accumulate old slots. This is fatal.
Summary of Changes
When ancient pack fails for this reason, remember it. Next time ancient pack runs, skip all slots that contain multi ref accounts. The hope is we'll pack/drop enough accounts that this will no longer be an issue later. Also, the particular problem of THIS slot not being packed to a new enough slot will be solved because there will be newer ancient slots next time we run. This allows the algorithm to make progress.
Fixes #

did this a different way


Remove --config-dir instead of fixing #7774

resolves #7774
Description
So --config-dir is broken.
Also, it's less a flag and more a subcommand which prevents the running of any other dbt debug runtime.
This PR aims to streamline the experience and remove the ambiguously-named "config" dir.
Preferred alternative to fixing (breaking change to interface)
This may affect day to day workflows somewhat, but this flag doesn't fit in orchestrated jobs (unless you jam a square peg into a round hole). To be clear, dbt users already get the useful info out of --config-dir in the output of dbt debug on every run, by default.
Because it is redundant, I'd rather nix this flag and the code it relies on.
There are no tests for it, and we document it rarely (see below). Some users reference it, but it causes confusion (which of these do I use and why?), and the output in debug already has the tools to do what we want --config-dir to do (i.e. show where dbt thinks the profile dir is).
Even that SO post has some confusion over how to use the flag.
Aligned with existing API
Rather than keep this as a distinct flag, we can rely on these existing ones:

and slip the profile dir info into the existing output.

The first line in this trio so what I'm proposing in lieu of keeping --config_dir around.
Revised dbt debug --help output.

Appendix -- Docs references to adjust

https://docs.getdbt.com/docs/core/connect-data-platform/connection-profiles
https://docs.getdbt.com/reference/commands/debug
https://docs.getdbt.com/guides/best-practices/debugging-errors#failed-to-connect

We should update with guidance on how to use the existing profiles-dir flag and how to read the new and improved dbt debug output from #496 instead (i.e. a plain old dbt debug command will always -- even before this PR -- give you the profiles dir + profiles file, no separate subcommand needed).
Checklist

[X] I have read the contributing guide and understand what's expected of me
[X] I have signed the CLA
[X] I have run this code in development and it appears to resolve the stated issue
[X] This PR includes tests, or tests are not required/relevant for this PR
[X] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[X] I have run changie new to create a changelog entry

Reading the bug report, it sounds like the fix for https://github.com/dbt-labs/dbt-core/issues/7774 might be relatively simple:

The fix is to add a str() call on line ~108.

If we choose to remove --config-dir, I'd rather mark the bug report in https://github.com/dbt-labs/dbt-core/issues/7774 as wont_fix and create a stand-alone feature request related to removing this feature.
@VersusFacit I'm not trying to create extra work, but would you be willing to open a separate feature request for your proposal to remove the dbt debug --config-dir flag? That would allow us to separate the bug report and the feature request. That way we can discuss the pros/cons of that approach there instead of in this PR. Also,
If that's too much to ask, I'd be willing to create that feature request -- just let me know. I'd just be relying on you to advocate for the removal (since I won't be able to do that effectively because my default position is frequently "keep things the same to avoid breaking changes").

Offline, we decided to continue discussing here within this PR whether or not to drop dbt debug --config-dir. If we go with removing the flag we will create a separate ticket than https://github.com/dbt-labs/dbt-core/issues/7774 since this not a fix for a regression.
Reading https://github.com/dbt-labs/dbt-core/issues/77, it sounds like the original intent of this flag was to:

show/open profiles dir/file [after dbt init]

I'm not sure how often it is actually used like that in practice. I don't recall seeing any other regression reports related to this other than #7774 by @VersusFacit, which suggests it's used relatively infrequently, and possibly never 😎
That being said, my default approach is most frequently to avoid breaking changes -- less chance of accidentally breaking someone and less work to add it to a migration guide.
What say you @jtcohen6? Drop it? Keep it?

In an ideal world I would keep it and fix it :P


Error on first loading Rocket

This was thrown by someone I was helping in TS.  New server, just installed Rocket with no plugins yet, first run to create Rocket files.
NullReferenceException: Object reference not set to an instance of an object
at Rocket.RocketAPI.RocketPluginManager.Start () [0x00000] in :0
Subsequent starts of the server did not throw the error.

Can approve this

Fixed


tf.bincount outputs wrong results

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Y
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 2.7.0
Python version: 3.8
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source):N/A
CUDA/cuDNN version: N/A
GPU model and memory: N/A

Standalone code to reproduce the issue
import tensorflow as tf
v = tf.constant([[0, 1, 2],
       [3, 4, 5]], dtype=tf.int64)
res1 = tf.math.bincount(v,axis=-1,maxlength=0, binary_output=True)
res2 = tf.sparse.bincount(v,axis=-1,maxlength=0, binary_output=True)
print(res1)
print(res2)

Current output
tf.Tensor([], shape=(2, 0), dtype=int32)
SparseTensor(indices=tf.Tensor(
[[0 0]
 [0 1]
 [0 2]
 [1 3]
 [1 4]
 [1 5]], shape=(6, 2), dtype=int64), values=tf.Tensor([1 1 1 1 1 1], shape=(6,), dtype=int64), dense_shape=tf.Tensor([2 6], shape=(2,), dtype=int64))

Expected output
The output for tf.sparse.bincount should be the same as tf.math.bincount. For tf.sparse.bincount, the output should have length at most maxlength, in the above code maxlength is 0, so the output should be an empty tensor.

@ArrowIntoTheSky ,
tf.math.bincount:-Counts the number of occurrences of each value in an integer array.
tf.sparse.bincount:-Count the number of times an integer value appears in a tensor.
Please take a look at this link 1 and 2 which provides more information.It helps.Thanks!

Hi @tilakrayal ! Thanks for the comment and sorry about the confusion. I have edited the issue description.
For tf.sparse.bincount, the output should have length at most maxlength, in the above code maxlength is 0, so the output should be an empty tensor.
(tf.math.bincount is just to show that the output for tf.sparse.bincount should be have same length(not same value) as tf.math.bincount. )

@chunduriv ,
I was able to reproduce the issue in tf v2.7, v2.8 and nightly.Please find the gist here.

This is a simple edge-case bug.  Will be fixed soon.


Build 2.7.8

Building it against pyarrow 4.0.1
Bug tracker: https://github.com/snowflakedb/snowflake-connector-python/issues
License: https://github.com/snowflakedb/snowflake-connector-python/blob/main/LICENSE.txt
Upstream pyproject.toml: https://github.com/snowflakedb/snowflake-connector-python/blob/v2.7.8/pyproject.toml
Upstream setup.cfg: https://github.com/snowflakedb/snowflake-connector-python/blob/v2.7.8/setup.cfg
Upstream setup.py: https://github.com/snowflakedb/snowflake-connector-python/blob/v2.7.8/setup.py
Actions:

Update a patch to build it against our currently available pyarrow (and arrow-cpp) 4.0.1
Update source/url
Reset build number to 0
Add to skip building for py<37 and py==310 (the downstream snowflake-snowpark-python requires only python 3.8)
Add setuptools >=40.6.0 and wheel in host
Remove old packages (they was removed from the upstream source in v2.7.0):

    - azure-common <2
    - azure-storage-blob >=12.0.0,<13.0.0
    - boto3 >=1.4.4,<2.0.0

Update pinnings in run: pyopenssl >=16.2.0,<23.0.0, cryptography >=3.1.0,<37.0.0, pandas >1,<1.5
Update pip check command

It was a very tricky issue with source/urls and a patch. pypi source code is not the same as on github


Issue for jsonSerializationFailed

let shopid = defaults.value(forKey:"shop_id")
var dico = String:AnyObject
dico = ["shop_id" : shopid as AnyObject]
print(dico)
     Alamofire.request(API_SHOWPRO,method:.get,parameters:dico,encoding: JSONEncoding.default, headers: nil).responseJSON{

        response in
        print("\(response)")

        if let json = response.result.value
        {
            let responsearr = json as! Array<Dictionary<String,AnyObject>>

              for dict in responsearr
                {
                    self.nameArray.append(dict as AnyObject)
                }

               self.collectionview.reloadData()
            }
    }
}

this is my code
issue Xcode9.2 Swift4.1   responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}))

How did you add Alamofire to your xcode project?

@Amar04 That just means the response you received wasn't JSON. Most likely it was an HTML error page. I suggest you investigate.
We use our GitHub project for bug reports and feature requests. In the future, you should open questions like this on Stack Overflow and tag alamofire.
Cheers. 🍻

From our Contribution Guidelines
Asking Questions
We don't use GitHub as a support forum. For any usage questions that are not specific to the project itself, please ask on Stack Overflow instead. By doing so, you'll be more likely to quickly solve your problem, and you'll allow anyone else with the same question to find the answer. This also allows maintainers to focus on improving the project for others.


Remove npm beta tag

R: @jeffposnick
I believe this needs to be done before we release v4. Anything else?

Coverage remained the same at 82.837% when pulling b55b8aa7897c97f92b6c55376add1af1f2c7e118 on update-npm-tag into cddab54b7b1b7fee18765dcf8350f7e118285efb on master.


Nuget package PlaywrightSharp doesn't install

@kblok after our Twitter DM convo, I decided to give PlaywrightSharp a shot.
Given the following csproj, I get an unexpected error when installing from nuget.org:
NU1101: Unable to find package PlaywrightSharp.BuildTasks. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages, nuget.org, Simmaculate-Development

csproj
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFrameworks>netcoreapp3.1</TargetFrameworks>
    <IsPackable>false</IsPackable>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.0" />
    <PackageReference Include="xunit" Version="2.4.1" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
  </ItemGroup>
</Project>

Package Manager Console error
PM> Install-Package -ProjectName Simmaculate.SSRS.Tests -Id PlaywrightSharp -Source nuget.org

The 'Source' parameter is not respected for the transitive package management based project(s) Unit Tests\Simmaculate.SSRS.Tests. The enabled sources in your NuGet configuration will be used.
Restoring packages for D:\Users\John.Zabroski\source\simmaculate\trunk\Source\Simmaculate.SSRS.Tests\Simmaculate.SSRS.Tests.csproj...
  GET http://packages.simmaculate.com/nuget/Simmaculate-Development/FindPackagesById()?id='PlaywrightSharp.BuildTasks'&semVerLevel=2.0.0
  GET https://api.nuget.org/v3-flatcontainer/playwrightsharp.buildtasks/index.json
  OK http://packages.simmaculate.com/nuget/Simmaculate-Development/FindPackagesById()?id='PlaywrightSharp.BuildTasks'&semVerLevel=2.0.0 30ms
  NotFound https://api.nuget.org/v3-flatcontainer/playwrightsharp.buildtasks/index.json 104ms
Install-Package : NU1101: Unable to find package PlaywrightSharp.BuildTasks. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages, nuget.org, Simmaculate-Development
At line:1 char:1
+ Install-Package -ProjectName Simmaculate.SSRS.Tests -Id PlaywrightSha ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Install-Package : Package restore failed. Rolling back package changes for 'Simmaculate.SSRS.Tests'.
At line:1 char:1
+ Install-Package -ProjectName Simmaculate.SSRS.Tests -Id PlaywrightSha ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Time Elapsed: 00:00:01.2410198

Working on that

@jzabroski v0.170.1 on the way!


Fix wrong thread response count display

The responses count display in CourseDiscussionResponsesFragment has been fixed to show only the top-level responses count instead of the total comments count. This field is not available from querying the thread list, so it's implicitly calculated as the sum of the counts provided in the endorsed and non-endorsed response queries. This has the implication that it won't be available (or shown) until the first batch of the non-endorsed responses have been delivered and displayed (the endorsed responses might be delivered and shown before this happens).
Fixes MA-2014.

@bguertin, @BenjiLee, please review

The count needs to increment by 1 when adding a response.

The count needs to increment by 1 when adding a response.

Good point. I'll implement this change.

I'm going to have to give up on this approach since now we're going to paginate the endorsed responses (as per MA-2097, and thus the non-endorsed responses will not be loaded in parallel at initialization time, leaving their count inaccessible. I'm closing this pull request for the time being. I'll open another one once the pagination on the endorsed responses is implemented.

New pull request at #620.


How to manually deploy Istio envoy sidecar on a pod?

Hi,
I am trying to install Istio envoy sidecar manually on my application and my .yaml file contains 'kind: Pod'. I already read that this is not one of the supported types to inject an envoy sidecar but I just want to know if there is any workaround for this?
Any suggestions will help!
Thanks!
Deepthi

If you have automatic sidecar injection set, the sidecar will be injected to the Pod upon creating it.
Or, you can also manually inject by editing your yaml. istioctl kube-inject currently doesn't inject into a Pod.

Thank you for the reply! Can you please elaborate on what exactly is it that I have to modify in my yaml file? Is there any particular syntax to follow so that a sidecar gets injected in the pod?
Regarding automatic sidecar injection, I am running into the following error:
ERROR: After approving csr istio-sidecar-injector.istio-system, the signed certificate did not appear on the resource. Giving up after 10 attempts.
Please let me know if there is any work around to resolve this.
Many thanks!
Deepthi

It's some kind of a hack and I've never tried it before but you can:

Create a new temporary yaml with a Deployment
Use istioctl kube-inject to "Istiofy" this yaml (add the necessary containers)
Take the extra stuff that was injected into yaml from step 1 and put it in your Pod's yaml

As I said, I haven't tried so it's just a rough guidelines.

I will try this and update in the thread! Thank you for the work around.
Is there any solution for the error I am facing for automatic sidecar injection? Any suggestion there will be a great help!
Thanks,
Deepthi

Is there any solution for the error I am facing for automatic sidecar injection? Any suggestion there will be a great help!

Please verify that you've setup your k8s cluster with a running certificate controller / manager per the setup instructions (see here). The automatic sidecar injection install procedure has been simplified in Istio 0.8 so you shouldn't need to run the extra bash scripts.

I also have the same question as of today, 2019.


NATIVE-559: Locale override

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword NATIVE.

The build fails because the file malte-locales.json does not exist yet obviously. Depending on when that locales are available, I'll comment the corresponding lines of code out or wait until then.

Flow is failing:

Cannot resolve module `../../../locales/malte-locales.json`.

   5| import malteOverrideLocales from '../../../locales/malte-locales.json'
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Flow is failing:

Cannot resolve module `../../../locales/malte-locales.json`.

   5| import malteOverrideLocales from '../../../locales/malte-locales.json'
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

See comment below. The json does not exist yet because the locales PR is not yet merged.

@klinzo lets comment the code out then until we are done with the translations. We can remove the comment in the Malteser locales task and create a new PR

I accidentally redid this in #307
I added a more extensive mock and fixed a wrong unit test there.

Lets merge your PR. More up to date, better mocks and unit tests :+1:


Add in options[:scope] and receiving scope in attribute blocks

This feature is an alternative implementation to #150 that also should provide a solution for #139 and #145 and, potentially, #148.
Why I chose a different path: #150 opts to use a class-level attr_accessor for setting the scope, this approach feels open to potential race conditions or overlap as the scope may persist to other serializer instances or having more instances of one kind of serializer may unintentionally remove a scope -- basically the class-level approach feels open to unnecessary errors.
This solution instead opts for a local instance variable to the serializer instance and pass it upward to the class-level methods as necessary like it does for @resource.
NOTE There are some failing performance specs but they appear to be failing (at least for me) without my change. I wasn't able to notice any significant amount of decrease when my changes were present by if you do see any speed-ups please point them out!

thank you @bbuck - I like this approach - I will review, good to get some eyes and thoughts on this

@bbuck Thank you for working on this. I like this approach too. Do you see anything we could do to support #148 as well?

@bbuck, to echo @christophersansone  comments in #148 , it may make sense to put the custom user options inside a standard subhash - user_options or something - to remove the chance of namespace collisions with keys used by fast_jsonapi
UserSerializer.new(model, {user_options: {scope: current_user, use_token: true})

@jshow Technically speaking that's what scope is. The point of the :scope key is to provide a context for the JSON to serialize in. In my example it's current_user but if your example:
UserSerializer.new(model, {user_options: {scope: current_user, use_token: true})

You're scope should probably look more like:
UserSerializer.new(model, {scope: {user: current_user, use_token: true})

# use
attribute :token do |user, scope|
  if scope[:use_token]
    user.get_token
  end
end

I'm not attached to the name :scope but it has clear meaning for it's purpose which is why I chose it. I don't see how renaming or nesting it will really change or fix anything unless scope becomes a portion of the JSON:API spec at some point (which seems unlikely).

@shishirmk I'm not sure if you've had a chance to review my comment above. The scope value is relatively open, and best practice is probably to always assign it a hash/struct-like object (so that future additions don't require rewriting the serializer). This can cover options, context variables, etc... required when serializing.

Any updates? I agree with @bbuck that every related issue can be solved using the scope parameter 👍

Totally agree, I was shooting for simplicity in initial examples but have since begun using a hash in the project in which I needed these changes too. Is the best approach for enforcing a hash to throw an error if it's not a hash?

I think so, but if the consensus is for it to change that's fine. What I see is exactly as you defined it, "the context in which code is being executed" as the scope contains data that defines the context in which the resource is being serialized. But I'm not going to hold up a feature for a name, if a better name is agreed on then it's easy to change.

@bbuck Thanks!  To answer your questions:

Yeah just throw an ArgumentError with a detailed message unless params.is_a?(Hash).

Agreed that my definition was lacking, and agreed that it's not that big of a deal either way, but the more precise we can make the term, the more easily it can be understood without a lot of explanation.  The difference between scope and params is subtle but I believe it's there.  I would describe the difference as this: scope contains the variables and methods built into the context, while params contain the variables and methods passed into the context.  The term params makes it clear that these values originated externally and were passed in, which is what we are doing here.  In the future, we intend to allow developers to define methods within the serializer class to calculate attribute values and such, and these would fall more into the category of scope.  Suggested reading. .

@shishirmk what do you think?  Anyone else have an opinion?

First off, I'm loving this gem and thank you for all the work you all have done!
This PR would be very helpful, but I was wondering if there would be a way to use the scope (or params) to conditionally add attributes. You can see what I’m talking about here in the AMS docs. I’m able to do something like this with #150 because I can access the scope on the class level, but after some trial and error, I’m having a hard time trying to implement it with this PR's approach.

@kyreeves Thanks for the suggestion!  I'd say that is out of scope for this particular issue.  Here we are discussing enhancing how the attribute values are determined, not determining if the attributes should be included at all.  We can support a syntax similar to AMS to include an if proc, but it's outside the scope here.  Feel free to create a new issue!

@christophersansone understood! Will do.

@bbuck @christophersansone I like this approach over other approaches. I think we should allow for it to be generic and use the word params as @christophersansone suggested.
@bbuck once you make that change happy to merge it in.

@shishirmk Changes are in place!

Was there any reason for making params default to nil instead of {}? I'm finding I have to do params && params[:foo] in all my serializers now because it's not certain whether the caller will explicitly pass in a hash or not.

With the strict Hash enforcement now in place that probably makes more sense than nil. Does anyone else have an opinion.

cc @mhluska forgot to tag you

@mhluska Good call!  Yes, now that params is a bona fide property, the developer should always be able to expect a hash.  It will feel similar to Rails controllers: params is always available, even if no request parameters were specified.
@bbuck Thanks for your work on this, you rock.  Would you mind making this adjustment?
The only other thing I think would be helpful is making params a public method.  It feels like a part of the public API at this point, and soon we will be adding the ability to define custom methods in the serializer for calculating attributes, relationships, etc.  @bbuck What do you think about adding an attr_reader :params to ObjectSerializer?

@christinaarmstrong With attributes being serialized at the class level, what benefit does an instance method to access params provide?

@bbuck Probably nothing yet... I'm thinking more along the lines of #71 and being able to write custom methods within the serializer.  I'm not sure how useful it is outside of that, but in general it just seems like a serializer has params.
Take it a step further, and we can execute attribute blocks within the context of the serializer, giving us access to the params method without having to pass it in.  In other words, we can go from:
attribute :viewed do |movie, params|
  params[:viewed_movies].include?(movie)
end

to:
attribute :viewed do |movie|
  params[:viewed_movies].include?(movie)
end

Either way I'd say mission accomplished for this ticket, and we can choose to defer this until we have more reason to do so.

@christophersansone I'm not against any of those suggestions. My hesitations was with the current implementation not really requiring it. I think that's a great end goal to aspire too in simplifying the API for users (not having to know to provide a block requiring two arguments vs. one). I definitely liked that aspect of the #150, now #171.

If a serializer instantiates other serializers, I would expect that ALL options would be passed down.  So yes, params should, and so should everything else... right?

I'm still having issues with the default params hash in some cases even after the latest changes here. But there's a possibility that it's caused by some cherry-picked PRs in my branch (I'm using the nested includes PR as well). Just thought I'd point it out.

@mhluska If you can be more specific I can potentially review and add test cases to verify that those concerns will be honored.

@bbuck in my case I have a User model with a has_one :profile in the serializer. In my user_controller show action, I do this:
render json: CurrentUserUserSerializer.new(
  User.includes(
    :profile,
    ...
    ).find(params[:id]),
    include: [:profile],
    params: { scope: current_user }

But then in the profile serializer, I try to rely on params[:scope] but it doesn't exist. My first thought is this is related to the include option but I haven't had the time to debug it.

Hey, thanks for implementing this very needed feature. I am waiting for it and currently installing the gem from the dev branch. Do you know when it is planned to release it?

@shishirmk I really need this... When do you release this feature?

@theDisco @arefaslani plan to release 1.2.0 this weekend

Thank you so much we are currently use FastJson api for our project but we stuck with this feature that we need hope can use. Pleaseeeeeeeee :100:

Thank you so much, we need this feature for our project...

Thank you very much for this fine piece of software, it sure makes my life a lot easier, any ideas when this will be released?

@theDisco @arefaslani plan to release 1.2.0 this weekend


Use Stream#toList() instead of collect()

toList was added in Java 16, and some streams can perform a more optimized operation compared to Collectors.toList().

Comment from Brian Goetz on some details. IIRC, Mark Stuart also had a presentation about it when talking about the Collections API, but I can't find it. :) https://stackoverflow.com/a/65981428/2502247

I think the main difference is that collect(Collectors.toList()) currently returns a mutable ArrayList (but this could change anytime in future Java versions) and toList() returns an immutable list.
This change could potentially break user code for these public methods:
public List<String> generateAll()
public List<String> precompileAll()
public List<String> precompile(List<String> names)
If users attempt to modify the returned lists. Most regular users of the lib don't call these, so it shouldn't be a problem. We should still add a comment to the patch notes though.


Wrong documentation for foreignkey vs. association_foreignkey?

The documentation states http://doc.gorm.io/associations.html#belongs-to

Specify Foreign Key & Association Key
type Profile struct {
gorm.Model
Refer int
Name  string
}
type User struct {
gorm.Model
Profile   Profile gorm:"foreignkey:ProfileID;association_foreignkey:Refer"
ProfileID int
}

What works for me is:
type Model struct {
	Id        int64     `gorm:"type:bigserial;primary_key" json:"id"`
	CreatedAt time.Time `sql:"DEFAULT:NOW()" json:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt"`
}

type AppInstance struct {
	Model
	AppId string `gorm:"unique_index"` // user readable id that can't change but identifies an app
}

type Datasource struct {
	Model
	App    *AppInstance `gorm:"foreignkey:id;association_foreignkey:AppID" json:"app"`
	AppID  int64        `gorm:"type:bigserial" json:"appId"`
}

Not sure if it has to do with the additional "AppId" field in my AppInstance, so I just left it for the example. But the usage of foreignkey and association_foreignkey seems to be wrong in the documentation.
Can you confirm and fix that inside the docs? Pretty confusing :)

Also, under Has One:

Specify Foreign Key & Association Key
type Profile struct {
  gorm.Model
  Name   string
  UserID uint
}

type User struct {
  gorm.Model
  Refer   uint
  Profile Profile `gorm:"foreignkey:UserID;association_foreignkey:Refer"`
}

should be

Specify Foreign Key & Association Key
type Profile struct {
  gorm.Model
  Name   string
  UserID uint
}

type User struct {
  gorm.Model
  Refer   uint // unused, may be deleted
  Profile Profile `gorm:"foreignkey:UserID;association_foreignkey:ID"`
}

Any update here? Can someone please correct the documentation. It's very confusing ;)

Still broken.


Importing pivate key with zcash-cli gives: "Invalid private key encoding"

Fixed in https://github.com/blackkeyboard/zgenerate/commit/3ebb3058f40e28a6ecf94195c695105f4ee9cf5d

Is there any way to recover the balance on mainnet from an address that was generated before the bug fix?

Yes, if you have kept the passphrase follow the upgrade instructions and run
zretrieve -passphrase="put_passphrase_here"
The mainnet private key will be displayed

thanks... that did the trick :)


Can't build the seed project as is

Select one ...  (check one with "x")
[ x] bug
[ ] feature request
[ ] enhancement

Expected behavior
Getting an environment property error while building the app with ng-server command
Actual behavior
When I download the seed project or install clarity on an angular cli project, I'm not able to build/serve it. It might be a version number issue. Please advise
It gives me this error:
$ ng serve
Environment configuration does not contain "environmentSource" entry.
Reproduction of behavior
Download seed project from the github and try to serve it
Environment details

Angular version: 2.0.X
@angular/cli: 1.0.0-rc.0
node: 6.10.0
os: darwin x64
@angular/common: 2.4.9
@angular/compiler: 2.4.9
@angular/core: 2.4.9
@angular/forms: 2.4.9
@angular/http: 2.4.9
@angular/platform-browser: 2.4.9
@angular/platform-browser-dynamic: 2.4.9
@angular/router: 3.4.9
@angular/cli: 1.0.0-rc.0
@angular/compiler-cli: 2.4.9

Clarity version:
Couldnt find how to get that

OS and version:
mac osx Yosemite

Browser: [all ]

This is a duplicate of the error that is already notified by one of our users. And we have a fixing PR ready for it.
https://github.com/vmware/clarity-seed/pull/40

Thank you for the quick response. I'll make the change in my angular-cli.json file.

It works.


PDF table of contents

In a PDF TOC, in place of *, I wanted hyperlinks for "Table of contents", Tables, Figures, etc.
HAVE

WANT

This part on the "printable page" as in template of course

A starting point:
\AddToHookNext{shipout/foreground}{\put (0, 0){\pdfbookmark[0]{Cover}{sec:cover}}}
\label{sec:cover}\maketitle\clearpage

\AddToHookNext{shipout/foreground}{\put (0, 0){\pdfbookmark[0]{Acknowledgements}{sec:acks}}}
\input{acknowledgements}\clearpage

\AddToHookNext{shipout/foreground}{\put (0, 0){\pdfbookmark[0]{Abstract}{sec:abstract}}}
\input{abstract}\clearpage

\pdfbookmark[0]{\contentsname}{toc}\tableofcontents\clearpage
\pdfbookmark[0]{\listtablename}{lot}\listoftables\clearpage
\pdfbookmark[0]{\listfigurename}{lof}\listoffigures\clearpage

The \AddToHookNext{shipout/foreground}{\put (0, 0) bit is to achor to top of page
The \pdfbookmark[0]{display text}{ref} adds it to the PDF table of contents (only)

Originally posted by @nkrusch in https://github.com/the-au-forml-lab/au_ccs_dissertation_template/issues/12#issuecomment-2550345989

I had some ok result with the     - listof = totoc, toc option in info.md, but this resulted in some entries being in the actual table of contents:

then I played with \pdfbookmark[0]{\contentsname}{toc} for a long time, but never quite got it right.
in the end I use a convoluted \hypertarget{listoftables}{}\bookmark[level=chapter,dest=listoftables]{\listtablename} set up.
It has two drawbacks:

It uses the same page numbering, resulting in multiple pages being numbered "1, 2, …" in the pdf bookmarks:

For some reason, all the links except the one on table of content point slightly after the part of the document referenced.

I've played with this issue for a while, but that's the best I could get.

With template v0.2.1, I get the right headings in a PDF

However the page anchoring/alignment is off.

ACK + Abstract: "too low" alignment below the title, title cropped off.
TOC: good
LOT/LOF: "too high" 0.5-page into previous page, before the heading.

Thanks for getting back to me on that. I see the same issue with where the links point on my end -- I'll try to fix it when I get some inspiration (I feel that I've tried everything now).


chore: introduce stale issue workflow

There are two workflows that we want to implement

Stale issue workflow

If an issue has the response-requested-label for days-before-stale
then add the stale-issue-label and comment with the stale-issue-message
If an issue has the stale-issue-label for days-before-close then close the issue

Ancient issue workflow (currently disabled)

If an issue has been open for days-before-ancient then add then ancient-issue-message
and add the stale-issue-label (which starts the Stale issue workflow)

The workflow introduced in this PR is the stale issue workflow. A separate ancient issue workflow will be introduced in a separate PR.

Sounds like we don't want to do this

Pending discussion, will revisit.


Relax constraint that By must use reductions

The typical split-apply-combine operation, By has the following form:
by(t, t.column, t.column.reduction())

In particular the third argument must be a reduction.  SQL prefers this but Pandas, non-streaming-Python, and Spark can all handle larger solutions, i.e.
by(t, t.column, t.sort(key).head(5))

In this case the per-group result is not a full reduction but rather a smaller table.

closing in favor of: #1294


add contribution guidelines

Open to any feedback on this stuff! Does the list of tags look good? Am I missing anything?
(obviously still a work in progress, placeholders should be obvious)

Codecov Report

Merging #71 (b248831) into main (a829ad3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #71   +/-   ##
=======================================
  Coverage   67.16%   67.16%
=======================================
  Files           2        2
  Lines          67       67
=======================================
  Hits           45       45
  Misses         22       22

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a829ad3...b248831. Read the comment docs.


Ignition gazebo plugin for Orbbec Cameras

Hey ya'll,
Have you made a gazebo plugin for your cameras? If so, where might I find it?

First of all, thank you for your suggestion. The next version will add FemtoBolt urdf & mesh files.

First of all, thank you for your question and suggestion. The gazebo plugin is not currently supported. We will consider adding this function in later versions.


Dead code elimination

If we don't use a class, can we eliminate it from the injectify/extractify output?

Actually, I think this should be pretty easy to implement as a csjs loader for webpack 2.

I'm not sure if it makes sense, but after reading about styletron, maybe a minimal version can be used for csjs? It seems styletron does those kind of things already according to your blog post.

An important part of CSS optimization is separating critical from non-critical CSS and eliminating unused CSS...


ability to install via: go install

I think go install is a pretty well-known/standard approach. but currently, if I do that I get:
$ go install github.com/RedHatGov/bundle@latest
go: downloading github.com/RedHatGov/bundle v0.1.0-alpha.1
go install github.com/RedHatGov/bundle@latest: module github.com/RedHatGov/bundle@latest found (v0.1.0-alpha.1), but does not contain package github.com/RedHatGov/bundle

Thanks for the heads up. We have a few options to fix this, so we'll eval our options and let you know.

@garethahealy We have to use replace directives in our go.mod due to our use of oc libraries and I believe this restricted with go install.

⬢[a@toolbox ~]$ go install github.com/containers/podman@latest
go: downloading github.com/containers/podman v1.9.3
go install github.com/containers/podman@latest: module github.com/containers/podman@latest found (v1.9.3), but does not contain package github.com/containers/podman

Same behavior with podman

To clarify: not because we don't want to. Just because replace is not supported by go install (from our understanding).


restore default WM_CLASS after window open

The restore is needed since "set_program_class()" affect all future opened windows ("preferences" and "about" windows must use "gnome-pie" so the right icon is shown in the launcher)

Basic configuration added. Please check it.